@charset "utf-8";

.message-box {position: relative; padding: 93px; background: #f7f7f7; border-radius: 20px 160px 20px 20px;}
.message-box .ceo-photo {position: absolute; right: 45px; bottom: 0;}
.message-box:before {position: absolute; content: ''; right: 0; top: 0; width: 28px; height: 28px; border-radius: 100%; background: #5d953a;}

.sign strong {margin-left: 25px;}

#CEOhistory .flex-wrap {padding: 0 60px;}
.flex-wrap {display: flex; gap: 60px; justify-content: space-between;}
.flex-wrap .message-box {padding: 50px 55px 0; width: fit-content; height: fit-content; width: 43.242%;}
.flex-wrap .position {color: #898989; margin-bottom: 15px; margin-top: 55px;}
.flex-wrap ul.fz18 {padding-bottom: 13px; margin-bottom: 13px; border-bottom: 1px dashed #ddd;}
.ceo-profile {width: 47.964%;}

.history-cnt {position: relative; padding-top: 70px;}
.history-cnt:before {position: absolute; content: ''; left: 50%; top: 10px; width: 1px; height: calc(100% - 100px); background: #ddd;}
.history-cnt:after {position: absolute; content: ''; top: 0; left: 50%; transform: translate(-50%, -50%); width: 34px; height: 34px; border-radius: 100%; background: #5d953a; border: 11px solid #f2f2f2;}
.history-cnt .item {position: relative; width: 50%; padding-left: 80px; margin-left: auto;}
.history-cnt .item:not(:last-child) {margin-bottom: 15px;}
.history-cnt .item:nth-child(odd) {padding-left: 0; padding-right: 80px; margin-left: 0; text-align: right;}
.history-cnt .item:before, .history-cnt .item:after {position: absolute; content: ''; top: 1px; left: 0; width: 24px; height: 24px; margin-left: -12px; border-radius: 100%;}
.history-cnt .item:before {width: 24px; height: 24px; margin-left: -12px; background: #5d953a; border: 8px solid #f2f2f2;}
.history-cnt .item:after {width: 24px; height: 24px; margin-left: -12px; border: 1px solid #ddd;}
.history-cnt .item:nth-child(odd):before, .history-cnt .item:nth-child(odd):after {left: auto; right: 0; margin-left: 0; margin-right: -12px;}
.history-cnt .item:nth-child(odd):after {left: auto; right: 0; margin-left: 0; margin-right: -12px;}
.history-cnt .year {position: relative; margin-bottom: 18px; font-weight: 700; font-size: 30px; color:#242424;}
.history-cnt .year:before {position: absolute; content: ''; top: 12px; left: -8px; transform: translateX(-100%); width: 57px; height: 1px; border-top: 1px solid #ddd;}
.history-cnt .item:nth-child(odd) .year:before {left: auto; right: -8px; transform: translateX(100%);}
.year-cnt li {display: flex; gap: 5px;}
.history-cnt .item:nth-child(odd) .year-cnt li {flex-direction: row-reverse;}
.history-month {width: 30px; font-weight: 700; color: #5d953a;}

.dot-list li {position: relative; padding-left: 15px;}
.dot-list li:before {position: absolute; content: '·'; left: 0; font-weight: 700; font-size: 24px; color: #ababab;}
.history-cnt .item:nth-child(odd) .dot-list li {padding-left: 0; padding-right: 15px;}
.history-cnt .item:nth-child(odd) .dot-list li:before {left: auto; right: 0;}

.history-welcome {padding: 60px 15px; background: url('../images/sub/bg-history.jpg') no-repeat center right; background-size: cover; border-radius: 30px; color: #fff;}
.history-welcome .welcome-tit {line-height: 1.8em; text-shadow: 3px 3px 5px rgba(0,0,0,.3)}
.history-welcome br {display: none;}

.layout .flex-wrap h2 {position: relative; margin-bottom: 20px; padding-bottom: 20px; width: fit-content;}
.layout .flex-wrap h2:before {position: absolute; content: ''; right: 0; bottom: 0; width: 256px; height: 1px; background: #5d953a;}
.layout .flex-wrap {align-items: center;}
.layout .flex-wrap .img {width: 48.75%;}
.layout .flex-wrap .txt {flex: 1;}

.box-items {display: flex; border-top: 1px solid #686868; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd;}
.box-items .box {flex: 1; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 25px; padding: 50px 15px; border-right: 1px solid #ddd;}
.box-items .box:nth-child(even) {background: #fafafa;}
.box-items h2 {margin-bottom: 5px;}

.table-partners {display: flex; flex-wrap: wrap; gap: 10px;}
.table-partners .item {width: calc((100% - 40px) / 5);}
.table-cnt table {border-collapse: collapse; border-top: 1px solid #686868;}
.table-cnt th {color:#242424; background: #fafafa; font-weight: 600; border-right: 1px solid #ddd;}
.table-cnt th, .table-cnt td {padding: 20px; border-bottom: 1px solid #ddd;}

.philosophy-welcome {padding: 50px 15px; background: url('../images/sub/bg-philosophy.jpg') no-repeat center center; background-size: cover; border-radius: 30px; color: #fff;}
.philosophy h2 {margin-bottom: 5px;}

.family-company {padding: 110px 0; background: url('../images/sub/bg-family-company.jpg') no-repeat center center; background-size: cover;}
.family-company .item {display: flex; gap: 60px; height: 140px;}
.family-logo {display: flex; align-items: center; justify-content: center; width: 18.3333%; border-bottom: 1px solid #686868; text-align: center;}
.family-company .txt {display: flex; align-items: center; justify-content: space-between; flex: 1; border-bottom: 1px solid #686868; padding: 20px;}
.family-company .item:last-child .family-logo,
.family-company .item:last-child .txt {border-bottom: 0;}
.btn-brochure {text-align: center; font-weight: 500; font-size: 14px; color: #222}

.symbols .flex-wrap {align-items: center;}
.symbols .img {border: 1px solid #b2b2b2;}
.symbol-tit {position: relative; padding-left: 35px;}
.symbol-tit:before {position: absolute; content: ''; left: 0; width: 24px; height: 100%; background: url('../images/sub/symbol-tit.png') no-repeat center center; background-size: contain;}

.map-wrap iframe {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#5d953a; 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:#5d953a;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}
.root_daum_roughmap .wrap_controllers {display: none;}

.career .section:not(:last-child) {padding-bottom: 95px; margin-bottom: 95px; border-bottom: 1px dashed #ddd;}

.ideal-talent {position: relative;}
.ideal-talent:before {position: absolute; top: 0; left: 0; z-index: -1;content: ''; width: 100%; height: 60%; background: url('../images/sub/bg-ideal.jpg') no-repeat center center; background-size: cover;}
.ideal-welcome {padding: 75px 15px; color:#fff;}
.ideal-items {display: flex; max-width: 990px; margin: 0 auto; background: #fff; padding-top: 60px;}
.ideal-items .item {flex: 1;}
.ideal-items .tag {margin-bottom: 5px;}
.ideal-items .icon {padding: 21px 0;}

.process-items {display: flex; margin-right: -67px;}
.process-items .item .inner {display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; background: #f1f1f1; color: #2c2c2c; font-weight: 600; font-size: 18px; border-radius: 100%;}
.process-items .item {position: relative; flex: 1; padding-right: 67px;}
.process-items .item:not(:last-child):before {position: absolute; content: ''; top: 0; right: 20px; width: 21px; height: 100%; background: url('../images/sub/process-next.png') no-repeat center center; background-size: contain;}

.career .flex-sec {display: flex;}
.career .flex-sec h2 {width: 33.3334%;}
.career .flex-cnt {flex: 1;}

.hyphen-list li {position: relative; padding-left: 15px;}
.hyphen-list li:before {position: absolute; content: '-'; left: 0;}
.target-list li span {display: inline-block;min-width: 90px;}

.welfare-items {display: flex; flex-wrap: wrap;gap: 35px 0;}
.welfare-items .item {width: 50%; padding-right: 15px;}
.welfare-items h3 {margin-top: 22px;margin-bottom: 10px;}

.inquiry-wrap {display:flex;}
.inquiry-head {width:545px; padding:60px 30px 60px 0;}
.inquiry-head .head {margin-bottom:60px;}
.inquiry-head .head h3 {color:#242424; font-size:28px; line-height:1.33em; letter-spacing:-.03em; margin-bottom:15px;}
.inquiry-head .head p {color:#454545; line-height:1.625em; letter-spacing:-.03em;}
.inquiry-head .contact .item {display:flex; margin-bottom:17px;}
.inquiry-head .contact .item:last-child {margin-bottom:0;}
.inquiry-head .contact .item .ico {width:52px; margin-right:17px;}
.inquiry-head .contact .item dl {flex:1 1 auto; min-width:0; width:1%;}
.inquiry-head .contact .item dt {color:#686868; font-weight:600; line-height:1.33em; margin-bottom:2px;}
.inquiry-head .contact .item dd {color:#242424; font-size:1.250em; font-weight:600; line-height:1.33em;}
.inquiry-form {flex:1 1 auto; min-width:0; width:1%; background:#f9f9f9; padding:50px 40px;}
.inquiry-form .inner {background:#fff; padding:37px 30px 40px;}
.inquiry-form .ico-required {display:inline-block; vertical-align:middle; margin:-.3em 0 0 0; width:16px; height:14px; background:url("../images/sub/inquiry-required.png") 0 50% no-repeat; background-size:contain;}
.inquiry-form .group {margin-bottom:55px;}
.inquiry-form .group:last-child {margin-bottom: 0;}
.inquiry-form .title {display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:25px;}
.inquiry-form .title h4 {color:#242424; font-size:1.125em; line-height:1.33em; letter-spacing:-.03em;}
.inquiry-form .title .required {color:#ababab; font-size:14px; line-height:1.33em;}
.inquiry-form .form {font-size:15px; line-height:1.5em; letter-spacing:-.03em;}
.inquiry-form .form .row {display:flex; flex-wrap:wrap; margin:-5px -15px;}
.inquiry-form .form .col {width:50%; padding:5px 15px;}
.inquiry-form .form .col.col-x2 {width:100%;}
.inquiry-form .form dt {margin-bottom:5px; font-weight:500;}
.inquiry-form .form .input {display:block; width:100%; height:34px; padding:5px 8px; font-size:14px; line-height:1.5em;}
.inquiry-form .form select.input {padding-right:30px; background-size:10px auto; background-position:right 10px center;}
.inquiry-form .form textarea.input {height:100px;}
.inquiry-form .submit-area {display:flex; justify-content: center; margin-top:40px;}
.inquiry-form .form-agree {margin:0;}
.inquiry-form .form-agree .check {text-align:left;}
.inquiry-form .btn-pack.dark {background:#000; border-color:#000;}

.business-intro .inner {max-width: 500px; margin: 0 auto;}
.business-intro .login-content .input {width: 100%; height: 81px; border-radius: 12px; padding: 6px 30px; font-size: 17px; border: 1px solid #686868;}
.business-intro .login-content .group {margin-bottom: 60px;}
.business-intro .login-content .btn-pack.xlarge {width: 100%; height: 80px; font-size: 24px; font-weight: 700; background: #5d953a; border-color: #5d953a; border-radius: 40px;}