@charset "utf-8";

#contArea.wide .contain2 {max-width:1460px;}
#contArea.wide .sub-title {padding-left:0; padding-right:0;}

/* CEO 인사말 */
.greet-visual {overflow:hidden;}
.greet-visual > img {display:block; width:100%; height:480px; object-fit:cover;}
.greet-bar {display:flex;}
.greet-bar-l,
.greet-bar-r {flex:1 1 0; min-width:0; margin:0; padding:34px 40px 80px; color:#fff; letter-spacing:-0.03em;}
.greet-bar-l {background:#00213b; font-size:var(--font-size32); font-weight:700; line-height:1.44em;}
.greet-bar-r {background:#121212; font-size:var(--font-size24); font-weight:500; line-height:1.67em;}
.greet-bar-r em {font-style:normal; color:var(--color-secondary);}
.greet-body {margin-top:100px; padding-top:50px; border-top:3px solid #2c2c2c;}
.greet-body h3 {margin:0 0 40px; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em; color:#2c2c2c;}
.greet-body h3 em {font-style:normal; color:#ef3e39;}
.greet-txt {display:flex; flex-direction:column; gap:30px;}
.greet-txt p {margin:0; font-size:var(--font-size20); font-weight:400; line-height:1.7em; letter-spacing:-0.03em; color:#505050;}
.greet-sign {display:flex; align-items:center; gap:24px; margin:40px 0 0;}
.greet-sign span {font-size:var(--font-size18); font-weight:500; line-height:1.67em; letter-spacing:-0.03em; color:#2c2c2c;}

/* 경영이념 */
.mgmt-vision {padding-bottom:160px;}
.mgmt-banner {position:relative; display:flex; align-items:center; justify-content:center; min-height:472px; padding:120px 40px; border-radius:16px; overflow:hidden; text-align:center; color:#fff;}
.mgmt-banner > img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.mgmt-banner::after {content:""; position:absolute; inset:0; background:rgba(0,0,0,0.4);}
.mgmt-banner-txt {position:relative; z-index:1;}
.mgmt-label {margin:0 0 16px; font-weight:700; line-height:1.5em; letter-spacing:0.2em;}
.mgmt-banner-txt h3 {margin:0 0 16px; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em;}
.mgmt-banner-txt p {margin:0; font-size:var(--font-size20); font-weight:600; line-height:1.7em; letter-spacing:-0.03em; color:#e7e7e7;}
.mgmt-phrase {display:flex; align-items:center; gap:40px; margin:32px 0 0; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.mgmt-phrase i {flex:1 1 auto; height:4px; background:#dfdfdf;}
.mgmt-phrase em {font-style:normal; color:#ef3e39;}
.mgmt-value {position:relative; padding-top:100px; background: url("../images/sub/sub1-2-ban.jpg") right top no-repeat; background-size:100% auto;}
.mgmt-value h3 {margin:0; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#fff;}
.mgmt-cards {display:flex; align-items:flex-end; gap:24px; margin-top:90px;}
.mgmt-card {position:relative; display:flex; flex:1 1 0; min-width:0; align-items:flex-end; height:520px; padding:40px; border-radius:16px; overflow:hidden;}
.mgmt-card:nth-child(2) {margin-bottom:48px;}
.mgmt-card > img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.mgmt-card::after {content:""; position:absolute; inset:0; background:linear-gradient(191deg, rgba(0,0,0,0) 28%, rgba(0,0,0,0.88) 99%);}
.mgmt-card-txt {position:relative; z-index:1;}
.mgmt-card-txt h4 {margin:0 0 16px; font-size:var(--font-size28); font-weight:700; line-height:1.5em; letter-spacing:-0.03em; color:#fff;}
.mgmt-card-txt p {margin:0; font-size:var(--font-size18); font-weight:600; line-height:1.67em; letter-spacing:-0.03em; color:rgba(255,255,255,0.7);}

/* 회사연혁 */
.his {display:flex; flex-direction:column; gap:120px;}
.his-group {position:relative; display:flex; align-items:stretch;}
.his-rail {position:absolute; left:50%; top:0; bottom:0; z-index:2; width:2px; margin-left:-1px; pointer-events:none;}
.his-line {position:absolute; left:0; top:0; bottom:0; width:2px; background:#eee;}
.his-fill {position:absolute; left:0; top:0; width:2px; height:0; background:linear-gradient(#f8d4d3, #ef3e39);}
.his-on {position:absolute; left:0; top:0; width:2px; height:0; background:linear-gradient(#eee, #ef3e39);}
.his-on::after {content:""; position:absolute; left:50%; top:41px; width:24px; height:24px; border:6px solid #fae4e3; border-radius:50%; background:#ef3e39; transform:translateX(-50%);}
.his-photo {display:flex; flex:1 1 0; min-width:0; flex-direction:column; gap:32px; padding-right:min(220px, 16%);}
.his-img {aspect-ratio:1 / 1; border-radius:16px; overflow:hidden;}
.his-img img {width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.his-photo p {margin:0; font-size:var(--font-size40); font-weight:600; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.his-list {display:flex; flex:1 1 0; min-width:0; flex-direction:column; gap:100px; margin:0; padding:24px 0 0 min(80px, 6%); list-style:none;}
.his-list li strong {display:block; margin-bottom:16px; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em; color:#a8a8a8;}
.his-list li p {margin:0; font-size:var(--font-size20); font-weight:400; line-height:1.7em; letter-spacing:-0.03em; color:#505050;}
.his-list li p + p {margin-top:8px;}
.his-list li.is-on strong {color:#00213b;}
.his-list li.is-on p {color:#2c2c2c;}

/* 조직도 */
.org-chart {padding-bottom:160px;}
.org-top {display:flex; justify-content:center;}
.org-top p {display:flex; align-items:center; justify-content:center; width:220px; height:220px; margin:0; border-radius:50%; background:#00213b; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em; color:#fff;}
.org-line {width:1px; height:40px; margin:0 auto; border-left:1px dashed #a8a8a8;}
.org-cols {position:relative; display:flex; justify-content:center; gap:80px; padding-top:50px;}
.org-cols::before {content:""; position:absolute; left:30.9%; right:30.8%; top:0; height:1px; border-top:1px dashed #a8a8a8;}
.org-box {position:relative; flex:1 1 0; min-width:0; max-width:460px; padding:40px; border-radius:24px;}
.org-box::before {content:""; position:absolute; left:50%; top:-50px; width:0; height:50px; border-left:1px dashed #a8a8a8;}
.org-box-hd {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:30px;}
.org-box-hd strong {font-size:var(--font-size26); font-weight:600; line-height:1.54em; letter-spacing:-0.03em;}
.org-box-hd span {font-size:var(--font-size26); font-weight:600; line-height:1.54em; letter-spacing:-0.03em; color:#a8a8a8;}
.org-box ul {display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none;}
.org-box li {position:relative; padding-left:16px; font-size:var(--font-size18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#2c2c2c;}
.org-box li::before {content:""; position:absolute; left:0; top:12px; width:6px; height:6px; border-radius:50%;}
.org-hq {background:#fff8f8;}
.org-hq .org-box-hd strong {color:var(--color-secondary);}
.org-hq li::before {background:var(--color-secondary);}
.org-sub {background:#f5f9fb;}
.org-sub .org-box-hd strong {color:#66859d;}
.org-sub li::before {background:#66859d;}
.org-sites {padding:100px 0 160px; background:linear-gradient(#f6f6f6, rgba(246,246,246,0));}
.org-sites-hd {margin-bottom:60px;}
.org-sites-hd h3 {margin:0 0 16px; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.org-sites-hd p {margin:0; font-size:var(--font-size20); font-weight:400; line-height:1.7em; letter-spacing:-0.03em; color:#505050;}
.org-maps {display:flex; gap:8px;}
.org-map {position:relative; flex:1 1 0; min-width:0; padding:0 15px; border:1px solid #dfdfdf; background:#fff; overflow:hidden; height: 710px; display: flex; align-items: center; justify-content: center; }
.org-map h4 {position:absolute; left:-1px; top:-1px; z-index:2; margin:0; padding:12px 24px; font-size:var(--font-size20); font-weight:700; line-height:1.7em; letter-spacing:-0.03em; color:#fff;}
.org-map:first-child h4 {background:var(--color-secondary);}
.org-map:last-child h4 {background:#66859d;}
.org-map-fig {position:relative; }

/* 인증 및 특허 */
.subtab {margin-bottom:60px;}
.subtab ul {display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none;}
.subtab a {display:inline-flex; align-items:center; gap:10px; height:54px; padding:0 16px 0 24px; border:1px solid #eee; border-radius:500px; background:#fff; font-size:var(--font-size18); font-weight:600; line-height:1.67em; letter-spacing:-0.03em; color:#505050;}
.subtab a::after {content:""; width:24px; height:24px; border:1px solid #dfdfdf; border-radius:50%; background:#fff;}
.subtab li.active a {border-color:#00213b; background:#00213b; color:#fff;}
.subtab li.active a::after {border-color:#fff; background:#fff url("../images/sub/chk-ico.png") center no-repeat; background-size:12px;}
.patent-list ul {display:flex; flex-wrap:wrap; gap:100px 48px; margin:0; padding:0; list-style:none;}
.patent-list li {flex:0 0 calc(25% - 36px); width:calc(25% - 36px);}
.patent-list .thumb { border:1px solid #eee; overflow:hidden; background:#f8f8f8; padding-bottom: 140%; position: relative; }
.patent-list .thumb img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.patent-list .cate {margin-top:30px; font-weight:500; line-height:1.5em; letter-spacing:-0.03em; color:var(--color-secondary);}
.patent-list .tit {margin-top:8px; font-size:var(--font-size24); font-weight:700; line-height:1.67em; letter-spacing:-0.03em; color:#2c2c2c;}
.patent-list .date {margin-top:12px; font-weight:400; line-height:1.5em; letter-spacing:-0.03em; color:#676767;}

/* 찾아오시는 길 */
.loc-item + .loc-item {margin-top:100px;}
.loc-map iframe { width: 100%; height: 560px; }
.loc-info {margin-top:48px;}
.loc-info-hd {display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:40px; padding-bottom:30px; border-bottom:2px solid #2c2c2c;}
.loc-info-hd h3 {margin:0; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em; color:#2c2c2c;}
.loc-info-hd h3 em {font-style:normal; color:#ef3e39;}
.loc-btns {display:flex; flex-wrap:wrap; gap:10px;}
.loc-btns a {display:inline-flex; align-items:center; gap:10px; height:64px; padding:0 24px 0 16px; border:1px solid #eee; border-radius:500px; background:#fff; font-size:var(--font-size18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#2c2c2c;}
.loc-btns .icon {display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#f1f1f1;}
.loc-btns .icon img {width:16px; height:16px; object-fit:contain;}
.loc-info dl {margin:0;}
.loc-info dl div {display:flex; align-items:center; gap:60px; font-size:var(--font-size20); line-height:1.7em; letter-spacing:-0.03em;}
.loc-info dl div + div {margin-top:20px;}
.loc-info dt {flex:0 0 34px; font-weight:500; color:#2c2c2c;}
.loc-info dd {margin:0; font-weight:400; color:#505050;}
[lang="en"] .loc-info dt { flex:0 0 70px; }
[lang="cn"] .loc-info dt { flex:0 0 50px; }
[lang="ja"] .loc-info dt { flex:0 0 50px; }

/* 핵심역량 · 품질관리 */
.tech-feat-wrap {padding-bottom:160px;}
.tech-feat {display:flex; align-items:center;}
.tech-feat + .tech-feat {margin-top:100px;}
.tech-feat:nth-child(even) {flex-direction:row-reverse;}
.tech-feat-img {flex:1 1 0; min-width:0;}
.tech-feat-img .thumb {position:relative; display:block; overflow:hidden; padding-bottom:50%;}
.tech-feat-img .thumb img {position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.tech-feat-txt {flex:0 0 560px; width:560px; padding-left:80px;}
.tech-feat:nth-child(even) .tech-feat-txt {padding-left:0; padding-right:80px;}
.tech-feat-en {display:flex; align-items:center; gap:16px; margin:0 0 24px; font-size:var(--font-size18); font-style:italic; font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#878787;}
.tech-feat-en span {display:flex; align-items:center; justify-content:center; width:28px; height:28px; background:var(--color-secondary); font-family:Pretendard, sans-serif; font-size:14px; font-style:normal; font-weight:700; line-height:1.14em; letter-spacing:-0.03em; color:#fff;}
.tech-feat-txt h3 {margin:0 0 34px; font-size:var(--font-size36); font-weight:700; line-height:1.39em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-feat-body {display:flex; flex-direction:column; gap:24px;}
.tech-feat-body p {margin:0; font-size:var(--font-size18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#505050;}
.tech-cap {padding-bottom:160px;}
.tech-cap.pd { padding-bottom: 0 !important;}
.tech-cap h3 {margin:0 0 40px; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-cap h3 em {font-style:normal; color:#ef3e39;}
.tech-cap-item {display:flex; align-items:center; gap:40px; padding:40px; border-top:1px solid #dfdfdf;}
.tech-cap-item:first-of-type {border-top:2px solid #2c2c2c;}
.tech-cap-item:last-of-type {border-bottom:1px solid #dfdfdf;}
.tech-cap-txt {display:flex; flex:1 1 0; min-width:0; flex-direction:column; justify-content:center;}
.tech-cap-txt .tech-cap-tit {display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:0 0 34px; font-size:var(--font-size36); font-weight:700; line-height:1.39em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-cap-txt .tech-cap-tit span {font-size:var(--font-size18); font-weight:400; font-style:italic; line-height:1.67em; letter-spacing:-0.03em; color:#00213b;}
.tech-cap-txt > p:not(.tech-cap-tit) {margin:0; font-size:var(--font-size18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#505050;}
.tech-cap-txt > p:not(.tech-cap-tit) + p {margin-top:24px;}
.tech-cap-img {flex:0 0 480px; width:480px;}
.tech-cap-img .thumb {position:relative; display:block; overflow:hidden; border-radius:16px; padding-bottom:62.5%;}
.tech-cap-img .thumb img {position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:center bottom;}
.tech-cmp {padding:100px 0 140px; background:#f6f6f6;}
.tech-cmp-hd {margin-bottom:60px;}
.tech-cmp-hd h3 {margin:0 0 16px; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-cmp-hd h3 span {color:#a8a8a8;}
.tech-cmp-hd p {margin:0; font-size:var(--font-size20); font-weight:400; line-height:1.7em; letter-spacing:-0.03em; color:#505050;}
.tech-cmp-box {padding-top:40px; border-top:1px solid #ccc;}
.tech-cmp-box + .tech-cmp-box {margin-top:60px;}
.tech-cmp-top {display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px;}
.tech-cmp-top > p {margin:0; font-size:var(--font-size32); font-weight:700; line-height:1.44em; letter-spacing:-0.03em; color:#a8a8a8;}
.tech-cmp-ftl .tech-cmp-top > p {color:var(--color-secondary);}
.tech-tags {display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin:0; padding:0; list-style:none;}
.tech-tags li {display:inline-flex; align-items:center; gap:4px; padding:10px 16px; border:1px solid #dfdfdf; border-radius:500px; background:#fff; font-weight:600; line-height:1.5em; letter-spacing:-0.03em; color:#878787;}
.tech-cmp-ftl .tech-tags li {border-color:var(--color-secondary); color:var(--color-secondary);}
.tech-steps {display:flex; align-items:stretch; margin:0; padding:0; list-style:none;}
.tech-steps li {position:relative; display:flex; flex:1 1 0; min-width:0; flex-direction:column; justify-content:space-between; gap:24px; min-height:154px; padding:24px; background:#fff; border:1px solid #dfdfdf;}
.tech-steps li + li {border-left:none;}
.tech-steps li strong {font-size:var(--font-size22); font-weight:700; line-height:1.45em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-steps li span {font-weight:500; line-height:1.5em; letter-spacing:-0.03em; color:#ccc;}
.tech-steps li::after {content:""; position:absolute; left:-18px; top:50%; z-index:1; width:36px; height:36px; border:1px solid #dfdfdf; border-radius:50%; background:#fff url("../images/sub/sub3-1-arrow.png") center no-repeat; background-size:12px; transform:translateY(-50%);}
.tech-steps li:first-child::after {display:none;}
.tech-cmp-other .tech-steps li strong {color:#878787;}
.tech-steps li.is-end {background:#00213b; border-color:#00213b;}
.tech-steps li.is-end strong,
.tech-steps li.is-end span {color:#fff;}
.tech-cmp-ftl .tech-steps li.is-end {background:var(--color-secondary); border-color:var(--color-secondary);}
.tech-effect {padding:120px 0 160px;}
.tech-effect-hd {margin-bottom:60px;}
.tech-effect-hd h3 {margin:0 0 16px; font-size:var(--font-size40); font-weight:700; line-height:1.35em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-effect-hd h3 em {font-style:normal; color:#ef3e39;}
.tech-effect-hd p {margin:0; font-size:var(--font-size20); font-weight:400; line-height:1.7em; letter-spacing:-0.03em; color:#505050;}
.tech-effect-list {display:flex; flex-wrap:wrap; gap:24px; margin:0; padding:0; list-style:none;}
.tech-effect-list li {flex:0 0 calc(33.333% - 16px); width:calc(33.333% - 16px); padding:40px; border:1px solid #eee; border-radius:12px; background:#fff;}
.tech-effect-list .icon {margin-bottom:24px;}
.tech-effect-list h4 {margin:0 0 30px; font-size:var(--font-size24); font-weight:700; line-height:1.67em; letter-spacing:-0.03em; color:#2c2c2c;}
.tech-effect-list p {margin:0; font-size:var(--font-size18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; color:#505050;}