.sub-tab {text-align: center; margin-bottom: 60px;}
.sub-tab ul {display: flex;flex-wrap:wrap;justify-content: center; margin: -5px -10px;}
.sub-tab ul li {min-width: 190px; border: 1px solid #a1c517; border-radius: 50vh; background-color: #fff; margin: 5px 10px;}
.sub-tab ul li a {display: block; padding: 0 15px; color: #a1c517; font-size: 17px; font-weight: 500; line-height: 48px; letter-spacing: -.03em;}
.sub-tab ul li.active {background-color: #a1c517;}
.sub-tab ul li.active a {color: #fff;}

.doc-section {margin-bottom: 100px;}
.doc-section.bg {padding: 100px 0; background-color: #f8f8f8; background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.doc-section.bg1 {background-image:url("../images/sub/bg_sub0301.jpg");}
.doc-section:last-child {margin-bottom: 0;}
.doc-tit {position: relative; color: #242424; font-size:20px; letter-spacing:-.03em; line-height:1.4em; padding-left: 32px; margin-bottom: 10px;}
.doc-tit:before {content:""; position: absolute; top: 3px; left: 0; width: 22px; height: 22px; background-image:url("../images/sub/bullet.png"); background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.doc-tit.line {padding-bottom: 10px; border-bottom: 1px solid #ddd;}
.doc-cnt {margin-bottom: 95px;}
.doc-cnt:last-child {margin-bottom: 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-weight: 700; color: #f08500;}

.pic-list {}
.pic-list ul {display: flex;flex-wrap:wrap;	margin: 0 -15px; text-align: center;}
.pic-list ul li {width: 33.3333333%; padding: 0 15px;}
.pic-list ul li .pic img {width: 100%;}
.pic-list ul li p {font-size: 1.125em; font-weight: 500; line-height: 1.5; letter-spacing: -.03em; margin-top: 15px;}

.pic-list ul.w2 {display: flex;flex-wrap:wrap;	margin: -30px;}
.pic-list ul.w2 li {width: 50%; padding: 30px;}

.pic-list2 {}
.pic-list2 ul {display: flex;flex-wrap:wrap; margin: 0 -37.5px;}
.pic-list2 ul li {width: 33.3333333%; padding: 0 37.5px;}
.pic-list2 ul li .pic {margin-bottom: 30px;}
.pic-list2 ul li .pic img {width: 100%;}
.pic-list2 ul li strong {display: block; font-size: 1.375em; font-weight: 600; line-height: 1.4; letter-spacing: -.04em; margin-bottom: 15px;}
.pic-list2 ul li p {color: #454545; line-height: 1.625; letter-spacing: -.03em;}

.pic-video {position:relative;padding-bottom:114.29%;height:0;overflow:hidden;background:#000;}
.pic-video video{position: absolute;top:0;left:0;width:100%;height:100%;}

.pic-list2.v2 {}
.pic-list2.v2 ul {flex-wrap:nowrap; margin: 0 -7.5px;}
.pic-list2.v2 ul li {width: auto; padding: 0 7.5px;}
.pic-list2.v2 ul li:nth-child(2) {}

.box-list {}
.box-list ul {display: flex;flex-wrap:wrap; margin: -22.5px;}
.box-list ul li {width: 33.3333333%; padding: 22.5px;}
.box-list ul li .in {position: relative; height: 100%; border-radius:12px; background-color: #fff; overflow:hidden;}
.box-list ul li .in:after {content:''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid #ddd; border-radius:inherit;}
.box-list ul li .tit {position: relative; display: table; height: 70px; width: 100%; padding: 0 5px; color: #fff; line-height: 1.3; letter-spacing: -.03em; text-align: center; z-index: 1;}
.box-list ul li .tit.bg1 {background-color: #a1c517;}
.box-list ul li .tit.bg2 {background-color: #65ad35;}
.box-list ul li .tit.bg3 {background-color: #009540;}
.box-list ul li .tit .cell {display: table-cell; vertical-align:middle;}
.box-list ul li .tit p {font-size: 1.25em; font-weight: 500;}
.box-list ul li .tit span {}
.box-list ul li .cnt {padding: 30px; text-align: center; background-color: #fff;}
.box-list ul li .cnt .items {display: flex;flex-wrap:wrap;justify-content: center; margin: -5px;}
.box-list ul li .cnt .items .item {display: table; min-width: 160px; margin: 5px; padding: 16px 3px; border-radius:10px; font-size: 1.25em; line-height: 1.4; letter-spacing: -.03em; font-weight: 600;}
.box-list ul li .cnt .items .item p {display: table-cell; vertical-align:middle;}
.box-list ul li .cnt .items.ty1 .item {background-color: #fafcf3; color: #a1c517;}
.box-list ul li .cnt .items.ty2 .item {background-color: #f2faf5; color: #009540;}
.box-list ul li .cnt .blt {position: relative; padding-left: 35px; margin-bottom: 1em;}
.box-list ul li .cnt .blt:last-child {margin-bottom: 0;}
.box-list ul li .cnt .blt i {position: absolute; top: 1px; left: 0; width: 25px; height: 25px; border-radius:100%; color: #fff; font-weight: 500; line-height: 25px; font-style: normal; text-align: center;}
.box-list ul li .cnt .blt i.bg1 {background-color: #a1c517;}
.box-list ul li .cnt .blt i.bg2 {background-color: #65ad35;}
.box-list ul li .cnt .blt i.bg3 {background-color: #009540;}

.box-list ul.w2 {margin: -30px;}
.box-list ul.w2 li {width: 50%; padding: 30px;}

.top-txt {font-size: 1.75em; font-weight: 500; line-height: 1.5; letter-spacing: -.03em; text-align: center; margin-bottom: 50px;}
.top-txt.md {font-size: 1.5em;}
.top-txt.sm {font-size: 1.125em;}
.top-txt .cnt {margin-bottom: 1.5em;}
.top-txt .cnt:last-child {margin-bottom: 0;}
.top-txt .bg-t {display: inline-block; color: #fff; font-size: 18px; font-weight: 500; line-height: 1.5; padding: 6px 38px; background: linear-gradient(90deg, #9fc518 0%, #009540 100%); border-radius:50vh;}

.sub-head {text-align: center; margin-bottom: 35px;}
.sub-head h3 {font-size: 1.5em; font-weight: 600; line-height: 1.5; letter-spacing: -.03em;}
.sub-head p {color: #454545; line-height: 1.5; letter-spacing: -.03em; margin-top: 6px;}

.indent {padding-left: 32px;}

.btm-bg {margin-top: -110px; height: 425px; background-image:url("../images/sub/bg_overview.jpg"); background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}

.txt-lightgreen {color: #9fc518;}
.txt-green {color: #009540;}
.txt-grey {color: #454545;}
.fsz18 {font-size: 1.125em;}

/* overview */
.overview ul {display: flex;flex-wrap:wrap;justify-content: center; text-align: center;}
.overview ul li {display: table; width: 300px; height: 300px; border-radius:100%; background-color: #fff; border-width: 7px; border-style: solid; box-shadow:rgba(0,0,0,.1) 0 0 20px; margin: 0 -25px;}
.overview ul li:nth-child(1) {border-color:#a1c517;}
.overview ul li:nth-child(2) {border-color:#65ad35;}
.overview ul li:nth-child(3) {border-color:#009540;}
.overview ul li .cell {display: table-cell; width: 100%; vertical-align:middle;}
.overview ul li p {font-size: 1.25em; font-weight: 600; line-height: 1.4; letter-spacing: -.03em; margin-top: 1em;}

/* CI */
.color-palette {}
.color-palette ul {display: flex;flex-wrap:wrap; margin: 0 -15px; text-align: center;}
.color-palette ul li {width: 25%; padding: 0 15px;}
.color-palette ul li .pan {height: 100px; border-radius:12px; margin-bottom: 15px;}
.color-palette ul li .pan.c1 {background-color: #a1c517;}
.color-palette ul li .pan.c2 {background-color: #009540;}
.color-palette ul li .pan.c3 {background-color: #555454;}
.color-palette ul li .pan.c4 {background-color: #929292;}
.color-palette ul li strong {display: block; font-size: 1.125em; font-weight: 500; line-height: 1.5; letter-spacing: -.03em; margin-bottom: 5px;}
.color-palette ul li p {color: #454545; font-size: 0.938em; line-height: 1.4;}
.color-palette ul li .cmyk span {display: inline-block; margin: 0 3px;}

/* greetings */
.greetings {position: relative; max-width: 1960px; margin: 0 auto; overflow:hidden; z-index: 1;}
.greetings .contain {display: flex;}
.greetings .img {width: 43.5%; padding-right: 30px;}
.greetings .txt {flex: 1 1 auto; min-width: 0; width: 1%;}
.greetings .txt h3 {font-size: 1.625em; line-height: 1.538em; letter-spacing: -.03em;}
.greetings .txt p {color: #454545; font-size: 1.063em; line-height: 1.765em; letter-spacing: -.03em; margin-top: 1.25em;}
.greetings .txt p.sign {color: #242424; font-size: 1.125em; font-weight: 600; margin-top: 2.5em;}
.greetings .txt p.sign img {vertical-align:middle; margin: -.2em 0 0 20px;}
.greetings .bg-txt {position: absolute; bottom: 0.05em; left: -1%; font-size: 300px; font-weight: 700; color: #000; line-height: 1em; opacity: .03; cursor: default; white-space: nowrap; z-index: -1;}


/* history */
.history {overflow:hidden;}
.history .head {font-size: 1.25em; font-weight: 500; line-height: 1.5; letter-spacing: -.03em; text-align: center; margin-bottom: 35px;}
.history .head strong {display: inline-block; font-size: 1.5em;}
.history .body {display: flex; margin: 0 -60px;}
.history .body .col {width: 50%; padding: 30px 0; border-right: 1px dashed #ddd; padding: 30px 60px;}
.history .body .col:nth-child(even) {border-right: 0;}
.history .group {position: relative; margin-bottom: 30px; display: flex;}
.history .group:last-of-type {margin-bottom: 0;}
.history .group .year {color: #a1c517; font-size: 1.5em; letter-spacing: -.03em; min-width: 96px;}
.history .col:nth-child(even) .group .year {color: #009540;}
.history .group .list {}
.history .group .list li {display: flex; color: #454545;}
.history .group .list li .month {color: #242424; font-weight: 500; min-width: 56px;}
.history .col:nth-child(odd) .img-wrap {margin-top: 145px;}
.history .col:nth-child(even) .img-wrap {margin-bottom: 80px;}

/* partner */
.partner ul {display: flex;flex-wrap:wrap; margin: -20px;}
.partner ul li {width: 25%; padding: 20px;}

/* location */
.root_daum_roughmap {width:100% !important;}
.root_daum_roughmap .map_border {display:none;}
.root_daum_roughmap .wrap_controllers {display:none;}
.location .map {display: flex; margin: 0 -20px;}
.location .map > div {width: 50%; padding: 0 20px;}
.location .info {margin-top: 25px;}
.location .info dl {display: flex;align-items: center; padding: 12px 0; border-bottom: 1px solid #ddd;}
.location .info dl dt {position: relative; font-size: 1.125em; font-weight: 600; width: 145px; padding-left: 30px;}
.location .info dl dt:after {content:''; position: absolute; top: 50%; right: -1px; width: 1px; height: 10px; margin-top: -5px; background: #ddd;}
.location .info dl dt img {vertical-align:middle; margin: -.2em 16px 0 0;}
.location .info dl dd {flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 30px; color: #454545;}

/* solution */
.solution {max-width: 920px; margin: 0 auto;}
.solution .row {display: flex; margin: 30px 0;}
.solution .icon {display: flex;align-items:center;justify-content:center; width: 120px; height: 120px; border-radius:12px; margin-right: 20px;}
.solution .row:nth-child(1) .icon {background-color: #a1c517;}
.solution .row:nth-child(2) .icon {background-color: #65ad35;}
.solution .row:nth-child(3) .icon {background-color: #039540;}
.solution .cnt {flex: 1 1 auto; min-width: 0; width: 1%; display: table; border-width: 1px; border-style: solid; border-radius:12px;}
.solution .row:nth-child(1) .cnt {border-color:#a1c517;}
.solution .row:nth-child(2) .cnt {border-color:#65ad35;}
.solution .row:nth-child(3) .cnt {border-color:#039540;}
.solution .cnt .cell {display: table-cell; vertical-align:middle; width: 100%; padding: 16px 35px;}
.solution .cnt p {color: #454545;}
.solution .cnt p strong {display: block; color: #242424; font-size: 1.25em; letter-spacing: -.03em;}

.solution-service .title {margin-bottom: 50px; text-align: center;}
.solution-service .title h3 {font-size: 26px; line-height: 1.5; letter-spacing: -.03em; margin-bottom: 12px;}
.solution-service .title p {color: #454545; font-size: 1.25em; line-height: 1.5; letter-spacing: -.03em;}


/* certify */
.certify {text-align: center;}
.certify ul {display:flex; flex-wrap:wrap;justify-content: center; margin: 0 -60px -50px; text-align: center;}
.certify ul li {width: 33.3333333%; padding: 0 15px; margin-bottom:50px;}
.certify ul li p {font-size: 1.125em; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; margin-top: 24px;}

.certify ul.w4 {margin: 0 -17px -60px;}
.certify ul.w4 li {width: 20%; padding: 0 17px; margin-bottom: 60px;}

/* recruit */
.recruit-step {}
.recruit-step ol {display: flex;flex-wrap:wrap; text-align: center; margin-left: -100px;}
.recruit-step ol li {position: relative; display: table; width: 200px; height: 200px; border-radius:100%; background-color: #f8f8f8; margin-left: 100px;  margin-top: 30px;}
.recruit-step ol li:after {content:''; position: absolute; top: 50%; right: -73px; margin-top: -23px; width: 47px; height: 47px; background: no-repeat url("../images/sub/arrow.png") center center / contain;}
.recruit-step ol li:last-child:after {display: none;}
.recruit-step ol li .cell {display: table-cell; vertical-align:middle; width: 100%;}
.recruit-step ol li p {color: #454545; font-size: 1.125em; font-weight: 500; line-height: 1.3; letter-spacing: -.03em; margin-top: 14px;}
.recruit-step ol li:last-child {background-color: #a1c517;}
.recruit-step ol li:last-child p {color: #fff;}
