@charset "utf-8";

/* 공통 */
.text-indent {text-indent: -9999px;}
.sub-head {width:100%; margin-bottom: var(--space-60); text-align:center;}
.sub-head .en {color:var(--color-primary); font-size:var(--font-size-22); font-weight:600; line-height:1.636em; letter-spacing:-.03em;}
.sub-head .tit {margin-top:var(--space-20); color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.sec-tit {display:flex; align-items:flex-start; gap:8px; margin-bottom: var(--space-32); color:#2c2c2c; font-size:var(--font-size-32); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.sec-tit:before {content:""; flex-shrink:0; width:6px; height:6px; margin-top: 12px;border-radius:50%; background:var(--color-primary);}
.img-box {border:1px solid #ddd; border-radius:var(--radius-16); overflow:hidden; background:#fff;}

/*************************** 회사소개 ***************************/
/* 인사말 */
.greeting-section {padding:0 0 var(--space-140); background:linear-gradient(180deg, #fff 0 35%, #f8f8f8 35% 100%);}
.greeting-section .contain {display: flex; align-items: flex-end; justify-content: space-between; position:relative; z-index:1; gap:var(--space-40);}
.greeting-tt {flex: 1; padding: var(--space-33) 0;}
.greeting-tt .tit {color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.greeting-tt .tit .primary {color:var(--color-primary);}
.greeting-tt .lead {margin-top:var(--space-60); color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; line-height:1.583em; letter-spacing:-.03em;}
.greeting-tt .body {display:flex; flex-direction:column; gap:var(--space-22); margin-top:var(--space-100);}
.greeting-tt .body p {color:#505050; font-size:var(--font-size-20); font-weight:500; line-height:1.6em; letter-spacing:-.03em;}
.greeting-tt .sign {margin-top:var(--space-32); color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; line-height:1.333em; letter-spacing:-.03em;}
.greeting-tt .sign .primary {color:var(--color-primary); font-weight:600;}
.greeting-img {flex-shrink:0; width:40%; max-width:560px; border-radius:var(--radius-16); overflow:hidden;}

/* 회사연혁 */
.history-box {position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40);}
.history-list {position:relative; flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-100); padding-bottom: var(--space-40);}
.history-list:before {content:""; position:absolute; top:20px; bottom:0; left:225px; width:2px; background:#dfdfdf;}
.history-list > li {position:relative; display:flex; align-items:flex-start; gap:227px;}
.history-list > li:before {content:""; position:absolute; top:1px; left:205px; z-index:1; width:42px; height:42px; border-radius:50%; background:var(--color-primary); border:14px solid #fff}
.history-list .year {flex-shrink:0; width:100px; color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1em; letter-spacing:-.03em;}
.history-list .con {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-6);}
.history-list .item {position:relative; padding-left:16px; color:#505050; font-size:var(--font-size-20); font-weight:500; line-height:1.6em; letter-spacing:-.03em;}
.history-list .item:before {content:""; position:absolute; top:13px; left:0; width:6px; height:6px; border-radius:50%; background:#dfdfdf;}
.history-list .detail {color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.666em; letter-spacing:-.03em;}
.history-list .detail li {position:relative; padding-left:12px;}
.history-list .detail li:before {content:"-"; position:absolute; left:0; top:0;}
.history-mark {position:absolute; top:0; right:0; color:#f8f8f8; font-size:clamp(80px, calc(200 / var(--inner) * 100vw), 200px); font-weight:700; line-height:1em; letter-spacing:-.03em; white-space:nowrap; writing-mode: vertical-rl; pointer-events:none; user-select:none; z-index: -1;}

/* 오시는 길 */
.location-map {width:100%; height:560px; margin-bottom: var(--space-60); border-radius:var(--radius-16); overflow:hidden;}
.location-map .root_daum_roughmap,
.location-map .root_daum_roughmap .wrap_map {width:100%; height:100%;}
.location-info .tit {color:#2c2c2c; font-size:var(--font-size-40); font-weight:600; line-height:1.5em; letter-spacing:-.03em;}
.location-info .line {position:relative; width:100%; height:1px; margin: var(--space-40) 0; background:#ddd;}
.location-info .line:before {content:""; position:absolute; left:0; top:0; width:200px; height:1px; background:var(--color-primary);}
.location-info .info-list {display:flex; flex-direction:column; gap:var(--space-20);}
.location-info .info-list li {display:flex; align-items:center; gap:var(--space-16);}
.location-info .info-list .icon {flex-shrink:0; width:24px; height:24px;}
.location-info .info-list p {color:#2c2c2c; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.03em;}

/*************************** 공정서비스 ***************************/
/* MEMS Foundry service */
.mems-body {display:flex; flex-direction:column; gap:var(--space-120);}
.mems-block {display:flex; flex-direction:column; gap:var(--space-32);}
.mems-overview {padding:var(--space-60); border-radius:var(--radius-16); background:#f8fafa;}
.mems-overview .row {display:flex; align-items:center; gap:var(--space-50);}
.mems-overview .row + .row {margin-top:var(--space-24); padding-top:var(--space-24); border-top:1px solid #ddd;}
.mems-overview dt {flex-shrink:0; color:var(--color-primary); font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:-.03em; white-space:nowrap;}
.mems-overview dd {flex:1; min-width:0; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.mems-cards {display:flex; gap:var(--space-40); flex-wrap: wrap; max-width: 1340px;}
.mems-cards > li {display:flex; flex-direction:column; gap:var(--space-32); flex:1; min-width:0; padding:var(--space-40); border:1px solid #ddd; border-radius:var(--radius-16); background:#fff;}
.mems-cards .tit {color:#2c2c2c; font-size:var(--font-size-26); font-weight:600; line-height:1.23em; letter-spacing:-.03em;}
.mems-cards .line {position:relative; width:100%; height:3px;}
.mems-cards .line:before {content:""; position:absolute; left:0; top:1px; width:100%; height:1px; background:#ddd;}
.mems-cards .line:after {content:""; position:absolute; left:0; top:0; width:70px; height:3px; background:var(--color-primary);}
.mems-cards .con {display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; gap:var(--space-14); flex:1;}
.mems-cards .desc {width:100%; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:2em; letter-spacing:-.03em;}
.mems-cards .desc li {position:relative; padding-left:12px;}
.mems-cards .desc li:before {content:"-"; position:absolute; left:0; top:0;}
.mems-cards .icon {display:flex; align-items:center; justify-content:center; width:80px; height:80px; border-radius:var(--radius-8); background:#f8fafa; overflow:hidden;}

/* 공정서비스 */
.pservice-list {display:flex; flex-direction:column;}
.pservice-list > li {display:flex; align-items:center; padding:var(--space-60) var(--space-60) var(--space-60) 0; border-top:1px solid #ddd;}
.pservice-list > li:last-child {padding-bottom: 0;}
.pservice-list .left {display:flex; align-items:center; gap:var(--space-40); flex-wrap: wrap; flex-shrink:0; width: 41%; max-width: 545px;}
.pservice-list .num {flex-shrink:0; width:64px; color:rgba(44,44,44,.2); font-size:var(--font-size-50); font-weight:600; line-height:1em; letter-spacing:-.03em;}
.pservice-list .icon {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:88px; height:88px; border-radius:var(--radius-8); background:#f4f4f4; overflow:hidden;}
.pservice-list .tt {display:flex; flex-direction:column; gap:7px;}
.pservice-list .tt strong {color:#2c2c2c; font-size:var(--font-size-26); font-weight:600; line-height:1.23em; letter-spacing:-.03em;}
.pservice-list .tt .en {color:var(--color-primary); font-size:var(--font-size-16); font-weight:400; line-height:1.625em; letter-spacing:-.03em;}
.pservice-list .con {display:flex; align-items:center; gap:var(--space-60); flex:1; min-width:0;}
.pservice-list .con:before {content:""; flex-shrink:0; width:1px; height:32px; background:#d9d9d9;}
.pservice-list .con p {flex:1; min-width:0; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.3em; letter-spacing:-.03em;}

/* Cu post bump */
.cupost-section {display:flex; flex-direction:column; gap:var(--space-60);}
.cupost-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-32); text-align:center;}
.cupost-head .top {display:flex; flex-direction:column; align-items:center; gap:var(--space-20);}
.cupost-head .logo {width:246px;}
.cupost-head .tit {color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.cupost-head .lead {color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.cupost-head .lead strong {font-weight:600;}
.cupost-imgs {display:flex; flex-direction:column; gap:var(--space-60);}

/* TSV interposer */
.tsv-section .cupost-head {margin-bottom:var(--space-120);}
.tsv-head .logo {width:189px;}
.tsv-pair {display:flex; gap:var(--space-40);}
.tsv-table-area {margin-top:var(--space-80); padding:var(--space-80) 0; background:#f8f9fa;}
.tsv-table {border:1px solid #ddd; border-radius:var(--radius-16); overflow-x:auto; background:#fff;}
.tsv-table table {width:100%; border-collapse:collapse; border-spacing:0;}
.tsv-table .col-no {width:100px;}
.tsv-table .col-spec {width:800px;}
.tsv-table .col-proc {width:500px;}
.tsv-table th {height:64px; padding:0 var(--space-28); background:#111; color:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.666em; letter-spacing:-.03em; text-align:center;}
.tsv-table td {height:72px; padding:0 var(--space-28); border-bottom:1px solid #ddd; color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.666em; letter-spacing:-.03em;}
.tsv-table tbody tr:last-child td {border-bottom:0;}
.tsv-table td:first-child {color:var(--color-primary); font-weight:600; text-align:center;}
.tsv-table tbody tr:nth-child(even) td {background: #F8F9FA;} 
.tsv-flow {padding:var(--space-120) 0 0;}
.tsv-photos {display:flex; gap:var(--space-40);}

/* TGV interposer */
.tgv-section .cupost-head {margin-bottom:var(--space-120);}
.tgv-head .logo {width:201px;}
.tgv-info {padding:var(--space-120) 0; background:#f8f9fa;}
.tgv-info .contain {display:flex; flex-direction:column; gap:var(--space-40);}
.tgv-info-top {display:flex; align-items:flex-start; gap:var(--space-130);}
.tgv-tt {width: 33%; max-width:450px; display:flex; flex-direction:column; gap:var(--space-24);}
.tgv-tt .tit {color:#2c2c2c; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; letter-spacing:-.03em;}
.tgv-tt .tit .primary {color:var(--color-primary);}
.tgv-tt .desc {display:flex; flex-direction:column; gap:0;}
.tgv-tt .desc p {color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.tgv-spec {flex:1; min-width:0;}
.tgv-spec .row {display:flex; align-items:center; gap:var(--space-100); padding: 12px 0; border-bottom:1px solid #ddd;}
.tgv-spec .row.first {border-bottom-color:#000;}
.tgv-spec dt {flex-shrink:0; width:124px; color:#999; font-size:var(--font-size-18); font-weight:400; line-height:1.777em; letter-spacing:-.03em;}
.tgv-spec .row.first dt {color:#505050;}
.tgv-spec dd {flex:1; min-width:0; color:#505050; font-size:var(--font-size-18); font-weight:600; line-height:1.777em; letter-spacing:-.03em;}
.tgv-pair {display:flex; gap:var(--space-40);}
.tgv-apps {padding-top:var(--space-120);}

/* SOI Wafer */
.soi-section > .contain {display:flex; flex-direction:column; gap:var(--space-120); padding-bottom:var(--space-120);}
.soi-flow {display:flex; align-items:stretch; gap:72px; flex-wrap: wrap;}
.soi-flow > li {position:relative; flex:1; min-width:0; padding-top:var(--space-24);}
.soi-flow > li:not(:last-child):after {content:""; position:absolute; top:calc(50% + 12px); right:-48px; width:24px; height:24px; background:url("/images/sub/icon-chevron-right.svg") no-repeat center / contain; transform:translateY(-50%);}
.soi-flow .num {position:absolute; top:0; left:50%; z-index:1; display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background:var(--color-primary); color:#fff; font-size:var(--font-size-20); font-weight:700; line-height:1em; letter-spacing:-.03em; transform:translateX(-50%);}
.soi-flow .card {display:flex; flex-direction:column; gap:var(--space-16); height: 100%; padding:var(--space-44) var(--space-20) var(--space-20);}
.soi-flow .thumb {display:flex; align-items:center; justify-content:center; height:224px;}
.soi-flow .thumb img {max-width:100%; max-height:100%; object-fit:contain;}
.soi-flow .line {width:100%; height:1px; background:#ddd;}
.soi-flow p {color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em; text-align:center;}
.soi-spec-area {padding:var(--space-120) 0 var(--space-140); background:#f8f9fa;}
.soi-table .col-item {width:400px;}
.soi-table .col-spec {width:1000px;}
.soi-table th,
.soi-table td {text-align:center;}
.soi-table td:first-child {color:#505050; font-weight:400;}

/*************************** 보유장비 ***************************/
.equip-tab {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:var(--space-8); margin-bottom:var(--space-60);}
.equip-tab li a {display:inline-flex; align-items:center; justify-content:center; padding:var(--space-16) var(--space-40); border-radius:500px; background:#f1f1f1; color:#878787; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; letter-spacing:-.03em; white-space:nowrap;}
.equip-tab li.active a {background:var(--color-primary); color:#fff;}
.equip-item {display:none}
.equip-item + .equip-item {margin-top:var(--space-60);}
.equip-body {display:flex; align-items:center; gap:var(--space-60); padding:var(--space-50); border:1px solid #ddd; border-radius:var(--radius-32); background:#fff;}
.equip-info {display:flex; flex-direction:column; gap:var(--space-40); flex:1; min-width:0;}
.equip-tit {display:flex; align-items:center; gap:var(--space-20); flex-wrap:wrap; color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.equip-tit .bar {flex-shrink:0; width:2px; height:24px; background:#2c2c2c;}
.equip-rows {display:flex; flex-direction:column; gap:var(--space-32);}
.equip-rows .row {display:flex; align-items:flex-start; gap:var(--space-16);}
.equip-rows .row.row1 {align-items:center;}
.equip-rows .row > p {flex:1; min-width:0; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.equip-rows .label {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:88px; padding:8px var(--space-32); border-radius:var(--radius-8); font-size:var(--font-size-20); font-weight:600; line-height:1.5em; letter-spacing:-.03em; text-align:center;}
.equip-rows .label.use {background:#f5f5f5; color:#2c2c2c;}
.equip-rows .label.spec {background:#edfafa; color:var(--color-primary);}
.equip-rows .spec-list {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-8);}
.equip-rows .spec-list li {position:relative; padding-left:13px; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.equip-rows .spec-list li:before {content:""; position:absolute; top:13px; left:0; width:5px; height:5px; border-radius:50%; background:#878787;}
.equip-rows .spec-table {flex:1; min-width:0; border-top:1px solid #ddd;}
.equip-rows .spec-table dl {display:flex; align-items:center; border-bottom:1px solid #ddd;}
.equip-rows .spec-table dt {flex-shrink:0; width:220px; padding:6px 12px; color:#505050; font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:-.03em;}
.equip-rows .spec-table dd {flex:1; min-width:0; padding:6px 12px; color:#505050; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-.03em;}
.equip-meta {display:flex; align-items:center; gap:var(--space-80); padding-top:var(--space-32); border-top:1px solid #ddd; opacity:.8;}
.equip-meta .meta {display:flex; flex-direction:column; align-items:flex-start;}
.equip-meta .lab {color:#505050; font-size:var(--font-size-16); font-weight:400; line-height:1.875em; letter-spacing:-.03em;}
.equip-meta strong {color:#505050; font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:-.03em;}
.equip-img {flex-shrink:0; width: 42%; max-width: 538px;}
.equip-img .img {position: relative; aspect-ratio:538/435; border-radius:var(--radius-16); overflow:hidden;}
.equip-img .img:after {content:""; position:absolute; top:0; left:0; width:100%; height:100%; border-radius:var(--radius-16); border:1px solid rgba(221, 221, 221, 1);}
.equip-img img {width:100%; height:100%; object-fit:contain;}

/*************************** 커뮤니티 ***************************/


/*************************** 고객지원 ***************************/
.inquiry-head {margin-bottom:var(--space-60); text-align:center;}
.inquiry-head .tit {color:#2c2c2c; font-size:var(--font-size-40); font-weight:700; line-height:1.5em; letter-spacing:-.03em;}
.inquiry-head .desc {margin-top:10px; color:#676767; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-.03em;}
.required {color: var(--color-primary);}
.radiobox-wrap {display: flex; gap: var(--space-40); color: #676767;}
.submit-btn {display:inline-block; width: 200px; height: 60px; padding:0 10px; background:var(--color-primary); font-size: 18px; color:#fff;border:none; text-align:center; cursor:pointer;}