@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

#wrapper {position:relative;}

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.contain {*zoom:1; width:100%; max-width:1200px; margin:0 auto;}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {position:relative; width:100%; height:110px; background:#fff; z-index:90;}
#header .contain {position:relative; max-width:1680px; height:110px; z-index:2;}
#header .sitelogo {position:absolute; display:inline; top:50%; left:0; transform:translateY(-49%); z-index:10;}

.util {position:absolute; top:50%; right:0; transform:translateY(-50%); z-index:10;}
.util ul {}
.util ul:after {content:" "; display:block; clear:both;}
.util ul li {float:left; position:relative; padding-left:10px;}
.util ul li:first-child {padding-left:0;}
.util ul li a {display:block; line-height:0;}

#gnb {width:100%; text-align:center;}
#gnb > ul {display:inline-flex;}
#gnb > ul > li {position:relative; height:110px; font-weight:500; font-size:19px; line-height:110px;}
#gnb > ul > li > a {display:block; position:relative; padding:0 60px; color:#231916; z-index:20;}
/* #gnb > ul > li.active > a,
#gnb > ul > li:hover > a {color:#f39700;} */

#gnb .submenu {height:0; overflow:hidden; position:absolute; left:0; width:100%; text-align:center; z-index:15;}
#gnb .submenu > ul {position:relative; padding:20px 0; z-index:1;}
#gnb .submenu > ul > li {position:relative; padding:10px 0; font-size:17px; line-height:27px; font-weight:400; z-index:2;}
#gnb .submenu > ul > li > a {display:inline-block; text-decoration:none; color:#505050; padding:0 10px; border-radius:3px;}
#gnb .submenu > ul > li.active > a,
#gnb .submenu > ul > li:hover > a {color:#fff; background:#231916;}

.submenu-bg {display:none; position:absolute; left:0; width:100%; background:#fafafa; border-top:1px solid #dfdfdf; z-index:2; box-shadow:0 10px 21px rgba(0,0,0,0.1);}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; right:30px; width:50px; height:50px; border-radius:50%; background:#231916; transform:translateY(-50%); text-align:center; text-indent:-9999em; z-index:50;}
.btn-m-menu span {position:absolute; right:12px; top:24px; width:19px; height:2px; background:#fff;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; right:0; width:25px; height:2px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-m-menu span:before {top:-8px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-8px; transition-property:bottom, transform;}

.mobile-navigation {display:none; position:fixed; top:0; right:0; width:280px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:102;}
.mobile-navigation .home {padding:13px 20px;}
.mobile-navigation .home img {height:45px;}
.mobile-navigation .nav-util {display:none;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dfdfdf;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:10px 18px; display:block; color:#333; font-size:17px; font-weight:500; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #454545; border-bottom:2px solid #454545;}
.mobile-navigation .nav-menu>ul>li.active {background:#f4f4f4;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#fff; background:#231916;}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#fff;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:10px 0;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; padding:5px 18px; color:#454545; font-size:15px; font-weight:400; line-height:1.4em;}
.mobile-navigation .nav-menu .submenu>ul>li>a:hover {color:#231916}
.mobile-navigation .close {position:absolute; top:22px; right:18px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:12px; left:0; width:100%; height:3px; background:#2c2c2c; border-radius:3px;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:100;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
.main-visual {position:relative; width:100%; line-height:0; overflow:hidden; z-index:1;}
.main-visual .item {position:relative; width:100%; overflow:hidden;}
.main-visual .item img {width:100%; height:auto;}
.main-visual .desktop {display:block;}
.main-visual .mobile {display:none;}
.main-visual .slick-track {z-index:1;}
.main-visual .slick-dots {position:absolute; bottom:30px; left:0; width:100%; text-align:center; z-index:990;}
.main-visual .slick-dots li {position:relative; display:inline-block; padding:0 7px; border:0; background:transparent;}
.main-visual .slick-dots li button {position:relative; width:12px; height:12px; border-radius:6px; font-size:0; border:0; background:#fff; text-indent:-9999px;}
.main-visual .slick-dots li.slick-active button {background:#231916; width:26px;}
.main-visual .slick-arrow {position:absolute; top:50%; margin-top:-32px; width:64px; height:64px; z-index:89; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:100% 100%;}
.main-visual .slick-prev {left:120px; background-image:url("../images/main/bt_prev.png");}
.main-visual .slick-next {right:120px; background-image:url("../images/main/bt_next.png");}
.main-visual .slick-prev:hover {background-image:url("../images/main/bt_prev_on.png");}
.main-visual .slick-next:hover {background-image:url("../images/main/bt_next_on.png");}

.main-step {margin:100px 0 30px;}
.main-step .contain {max-width:1400px;}
.main-step .title {text-align:center; margin-bottom:65px;}
.main-step .title h2 {font-size:46px; line-height:1em; color:#2c2c2c;}
.main-step .list ul {margin:0 -35px;}
.main-step .list ul:after {content:""; display:block; clear:both;}
.main-step .list ul li {float:left; position:relative; width:33.333333%; padding:0 35px; margin-bottom:72px;}
.main-step .list ul li:after {content:""; position:absolute; top:50%; right:0; margin-top:-14.5px; margin-right:-8px; width:16px; height:29px; background:url('../images/main/arrow1.png') 0 0 no-repeat; background-size:100% 100%;}
.main-step .list ul li:nth-child(n+4) {float:right;}
.main-step .list ul li:nth-child(n+4):after {right:auto; left:0; margin-right:0; margin-left:-8px; transform:rotate(180deg);}
.main-step .list ul li:last-child:after {display:none;}
.main-step .list ul li:nth-child(3):after {content:""; top:auto; bottom:0; right:50%; transform:rotate(90deg); margin-top:0; margin-bottom:-45px;}
.main-step .list ul li .box {display:flex; width:100%;}
.main-step .list ul li .box .icon {flex:1 1 120px; max-width:120px; margin-right:30px; line-height:0;}
.main-step .list ul li .box .txt {flex:1 auto; width:1%;}
.main-step .list ul li .box .tit {margin-bottom:20px; line-height:28px; color:#231916;}
.main-step .list ul li .box .tit .num {font-size:18px;}
.main-step .list ul li .box .tit strong {display:block; font-size:22px;}
.main-step .list ul li .box p {font-size:16px; line-height:26px; color:#505050;}

.main-estimate {padding:80px 0; background:#fafafa;}
.main-estimate .contain {max-width:1400px;}
.main-estimate .estimate-form {display:flex; align-items:center; margin-bottom:76px;}
.main-estimate .estimate-form .title {flex:1 1 472px; max-width:472px; padding-right:50px;}
.main-estimate .estimate-form .title h2 {font-size:48px; line-height:1em; color:#2c2c2c; margin-bottom:12px;}
.main-estimate .estimate-form .title p {font-weight:300; font-size:18px; line-height:26px; color:#878787;}
.main-estimate .estimate-form .cnt {flex:1 auto; width:1%;}
.main-estimate .estimate-form .cnt form {position:relative; padding-right:200px;}
.main-estimate .estimate-form .cnt .btn-pack.btn {position:absolute; top:0; right:0; width:180px; height:202px; padding:0 30px; border-radius:13px; border:0; background:#231916; white-space:normal; text-align:center; font-weight:500; font-size:22px; line-height:34px; color:#fff;}
.main-estimate .estimate-form .group {margin-bottom:20px;}
.main-estimate .estimate-form .group ul {display:flex;}
.main-estimate .estimate-form .group ul li.name-box {flex:1 1 232px; max-width:232px; margin-right:60px;}
.main-estimate .estimate-form .group ul li.tel-box {flex:1 auto; width:1%;}
.main-estimate .estimate-form .group .box {display:flex; align-items:center;}
.main-estimate .estimate-form .group .box .tit {margin-right:20px; font-size:18px; line-height:1.4em; color:#2c2c2c;}
.main-estimate .estimate-form .group .input {flex:1 auto; width:1%; height:56px;}
.main-estimate .estimate-form .group:last-child {margin-bottom:0;}
.main-estimate .estimate-form .check-box {margin-bottom:-37px; padding-left:60px; font-size:14px; line-height:1.4em; color:#2c2c2c; font-weight:300;}
.main-estimate .estimate-form .check-box a {display:inline-block; padding-left:10px; font-weight:500;}
.main-estimate .list ul {display:flex; margin:0 -10px;}
.main-estimate .list ul li {width:calc(33.333333% - 20px); margin:0 10px; border:1px solid #dfdfdf; background:#fff; border-radius:10px;}
.main-estimate .list ul li a {display:table; width:100%; height:100%; padding:35px 40px;}
.main-estimate .list ul li a .txt {display:table-cell; vertical-align:top;}
.main-estimate .list ul li a .txt .tit {font-weight:700; font-size:30px; line-height:1em; color:#2c2c2c; margin-bottom:15px;}
.main-estimate .list ul li a .txt .tel {font-weight:700; font-size:34px; line-height:1em; margin-bottom:20px; color:#0f75c4;}
.main-estimate .list ul li a .txt p {font-weight:300; font-size:14px; line-height:22px; color:#878787;}
.main-estimate .list ul li a .txt .more {margin-top:18px; font-size:14px; line-height:22px; font-weight:500; color:#2c2c2c;}
.main-estimate .list ul li a .txt .more span {position:relative; padding-right:17px;}
.main-estimate .list ul li a .txt .more span:after {content:""; position:absolute; top:50%; right:0; margin-top:-6.5px; width:7px; height:13px; background:url('../images/main/arrow2.png') 0 0 no-repeat; background-size:100% 100%;}
.main-estimate .list ul li a .icon {display:table-cell; vertical-align:middle; text-align:right; width:94px;}

.main-portfolio {padding:100px 0; background:#fff url('../images/main/portfolio_bg.jpg') 50% 100% no-repeat; overflow:hidden;}
.main-portfolio .title {text-align:center; margin-bottom:68px;}
.main-portfolio .title span {display:block; font-weight:700; font-size:16px; line-height:1em; letter-spacing:0.5em; color:#c9caca; margin-bottom:8px;}
.main-portfolio .title h2 {font-size:46px; line-height:1em; color:#2c2c2c;}
.main-portfolio .slick-list {margin:0 -20px;}
.main-portfolio .slick-slide {padding:0 20px;}
.main-portfolio .items {padding-bottom:85px;}
.main-portfolio .item {padding-bottom:30px;}
.main-portfolio .item a {display:block; padding:40px; border:1px solid #dfdfdf; border-radius:10px; background:#fff; text-align:center;}
.main-portfolio .item a:hover {box-shadow:0 10px 20px rgba(0,0,0,0.1);}
.main-portfolio .item a .thumb {position:relative; width:100%; height:0; padding-bottom:100%; margin-bottom:22px; overflow:hidden;}
.main-portfolio .item a .thumb img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.main-portfolio .item a .tit {font-weight:500; font-size:18px; line-height:1.4em; color:#2c2c2c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.main-portfolio .slick-track {z-index:1;}
.main-portfolio .slick-arrow {position:absolute; bottom:0; width:64px; height:64px; z-index:89; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:100% 100%;}
.main-portfolio .slick-prev {left:50%; margin-left:-79px; background-image:url("../images/main/bt_prev.png");}
.main-portfolio .slick-next {right:50%; margin-right:-79px; background-image:url("../images/main/bt_next.png");}
.main-portfolio .slick-prev:hover {background-image:url("../images/main/bt_prev_on.png");}
.main-portfolio .slick-next:hover {background-image:url("../images/main/bt_next_on.png");}

/* sub page */
.sub-visual {position:relative; display:table; table-layout:fixed; width:100%; height:240px; background-position:50% 50%; background-repeat:no-repeat; -webkit-background-size:cover; background-size:cover; z-index:1;}
.sub-visual .cell {display:table-cell; vertical-align:middle; width:100%; height:100%;}
.sub-visual .in {text-align:center;}
.sub-visual h3 {position:relative;  font-size:50px; line-height:1em; color:#231916;}
.sub-visual p {font-weight:700; font-size:18px; line-height:1.4em; color:#2c2c2c; margin-top:10px;}
.sub-visual.bg1 {background-color:#ffe9df;}
.sub-visual.bg2 {height:430px;}
.sub-visual.bg2 .in {text-align:left; max-width:1200px; margin:0 auto;}
.sub-visual.bg2 .txt {font-size:16px; line-height:26px; margin-top:15px; color:#2c2c2c;}
.sub-visual.bg2 span {margin-top:10px; display:block; font-size:14px; line-height:1.4em; color:#505050;}
.sub-visual.bg2_1 {background-image:url("../images/common/sv2_1.jpg");}
.sub-visual.bg2_2 {background-image:url("../images/common/sv2_2.jpg");}
.sub-visual.bg2_3 {background-image:url("../images/common/sv2_3.jpg");}
.sub-visual.bg2_4 {background-image:url("../images/common/sv2_4.jpg");}
.sub-visual.bg2_5 {background-image:url("../images/common/sv2_5.jpg");}
.sub-visual.bg2_6 {background-image:url("../images/common/sv2_6.jpg");}
.sub-visual.bg3 {background-color:#ffe9df;}
.sub-visual.bg4 {background-color:#f4e8fd;}

.path-wrap {position:relative; height:50px; background:#fff; margin-top:70px; z-index:50;}
.path-wrap:before {content:" "; position:absolute; top:0; left:0; width:100%; height:1px; background:#dfdfdf; z-index:-1;}
.path-wrap:after {content:" "; position:absolute; bottom:0; left:0; width:100%; height:1px; background:#dfdfdf; z-index:-1;}
.path-wrap .inner {max-width:1200px; margin:0 auto;}
.path-wrap .inner:after {content:""; display:block; clear:both;}
.path-wrap .home {float:left;}
.path-wrap .home a {display:block; position:relative; width:50px; height:50px; background:#fafafa url("../images/common/home.png") 50% 50% no-repeat; text-indent:-999em; overflow:hidden;}
.path-wrap .home a:after {content:""; position:absolute; top:0; left:0; width:100%; height:100%; border:1px solid #dfdfdf;}
.path-wrap .part {float:left; position:relative; min-width:290px; z-index:52;}
.path-wrap .part:after {content:" "; position:absolute; top:0; right:0; width:1px; height:100%; background:#ddd;}
.path-wrap .part > a {display:block; position:relative; height:50px; color:#231916; font-size:16px; line-height:50px; padding:0 40px 0 20px;}
.path-wrap .part > a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #0e1114; border-bottom:2px solid #0e1114;}
.path-wrap .part.active {z-index:54;}
.path-wrap .part.active > a:after {transform:translateY(-35%) rotate(-135deg);}
.path-wrap .part ul {display:none; position:absolute; top:50px; left:-1px; right:0; background:#f4f4f4; border:1px solid #dfdfdf; border-top:0; z-index:53;}
.path-wrap .part ul li {color:#2c2c2c; font-size:14px; line-height:1.35em; border-top:1px solid #dfdfdf;}
.path-wrap .part ul li:first-child {border-top:0;}
.path-wrap .part ul li a {display:block; padding:16px 10px 16px 20px;}
.path-wrap .part ul li a:hover {text-decoration:underline; background:#fff;}

#contArea {width:100%; max-width:1200px; margin:0 auto;}
#contArea.wide {max-width:none;}
.sub-title {position:relative; width:100%; max-width:1200px; margin:76px auto 20px; text-align:center; padding-bottom:95px;}
.sub-title:after {content:""; position:absolute; bottom:0; left:50%; width:1px; height:68px; background:#7b7573;}
.sub-title h2 {position:relative; color:#231916; letter-spacing:-0.02em; font-size:38px; line-height:1em; z-index:1;}
.real-cont {min-height:350px; _height:350px; padding-bottom:100px;}

/* footer */
#footer {position:relative; clear:both; z-index:10; width:100%; background:#fff; padding:40px 0; font-family: 'Noto Sans KR';}
#footer:after {content:""; position:absolute; top:0; left:0; width:100%; height:1px; background:#dfdfdf;}
#footer .contain {position:relative; max-width:1400px;}
.foot-info {position:relative; font-size:14px; line-height:26px; color:#878787;}
.foot-info .foot-logo {position:absolute; top:50%; right:0; transform:translateY(-49%);}
.foot-info address {font-style:normal;}
.foot-info span {display:inline-block; position:relative; padding-right:24px;}
.foot-info span:after {content:""; position:absolute; top:50%; right:10px; width:1px; height:14px; margin-top:-7px; background:#878787;}
.foot-info span.last:after {display:none;}
.foot-info strong {display:block; font-weight:500; font-size:16px; color:#2c2c2c; margin-bottom:12px;}
.foot-info .copy {margin-top:20px; font-size:12px; color:#878787;}

.quickmenu {position:absolute; right:60px; z-index:50;}
.quickmenu ul li {margin-bottom:15px;}
.quickmenu ul li:last-child {margin-bottom:0;}
.quickmenu ul li a {display:block; line-height:0;}