@charset "utf-8";
/* 공통 */
.subtit { font-size: 30px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #242424; position: relative; padding-left: 40px; margin-bottom: 30px;}
.subtit::before { content: ""; position: absolute; left: 0; width: 30px; height: 25px; background-size: contain; background: url(../images/sub/bf.png) center no-repeat; top: 6px;}
.subbox { margin-bottom: 80px;}
.subbox:last-child { margin-bottom: 0;}

/* 인사말 */
.gt { display: flex; }
.gt-left { width: 43%;}
.gt-right { width: 57%; padding-left: 50px;}
.gt-right h2 { line-height: 1.3em; letter-spacing: -.03em; font-size: 30px; font-weight: 800; color: #28235b;}
.gt-right p { font-size: 16px; line-height: 2em; letter-spacing: -.03em; font-weight: 300; color: #454545; margin-top: 15px;}
.gt-right strong { display: block; font-size: 18px; font-weight: 500; letter-spacing: -.03em; line-height: 1em; color: #454545; margin-top: 21px;}

/* 연혁 */
.history { position: relative; }
.history::after { content: ""; position: absolute; left: 0; right: 0; margin: auto; top: 20px; background: #ddd; width: 1px; height: 96%; z-index: -1;}
.history .group { position: relative; margin-bottom: 80px;}
.history .group:last-child { margin-bottom: 0;}
.history .group .group-ttl {font-size:40px; line-height:1em; color: #28235b; font-weight: 700; position: relative; letter-spacing: -.03em;}
.history .group .groupbox::after { content:''; position:absolute; top:12px; width:21px; height:21px; background:#f2b72f; border:1px solid #f2b72f; box-shadow: #fff 0px 0px 0px 4px inset; border-radius:100%;}
.history .group:nth-of-type(odd) .groupbox::after { left: -11px;}
.history .group:nth-of-type(even) .groupbox::after { right: -10px;}
.history .group:nth-child(odd) .groupbox { width: 50%; position: relative; margin-left: 50%; padding-left: 50px;}
.history .group:nth-child(even) .groupbox { width: 50%; position: relative; margin-left: 0; padding-right: 52px;}
.history .group ul {position: relative; width:100%; margin-top: 25px;}
.history .group:nth-child(even) ul {text-align:right;}
.history .group ul li {position: relative; color:#454545; margin-bottom: 6px; font-size: 16px; font-weight: 300; letter-spacing: -.03em; display: flex; line-height: 1.4em;}
.history .group ul li:last-child {margin-bottom: 0;}
.history .group ul li .month {font-weight: 600; letter-spacing: -.03em; width: 40px; color: #242424; line-height: 1.4em; position: absolute; top: 0; left: 0;}
.history .group ul li .txt { padding-left: 40px;}
.history .group:nth-of-type(even) ul li .month { left: auto; right: 0;}
.history .group:nth-of-type(even) ul li .txt  { padding-left: 0; padding-right: 40px;}
.history .group:nth-child(even) ul li {flex-direction: row-reverse;}
.history .group:nth-child(even) .group-ttl { text-align: right;}

/* 인증 및 특허 */
.certi-list { display: flex; gap: 35px 20px; flex-wrap: wrap;}
.certi-list li { width: calc(100%/5 - 16px); text-align: center;}
.certi-list li .thumb {position:relative; padding-bottom:140%; margin-bottom:12px; overflow:hidden; }
.certi-list li .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:contain;}
.certi-list li .thumb:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd;}
.certi-list li .tit { font-size: 16px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #454545;}

/* 조직도 */
.organ-box { width: 100%; background: #f4f4f7; text-align: center; border: 1px solid #2b2660; border-radius: 12px; padding: 35px 10px; line-height: 1.6em; letter-spacing: -.03em; font-size: 18px; font-weight: 300; color: #454545; margin-bottom: 60px;}
.organ-box span { color: #28235b; font-weight: 600;}
.organ-img { text-align: center;}

/* 찾아오시는 길 */
.mapbox { width: 100%; text-align: center; position: relative;}
.mapbox::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#f2b72f; font-weight:600; margin-bottom:2px; letter-spacing: -.03em;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .contact-info {border-top:1px solid #ddd; line-height:1.5em;}
.directions .contact-info dl {display:flex; padding:28px 0; border-bottom:1px solid #ddd;}
.directions .contact-info dt {width:180px; padding-left:30px; color:#242424; font-size:1.125em; font-weight:500; letter-spacing: -.03em;}
.directions .contact-info dt img {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545; letter-spacing: -.03em;}

/* 정밀판금/정밀제관 */
.sub2-list { display: flex; flex-wrap: wrap; gap: 20px;}
.sub2-list li { width: calc(100%/4 - 15px); }
.sub2-list li .imgbox { position: relative; }
.sub2-list li .imgbox .tit { width: 135px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 20px; background: #2a205c; color: #fff; position: absolute; bottom: -20px; left: 0; right: 0; margin: auto; font-size: 16px; font-weight: 300; letter-spacing: -.03em; line-height: 1em; }
.sub2-list li .txtbox { margin-top: 45px; }
.sub2-list li .txtbox p { font-size: 16px; line-height: 1.3em; letter-spacing: -.03em; font-weight: 300; color: #454545; position: relative; padding-left: 25px; margin-bottom: 8px;}
.sub2-list li .txtbox p:last-child { margin-bottom: 0; }
.sub2-list li .txtbox p::before { content: ""; position: absolute; left: 0; top: 3px; width: 15px; height: 12px; background-size: contain; background: url(../images/sub/chk.png) center no-repeat;}

/* 분체도장 */
.type-list { display: flex; gap: 21px; flex-wrap: wrap;}
.type-list li { width: calc(100%/3 - 14px); text-align: center;}
.type-list li .tit { font-size: 18px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; color: #242424; margin-top: 16px;}

/* 사업실적 */
.sub3-tbl-wrap { overflow: auto;}
.sub3-tbl { width: 100%; border-collapse: collapse; border-top: 2px solid #f2b72f;}
.sub3-tbl tr { border-bottom: 1px solid #ddd;}
.sub3-tbl tr th { border-right: 1px solid #ddd; line-height: 1em; font-weight: 600; letter-spacing: -.03em; color: #242424; padding: 18px 5px;}
.sub3-tbl tr th:last-child { border-right: none;}
.sub3-tbl tr td { border-right: 1px solid #ddd; line-height: 1.3em; font-weight: 300; letter-spacing: -.03em; color: #454545; padding: 15px 5px; text-align: center; }
.sub3-tbl tr td.tl { padding-left: 25px; text-align: left;}
.sub3-tbl tr td:last-child { border-right: none;}
.ct-list { display: flex; flex-wrap: wrap;}
.ct-list li { width: calc(100%/4); border-right: 1px solid #ddd; text-align: center; display: flex; align-items: center; justify-content: center;}
.ct-list li:last-child { border-right: none;}

/* 주요생산품 */
.pd-tab { display: flex; margin-bottom: 50px; position: relative;}
.pd-tab::after { content: ""; position: absolute; left: 0; border: 1px solid #ddd; top: 0; width: 100%; height: 100%; z-index: -1;}
.pd-tab li { flex: 1; text-align: center; border-right: 1px solid #ddd;}
.pd-tab li:last-child { border-right: none;}
.pd-tab li a { height: 60px; font-size: 17px; font-weight: 300; letter-spacing: -.03em; line-height: 1.2em; display: flex; align-items: center; justify-content: center;}
.pd-tab li.active { background: #2b2660; border-right: 1px solid #2b2660;}
.pd-tab li.active a { color: #fff;}
.pd-box { margin-bottom: 30px;}
.pd-box .tit { font-size: 20px; font-weight: 600; letter-spacing: -.03em; line-height: 1.2em; margin-bottom: 10px; color: #29215c;}
.pd-box p { font-weight: 300; color: #242424; letter-spacing: -.03em; line-height: 1.3em; }

/* 생산설비현황 */
.fc-box { margin-bottom: 65px;}
.fc-tit { font-size: 20px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #242442; margin-bottom: 25px;}
.fc-list { display: flex; gap: 20px;}
.fc-list li { text-align: center; }
.fc-list li .txt { font-size: 16px; line-height: 1.556em; letter-spacing: -.03em; color: #454545; margin-top: 22px;}
.fc-list2 li { width: 100%; }
.fc-list2 li .imgbox { display: flex; padding: 40px; background: #f8f8f8; justify-content: space-between;}
.fc-list3 li { width: calc(100%/2 - 10px);}
.fc-mg { margin-top: 50px;}