@charset "utf-8";

/* 공통 */
.txt-green {color:var(--color-primary);}
.doc-tit {position:relative; padding-left:47px; margin-bottom:30px; font-size:22px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#333;}
.doc-tit:before {content:''; position:absolute; width:35px; height:24px; left:0; top:1px; background:url('../images/sub/bullet01.png') no-repeat 50% 50%; background-size:contain;}
.doc-cnt {padding-left:47px; margin-bottom:77px;}
.doc-cnt:last-child {margin-bottom:0;}

/* 개요 */
.company .top-cont {margin-bottom:80px;}
.company .tit {margin-bottom:25px; text-align:center; font-size:20px; font-weight:600; line-height:1.2em; letter-spacing:-0.02em; color:#242424;}
.company .table-wrap table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #242424;}
.company .table-wrap th {padding:15px 10px; background:#f4f4f4; border-bottom:1px solid #ddd; border-right:1px solid #ddd; font-weight:500; line-height:1.2em; letter-spacing:-0.02em; color:#242424;}
.company .table-wrap td {padding:15px 10px; padding-left:20px; border-bottom:1px solid #ddd; font-weight:400; line-height:1.2em; letter-spacing:-0.02em; color:#454545;}
.history .tit {display:flex; align-items:center; justify-content:center; width:200px; height:200px; margin:0 auto; background:#4f6228; border:20px solid #8fa268; border-radius:100%; text-align:center;}
.history .tit h3 {font-size:30px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#fff;}
.history .cnt {padding-top:70px; position:relative;}
.history .cnt:before {content:''; position:absolute; width:2px; height:70px; left:50%; top:0; background:#4f6228; margin-left:-1px;}
.history .group {position:relative; padding-left:calc(50% + 70px); padding-bottom:88px;}
.history .group:nth-child(even) {padding-left:0; padding-right:calc(50% + 70px); text-align:right;}
.history .group:last-child {padding-bottom:0;}
.history .group .year {position:relative; margin-bottom:24px; font-size:30px; font-weight:700; line-height:1em; letter-spacing:-0.03em; color:#242424;}
.history .group .year:before {content:''; position:absolute; width:50px; top:50%; height:1px; background:#ddd; left:-70px;}
.history .group:nth-child(even) .year:before {left:auto; right:-70px;}
.history .group:after {content:''; position:absolute; width:20px; height:20px; background:#fff; border:5px solid #4f6228; border-radius:100%; left:50%; top:7px; margin-left:-10px;}
.history .group:before {content:''; position:absolute; width:2px; height:100%; left:50%; top:0; background:#4f6228; margin-left:-1px;}
.history .group > ul > li {display:flex; font-size:18px; font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}
.history .group:nth-child(even) > ul > li {justify-content:flex-end;}
.history .group .month {min-width:40px; font-weight:600; color:#242424;}
.history .group:nth-child(even) .month {text-align:left;}

/* greeting */
.greeting .bg {border-radius:50px 0; overflow:hidden; margin-bottom:60px;}
.greeting .cnt {display:flex;}
.greeting .tit-wrap {width:505px;}
.greeting .tit-wrap .tt {margin-bottom:30px; font-weight:700; line-height:1.2em; letter-spacing:0.6em;}
.greeting .tit-wrap .tit {font-size:30px; font-weight:600; line-height:1.4em; letter-spacing:-0.03em; color:#242424;}
.greeting .txt-wrap {flex:1 1 auto; min-width:0; width:1%;}
.greeting .txt-wrap .txt {margin-bottom:25px; font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545; text-align:justify;}
.greeting .txt-wrap .txt.ver2 {text-align:left;}
.greeting .txt-wrap .txt:last-child {margin-bottom:0;}

/* philosophy */
.philosophy {padding-left:55px;}

/* business */
.business .list-num li {position:relative; margin-bottom:18px; padding-left:15px; font-weight:400; letter-spacing:-0.03em; color:#454545;}
.business .list-num li:last-child {margin-bottom:0;}
.business .list-num .num {position:absolute; left:0; font-weight:600; color:#4f6228;}
.business .dc2 dl {margin-bottom:45px;}
.business .dc2 dl:last-child {margin-bottom:0;}
.business .dc2 dt {position:relative; margin-bottom:17px; padding-left:15px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#4f6228;}
.business .dc2 dt:before {content:''; position:absolute; width:3px; height:3px; background:#4f6228; border-radius:100%; left:7px; top:8px;}
.business .dc2 dd {position:relative; padding-left:26px; font-weight:400; letter-spacing:-0.03em; color:#454545;}
.business .dc2 dd:before {content:''; position:absolute; width:5px; height:2px; background:#838383; left:15px; top:13px;}

/* network */
.network p {position:relative; padding-left:10px; margin-bottom:30px; font-weight:400; line-height:1.2em; letter-spacing:-0.03em; color:#454545;}
.network p:before {content:''; position:absolute; width:3px; height:3px; background:#4f6228; border-radius:100%; left:2px; top:7px;}

/* contact */
.root_daum_roughmap {width:100% !important;}
.directions {margin-top:40px;}
.directions .address-info {margin-bottom:30px;}
.directions .address-info .comp {color:#4f6228; 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:#4f6228;}
.directions .contact-info dd {flex:1 1 auto; min-width:0; width:1%; color:#454545;}

@media (max-width: 1024px) {
	.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 .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;}
}


/* talent */
.talent .top-txt {margin-bottom:45px; font-size:30px; font-weight:600; line-height:1.4em; letter-spacing:-0.03em; color:#242424;}
.talent .wrap {display:flex; justify-content:space-between;}
.talent .wrap .box {width:calc(33.333% - 20px); padding:50px 45px; background:#edefe9; border-radius:40px 0;}
.talent .wrap .box:nth-child(even) {background:#f6f7f4;}
.talent .wrap .icon {margin-bottom:20px;}
.talent .wrap .tit {margin-bottom:13px; font-size:20px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#242424;}
.talent .wrap .tit span {display:block; margin-bottom:10px; font-size:16px; line-height:1em; font-weight:500; letter-spacing:-0.03em;}
.talent .wrap .txt {font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}