@charset "utf-8";
/* 공통 */
.subtab { display: flex; margin-bottom: 80px; border-bottom: 1px solid #dfdfdf;}
.subtab li { flex: 1; }
.subtab li a { display: block; padding: 18px 10px; text-align: center; font-size: var(--font-size20); font-weight: 600; line-height: 1.7em; color: #2c2c2c; position: relative; }
.subtab li a::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 2px; background: var(--color-primary); display: none; }
.subtab li.active a { color: var(--color-primary); }
.subtab li.active a::after { display: block; }
.subtab li a:hover { color: var(--color-primary);}
.tab-item { display: none; }
.tab-item.active {display: block; }

/* CEO 인사말 */
.gt { display: flex; align-items: flex-start;} 
.gt .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-right: 80px; }
.gt .info h2 { font-size: var(--font-size36); font-weight: 600; line-height: 1.38em; color: #2c2c2c; }
.gt .img { border-radius: 150px 16px 16px 16px; overflow: hidden; }
.gt .gray { display: inline-block; padding: 8px 12px 6px; border-radius: 4px; background: #F6F6F6; margin: 40px 0 30px; font-size: var(--font-size24); line-height: 1.41em; color: #505050; font-weight: 600; line-height: 1.7em; }
.gt .gray span { color: var(--color-primary); font-size: var(--font-size24);}
.gt .txt p { font-size: var(--font-size20); line-height: 1.7em; margin-bottom: 24px; }
.gt .txt p:last-child { margin-bottom: 0; }
.gt .txt strong { display: block; font-size: var(--font-size22); font-weight: 600; line-height: 1.63em; }

/* 연혁 */
.history { display: flex; align-items: flex-start; justify-content: space-between;}
.history .left .tt { font-size: var(--font-size40); line-height: 1.4em; color: #2c2c2c; margin-top: 60px; font-weight: 600; }
.history .left .tt .clr1 { color: #8dc63f; }
.history .left .tt .clr2 { color: var(--color-primary); }
.history .right { position: relative; width: 100%; max-width: 840px; border-bottom: 1px solid #eee; top: -40px; }
.history .right .bar { position: absolute; left: 130px; top: 45px; width: 1px; background: #eee; height: 95.5%; }
.history .right .bar .progress { position: absolute; left: 0; top: 0; width: 1px; height: 0; max-height: 100%; background: #8DC63F; box-sizing: border-box; }
.history .right .group { display: flex; }
.history .right .group .year { width: 130px; font-size: var(--font-size28); font-weight: 600; line-height: 1.28em; color: #2c2c2c; margin-top: 37px; position: relative;}
.history .right .group .year::after { content: ""; position: absolute; width: 24px; height: 24px; border-radius: 24px;  border: 6px solid #EEE; background: #CCC; transition: .3s; top: 5px; right: -12px; }
.history .right .group.active .year::after { border-color: #EFF7E4; background: #8DC63F;}
.history .right .group ul { flex: 1 1 auto; min-width: 0; width: 1%; padding: 40px 0; padding-left: 75px; border-bottom: 1px solid #eee;}
.history .right .group:last-child ul { border-bottom: 0; }
.history .right .group ul li { display: flex; font-size: var(--font-size18); line-height: 1.66em; margin-bottom: 10px; }
.history .right .group ul li:last-child { margin-bottom: 0; }
.history .right .group ul li .month { font-weight: 600; width: 48px; }
.history .right .group ul li .txt { flex: 1 1 auto; min-width: 0; width: 1%;}

/* 인증현황 */
.certi { display: flex; flex-wrap: wrap; gap: 80px 40px;}
.certi .item { width: calc(100%/4 - 30px); text-align: center; }
.certi .item a { display: block; }
.certi .item .img { position: relative; border-radius: 16px; overflow: hidden;}
.certi .item .img img { width: 100%; }
.certi .item .img::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 16px; border: 1px solid #ddd;}
.certi .item .tt { font-size: var(--font-size20); line-height: 1.7em; font-weight: 600; color: #2c2c2c; margin-top: 25px; }
.certi-fancy .fancybox-skin { border-radius: 16px !important; }
.certi-fancy .fancybox-outer { border-radius: 16px !important; overflow: hidden !important; }
.certi-fancy .fancybox-inner { border-radius: 16px !important; overflow: hidden !important; -webkit-clip-path: inset(0 round 16px); clip-path: inset(0 round 16px); transform: translateZ(0); }
.certi-fancy .fancybox-image { border-radius: 16px !important; display: block; }
.certi-fancy .fancybox-skin > .fancybox-close { position: absolute !important; top: -40px !important; right: 0 !important; width: 19px !important; height: 22px !important; z-index: 8050 !important; background-image: url(../images/sub/modal-close.png) !important; background-size: contain !important; background-position: center center !important; background-repeat: no-repeat !important; background-color: transparent !important; }
.certi-fancy .fancybox-title-float-wrap { margin-bottom: -50px; font-weight: 600; font-family: 'Pretendard'; }
.certi-fancy .fancybox-title-float-wrap .child { background: transparent; font-size: var(--font-size20); line-height: 1.7em; font-weight: 600 !important; padding: 0;}

/* 조직도 */
.organ { text-align: center; margin-bottom: 80px; }
.organ-wrap { display: flex; flex-wrap: wrap; border-top: 1px solid var(--color-primary);}
.organ-wrap .col { display: flex; width: calc(100%/2); border-bottom: 1px solid #eee;}
.organ-wrap .col .tt { width: 180px; background: #f3fbfe; color: var(--color-primary); text-align: center; font-size: var(--font-size20); line-height: 1.7em; font-weight: 600; display: flex; align-items: center; justify-content: center;}
.organ-wrap .col .txt { flex: 1 1 auto; min-width: 0; width: 1%; padding: 20px; }
.organ-wrap .col .txt p { padding-left: 12px; position: relative; margin-bottom: 4px; font-size: var(--font-size18); line-height: 1.77em; }
.organ-wrap .col .txt p::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; background: #ccc; top: 13px; }
.organ-wrap .col .txt p:last-child { margin-bottom: 0; }
.organ-wrap .col.bg .tt { color: #6d9930; background: #fafcf6; }

/* 찾아오시는 길 */
.location { display: flex; gap: 16px; }
.location .map { width: 53%; border-radius: 16px; overflow: hidden;}
.location .info { width: 47%; border-radius: 16px; background: #f9f9f9; padding: 30px 40px;}
.location .info h3 { font-size: var(--font-size28); line-height: 1.5em; font-weight: 600; color: #2c2c2c; margin-bottom: 20px; position: relative; padding-left: 40px; }
.location .info h3::before { content: ""; position: absolute; left: 0; width: 32px; height: 33px; background: url(../images/sub/add.png) center no-repeat; background-size: contain; top: 5px; }
.location .info h4 { font-size: var(--font-size18); font-weight: 500; line-height: 1.77em; }
.location .info ul { display: flex; gap: 10px 44px; flex-wrap: wrap; margin-top: 20px; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 16px 0;}
.location .info ul li { width: auto; display: flex; }
.location .info ul li .tit { display: flex; align-items: center; width: 80px; }
.location .info ul li .tit strong { flex: 1 1 auto; min-width: 0; width: 1%; display: inline-block; padding-left: 8px; font-size: var(--font-size18); font-weight: 500; color: #2c2c2c; line-height: 1.77em; }
.location .info ul li .txt { font-size: var(--font-size18); line-height: 1.77em; }
.location .info .group .item { padding: 24px 0; border-bottom: 1px dashed #DDD; }
.location .info .group .item:last-child { margin-bottom: 0; }
.location .info .group .item h5 { font-size: var(--font-size20); line-height: 1.7em; font-weight: 600; color: #2c2c2c; margin-bottom: 16px; }
.location .info .group .item:last-child { border: none; padding-bottom: 0; }
.location .info .group .cnt.fx { display: flex; gap: 10px 24px; flex-wrap: wrap;}
.location .info .group .cnt .trail span { display: inline-block; }
.location .info .group .cnt .trail span.line { height: 30px; display: inline-flex; align-items: center; padding: 0 16px; border-radius: 15px; color: #fff; font-size: 16px; }
.location .info .group .cnt .trail span.line.line2 { background: #01a044; margin-right: 4px; }
.location .info .group .cnt .trail span.line.line7 { background: #687130; margin-right: 8px; }
.location .info .group .cnt { font-size: var(--font-size18); line-height: 1.77em; }

/* sub2 공통 */
.sub2-flex { display: flex; align-items: flex-start; height: 100%; }
.sub2-tab { position: sticky; top: 130px; width: 340px; height: 100%; }
.sub2-tab.pd { padding-left: 90px; }
.sub2-tab li { margin-bottom: 12px; }
.sub2-tab li:last-child { margin-bottom: 0; }
.sub2-tab li a { display: block; font-size: var(--font-size20); font-weight: 600; line-height: 1.7em; color: #ddd; }
.sub2-tab li a span { position: relative; display: inline-block; }
.sub2-tab li a span::after { content: ""; position: absolute; right: -15px; margin: auto; width: 6px; height: 6px; border-radius: 6px; background: var(--color-primary); opacity: 0; transition: .3s; top: 13px; }
.sub2-tab li.active a { color: #2c2c2c; }
.sub2-tab li.active a span::after { opacity: 1; }
.sub2-tab li a:hover { color: #2c2c2c; }
.sub2-tab li a:hover span::after { opacity: 1; }
.sub2-contents { flex: 1 1 auto; min-width: 0; width: 1%; }
.sub2-contents .tab-item { display: none; }
.sub2-contents .tab-item.active { display: block; }
.sub2-contents .group { margin-bottom: 60px; }
.sub2-contents .group:last-child { margin-bottom: 0; }
.sub2-tit { padding-bottom: 16px; padding-left: 34px; font-size: var(--font-size28); line-height: 1.5em; font-weight: 600; color: #2c2c2c; position: relative; border-bottom: 1px solid #ddd; margin-bottom: 24px; }
.sub2-tit::before { content: ""; position: absolute; left: 0; width: 26px; height: 27px; top: 5px; background: url(../images/sub/tit-bf.png) center no-repeat; background-size: contain; top: 7px; } 
.sub2-jum { margin-bottom: 24px; }
.sub2-jum p { position: relative; margin-bottom: 8px; padding-left: 12px; font-size: var(--font-size20); line-height: 1.7em;}
.sub2-jum p::before { content: ""; position: absolute; width: 4px; height: 4px; background: #ccc; left: 0; top: 15px; }
.sub2-jum p:last-child { margin-bottom: 0; }
.sub2-big { border-radius: 16px; overflow: hidden;}
.sub2-big img { width: 100%; }
.sub2-fx { display: flex; flex-wrap: wrap; gap: 16px; }
.sub2-fx .col { width: calc(100%/2 - 8px);}
.sub2-fx .col .sub2-item:last-child { margin-bottom: 0; }
.sub2-fx .col .txt { text-align: center; font-size: var(--font-size18); color: #2c2c2c; font-weight: 600; line-height: 1.77em; }
.sub2-fx.w100 .col { width: 100%; }
.sub2-item { width: 100%; margin-bottom: 16px; border-radius: 16px; overflow: hidden; text-align: center; position: relative; }
.sub2-item::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 16px; border: 1px solid #eee;}
.sub2-fx .col.wt { width: auto;}
.sub2-fx .col.bd .sub2-item::after { display: none; }
.sub2-fx.gap { gap: 15px; }
.sub2-fx.gap .col { width: calc(100%/3 - 10px);}
.sub2-diagram { text-align: center; margin-top: 24px; }
.sub2-wrap { display: flex; flex-wrap: wrap; gap: 24px 16px;}
.sub2-wrap .col { width: calc(100%/4 - 12px); text-align: center; }
.sub2-wrap .col .img { position: relative; border-radius: 8px; overflow: hidden;}
.sub2-wrap .col .img img { width: 100%; }
.sub2-wrap .col .img::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 8px; border: 1px solid #eee;}
.sub2-wrap .col .tt { margin-top: 8px; font-size: var(--font-size18); line-height: 1.77em; font-weight: 500; }
.sub2-subtit { font-size: var(--font-size20); line-height: 1.7em; font-weight: 500; margin-bottom: 24px; }
.sub2-img-fx { display: flex; gap: 8px; }
.sub2-img-fx div { border-radius: 8px; overflow: hidden; position: relative; flex: 1;}
.sub2-img-fx div::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 8px; border: 1px solid #eee;}

/* R&D */
.mason { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px; }
.mason .sub2-fx { display: block; }
.mason .sub2-fx:last-child { flex: 1 1 auto; min-width: 0; width: 1%; }
.mason .sub2-fx .col { margin-bottom: 16px; width: 100%; }
.mason .sub2-fx .col:last-child { margin-bottom: 0; }
.mason .sub2-fx .col.fx { display: inline-flex; flex-wrap: wrap; gap: 16px; }
.mason .sub2-fx .col.fx .sub2-item { width: calc(50% - 8px); margin-bottom: 0; }
.rnd-group { margin-bottom: 16px; }
.rnd-group:last-child { margin-bottom: 0; }
.rnd-group h4 { margin-bottom: 8px; font-size: var(--font-size18); line-height: 1.77em; color: #2c2c2c; font-weight: 600; }

/* 사업실적 */
.sub3-tbl-wrap { overflow: auto;}
.sub3-tbl { width: 100%; border-collapse: collapse; border-top: 1px solid #505050;}
.sub3-tbl tr { border-bottom: 1px solid #ddd;}
.sub3-tbl tr th { border-right: 1px solid #ddd; background: #f3fbfe; padding: 16px 10px; font-size: var(--font-size18); font-weight: 600; line-height: 1.77em; }
.sub3-tbl tr th:last-child { border: none; }
.sub3-tbl tr td { text-align: center; padding: 16px 10px; border-right: 1px solid #ddd; font-size: var(--font-size18); line-height: 1.77em;}
.sub3-tbl tr td:last-child { border: none; }

/* 고객지원 */
.inq-tit { font-size: var(--font-size36); line-height: 1.38em; color: #2c2c2c; font-weight: 600; margin-bottom: 40px; }