.txt-indent {text-indent: 0.5em;}

.doc-cnt {margin-bottom: 40px;}
.doc-cnt:last-child {margin-bottom: 0;}
.doc-tit {position: relative;color:#454545; font-size:18px; letter-spacing:-.03em; font-weight:500; line-height:1.365em; margin-bottom:18px; padding-left: 25px;}
.doc-tit:before {content:""; position: absolute; top: 3px; left: 0; width: 18px; height: 18px; background-image:url("../images/sub/bullet.png"); background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}

.border-box {border: 1px solid #ddd; padding: 65px 10px;}
.color-box {padding: 30px 40px; background: #f8f4ec; border-radius:5px;}

.dot-list > li{position:relative; padding-left:15px; font-size: 18px; font-weight: 200; line-height: 1.75em; letter-spacing: -.04em; margin-bottom: 5px;}
.dot-list > li .year {font-weight: 500; min-width: 120px;}
.dot-list > li .medium {font-weight: 500;}
.dot-list > li:last-child{margin-bottom:0;}
.dot-list > li:before{content:""; width:6px; height:6px; border-radius:100%; position:absolute; top:13px; left:0; background:#2c2c2c;}

.dot-list.type2 > li {display: flex;}

.flex-center {display: flex; justify-content: center; align-items: center;}

.top-txt {position: relative; text-align: center; padding: 40px 80px 0; margin-bottom: 60px;}
.top-txt:before, 
.top-txt:after {content:""; position: absolute; top: 0px; width: 44px; height: 44px; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.top-txt:before {left: 28px; background-image:url("/images/sub/quotes1.png");}
.top-txt:after {right: 28px; background-image:url("/images/sub/quotes2.png");}
.top-txt p {font-size: 24px; line-height: 1.583em; letter-spacing: -.04em; color: #2c2c2c;}

/* greetings */
.greetings {display: flex;}
.greetings .img {width: 32.5%;}
.greetings .txt {width: 67.5%; max-width: 794px; padding-top: 7%; padding-left: 50px; background-image:url("../images/sub/bg_greetings.png"); background-position:0 0; background-repeat:no-repeat; background-size:contain;}
.greetings .txt h3 {color: #2c2c2c; font-size: 18px;font-weight: 700;line-height: 1.667em;letter-spacing: -.04em;margin-bottom: 20px;}
.greetings .txt p {color: #505050; line-height: 1.875em; margin-bottom: 15px;}
.greetings .txt p:last-child {margin-bottom: 0;}

/* member */
.member {}
.member ul {display: flex; text-align: center;}
.member ul li {/*width: 25%;*/width: 33.3333%;}
.member ul li a {display: block; padding: 50px 10px;}
.member ul li a:hover {box-shadow:rgba(0,0,0,.2) 2px 0 20px;}
.member ul li .img {width: 200px;height: 200px;margin: 0 auto;position: relative;margin-bottom: 15px;}
.member ul li .img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;box-shadow:rgba(0,0,0,.2) 2px 0 20px; border-radius:100%;}
.member ul li .name {color: #2c2c2c; font-size: 24px; font-weight: 700; line-height: 1.5em; letter-spacing: -.04em; margin-bottom: 10px;}
.member ul li .position:after {content:""; display: block; width: 100px; height: 1px; background: #dfdfdf; margin: 30px auto 20px;}
.member ul li .department {color: #17337b; font-weight: 700;}

/* member-detail */
.member-detail {}
.member-detail .info {padding: 60px 0; margin-bottom: 55px;background-image:url("../images/sub/bg_member_info.png");background-position:50% 50%; background-size:cover;}
.member-detail .info .contain {display: flex;}
.member-detail .info .img{position: relative;width: 280px;height: 280px;border-radius:100%;margin-right: 60px;}
.member-detail .info .img img{position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.member-detail .info .txt{flex: 1 1 auto; min-width: 0; width: 1%;}
.member-detail .txt .tit{border-bottom: 1px solid #dfdfdf; }
.member-detail .txt .tit p{display: inline-block;position: relative;color: #2c2c2c;font-size: 28px;font-weight: 500;line-height: 1.5em; letter-spacing: -.04em; padding-bottom: 15px;}
.member-detail .txt .tit p:after {content:""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; background:#17337b;}
.member-detail .txt ul {margin-top: 30px;}

.member-detail .career .wrap {display: flex;flex-wrap:wrap; margin: 0 -25px -65px;}
.member-detail .career .group {width: 50%; padding: 0 25px; margin-bottom: 65px;}
.member-detail .career .group.x2 {width: 100%;}

/* alliances */
.alliances {}
.alliances .top-txt {max-width: 870px; margin: 0 auto 35px;}


/* consulting */
.consulting {}
.consulting .banner {display: table; table-layout: fixed; width: 100%; height: 354px; padding: 20px;  background-image:url("../images/sub/consulting.jpg");background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.consulting .banner .cell {display: table-cell; vertical-align: middle; color: #fff; text-align: center;}
.consulting .banner p{font-size: 24px; font-weight: 200; line-height: 1.75em; letter-spacing: -.04em; margin-bottom: 2px;}
.consulting .banner p:last-child {margin-bottom: 0;}

.consulting-list {margin-top: 40px;}
.consulting-list > ul {display: flex;flex-wrap:wrap; margin: 0 -10px; margin-bottom: -20px;}
.consulting-list > ul > li {width: 33.3333333%; padding: 0 10px; margin-bottom: 20px;}
.consulting-list > ul > li .in {height: 100%; padding: 30px;}
.consulting-list > ul > li .tit {display: flex;align-items: center; font-size: 20px; font-weight: 700; line-height: 1.5em; letter-spacing: -.04em; margin-bottom: 20px; border-bottom: 1px solid #dfdfdf; padding-bottom: 20px;}
.consulting-list > ul > li .tit .icon {width: 64px;height: 64px;border-radius:100%; margin-right: 15px;}

.consulting-list > ul > li:nth-child(odd) .in {background: #fafafa; border: 1px solid #17337b;}
.consulting-list > ul > li:nth-child(odd) .tit {color: #17337b;}
.consulting-list > ul > li:nth-child(odd) .tit .icon {background: #17337b;}

.consulting-list > ul > li:nth-child(even) .in {background: #fff; border: 1px solid #2b5895;}
.consulting-list > ul > li:nth-child(even) .tit {color: #2b5895;}
.consulting-list > ul > li:nth-child(even) .tit .icon {background: #2b5895;}

.consulting .consulting-list .dot-list > li {font-weight: 500;}

/* portfolio */


.portfolio-list {text-align: center; margin-top: 80px;}
.portfolio-list > ul {display: flex;flex-wrap:wrap; margin: 0 -5px; margin-bottom: -10px;}
.portfolio-list > ul > li {width: 33.3333333%; padding: 0 5px; margin-bottom: 10px;}
.portfolio-list > ul > li .in {height: 100%; padding: 30px 10px 25px 10px; border: 1px solid #dfdfdf;}
.portfolio-list > ul > li p {}
.portfolio-list > ul > li p:before {content:""; display: block; width: 28px; height: 28px; margin: 0 auto 12px; background-image:url("/images/sub/bullet.png"); background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}

.portfolio-list > ul > li:nth-child(odd) .in {background: #fafafa;}
.portfolio-list > ul > li:nth-child(even) .in {background: #fff;}

/* client */
.client {text-align: center;}
.client ul {display: flex;flex-wrap: wrap; margin: 0 -20px; margin-bottom: -40px;}
.client ul li {width: 33.3333333%; padding: 0 20px; margin-bottom: 40px;}
.client ul li .in {display: flex;flex-direction: column;justify-content: center;border: 1px solid #dfdfdf; height: 100%; padding: 28px 10px;}
.client ul li .logo {margin-bottom: 25px;}
.client ul li .tit {color: #2c2c2c;font-size: 18px;font-weight: 700;line-height: 1.5em;letter-spacing: -.04em;margin-bottom: 10px;}
.client ul li .tit.color-blue {color: #17337b;}
.client ul li .desc {color: #878787;font-size: 14px;line-height: 1.571em;letter-spacing: -.04em;}

/* recruitment */
.recruitment {border: 1px solid #dfdfdf;padding: 150px 60px;background-image:url("../images/sub/recruitment.png");background-position:right 50%; background-repeat:no-repeat; background-size:cover;}
.recruitment h3 {color: #2c2c2c;font-size: 32px;font-weight: 200;line-height: 1.5em;letter-spacing: -.04em; margin-bottom: 32px;}
.recruitment h3 strong {color: #17337b;}
.recruitment .btn-recruit {display:inline-block;padding:0 39px;line-height:58px;color: #fff;font-size:18px;letter-spacing: -.04em;background:#17337b;}

/* contact */
.root_daum_roughmap {width:100% !important;}
.root_daum_roughmap .border2 {display: block !important;bottom: -1px !important; border-top: 1px solid #000 !important;}
.root_daum_roughmap .wrap_controllers {display: none;}

.contact .top-txt {max-width: 800px;margin: 0 auto 55px;}

.contact .form-map {display: flex;}
.contact .form-map .gourp {width: 50%;}

.contact .form-map .form {padding: 60px; padding-bottom: 42px; background-image:url("../images/sub/bg_contact.jpg");background-position:50% 50%; background-repeat:no-repeat; background-size:cover;}
.contact .form .contact-form .row {margin-bottom: 10px;}
.contact .form .contact-form .row:last-child {margin-bottom: 0;}
.contact .form .btn {text-align: center;margin-top: 30px;}
.contact .form .btn-send {display: inline-block;overflow: visible;background: #2b5895;color: #fff;border: 0;line-height: 44px;padding: 0 29px;}
.contact .form-map .map {order: 2;}

.check-agree {color: #fff;}

.contact-form .input::placeholder {color: #ccc;}
.contact-form .input::-webkit-input-placeholder {color: #ccc;}
.contact-form .input:-ms-input-placeholder {color: #ccc;}

.contact-info {display: flex;margin-top: 40px; border: 1px solid #dfdfdf; border-right: 0; border-bottom: 0;}
.contact-info dl {width: 33.3333333%;padding: 35px 10px 35px 40px;border-right: 1px solid #dfdfdf; border-bottom: 1px solid #dfdfdf; background-position:85% 113%; background-repeat:no-repeat; background-size:123px;}
.contact-info dl dt {color: #17337b;font-weight: 500;margin-bottom: 13px;}
.contact-info dl dd {color: #2c2c2c;font-size: 30px;font-weight: 500;line-height: 1.667em;letter-spacing: -.04em;}
.contact-info dl.addr dt {margin-bottom: 20px;}
.contact-info dl.addr dd {font-size: 18px;}

.contact-info dl.addr {background-image:url("../images/sub/icon_contact1.png");}
.contact-info dl.tel {background-image:url("../images/sub/icon_contact2.png");}
.contact-info dl.fax {background-image:url("../images/sub/icon_contact3.png");}

/* location */
.root_daum_roughmap {width:100% !important;}
.location-info {}
.location-info dl {position:relative; display:flex; border-bottom:1px solid #ddd;}
.location-info dl dt {color: #403016;width:80px; font-weight: 500; padding: 12px 0;text-align: center;}
.location-info dl dd {color: #454545;padding: 12px 0 12px 10px;}