@charset "utf-8";

/* 공통 */
.txt-blue {color:#012f74 !important;}

.doc-cnt {margin-bottom:100px;}
.doc-cnt:last-child {margin-bottom:0;}
.sub-cont {padding:100px 0;}
.bg-gray {position:relative;}
.bg-gray:before {content:""; position:absolute; width:100vw; height:100%; left:50%; transform:translateX(-50%); top:0; background:#fafafa; z-index:-1;}

.doc-tit {font-size:25px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#242424; padding-left:37px; position:relative; margin-bottom:40px;}
.doc-tit:before {content:""; position:absolute; width:28px; height:28px; left:0; top:1px; background:url("../images/sub/bullet01.png") no-repeat 50% 50%; background-size:contain;}

.sub-cont-txt {font-size:22px; font-weight:600; line-height:1.4em; letter-spacing:-0.03em; color:#454545;}

.table-wrap table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686;}

/* 인사말 */
.greeting {text-align:center;}
.greeting .tt {font-size:26px; font-weight:600; line-height:1.3em; letter-spacing:-0.03em; color:#242424; margin-bottom:90px;}
.greeting .txt {font-size:22px; font-weight:400; line-height:1.4em; letter-spacing:-0.03em; color:#555; margin-bottom:17px;}
.greeting .txt:last-child {margin-bottom:0;}
.greeting .txt-wrap {padding-bottom:45px; margin-bottom:45px; border-bottom:1px solid #ddd;}
.greeting .sign {font-size:26px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#454545; margin-top:50px;}

/* 연혁 */
.history .cnt {padding-top:50px; position:relative; margin-top:30px;}
.history .cnt:before {content:""; position:absolute; width:1px; height:50px; top:0; left:50%; margin-left:-0.5px; background:#ddd;}
.history .group {position:relative;}
.history .group:before {content:""; position:absolute; width:1px; height:100%; background:#ddd; left:50%; margin-left:-0.5px; top:0;}
.history .group .in {width:50%; padding-bottom:65px;}
.history .group .in:before {content:""; position:absolute; width:15px; height:15px; background:#fff; border:1px solid #606060; border-radius:100%; left:50%; margin-left:-7.5px; top:6px;}
.history .group .in:after {content:""; position:absolute; width:7px; height:7px; background:#606060; border-radius:100%; left:50%; margin-left:-3.5px; top:10px;}
.history .group .in .year {font-size:30px; font-weight:600; line-height:1em; letter-spacing:-0.01em; color:#999; margin-bottom:30px;}
.history .group .in .date {font-weight:500; color:#242424; min-width:50px;}
.history .group .in .txt-cap {color:#808080;}
.history .group .in > ul > li {display:flex; font-size:18px; font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}

.history .group.type2 .in:before {border-color:#242424;}
.history .group.type2 .in:after {background:#242424;}
.history .group.type2 .year {color:#242424;}

.history .group.type3 .in:before {border-color:#012f74;}
.history .group.type3 .in:after {background:#012f74;}
.history .group.type3 .year {color:#012f74;}

.history .group:nth-child(odd) .in {margin-left:auto; padding-left:27px;}
.history .group:nth-child(even) .in {text-align:right; padding-right:27px;}
.history .group:nth-child(even) .in > ul > li {flex-direction:row-reverse;}

/* 인증현황 */
.certificate ul {display:flex; flex-wrap:wrap; margin:0 -14px -30px -14px;}
.certificate ul li {width:25%; padding:0 14px; margin-bottom:30px; text-align:center;}
.certificate ul li .img {margin-bottom:19px;}
.certificate ul li .tit {font-size:20px; font-weight:400; line-height:1.5em; letter-spacing:-0.03em; color:#454545;}

/* 모바일 플래시 솔루션 */
.biz1 .txt-wrap {text-align:center;}
.biz1 .sub-cont-txt {margin-bottom:34px;}
.biz1 .type-list {display:flex; margin:0 -15px;}
.biz1 .type-list .box {position:relative;}
.biz1 .type-list .box .cate {position:absolute; bottom:13%; left:50%; width:90%; transform:translateX(-50%); padding:11px 25px; text-align:center; background:#ddd; color:#fff; font-size:18px; font-weight:500; line-height:1em; letter-spacing:-0.03em; border-radius:100vh;}
.biz1 .type-list .box.ver2 {display:flex; width:60%; justify-content:space-between;}
.biz1 .type-list .box.ver2 .in {width:calc(33.333% - 20px);}
.biz1 .type-list .box {width:20%; padding:0 15px; text-align:center;}
.biz1 .type-list .box .img {margin-bottom:70px;}
.biz1 .type-list .box .tit {font-size:18px; font-weight:400; line-height:1.3em; letter-spacing:-0.03em; color:#454545;}
.biz1 .type-list .box:nth-child(1) .cate {background:#5a7eb4; width:auto;}
.biz1 .type-list .box:nth-child(2) .cate {background:#012f74;}
.biz1 .type-list .box:nth-child(3) .cate {background:#1e365a;}

/* 의료기기 부품 */
.biz2 {display:flex; align-items:center;}
.biz2 .img {margin-right:100px; box-shadow:2px 2px 10px rgba(0,0,0,0.15);}
.biz2 .cnt {flex: 1 1 auto; min-width: 0; width: 1%;}
.biz2 ul {margin:0 -90px; display:flex; }
.biz2 ul li {padding:0 90px; position:relative; text-align:center;}
.biz2 ul li:before {content:""; position:absolute; width:1px; height:95px; background:#ddd; right:0; top:50%; margin-top:-47.5px;}
.biz2 ul li:last-child:before {display:none;}
.biz2 ul li .icon {margin-bottom:24px;}
.biz2 ul li .tit {font-size:18px; font-weight:500; line-height:1.4em; letter-spacing:-0.03em; color:#454545;}

/* 광학렌즈 */
.biz3 ul {display:flex; margin:0 -15px;}
.biz3 ul li {width:33.333%; padding:0 15px;}
.biz3 ul li img {widtH:100%;}
.biz3 ul li .in {position:relative; border-radius:5px; overflow:hidden;}
.biz3 ul li .tit {position:absolute; width:100%; left:0; bottom:0; text-align:center; font-size:20px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#fff; padding:12px 10px; background:rgba(1,47,116,0.7);}
.biz3 ul li:nth-child(even) .tit {background:rgba(85,85,85,0.7);}

/* 센서모듈 */
.biz4 .dc1 .wrap {display:flex; align-items:center; margin:0 -20px;}
.biz4 .dc1 .wrap  > div {width:50%; padding:0 20px;}
.biz4 .dc1 .wrap img {box-shadow:2px 2px 10px rgba(0,0,0,0.15);}
.biz4 .dc1 ul li {position:relative; padding-left:12px; font-size:22px; font-weight:400; line-height:1.2em; letter-spacing:-0.03em; color:#454545; margin-bottom:32px;}
.biz4 .dc1 ul li:before {content:""; position:absolute; width:4px; height:4px; background:#454545; border-radius:100%; left:0; top:9px;}
.biz4 .dc1 ul li:last-child {margin-bottom:0;}
.biz4 .dc2 .tit {text-align:center; position:relative;}
.biz4 .dc2 .tit span {display:inline-block; padding:15px 30px; background:#012f74; border-radius:100vh; font-size:20px; font-weight:600; line-height:1em; letter-spacing:-0.03em; color:#fff;}
.biz4 .dc2 .img {margin-top:-25px;}

/* 다공체 */
.biz5 .dc1 .img {margin-bottom:30px;}
.biz5 .table01 table {text-align:center;}
.biz5 .table01 th {background:#f8f8f8; height:59px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; font-size:20px; font-weight:700; line-height:1.2em; letter-spacing:0; color:#242424;}
.biz5 .table01 td {height:59px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; font-size:20px; font-weight:400; line-height:1.2em; letter-spacing:0; color:#454545;}
.biz5 .table01 td strong {font-weight:500; color:#242424;}
.biz5 .table01 th:last-child,
.biz5 .table01 td:last-child {border-right:0;}
.biz5 .dc1 .em {position:relative; height:100%; width:100%; background:#012f74; display:block; line-height:59px; color:#fff;}
.biz5 .dc1 .em:before {content:""; position:absolute; width:100%; height:600%; left:0; top:0; border:3px solid #012f74;}
.biz5 .dc1 .em-txt {color:#012f74; font-weight:600;}

.biz5 .dc2 .wrap {display:flex; margin:0 -15px;}
.biz5 .dc2 .box {width:50%; padding:0 15px;}
.biz5 .dc2 .box .img,
.biz5 .dc2 .box .cnt {position:relative;}
.biz5 .dc2 .box .img:before,
.biz5 .dc2 .box .cnt:before {content:""; position:absolute; right:0; bottom:0; left:0; top:-1px; border:1px solid #ddd;}
.biz5 .dc2 .box .tit {text-align:center; font-size:22px; font-weight:500; line-height:1.2em; letter-spacing:0; color:#fff; min-height:60px; display:flex; justify-content:center; align-items:center; padding:10px; background:#808080}
.biz5 .dc2 .box:nth-child(2) .tit {background:#012f74;}
.biz5 .dc2 .box .cnt {padding:37px 57px;}
.biz5 .dc2 .box .cnt .img2 {margin-bottom:30px;}
.biz5 .dc2 .box .cnt ul li {position:relative; padding-left:9px; line-height:2.2em; font-size:20px; font-weight:400; letter-spacing:-0.03em; color:#454545;}
.biz5 .dc2 .box .cnt ul li:before {content:""; position:absolute; width:2px; height:2px; background:#454545; left:0; top:1.1em;}

.biz5 .dc3 p {font-size:22px; font-weight:400; line-height:1.3em; letter-spacing:-0.03em; color:#454545; padding-left:38px;}

/* 정밀렌즈사출 */
.rens {display:flex; flex-wrap:wrap; margin:0 -15px -95px -15px;}
.rens .box {width:50%; padding:0 15px; margin-bottom:95px;}
.rens .box .tit {font-size:20px; font-weight:600; line-height:1.4em; letter-spacing:-0.03em; color:#333;}
.rens .box .txt {font-size:18px; font-weight:400; line-height:1.4em; letter-spacing:-0.03em; color:#454545;}
.rens .box .img {margin-top:15px;}

/* 오시는길 */
.root_daum_roughmap {width:100% !important; height:450px !important;}
.root_daum_roughmap .wrap_map {height:450px !important;}

.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#012f74; font-weight:600; margin-bottom:2px;}
.directions .address-info .addr {color:#242424; font-size:23px; font-weight:600; line-height:1.33em; letter-spacing:-.03em; margin-bottom:5px;}
.directions .address-info .etc {color:#454545;}
.directions .address-info .etc span {display:inline-block; margin-right:16px;}
.directions .address-info .etc span:last-child {margin-right:0;}
.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;}
.directions .contact-info dt svg {vertical-align:middle; margin:-.2em 15px 0 0;}
.directions .contact-info dt path {fill:#012f74;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}

@media (max-width: 1024px) {
	.root_daum_roughmap {height:300px !important;}
	.root_daum_roughmap .wrap_map {height:300px !important;}
	.directions .address-info .addr {font-size:20px;}
	.directions .contact-info dl {padding:20px 0;}
	.directions .contact-info dt {padding-left:20px; width:140px;}
}

@media (max-width: 640px) {
	.root_daum_roughmap {height:250px !important;}
	.root_daum_roughmap .wrap_map {height:250px !important;}	
	.directions {margin-top:30px;}
	.directions .address-info .addr {font-size:18px;}
	.directions .address-info {margin-bottom:20px;}
	.directions .contact-info dl {padding:16px 0;}
	.directions .contact-info dt {padding-left:5px; width:110px;}
	.directions .contact-info dt svg {margin-right:10px;}
}