@charset "utf-8";
/* Common */
.section {padding: 100px 0;}
.section:first-child {padding-top: 0;}
.section:nth-child(even) {background: #f8f8f8;}
.section .sec-cnt {padding-left: 30px;}
.section .sec-cnt:not(:last-child) {margin-bottom: 55px;}
.deco-tit {position: relative; padding-left: 30px; font-weight: 600; font-size: 20px; color: #242424; padding-bottom: 20px; margin-bottom: 15px; border-bottom: 1px solid #ddd;}
.deco-tit:before {position: absolute; content: ''; width: 20px; height: 20px; left: 0; top: 5px; background: url('../images/sub/tit_deco.png') no-repeat center center; background-size: cover;}
.deco-tit.bn {border-bottom: none; margin-bottom: 0;}
.boxes {display: flex; gap: 30px;}
.box {flex: 1; border: 1px solid #ddd; width: fit-content;}
.box.full {width: 100%; display: flex; align-items: center; justify-content: center; padding: 40px; background: #fff;}
.box.full.p23 {padding: 23px;}
.box.full.bot {padding-bottom: 0;}
.dot-list li {position: relative; padding-left: 20px; line-height: 1.5625em; margin-bottom: 25px;}
.dot-list li:last-child {margin-bottom: 0;}
.dot-list li:before {position: absolute; content: ''; width: 6px; height: 6px; background: #285fac; border-radius: 100%; left: 0; top: 9px;}
.dot-list li .point {font-weight: 600;}

/* sub01_01 */
.greetings {position: relative; padding-bottom: 110px;}
.greetings:before {position: absolute;  font-size: 150px; font-weight: 900; color: rgba(0,0,0,.03); letter-spacing: .08em; line-height: .7em;}
.greetings:before {content: 'ENGINEERING'; bottom: 0; left: 0;}
.greetings .txt-large {font-size: 34px; line-height: 1.3235em; color: #242424; font-weight: 500;}
.greetings .img {margin: 55px 0; position: relative;}
.greetings .img:before {position: absolute; content: 'HANMI'; font-size: 150px; font-weight: 900; color: rgba(0,0,0,.03); letter-spacing: .08em; line-height: .7em; top: 0; right: -18px; transform: translateY(-100%);}
.greetings .txt {font-size: 20px; line-height: 1.9em;}
.greetings .sign {display: flex; justify-content: flex-end; gap: 20px; font-weight: 500; font-size: 18px; margin-top: 50px;}

/* sub01_02 */
.history .imgs {display: flex; justify-content: space-between; gap: 10px; margin-bottom: 55px;}
.history-cnt {display: flex; gap: 40px;}
.history-cnt > div {flex: 1;}
.history-cnt .tag-deco {font-size: 18px; font-weight: 600; letter-spacing: 0; background: -webkit-gradient(linear, 100% 0, 0 0, from(#285fac), to(#1a935e));fz18background: -webkit-linear-gradient(to right, #285fac, #1a935e);fz18background: -moz-linear-gradient(to right, #285fac, #1a935e);fz18background: -o-linear-gradient(to right, #285fac, #1a935e);fz18background: linear-gradient(to right, #285fac, #1a935e);color: transparent; -webkit-background-clip: text; width: fit-content;}
.history-cnt h3 {font-weight: 600; font-size: 28px; color: #242424; line-height: 1.4286em; margin-top: 15px;}
.years {position: relative;}
.years:before {position: absolute; content: ''; width: 1px; height: calc(100% - 20px); background: #ddd; left: 85px; top: 10px;}
.years .item {display: flex; padding-bottom: 50px;}
.years .item:last-child {padding-bottom: 0;}
.years .year {font-weight: 700; font-size: 24px; color: #285fac; min-width: 85px; margin-right: 30px; position: relative;}
.years .year:before {position: absolute; content: ''; width: 15px; height: 15px; border-radius: 100%; border: 3px solid #1a935e; right: 0; top: 50%; transform: translate(50%, -50%); background: #fff;}
.years .bolder {font-weight: 600; color: #242424;}
.root_daum_roughmap, .root_daum_roughmap .wrap_map {width: 100% !important;}

.location-cnt {margin-top: 55px;}
.location-cnt > div {display: flex;}
.location-cnt .point {font-weight: 700; font-size: 22px;}
.location-cnt .info {gap: 50px; margin-top: 20px;}
.location-cnt .div-r {position: relative; padding-right: 15px; margin-right: 15px;}
.location-cnt .div-r:before {position: absolute; content: ''; width: 1px; height: 10px; background: #ddd; right: 0; top: 50%; margin-top: -5px;}
.location-cnt .item {display: flex;}
.location-cnt .item-tit {font-weight: 500; font-size: 20px; color: #242424;}
.location-cnt .ico {margin-right: 10px;}

/* sub02 */
.flex-box {display: flex; justify-content: space-between; gap: 40px; align-items: center; padding-top: 5px;}
.flex-box .box {flex: none;}

.table-items {display: flex; border: 1px solid #ddd;}
.table-items .item {flex: 1; border-right: 1px solid #ddd;}
.table-items .item:last-child {border-right: none;}
.table-items .tit {background: #7f7f7f; color: #fff; font-weight: 700; font-size: 18px; text-align: center; padding: 15px;}
.table-items .txt {padding: 20px 10px; text-align: center;}
.table-items .item-tit {font-weight: 600; font-size: 18px;}

.f-wrap {flex-wrap: wrap;}
.w-x3 .item {width: calc((100% - 60px) / 3);}
.box-tit {color: #fff; background: #285fac; font-size: 18px; font-weight: 600; text-align: center; padding: 10px;}
.box-tit.gray {background: #7f7f7f;}
.table-cnt table {width: 100%; border-collapse: collapse; border-top: 2px solid #242424;}
.table-cnt thead th {font-weight: 600; font-size: 18px; color: #242424; background: #f8f8f8; padding: 15px 10px;}
.table-cnt tbody th {font-weight: 400; line-height: 1.25em; padding: 20px 10px;}
.table-cnt tbody th.height {padding: 40px 10px;}
.table-cnt th {border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.table-cnt th:last-child {border-right: none;}
.table-cnt th.bry {border-right: 1px solid #ddd;}

.bsg .boxes > div {flex: 1;}
