@charset "utf-8";

/* CEO 인사말 */
.greetings-con { display: flex; align-items: center; gap: 80px; }
.greetings-con .img { flex: 0 0 700px; width: 700px; height: 476px; border-radius: 40px 120px 40px 120px; overflow: hidden; }
.greetings-con .img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.greetings-con .txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 48px; }
.greetings-con .lead { font-size: var(--font-size36); font-weight: 700; line-height: 1.33em; }
.greetings-con .lead .line1 { display: block; color: #242424; }
.greetings-con .lead .line2 { display: block; background: linear-gradient(90deg, #004098 0%, #00a3e4 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.greetings-con .desc { display: flex; flex-direction: column; gap: 18px; }
.greetings-con .quote { display: block; font-size: var(--font-size20); font-weight: 600; line-height: 1.5em; color: #242424; }
.greetings-con .desc p { font-size: var(--font-size18); line-height: 1.55em; color: #454545; }
.greetings-con .chk-list { display: flex; flex-direction: column; gap: 6px; }
.greetings-con .chk-list li { position: relative; padding-left: 28px; font-size: var(--font-size18); line-height: 1.55em; color: #454545; }
.greetings-con .chk-list li::before { content: ""; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; background: url(../images/sub/sub1-1-chk.png) center / contain no-repeat; }
.greetings-con .ceo { display: flex; align-items: center; gap: 12px; }
.greetings-con .ceo .role { font-weight: 600; line-height: 1.75em; color: #242424; }

/* 찾아오시는 길 */
.location-con { display: flex; flex-direction: column; gap: 48px; }
.location-con .map .root_daum_roughmap,
.location-con .map .root_daum_roughmap .wrap_map { width: 100% !important; height: 500px !important; }
.location-info { display: flex; justify-content: space-between; gap: 24px; }
.location-info li { flex: 1 1 0; min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 30px; border: 1px solid #ddd; border-radius: 16px; background: #fff; }
.location-info .txt { flex: 1 1 auto; min-width: 0; }
.location-info .tt { display: block; margin-bottom: 20px; font-size: var(--font-size20); font-weight: 600; line-height: 1.4em; letter-spacing: -0.02em; color: #242424; }
.location-info p { line-height: 1.5em; letter-spacing: -0.02em; color: #454545; }
.location-info .icon { flex: 0 0 50px; width: 50px; height: 50px; }
.location-info .icon img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* 제품소개 - 공통탭 */
.sub2-tab { display: flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; margin: 0 auto 64px; padding: 8px; border: 1px solid #ddd; border-radius: 500px; background: #fff; }
.sub2-tab li a { display: flex; align-items: center; justify-content: center; min-width: 140px; padding: 11px 40px; border-radius: 80px; font-weight: 600; line-height: 1.62em; color: #bebebe; transition: .2s; }
.sub2-tab li.active a,
.sub2-tab li a:hover { background: var(--color-primary); color: #fff; }

/* KCC 특장점 */
.sub2-feature { display: flex; flex-direction: column; gap: 64px; }
.feature-intro { max-width: 1200px; margin: 0 auto; text-align: center; }
.feature-intro .tit { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 18px; font-size: var(--font-size24); font-weight: 600; line-height: 1.33em; color: #242424; }
.feature-intro .tit strong { font-weight: 700; color: var(--color-primary); }
.feature-intro .quote { display: inline-block; width: 32px; height: 32px; background: url(../images/sub/dom-right.png) center / contain no-repeat; }
.feature-intro .quote.left { transform: rotate(180deg); }
.feature-intro .txt { font-size: 14px; line-height: 1.57em; color: #454545; }
.feature-list li { display: flex; align-items: center; }
.feature-list li:nth-child(even) { flex-direction: row-reverse; }
.feature-list .img { flex: 0 0 50%; width: 50%; height: 460px; overflow: hidden; }
.feature-list .img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.feature-list .txt { flex: 0 0 50%; width: 50%; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 53px 0 53px 80px; box-sizing: border-box; }
.feature-list .num { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 28px; border-radius: 100px; background: var(--color-secondary); font-weight: 700; line-height: 1.75em; color: #fff; }
.feature-list .tt { font-size: var(--font-size28); font-weight: 600; line-height: 1.28em; color: #242424; }
.feature-list .desc { line-height: 1.75em; color: #454545; }
.part-diagram { overflow: auto; margin-top: 64px; text-align: center; }

/* 제품 리스트 */
.product-list { padding-bottom: 40px; }
.product-list ul { display: flex; flex-wrap: wrap; gap: 64px 24px; }
.product-list ul li { width: calc(100%/3 - 16px); text-align: center; }
.product-list ul li a { display: block; }
.product-list ul li .thumb { position: relative; padding-bottom: 69%; display: block; overflow: hidden; margin-bottom: 24px; }
.product-list ul li .thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.product-list ul li .tit { font-size: var(--font-size20); font-weight: 600; line-height: 1.5em; color: #242424; }

/* 제품상세 */
.product-summary { display: flex; align-items: flex-start; margin-bottom: 100px; }
.product-summary .image { flex: 0 0 700px; width: 700px; max-width: 48%; }
.product-summary .image .thumb { position: relative; padding-bottom: 64.5%; display: block; overflow: hidden; }
.product-summary .image img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.product-summary .info { flex: 1 1 auto; min-width: 0; padding-left: 100px; box-sizing: border-box; }
.product-summary .tit { margin-bottom: 24px; font-size: var(--font-size40); font-weight: 600; line-height: 1.2em; letter-spacing: -0.02em; color: #242424; }
.product-summary .desc { font-size: var(--font-size18); line-height: 1.66em; color: #686868; }
.product-summary .spec { width: 100%; max-width: 637px; margin-top: 48px; }
.product-summary .spec .row { display: flex; align-items: center; padding: 18px 0; border-top: 1px solid #ddd; }
.product-summary .spec .row:first-child { border-top-color: #242424; align-items: center; }
.product-summary .spec .row:last-child { border-bottom: 1px solid #ddd; }
.product-summary .spec dt { flex: 0 0 100px; width: 100px; padding: 0 10px; box-sizing: border-box; font-size: var(--font-size18); font-weight: 500; line-height: 1.44em; color: #242424; }
.product-summary .spec dd { flex: 1 1 auto; min-width: 0; line-height: 2.5em; color: #454545; }
.product-summary .spec .row:first-child dd { line-height: 2.5em; }
.product-summary .spec ul li { position: relative; padding-left: 12px; line-height: 2em; color: #454545; }
.product-summary .spec ul li::before { content: "•"; position: absolute; left: 0; top: -2px; }

.product-sec-head { position: relative; margin-bottom: 32px; border-bottom: 1px solid #ddd; }
.product-sec-tit { display: inline-block; margin-bottom: -1px; padding-bottom: 24px; border-bottom: 1px solid var(--color-primary); font-size: var(--font-size24); font-weight: 600; line-height: 1.33em; letter-spacing: -0.03em; color: #1d1d1d; }

.product-glass { margin-bottom: 100px; }
.product-glass .table-wrap { width: 100%; overflow-x: auto; border-top: 1px solid #242424; }
.product-glass table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.product-glass thead th { height: 64px; padding: 10px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #f8f8f8; font-size: var(--font-size18); font-weight: 600; line-height: 1.5em; color: #242424; text-align: center; }
.product-glass thead th:first-child { width: 22.22%; }
.product-glass thead th:not(:first-child) { width: 11.11%; }
.product-glass tbody th,
.product-glass tbody td { height: 64px; padding: 10px; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; font-size: var(--font-size18); line-height: 1.5em; color: #454545; text-align: center; font-weight: 400; }
.product-glass tbody th { border-left: 1px solid #ddd; }
.product-glass thead th:last-child,
.product-glass tbody td:last-child { border-right: 1px solid #ddd; }

.product-draw { display: flex; flex-direction: column; gap: 100px; margin-bottom: 64px; }
.product-draw .img { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 500px; padding: 40px; border: 1px solid #ddd; background: #fff; box-sizing: border-box; }
.product-draw .img img { display: block; max-width: 1000px; width: 100%; height: auto; }

.buttons .btn-list { display: inline-flex; align-items: center; justify-content: center; width: 240px; height: 60px; border-radius: 8px; background: var(--color-primary); font-size: var(--font-size18); font-weight: 600; line-height: 1em; color: #fff; transition: .2s; }
.buttons .btn-list:hover { background: #00307a; }

/* 견적문의 */
.inquiry-form { width: 100%; }
.inquiry-section { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding: 24px 40px; border-bottom: 1px solid #ddd; }
.inquiry-section.bd { border-top: 1px solid #242424; }
.inquiry-section .sec-tit { flex: 1 1 auto; min-width: 0; align-self: center; font-size: var(--font-size32); font-weight: 600; line-height: 1.25em; letter-spacing: -0.03em; color: #242424; }
.inquiry-section .sec-body { flex: 0 1 1000px; width: 100%; max-width: 1000px; display: flex; flex-direction: column; gap: 20px; }
.inquiry-section .field { display: flex; align-items: center; width: 100%; }
.inquiry-section .field.top { align-items: flex-start; }
.inquiry-section .label { flex: 0 0 180px; width: 180px; padding: 21px 0; font-size: var(--font-size18); font-weight: 600; line-height: 1em; color: #242424; box-sizing: border-box; }
.inquiry-section .label i { font-style: normal; color: var(--color-third); }
.inquiry-section .ctrl { flex: 1 1 auto; min-width: 0; }
.inquiry-section .radios { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; }
.inquiry-section .radiobox label { color: #454545; line-height: 1em; }
.inquiry-section .input { width: 100%; height: 60px; padding: 0 20px; border: 1px solid #ddd; border-radius: 8px; background: #fff; font-weight: 500; line-height: 1.5em; color: #242424; box-sizing: border-box; }
.inquiry-section .input::placeholder { color: #bebebe; font-weight: 500; }
.inquiry-section textarea.input.memo { height: 260px; padding: 18px 20px; resize: none; }
.inquiry-section .addr { display: flex; flex-direction: column; gap: 8px; }
.inquiry-section .zip { display: flex; align-items: center; gap: 10px; }
.inquiry-section .zip .input { width: 160px; flex: 0 0 160px; }
.inquiry-section .file { display: flex; align-items: center; gap: 10px; }
.inquiry-section .file .input { flex: 1 1 auto; min-width: 0; }
.inquiry-section .captcha { display: flex; align-items: center; gap: 10px; }
.inquiry-section .captcha img { height: 62px; border-radius: 8px; object-fit: cover; cursor: pointer; }
.inquiry-section .btn-black { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 100px; width: 100px; height: 60px; border: 0; border-radius: 8px; background: #000; font-weight: 500; line-height: 1.5em; color: #fff; cursor: pointer; transition: .2s; }
.inquiry-section .btn-black:hover { background: #333; }
.inquiry-section label.btn-black { margin: 0; }

.inquiry-agree { margin-top: 24px; border: 1px solid #ddd; border-radius: 8px; background: #f8f8f8; transition: background .3s ease; }
.inquiry-agree.is-open { background: #fff; }
.inquiry-agree .agree-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 18px 24px; cursor: pointer; transition: padding .3s ease; padding-top: 21px; }
.inquiry-agree.is-open .agree-head { padding: 24px; }
.inquiry-agree .checkbox label { font-size: var(--font-size20); font-weight: 500; line-height: 1.4em; color: #242424; }
.inquiry-agree .checkbox label:before { width: 24px; height: 24px; margin-right: 12px; border-radius: 4px; background-color: #fff; border-color: #ddd; }
.inquiry-agree .checkbox input:checked + label:before { background-color: var(--color-primary); border-color: var(--color-primary); }
.inquiry-agree .agree-toggle { flex: 0 0 28px; width: 28px; height: 28px; border: 0; background: url(../images/sub/chevron-down.png) center / contain no-repeat; cursor: pointer; transition: transform .3s ease; }
.inquiry-agree.is-open .agree-toggle { transform: rotate(180deg); }
.inquiry-agree .agree-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.inquiry-agree.is-open .agree-panel { grid-template-rows: 1fr; }
.inquiry-agree .agree-body { overflow: hidden; min-height: 0; margin: 0 24px; padding: 0 20px; border-radius: 4px; background: #f8f8f8; line-height: 1.5em; color: #686868; opacity: 0; transition: opacity .25s ease, padding .35s ease, margin .35s ease; }
.inquiry-agree.is-open .agree-body { margin: 0 24px 24px; padding: 18px 20px; opacity: 1; }

.inquiry-form .buttons { margin-top: 48px; }
.inquiry-form .btn-submit { display: inline-flex; align-items: center; justify-content: center; width: 240px; height: 60px; border: 0; border-radius: 8px; background: var(--color-primary); font-size: var(--font-size18); font-weight: 600; line-height: 1em; color: #fff; cursor: pointer; transition: .2s; }
.inquiry-form .btn-submit:hover { background: #00307a; }