.sub-tab {margin-bottom:60px;}
.sub-tab ul {display: flex;flex-wrap:wrap; text-align: center;}
.sub-tab ul li {display: table; flex:1; width: auto; min-height: 65px; border: 1px solid #dfdfdf; background: #fff; position: relative; top: 1px; margin-top: -1px; left: 1px; margin-left: -1px;}
.sub-tab ul li a {display: table-cell; vertical-align:middle; color: #878787; font-size: 19px; font-weight: 500; line-height: 1.3; letter-spacing: -.04em; padding: 0 10px;}
.sub-tab ul li:hover a {color: #165054;}
.sub-tab ul li.active {background: #165054; border-color:#165054;}
.sub-tab ul li.active a {color: #fff; font-weight: 400;}

.table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.sub-table {width:100%; border-collapse:collapse; border-spacing:0px; line-height:1.5em; letter-spacing:-.04em;}
.sub-table.layout-fixed {table-layout: fixed;}
.sub-table th {padding:18px 6px; border:1px solid #dfdfdf; background: #fafafa; font-size: 1.063em; font-weight: 600;}
.sub-table td {padding:18px 6px; border:1px solid #dfdfdf; color: #505050; text-align:center;}
.sub-table td.left {text-align: left; padding-left: 20px;}
.sub-table td span {display: inline-block; margin-right: 34px;}
.sub-table tr th:first-child,
.sub-table tr td:first-child {border-left:0;}
.sub-table tr th:last-child,
.sub-table tr td:last-child {border-right:0;}

.doc-group {margin-bottom: 110px;}
.doc-group.flex {display: flex;}
.doc-group:last-child {margin-bottom: 0;}
.doc-group.flex .doc-tit {width: 320px;}
.doc-tit {margin-bottom: 40px;}
.doc-tit h3 {position: relative; font-size: 28px; line-height: 1.4; letter-spacing: -.04em;}
.doc-tit h3:before {content:""; position: absolute; left: 0; top: -15px; width: 30px; height: 3px; background: #1a3638;}
.doc-group.flex .doc-cnt {flex: 1 1 auto; min-width: 0; width: 1%;}

.mg-txt {margin-bottom: 30px;}

.downloads {margin-bottom: 40px;}
.downloads .btn-down {display: inline-block; color: #2c2c2c; font-size: 1.125em; font-weight: 500; line-height: 50px; background: #f4f4f4; border-radius:30px; padding: 0 30px;}
.btn-down .ico-down {display: inline-block; vertical-align:middle; width: 18px; height: 18px; margin: -.2em 32px 0 0; background: no-repeat url("../images/sub/ico_down.png") center center / contain;}

.dot-list {margin: -1em 0;}
.dot-list > li {position: relative; padding-left: 10px; margin: 1em 0;}
.dot-list > li:before {content:"·"; position: absolute; top: 0; left: 0; letter-spacing: 0; font-size: 1.3em; font-weight: 700; color: #ccc;}

.hypen-list > li{padding-left: 0.438em; text-indent: -0.438em;}
.hypen-list > li:last-child{margin-bottom: 0;}

.num-list > li{padding-left: 0.889em; text-indent: -0.889em; margin-bottom: .8em;}
.num-list > li:last-child{margin-bottom: 0;}

.pic-list > ul {display: flex;flex-wrap:wrap; margin: 0 -20px -40px;}
.pic-list > ul > li {width:50%; padding: 0 20px; margin-bottom: 40px;}
.pic-list > ul > li .tit {margin-top: 20px;}
.pic-list > ul > li .tit span {display: block; color: #878787; font-size: 0.875em; line-height: 1.4; letter-spacing: -.04em; margin-bottom: 8px;}
.pic-list > ul > li .tit strong {display: block; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: -.04em;}
.pic-list > ul > li .txt {margin-top: 18px; color: #505050; line-height: 2em;}

.pic-list > ul.w1 > li {width: 100%;}

.pic-list2 > ul {display: flex;flex-wrap:wrap; margin: -20px;}
.pic-list2 > ul > li {width:50%; padding: 20px;}
.pic-list2 > ul > li .box {position: relative; height: 100%;}
.pic-list2 > ul > li .box:before {content:''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid #dfdfdf;}
.pic-list2 > ul > li .tit {position: relative; display: table; width: 100%; min-height: 62px; padding-left: 170px; background: #545816; color: #fff; font-weight: 600;}
.pic-list2 > ul > li .tit .opt {position: absolute; top: 0; left: 0; display: flex;justify-content: center;align-items: center; width: 144px; height: 100%; background: #1a3638; font-size: 18px;}
.pic-list2 > ul > li .tit h4 {display: table-cell; vertical-align:middle; font-size: 24px;}
.pic-list2 > ul > li .tit h4 .sm {display: inline-block; font-size: 13px; font-weight: 400;}
.pic-list2 > ul > li .desc {color: #505050; line-height: 2em; padding: 40px 30px 30px; background: #fff;}
.pic-list2 > ul > li .desc .img {margin-bottom: 26px;}

.s-tit {margin-bottom: 30px;}
.s-tit span {display: inline-block; font-size: 1.125em; color: #fff; line-height: 50px; padding: 0 30px; border-radius:30px;}
.s-tit span.bg1 {background: #36381a;}
.s-tit span.bg2 {background: #1a3638;}
.s-tit span.bg3 {background: #545816;}
.s-tit span.bg4 {background: #165054;}

.txtLine {margin: 100px 0; padding-bottom: 1.334%; background: no-repeat url("../images/sub/txtline.png") center center / contain;}

.greybox {background: #f4f4f4; padding: 60px 30px;}

.letter {color: #878787; font-size: 0.875em; margin-top: 20px;}

.c-green {color: #1a3638;}
.fw500 {font-weight: 500;}

/* overview */
.overview {display: flex;}
.overview .img {width: 50%; padding-right: 30px;}
.overview .info {flex: 1 1 auto; min-width: 0; width: 1%;}
.overview .info .log {margin-bottom: 50px;}
.overview .info .table {margin: -30px 0;}
.overview .info .table .row {display: flex;flex-wrap:wrap; margin: -10px; padding: 30px 0; border-bottom: 1px solid #dfdfdf;}
.overview .info .table .row:last-child {border-bottom: 0;}
.overview .info .table .col {display: flex; width: 50%; padding: 10px;}
.overview .info .table .col.x2 {width: 100%;}
.overview .info .table .cell {}
.overview .info .table .cell .group {margin-bottom: 25px;}
.overview .info .table .cell .group:last-child {margin-bottom: 0;}
.overview .info .table .cell .tt {margin-bottom: 15px;}
.overview .info .table .cell .tt span {display: inline-block; color: #fff; background: #36381a; font-size: 0.938em; line-height: 1.667em; padding: 0 8px;}
.overview .info .table .cell.head {width: 105px; color: #1a3638; font-weight: 500;}
.overview .info .table .cell.data {flex: 1 1 auto; min-width: 0; width: 1%; color: #2c2c2c;}

/* history */
.history {}
.history .head {width: 141px; margin: 0 auto;}
.history .head .deco {padding-bottom: 100%; background:no-repeat url("../images/sub/history_deco.png") 50% 50% / contain;}

.history .body {position: relative; padding-top: 40px; margin-top: 30px;}
.history .body .line {content:''; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #dfdfdf; z-index: -1;}
.history .body:before,
.history .body:after {content:''; position: absolute; left: 50%; margin-left: -3px; width: 7px; height: 7px; background: #ccc; border-radius:100%;}
.history .body:before {top: -3px;}
.history .body:after {bottom: -3px;}
.history .body .group {position: relative; width: 50%; padding-bottom: 45px;}
.history .body .group:before {content:''; position: absolute; top: 0;  width: 58px; height: 58px; background: #fff; border: 20px solid #1a3638; border-radius:100%;}
.history .body .year {font-size: 34px; line-height: 1.2; letter-spacing: -.04em; margin-bottom: 18px;}
.history .body .list {}
.history .body .list li {position: relative; font-size: 1.125em; letter-spacing: -.04em;}
.history .body .list li .month {position: absolute; top: 0; color: #5e6048; font-weight: 500; }

.history .body .group:nth-child(odd) {margin-left: 50%; padding-left: 60px;}
.history .body .group:nth-child(odd):before {left: -29px;}
.history .body .group:nth-child(odd) .list li {padding-left: 63px;}
.history .body .group:nth-child(odd) .list li .month {left: 0;}
.history .body .group:nth-child(even) {margin-right: 50%; padding-right: 60px; text-align: right;}
.history .body .group:nth-child(even):before {right: -29px;}
.history .body .group:nth-child(even) .list li {padding-right: 63px;}
.history .body .group:nth-child(even) .list li .month {right: 0;}

/* greetings */
.greetings .head {height: 380px; background: no-repeat url("../images/sub/greetings.jpg") center center / cover;}
.greetings .body {display: flex;}
.greetings .body .left {width: 43.3333333%; display: flex;flex-direction: column;justify-content: space-between; text-align: right; margin-top: 40px; padding: 0 40px; border-right: 1px solid #000;}
.greetings .body .right {flex: 1 1 auto; min-width: 0; width: 1%; background: #fff; padding-left: 10%; padding-top: 46px; margin-top: -135px;}
.greetings .body .right h3 {font-size: 32px; line-height: 1.438em; letter-spacing: -.04em; margin-bottom: 1em;}
.greetings .body .right p {color: #878787; line-height: 2em; margin-bottom: 1em;}
.greetings .body .right p.sign {color: #2c2c2c; font-weight: 500; margin-bottom: 0; margin-top: 2em;}
.greetings .body .right p.sign img {vertical-align:middle; margin: -.2em 0 0 23px;}


/* location */
.root_daum_roughmap {width:100% !important;}
.loc-info {display: flex;flex-wrap:wrap;justify-content: space-between; margin-top: 25px; font-size: 1.125em; font-weight: 500; line-height: 1.75; letter-spacing: -.04em;}
.loc-info .addr {margin-right: 15px;}
.loc-info .addr .zip {color: #36381a; margin-right: 10px;}
.loc-info .contact {margin: 0 -12px;}
.loc-info .contact span {display: inline-block; margin: 0 12px;}
.loc-info .contact .ico {display: inline-block; vertical-align:middle; width: 16px; height: 16px; margin: -.2em 2px 0 0; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.loc-info .contact .ico-tel {background-image:url("../images/sub/ico_tel.png");}
.loc-info .contact .ico-fax {background-image:url("../images/sub/ico_fax.png");}

/* 사업소개 */
.biz-border-list {}
.biz-border-list .group {display: flex; padding: 38px 5%; border: 2px solid #dfdfdf; margin-bottom: 10px;}
.biz-border-list .group:last-child {margin-bottom: 0;}
.biz-border-list .tt {width: 325px; font-size: 24px; font-weight: 700; line-height: 1.4; letter-spacing: -.04em; border-right: 1px solid #dfdfdf;}
.biz-border-list .tt span {display: block; color: #878787; font-size: 14px; font-weight: 400; line-height: 1.3; letter-spacing: -.04em; margin-top: 8px;}
.biz-border-list .cnt {flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 30px;}
.biz-border-list .cnt ul {margin: -.4em 0;}
.biz-border-list .cnt ul li {font-size: 1.125em; font-weight: 600; line-height: 1.75; letter-spacing: -.04em; margin: .4em 0;}
.biz-border-list .cnt ul li .sm {color: #878787; font-size: 0.813em; font-weight: 400;}

.biz-box-list {display: flex;flex-wrap:wrap; margin: -20px;}
.biz-box-list .box {width: 50%; padding: 20px;}
.biz-box-list .box .in {background: #f4f4f4; height: 100%; padding: 40px 40px 35px;}
.biz-box-list .box .in .num-list {font-size: 1.125em; font-weight: 600; line-height: 1.75; letter-spacing: -.04em;}
.biz-box-list .box .in .hypen-list {color: #878787; font-size: 0.875em; font-weight: 400; margin-top: 8px;}

.biz-box-list.mgt {margin-top: 50px;}

.patent-list {background: #f4f4f4; padding: 40px 5%; margin-top: 40px;}
.patent-list ul {display: flex;flex-wrap:wrap;}
.patent-list ul li {position: relative; width: 50%; padding-left: 14px; color: #505050; font-size: 0.875em; line-height: 2em; letter-spacing: -.04em;}
.patent-list ul li:before {content:"·"; position: absolute; top: 0; left: 0; letter-spacing: 0; font-size: 2em; font-weight: 700; color: #7e806d;}

.ERP {}
.ERP .top {display: table; width: 100%; min-height: 100px; background: linear-gradient(90deg, #36381a 0%, #1a3638 100%); border-radius:50px; text-align: center;}
.ERP .top p {display: table-cell; vertical-align:middle; color: #fff; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: 1em; margin-right: -1em;}
.ERP .middle {height: 100px; background: no-repeat url("../images/sub/ERP_line.png") center center / contain;}
.ERP .bottom {}

.ESA {display: flex;}
.ESA .img {width: 47%; padding-right: 30px;}
.ESA .cnt {flex: 1 1 auto; min-width: 0; width: 1%;}
.ESA .cnt .wrap1 {border-bottom: 1px solid #dfdfdf; margin-bottom: 35px;}
.ESA .cnt .wrap1 dl {margin-bottom: 40px;}
.ESA .cnt .wrap1 dl dd {color: #505050; line-height: 2; margin-top: -8px;}
.ESA .cnt .wrap2 strong {display: block; font-size: 1.125em; font-weight: 600; line-height: 1.5; letter-spacing: -.04em; margin-bottom: 17px;} 
.ESA .cnt .wrap2 ul {color: #878787; font-size: 0.875em; line-height: 2; letter-spacing: -.04em;} 

.AMS .cnt {display: flex;}
.AMS .cnt .left {width: 61.75%; margin-right: 40px;}
.AMS .cnt .right {flex: 1 1 auto; min-width: 0; width: 1%;}
.AMS .biz-border-list .group {padding: 31px 5%;}

/* 인사제도 */
.philosophy {}
.philosophy .group {display: flex; margin-bottom: 85px;}
.philosophy .group:last-child {margin-bottom: 0;}
.philosophy .group .img {width: 58.181818%;}
.philosophy .group:nth-child(odd) .img {order: 2; text-align: right; padding-left: 30px;}
.philosophy .group:nth-child(even) .img {padding-right: 30px;}
.philosophy .group .txt {flex: 1 1 auto; min-width: 0; width: 1%;}
.philosophy .group .txt strong {display: block; font-size: 28px; line-height: 1.3; letter-spacing: -.04em; margin: 42px 0 25px;}
.philosophy .group .txt p {color: #505050; line-height: 2em;}

.benefit {}
.benefit dl {margin-bottom: 40px;}
.benefit dl:last-child {margin-bottom: 0;}
.benefit dl dt {margin-bottom: 22px;}
.benefit dl dt span {display: inline-block; color: #fff; font-size: 1.125em; line-height: 50px; letter-spacing: -.04em; padding: 0 30px; border-radius:30px;}
.benefit dl:nth-child(odd) dt span {background: #36381a;}
.benefit dl:nth-child(even) dt span {background: #1a3638;}
.benefit dl dd {color: #505050; line-height: 2em;}

.HRD {position: relative; padding-left: 60px;}
.HRD:before,
.HRD:after {content:''; position: absolute; left: 0;}
.HRD:before {width: 20px; top: 0; bottom: 0; background: linear-gradient(180deg, #fafafa 0%, #ccc 100%);}
.HRD:after {width: 0; height: 0; border-top: 40px solid #ccc; border-right: 40px solid transparent; bottom: -40px;}
.HRD .group {margin-bottom: 55px;}
.HRD .group:after {content:""; display:block; clear:both;}
.HRD .group .tt {float: left; width: 362px; font-size: 26px; font-weight: 700; letter-spacing: -.04em; margin-bottom: 20px;}
.HRD .group .tt span {display: inline-block; vertical-align:middle; color: #fff; font-size: 18px; font-weight: 400; line-height: 50px; letter-spacing: -.04em; padding: 0 30px; border-radius:30px; margin-right: 22px;}
.HRD .group:nth-child(odd) .tt span {background: #36381a;}
.HRD .group:nth-child(even) .tt span {background: #1a3638;}
.HRD .group .cnt {float: left;}
.HRD .group .cnt .col {display: inline-block; color: #878787; margin-right: 80px;}
.HRD .group .cnt .col:last-child {margin-right: 0;}
.HRD .group .cnt .col strong {display: block; color: #2c2c2c; font-size: 1.25em; font-weight: 500; line-height: 1.3; letter-spacing: -.04em; margin-bottom: 16px;}

.partner {}
.partner .txt {margin-bottom: 40px;}
.partner .txt span {display: block; color: #1a3638; font-weight: 500; line-height: 1.4; margin-bottom: 15px;}
.partner .txt strong {display: block; font-size: 32px; line-height: 1.438em; letter-spacing: -.04em;}
.partner ul {display: flex;flex-wrap:wrap;}
.partner ul li {position: relative; width: 25%; border: 1px solid #dfdfdf; top: 1px; left: 1px; margin-left: -1px; margin-top: -1px;}