@charset "utf-8";
/* 서브공통 */
/* doc-title */
.doc-title h3 {font-size: var(--font-size-40); font-weight: 600; line-height: 1.2em; color: #242424; text-align: center;}
.sub-color {color: #066980;}
.doc-tit {font-size: var(--font-size-40); font-weight: 600; line-height: 1.4em; color: #2c2c2c; letter-spacing: -.02em;}
.doc-tit.type2 {font-size: var(--font-size-32); line-height: 1.437em; letter-spacing: -.02em;}
.doc-top-desc {font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}
.gray {color: #999;}

/* .doc-com-tit */
.doc-com-tit {padding-bottom: var(--space-24); border-bottom: 1px solid #eee;}
.doc-com-tit h3 {display: flex; align-items: flex-start; gap: var(--space-10); font-size: var(--font-size-30); font-weight: 500; line-height: 1.466em; color: #2c2c2c; }
.doc-com-tit h3:before {content: ""; flex-shrink: 0; display: block; width: 18px; height: 18px;margin-top: 11px; background: var(--color-primary); border-radius: 100%; border: 5px solid #FCE0E1;}

/* label */
.doc-com-label {flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-16) var(--space-12); border-radius: 8px; color: #fff; font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; letter-spacing: -0.02em; text-align: center;}
.doc-com-label.type2 {padding: var(--space-10) var(--space-12);}
.doc-com-label.fz18 {font-size: var(--font-size-18);}
[lang="en"] .doc-com-label.fz18  {font-size: var(--font-size-16);}
.doc-com-label.fz24 {font-size: var(--font-size-24);}
[lang="en"] .doc-com-label.fz24  {font-size: var(--font-size-20);}
.doc-com-label.bg1 {background: #505050;}
.doc-com-label.bg2 {background: #2c2c2c;}
.doc-com-label.bg3 {background: var(--color-primary);}
.doc-com-label.bg4 {background: #4A0A0D;}
.doc-com-label.bg5 {background: #B5181F;}

/********************* 회사소개 *********************/
/* 인사말 */
.greeting-img {border-radius: var(--radius-16); overflow: hidden; max-width: fit-content;}
.greeting-img img {min-height: 170px; object-fit: cover;}
.greeting-top {flex-wrap: wrap; gap: 24px;}
.greeting-top .doc-tit .strong {color: #066980}
.greeting-top .desc {font-size: var(--font-size-32); font-weight: 600; line-height: 1.312em; color: #242424;}
.greeting-logo {width: clamp(170px, calc(209 / var(--inner) * 100vw), 209px);}
.greeting-desc {gap: var(--space-24); flex-wrap: wrap; font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -.02em;}
.greeting-desc p {margin-bottom: 8px;}
.greeting-desc p:last-child {margin-bottom: 0;}
.greeting-content .sign {font-weight: 600;}

/* 조직도 */
.organization-img {text-align: center;}

/* 연혁 */
.history-wrap {position:relative; color: #454545;}
.history-wrap:before {top:50px; bottom:0; position:absolute; left:0px; width:1px; background-color:#DFDFDF; content:"";}
.history-item {padding-bottom:80px; display:flex; align-items:flex-start; position: relative;}
.history-item:last-child {padding-bottom:0;}
.history-item:last-child:before {content: ""; position:absolute; top:45px; left:0; width: 30px; height: 100%; background: #fff;}
.history-item .history-year {flex-shrink: 0; position:relative; top:0; left:0; padding-left: 80px; color:#eee; font-size:80px; line-height:normal; text-align:right; padding-right:0; display:flex; justify-content:space-between; align-items: center;}
.history-item .history-year:after {content: ""; display: block; width: 60px; height: 2px; background: #eee; margin: 0 60px;}
.history-item .history-year .year {display: flex; align-items: center; width: 200px; transition: all 0.3s ease;}
.history-month-box {flex:1;}
.history-item .history-year .year strong {transition: all 0.3s ease;}
.history-detail {padding-top: 28px; margin-bottom:15px; display:flex; flex-direction: column; gap: var(--space-16); font-size:20px; line-height:1.6em; transition:all 0.5s ease;}
.history-detail:last-child {margin-bottom:0;}
.history-detail p {flex:1;}

.history-item .dots {width:10px; height:10px; top:42px; left:-3px; margin:0; position:absolute; background:transparent; border-radius:50%; transition:all 0.3s; z-index:0;}
.history-item .dots .inner-dots {width:30px; height:30px; position:absolute; background:#FFF6F6; border-radius:100%; top:50%; left:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; transition:all 0.3s;}
.history-item .dots .inner-dots:after {width:22px; height:22px; display:block; content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0); z-index:-1; background:#FCE0E1; border-radius:100%; transition:all 0.5s;}
.history-item.active .history-year {color: #999;}
.history-item.active .history-year strong {color: var(--color-primary);}
.history-item.active .dots .inner-dots {transform:translate(-50%,-50%) scale(1); animation:ani .5s forwards ease; animation-delay:.05s;}
.history-item.active .dots .inner-dots:before {width:10px; height:10px; display:block; content:""; background:var(--color-primary); position:absolute; left:50%; top:50%; border-radius:100%; animation:ani .5s forwards ease; animation-delay:.02s;}
.history-item.active .dots .inner-dots:after {animation:ani .5s forwards ease; animation-delay:.08s;}
.history-item.active .history-year strong {line-height:.6em;}

@keyframes ani {
	0% {transform:translate(-50%,-50%) scale(0);}
	100% {transform:translate(-50%,-50%) scale(1);}
}

/********************* 가공제품 *********************/
.prod-item-list {display:flex; flex-wrap:wrap; gap: var(--space-100) var(--space-40);}
.prod-item-list.wide {gap: var(--space-80);}
.prod-item {flex:1 1 calc(50% - var(--space-40) / 2);}
.prod-item-list.wide .prod-item {flex:1 1 auto;}
.prod-img-wrap {display: flex; gap: var(--space-40);}
.prod-img {flex:0 1 calc(50% - var(--space-40) / 2); border-radius: var(--radius-16); overflow:hidden;}
.prod-item.type2 .prod-img {padding-top: 18px;}
.prod-img.wide {flex:1 1 auto;}
.prod-desc-wrap {position: relative;}
.prod-desc {position: absolute; top: 0; left: 0; font-size: var(--font-size-20); line-height: 1.7em; color: #505050;}
.prod-txt {margin-top: var(--space-60); padding: var(--space-14); background: #2c2c2c; border-radius: 8px; font-size: var(--font-size-20); line-height: 1.7em; color: #fff; text-align: center;}

/********************* 사업소개 *********************/
.business-content {padding: var(--space-100) 0 var(--space-120);}
.business-content:last-child {padding-bottom: 0;}
.business-content.pb140 {padding-bottom: var(--space-140) !important;}
.business-content.color-bg {background: #FAFAFA;}
.border {border: 1px solid #eee;}

/* 초음파 기술 */
.ultra-sound-chart {display: flex; flex-direction: column; gap: 12px; width: 100%;}
.business-labels {display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: stretch; width: 100%;}
.chart-list {gap: var(--space-28); flex-wrap: wrap;}
.chart-item {flex: 1;}
.chart-item .img {margin-top: 12px; border-radius: 8px; overflow: hidden;}
.business-img-wrap.ultra-sound-img .img {flex: 1; min-width: 0; margin: 0; border-radius: 8px; overflow: hidden; background: #eee;}
.business-scale {display: flex; flex-wrap: wrap; gap: 0; align-items: stretch; width: 100%; border-radius: 8px; overflow: hidden; background: linear-gradient(90deg, #505050 0%, #2c2c2c 50%, var(--color-primary) 100%);}
.business-scale-cell {flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-16) var(--space-12); color: #fff; font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; letter-spacing: -0.02em; text-align: center;}

.chart-item .doc-com-label.only-mobile {display: none;}
.case-list {display: flex; flex-wrap: wrap; gap: 20px;}
.case-item {flex: 0 1 calc(25% - 15px);}
.case-item-img { margin-bottom: 8px; border-radius: 8px; overflow: hidden;}

/* 사업모델 */
.business-model-wrap {gap: 20px; flex-wrap: wrap;}
.business-model {flex: 1;}
.business-model .doc-com-label {margin-bottom: var(--space-16);}
.business-model .list-wrap {display: flex; flex-direction: column; gap: 8px; min-height: 320px;}
.business-model .list-wrap > li > span {display: flex; align-items: center; justify-content: center; padding: var(--space-16); background: #fff; border-radius: 8px; font-size: var(--font-size-20); font-weight: 500; line-height: 1.7em; letter-spacing: -0.02em; text-align: center; border: 1px solid #ddd; height: 74px;}
.business-model .list-wrap > li.round > span {border-radius: 50px; background: var(--color-primary); color: #fff; border: none; line-height: 1.3em;}
[lang="en"] .business-model .list-wrap > li > span {height: unset;}
.business-model .list-wrap >li.round.type2 > span {background: #FCE0E1; color: #505050;}
.business-model .list-wrap >li.height-auto  > span {height: auto;}
.business-model .list-wrap.list4 > li > span {flex-direction: column;}
.business-model .list-wrap.list4 > li > span .flex-col {gap: 4px;}
.business-model .list-wrap.list4 > li span.small { font-size: 14px; font-weight: 500; line-height: 1em; letter-spacing: -0.02em; color: #999;}
.business-model .list5-img-wrap {display: flex; flex-direction: column; gap: 8px; margin-top: 8px;}
.business-model .list5-img-wrap .img {border-radius: 8px; overflow: hidden; position: relative;}
.business-model .list5-img-wrap li .label {position: absolute; bottom: 0; left: 0; width: 100%; background: #2c2c2c; padding: 10px; font-size: var(--font-size-18); font-weight: 500; line-height: 1.33em; letter-spacing: -0.02em; text-align: center; color: #fff;}

/* 주요기술 */
.business-content.tech-content:last-child {padding-bottom: var(--space-140);}
.tech-list {display: flex; gap: var(--space-28); align-items: flex-start; flex-wrap: wrap;}
[lang="en"] .tech-list .doc-com-label {font-size: var(--font-size-16);}
.tech-item {flex: 1; display: flex; flex-direction: column; gap: var(--space-12);}
.tech-item .box {padding: 0 var(--space-30); background: #fff; text-align: center; border-radius: 8px; overflow: hidden; border: 1px solid #ddd;}
.tech-item-tit {padding: var(--space-30) 0; font-size: var(--font-size-23); font-weight: 500; line-height: 1.82em; letter-spacing: -0.02em; color: #2c2c2c;}
.tech-item-tit.type2 {color: #066980;}
.tech-img {border-radius: 8px; overflow: hidden;}
.tech-item ul {display: flex; flex-direction: column; gap: 10px; padding: var(--space-24) 0; border: 1px solid #ddd; border-left: none; border-right: none;}
.tech-item ul li {font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -0.02em; color: #505050;}
.tech-item .doc-com-label.bg {background: url(../images/sub/label-bg.jpg) no-repeat center center / cover;}
.key-list {display: flex; flex-wrap: wrap; gap: var(--space-28);}
.key-item {display: flex; flex-direction: column; gap: var(--space-12); flex: 1 1 calc(50% - var(--space-28) / 2);}
.key-item .box {height: 100%; padding: var(--space-30); background: #F9F9F9; text-align: center; border-radius: 8px; overflow: hidden;}
.key-item span {display: block; margin-bottom: var(--space-16); font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -0.02em; color: #505050;}
.key-item span:last-child {margin-bottom: 0;}
.key-item span strong {font-weight: 600;}
.sic-table {overflow-x: auto;}
.sic-table table {width: 100%; border-collapse:collapse; border-spacing:0px; border-top:1px solid #2c2c2c;}
.sic-table table thead th {padding:var(--space-16); font-size:var(--font-size-18); font-weight:600; line-height:1.77em; letter-spacing: -0.02em; background:#F9F9F9; border-right:1px solid #ddd;}
.sic-table table thead th.point {background: var(--color-primary); color: #fff; border:1px solid var(--color-primary);}
.sic-table table thead th:last-child {border-right: none;}
.sic-table table tbody td {padding:var(--space-16); 
color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.77em; letter-spacing: -0.02em; text-align:center; border:1px solid #ddd;}
.sic-table table tbody td:first-child {border-left: none;}
.sic-table table tbody td:last-child {border-right: none;}
.sic-table table tbody td.point {color: var(--color-primary); background:#FEF5F5; border-right:1px solid var(--color-primary) !important;}
.bdr {border-right: 1px solid var(--color-primary) !important;}
.bdb {border-bottom: 1px solid var(--color-primary) !important;}
.business-video-wrap .video-tit {margin-top: var(--space-30); font-size: var(--font-size-28); font-weight: 600; line-height: 1.5em; letter-spacing: -0.02em; color: #222;}
.business-video-wrap .video-date {margin-top: 4px; font-size: var(--font-size-18); line-height: 1.777em; letter-spacing: -0.02em; color: #484848;}


/********************* IR *********************/
/* 회사개요 */
.overview-wrap {gap: var(--space-16);}
.overview-row {gap: var(--space-16); flex-wrap: wrap;}
.overview-item {flex: 1; flex-shrink: 0; padding: var(--space-40); border: 1px solid #DFDFDF; border-radius: var(--radius-16);}
.overview-item.img-wrap {padding: 0; border: none;}
.overview-item.img-wrap .img {width: max-content; border-radius: var(--radius-16); overflow: hidden;}
.overview-item.big {flex: 1 1 32.5%;}
.overview-item .icon {margin-bottom: var(--space-40);}
.overview-item dl dt {color: #066980; font-size: var(--font-size-18); font-weight: 600; line-height: 1.77em; letter-spacing: -0.02em; margin-bottom: 8px;}
.overview-item dl dd {font-size: var(--font-size-24); font-weight: 600; line-height: 1.583em; letter-spacing: -0.02em;}

/* 경영진 소개 */
.man-top {display: flex; align-items: center; justify-content: center; gap: var(--space-24); flex-wrap: wrap; padding: var(--space-20); border-radius: 8px; background: #F9F9F9;}
.man-top .logo {width: 139px;}
.man-top .ceo {font-size: var(--font-size-32); font-weight: 600; line-height: 1.43em; letter-spacing: -0.02em;}
.man-list {gap: var(--space-40);}
.man-item {flex: 1;}
.man-item ul {display: flex; flex-direction: column; gap: 8px;}
.man-item ul li {display: flex; align-items: start; gap: 8px; font-size: var(--font-size-20); line-height: 1.7em; letter-spacing: -0.02em; color: #505050;}
.man-item ul li:before {content: ""; display: block; width: 4px; height: 4px; margin-top: 15px; background: #D9D9D9; border-radius: 50%;}

/* 회사 갤러리 */
.gallery-slide-wrap {position: relative; margin-top: -30px;}
.gallerySwiper2 {border-radius: var(--radius-16); overflow: hidden;}
.gl-swiper { width: 100%; margin-bottom: var(--space-32); }
.gl-swiper .thumb { position: relative; padding-bottom: 44.5%; display: block;}
.gl-swiper .thumb img { position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; object-fit: cover ; transform: translate(-50%, -50% );}
.gl-thumb-swiper { width: 100%;}
.gl-thumb-swiper .swiper-slide { cursor: pointer;}
.gl-thumb-swiper .thumb {position: relative; padding-bottom: 54%; display: block; border-radius: 8px; overflow: hidden;}
.gl-thumb-swiper .thumb img { position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; object-fit: cover ; max-width: 100%; max-height: 100%; transform: translate(-50%, -50% );}

.gl-thumb-wrap {position: relative;}
.gl-btn.swiper-button-next,
.gl-btn.swiper-button-prev {width:80px; height: 80px; background:rgba(255, 255, 255, 0.20) url(../images/sub/arrow.svg) no-repeat center center / 40px; border-radius: 100%;}
.gl-btn.swiper-button-next {right: var(--space-30);}
.gl-btn.swiper-button-prev {left: var(--space-30); transform: rotate(180deg);}
.gl-btn.swiper-button-next:after, 
.gl-btn.swiper-button-prev:after {display: none;}

.gallery-tit {position: absolute; bottom: 0; left: 0; width: 100%; padding: var(--space-24) var(--space-40); background: rgba(0, 0, 0, 0.20); backdrop-filter: blur(8px);}
.gallery-tit h3 { color: #fff; font-size: var(--font-size-28); font-weight: 600; line-height: 1.5em; letter-spacing: -0.02em; text-align: right;}

.gallery-txt p {font-size: 120px; font-weight: 500; line-height: 1; letter-spacing: -0.02em;background: linear-gradient(0deg, rgba(234, 32, 41, 0.10) -20.49%, rgba(6, 105, 128, 0.10) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

/********************* 고객센터 *********************/
.form-agree .checkbox label:before {border-radius: 4px; border-color: #ddd;}
.board-form .required-text {font-size: var(--font-size-18); font-weight: 500; line-height: 1.777em; letter-spacing: -0.02em; color: #676767; font-weight: 500; margin-bottom: 20px; text-align: right;}
.board-form .required {color: var(--color-primary); }
.board-form .input {height: 48px; border-radius: 8px;}
.submit-buttons {margin: 60px 0 0 0 !important;}
.submit-btn {padding:20px 60px; background: var(--color-primary); color: #fff; font-size: var(--font-size-18); font-weight: 600; line-height: 1.77em; letter-spacing: -0.02em; text-align: center; border-radius: 80px; border: none; cursor: pointer;}

/* 오시는 길 */
.location-section .sub-com-tit {padding-bottom: var(--space-48); margin-bottom: var(--space-48);}
.map, .map iframe {width: 100%; height: 640px;}

.location-section {gap: var(--space-20); align-items: stretch;}
.location-section .map {flex: 1; min-width: 0; border-radius: var(--radius-24); overflow: hidden;}
.location-section .lct-info {flex: 1; gap: 24px; display: flex; flex-direction: column; justify-content: space-between; max-width: 420px; padding: var(--space-50); border-radius: var(--radius-24); border: 1px solid #eee;}
.location-section .lct-head dt {font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; letter-spacing: -0.02em; color: #999;}
.location-section .lct-head dd {margin-top: 6px; font-size: var(--font-size-32); font-weight: 600; line-height: 1.437em; letter-spacing: -0.02em; color: #2c2c2c;}
.lct-list dl {padding: var(--space-16) 0; font-size: var(--font-size-18); font-weight: 500; line-height: 1.777em; letter-spacing: -0.02em; border-bottom: 1px dashed var(--line-line-02, #EEE);}
.lct-list dl:first-child {border-top: 1px solid #BBB; }
.lct-list dl:last-child {padding-bottom: 0; border-bottom: none;}
.lct-list dl dt {color: var(--color-primary);}
.lct-list dl dd {margin-top: 2px; color: #676767;}