@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
.fz18 {font-size:18px !important;}
.fz20 {font-size:20px !important;}
.fz30 {font-size:30px !important;}

.mgb20 {margin-bottom:20px !important;}
.mgb30 {margin-bottom:30px !important;}
.mgb50 {margin-bottom:50px !important;}
.mgb80 {margin-bottom:80px !important;}
.mgb100 {margin-bottom:100px !important;}

.fw500 {font-weight:500 !important;}
.fw600 {font-weight:600 !important;}

.c1 {color:#0f75bd !important;}
.c-bk {color:#2c2c2c !important;}
.c-wh {color:#fff !important;}

.greeting {display:flex;}
.greeting .img {position:relative;}
.greeting .img:before {top:100px; bottom:70px; left:-100%; right:-60px; border-bottom-right-radius:60px; background-color:#f3f8fc; z-index:-1; position:absolute; content:'';}
.greeting .cnt {padding-left:160px; flex:1;}
.greeting .tit {line-height:1.47em; letter-spacing:-.04em; color:#2c2c2c; display:block;}

.history {padding-top:60px; display:flex; border-top:2px solid #2c2c2c;}
.history .col-l {width:550px;}
.history .col-l h2 {font-size:33px; letter-spacing:-.03em; font-weight:600; font-family:'Montserrat', sans-serif; color:#2c2c2c;}
.history .col-l h2 span {font-size:40px; letter-spacing:-.03em; font-weight:700;}
.history .col-l p {line-height:1.56em; font-weight:500;}
.history .col-r {flex:1;}
.history .group {padding:0 0 45px 70px; position:relative;}
.history .group:before {top:8px; width:1px; position:absolute; content:''; left:0; background-color:#ddd; height:100%; bottom:0;}
.history .group:after {width:20px; height:20px; left:-10px; top:4px; background-image:url('../images/sub/hisdot.jpg'); background-size:contain; background-repeat:no-repeat; position:absolute; content:'';}
.history .group:last-child {padding-bottom:0;}
.history .group:last-child:before {display:none;}
.history .group .year {font-size:28px; margin-bottom:22px; line-height:1.1em; font-weight:600; letter-spacing:-.03em; color:#2c2c2c; position:relative;}
.history .group .year:before {left:-50px; top:14px; width:40px; height:1px; position:absolute; content:''; background-color:#ddd;}
.history .group ul li {margin-bottom:15px; display:flex;}
.history .group ul li:last-child {margin-bottom:0;}
.history .group ul li .month {width:40px; font-weight:600; color:#0f75bd;}
.history .group ul li .cnt {padding-left:15px; position:relative; flex:1;}
.history .group ul li .cnt:before {position:absolute; content:''; width:5px; height:5px; top:11px; left:0; background-color:#ddd; border-radius:100%;}

.service-tit {padding:42px 0; text-align:center; background-color:#0f75bd; position:relative;}
.service-tit:after {bottom:-66px; margin-left:-33px; left:50%; transform:rotate(180deg); border:solid transparent; content:""; position:absolute; pointer-events:none; border-bottom-color:#0f75bd; border-width:33px;}
.service-tit h2	{font-size:24px; font-weight:600; color:#fff; letter-spacing:-.04em;}

.service-list .item {margin:0 -60px 30px; display:flex; align-items:center;}
.service-list .col {padding:0 60px; width:50%; flex:1;}
.service-list .inner {position:relative;}
.service-list .col-l .num {width:34px; height:34px; left:30px; top:-17px; position:absolute; display:flex; align-items:center; justify-content:center; background-color:#0f75bd; border-radius:100%; color:#fff; text-align:center;}
.service-list .col-l p {min-height:64px; display:flex; align-items:center; justify-content:center; font-weight:500; color:#2c2c2c; text-align:center; background-color:#f0f0f0; border-radius:30px;}
.service-list .col-r {position:relative;}
.service-list .col-r:before {width:60px; height:8px; left:-30px; top:50%; transform:translateY(-50%); background-image:url('../images/sub/servicedot.png'); background-size:contain; background-repeat:no-repeat; position:absolute; content:'';}
.service-list .col-r ul {padding:25px 50px; border:1px solid #ddd; border-radius:10px;}
.service-list .col-r ul li {margin-bottom:11px; line-height:1.4em;}
.service-list .col-r ul li:last-child {margin-bottom:0;}
.service-list.ty2 {display:flex; flex-wrap:wrap;}
.service-list.ty2 .item {width:50%; flex:1 50%; margin:0;}
.service-list.ty2 .item .col {padding:0 20px 30px;}

.prj-content {margin-bottom:60px; position:relative;}
.prj-content .flex {display:flex;}
.prj-content .col-l {flex:1 580px; max-width:580px; margin-right:40px; line-height:0;}
.prj-content .col-l .img {position:relative; padding-bottom:69%; overflow:hidden;}
.prj-content .col-l .img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; 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;}
.prj-content .col-r {flex:1;}
.prj-content .ctr {padding:0 25px; max-width:580px; position:absolute; top:50%; width:100%; display:flex; justify-content:space-between;}
.prj-content .ctrdot {bottom:30px; max-width:580px; position:absolute; width:100%; display:flex; justify-content:center; align-items:flex-end;}
.prj-content .slick-arrow {width:19px; height:36px; z-index:20; border:0; font-size:0; line-height:0; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; background-size:100% 100%; background-size:contain;}
.prj-content .slick-prev {background-image:url("../images/sub/prj-prev.png");}
.prj-content .slick-next {right:0; background-image:url("../images/sub/prj-next.png");}
.prj-content .slick-dots li {display:inline-block; margin:0 7px;}
.prj-content .slick-dots li button {position:relative; display:block; width:12px; height:12px; background:transparent; border:1px solid transparent; border-radius:100%; overflow:hidden; text-indent:-9999em; transition:.2s;}
.prj-content .slick-dots li button:before {content:""; position:absolute; top:50%; left:50%; margin:-6px 0 0 -6px; width:12px; height:12px; background:#fff; border-radius:100%;}
.prj-content .slick-dots .slick-active button:before {background-color:#0f75bd;}

.prj-content .tb-1 table th {padding-top:27px; padding-bottom:27px;}
.prj-content .tb-1 table td {padding:27px 10px 27px 25px;}

.tb-1 table {border-top:2px solid #242424; border-collapse:collapse; width:100%;}
.tb-1 table th {padding-left:10px; padding-right:10px; font-weight:600; color:#2c2c2c; background-color:#fafafa; text-align:center;}
.tb-1 table th, .tb-1 table td {line-height:1.5em; border-right:1px solid #ddd; border-bottom:1px solid #ddd;}
.tb-1 table th:last-child, .tb-1 table td:last-child {border-right:0;}
.tb-1.ty2 table th, .tb-1.ty2 table td {padding:17px 10px; text-align:center;}

.estimate-result {margin-top:155px; text-align:center; position:relative;}
.estimate-result:before {top:-110px; height:60px; position:absolute; content:''; left:50%; background-color:#ddd; width:1px;}
.estimate-result .total {font-weight:600; color:#2c2c2c; letter-spacing:-.04em;}
.estimate-result .total b {text-underline-offset:8px; color:#0f75bd; text-decoration:underline;}
.estimate-result p {color:#898989; letter-spacing:-.04em; line-height:1.5em;}

.root_daum_roughmap {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#0f75bd; font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#00adef;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}