@charset "utf-8";

/* 공통 */
.text-indent {text-indent: -9999px;}

/*************************** 회사소개 ***************************/
/* 인사말 */
.greeting-section .contain {display:flex; align-items:center; justify-content:space-between; gap:var(--space-30); margin-bottom:var(--space-50);}
.greeting-img {width: 43%; max-width:601px; overflow:hidden; border-radius:64px 0 64px 0;}
.greeting-txt {flex: 1; display:flex; flex-direction:column; gap:var(--space-32); flex-shrink:0; max-width:720px;}
.greeting-head {display:flex; flex-direction:column; gap:8px;}
.greeting-lead {color:#454545; font-size:var(--font-size-20); font-weight:600; line-height:1.4em;}
.greeting-tit {color:#242424; font-size:var(--font-size-36); font-weight:700; line-height:1.22em;}
.greeting-tit .point {background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-sub) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.greeting-body {display:flex; flex-direction:column; gap:var(--space-16);}
.greeting-body p {color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.67em;}
.greeting-body strong {color:#242424; font-weight:600;}
.greeting-sign {display:flex; align-items:center; gap:8px; color:#242424; font-size:var(--font-size-20); font-weight:600; line-height:1.3em;}
.real-cont.pb0 .logo-banner {width:100%;}

/* 비전 및 경영이념 */
.vision-section {display:flex; flex-direction:column; align-items:center; gap:var(--space-60);}
.vision-top-tit {margin-top: var(--space-85); font-size:var(--font-size-40); font-weight:600; line-height:1.2em; text-align:center;}
.vision-slogan {display:flex; align-items:center; justify-content:center; gap:var(--space-16); color:#242424; font-size:var(--font-size-24); font-weight:500; line-height:1.33em; text-align:center;}
.vision-slogan:before,
.vision-slogan:after {content:""; flex-shrink:0; width:32px; height:32px; background:no-repeat center / contain;}
.vision-slogan:before {background-image:url("/images/sub/icon-vision-quote-l.svg");}
.vision-slogan:after {background-image:url("/images/sub/icon-vision-quote-r.svg");}
.vision-slogan strong {color:var(--color-primary); font-weight:700;}
.vision-list {display:flex; gap:var(--space-30); width:100%; flex-wrap: wrap;}
.vision-item {display:flex; flex-direction:column; width: calc(25% - var(--space-30) / 4 * 3); min-width:0; overflow:hidden; border-radius:var(--radius-16); background:#fff; box-shadow:0 0 8px rgba(0, 0, 0, 0.12);}
.vision-img {width: 100%; aspect-ratio: 329/260;}
.vision-img img {display:block; width:100%; height:100%; object-fit:cover;}
.vision-tit {position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; padding:var(--space-32) var(--space-24) var(--space-24); text-align:center;}
.vision-tit:before {content:""; position:absolute; top:-20px; left:50%; width:40px; height:40px; border:5px solid rgba(0, 82, 164, 0.16); border-radius:50px; background:#fff url("/images/sub/icon-vision-check.svg") no-repeat center / 16px; transform:translateX(-50%);}
.vision-tit strong {color:#242424; font-size:var(--font-size-20); font-weight:600; line-height:1.5em;}
.vision-en {color:#bebebe; font-size:var(--font-size-14); font-weight:500; line-height:1.57em;}

/* 연혁 */
.history-section {display:flex; justify-content:center;}
.history-list {position:relative; width:100%; display:flex; flex-direction:column; gap:var(--space-80); margin:0; padding:0; list-style:none;}
.history-list:before {content:""; position:absolute; left:50%; top:30px; bottom:0; width:1px; background:linear-gradient(180deg, #008DCF 0%, #BAD532 81.25%, rgba(221, 221, 221, 0) 100%); transform:translateX(-50%);}
.history-item {display:flex; align-items:flex-start; justify-content:space-between; width:100%;}
.history-year {width: 50%; margin:0; padding-right: 103px; color:#111; font-size:40px; font-weight:700; line-height:1.2em; text-align:right;}
.history-body {position:relative; width: 50%; padding-left: 93px;}
.history-dot {position:absolute; left:-10px; top:14px; z-index:1; width:20px; height:20px; border-radius:50%; background:radial-gradient(circle, #fff 0 4px, transparent 4.5px), linear-gradient(180deg, var(--color-primary) 0%, var(--color-sub) 100%);}
.history-dot:before {content:""; position:absolute; left:28px; top:9px; width:58px; height:0; border-top:1px dashed #ccc;}
.history-txt {display:flex; align-items:center; gap:10px; padding:12px 0; color:#454545;}
.history-txt .month {flex-shrink:0; font-size:18px; font-weight:600; line-height:1.5em;}
.history-txt .desc {margin:0; font-size:16px; font-weight:400; line-height:1.5em;}
.history-item.is-multi .history-body {display:flex; flex-direction:column;}

/*************************** 사업소개 ***************************/
/* 공통 — 소개 카드 · 공정도 */
.biz-intro {margin-bottom:var(--space-100);}
.biz-intro-card {display:flex; align-items:center; gap:var(--space-60); overflow:hidden; border:1px solid rgba(0, 82, 164, 0.4); border-radius:var(--radius-20);}
.biz-intro-card.theme-sub {border-color:rgba(44, 189, 183, 0.4);}
.biz-intro-card.theme-point {border-color:rgba(186, 213, 50, 0.4);}
.biz-intro-img {flex-shrink:0; width:40%; max-width:553px; overflow:hidden; border-radius:var(--radius-20);}
.biz-intro-img img {display:block; width:100%; height:100%; object-fit:cover;}
.biz-intro-txt {display:flex; flex:1; flex-direction:column; gap:var(--space-24); min-width:0; padding:var(--space-20) var(--space-40) var(--space-20) 0;}
.biz-intro-txt h3 {margin:0; color:#242424; font-size:var(--font-size-32); font-weight:600; line-height:1.25em;}
.biz-intro-txt h3 strong {color:var(--color-primary); font-weight:600;}
.biz-intro-card.theme-sub h3 strong {color:var(--color-sub);}
.biz-intro-card.theme-point h3 strong {color:#BAD532;}
.biz-intro-body {display:flex; flex-direction:column; gap:var(--space-16);}
.biz-intro-body p {margin:0; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.78em;}
.biz-process {width:100vw; margin-left:calc(50% - 50vw); padding:var(--space-100) 0 var(--space-150); background:#f8f8f8;}
.biz-process-tit {margin:0 0 var(--space-80); color:#242424; font-size:var(--font-size-40); font-weight:600; line-height:1.2em; text-align:center;}
.biz-process-box { padding:var(--space-80); border:1px solid #ddd; border-radius:var(--radius-16); background:#fff;}
.biz-process-box img {display:block; width:100%; height:auto;}
.biz-flow {display:flex; flex-direction:column; align-items:center; width:100%; max-width:300px; margin:0 auto; padding:0; list-style:none;}
.biz-flow li {position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:84px; padding:var(--space-20) var(--space-24); border:1px solid rgba(0, 82, 164, 0.4); border-radius:50px; background:rgba(0, 82, 164, 0.02); color:var(--color-primary); font-size:var(--font-size-20); font-weight:600; line-height:1.5em; text-align:center; box-sizing:border-box;}
.biz-flow li + li {margin-top:var(--space-48);}
.biz-flow li + li:before {content:""; position:absolute; left:50%; bottom:100%; width:11px; height:var(--space-48); background:url("/images/sub/biz-flow-arrow.svg") no-repeat center / contain; transform:translateX(-50%);}
.biz-flow li.is-fill {border-color:transparent; background:var(--color-primary); color:#fff;}
.biz-flow li.is-gradient {border-color:transparent; background:linear-gradient(180deg, var(--color-primary) 0%, var(--color-sub) 100%); color:#fff;}
.biz-flow.theme-sub li {border-color:rgba(44, 189, 183, 0.4); background:rgba(44, 189, 183, 0.08); color:var(--color-sub);}
.biz-flow.theme-sub li.is-fill {border-color:transparent; background:var(--color-sub); color:#fff;}
.biz-flow.theme-sub li.is-gradient {border-color:transparent; background:linear-gradient(180deg, var(--color-sub) 0%, var(--color-primary) 100%); color:#fff;}

.fuel-spec-table {overflow:hidden; border:1px solid #ddd; border-radius:var(--radius-16);}
.fuel-spec-table table {width:100%; border-collapse:collapse; border-spacing:0;}
.fuel-spec-table col:nth-child(1),
.fuel-spec-table col:nth-child(2) {width:16.66%;}
.fuel-spec-table col:nth-child(3),
.fuel-spec-table col:nth-child(4) {width:33.34%;}
.fuel-spec-table thead th {padding: var(--space-22) var(--space-16); border-right:1px solid #ddd; background:#BAD532; color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.3em; text-align:center; vertical-align:middle;}
.fuel-spec-table thead th:last-child {border-right:0;}
.fuel-spec-table tbody th,
.fuel-spec-table tbody td {padding:var(--space-20) var(--space-16); border:1px solid #ddd; background:#fff; font-size:var(--font-size-18); line-height:1.5em; text-align:center; vertical-align:middle;}
.fuel-spec-table tbody th {color:#242424; font-weight:500;}
.fuel-spec-table tbody td {color:#454545; font-weight:400;}
.fuel-spec-table tr th:first-child,
.fuel-spec-table tr td:first-child {border-left:0;}
.fuel-spec-table tr th:last-child,
.fuel-spec-table tr td:last-child {border-right:0;}
.fuel-spec-table tbody th[rowspan],
.fuel-spec-table tbody td[rowspan],
.fuel-spec-table tbody tr:last-child th,
.fuel-spec-table tbody tr:last-child td {border-bottom:0;}
.fuel-spec-note {margin:var(--space-10) 0 0; color:#686868; font-size:var(--font-size-16); font-weight:400; line-height:1.75em; text-align:right;}

/*************************** 보유장비 ***************************/
.equipment-list {display:flex; flex-wrap:wrap; gap:var(--space-60) var(--space-30); margin:0; padding:0; list-style:none;}
.equipment-list li {width:calc((100% - var(--space-30) * 2) / 3);}
.equipment-list li.none {width:100%; padding:70px 0; color:#767676; text-align:center;}
.equipment-list .img {display:flex; align-items:center; justify-content:center; overflow:hidden; aspect-ratio:446/300; border-radius:var(--radius-24);}
.equipment-list .img img {display:block; width:100%; height:100%; object-fit:cover;}
.equipment-list .tit {padding-top:var(--space-30); color:#242424; font-size:var(--font-size-20); font-weight:600; line-height:1.5em; text-align:center;}

/*************************** 인증현황 ***************************/
.certificate-list {display:flex; flex-wrap:wrap; gap:var(--space-60) var(--space-30); margin:0; padding:0; list-style:none;}
.certificate-list li {width:calc((100% - var(--space-30) * 4) / 5);}
.certificate-list li.none {width:100%; padding:70px 0; color:#767676; text-align:center;}
.certificate-list .img {display:flex; align-items:center; justify-content:center; position: relative; aspect-ratio:256/341;}
.certificate-list .img:after {content:""; position:absolute; top:0; left:0; width:100%; height:100%; border: 1px solid rgba(221, 221, 221, 1);}
.certificate-list .img img {display:block; width:100%; height:100%; object-fit:cover;}
.certificate-list .tit {padding-top:var(--space-24); color:#454545; font-size:var(--font-size-16); font-weight:500; line-height:1.5em; text-align:center;}


/*************************** 고객지원 ***************************/
/* 견적문의 */
.board-form {border-top:1px solid #242424;}
.board-form .input {border-radius: 6px;}
.board-form .input::placeholder {color:#bebebe;}
.file-upload {display:flex; gap:8px; width:100%; height:48px;}
.file-button {display:flex; justify-content:center; align-items:center; width:100px; height:100%; padding:0 16px; border:0; background:#454545; font-size:14px; font-weight:600; color:#fff; cursor:pointer; border-radius:6px;}
.file-name {min-width:0; width:100%; display:flex; align-items:center; height:100%; padding:0 var(--space-14); border:1px solid #ddd; color:#505050; font-size:15px; font-weight:500; border-radius:6px; cursor:pointer; box-sizing:border-box;}
.submit-btn {width: 260px; height: 60px; padding:0 40px; font-size:var(--font-size-16); font-weight:700; background:var(--color-primary); color:#fff; border-radius:8px; cursor:pointer; border:0; cursor:pointer;}

/* 오시는 길 */
.location-wrap {display:flex; flex-direction:column; gap:var(--space-150);}
.location-block {display:flex; align-items:center; gap:var(--space-48);}
.location-info {display:flex; flex:1; flex-direction:column; gap:var(--space-40); min-width:0;}
.location-head {display:flex; flex-direction:column; gap:var(--space-12);}
.location-head h3 {margin:0; color:#242424; font-size:var(--font-size-32); font-weight:600; line-height:1.25em;}
.location-head p {margin:0; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.4em;}
.location-contact {display:flex; flex-direction:column; gap:var(--space-16); margin:0; padding:0; list-style:none;}
.location-contact li {display:flex; align-items:center; gap:var(--space-24); width:100%; padding:var(--space-24) var(--space-32); border:1px solid #ddd; border-radius:50px; background:#fff; box-sizing:border-box;}
.location-contact .label {display:inline-flex; align-items:center; gap:10px; flex-shrink:0; color:#242424; font-size:var(--font-size-18); font-weight:600; line-height:1.45em;}
.location-contact .label img {display:block; width:24px; height:24px;}
.location-contact .value {color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1.45em;}
.location-contact .value a {color:inherit;}
.location-map {width: 49%; max-width: 676px; height:374px; overflow:hidden; border:1px solid #ddd; border-radius:var(--radius-24);}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}