@charset "utf-8";
/* 서브공통 */
.gradient {background: linear-gradient(90deg, #2BAFDE 0%, #71B74A 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

/********************* 회사소개 *********************/
/* 인사말 */
.greeting-img {border-radius: var(--radius-16); overflow: hidden; margin-bottom: var(--space-50);}
.greeting-img img {min-height: 200px; object-fit: cover;}
.greeting-top {margin-bottom: var(--space-40);}
.greeting-top h3 {color: #2c2c2c; font-size: var(--font-size-36); font-weight: 600; line-height: 1.388em; letter-spacing: -.02em;}
.greeting-desc p {font-size: var(--font-size-18); font-weight: 400; line-height: 1.777em; letter-spacing: -.02em; margin-bottom: var(--space-30);}
.greeting-desc p:last-child {margin-bottom: 0;}
.greeting-sign {font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; letter-spacing: -.02em;}

/* 찾아오시는 길 */
.location-section .sub-com-tit {padding-bottom: var(--space-48); margin-bottom: var(--space-48);}
.root_daum_roughmap {width: 100% !important;}
.root_daum_roughmap .wrap_map {height: 500px !important;}

.location-section {align-items: stretch; gap: var(--space-20);}
.location-section .map {flex: 1; max-width: 800px; min-width: 0; border-radius: var(--radius-16); overflow: hidden;}
.location-section .lct-info {flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-20); max-width: 620px; border: var(--space-20) solid #F9F9F9; border-radius: var(--radius-16); padding: var(--space-40);}
.lct-tit-wrap {padding-bottom: var(--space-30); margin-bottom: var(--space-40); border-bottom: 1px dashed #ddd;}
.location-section .lct-info .lct-tit {font-size: var(--font-size-28); font-weight: 600; line-height: 1.5em; letter-spacing: -0.02em;}
.location-section .lct-list {gap: var(--space-24);}
.location-section .txt {display: flex; gap: 8px; font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -0.02em;}
.location-section .lbl {display: flex; align-items: center; gap: 10px; width: 100px; margin: 0; font-weight: 500;}
.location-section .lbl .icon {width: 24px; height: 24px;}
.location-section .lct-btn {display: inline-block; max-width: 141px; padding: var(--space-16) var(--space-32); border: 1px solid #ddd; font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; letter-spacing: -0.02em; background: #fff; border-radius: 80px; text-align: center; transition: all 0.3s ease;}

/********************* 사업소개 *********************/
/* 사업 소개 */
.business-cont {flex-wrap: wrap; gap: var(--space-70);}
.business-img {border-radius: var(--radius-16); overflow: hidden;flex: 0 0 49%; max-width: 694px;}
.business-info-wrap {flex: 1;}
.business-tit {font-size: var(--font-size-36); font-weight: 600; line-height: 1.388em; letter-spacing: -.02em; color: #2c2c2c;}
.business-info {width: 100%; border-top: 1px solid #2c2c2c;}
.business-item {padding: var(--space-16) 0; border-bottom: 1px solid #ddd; font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -0.02em; text-align: center;}
.business-item dt {position: relative; width: clamp(120px, calc(236 / var(--inner) * 100vw), 236px); font-weight: 600; color: #2c2c2c;}
.business-item dt:after {content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 20px; background: #ddd;}
.business-item dd {flex: 1;}

/* 추진 경과 */
.progress-cont {gap: 16px;}
.progress-box {flex: 1;}
.progress-img-wrap {position: relative; border-radius: var(--radius-16); overflow: hidden;}
.progress-img-wrap .img-txt {position: absolute; top:50%; left:0; width: 100%; text-align: center; font-size: var(--font-size-40); line-height: 1.4em; letter-spacing: -0.02em; font-weight: 700; color: #fff; transform: translateY(-50%);}
.progess-year {margin-bottom: var(--space-24); font-size: var(--font-size-32); font-weight: 600; line-height: 1.437em; letter-spacing: -.02em; color: #2187AB;}
.progress-list li {display: flex; gap: 8px; position: relative; padding-left: 16px; font-size: 20px; line-height: 1.7em; letter-spacing: -0.02em;}
.progress-list li:before {content: ''; position: absolute; top: 14px; left: 0; width: 6px; height: 6px; background: #2187AB; border-radius: 50%; opacity: .4;}
.progress-list li span.month {font-weight: 600;}
.future-progress {padding-left: 70px;}
.past-progress {position: relative; padding-right: 70px;}
.past-progress:after {content: ''; position: absolute; top: 0; right: -8px; width: 1px; height: 100%; background: #ddd;}

/********************* 상생 *********************/


/********************* 정보공유 *********************/
.paginate.news-paginate strong {border-color: var(--color-primary); background-color: var(--color-primary);}

/********************* 문의 및 제안 *********************/
.inquiry-img {border-radius: var(--radius-16); overflow: hidden;}
.inquiry-img img {min-height: 160px; object-fit: cover;}
.inquiry-tit {font-size: var(--font-size-40); font-weight: 600; line-height: 1.4em; letter-spacing: -.02em; color: #2c2c2c;}
.inquiry-notice {font-size: var(--font-size-18); font-weight: 400; line-height: 1.777em; letter-spacing: -.02em; color: #999;}

.inquiry-section {flex: 1;}
.inquiry-section .form {display: flex; flex-wrap: wrap; gap: 24px; margin-bottom: var(--space-60);}
.inquiry-section .form dl {flex: 1 1 calc(50% - 12px);}
.inquiry-section .form dl.w100 {flex: 1 1 100%;}
.inquiry-section dt {font-size: var(--font-size-18); line-height: 1.77em; font-weight: 500; letter-spacing:-.02em; margin-bottom: 8px; color: #2c2c2c;}
.inquiry-section .required {color: var(--color-primary);}
.inquiry-section .input {height: 60px; border-radius: 8px;}
.inquiry-section .input::placeholder,
.captcha-wrap .input::placeholder {color: #a8a8a8; font-size: var(--font-size-14); line-height: 1.142em; letter-spacing:-.02em; font-weight: 400;}
.inquiry-section .captcha-wrap {height: 60px; }
.inquiry-section #kcaptcha_image {border-radius: 8px;}
.inquiry-section .captcha-wrap .input {width: 204px; height: 60px;}
dl.captcha dd {flex-wrap: wrap; gap: 6px;}
.inquiry-section .checkbox label {font-size: var(--font-size-16); line-height: 1.142em; letter-spacing:-.02em; color: #505050;}
.inquiry-section .pop_privacy {font-size: var(--font-size-12); color: #505050; margin-left: 10px; }
.inquiry-section .check {height: 100%;}

.file-upload {display:flex; gap: 8px; width: 100%; height:60px; margin-bottom:10px;}
.file-button {display:flex; justify-content:center; align-items:center; width: 136px; height:100%; padding:0 20px; border:1px solid #71B74A; background:#F8FBF7; border-radius: 8px; color:#71B74A; font-size: var(--font-size-16); line-height: 1.875em; letter-spacing:-.02em; cursor:pointer; transition: 0.3s;}
.file-button:hover {background:#71B74A; color:#fff;}
.file-name {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; height:100%; padding:0 14px; background: #F9F9F9; border-radius: 8px; border:1px solid #ddd; color: #999;}

.inquiry-btn-wrap {gap: var(--space-16);}
.inquiry-btn-wrap [class*="btn"] {display: flex; justify-content: center; align-items: center; width: 200px; height: 64px; font-size: var(--font-size-18); line-height: 1.77em; letter-spacing:-.02em; font-weight: 600; border-radius: var(--radius-16); cursor: pointer; color: #fff; border: none;}
.cancel-btn {background: #2c2c2c;}
.inq-btn {background: var(--color-sub);}