@charset "utf-8";

div, p, span, ul, li, b, strong, h1, h2, h3, h4, h5 {word-break: keep-all;}
img {max-width: 100%;}
.desc {
    font-size: 18px;
    line-height: 1.7;
}
.more-btn {
    display: flex;
    align-items: center;
}
.more-btn span {
    font-size: 18px;
    margin-right: 15px;
}
.more-btn div {
    width: 40px;
    height: 40px;
    border-radius: 40px;
    border: 1px solid #111;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
}
.more-btn svg polyline,
.more-btn svg line {fill:none;stroke:#111;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.more-btn:hover div {background: #111;}
.more-btn:hover svg polyline,
.more-btn:hover svg line {stroke:#fff;}
.admin-btn {
    font-size: 20px;
    color: #ff1616;
    margin-top: 30px;
}
@media all and (max-width: 767px) {
    .desc {
        font-size: 15px;
        line-height: 1.5;
    }
    .more-btn span {
        font-size: 15px;
        margin-right: 10px;
    }
}

/*main*/
.main {overflow: hidden}
.main section {
    padding: 150px 0;
    position: relative;
}
.main .container {max-width: 1600px;}
.main .title {
    margin-bottom: 100px;
    text-align: center;
}
.main .title h2 {
    font-size: 75px;
    font-weight: 600;
    font-family: "Noto Serif KR", serif;
    margin-bottom: 40px;
    letter-spacing: -1px;
}
.main .title h2 .underline {border-bottom: 1px solid #111;}
.main .title h2 .color {color: #0a2b1d}
.main .title h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 50px;
    font-weight: 500;
    font-family: "Noto Serif KR", serif;
    margin-bottom: 30px;
}
.main .title h3 img {margin-right: 15px;}
.main .title p {font-size: 24px;}

.main .hero {
    height: 100vh;
    padding: 0;
}
.main .hero .banner-slider,
.main .hero .swiper-slide {
    height: 100%;
    overflow: hidden;
}
.main .hero .swiper-slide .bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%;
    transform: scale(1.15);
    transition: transform 0.3s ease;
}
.main .hero .swiper-slide-active .bg {animation: banner 4s ease forwards;}
@keyframes banner {
    0% {transform: scale(1.15)}
    100% {transform: scale(1)}
}
.main .hero .title {
    position: absolute;
    top: 45%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    text-align: center;
}
.main .hero .title .object {margin-bottom: -40px;}
.main .hero .title h2 {letter-spacing: -1.5px}
.main .hero .title p {
    font-size: 30px;
    font-weight: 600;
}
.main .hero .scroll-down {
    position: absolute;
    left: calc(50% - 38px);
    bottom: 50px;
    z-index: 1;
}
.main .hero .scroll-down .bar {
    width: 1px;
    height: 100px;
    background: rgba(255,255,255,0.3);
    position: relative;
    margin: 0 auto;
    overflow: hidden;
}
.main .hero .scroll-down .bar span {
    background: #fff;
    width: 1px;
    height: 40px;
    position: absolute;
    top: 0;
    left: 0;
    animation: scrollBar 1.5s linear infinite;
}
@keyframes scrollBar {
    0% {
        top: 0;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        top: 100%;
        opacity: 0;
    }
}
.main .hero .scroll-down img {
    display: block;
    margin: 3px auto 20px;
}
.main .hero .scroll-down p {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.main .about {
    background: #eceff5;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 80px 0 0;
}
.main .about .img {width: 50%}
.main .about .txt {
    width: 50%;
    padding: 0 150px;
}
.main .about .txt .title {text-align: left;}
.main .live {
    background: #eceff5;
    padding: 0;
}
.main .live .container {position: relative;}
.main .live h3 {
    position: absolute;
    left: 0;
    top: 160px;
    display: flex;
    align-items: center;
}
.main .live h3 span {
    font-family: "Noto Serif KR", serif;
    font-size: 40px;
    font-weight: 500;
    padding-left: 12px;
}
.main .live ul {
    display: flex;
    flex-wrap: wrap;
}
.main .live ul li {
    width: 33.33%;
    border-right: 1px solid rgba(0,0,0,0.1);
    padding: 300px 0 180px;
    text-align: center;
}
.main .live ul li:first-child {border-left: 1px solid rgba(0,0,0,0.1)}
.main .live ul li .number {
    display: flex;
    align-items: end;
    justify-content: center;
    font-size: 40px;
    font-weight: 600;
}
.main .live ul li .number strong {
    font-size: 80px;
    line-height: 1;
    font-weight: bold;
    margin-right: 8px;
    background: linear-gradient(to bottom, #4e7c66 0%, #0c2b1c 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    opacity: 0;
    transition: opacity .2s ease;
}
.main .live ul li .number span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 42px;
    background: #c7a673;
    font-size: 36px;
    font-weight: 600;
    color: #fff;
    line-height: 1;
    margin-left: 10px;
    margin-bottom: 8px;
}
.main .live ul li .number span::before {
    content: "+";
    margin-top: -3px;
}
.main .live ul li p {
    font-size: 30px;
    font-weight: 600;
    color: #666666;
    background: #fff;
    padding: 10px 50px;
    border-radius: 50px;
    display: inline-block;
    margin-top: 40px;
}
.main .live .object {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0.1;
}
.main .process {padding-bottom: 0;}
.main .process .step-line {
    width: 100%;
    height: 2px;
    background: #edf0ef;
    position: absolute;
    left: 0;
    bottom: 66px;
}
.main .process .step-line::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent, #0a2b1d, transparent);
    animation: flowLine 4s linear infinite;
}
@keyframes flowLine {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}
.main .process ul {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.main .process ul li {
    width: calc((100% - 80px)/5);
    margin-right: 20px;
}
.main .process ul li:last-child {margin-right: 0;}
.main .process ul li .box .img {position: relative;}
.main .process ul li .box .img::before {
    content: "";
    background: url(/img/assets/corner_deco.svg) center / cover no-repeat;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    aspect-ratio: 1 / 1;
}
.main .process ul li .box .txt {
    background: #f5f6fa;
    padding: 40px;
    min-height: 380px;
}
.main .process ul li .box .txt h3 {
    font-size: 30px;
    margin: 30px 0 10px;
    font-weight: normal;
}
.main .process ul li .box .txt p {
    font-size: 16px;
    color: #c7a673;
    margin-bottom: 40px;
}
.main .process ul li .point {
    text-align: center;
}
.main .process ul li .point .line {
    width: 1px;
    height: 100px;
    background: #c7a673;
    display: inline-block;
}
.main .process ul li .point .circle {
    background: rgba(12,43,28,0.1);
    width: 20px;
    height: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -12px auto 0;
}
.main .process ul li .point .circle div {
    background: #0a2b1d;
    width: 10px;
    height: 10px;
    border-radius: 20px;
}
.main .process ul li .point .step {
    font-size: 18px;
    font-weight: bold;
    color: #0a2b1d;
    margin-top: 30px;
}
.main .promise {
    padding-bottom: 0;
    z-index: 1;
}
.main .promise .content {position: relative;}
.main .promise .content .left {
    width: 60%;
    position: absolute;
    left: 0;
    bottom: -100px;
    height: 550px;
}
.main .promise .content .left > div {
    background: url(/img/assets/main_promise_img_1.jpg) center / cover no-repeat;
    width: 100%;
    height: 100%;
    padding-left: 10%;
    display: flex;
    align-items: center;
}
.main .promise .content .left p {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    position: relative;
    z-index: 1;
}
.main .promise .content .left .object {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 80px;
    opacity: 0.3;
}
.main .promise .content .right {
    width: 60%;
    background: url(/img/assets/main_promise_img_2.jpg) center / cover no-repeat;
    position: relative;
    z-index: 1;
    margin-left: auto;
    padding: 150px 100px;
}
.main .promise .content .right::after {
    content: "";
    background: url(/img/assets/corner_deco.svg) center / cover no-repeat;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    aspect-ratio: 1 / 1;
}
.main .promise .content .right > p {
    font-size: 20px;
    margin-bottom: 80px;
    color: #fff;
}
.main .promise .content .right ul {
    display: flex;
    flex-wrap: wrap;
}
.main .promise .content .right ul li {
    width: calc((100% - 30px)/4);
    margin-right: 10px;
    background: #fff;
    aspect-ratio: 1 / 1;
    position: relative;
    text-align: center;
    padding-top: 32px;
}
.main .promise .content .right ul li:last-child {margin-right: 0;}
.main .promise .content .right ul li .deco {
    position: absolute;
    top: 0;
    left: 0;
}
.main .promise .content .right ul li .ico {
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.main .promise .content .right ul li p {
    font-size: 20px;
    font-weight: 600;
    color: #0a2b1d;
    margin-top: 30px;
}
.main .trust {
    background: url(/img/assets/main_trust_bg.jpg) center / cover no-repeat;
    padding-top: 250px;
}
.main .trust ul {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.main .trust ul li {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
    text-align: center;
    background: #fff;
    padding: 50px;
}
.main .trust ul li:last-child {margin-right: 0;}
.main .trust ul li .logo {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.main .trust ul li p {
    font-size: 20px;
    margin-top: 30px;
}
@media all and (max-width: 1400px) {
    .main .title {margin-bottom: 60px;}
    .main .title h2 {font-size: 60px;}
    .main .title p {font-size: 20px;}
    .main .about .txt {padding: 0 80px;}
    .main .live h3 {left: 80px;}
    .main .live ul li .number strong{font-size: 60px;}
    .main .live ul li p {font-size: 20px;}
    .main .process ul {justify-content: center;}
    .main .process ul li {
        width: calc((100% - 40px)/3);
        margin-bottom: 60px;
    }
    .main .process ul li:nth-child(3),
    .main .process ul li:last-child {margin-right: 0;}
    .main .process ul li .box .step {
        font-size: 16px;
        font-weight: bold;
        color: #0a2b1d;
        margin-bottom: 20px;
    }
    .main .process ul li .box .img img {
        max-width: none;
        width: 100%;
    }
    .main .process ul li .point,
    .main .process .step-line {display: none;}
    .main .promise .content {
        display: flex;
        flex-wrap: wrap;
    }
    .main .promise .content .left {
        width: 90%;
        position: static;
        margin-top: -100px;
        display: block;
        order: 2;
        height: 400px;
    }
    .main .promise .content .left > div {padding: 180px 80px 80px;}
    .main .promise .content .right {
        order: 1;
        width: 90%;
        padding: 80px;
    }
    .main .promise .content .right > p {margin-bottom: 40px;}
    .main .trust {padding-top: 150px;}
}
@media all and (max-width: 1024px) {
    .main .title h2 {font-size: 50px;}
    .main .title p {font-size: 18px;}
    .main .live h3 {
        top: 100px;
        left: 40px;
    }
    .main .live ul li {padding: 200px 0 150px;}
    .main .live .object img {max-width: 700px;}
    .main .process ul li {margin-bottom: 20px;}
    .main .process ul li .box .txt {min-height: 450px;}
    .main .promise .content .right ul li {
        aspect-ratio: auto;
        padding: 30px 20px;
    }
    .main .promise .content .right ul li p {font-size: 18px;}
    .main .title h3 {font-size: 40px;}
    .main .title h3 img {width: 36px;}
}
@media all and (max-width: 991px) {
    .main .about .img {
        width: 100%;
        order: 2;
    }
    .main .about .txt {
        width: 100%;
        padding: 0 40px 80px;
        order: 1;
    }
    .main .about .txt .title {text-align: center;}
    .main .about .txt .more-btn {justify-content: center;}
    .main .live h3 span {font-size: 30px;}
    .main .live ul li .number {font-size: 24px;}
    .main .live ul li .number strong {font-size: 40px;}
    .main .live ul li .number span {
        width: 30px;
        height: 30px;
        font-size: 24px;
        margin-bottom: 0;
    }
    .main .live ul li p {
        font-size: 16px;
        padding: 5px 30px;
    }
    .main .process ul li {width: calc((100% - 20px) / 2);}
    .main .process ul li:nth-child(3) {margin-right: 20px;}
    .main .process ul li:nth-child(2n) {margin-right: 0;}
}
@media all and (max-width: 767px) {
    .main section {padding: 50px 0;}
    .main .title {margin-bottom: 30px;}
    .main .title h2 {
        font-size: 30px;
        margin-bottom: 20px;
    }
    .main .title p {font-size: 16px;}
    .main .hero .title .object {
        max-width: 200px;
        margin-bottom: -20px;
    }
    .main .hero .title h2 {
        font-size: 40px;
        margin-bottom: 20px;
    }
    .main .hero .title p {font-size: 18px;}
    .main .about {padding-top: 50px;}
    .main .about .txt {padding: 0 15px 40px;}
    .main .about .txt .title {margin-bottom: 30px;}
    .main .live {padding: 50px 0;}
    .main .live h3 {
        position: static;
        margin-bottom: 30px;
    }
    .main .live h3 img {width: 25px;}
    .main .live h3 span {font-size: 24px;}
    .main .live ul li {
        width: 100%;
        padding: 30px;
        border-right: none !important;
        border-left: none !important;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }
    .main .live ul li p {margin-top: 20px;}
    .main .live .object {bottom: -50px;}
    .main .live .object img {max-width: 100%;}
    .main .process ul li {
        width: 100%;
        margin: 0 0 15px;
    }
    .main .process ul li .box .txt {
        min-height: auto;
        padding: 25px;
        position: relative;
    }
    .main .process ul li .box .step {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .main .process ul li .box .txt > img {
        position: absolute;
        top: 25px;
        right: 25px;
    }
    .main .process ul li .box .txt h3 {
        font-size: 20px;
        margin: 0 0 5px;
    }
    .main .process ul li .box .txt p {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .main .promise .content .right {padding: 50px 25px 25px;}
    .main .promise .content .right::after {width: 40px;}
    .main .promise .content .right > p {
        font-size: 15px;
        margin-bottom: 25px;
    }
    .main .promise .content .right ul {margin-bottom: -10px;}
    .main .promise .content .right ul li {
        width: calc((100% - 10px) / 2);
        margin-bottom: 10px;
        padding: 20px 15px;
    }
    .main .promise .content .right ul li:nth-child(2n) {margin-right: 0;}
    .main .promise .content .right ul li .ico {height: 45px;}
    .main .promise .content .right ul li .ico img {max-height: 100%;}
    .main .promise .content .right ul li p {
        font-size: 15px;
        margin-top: 15px;
        line-height: 1.3;
    }
    .main .promise .content .left {height: 300px;}
    .main .promise .content .left > div {padding: 130px 25px 50px;}
    .main .promise .content .left p {font-size: 15px;}
    .main .trust {padding-top: 50px;}
    .main .title h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .main .title h3 img {width: 24px;}
    .main .trust ul li {
        padding: 20px;
        width: calc((100% - 10px) / 2);
        margin-right: 10px;
    }
    .main .trust ul li .logo {
        height: 40px;
    }
    .main .trust ul li .logo img {max-height: 100%;}
    .main .trust ul li p {
        font-size: 15px;
        margin-top: 15px;
    }
}

/*sub*/
.sub {overflow: hidden;}
.sub .title {
    margin-bottom: 80px;
    text-align: center;
}
.sub .title h2 {
    font-size: 50px;
    font-weight: 600;
}
@media all and (max-width: 767px) {
    .sub .title {margin-bottom: 30px;}
    .sub .title h2 {font-size: 30px;}
}

/*대표인사말*/
.sub-greeting .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}
.sub-greeting .title {
    width: 28.5%;
    padding-right: 50px;
    text-align: left;
}
.sub-greeting .content {
    width: 71.5%;
    padding-top: 10px;
}
.sub-greeting .content .object {
    margin-left: -15px;
    margin-bottom: -10px;
}
.sub-greeting .content p {
    font-family: "Noto Serif KR", serif;
    font-size: 40px;
    font-weight: 500;
    margin-bottom: 60px;
    letter-spacing: -1px;
}
.sub-greeting .content .desc {line-height: 1.8}
.sub-greeting .content .sign {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: right;
}
.sub-greeting .content .sign img {width: 150px;}
.sub-greeting .content .sign b {
    font-size: 18px;
    padding-left: 15px;
}
.sub-greeting .img {
    position: absolute;
    left: 0;
    bottom: 0;
}
.sub-greeting .img::after {
    content: "";
    background: url(/img/assets/corner_deco.svg) center / cover no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    aspect-ratio: 1 / 1;
    transform: scaleX(-1);
}
@media all and (max-width: 1660px) {
    .sub-greeting .content {padding-left: 100px;}
    .sub-greeting .img {max-width: 40%;}
}
@media all and (max-width: 1024px) {
    .sub-greeting .title {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .sub-greeting .content {
        width: 100%;
        padding: 0;
    }
    .sub-greeting .img {
        max-width: 100%;
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: 100px;
    }
}
@media all and (max-width: 767px) {
    .sub-greeting .content .object {
        margin-left: 0;
        width: 60px;
    }
    .sub-greeting .content p {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .sub-greeting .content .sign {margin-top: 20px;}
    .sub-greeting .content .sign img {width: 100px;}
    .sub-greeting .content .sign b {
        font-size: 15px;
        padding-left: 10px;
    }
    .sub-greeting .img {margin-top: 50px;}
    .sub-greeting .img::after {width: 40px;}
}

/*오시는 길*/
.sub-location {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}
.sub-location .title {
    width: 28.5%;
    padding-right: 50px;
    text-align: left;
}
.sub-location .content {width: 71.5%;}
.sub-location .content .map {
    height: 550px;
    overflow: hidden;
}
.sub-location .content .map .root_daum_roughmap {width: 100% !important;}
.sub-location .content .map .root_daum_roughmap .wrap_map {height: 100% !important;}
.sub-location .content ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
}
.sub-location .content ul li {
    width: calc((100% - 30px)/2);
    margin-right: 30px;
    border-top: 1px solid #111;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding: 40px 20px;
}
.sub-location .content ul li:last-child {margin-right: 0;}
.sub-location .content ul li h3 {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.sub-location .content ul li h3 span {
    font-family: "Noto Serif KR", serif;
    font-weight: bold;
    padding-left: 12px;
    font-size: 20px;
}
@media all and (max-width: 1024px) {
    .sub-location .title {
        width: 100%;
        padding: 0;
    }
    .sub-location .content {
        width: 100%;
        padding: 0;
    }
}
@media all and (max-width: 767px) {
    .sub-location .title {text-align: center}
    .sub-location .content .map {height: 300px;}
    .sub-location .content ul {
        border-top: 1px solid #111;
        margin-top: 40px;
    }
    .sub-location .content ul li {
        width: 100%;
        border-top: none;
        padding: 20px 0;
        margin: 0;
    }
    .sub-location .content ul li h3 {margin-bottom: 10px;}
    .sub-location .content ul li h3 img {width: 14px;}
    .sub-location .content ul li h3 span {
        font-size: 16px;
        padding-left: 10px;
    }
}

/*투자 컨설팅*/
.sub-tab {
    display: flex;
    margin-bottom: 100px;
    background: #f3f6fb;
}
.sub-tab li {width: 33.33%;}
.sub-tab li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    position: relative;
}
.sub-tab li a::after {
    content: "";
    background: #0a2b1d;
    width: 100px;
    height: 3px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    opacity: 0;
    transition: all .2s;
}
.sub-tab li b {font-size: 20px;}
.sub-tab li a:hover,
.sub-tab li.active a {color: #0a2b1d;}
.sub-tab li a:hover::after,
.sub-tab li.active a::after {opacity: 1;}
.sub-consulting .underline {
    display: inline;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size 2s ease;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.sub-consulting .underline.active {background-size: 100% 1px;}
.sub-consulting .about .title {text-align: center;}
.sub-consulting .about .title h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}
.sub-consulting .about .title h2 span {padding-left: 15px;}
.sub-consulting .about .title p {
    font-size: 24px;
    color: #0a2b1d;
    font-weight: bold;
}
.sub-consulting .about .title .desc {margin-top: 25px;}
.sub-consulting .about .top {position: relative;}
.sub-consulting .about .top .img {
    position: relative;
    z-index: 1;
}
.sub-consulting .about .top .img::after {
    content: "";
    background: url(/img/assets/corner_deco.svg) center / cover no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    aspect-ratio: 1 / 1;
    transform: scaleX(-1);
}
.sub-consulting .about .top p {
    font-size: 75px;
    font-weight: 500;
    font-family: "Noto Serif KR", serif;
    position: absolute;
    right: 50px;
    bottom: -40px;
    z-index: 1;
    color: #c7a673;
}
.sub-consulting .about .top .bg {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 470px;
    position: absolute;
    bottom: -120px;
    width: calc(100% + 200px);
    left: -100px;
}
.sub-consulting .about .bottom {padding-top: 250px;}
.sub-consulting .about .bottom ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 100px;
}
.sub-consulting .about .bottom ul li:last-child {margin-bottom: 0;}
.sub-consulting .about .bottom ul li .img {
    width: 42.8%;
    position: relative;
}
.sub-consulting .about .bottom ul li .txt {width: 57.2%}
.sub-consulting .about .bottom ul li .img::after {
    content: "";
    border: 1px solid #c7a673;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    right: -20px;
    bottom: -20px;
}
.sub-consulting .about .bottom ul li .img img {
    position: relative;
    z-index: 1;
}
.sub-consulting .about .bottom ul li .txt .number {
    font-size: 24px;
    font-weight: 500;
    font-family: "Noto Serif KR", serif;
    color: #c7a673;
    margin-bottom: 40px;
}
.sub-consulting .about .bottom ul li .txt h3 {
    font-size: 40px;
    font-weight: 500;
    font-family: "Noto Serif KR", serif;
}
.sub-consulting .about .bottom ul li .txt .desc {margin-top: 60px;}
.sub-consulting .about .bottom ul li:nth-child(odd) .img {}
.sub-consulting .about .bottom ul li:nth-child(odd) .txt {padding-left: 150px;}
.sub-consulting .about .bottom ul li:nth-child(2n) .img {order: 2;}
.sub-consulting .about .bottom ul li:nth-child(2n) .img::after {
    left: -20px;
    right: auto;
}
.sub-consulting .about .bottom ul li:nth-child(2n) .txt {
    order: 1;
    padding-right: 150px;
}
.sub-consulting .process {
    background: url(/img/assets/securities_process_bg.jpg) center / cover no-repeat;
    padding: 150px 0;
    position: relative;
    overflow: hidden;
}
.sub-consulting .process .title {text-align: center;}
.sub-consulting .process .title h3 {
    font-size: 40px;
    font-weight: 500;
    font-family: "Noto Serif KR", serif;
}
.sub-consulting .process .title h3 span {border-bottom: 1px solid #111;}
.sub-consulting .process ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: -60px;
    position: relative;
    z-index: 1;
}
.sub-consulting .process ul li {
    width: calc((100% - 120px)/3);
    margin-right: 60px;
    position: relative;
    background: #fff;
    padding: 60px 40px 40px;
    margin-bottom: 60px;
}
.sub-consulting .process ul li::after {
    content: "";
    background: url(/img/assets/arrow_process.svg) center / cover no-repeat;
    display: block;
    width: 31px;
    aspect-ratio: 31 / 16;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -46px;
}
.sub-consulting .process ul li:nth-child(3),
.sub-consulting .process ul li:last-child {margin-right: 0;}
.sub-consulting .process ul li:nth-child(3)::after,
.sub-consulting .process ul li:last-child::after {content: none;}
.sub-consulting .process ul li .step {
    background: #0a2b1d;
    color: #c7a673;
    font-size: 16px;
    width: 80px;
    height: 40px;
    position: absolute;
    top: -10px;
    left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub-consulting .process ul li h4 {
    font-size: 24px;
    font-weight: 600;
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
    margin-bottom: 25px;
}
.sub-consulting .process ul li img {
    position: absolute;
    top: 40px;
    right: 40px;
}
.sub-consulting .process .object {
    position: absolute;
    right: -30px;
    bottom: -70px;
}
.sub-securities .about {padding-bottom: 150px;}
@media all and (max-width: 1400px) {
    .sub-consulting .about .top .bg {height: 300px;}
}
@media all and (max-width: 1024px) {
    .sub-consulting .about .bottom ul li:nth-child(odd) .txt {padding-left: 100px;}
    .sub-consulting .about .bottom ul li:nth-child(2n) .txt {padding-right: 100px;}
    .sub-consulting .about .bottom ul li .txt h3 {font-size: 32px;}
    .sub-consulting .about .bottom ul li .txt .desc {margin-top: 40px;}
}
@media all and (max-width: 991px) {
    .sub-consulting .process ul li {width: calc((100% - 60px) / 2);}
    .sub-consulting .process ul li:nth-child(3n) {margin-right: 60px;}
    .sub-consulting .process ul li:nth-child(2n) {margin-right: 0;}
    .sub-consulting .process ul li:nth-child(3)::after {content: ""}
    .sub-consulting .process ul li:nth-child(2n)::after {content: none;}
}
@media all and (max-width: 767px) {
    .sub-tab {margin-bottom: 50px;}
    .sub-tab li a {height: 50px;}
    .sub-tab li a::after {width: 70px;}
    .sub-tab li b {font-size: 15px;}
    .sub-consulting .about .title h2 {margin-bottom: 20px;}
    .sub-consulting .about .title h2 img {width: 36px;}
    .sub-consulting .about .title h2 span {padding-left: 10px;}
    .sub-consulting .about .title p {font-size: 16px;}
    .sub-consulting .about .title .desc {margin-top: 15px;}
    .sub-consulting .about .top .img::after {width: 40px;}
    .sub-consulting .about .top p {
        font-size: 24px;
        right: 20px;
        bottom: -15px;
    }
    .sub-consulting .about .top .bg {
        height: 80px;
        bottom: -40px;
    }
    .sub-consulting .about .bottom {padding-top: 100px;}
    .sub-consulting .about .bottom ul li {margin-bottom: 50px;}
    .sub-consulting .about .bottom ul li .img {
        width: 100%;
        order: 1 !important;
    }
    .sub-consulting .about .bottom ul li .img::after {
        right: -10px !important;
        bottom: -10px;
        left: auto !important;
    }
    .sub-consulting .about .bottom ul li .txt {
        width: 100%;
        order: 2 !important;
        padding: 40px 0 0 !important;
    }
    .sub-consulting .about .bottom ul li .txt .number {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .sub-consulting .about .bottom ul li .txt h3 {font-size: 24px;}
    .sub-consulting .about .bottom ul li .txt .desc {margin-top: 30px;}

    .sub-consulting .process {padding: 50px 0;}
    .sub-consulting .process .title h3 {font-size: 24px;}
    .sub-consulting .process ul {margin-bottom: 0;}
    .sub-consulting .process ul li {
        width: 100%;
        margin: 0 0 50px !important;
        padding: 40px 25px 25px;
    }
    .sub-consulting .process ul li:last-child {margin-bottom: 0 !important;}
    .sub-consulting .process ul li::after {
        content: "" !important;
        top: auto;
        bottom: -28px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        right: auto;
        width: 20px;
    }
    .sub-consulting .process ul li:last-child::after {content: none !important;}
    .sub-consulting .process ul li .step {
        font-size: 14px;
        width: 70px;
        height: 30px;
    }
    .sub-consulting .process ul li h4 {
        font-size: 20px;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }
    .sub-consulting .process ul li img {
        top: 20px;
        right: 25px;
    }
    .sub-securities .about {padding-bottom: 50px;}
}

/*고객센터 안내*/
.sub-info .top {position: relative}
.sub-info .top .img {
    background: url(/img/assets/info_img.jpg) center / cover no-repeat;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub-info .top .img img {
    max-width: 386px;
    width: 100%;
    margin-top: -30px;
}
.sub-info .top .txt {
    background: #fff;
    margin-left: auto;
    max-width: 1100px;
    padding: 60px 0 0 60px;
    margin-top: -80px;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}
.sub-info .top .txt > div {width: 40%;}
.sub-info .top .txt > div:last-child {width: 20%;}
.sub-info .top .txt h3 {
    font-size: 26px;
    font-family: "Noto Serif KR", serif;
    font-weight: 500;
    line-height: 1.5;
}
.sub-info .top .txt .tell {
    display: flex;
    align-items: center;
}
.sub-info .top .txt .tell img {width: 18px;}
.sub-info .top .txt .tell p {
    font-size: 18px;
    color: #666;
    font-weight: bold;
    margin: 0 10px;
}
.sub-info .top .txt .tell .number {
    font-size: 30px;
    font-weight: 600;
    color: #0a2b1d;
}
.sub-info .bottom {
    display: flex;
    flex-wrap: wrap;
    margin-top: 120px;
}
.sub-info .bottom > div {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
    background: #f6f7fb;
    padding: 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
}
.sub-info .bottom > div:last-child {margin-right: 0;}
.sub-info .bottom .txt {
    width: calc(100% - 120px);
    padding-right: 30px;
}
.sub-info .bottom .txt h3 {
    font-family: "Noto Serif KR", serif;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 20px;
    letter-spacing: -1px;
}
.sub-info .bottom .ico {
    width: 120px;
    height: 120px;
    border-radius: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
@media all and (max-width: 1024px) {
    .sub-info .top .img img {margin: 0;}
    .sub-info .top .txt {
        margin: 0;
        padding: 40px 0 0;
    }
    .sub-info .bottom {margin-top: 80px;}
    .sub-info .bottom > div {
        width: calc((100% - 10px) / 2);
        margin-right: 10px;
        padding: 30px;
    }
    .sub-info .bottom .txt {width: calc(100% - 80px)}
    .sub-info .bottom .txt h3 {font-size: 24px;}
    .sub-info .bottom .ico {
        width: 80px;
        height: 80px;
    }
    .sub-info .bottom .ico img {max-width: 50px;}
}
@media all and (max-width: 991px) {
    .sub-info .top .txt > div {width: 100% !important;}
    .sub-info .top .txt .tell {padding: 20px 0 30px;}
    .sub-info .bottom > div {
        width: 100%;
        margin: 0 0 10px;
    }
}
@media all and (max-width: 767px) {
    .sub-info .top .img {height: 200px;}
    .sub-info .top .img img {max-width: 200px;}
    .sub-info .top .txt {padding-top: 25px;}
    .sub-info .top .txt h3 {font-size: 18px;}
    .sub-info .top .txt .tell {padding: 10px 0 25px;}
    .sub-info .top .txt .tell img {width: 14px;}
    .sub-info .top .txt .tell p {font-size: 15px;}
    .sub-info .top .txt .tell .number {font-size: 24px;}
    .sub-info .bottom {margin-top: 40px;}
    .sub-info .bottom > div {padding: 25px;}
    .sub-info .bottom .ico {
        order: 1;
        margin: 0 auto;
    }
    .sub-info .bottom .txt {
        width: 100%;
        order: 2;
        padding: 20px 0 0;
        text-align: center;
    }
    .sub-info .bottom .txt h3 {
        font-size: 20px;
        margin-bottom: 15px;
    }
}

/*보안*/
.sub-security ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -20px;
}
.sub-security ul li {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
    margin-bottom: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    height: 350px;
    color: #fff;
}
.sub-security ul li:nth-child(2n) {margin-right: 0;}
.sub-security ul li:first-child {background-image: url(/img/assets/security_img_1.jpg)}
.sub-security ul li:nth-child(2) {background-image: url(/img/assets/security_img_2.jpg)}
.sub-security ul li:nth-child(3) {background-image: url(/img/assets/security_img_3.jpg)}
.sub-security ul li:nth-child(4) {background-image: url(/img/assets/security_img_4.jpg)}
.sub-security ul li .txt {
    position: absolute;
    left: 50px;
    bottom: 50px;
    width: calc(100% - 100px);
}
.sub-security ul li .txt h3 {
    font-family: "Noto Serif KR", serif;
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 20px;
    letter-spacing: -1px;
}
@media all and (max-width: 991px) {
    .sub-security ul li {height: 400px;}
}
@media all and (max-width: 767px) {
    .sub-security ul {margin-bottom: 0;}
    .sub-security ul li {
        width: 100%;
        margin: 0 0 10px;
        height: 250px;
    }
    .sub-security ul li:last-child {margin-bottom: 0;}
    .sub-security ul li .txt {
        left: 25px;
        bottom: 25px;
        width: calc(100% - 50px);
    }
    .sub-security ul li .txt h3 {
        font-size: 20px;
        margin-bottom: 15px;
    }
}