@charset "utf-8";
/* 서브공통 */

.doc-top-eng {font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; color: var(--color-primary);}
.doc-top-desc {margin-top: var(--space-24); font-size: var(--font-size-48); font-weight: 600; line-height: 1.416em; color: #2c2c2c;}

/********************* 회사소개 *********************/
/* 인사말 */
.greeting-section {min-height: 700px; padding: var(--space-120) 0 var(--space-140); background: url("../images/sub/greeting-bg.jpg") no-repeat center center / cover;}
.greeting-section2 {padding-top: var(--space-140);}
.greeting-section2 .doc-top-desc {margin-top: 0; font-size: var(--font-size-40); line-height: 1.4em;}
.about-list {gap: var(--space-24); flex-wrap: wrap;}
.about-item {flex: 1;}
.about-item .img {margin-bottom: var(--space-24); border-radius: var(--radius-16); overflow:hidden;}
.about-item .en {font-size: var(--font-size-18); font-weight: 500; line-height: 1.666em; color: var(--color-primary);}
.about-item .tit {margin-top: 8px; font-size: var(--font-size-24); font-weight: 600; line-height: 1.5em; color: #2c2c2c;}
.about-item .desc {margin-top: var(--space-24); font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}

/* 회사 연혁 */
.history-period {text-align: center; padding: var(--space-15); border-radius: 16px; background: linear-gradient(164deg, #1C1C1C 29.68%, #05292D 100%); font-size: var(--font-size-32); font-weight: 600; line-height: 1.562em; color: #fff;}
.history-wrap {position:relative; color: #454545;}
.history-item {padding-bottom:60px; margin-bottom:60px; border-bottom: 1px solid #eee; display:flex; align-items:initial;}
.history-item:last-child {padding-bottom:0; margin-bottom:0; border-bottom: none;}
.history-item .history-year {width:calc(50% - 20px); color:#222; font-size:var(--font-size-58); line-height:1.2em; letter-spacing:-.02em; padding-right:0;}
.history-item ul {flex:1; padding-top: var(--space-22);}
.history-item ul li {margin-bottom:15px; display:flex; font-size:20px; letter-spacing:-.02em; line-height:1.7em; font-weight:400; }
.history-item ul li:last-child {margin-bottom:0;}
.history-item ul li .month {width:65px; color:#A8A8A8; display:block; font-weight: 600;}
.history-item ul li p {flex:1; color: #505050;}


/* 인증 및 특허 */
.certi-list {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-80) var(--space-40);}
.certi-item {text-align: center;}
.certi-item .certi-img {margin-bottom: var(--space-25); border-radius: var(--radius-16); overflow:hidden; border: 1px solid #ddd;}
.certi-item p {font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; color: #2c2c2c;}

/* 오시는 길 */
.location-section .doc-top-desc {font-size: var(--font-size-28); line-height: 1.5em;}
.location-section .doc-top-desc2 {margin-top: var(--space-16); font-size: var(--font-size-18); line-height: 1.777em;}
.root_daum_roughmap {width: 100% !important;}
.root_daum_roughmap .wrap_map {height: 450px !important;}
.root_daum_roughmap .wrap_controllers {display: none !important;}

.location-section .map-box {gap: var(--space-20); justify-content: space-between;}
.location-section .map {flex: 0 1 58%; min-width: 0; max-width: 800px; border-radius: var(--radius-24); overflow: hidden;}
.location-section .lct-info {gap: var(--space-80); display: flex; flex-direction: column; justify-content: space-between;}
.lct-list {gap: var(--space-30);}
.lct-list dl {display: flex; align-items: center; gap: var(--space-30); font-size: var(--font-size-18); line-height: 1.444em;}
.lct-list dl dt {display: flex; align-items: center; gap: var(--space-16); color: #2c2c2c; font-weight: 600;}
.lct-list dl dt .icon {display: flex; align-items: center; justify-content: center;}
.lct-list dl dt span {display: block; width: 46px;}

/********************* 사업분야 *********************/
.biz-top {border-radius: var(--radius-24); overflow: hidden;}
.biz-top img {min-height: 140px; object-fit: cover;}
.biz-info {display: flex; flex-direction: column; gap: var(--space-60);}
.biz-info-item {display: flex; align-items: flex-start;}
.biz-info-tit {flex-shrink: 0; width: 24%; max-width: 324px; font-size: var(--font-size-32); font-weight: 600; line-height: 1.4375em; color: #2c2c2c;}
.biz-info-cont {flex: 1; min-width: 0; padding: 6px 0 var(--space-60); border-bottom: 1px solid #eee;}
.biz-info-item--last .biz-info-cont {padding-bottom: 0; border-bottom: none;}
.biz-info-cont > p {font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}
.biz-target-list {gap: var(--space-24); flex-wrap: wrap;}
.biz-target-item {flex: 1 1 calc(50% - var(--space-24)/2); display: flex; align-items: flex-start; gap: var(--space-24); padding: var(--space-30); border-radius: var(--radius-16); background: #f9f9f9;}
.biz-target-item.wide {flex: 1 1 100%;}
.biz-target-item .lbl {flex-shrink: 0; font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; color: var(--color-sub);}
.biz-target-item p {font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}
.biz-target-item p .biz-support-note {margin-left: 8px;}
.biz-info-cont .biz-support-txt {font-size: var(--font-size-24); line-height: 1.5em; color: #505050;}
.biz-info-cont .biz-support-txt strong {font-weight: 600; color: var(--color-sub);}
.biz-info-cont .biz-support-note {margin-top: var(--space-24); font-size: var(--font-size-16); line-height: 1.5em; color: #999;}
.biz-process-list {gap: var(--space-24); flex-wrap: wrap;}
.biz-process-item {flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-24); padding: var(--space-30); border-radius: var(--radius-8); background: #f9f9f9;}
.biz-process-item .icon {display: flex; align-items: center; justify-content: center; width: 60px; height: 60px;}
.biz-process-item .icon img {display: block; max-width: 100%; max-height: 100%;}
.biz-process-item p {font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; color: #505050; text-align: center;}
.biz-process-item.rps-process-item p {line-height: 1.4em;}
.biz-effect-list {gap: var(--space-24); flex-wrap: wrap;}
.biz-effect-item {flex: 1; min-width: 0;}
.biz-effect-item.biz-rate-item {flex: unset;}
.biz-effect-item .img {max-width: fit-content; border-radius: var(--radius-8); overflow: hidden;}
.biz-effect-txt {display: flex; align-items: flex-start; gap: 12px; margin-top: var(--space-24); font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; color: #505050;}
.biz-effect-txt p .gray {margin-left: 4px; color: #999; font-size: var(--font-size-16); line-height: 1.5em; font-weight: 500;}
.biz-effect-item .num {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50px; background: #f6f6f6; font-size: var(--font-size-16); font-weight: 700; line-height: 1.875em; color: #505050;}
.biz-point-list {gap: var(--space-24); flex-wrap: wrap;}
.biz-point-item {flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-40); padding: var(--space-30); border-radius: var(--radius-16); background: #f9f9f9;}
.biz-point-item .icon {display: flex; align-items: center; justify-content: center; width: 50px; height: 50px;}
.biz-point-item .txt {display: flex; flex-direction: column; gap: 8px;}
.biz-point-item .tit {font-size: var(--font-size-24); font-weight: 600; line-height: 1.5em; color: #2c2c2c;}
.biz-point-item p {font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}

.biz-rate-list {display: flex; gap: var(--space-40); flex-wrap: wrap;}
.biz-rate-item .biz-effect-txt {margin-top: 0;}
.biz-notice-list {display: flex; flex-direction: column; gap: var(--space-16);}
.biz-notice-item {display: flex; align-items: center; gap: 12px;}
.biz-notice-badge {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 132px; padding: 4px; border-radius: 50px; background: #f6f6f6; font-size: var(--font-size-16); font-weight: 700; line-height: 1.875em; color: #505050; text-align: center;}
.biz-notice-badge.is-active {background: var(--color-primary); color: #fff;}
.biz-notice-item p {font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}


/********************* 시공사례 *********************/
.case-list {padding:40px 0 0 0; border-bottom:1px solid #ddd; border-top:2px solid #686868;}
.case-list ul {display:flex; flex-wrap:wrap; margin:0 -8px;}
.case-list ul li {width:33.333%; padding:0 8px; margin-bottom:40px; text-align:left;}
.case-list ul li.none {width:100%; padding:70px 0; margin:0; text-align:center; color:#767676;}
.case-list ul li a {display:block;}
.case-list ul li .thumb {position:relative; padding-bottom:70%; margin-bottom:24px; border-radius:var(--radius-16); overflow:hidden;}
.case-list ul li .thumb 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;}
.case-list ul li a:hover .thumb img {transform: translateY(-50%) scale(1.05);}
.case-list ul li .cate {color:#999; font-size:var(--font-size-16); font-weight: 500; line-height:1.875em; margin-bottom:4px;}
.case-list ul li .tit {color:#2c2c2c; font-size:var(--font-size-24);  font-weight: 500;line-height:1.583em;}
.case-list ul li .date {color:#999; font-size:var(--font-size-16); line-height:1.875em; margin-top:var(--space-16);}

/* 상세페이지 */
.case-view {padding-top: var(--space-120);}
.case-view-top {padding-bottom: var(--space-40); border-bottom:1px solid #ddd;}
.view-info .cate {color:var(--color-primary); font-size:var(--font-size-20); font-weight: 500; line-height:1.7em; margin-bottom:var(--space-20);}
.view-info .tit {color:#2c2c2c; font-size:var(--font-size-48); font-weight: 600; line-height:1.293em;}
.view-info .date {color:#999; font-size:var(--font-size-20); line-height:1.7em; margin-top:var(--space-16);}
.case-view .editor-box {margin-top: var(--space-40);}
.case-view .com-btn-wrap {margin-top: var(--space-80);}

/********************* 고객지원 *********************/
.board-form .required {color:var(--color-primary);}
.board-form .radio-wrap {display: flex; gap: var(--space-24);}
.board-form .input {border-radius: 8px; height: 48px;}
.board-form .captcha-wrap {height: 48px;}
#kcaptcha_image {border-radius: 8px;}
.inquiry-btn {cursor: pointer;}
.form-agree .checkbox label:before {border-radius: 4px;}