@charset "utf-8";

/* 공통 */
.text-indent {text-indent: -9999px;}
.sub-section {padding-bottom: var(--space-120);}
.sub-section:last-child {padding-bottom: 0;}
.sub-section > .sec-head:last-child {margin-bottom: 0;}
.sub-section.is-line {padding-top:var(--space-120); border-top:1px dashed #dfdfdf;}

/* 섹션 타이틀·설명 */
.sec-head {display:flex; flex-direction:column; gap:var(--space-30); margin-bottom: var(--space-60);}
.sec-tit {color:#2c2c2c; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-.02em;}
.sec-desc {display:flex; flex-direction:column; gap:12px; color:#505050; font-size:var(--font-size-22); font-weight:400; line-height:1.64em; letter-spacing:-.02em;}

/*************************** 회사소개 ***************************/
/* 인사말 */
.greeting {display:flex; align-items:center; gap:var(--space-60);}
.greeting-img {width: 48%; max-width: 670px; border-radius:8px; border-radius:8px;overflow:hidden;}
.greeting-txt {display:flex; flex:1 1 0; flex-direction:column; gap:var(--space-30); min-width:0;}
.greeting-tit {color:#2c2c2c; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-.02em;}
.greeting-tit em {color:var(--color-primary); font-style:normal;}
.greeting-body {display:flex; flex-direction:column; gap:var(--space-20); color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.greeting-body strong {color:#2c2c2c; font-weight:500;}
.greeting-sign {color:#505050; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em;}

/* 면허 및 등록현황 */
.license-list {display:flex; flex-wrap:wrap; gap:var(--space-40) var(--space-20);}
.license-list li {width: calc(25% - calc(var(--space-20) / 4 * 3)); display:flex; flex-direction:column; align-items:center; gap:var(--space-20);}
.license-img {width:100%; aspect-ratio: 335 / 460; overflow:hidden; border:1px solid #eee; border-radius:8px; background:#eee;}
.license-img img {display:block; width:100%; height:100%; object-fit:contain;}
.license-name {color:#2c2c2c; font-size:var(--font-size-24); font-weight:500; line-height:1.583em; letter-spacing:-.02em; text-align:center;}

/* 오시는 길 */
.location-box {display:flex; gap:var(--space-20); align-items:stretch;}
.location-map {width:60%; max-width: 800px; height:560px; border-radius:var(--radius-8); overflow:hidden;}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-info {display:flex; flex:1 1 0; flex-direction:column; justify-content:space-between; min-width:0; padding:var(--space-50); border:1px solid #eee; border-radius:8px; background:#fff;}
.location-txt {display:flex; flex-direction:column; gap:var(--space-40); width:100%;}
.location-brand {display: block; padding-bottom:var(--space-30); border-bottom:1px dashed #dfdfdf; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; letter-spacing:-.02em; }
.location-brand span {background:linear-gradient(-23deg, #42b9b1 24.7%, #79c37c 55.1%, #9aca5d 75.4%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.location-list {display:flex; flex-direction:column; gap:var(--space-24); width:100%;}
.location-list li {display:flex; align-items:flex-start; width:100%;}
.location-list .label {flex-shrink:0; width: 55px; min-width:2.5em; color:#505050; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em;}
.location-list .txt {color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.location-list .txt a {color:inherit;}
.location-btns {display:flex; flex-wrap:wrap; gap:var(--space-8); width:100%;}
.location-btn {display:inline-flex; gap:var(--space-10); align-items:center; padding:var(--space-14); border-radius:4px; background:#f6f6f6; color:#676767; font-size:var(--font-size-18); font-weight:500; line-height:1.556em; letter-spacing:-.02em;}
.location-btn .ico {display:block; width:24px; height:24px; object-fit:contain;}
.location-btn .arrow {display:block; width:12px; height:12px;}
.location-btn span {flex-shrink:0;}

/* 기술인력 */
.staff-list {display:flex; flex-wrap: wrap; gap:var(--space-16);}
.staff-list li {flex:0 1 calc(25% - var(--space-16) / 4 * 3); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-30); padding:var(--space-40); border:1px solid #eee; border-radius:var(--radius-8); background:#fff;}
.staff-ico {display:flex; align-items:center; justify-content:center; padding:var(--space-16); border-radius:4px; background:#f6f6f6;}
.staff-ico img {display:block; width:32px; height:32px;}
.staff-txt {display:flex; flex-direction:column; align-items:center; gap:2px; width:100%; text-align:center;}
.staff-txt .name {color:#2c2c2c; font-size:var(--font-size-22); font-weight:500; line-height:1.64em; letter-spacing:-.02em;}
.staff-txt .num {color:#505050; font-size:var(--font-size-22); font-weight:400; line-height:1.64em; letter-spacing:-.02em;}

/*************************** 환경컨설팅 ***************************/
/* 공통 (인허가·화관법·PSM·유해위험방지 재사용) */
.consult-feat {display:flex; gap:var(--space-8); flex-wrap: wrap;}
.consult-feat li {display:flex; flex:1; flex-direction:column; gap:var(--space-50); min-width:0; padding:var(--space-32); border:1px solid #eee; border-radius:var(--radius-8);}
.consult-feat-ico {display:flex; align-items:center; width:56px; height:56px;}
.consult-feat-txt {color:#2c2c2c; font-size:var(--font-size-24); font-weight:500; line-height:1.583em; letter-spacing:-.02em;}
.consult-process {display:flex; flex-direction:column; gap:var(--space-40); width:100%;}
.consult-process-row {display:flex; gap:var(--space-40); position:relative; width:100%;}
.consult-process-row > li {display:flex; flex:1 1 0; flex-direction:column; gap:4px; align-items:center; position:relative; min-width:0; padding:var(--space-28) var(--space-24); border-radius:var(--radius-8); background:#f6f6f6; text-align:center;}
.consult-process-row .step {color:var(--color-primary); font-size:var(--font-size-16); font-weight:600; line-height:1.625em; letter-spacing:-.02em;}
.consult-process-row .txt {color:#505050; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em;}
.consult-process-row > li:not(:last-child)::after {content:""; position:absolute; top:50%; right:calc(var(--space-40) / -2); width:16px; height:16px; background:url("/images/sub/process-arrow.svg") no-repeat center / contain; transform:translate(50%, -50%);}
.consult-process-row:last-child > li:not(:last-child)::after {transform:translate(50%, -50%) rotate(180deg);}
.consult-process-row:first-child::after {content:""; position:absolute; right:calc((100% - var(--space-40) * 4) / 10); bottom:calc(var(--space-40) / -2); width:16px; height:16px; background:url("/images/sub/process-arrow.svg") no-repeat center / contain; transform:translate(50%, 50%) rotate(90deg);}
.consult-table {border-top:1px solid #2c2c2c;}
.consult-table table {width:100%; border-collapse:collapse; border-spacing:0;}
.consult-table th,
.consult-table td {padding:var(--space-16) var(--space-20); border:0; border-right:1px solid #eee; border-bottom:1px solid #eee; color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em; text-align:center; vertical-align:middle; }
.consult-table thead th {background:#fafafa; color:#2c2c2c; font-weight:500;}
.consult-table tbody th {color:#676767; font-weight:400;}
.consult-table tr th:last-child,
.consult-table tr td:last-child {border-right:0;}
.consult-table td.tal,
.consult-table th.tal {text-align:left;}
.consult-table .dot-list {gap:6px;}
.consult-table .consult-note {display:block; margin-top:2px;}

/* 공통 박스·리스트 */
.cont-box {display:flex; flex-direction:column; gap:var(--space-20); padding:var(--space-32); border:1px solid #eee; border-radius:var(--radius-8);}
.cont-box.is-fill {border:0; background:#f8f8f8;}
.cont-box-head {display:flex; gap:var(--space-10); align-items:flex-start;}
.cont-box-head::before {content:""; flex-shrink:0; width:16px; height:16px; background:url("/images/sub/sec-bars.svg") no-repeat center / contain; margin-top: 11px;}
.cont-box.type-facility .cont-box-head::before {margin-top: 13px;}
.cont-box-tit {color:#2c2c2c; font-size:var(--font-size-24); font-weight:500; line-height:1.583em; letter-spacing:-.02em;}
.cont-box.type-facility .cont-box-tit {font-size:var(--font-size-28); line-height: 1.5em;}
.cont-box-txt {display:flex; flex-direction:column; gap:12px; color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.cont-box-head + .consult-table {margin-top:var(--space-30);}
.cont-box-head + .cont-box {margin-top:var(--space-30);}
.cont-box-stack {display:flex; flex-direction:column; gap:var(--space-16);}
.consult-stack {display:flex; flex-direction:column; gap:var(--space-60);}
.dot-list {display:flex; flex-direction:column; gap:var(--space-10);}
.dot-list.cols-2 {display:flex; flex-wrap:wrap; flex-direction:row; gap:var(--space-10);}
.dot-list.cols-2 > li {flex:0 0 calc(50% - var(--space-10) / 2); width:auto;}
.dot-list.cols-2 .span-2 {flex:0 0 100%;}
.dot-list.cols-3 {display:flex; flex-wrap:wrap; flex-direction:row; gap:var(--space-10);}
.dot-list.cols-3 > li {flex:0 0 calc((100% - var(--space-10) * 2) / 3); width:auto;}
.dot-list li {position:relative; padding-left:14px; color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.dot-list li::before {content:""; position:absolute; left:0; top:15px; width:4px; height:4px; border-radius:80px; background:#ccc;}
.consult-note {color:#b94242; font-size:var(--font-size-18); font-weight:500; line-height:1.556em; letter-spacing:-.02em;}
.consult-table + .consult-note {margin-top:var(--space-16);}

/* 심사 절차 다이어그램 (PSM·유해위험방지 등) */
.process-box {padding:var(--space-40); border-radius:var(--radius-8); background:#f9f9f9;}

/* 화학사고예방관리계획서 — 작성·제출 수량 기준 */
.chem-qty .box {display:flex; gap:var(--space-40); align-items:flex-start; width:100%;}
.chem-qty-col {display:flex; flex:1 1 0; flex-direction:column; gap:var(--space-20); min-width:0; overflow:visible;}
.chem-qty-head {padding:var(--space-20) 0; border-radius:4px; color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; text-align:center;}
.chem-qty-head.is-green {background:#9aca5d;}
.chem-qty-head.is-primary {background:var(--color-primary);}
.chem-qty-steps {display:flex; flex-direction:column; gap:var(--space-8); width:100%; overflow:visible;}
.chem-qty-steps li {position:relative; padding:var(--space-20) 0; border-radius:4px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em; text-align:center;}
.chem-qty-steps li.is-fill {background:#f1f1f1; color:#505050;}
.chem-qty-steps li.is-line {border:1px solid #dfdfdf; color:#676767;}
.chem-qty-steps li.is-active {border:1px solid var(--color-primary); color:var(--color-primary); font-weight:600;}
.chem-qty-steps li.has-note::after {content:""; position:absolute; top:50%; right:calc(var(--space-40) * -1); width:var(--space-40); height:16px; background:url("/images/sub/chem-qty-arrow.svg") no-repeat center / contain; transform:translateY(-50%);}
.chem-qty-steps.is-unit li.is-line {border-color:#eee;}
.chem-qty-steps.is-unit {gap:0;}
.chem-qty-steps.is-unit li:not(:last-child) {margin-bottom:30px;}
.chem-qty-steps.is-unit li:not(:last-child)::after {content:""; position:absolute; left:50%; bottom:-25px; width:16px; height:18px; background:url("/images/sub/chem-qty-arrow-d.svg") no-repeat center / contain; transform:translateX(-50%);}
.chem-qty-steps.is-unit li:nth-child(2)::after {transform:translateX(-50%) rotate(180deg);}
.chem-qty-notes {display:flex; flex:1 1 0; flex-direction:column; gap:var(--space-38); min-width:0; padding-top:7%;}
.chem-qty-note {padding:var(--space-24); border-radius:4px; background:#f8f8f8;}


/*************************** 사업실적 ***************************/
.project-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40) var(--space-16); margin-bottom:40px; padding: 40px 0; border-top:2px solid #686868; border-bottom: 1px solid #ddd;}
.project-list .none {grid-column:1 / -1; width:100%; padding:70px 0; margin:0; color:#767676; text-align:center;}
.project-list .link-item {display:flex; flex-direction:column; overflow:hidden; border:1px solid #dfdfdf; border-radius:var(--radius-8); background:#fff;}
.project-list .link-item .thumb {position:relative; width:100%; aspect-ratio:456 / 320; overflow:hidden; background:#eee;}
.project-list .link-item .thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.3s;}
.project-list .link-item .info {display:flex; flex-direction:column; gap:var(--space-20); width:100%; padding:28px 28px 30px;}
.project-list .link-item .info .tit {overflow:hidden; color:#2c2c2c; font-size:var(--font-size-24); font-weight:500; line-height:1.583em; letter-spacing:-.02em; white-space:nowrap; text-overflow:ellipsis;}
.project-list .link-item .info .meta {display:flex; flex-direction:column; gap:8px; width:100%;}
.project-list .link-item .info .meta li {display:flex; align-items:center; width:100%;}
.project-list .link-item .info .meta .label {flex-shrink:0; width:90px; color:#999; font-size:var(--font-size-18); font-weight:500; line-height:1.556em; letter-spacing:-.02em;}
.project-list .link-item .info .meta .val {min-width:0; color:#676767; font-size:var(--font-size-18); font-weight:400; line-height:1.556em; letter-spacing:-.02em;}
.project-list .link-item:hover .thumb img {transform:scale(1.05);}

/* 사업실적 상세 */
.project-head {display:flex; gap:var(--space-60); width:100%; margin-bottom: var(--space-100);}
.project-head .thumb {width: 48%; max-width: 670px; }
.project-head .thumb .img {position:relative; width:100%; aspect-ratio:456 / 320; overflow:hidden; border-radius:var(--radius-8); background:#eee;}
.project-head .thumb img {display:block; width:100%; height:100%; object-fit:cover;}
.project-head .info {display:flex; flex:1 1 0; flex-direction:column; justify-content:space-between; min-width:0; padding-top:var(--space-20);}
.project-head .info .txt {display:flex; flex-direction:column; gap:var(--space-40); width:100%;}
.project-head .info .tit {padding-bottom:var(--space-40); border-bottom:1px solid #eee; color:#2c2c2c; font-size:var(--font-size-36); font-weight:600; line-height:1.39em; letter-spacing:-.02em;}
.project-head .info .meta {display:flex; flex-direction:column; gap:var(--space-16); width:100%;}
.project-head .info .meta li {display:flex; gap:var(--space-20); align-items:flex-start; width:100%;}
.project-head .info .meta .label {flex-shrink:0; width:90px; color:#999; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.02em;}
.project-head .info .meta .val {min-width:0; color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.7em; letter-spacing:-.02em;}
.project-head .btn-list {display:flex; align-items:center; justify-content:center; width:100%; padding:var(--space-20); border-radius:var(--radius-8); background:var(--color-primary); color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; text-align:center;}
.project-btn-wrap {display:flex; align-items:center; justify-content:center; width:100%; margin-top: var(--space-60);}
.project-btn-wrap .btn-list {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-20) var(--space-40); border-radius:var(--radius-8); background:var(--color-primary); color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; letter-spacing:-.02em; text-align:center;}

/*************************** 환경설비 및 설계시공 ***************************/
.facility-img-list {display:flex; gap:var(--space-16); flex-wrap: wrap; width:100%;}
.facility-img-list li {width:calc(33.333% - var(--space-16) / 3 * 2); min-width:0;}
.facility-img-list li .img {position:relative; width:100%; aspect-ratio:456 / 320; overflow:hidden; border-radius:var(--radius-8);}
.facility-img-list li .img img {display:block; width:100%; height:100%; object-fit:cover;}


/*************************** 견적 문의 ***************************/
.inquiry-form {width:100%;}
.inquiry-fields {display:flex; flex-direction:column; gap:var(--space-20); border-top:1px solid #1c1c1c;}
.inquiry-row {display:flex; gap:var(--space-30); width:100%;}
.inquiry-row.cols-2 > .inquiry-item {flex:1 1 0; min-width:0;}
.inquiry-fields > .inquiry-row:first-child {padding-top:var(--space-30);}
.inquiry-item {display:flex; align-items:center; width:100%;}
.inquiry-item label {flex-shrink:0; width:110px; color:#2c2c2c; font-size:var(--font-size-18); font-weight:600; line-height:1.556em; letter-spacing:-.02em;}
.inquiry-item .required {color:var(--color-primary);}
.inquiry-item .input {flex:1 1 0; min-width:0; width:auto; height:60px; padding:0 var(--space-20); border:1px solid #dfdfdf; border-radius:4px; color:#505050; font-size:var(--font-size-16); line-height:1.75em; letter-spacing:-.02em;}
.inquiry-item .input::placeholder {color:#a8a8a8;}
.inquiry-item select.input {background-position:right 20px center; padding-right: 40px;}
.inquiry-item textarea.input {height:320px; padding:var(--space-20); resize:none;}
.inquiry-item .captcha-wrap {height: 60px;}
.inquiry-item .captcha-wrap .input {flex:none; width:140px;}
.inquiry-form .form-agree { align-items:center; margin:var(--space-60) 0 0; padding-top:var(--space-30); border-top:1px solid #eee;}

.inquiry-form .buttons {margin-top:var(--space-60);}
.inquiry-form .inquiry-submit {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-14) var(--space-60); border:0; border-radius:var(--radius-8); background:var(--color-primary); color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.778em; letter-spacing:-.02em; cursor:pointer;}

