
/* header */
#header{ position:fixed; top:0; left: 0; width:100%; z-index:100; height:var(--header_H); background:#fff; border-bottom:1px solid #ddd;}
#header .box1{ height:100%;}
#header .h_logo{ }
#header .h_logo a{ display:block;}
#header .h_logo img{ display:block; height:50px; width: auto;}
#header .gnb > ul > li{ position:relative;}
#header .gnb > ul > li + li{ margin-left:40px;}
#header .gnb > ul > li > a{ display:block; height:var(--header_H); line-height:var(--header_H); font-size:1.125em; font-weight:500; color:#111;}
#header .gnb > ul > li > a:hover{ color:var(--mainColor);}
#header .h_util .h_menu{cursor: pointer;}
#header .h_util .h_menu .xi{font-size:2em;}
#header .btn_menu{ display:none; width:30px; height:30px; margin-left:16px; border:0; background:none;}
#header .h_yout a{ background-color:#f21a1e; color:#fff; font-weight: 500; padding:9px 17px; border-radius: 50px; gap:0 7px; margin-right:12px; transition: .3s;}
#header .h_yout a:hover{ background-color:#bd2124}
#header .h_yout a .xi{font-size:1.45em; line-height: 1;}
/*탑버튼*/
.qk_list{position:fixed; bottom:15px; right:15px; z-index: 800;}
.qk_list > li a{display:flex; align-items: center; justify-content: center; width:50px; height: 50px; border-radius: 5px; font-size:1.5em; text-align: center; margin-top:3px; transition: .3s;}
.qk_list > li.top_btn a{background-color:var(--btn); color:#fff;}
.qk_list > li.kakao_btn a{background-color:#fae100; color:#3c1e1e;}
.qk_list > li.blog_btn a{background-color:#03c75a; color:#fff;}
.qk_list > li.ins_btn a{background-image: linear-gradient(120deg, #574dc0, #c93b99, #ff942a); color: #fff;}
.qk_list > li.you_btn a{background-color: #ff0033; color: #fff;} 

.cs_qk_info_w{position: fixed; top: 115px; right:0px; width: 260px; background-color: #fff; box-shadow: 0 5px 10px rgba(0,0,0,.1); border-radius: 10px 0 0 10px; border: 1px solid var(--mainColor);  z-index: 100; overflow: hidden;}
.cs_qk_info_w .cs_tt{font-size:1.068em; line-height:1; background-color: var(--mainColor); padding:1em 1.5em; color:#fff;}
.cs_qk_info_w .cs_tt .xi{vertical-align: -2px; margin-right:4px; font-size:1.068em;}
.cs_qk_info_w .cs_info_box{padding:1em 1.5em 1.5em;}
.cs_qk_info_w .cs_tel{font-size:1.825em; margin-bottom: 2px; color:var(--mainColor); font-weight: 800; line-height: 1.2;}
.cs_qk_info_w .cs_tel2{font-size:1.59em; margin-bottom: 10px; color:var(--mainColor); font-weight: 800; line-height: 1.2;}
.cs_qk_info_w .cs_time{font-size:.938em; color:#555; line-height: 1.3;}

/* main_visual */
.main_visual{ padding:30px 0; margin-top:var(--header_H);}
.main_visual .flex_box{ gap:26px; align-items:stretch;}
.main_visual .in_slide{ position:relative; flex:1; min-width:0; height:448px; border-radius:var(--item_r); overflow:hidden;}
.main_visual .in_slide .slide_list{ height:100%;}
.main_visual .in_slide .in_item{ position:relative; height:100%; padding:56px 60px; background-color:#3ba3c0; background-position:center bottom; background-repeat:no-repeat; background-size:cover;}
.main_visual .in_slide .in_con{ position:relative; z-index:2; color:#fff;}
.main_visual .in_slide .in_tt{font-size:2.5em; font-weight:900; line-height:1.25; text-shadow: 0 2px 0px rgba(0,0,0,.8); -webkit-text-stroke: .5px #000;}
.main_visual .in_slide .co1{color: var(--mainColor); -webkit-text-stroke: .5px #fff; text-shadow: 0 2px 0px rgba(255,255,255,1);}
.main_visual .in_slide .co2{color: var(--subColor); -webkit-text-stroke: .5px #fff; text-shadow: 0 2px 0px rgba(255, 255, 255, 1);}
.main_visual .in_slide .co3{color: #222; -webkit-text-stroke: .5px #fff; text-shadow: 0 2px 0px rgba(255, 255, 255, 1);}
.main_visual .in_slide .in_tx{ font-size:1.25em; margin-top:15px; font-weight: 300;}
.main_visual .slide_ctr{ position:absolute; right:32px; bottom:30px; z-index:5; gap:8px;}
.main_visual .slide_ctr button{ position:relative; width:36px; height:36px; border:0; border-radius:50%; background:rgba(0,0,0,.22); font-size:0; color:transparent;}
.main_visual .slide_ctr button:hover{ background:rgba(0,0,0,.4);}
.main_visual .slide_ctr button:before{ content:''; position:absolute; top:50%; left:50%; width:8px; height:8px; border-top:2px solid #fff; border-right:2px solid #fff;}
.main_visual .slide_ctr .btn_prev:before{ margin:-4px 0 0 -2px; transform:rotate(-135deg);}
.main_visual .slide_ctr .btn_next:before{ margin:-4px 0 0 -6px; transform:rotate(45deg);}
.main_visual .slide_ctr .in_num{ min-width:74px; width:auto; height:36px; padding:0 14px; border-radius:18px; background:rgba(0,0,0,.32); font-size:0.9375em; font-weight:700; line-height:36px; color:#fff; text-align:center;}
.main_visual .in_link{ flex:none; width:400px;}
.main_visual .in_link > ul{ gap:14px;}
.main_visual .in_link > ul > li{ width:calc(50% - 7px);}
.main_visual .in_link > ul > li > a{ position:relative; display:block; height:140px; padding:20px 25px; border-radius:var(--item_r); background:#f4f5f7; overflow:hidden;}
.main_visual .in_link > ul > li > a:hover{ background:#eceef2;}
.main_visual .in_link .in_tx{ position:relative; z-index:2; font-size:1.068em; font-weight:500; line-height:1.45; color:#111;}
.main_visual .in_link .in_img{ position: absolute; right: -5px; bottom: -25px;  z-index: 1;  width: 110px; height: 110px; border-radius: 50%; background: #dfe3ea; overflow: hidden;}
/* 퀵링크 7개(근생주택 추가): PC 는 슬라이드 높이(448px) 안에 2열 4줄로 넣고, 홀수로 남는 마지막 칸은 한 줄을 다 쓴다 */
@media (min-width: 1025px) {
.main_visual .in_link > ul > li > a{ height:101px; padding:16px 22px;}
.main_visual .in_link .in_img{ width:86px; height:86px; bottom:-22px;}
.main_visual .in_link > ul > li:last-child:nth-child(odd){ width:100%;}
}

.main_tit{ margin-bottom:30px;}
.main_tit .in_tt{ font-size:2em; color:#222; font-weight: 600;}
.main_tit .btn_more{ font-size:1em; color:#777;}
.main_tit .btn_more:hover{ color:#222;}

.main_control .xi{font-size:3em; color:#ddd; cursor: pointer;}
.main_control .b_prev{position: absolute; top: 80px; left: -80px;}
.main_control .b_next{position: absolute; top: 80px; right: -80px;}
.main_control .xi:hover{color:#666;}

.slick-dots{margin-top:40px;}
.slick-dots ul{display:flex; justify-content: center;}
.slick-dots ul button{margin:0 4px; border:0; width:15px; height: 15px; border-radius: 50%; background-color: #ccc; text-indent: -99999px; transition: .3s;}
.slick-dots ul .slick-active button{width:40px; border-radius: 50px; background-color: var(--mainColor);}

/* ===== 매물 검색 필터 ===== */
.sch_box{padding:20px 25px 30px; border:1px solid #ddd; border-radius:8px; background:#f7f8fa;}
.sch_box.sub_st{margin-bottom:80px;}
.sch_box .in_row{padding:11px 0;}
.sch_box .in_row + .in_row{border-top:1px solid #e6e8ee;}
/* hidden 속성은 .flex{display:flex} 와 반응형의 display:block 에 밀린다.
   보증금 줄(월세 전용)과 가격 프리셋을 감추려면 이 규칙이 있어야 한다. */
.sch_box .in_row[hidden],
.sch_box .in_presets[hidden]{display:none;}
.sch_box .in_lb{width:110px; height:40px; margin-right:22px; border-radius:100px; background:#4c515e; color:#fff; font-size:1em; font-weight:500; text-align:center; line-height:40px; flex:none;}
.sch_box .in_cont{flex:1; min-width:0;}
/* 셀렉트 / 인풋 */
.sch_box select{ -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.sch_box select::-ms-expand{display: none;}
.sch_box .in_sel{height:42px; padding:0 30px 0 12px; border:1px solid #c8ccd6; border-radius:4px; background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='1.4' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 11px center; background-size:11px; color:#333; font-size:1em; font-weight:400;}
.sch_box .in_sel.w1{width:100px;}
.sch_box .in_sel.w2{width:130px;}
.sch_box .in_sel.w3{width:170px;}
.sch_box .in_sel + .in_sel{margin-left:5px;}
.sch_box .in_inp{width:100%; height:42px; padding:0 12px; border:1px solid #c8ccd6; border-radius:4px; background:#fff; color:#333; font-size:1em; font-weight:400;}
.sch_box .in_inp::placeholder{color:#b0b4bd;}
.sch_box .in_range .in_ip{width:200px; position:relative; flex:none;}
.sch_box .in_range .in_ip .in_unit{position:absolute; top:0; right:11px; color:#9aa0ab; font-size:1em; font-weight:400; line-height:42px;}
.sch_box .in_range .in_ip .in_inp{padding-right:42px;}
.sch_box .in_range .in_wave{margin:0 9px; color:#8a8f99; font-size:1em; flex:none;}

#ry_price_wrap .in_ip{margin:2px 0;}
#ry_price_wrap .in_ip .in_inp{display: inline-block; vertical-align: middle; border: 1px solid #ddd;  color: #666; padding: .5em 1em; box-sizing: border-box; line-height: 2em; height: 2.5em; border-radius: var(--bor_r); width:150px; margin:0 5px;}
.in_help{font-size:.93em; color:#555; line-height: 1.4; margin-top:5px;}

/* 체크박스 */
.sch_in_chks{gap:6px 18px;}
.sch_in_chks .in_chk{position:relative;}
.sch_in_chks .in_chk input{position:absolute; width:1px; height:1px; opacity:0;}
.sch_in_chks .in_chk label{display:flex; align-items:center; color:#444; font-size:1.068em; font-weight:400; cursor:pointer;}
.sch_in_chks .in_chk label:before{content:""; display:block; width:15px; height:15px; margin-right:6px; border:1px solid #b6bac4; border-radius:2px; background:#fff; box-sizing:border-box; flex:none; transition:.15s;}
.sch_in_chks .in_chk input:checked + label{color:var(--mainColor); font-weight:500;}
.sch_in_chks .in_chk input:checked + label:before{border-color:var(--mainColor); background:var(--mainColor) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l3.2 3.2L11 1.5'/%3E%3C/svg%3E") no-repeat center; background-size:9px;}

/* 하단 버튼 */
.sch_box .in_btns{gap:0 7px; margin-top:20px;}
.sch_box .in_btn{min-width: 200px; height:50px; border:0; border-radius:var(--bor_r); font-size:1.068em; font-weight:600; transition:.3s;}
.sch_box .in_btn.sch{background:var(--btn); color:#fff;}
.sch_box .in_btn.sch:hover{background:var(--btnHover);}
.sch_box .in_btn.re{background:#d8dbe1; color:#5a5f6a;}
.sch_box .in_btn.re:hover{background:#ccc;}


/* sec_recom */
.sec_recom{ padding:50px 0 60px; background:#fff;}
.sec_recom .in_list{position: relative;}
.sec_recom .in_list > ul{ gap:40px 20px;}
.sec_recom .in_list > ul > li{ width:calc(25% - 15px);}
.sec_recom .in_list > ul > li > a{ display:block;}
.sec_recom .in_thumb{ position:relative; border-radius:8px; overflow:hidden;}
.sec_recom .in_thumb .in_img{ position:relative; height:0; padding-top:68%; background:#e9ebee;}
.sec_recom .in_thumb .in_img img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.sec_recom .in_con{ padding-top:15px;}
.sec_recom .in_price .in_ty{ flex:none; min-width:56px; height:26px; padding:0 9px; border-radius:5px; font-size:0.8125em; font-weight:500; line-height:26px; color:#fff; text-align:center;}
.sec_recom .in_price .in_ty i{ display:inline-block; width:14px; height:14px; margin-right:4px; vertical-align:-2px; background-position:center; background-repeat:no-repeat; background-size:contain;}
.sec_recom .in_price .in_ty.ty1{ background:var(--dealSale);}
.sec_recom .in_price .in_ty.ty2{ background:var(--dealJeonse);}
.sec_recom .in_price .in_ty.ty3{ background:var(--dealRent);}
.sec_recom .in_price .in_num{ margin-left:12px; font-size:1.25em; font-weight:700; color:#111;}
.sec_recom .in_price .in_num em{ font-weight:700;}
.sec_recom .in_name{ margin-top:5px; font-size:1.125em; font-weight:500; color:#222; line-height:1.4;}
.sec_recom .in_tx{ margin-top:5px; font-size:0.938em; color:#999;}

.sec_recom .recom_slide .slick-track{margin-left:0; margin-right:0;}
.sec_recom .recom_slide > ul{margin-right:-20px;}
.sec_recom .recom_slide > ul .slick-slide{padding-right:20px; position: relative;}
.sec_recom .recom_slide > ul .slick-slide .fav_btn{right:30px;}

/* sec_bnr */
.sec_bnr{ padding:40px 0;}
.sec_bnr .in_bnr{ position:relative; height:180px; padding:0 80px; border-radius:12px; overflow:hidden;}
.sec_bnr .in_bnr .in_tx{ position:relative; z-index:2; font-size:1.825em; font-weight:400; line-height:1.5; color:#111;}
.sec_bnr .in_bnr .in_tx strong{ font-weight:800;}
.sec_bnr .in_bnr .in_img{ align-self:flex-end; flex:none;}
.sec_bnr .in_bnr .in_img img{ display:block; max-height:112px;}
.sec_bnr .in_bnr .in_btn{ position:relative; z-index:2; flex:none;}
.sec_bnr .in_bnr .in_btn .btn_more{ display:block; width:160px; height:52px; border-radius:5px; background:var(--btn);  font-weight:500; line-height:52px; color:#fff; text-align:center;}
.sec_bnr .in_bnr .in_btn .btn_more:hover{ background:var(--btnHover);}
.sec_bnr.st01 .in_bnr{background-color:var(--mainSoft); background-image:url(../img/sian/bn_img01.png); background-position: center bottom; background-repeat: no-repeat; background-size: auto 150px;}
.sec_bnr.st02 .in_bnr{height:200px; background-image:url(../img/sian/bn_img02.jpg); background-position: center; background-repeat: no-repeat; background-size: cover}
.sec_bnr.st02 .in_bnr .in_tx{color:#fff;}


/* sec_event */
.sec_event{ padding:70px 0 50px;}
.sec_event > .flex{gap:80px;}
.sec_event > .flex > *{flex:100%;}

/* 좌측 웨비나 리스트 */
.sec_event .wbn_list{ border-top:1px solid #666;}
.sec_event .wbn_list > li{ border-bottom:1px solid #e2e2e2;}
.sec_event .wbn_list > li > a{ display:block; padding:20px 5px;}
.sec_event .wbn_list .in_con{ flex:1; min-width:0;}
.sec_event .wbn_list .in_tt{ font-size:1.125em; font-weight:500; color:#111;  line-height: 1.4;}
.sec_event .wbn_list .in_date{ margin-top:5px; font-size:0.875em; color:#888;}

/* 우측 이벤트 리스트 */
.sec_event .evt_list{ border-top:1px solid #666;}
.sec_event .evt_list > li{ border-bottom:1px solid #e2e2e2;}
.sec_event .evt_list > li > .in_item a{ padding:16px 0; gap:25px;}
.sec_event .evt_list .in_thumb{ flex:none; width:120px; height:120px; overflow:hidden;}
.sec_event .evt_list .in_con{ flex:1; min-width:0; padding-right:20px;}
.sec_event .evt_list .in_tt{ font-size:1.125em; font-weight:500; color:#111;  line-height: 1.4;}
.sec_event .evt_list .in_date{ margin-top:5px; font-size:0.875em; color:#888;}

/*고객센터*/
.sec_cs{background-color: #f9f9f9; border-radius: var(--item_r); margin-top:40px;}
.sec_cs .f_top{ padding:70px 0 100px; gap:100px;}
.sec_cs .f_top > *{flex:100%;}
.sec_cs .f_top .in_tt{ font-size:1.375em; font-weight:700; color:#111; line-height:1.5; margin-bottom: 20px;}
.sec_cs .f_top .in_tx{ color:#333; margin: 20px 0; padding-bottom: 20px; border-bottom:1px dotted #aaa; font-size:1.068em;}
.sec_cs .f_top .in_map{border:1px solid #ddd; border-radius: var(--item_r); overflow: hidden;}
.sec_cs .f_itx{font-size:1.7em; font-weight: 800; color:var(--mainColor); margin-bottom: 5px;}
.sec_cs .f_itx .xi{width:45px; height: 45px; line-height: 45px; text-align: center; border-radius: 50%; background-color: var(--mainColor); color:#fff; margin-right:15px; font-size:.825em;}
.sec_cs .f_istx{font-size:1.068em; margin: 5px 0; color:#333;}
.sec_cs .f_istx .xi{width:36px; height: 36px; line-height: 36px; text-align: center; border-radius: 50%; border:1px solid var(--mainColor); color:var(--mainColor); margin-right:8px;}



/* footer */
#footer{margin-top:150px;}
.main #footer{margin-top:0px;}
#footer .f_bot{ padding:70px 0 40px; background:#2c2b31; }
#footer .f_bot .f_logo{width:280px;}
#footer .f_bot .f_logo img{height: 50px; width: auto; opacity: .7;}
#footer .f_bot .in_tx{width:calc(100% - 280px);}
#footer .f_bot .in_tx p{ font-size:0.938em; color:#888; line-height:1.9; margin-left:40px;}
#footer .f_bot .f_copyright{font-size:0.875em; color:#555; text-align: center; margin-top:40px;}

/*카카오맵*/
.root_daum_roughmap .map_border,
.root_daum_roughmap .wrap_controllers,
.root_daum_roughmap .cont{display:none!important;}

/*서브 비주얼*/
.sub_v_top{ position: relative;}
.sub_visual{margin-top:var(--header_H); height: 300px; text-align: center; background-image: url(../img/sub/sub_v_01.jpg);}
.sub_visual .box1{height:100%;}
.sub_visual .sub_v_title{font-size:2.5em; font-weight: 700; color:#fff; margin-top:-30px;}

.sub_visual.sub10{background-image: url(../img/sub/sub_v_01.jpg);}
.sub_visual.sub20{background-image: url(../img/sub/sub_v_02.jpg);}
.sub_visual.sub30{background-image: url(../img/sub/sub_v_03.jpg);}
.sub_visual.sub40{background-image: url(../img/sub/sub_v_04.jpg);}
.sub_visual.sub50{background-image: url(../img/sub/sub_v_05.jpg);}
.sub_visual.sub60{background-image: url(../img/sub/sub_v_06.jpg);}
.sub_visual.sub70{background-image: url(../img/sub/sub_v_07.jpg);}


.sub_path_wrp{ position: absolute; bottom:0; left: 50%; transform: translateX(-50%);}
.sub_path_wrp .sdp_list{justify-content: center}
.sub_path_wrp .sdp_list > li{flex:1; text-align:center; max-width:25%;}
.sub_path_wrp .sdp_list > li a{display: flex; align-items: center; justify-content: center; padding:0 10px; font-size:1.125em; position: relative; height: 60px; line-height: 1.2; background-color: rgba(255,255,255,.75); color:#333;  backdrop-filter: blur(3px);}
.sub_path_wrp .sdp_list > li.on a{ background-color: #fff; color:var(--mainColor); font-weight: 600;}



/*컨텐츠 wrap*/
.sub .pk_contents{padding-top:calc(var(--header_H) + 10px);}
.pk_contents .page_title{font-size:1.825em; font-weight: 500; margin-bottom: 25px;}

/*매물 게시판 스킨*/
.dt_img_z{margin-top:10px;}
.dt_img_z .swiper-slide {background-size: cover; background-position: center; height: 700px;}
.dt_img_z .swiper-slide img {display: block; width: 100%; height: 100%; object-fit: cover; }
.dt_img_z .mySwiper2 {height: 80%; width: 100%; position: relative; border-radius: var(--item_r); overflow: hidden;}
.dt_img_z .mySwiper2 .swiper_prev{position: absolute; top: 50%; left:30px; transform: translateY(-50%); z-index: 10;}
.dt_img_z .mySwiper2 .swiper_next{position: absolute; top: 50%; right:30px; transform: translateY(-50%); z-index: 10;}
.dt_img_z .mySwiper2 .swiper_prev .xi,
.dt_img_z .mySwiper2 .swiper_next .xi{color:#fff; font-size:3.5em; cursor: pointer;}
.dt_img_z .mySwiper {height: 25%; box-sizing: border-box; padding: 10px 0; }
.dt_img_z .mySwiper .swiper-slide {width: 25%; height: 180px; opacity: 0.4; cursor: pointer; border-radius: var(--item_r); overflow: hidden;}
.dt_img_z .mySwiper .swiper-slide-thumb-active { opacity: 1;}
.dt_top{margin:50px 0 30px;}
.dt_top .dt_sc{padding: 7px 15px; border-radius: 5px; font-size: 1.068em; font-weight: 500; color: #fff; background: var(--mainColor);}
.dt_top .dt_tt{margin-left: 12px; font-size:2em; font-weight: 700; color: #111;}
.dt_top .dt_tx{width:100%; font-size:1.068em; color:#666; margin-top:15px;}
.btn_wrap{margin-top:50px; gap:0 7px;}
.dt_content{padding:30px 0 40px; border-bottom:1px solid #ddd;}
.dt_content iframe{width:1250px; max-width:100%;}


.file_ul { gap: 10px; margin-top: 10px;}
.file_ul > li { width: calc(20% - 10px); border: 1px solid #aaa; border-radius: var(--bor_r); overflow: hidden; padding: 10px; position: relative; }
.file_ul > li:hover {border-color:#333;}
.file_ul > li .img_preview_wrap{ width: 224px; height: 224px; border: 1px dashed #ddd; position: relative;}
.file_ul > li .img_preview_box { width: 222px; height: 222px; display: none; z-index: 2;  }
.file_ul > li .img_preview_box img { width: 100%; height: 100%; object-fit: cover; }
.img_preview_txt { text-align: center; color: #aaa; position: absolute; top: 0; left: 0; width: 100%; height: 100%; font-size: 1.125em; align-items: center; display: flex; justify-content: center; z-index: -1; }
.img_preview_txt .xi { font-size: 2.5em; color: #ccc; }
.file_input_hidden { display: none !important; }
.file_upload_btn { cursor: pointer; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; }

/* ===== 검색 필터 : 거래종류 라디오 / 안내문 / 선택조건 칩 (STEP 3) ===== */
/* 거래종류는 가격 필터의 대상 금액을 정하므로 단일 선택이다.
   체크박스와 구분되도록 원형으로 표시한다. */
.sch_in_chks .in_chk.in_rdo label:before{ border-radius:50%; background-image:none;}
.sch_in_chks .in_chk.in_rdo input:checked + label:before{ background:#fff; border:4px solid var(--mainColor); background-image:none;}

.sch_box .in_help{ margin-top:8px; font-size:0.875em; color:#8a8f99; line-height:1.4;}

.sch_chips{ gap:8px; margin:0 0 20px;}
.sch_chips .sch_chips_lb{ font-size:0.938em; font-weight:500; color:#555; margin-right:2px;}
.sch_chips .sch_chip{ display:inline-flex; align-items:center; height:32px; padding:0 8px 0 12px; border:1px solid var(--mainLine); border-radius:100px; background:var(--mainSoft); font-size:0.938em; color:var(--mainColor);}
.sch_chips .sch_chip:hover{ background:var(--mainSoft2); border-color:var(--mainColor);}
.sch_chips .sch_chip .xi{ margin-left:5px; font-size:1.05em; color:#7c88a3;}
.sch_chips .sch_chip:hover .xi{ color:var(--mainColor);}
.sch_chips .sch_chip_reset{ font-size:0.938em; color:#888; text-decoration:underline; margin-left:4px;}
.sch_chips .sch_chip_reset:hover{ color:#333;}

/* 초기화가 <a> 라 button 과 높이를 맞춰준다 */
.sch_box a.in_btn.re{ display:flex; align-items:center; justify-content:center;}

/* ===== 목록 도구 / 빈 상태 / 계약상태 (STEP 4) ===== */
.bo_list_total .bo_list_sub{ margin-left:6px; font-size:0.875em; color:#8a8f99; font-weight:400;}
.bo_list_tools{ gap:8px;}
.bo_list_tools select.input_st{ height:38px; padding:0 30px 0 12px; border:1px solid #c8ccd6; border-radius:4px; background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='1.4' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 11px center; background-size:11px; -webkit-appearance:none; -moz-appearance:none; appearance:none; color:#333;}

.bo_empty{ padding:80px 20px; border:1px solid #e6e8ee; border-radius:var(--item_r); background:#fafbfc; text-align:center;}
.bo_empty .xi{ font-size:3em; color:#c8ccd6;}
.bo_empty .bo_empty_tt{ margin-top:14px; font-size:1.25em; font-weight:600; color:#333;}
.bo_empty .bo_empty_tx{ margin-top:6px; font-size:1em; color:#888;}
.bo_empty .input_st{ margin-top:20px;}

/* 계약완료 매물은 목록에서 감추지 않고 표시만 바꾼다 */
.sec_recom .in_list > ul > li.is_done .in_thumb:after{ content:'계약완료'; position:absolute; top:0; left:0; z-index:2; display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:rgba(20,25,35,.55); color:#fff; font-size:1.125em; font-weight:600; letter-spacing:.02em;}
.sec_recom .in_list > ul > li.is_ing .in_thumb:after{ content:'계약진행중'; position:absolute; top:10px; left:10px; z-index:2; padding:4px 10px; border-radius:4px; background:rgba(189,33,36,.92);/* = --stateIng, 반투명이라 rgba 로 적는다 */ color:#fff; font-size:0.8125em; font-weight:500;}

.dt_top .dt_state{ margin-left:10px; padding:6px 12px; border-radius:5px; font-size:0.938em; font-weight:500; color:#fff;}
.dt_top .dt_state.st_done{ background:var(--stateDone);}
.dt_top .dt_state.st_ing{ background:var(--stateIng);}

/* 가격 프리셋 */
.sch_box .in_presets{ gap:6px; margin-top:8px;}
.sch_box .in_preset{ height:30px; padding:0 12px; border:1px solid #c8ccd6; border-radius:100px; background:#fff; font-size:0.875em; color:#555; cursor:pointer;}
.sch_box .in_preset:hover{ border-color:var(--mainColor); color:var(--mainColor);}
.sch_box .in_preset.on{ border-color:var(--mainColor); background:var(--mainColor); color:#fff;}

/* ===== 상세 전환 동선 · 찜 · 라이트박스 (STEP 6) ===== */
/* 전환 동선. 상세를 다 읽기 전에도 눈에 들어와야 하므로 사진 바로 아래에 둔다. */
.dt_cta{ gap:8px; margin:0 0 30px;}
.dt_cta .dt_cta_btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; height:48px; padding:0 20px; border:1px solid #d5dae3; border-radius:6px; background:#fff; font-size:1.068em; font-weight:500; color:#333; cursor:pointer; transition:.2s;}
.dt_cta .dt_cta_btn .xi{ font-size:1.25em;}
.dt_cta .dt_cta_btn:hover{ border-color:var(--mainColor); color:var(--mainColor);}
.dt_cta .dt_cta_btn.call{ border-color:var(--btn); background:var(--btn); color:#fff;}
.dt_cta .dt_cta_btn.call:hover{ background:var(--btnHover); border-color:var(--btnHover); color:#fff;}
.dt_cta .dt_cta_btn.kakao{ border-color:#fae100; background:#fae100; color:#3c1e1e;}
.dt_cta .dt_cta_btn.kakao:hover{ background:#e8d100; color:#3c1e1e;}
.dt_cta .dt_cta_btn.on{ border-color:var(--subColor); color:var(--subColor);}

/* 카드 위의 찜 버튼.
계약완료 카드의 딤(.in_thumb:after, z-index:2)보다 위에 있어야 눌린다. */
.sec_recom .in_list > ul > li{ position:relative;}
.fav_btn{ position:absolute; top:10px; right:10px; z-index:5; display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.9); box-shadow:0 1px 4px rgba(0,0,0,.2); color:#8a8f99; font-size:1.125em; cursor:pointer;}
.fav_btn:hover{ background:#fff; color:var(--subColor);}
.fav_btn.on{ color:var(--subColor);}
.dt_cta .fav_btn{ position:static; width:auto; height:48px; border-radius:6px; box-shadow:none; background:#fff; color:#333;}

/* 찜 목록 패널. 브라우저에만 저장하므로 별도 페이지 없이 이 패널이 목록이다.*/
.fav_panel{ position:fixed; top:0; left:0; right:0; bottom:0; inset:0; z-index:900;}
.fav_panel .fav_dim{ position:absolute; top:0; left:0; right:0; bottom:0; inset:0; background:rgba(0,0,0,.45);}
.fav_panel .fav_box{ position:absolute; top:0; right:0; width:360px; max-width:100%; height:100%; background:#fff; box-shadow:-4px 0 20px rgba(0,0,0,.15); display:flex; flex-direction:column;}
.fav_panel .fav_head{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid #e5e8ee; font-size:1.125em; font-weight:600;}
.fav_panel .fav_close{ width:32px; height:32px; border:0; background:none; font-size:1.25em; color:#666; cursor:pointer;}
.fav_panel .fav_body{ flex:1; overflow-y:auto; padding:10px 20px 20px;}
.fav_panel .fav_empty{ padding:60px 0; text-align:center; color:#8a8f99; line-height:1.6;}
.fav_list > li{ position:relative; border-bottom:1px solid #eef0f4;}
.fav_list > li > a{ display:flex; gap:12px; padding:14px 28px 14px 0;}
.fav_list .fav_img{ flex:none; width:88px; height:66px; border-radius:6px; overflow:hidden; background:#e9ebee;}
.fav_list .fav_img img{ width:100%; height:100%; object-fit:cover;}
.fav_list .fav_con{ flex:1; min-width:0;}
.fav_list .fav_price{ display:flex; align-items:center; gap:6px; margin-bottom:4px;}
.fav_list .fav_name{ display:block; font-weight:500; color:#111; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.fav_list .fav_addr{ display:block; font-size:.875em; color:#777; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.fav_list .fav_del{ position:absolute; top:14px; right:0; width:24px; height:24px; border:0; background:none; color:#aaa; cursor:pointer;}
.fav_list .fav_del:hover{ color:#333;}
body.fav_open{ overflow:hidden;}

/* 퀵메뉴의 찜 버튼 */
.qk_list > li.fav_qk a{ position:relative; background-color:#fff; border:1px solid #ddd; color:var(--subColor);}
.qk_list > li.fav_qk .fav_num{ position:absolute; top:-4px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:var(--subColor); color:#fff; font-size:.75rem; line-height:20px; text-align:center;}
 
/* 라이트박스 */
/* inset 은 2021년 이후 브라우저에만 있다. 예전 기기에서 오버레이가 내용 크기로
   쪼그라들지 않도록 상하좌우를 함께 적는다(뒤의 inset 이 있으면 그쪽이 이긴다). */
.lb_wrap{ position:fixed; top:0; left:0; right:0; bottom:0; inset:0; z-index:950; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.9);}
/* display 를 지정하면 hidden 속성(UA 의 display:none)을 이겨버려
   숨겨 둔 오버레이가 화면을 통째로 덮는다. 명시적으로 되돌린다.*/
.lb_wrap[hidden],
.allmenu[hidden],
.fav_panel[hidden]{ display:none;}
.lb_wrap .lb_img{ max-width:92vw; max-height:86vh; object-fit:contain;}
.lb_wrap .lb_close{ position:absolute; top:20px; right:24px; width:44px; height:44px; border:0; background:none; color:#fff; font-size:2em; cursor:pointer;}
.lb_wrap .lb_prev,
.lb_wrap .lb_next{ position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border:0; background:none; color:#fff; font-size:3em; cursor:pointer;}
.lb_wrap .lb_prev{ left:16px;}
.lb_wrap .lb_next{ right:16px;}
.lb_wrap .lb_count{ position:absolute; bottom:24px; left:0; width:100%; text-align:center; color:#fff; font-size:.938em;}
body.lb_open{ overflow:hidden;}
.dt_img_z .mySwiper2 .swiper-slide img{ cursor:zoom-in;}

/* 안내 토스트 (찜·공유 결과) */
.rt_toast{ position:fixed; left:50%; bottom:40px; transform:translateX(-50%) translateY(10px); z-index:1000; padding:12px 20px; border-radius:6px; background:rgba(20,25,35,.92); color:#fff; font-size:.938em; opacity:0; pointer-events:none; transition:.25s;}
.rt_toast.on{ opacity:1; transform:translateX(-50%) translateY(0);}

/* 등록 폼의 사진 순서 조작 (STEP 5 보완) */
.file_ul > li .img_main_bdg{ position:absolute; top:6px; left:6px; z-index:4; padding:3px 8px; border-radius:4px; background:rgba(15,36,116,.92);/* = --mainColor */ color:#fff; font-size:.8125em;}
.file_ul > li .img_tools{ gap:4px; width:100%; margin-top:8px;}
.file_ul > li .img_tools button{ height:28px; padding:0 8px; border:1px solid #d5dae3; border-radius:4px; background:#fff; color:#555; font-size:.8125em; cursor:pointer;}
.file_ul > li .img_tools button:hover{ border-color:var(--mainColor); color:var(--mainColor);}
.file_ul > li .img_tools .img_mv{ padding:0 6px;}

/* ---------------------------------------------------------------- 매도매수의뢰*/ 
.req_page{}
.req_lead{margin-bottom:70px; font-size:1.5em; line-height:1.7; color:#111; text-align:center; font-weight: 600;}
.req_lead strong{color:var(--mainColor);}
.req_steps{display:flex; gap:30px; margin-bottom:34px; padding:0; list-style:none;}
.req_steps li{flex:1; padding:25px; border:1px solid #aaa; border-radius:8px; background:#fff; font-size:1.068em; line-height:1.6; text-align: center; position: relative;}
.req_no{display:block; width:40px; height:40px; line-height:40px; border-radius:100px; background:var(--mainColor); color:#fff; font-weight:500; text-align:center; position: absolute; top: -20px; left: 50%; transform: translateX(-50%);}
.req_box{padding:26px 28px; border:1px solid #ddd; border-radius:8px; background:#f7f8fa;}
.req_box_tt{margin-bottom:14px; font-size:1.125em; font-weight:600; color:var(--mainColor);}
.req_box_tt .xi{vertical-align: -2px;}
.req_icon{margin:30px 0 20px;}
.req_icon svg{height: 60px; width: auto;}
.req_icon svg .cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}
.req_list{margin:0 0 18px; }
.req_list li{margin-bottom:8px; line-height:1.65; font-size:1.068em;}
.req_list li .xi{vertical-align: -2px; margin-right:5px;}
.req_note{padding-top:16px; border-top:1px solid #e6e8ee; color:#666; line-height:1.65;}
.req_btns{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:34px;}
.req_btn{display:inline-block; min-width:190px; padding:16px 26px; border:1px solid #4c515e; border-radius:100px; color:#4c515e; font-size:1.02em; text-align:center;}
.req_btn.main{border-color:var(--btn); background:var(--btn); color:#fff; font-weight:600;}

/* 전체메뉴 패널 (헤더 오른쪽 위 햄버거) */
.allmenu{ position:fixed; top:0; left:0; right:0; bottom:0; inset:0; z-index:920;}
.allmenu .am_dim{ position:absolute; top:0; left:0; right:0; bottom:0; inset:0; background:rgba(0,0,0,.45);}
.allmenu .am_box{ position:absolute; top:0; right:0; width:420px; max-width:100%; height:100%; background:#fff; box-shadow:-4px 0 20px rgba(0,0,0,.15); display:flex; flex-direction:column;}
.allmenu .am_head{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid #e5e8ee; font-size:1.125em; font-weight:600;}
.allmenu .am_close{ width:32px; height:32px; border:0; background:none; font-size:1.25em; color:#666; cursor:pointer;}
.allmenu .am_body{ flex:1; overflow-y:auto; padding:8px 24px 32px;}
.allmenu .am_list > li{ padding:18px 0; border-bottom:1px solid #eef0f4;}
.allmenu .am_list > li:last-child{ border-bottom:0;}
.allmenu .am_tt a{ display:block; font-size:1.125em; font-weight:700; color:#111;}
.allmenu .am_tt a:hover{ color:var(--mainColor);}
.allmenu .am_sub{ display:flex; flex-wrap:wrap; gap:6px 0; margin-top:12px;}
.allmenu .am_sub > li{ width:50%;}
.allmenu .am_sub > li > a{ display:block; padding:4px 0; color:#666; font-size:.9375em;}
.allmenu .am_sub > li > a:hover{ color:var(--mainColor);}
body.am_open{ overflow:hidden;}

/* 개인정보처리방침 (privacy.php) */
.policy_page{ padding:10px 0 40px;}
.policy_page .policy_body{ padding:26px 28px; border:1px solid var(--lineSoft); border-radius:var(--item_r); background:var(--bg); color:var(--txt2); font-size:.975em; line-height:1.85; word-break:break-word;}
.policy_page .policy_tt{ margin:34px 0 14px; font-size:1.25em; font-weight:600; color:var(--txt);}
.policy_page .policy_empty{ padding:70px 0; color:var(--txt3); text-align:center;}

/* 푸터 개인정보처리방침 링크 */
#footer .f_policy{}
#footer .f_policy a{ color:#888; font-size:.938em; text-decoration:underline; text-underline-offset:3px;}
#footer .f_policy a:hover{ color:#ddd;}

/*개인정보&이용약관*/
.agree_box{ border:1px solid #ddd; background:#f9f9f9; border-radius:5px}
.agree_box .in_con{  padding:2em; border:1px solid #ededed; margin:1em; background:#fff;}
.agree_box .in_con .agree_wrap{ font-size: .938em;}
.agree_box .in_con .agree_wrap span{ display: block;}

.page_tt{font-size:1.825em; font-weight: 600;}
.page_stt{font-size:1.45em; font-weight: 600;}
.page_tx{font-size:1.125em; font-weight: 300;}
.page_stx{font-size:1em; font-weight: 300;}

/* 오시는 길 (p.contact.php) */
.loc_04_01 .location_box{ margin: 0 auto;}
.loc_04_01 .location_box .map_tw{padding-bottom:1em; font-size:1.5em;}
.loc_04_01 .location_box .map_tw .xi{ width: 44px; height: 44px; background: var(--mainColor); border-radius: 50%; line-height: 44px; margin-right: 10px; font-size:.938em; color:#fff;}
.loc_04_01 .location_box .map_view{ border-top:3px solid var(--mainColor); box-shadow: 0 0.25em 0.5em rgba(0,0,0,.2); transition: .3s;  padding: 1em; border-radius: 0 0 1em 1em;}
.loc_04_01 .location_box .map_view .tt {padding-bottom:10px; font-size:1.125em; color:#333; letter-spacing:-2px; vertical-align:middle;}
.loc_04_01 .location_box .map_view .xi {vertical-align:middle; font-size:1.125em; padding-right:5px;}
.loc_04_01 .location_box .map_view .map_cont .root_daum_roughmap .wrap_controllers{display:none;}

.loc_04_01 .location_box .info_list{margin-right:-20px; margin-top:30px;}
.loc_04_01 .location_box .info_list > li{width:25%;}	
.loc_04_01 .location_box .info_list > li:last-child{width:50%;}	
.loc_04_01 .location_box .info_list > li .in{height:100%; border:1px solid #ddd; margin-right:20px; padding:35px 30px 50px; position: relative;}	
.loc_04_01 .location_box .info_list > li .in:before{content:''; width:40px; height: 3px; background-color:var(--mainColor); position: absolute; top: -1px; left:25px;}
.loc_04_01 .location_box .info_list > li .in .tx{font-size:1.125em; margin-top:10px; color:#333; font-weight: 300; position: relative; z-index: 5;}
.loc_04_01 .location_box .info_list > li .in .icon{position:absolute; bottom:15px; right:20px;}
.loc_04_01 .location_box .info_list > li .in .icon .xi{color:#eee; font-size:3.375em;}
	
.about_02_01 .cos_intro > li{ margin-bottom:8.5em;}
.about_02_01 .cos_intro > li:last-child{ margin-bottom:0;}
.about_02_01 .cos_intro > li .in .img_z{width:45%; padding-right:3em;}
.about_02_01 .cos_intro > li .in .img_z .bgfix{height: 550px; background-color: #aaa; border-radius: var(--item_r);}
.about_02_01 .cos_intro > li .in .img_z img{border-radius: var(--item_r);}
.about_02_01 .cos_intro > li .in .txt_z{width:55%; padding:0 0 0 3em;}
.about_02_01 .cos_intro > li .in .txt_z .page_tt{margin-bottom:25px;}
.about_02_01 .cos_intro > li .in .txt_z .page_tt .fs{ font-size: 1.5em; font-weight: 700;}
.about_02_01 .cos_intro > li .in .txt_z .page_stt{color: #222; margin-bottom: 20px; font-weight: 600;}
.about_02_01 .cos_intro > li .in .txt_z .page_tx{ margin-bottom:15px;}
.about_02_01 .cos_intro > li .in .txt_z .page_tx.ceo_name{margin-top:30px;}
.about_02_01 .cos_intro > li .in .txt_z .page_tx.ceo_name .tx{letter-spacing: 2px;}
.about_02_01 .cos_intro > li .in .txt_z .page_tx.ceo_name .in_name{font-size: 2em; margin-left: 10px; letter-spacing: 6px; font-family: "Nanum Brush Script", serif}
.about_02_01 .cos_intro > li .in.rev .img_z{padding-right:0; padding-left:3em;}
.about_02_01 .cos_intro > li .in.rev .txt_z{padding-left:0; padding-right:3em;}

.about_sch a{position: relative; border:1px solid #03c75a; padding:8px 25px; border-radius: 50px; gap:0 15px; transition: .3s; margin-top:45px; overflow: hidden;}
.about_sch .xi-naver{color:#03c75a; font-size:2em;}
.about_sch .xi-search{color:#777; font-size:2em;}
.about_sch span{ font-size:1.375em; font-weight: 700; }
.about_sch .sch_ck{position: absolute; top:50%; left:40%; transform: translateY(-50%); gap:0 10px; color: var(--mainColor);}
.about_sch .sch_ck .cls-1{fill:var(--mainColor);}
.about_sch .sch_ck svg{width:33px; height: auto;}

.about_sch a:hover{background-color: #f9f9f9;}
.about_sch a:hover .xi-search{color:#222;}
.about_sch a:hover .cls-1{fill:#041247;}
.about_sch a:hover .sch_ck{color:#041247;}


/* about_career */
.about_career{ padding:90px 0 100px; background:#f7f8fa; margin-top:7em;}
.about_career .in_list{ margin:20px auto 0; padding:60px 70px; border-radius:var(--item_r); background:#fff;}
.about_career .in_list > ul{width:50%;}
.about_career .in_list > ul > li{ position:relative; padding:0 0 34px 148px;}
.about_career .in_list > ul > li:before{ content:''; position:absolute; top:16px; left:110px; width:1px; height:100%; background:#e4e6ec;}
.about_career .in_list > ul:last-child > li:last-child:before{ display:none;}
.about_career .in_list > ul > li:after{ content:''; position:absolute; top:8px; left:106px; width:9px; height:9px; border-radius:50%; background:var(--mainColor);}
.about_career .in_list .in_year{ position:absolute; top:0; left:0; width:90px; font-size:1.125em; font-weight:700; color:#111; letter-spacing:0;}
.about_career .in_list .in_con p{ font-size:1.0625em; color:#444; line-height:1.6;}
.about_career .in_list .in_con p + p{ margin-top:10px;}
.about_career .in_list > ul > li.on:after{ width:13px; height:13px; top:6px; left:104px; background:var(--subColor); box-shadow:0 0 0 4px rgba(255,187,15,.25);}
.about_career .in_list > ul > li.on .in_year{ color:var(--mainColor);}
.about_career .in_list > ul > li.on .in_con p{ font-weight:700; color:#111;}