@charset "utf-8";

/*공통*/
.fz14 {font-size:14px !important;}
.txt-blue {color:var(--color-primary) !important;}

.doc-tit {font-size:30px; font-weight:700; line-height:1.2em; letter-spacing:-0.02em; color:#242424; text-align:center;}
.doc-tit.type2 {margin-bottom:20px !important;}
.sub-tit {margin-bottom:55px; font-weight:400; letter-spacing:-0.02em; color:#454545; text-align:center;}
.doc-cnt {margin-bottom:100px;}
.doc-cnt:last-child {margin-bottom:0;}

.sub-cont {padding:100px 0;}
.bg-gray {position:relative;}
.bg-gray:before {content:''; position:absolute; width:100vw; height:100%; left:50%; top:0; background:#f8f8f8; transform:translateX(-50%); z-index:-1;}

/* greeting */
.greeting .bg {margin-bottom:50px;}
.greeting .cnt {display:flex;}
.greeting .cnt .img {width:300px; margin-left:63px; text-align:right; border-left:1px solid #ddd;}
.greeting .cnt .txt-wrap {flex:1 1 auto; min-width:0; width:1%;}
.greeting .cnt .txt-wrap .tit {margin-bottom:22px; font-size:26px; font-weight:700; line-height:1.2em; letter-spacing:0; color:#242424;}
.greeting .cnt .txt-wrap .txt {margin-bottom:22px; font-size:18px; font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}
.greeting .cnt .txt-wrap .txt:last-child {margin-bottom:0;}
.greeting .cnt .txt-wrap .sign {margin-top:50px; font-weight:500; text-align:right;}

/* history */
.history .bg {margin-bottom:65px; padding:90px 10px; background:url('../images/sub/history-bg.jpg') no-repeat 50% 50%; background-size:cover; border-radius:10px; text-align:center;}
.history .bg .tit {font-size:30px; font-weight:500; line-height:1.5em; letter-spacing:-0.03em; color:#fff;}
.history .bg .tit strong {font-weight:600;}
.history .cnt .group {position:relative; padding-right:calc(50% + 65px); padding-bottom:55px; text-align:right;}
.history .cnt .group:nth-child(even) {padding-right:0; padding-left:calc(50% + 65px); text-align:left;}
.history .cnt .group:before {content:''; position:absolute; width:1px; height:100%; left:50%; top:15px; margin-left:-0.5px; background:#ddd;}
.history .cnt .group:after {content:''; position:absolute; width:13px; height:13px; left:50%; top:15px; margin-left:-6.5px; background:url('../images/sub/icon-dot.png') no-repeat 50% 50%; background-size:contain;}
.history .cnt .group:last-child {padding-bottom:0;}
.history .cnt .group:last-child:before {display:none;}
.history .cnt .year {margin-bottom:14px; font-size:38px; font-weight:600; line-height:1.2em; letter-spacing:-0.03em; color:#00327f;}
.history .cnt ul li {font-weight:400; line-height:1.6em; letter-spacing:-0.03em; color:#454545;}

/* philosophy */
.philosophy .quote {text-align:center; margin-bottom:57px;}
.philosophy .quote p {display:inline-block; position:relative; font-size:28px; font-weight:600; line-height:1.2em; letter-spacing:-0.02em; color:#242424;}
.philosophy .quote p span {display:inline-block; width:15px; height:10px; vertical-align:top;}
.philosophy .quote .left {background:url('../images/sub/quote-left.png') no-repeat 50% 50%; background-size:contain; margin-right:10px;}
.philosophy .quote .right {background:url('../images/sub/quote-right.png') no-repeat 50% 50%; background-size:contain; margin-left:10px;}
.philosophy .circle {margin-bottom:60px;}
.philosophy .circle ul {display:flex; justify-content:center;}
.philosophy .circle ul li {position:relative; margin-left:-20px;}
.philosophy .circle ul li:before {content:''; position:absolute; width:11px; height:11px; background:url('../images/sub/icon-plus.png') no-repeat 50% 50%; left:6px; top:50%; margin-top:-5.5px;}
.philosophy .circle ul li:first-child:before {display:none;}
.philosophy .circle ul li:first-child {margin-left:0;}

.philosophy .text-list ul {display:flex; flex-wrap:wrap; margin:-15px;}
.philosophy .text-list ul li {width:50%; padding:15px;}
.philosophy .text-list ul li .in {display:flex; align-items:center; text-align:center; justify-content:center; padding:10px; height:100%; border:1px solid #ddd; font-weight:400; letter-spacing:-0.02em; color:#454545; text-align:center; border-radius:10px;}

.philosophy .dc2 {position:relative; padding:95px 0; text-align:center;}
.philosophy .dc2:before {content:''; position:absolute; width:100vw; height:100%; left:50%; transform:translateX(-50%); top:0; background:#f5f7fa; z-index:-1;}
.philosophy .dc2 .txt {margin-top:20px; font-weight:400; line-height:1.6em; letter-spacing:-0.02em; color:#454545;}

.philosophy .dc3 .doc-tit {margin-bottom:75px;}
.philosophy .dc3 .col {position:relative; display:flex; padding-bottom:20px;}
.philosophy .dc3 .col:last-child {padding-bottom:0;}
.philosophy .dc3 .col:before {content:''; position:absolute; width:160px; height:1px; background:#acbbd7; left:50%; margin-left:-80px; top:90px;}
.philosophy .dc3 .col:nth-child(even) {flex-direction:row-reverse; text-align:right;}
.philosophy .dc3 .col > div {width:50%;}
.philosophy .dc3 .col .cnt {padding:78px 0 20px 100px;}
.philosophy .dc3 .col:nth-child(even) .cnt {padding-right:100px; padding-left:0;}
.philosophy .dc3 .col .num {margin-bottom:10px; font-size:24px; font-weight:600; line-height:1.2em; letter-spacing:-0.01em; color:#013181;}
.philosophy .dc3 .col .txt {font-weight:400; line-height:1.6em; letter-spacing:-0.01em; color:#242424;}

/* directions */
.page-menu {margin-bottom:80px;}
.page-menu ul {display:flex; flex-wrap:wrap; margin:-5px;}
.page-menu ul li {width:25%; padding:5px;}
.page-menu ul li a {display:block; padding:16px 10px; font-size:18px; font-weight:500; line-height:1.2em; letter-spacing:-0.03em; color:#808080; text-align:center; border:1px solid #ddd; border-radius:8px;}
.page-menu ul li a:hover,
.page-menu ul li.active a {background:#00327f; border-color:#00327f; color:#fff;}

.location-wrap {position:relative;}
.location {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; z-index:-1;}
.location.on {opacity:1; z-index:1; position:relative;}
.local-map .root_daum_roughmap {width:100% !important; height:550px !important;}
.local-map .root_daum_roughmap .wrap_map {height:550px !important;}

.local-info .addr {position:relative; margin:55px 0 40px 0;}
.local-info .addr .more {position:absolute; right:0; top:0;}
.local-info .addr .more a {display:inline-block; position:relative; padding:16px 26px 16px 60px; background:#00327f; font-size:17px; font-weight:500; line-height:1em; letter-spacing:-0.01em; color:#fff;}
.local-info .addr .more a:before {content:''; position:absolute; width:24px; height:22px; background:url('../images/sub/icon-local.png') no-repeat 50% 50%; background-size:contain; left:26px; top:50%; margin-top:-11px;}
.local-info .addr .cate {font-weight:400; line-height:1.2em; letter-spacing:-0.01em; color:#686868;}
.local-info .addr p {font-size:26px; font-weight:600; line-height:1.4em; letter-spacing:-0.01em; color:#242424;}
.local-info table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686;}
.local-info table th {padding:22px 5px; color:#242424; font-size:17px; font-weight:500; line-height:1.5em; background:#fafafa; border-bottom:1px solid #ddd; text-align:center;}
.local-info table td {padding:22px 30px; color:#454545; font-weight:400; line-height:1.4em; border-bottom:1px solid #ddd;}

/* business */
.business-cate ul {display:flex; flex-wrap:wrap; margin:-15px;}
.business-cate ul li {width:25%; padding:15px;}
.business-cate ul li a {position:relative; display:block; height:100%; padding:30px 10px; text-align:center; border-radius:10px;}
.business-cate ul li .icon {width:115px; height:115px; margin:0 auto 20px auto; border-radius:100%; transition:0.2s all ease;}
.business-cate ul li .tit {margin-bottom:20px; font-size:20px; font-weight:500; line-height:1.2em; letter-spacing:-0.02em; color:#242424;}
.business-cate ul li .arw {width:58px; height:42px; margin:0 auto; text-indent:-999em; overflow:hidden; background:url('../images/sub/arw.png') no-repeat 50% 50%;}
.business-cate ul li a:before {content:''; position:absolute; left:0; top:0; width:100%; height:100%; border-radius:10px; border:1px solid #ddd; transition:0.2s all ease;}
.business-cate ul li a:hover:before {border:2px solid #00327f;}
.business-cate ul li a:hover .icon {box-shadow:3px 3px 7px rgba(0,0,0,0.3);}
.business-cate ul li a:hover .arw {background-image:url('../images/sub/arw02.png');}

.business .top-cont {display:flex; align-items:center;}
.business .top-cont.type2 {flex-direction:row-reverse;}
.business .top-cont .cnt {flex:1 1 auto; min-width:0; width:1%; padding-left:80px;}
.business .top-cont.type2 .cnt {padding-left:0; padding-right:80px;}
.business .top-cont dt {margin-bottom:10px; font-size:28px; font-weight:700; line-height:1.4em; letter-spacing:-0.02em; color:#242424;}
.business .top-cont dd {font-weight:400; line-height:1.6em; letter-spacing:-0.02em; color:#454545; margin-bottom:10px;}
.business .top-cont dd:last-child {margin-bottom:0;}
.business .doc-tit {margin-bottom:55px;}

.business .table-wrap table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686;}
.business .table-wrap table th {height:53px; padding:9px 5px; color:#242424; font-size:17px; font-weight:500; line-height:1.5em; background:#fafafa; border-bottom:1px solid #ddd; border:1px solid #ddd;}
.business .table-wrap table td {height:53px; padding:9px 5px; color:#454545; font-size:16px; font-weight:400; line-height:1.2em; text-align:center; border-bottom:1px solid #ddd; border:1px solid #ddd;}

.business .table-wrap table tr th:first-child,
.business .table-wrap table tr td:first-child {border-left:0;}
.business .table-wrap table tr th:last-child,
.business .table-wrap table tr td:last-child {border-right:0;}


.business .table-wrap02 table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686;}
.business .table-wrap02 table th {height:53px; padding:9px 5px; color:#242424; font-size:17px; font-weight:500; line-height:1.5em; background:#fafafa; border-bottom:1px solid #ddd;}
.business .table-wrap02 table td {height:53px; padding:15px 30px; color:#454545; font-size:16px; font-weight:400; line-height:1.8em; border-bottom:1px solid #ddd; border-right:1px solid #ddd;}
.business .table-wrap02 table th:last-child,
.business .table-wrap02 table td:last-child {border-right:0;}
.business .table-wrap02.typtAEO table th {border-right:1px solid #ddd;}
.business .table-wrap02.typtAEO table th:last-child {border-right:0;}


.step-list {display:flex; justify-content:space-between;}
.step-list li {position:relative; text-align:center; flex:1;}
.step-list li:before {content:''; position:absolute; width:100%; height:1px; background:#ddd; left:50%; top:95px; z-index:-1;}
.step-list li:last-child:before {display:none;}
.step-list .num {margin:10px auto; width:25px; height:25px; line-height:23px; font-weight:500; letter-spacing:-0.02em; color:#00327f; border-radius:100%; text-align:center; border:1px solid #00327f; background:#fff;}
.step-list .tit {font-size:18px; font-weight:500; line-height:1.8em; letter-spacing:-0.02em; color:#454545;}

.step-list2 {display:flex; justify-content:space-between;}
.step-list2 li {position:relative; text-align:center; flex:1;}
.step-list2 li:before {content:''; position:absolute; width:100%; height:1px; background:#ddd; left:50%; top:147px; z-index:-1;}
.step-list2 li:last-child:before {display:none;}
.step-list2 .tt {margin-bottom:18px; font-size:18px; font-weight:500; line-height:1em; letter-spacing:-0.02em; color:#013181; min-height:2em;}
.step-list2 .num {margin:10px auto; width:25px; height:25px; line-height:23px; font-weight:500; letter-spacing:-0.02em; color:#00327f; border-radius:100%; text-align:center; border:1px solid #00327f; background:#fff;}
.step-list2 .tit {margin-bottom:15px; font-size:18px; font-weight:500; line-height:1.8em; letter-spacing:-0.02em; color:#454545;}
.step-list2 .txt {font-weight:400; letter-spacing:-0.02em; color:#454545;}


.biz1 .dc2 ul {display:flex; justify-content:center; margin:0 -15px;}
.biz1 .dc2 ul li {width:20%; padding:0 15px;}
.biz1 .dc2 ul li .in {padding:5px; min-height:115px; display:flex; align-items:center;justify-content:center; text-align:center; font-size:15px; font-weight:400; line-height:1.7em; letter-spacing:-0.045em; color:#454545; border:3px solid #e5eaf2; border-radius:10px;}

.biz2 .dc1 .table-tit {display:inline-block; min-width:175px; padding:0 20px; margin-bottom:30px; font-size:22px; font-weight:500; line-height:50px; letter-spacing:-0.02em; color:#fff; background:#00327f; border-radius:100vh;}
.biz2 .dc1 .wrap {display:flex; margin:0 -15px;}
.biz2 .dc1 .wrap > div {width:50%; padding:0 15px; text-align:center;}
.biz2 .dc1 .wrap td {height:110px;}
.biz2 .dc1 .wrap tr:last-child td {height:53px;}


.step-list3 > li {display:flex; align-items:center; padding-bottom:60px; position:relative;}
.step-list3 > li:before {content:''; position:absolute; width:1px; height:100%; top:40%; left:105px; background:#ddd; z-index:-1;}
.step-list3 > li:last-child {padding-bottom:0;}
.step-list3 > li:last-child:before {display:none;}
.step-list3 .icon {flex:0 0 auto;}
.step-list3 .num {margin:0 20px; width:25px; height:25px; line-height:23px; font-weight:500; letter-spacing:-0.02em; color:#00327f; border-radius:100%; text-align:center; border:1px solid #00327f; background:#fff;}
.step-list3 .tit {min-width:162px; font-size:18px; font-weight:500; line-height:1.2em; letter-spacing:-0.02em; color:#242424;}
.step-list3 .cnt {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; min-height:110px; border-radius:10px; background:#f8f8f8; padding:0 25px;}
.step-list3 .cnt li {position:relative; padding-left:7px; letter-spacing:-0.02em; color:#454545;}
.step-list3 .cnt li:before {content:''; position:absolute; width:2px; height:2px; left:0; top:12px; background:#454545; border-radius:100%;}

.biz4 .dc1 .img {margin-bottom:60px;}
.biz4 .dc1 .table-wrap table td {height:auto;}

.biz5 .dc2 > ul {display:flex; justify-content:center; margin:0 -15px 50px;}
.biz5 .dc2 > ul > li {width:20%; padding:0 15px;}
.biz5 .dc2 > ul > li .in {min-height:200px; display:flex; flex-direction:column; align-items:center;justify-content:center; text-align:center; border:3px solid #e5eaf2; border-radius:10px;}
.biz5 .dc2 > ul > li .icon {margin-bottom:18px;}
.biz5 .dc2 > ul > li .tit {font-size:17px; font-weight:500; line-height:1.4em; letter-spacing:-0.035em; color:#242424;}
.biz5 .table-wrap02 table th br {display:none;}
.biz5 .table-wrap02 table td ul li {position:relative; padding-left:10px;}
.biz5 .table-wrap02 td ul li:before {content:''; position:absolute; width:4px; height:1px; background:#454545; left:0; top:14px;}


.biz7 .dc1 .table-tit {display:inline-block; min-width:80%; padding:0 30px; margin-bottom:30px; font-size:22px; font-weight:500; line-height:50px; letter-spacing:-0.02em; color:#fff; background:#00327f; border-radius:100vh; text-align:center;}
.biz7 .dc1 .table-wrap table td {height:150px; padding:10px; text-align:left;}
.biz7 .dc1 .table-wrap table td ul li {position:relative; padding-left:10px; margin-bottom:10px;}
.biz7 .dc1 .table-wrap table td ul li:before {content:''; position:absolute; width:4px; height:1px; background:#454545; left:0; top:10px;}
.biz7 .dc1 .table-wrap table td ul li:last-child {margin-bottom:0;}

.biz7 .dc1 .wrap {display:flex; margin:0 -15px 55px;}
.biz7 .dc1 .wrap > div {width:50%; padding:0 15px; text-align:center;}
.biz7 .dc1 .wrap:last-child {margin-bottom:0;}
.biz7 .dc1 .gray-box {padding:30px 10px; background:#f8f8f8; border-radius:10px; text-align:left;}
.biz7 .dc1 .gray-box p {font-weight:400; letter-spacing:-0.02em; color:#454545; margin-bottom:10px;}
.biz7 .dc1 .gray-box p:last-child {margin-bottom:0;}
