@charset "utf-8";

/*공통*/
div, p, ul, li, span, b, strong, h1, h2, h3, h4, h5, h6 {word-break: keep-all}
img {max-width: 100%;}
.desc {font-size: 18px;}
.default-btn {
    border-radius: 5px;
    background: #354538;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    max-width: 200px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    transition: all .3s;
    color: #fff;
    padding: 0;
    border: none;
}
.default-btn:hover {background: #232924;}
.admin-btn a {
    font-size: 20px;
    color: #e31f1f;
}
@media all and (max-width: 767px) {
    .desc {font-size: 16px;}
    .default-btn {font-size: 16px;}
}

/*메인*/
.main > section {
    padding: 150px 0;
    position: relative;
}
.main .title {margin-bottom: 150px;}
.main .title h2 {
    font-size: 70px;
    font-weight: bold;
}
.main .title p {
    font-size: 20px;
    margin-top: 40px;
}
.main .visual {
    background: url(/img/assets/main_visual.jpg);
    height: 100vh;
    text-align: center;
    color: #fff;
    overflow: hidden;
}
.main .visual::after {
    content: "";
    background: linear-gradient(to bottom, #000, transparent);
    width: 100%;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0.6;
}
.main .visual .visual-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.main .visual .visual-slider div {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.main .visual .visual-slider .bg {
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
    transform: scale(1.15);
    transition: all .5s;
}
.main .visual .visual-slider .slick-active .bg {animation: visual 5s forwards;}
@keyframes visual {
    0% {transform: scale(1.15);}
    100% {transform:scale(1);}
}
.main .visual .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    padding: 0 30px;
    z-index: 2;
}
.main .visual .txt .animation {
    display: flex;
    justify-content: center;
}
.main .visual .txt .animation > div {position: relative;}
.main .visual .txt .animation .left {
    opacity: 0;
    transform: translateX(-1000px);
    animation: slideInLeft 1.5s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
.main .visual .txt .animation .right {
    opacity: 0;
    transform: translateX(1000px);
    animation: slideInRight 1.5s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-1000px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(1000px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.main .visual .txt .animation .spell {
    font-weight: 600;
    font-size: 200px;
    color: transparent;
    -webkit-text-stroke: 3px white;
    display: inline-block;
    line-height: 1;
}
.main .visual .txt .animation .left .spell-c {
    animation: blinkSpellC 1s ease-in-out forwards;
    animation-delay: 1.5s;
    width: 145px;
}
.main .visual .txt .animation .left .spell-o {
    animation: blinkSpellO 1s ease-in-out forwards;
    animation-delay: 1.5s;
    width: 151px;
}
.main .visual .txt .animation .right .spell-o {
    animation: blinkSpellO 1s ease-in-out forwards;
    animation-delay: 1.5s;
    width: 151px;
}
.main .visual .txt .animation .right .spell-e {
    animation: blinkSpellE 1s ease-in-out forwards;
    animation-delay: 1.5s;
    width: 118px;
}
.main .visual .txt .animation .right .spell-p {
    animation: blinkSpellP 1s ease-in-out forwards;
    animation-delay: 1.5s;
    width: 125px;
}
@keyframes blinkSpellC {
    from {
        opacity: 1;
        width: 145px;
    }
    to {
        opacity: 0;
        width: 0;
    }
}
@keyframes blinkSpellO {
    from {
        opacity: 1;
        width: 151px;
    }
    to {
        opacity: 0;
        width: 0;
    }
}
@keyframes blinkSpellE {
    from {
        opacity: 1;
        width: 118px;
    }
    to {
        opacity: 0;
        width: 0;
    }
}
@keyframes blinkSpellP {
    from {
        opacity: 1;
        width: 125px;
    }
    to {
        opacity: 0;
        width: 0;
    }
}
.main .visual .txt .animation .left .spell-e,
.main .visual .txt .animation .right .spell-p2,
.main .visual .txt .animation .right .spell-l,
.main .visual .txt .animation .right .spell-e2 {
    animation: fillSpell 1s ease-in-out forwards;
    animation-delay: 2.5s;
}
@keyframes fillSpell {
    0% {
        color: transparent;
        transform: scaleY(1);
    }
    50% {
        color: transparent;
        transform: scaleY(0);
    }
    100% {
        color: #fff;
        transform: scaleY(1);
    }
}
.main .visual .txt p {
    font-size: 40px;
    font-weight: bold;
    margin-top: 50px;
}
.main .visual .scroll {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 50px;
    z-index: 2;
}
.main .visual .scroll p {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1;
}
.main .visual .scroll .arrow {animation: scroll 1s ease-in-out 0s infinite alternate;}
@keyframes scroll {
    0%{transform:translate(0,15px);}
    100%{transform:translate(0,0);}
}
.main .visual .scroll .arrow .color {
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5px;
}

.main .business .container {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}
.main .business .title {width: 34%;}
.main .business .content {
    width: 66%;
    padding-top: 140px;
    display: flex;
    flex-wrap: wrap;
}
.main .business .content > div {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
}
.main .business .content > div:last-child {margin-right: 0;}
.main .business .content a {
    overflow: hidden;
    position: relative;
    display: block;
    border-radius: 30px;
    height: 100%;
}
.main .business .content .right a {
    margin-bottom: 20px;
    height: 290px;
}
.main .business .content .right a:last-child {margin-bottom: 0;}
.main .business .content .img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s;
    width: 100%;
    height: 100%;
}
.main .business .content a:hover .img {transform: scale(1.1)}
.main .business .content h3 {
    font-size: 36px;
    color: #fff;
    position: absolute;
    top: 40px;
    left: 50px;
    z-index: 1;
}
.main .business .content .more-btn {
    display: flex;
    align-items: center;
    position: absolute;
    left: 50px;
    bottom: 40px;
    z-index: 1;
}
.main .business .content .more-btn b {
    font-size: 14px;
    margin-right: 8px;
    color: #fff;
}
.main .performance {padding: 50px 0 250px;}
.main .performance .title {
    display: flex;
    align-items: center;
}
.main .performance .title .more-btn {
    width: 70px;
    height: 70px;
    border-radius: 70px;
    background: #354538;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 20px;
    transition: all .3s;
}
.main .performance .title .more-btn svg {
    width: 21px;
    height: 18px;
    transition: all .3s;
}
.main .performance .title .more-btn .color {
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5px;
}
.main .performance .title .more-btn:hover {background: #232924;}
.main .performance .title .more-btn:hover svg {transform: translateX(10px)}
.main .performance .project-slider .slide {margin: 0 25px;}
.main .performance .project-slider .slide h3 {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 20px;
}
.main .performance .project-slider .slide .desc {
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
    padding-right: 50px;
}
.main .performance .project-slider .slide .img {
    margin-top: 40px;
    border-radius: 30px;
    aspect-ratio: 500 / 380;
    overflow: hidden;
}
.main .performance .project-slider .slide .img div {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    transition: all .3s;
}
.main .performance .project-slider .slide:hover .img div {transform: scale(1.1)}
.main .performance .project-slider .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1200px;
    width: 100%;
    height: 5px;
    margin: 80px auto 0;
    background: #eaeceb;
    border-radius: 5px;
}
.main .performance .project-slider .slick-dots li {flex: 1 1 auto;}
.main .performance .project-slider .slick-dots li button {
    border: none;
    background: #eaeceb;
    width: 100%;
    height: 5px;
    font-size: 0;
    padding: 0;
    border-radius: 5px;
}
.main .performance .project-slider .slick-dots li.slick-active button {background: #354538;}
.main .support {
    display: flex;
    flex-wrap: wrap;
    background: #eaeceb;
    padding: 0;
}
.main .support .left {
    width: 50%;
    border-radius: 0 80px 80px 0;
    background: url(/img/assets/main_contact_bg.jpg) center / cover no-repeat;
    padding-top: 150px;
    padding-left: calc((100% - 1400px)/2);
    color: #fff;
    position: relative;
}
.main .support .left .symbol {
    position: absolute;
    right: 70px;
    bottom: 0;
}
.main .support .right {
    width: 50%;
    padding: 100px;
}
.main .support .right .form-group {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.main .support .right .half-group {
    width: calc((100% - 40px)/2);
    margin-right: 40px;
}
.main .support .right .half-group:last-child {margin-right: 0;}
.main .support .right .form-label {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    width: 100%;
}
.main .support .right .form-input {
    width: 100%;
    border: none;
    border-bottom: 1px solid #222;
    height: 50px;
    line-height: 50px;
    padding: 0;
    font-size: 18px;
    background: transparent;
    outline: 0;
    box-shadow: none;
}
.main .support .right .form-input:focus {
    outline: 0;
    box-shadow: none;
    border: none !important;
    border-bottom: 1px solid #222 !important;
}
.main .support .right .form-input::placeholder {color: rgba(0,0,0,0.3)}
.main .support .right textarea.form-input {
    border: 1px solid #222;
    height: 150px;
    padding: 20px;
    line-height: 1.5;
    resize: none;
}
.main .support .right textarea.form-input:focus {border: 1px solid #222 !important;}
.main .support .right select.form-input {
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    background-image: url("/img/assets/arrow_bottom.svg");
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 12px 7px;
}
.main .support .right .btn-group {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-between;
}
.main .support .right .agree-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.main .support .right .agree-group input[type=checkbox] {
    width: 18px;
    height: 18px;
    border: 1px solid #888;
}
.main .support .right .agree-group label {
    font-size: 16px;
    margin: 0 10px;
}
.main .support .right .agree-group .modal-btn {
    font-size: 13px;
    font-weight: 500;
    background: #354538;
    display: inline-block;
    padding: 0 8px;
    color: #fff;
    cursor: pointer;
}
@media all and (max-width: 1400px) {
    .main .visual .txt .animation .spell {font-size: 150px;}
    .main .visual .txt .animation .left .spell-c {width: 107px;}
    .main .visual .txt .animation .left .spell-o {width: 112px;}
    .main .visual .txt .animation .right .spell-o {width: 112px;}
    .main .visual .txt .animation .right .spell-e {width: 87px;}
    .main .visual .txt .animation .right .spell-p {width: 93px;}
    @keyframes blinkSpellC {
        from {
            opacity: 1;
            width: 107px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellO {
        from {
            opacity: 1;
            width: 112px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellE {
        from {
            opacity: 1;
            width: 87px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellP {
        from {
            opacity: 1;
            width: 93px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
}
@media all and (max-width: 1200px) {
    .main .business .title {width: 100%;}
    .main .business .content {
        width: 100%;
        padding: 0;
    }
    .main .support .left {
        width: 100%;
        padding: 100px;
        border-radius: 0 0 80px 80px;
    }
    .main .support .right {width: 100%;}
}
@media all and (max-width: 1023px) {
    .main .visual .txt .animation .spell {font-size: 100px;}
    .main .visual .txt .animation .left .spell-c {width: 71px;}
    .main .visual .txt .animation .left .spell-o {width: 74px;}
    .main .visual .txt .animation .right .spell-o {width: 74px;}
    .main .visual .txt .animation .right .spell-e {width: 58px;}
    .main .visual .txt .animation .right .spell-p {width: 62px;}
    @keyframes blinkSpellC {
        from {
            opacity: 1;
            width: 71px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellO {
        from {
            opacity: 1;
            width: 74px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellE {
        from {
            opacity: 1;
            width: 58px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellP {
        from {
            opacity: 1;
            width: 62px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
}
@media all and (max-width: 767px) {
    .main > section {padding: 80px 0;}
    .main .title {margin-bottom: 50px;}
    .main .title h2 {font-size: 36px;}
    .main .title p {
        font-size: 16px;
        margin-top: 20px;
    }
    .main .visual .txt .animation .spell {
       font-size: 48px;
        -webkit-text-stroke: 1px white;
    }
    .main .visual .txt .animation .left .spell-c {width: 34px;}
    .main .visual .txt .animation .left .spell-o {width: 36px;}
    .main .visual .txt .animation .right .spell-o {width: 36px;}
    .main .visual .txt .animation .right .spell-e {width: 28px;}
    .main .visual .txt .animation .right .spell-p {width: 30px;}
    @keyframes blinkSpellC {
        from {
            opacity: 1;
            width: 34px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellO {
        from {
            opacity: 1;
            width: 36px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellE {
        from {
            opacity: 1;
            width: 28px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellP {
        from {
            opacity: 1;
            width: 30px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    .main .visual .txt p {
        font-size: 24px;
        margin-top: 20px;
        line-height: 1.4;
    }
    .main .business .content > div {
        width: 100%;
        margin: 0 0 15px;
    }
    .main .business .content a {
        height: 200px;
        border-radius: 20px;
    }
    .main .business .content .right {margin-bottom: 0;}
    .main .business .content .right a {
        height: 200px;
        margin-bottom: 15px;
    }
    .main .business .content h3 {
        font-size: 24px;
        top: 30px;
        left: 30px;
    }
    .main .business .content .more-btn {
        left: 30px;
        bottom: 30px;
    }
    .main .performance {padding: 0 0 80px;}
    .main .performance .title .more-btn {
        width: 50px;
        height: 50px;
        margin-left: 15px;
    }
    .main .performance .title .more-btn svg {width: 18px; height: 15px;}
    .main .performance .project-slider .slide {margin: 0 10px;}
    .main .performance .project-slider .slide h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .main .performance .project-slider .slide .desc {padding-right: 10px;}
    .main .performance .project-slider .slide .img {
        margin-top: 20px;
        border-radius: 20px;
    }
    .main .performance .project-slider .slick-dots {
        border-radius: 0;
        margin-top: 50px;
    }
    .main .performance .project-slider .slick-dots li button {border-radius: 0;}
    .main .support .left {
        padding: 50px 30px;
        border-radius: 0 0 40px 40px;
    }
    .main .support .left .symbol {
        right: 30px;
        width: 70px;
    }
    .main .support .right {padding: 30px 15px;}
    .main .support .right .form-group {margin-bottom: 20px;}
    .main .support .right .half-group {
        width: calc((100% - 20px)/2);
        margin-right: 20px;
    }
    .main .support .right .form-label {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .main .support .right .form-input {font-size: 16px;}
    .main .support .right .agree-group input[type=checkbox] {
        width: 14px;
        height: 14px;
    }
    .main .support .right .agree-group label {
        font-size: 14px;
        margin: 0 8px;
    }
    .main .support .right .support-btn {
        max-width: none;
        font-size: 16px;
        margin-top: 30px;
    }
}
@media all and (max-width: 340px) {
    .main .visual .txt .animation .spell {font-size: 38px;}
    .main .visual .txt .animation .left .spell-c {width: 27px;}
    .main .visual .txt .animation .left .spell-o {width: 28px;}
    .main .visual .txt .animation .right .spell-o {width: 28px;}
    .main .visual .txt .animation .right .spell-e {width: 22px;}
    .main .visual .txt .animation .right .spell-p {width: 23px;}
    @keyframes blinkSpellC {
        from {
            opacity: 1;
            width: 27px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellO {
        from {
            opacity: 1;
            width: 28px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellE {
        from {
            opacity: 1;
            width: 22px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
    @keyframes blinkSpellP {
        from {
            opacity: 1;
            width: 23px;
        }
        to {
            opacity: 0;
            width: 0;
        }
    }
}

/*서브*/
.sub > section {margin-bottom: 150px;}
.sub > section:last-child {margin-bottom: 0;}
.sub .title {text-align: center;}
.sub .title h3 {
    font-size: 60px;
    font-weight: bold;
}
.sub .title h4 {
    font-size: 40px;
    font-weight: bold;
    color: #354538;
    margin-bottom: 80px;
}
.sub .title p {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 150px;
}
@media all and (max-width: 767px) {
    .sub > section {margin-bottom: 80px;}
    .sub .title h3 {font-size: 36px;}
    .sub .title h4 {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .sub .title p {
        font-size: 16px;
        margin: 20px 0 50px;
    }
}

/*사업 분야*/
.sub-rust-scale .damage,
.sub-rust-scale .problem {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.sub-rust-scale .damage ul {
    display: flex;
    flex-wrap: wrap;
}
.sub-rust-scale .damage ul li {
    width: calc((100% - 60px)/3);
    margin-right: 30px;
    border: 1px solid #354538;
    border-radius: 20px;
    padding: 50px 20px 40px;
    text-align: center;
}
.sub-rust-scale .damage ul li:last-child {margin-right: 0;}
.sub-rust-scale .damage ul li .ico {
    width: 140px;
    height: 140px;
    border-radius: 140px;
    background: #eaeceb;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
}
.sub-rust-scale .damage ul li p {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
}
.sub-rust-scale .problem {margin-bottom: 0;}
.sub-rust-scale .problem ul li {
    background: #eaeceb;
    border-radius: 15px;
    padding: 25px 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 20px;
}
.sub-rust-scale .problem ul li:last-child {margin-bottom: 0;}
.sub-rust-scale .problem ul li .label {
    display: flex;
    align-items: center;
    background: #354538;
    border-radius: 40px;
    padding: 6px 20px;
}
.sub-rust-scale .problem ul li .label b {
    font-size: 18px;
    color: #fff;
    margin-left: 8px;
}
.sub-rust-scale .problem ul li p {
    font-size: 24px;
    font-weight: bold;
    padding-left: 20px;
}
.sub-rust-scale .problem .result-arrow {
    display: block;
    margin: 80px auto 50px;
}
.sub-rust-scale .differentiation {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.sub-rust-scale .differentiation h4 {
    background: #354538;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    padding: 15px 50px;
    width: fit-content;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}
.sub-rust-scale .differentiation h4 img {width: 32px;}
.sub-rust-scale .differentiation h4 b {
    font-size: 40px;
    color: #fff;
    margin-left: 10px;
}
.sub-rust-scale .differentiation ul {
    background: url(/img/assets/business_01_differentiation_bg.jpg) center / cover no-repeat;
    border-radius: 60px;
    padding: 80px 40px 40px;
    margin-top: -40px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sub-rust-scale .differentiation ul li {
    width: 280px;
    height: 280px;
    border-radius: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    margin: 0 -15px;
}
.sub-rust-scale .differentiation ul li strong {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.3;
    display: block;
    margin-bottom: 15px;
}
.sub-rust-scale .differentiation ul li:first-child {background: rgba(53,69,56,0.9)}
.sub-rust-scale .differentiation ul li:nth-child(2) {background: rgba(82,123,90,0.9)}
.sub-rust-scale .differentiation ul li:nth-child(3) {
    background: rgba(255,255,255,0.8);
    color: #354538;
}
.sub-rust-scale .apply ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto -60px;
}
.sub-rust-scale .apply ul li {
    margin-right: 30px;
    margin-bottom: 60px;
    text-align: center;
}
.sub-rust-scale .apply ul li:nth-child(4n),
.sub-rust-scale .apply ul li:last-child {margin-right: 0;}
.sub-rust-scale .apply ul li .img {
    border-radius: 10px;
    overflow: hidden;
}
.sub-rust-scale .apply ul li p {
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
}
@media all and (max-width: 1024px) {
    .sub-rust-scale .apply ul li {width: calc((100% - 60px)/3);}
    .sub-rust-scale .apply ul li:nth-child(4n) {margin-right: 30px;}
    .sub-rust-scale .apply ul li:nth-child(3n) {margin-right: 0;}
}
@media all and (max-width: 767px) {
    .sub-rust-scale .damage ul li {
        width: 100%;
        margin: 0 0 15px;
        padding: 30px 20px;
    }
    .sub-rust-scale .damage ul li:last-child {margin-bottom: 0;}
    .sub-rust-scale .damage ul li .ico {
        width: 100px;
        height: 100px;
        margin-bottom: 15px;
    }
    .sub-rust-scale .damage ul li .ico img {
        max-width: 70px;
        max-height: 60px;
    }
    .sub-rust-scale .damage ul li p {font-size: 20px;}
    .sub-rust-scale .problem ul li {
        padding: 15px 30px 20px;
        margin-bottom: 15px;
        text-align: center;
    }
    .sub-rust-scale .problem ul li .label {
        padding: 5px 15px;
        margin: 0 auto;
    }
    .sub-rust-scale .problem ul li .label img {width: 18px; height: 18px;}
    .sub-rust-scale .problem ul li .label b {font-size: 15px;}
    .sub-rust-scale .problem ul li p {
        font-size: 18px;
        padding: 15px 0 0;
        width: 100%;
    }
    .sub-rust-scale .problem .result-arrow {
        margin: 50px auto 30px;
        max-width: 200px;
    }
    .sub-rust-scale .differentiation h4 {padding: 10px 20px;}
    .sub-rust-scale .differentiation h4 img {width: 18px;}
    .sub-rust-scale .differentiation h4 b {font-size: 24px;}
    .sub-rust-scale .differentiation ul {
        border-radius: 40px;
        margin-top: -25px;
        padding: 70px 30px 45px;
        display: block;
    }
    .sub-rust-scale .differentiation ul li {
        width: 200px;
        height: 200px;
        margin: -15px auto;
    }
    .sub-rust-scale .differentiation ul li strong {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .sub-rust-scale .apply ul {margin-bottom: -15px;}
    .sub-rust-scale .apply ul li {
        width: calc((100% - 15px)/2);
        margin-right: 15px;
        margin-bottom: 15px;
    }
    .sub-rust-scale .apply ul li:nth-child(3n) {margin-right: 15px;}
    .sub-rust-scale .apply ul li:nth-child(2n) {margin-right: 0;}
    .sub-rust-scale .apply ul li p {
        font-size: 16px;
        margin-top: 12px;
    }
}

.sub-dust .top {margin-bottom: 100px;}
.sub-dust .top h4 {
    font-size: 30px;
    color: #fff;
    display: flex;
    align-content: center;
    width: fit-content;
    padding: 15px 50px;
    background: #5c5f5c;
    border-radius: 40px;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}
.sub-dust .top h4 img {
    width: 25px;
    margin-right: 10px;
}
.sub-dust .top ul {
    display: flex;
    margin-top: -40px;
    background: #eaeceb;
    border-radius: 20px;
    padding: 70px 40px 40px;
}
.sub-dust .top ul li {
    width: calc((100% - 20px)/2);
    margin-right: 20px;
    text-align: center;
}
.sub-dust .top ul li:last-child {margin-right: 0;}
.sub-dust .top ul li img {
    border-radius: 20px;
    overflow: hidden;
}
.sub-dust .top ul li p {
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
}
.sub-dust .legacy {margin-bottom: 100px;}
.sub-dust .legacy .bottom ul {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}
.sub-dust .legacy .bottom ul li {
    width: calc((100% - 40px)/2);
    margin-right: 40px;
    border: 1px solid #354538;
    border-radius: 20px;
    padding: 40px 30px 30px;
    text-align: center;
}
.sub-dust .legacy .bottom ul li:last-child {margin-right: 0;}
.sub-dust .legacy .bottom ul li .label {
    display: flex;
    align-items: center;
    background: #354538;
    border-radius: 40px;
    padding: 6px 20px;
    width: fit-content;
    margin: 0 auto;
}
.sub-dust .legacy .bottom ul li .label b {
    font-size: 18px;
    color: #fff;
    margin-left: 8px;
}
.sub-dust .legacy .bottom ul li h5 {
    font-size: 30px;
    color: #354538;
    margin: 25px 0 20px;
}
.sub-dust .legacy .bottom ul li .box-wrap {
    display: flex;
    margin-top: 20px;
}
.sub-dust .legacy .bottom ul li .box-wrap > div {
    width: calc((100% - 10px)/2);
    margin-right: 10px;
    background: #eaeceb;
    border-radius: 20px;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: #354538;
}
.sub-dust .legacy .bottom ul li .box-wrap > div:last-child {margin-right: 0;}
.sub-dust .legacy .result-arrow {
    display: block;
    margin: 80px auto 0;
}
.sub-dust .eple .top h4 {background: #354538;}
.sub-dust .eple .top ul {border: 1px solid #354538;}
.sub-dust .eple .bottom ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}
.sub-dust .eple .bottom ul li {
    width: 33.33%;
    border-right: 1px solid #ddd;
    text-align: center;
}
.sub-dust .eple .bottom ul li:last-child {border-right: none;}
.sub-dust .eple .bottom ul li .ico {
    width: 140px;
    height: 140px;
    border-radius: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #354538;
    margin: 0 auto;
}
.sub-dust .eple .bottom ul li h5 {
    font-size: 30px;
    margin: 35px 0 15px;
}
.sub-dust .eple .bottom ul li p {font-size: 22px;}
.sub-dust .apply ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto -60px;
}
.sub-dust .apply ul li {
    margin-right: 30px;
    margin-bottom: 60px;
    text-align: center;
}
.sub-dust .apply ul li:nth-child(4n),
.sub-dust .apply ul li:last-child {margin-right: 0;}
.sub-dust .apply ul li .img {
    border-radius: 10px;
    overflow: hidden;
}
.sub-dust .apply ul li p {
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
}
@media all and (max-width: 1024px) {
    .sub-dust .apply ul li {width: calc((100% - 60px)/3);}
    .sub-dust .apply ul li:nth-child(4n) {margin-right: 30px;}
    .sub-dust .apply ul li:nth-child(3n) {margin-right: 0;}
}
@media all and (max-width: 767px) {
    .sub-dust .top {margin-bottom: 50px;}
    .sub-dust .top h4 {padding: 10px 20px;}
    .sub-dust .top h4 img {width: 18px;}
    .sub-dust .top h4 b {font-size: 21px;}
    .sub-dust .top ul {
        padding: 40px 15px 15px;
        margin-top: -25px;
    }
    .sub-dust .top ul li {
        width: calc((100% - 10px)/2);
        margin-right: 10px;
    }
    .sub-dust .top ul li img {border-radius: 10px;}
    .sub-dust .top ul li p {
        font-size: 16px;
        margin-top: 12px;
    }
    .sub-dust .legacy {margin-bottom: 30px;}
    .sub-dust .legacy .bottom ul li {
        width: 100%;
        margin: 0 0 15px;
        padding: 30px 20px 20px;
    }
    .sub-dust .legacy .bottom ul li:last-child {margin-bottom: 0;}
    .sub-dust .legacy .bottom ul li .label {
        padding: 5px 15px;
        margin: 0 auto;
    }
    .sub-dust .legacy .bottom ul li .label img {width: 18px; height: 18px;}
    .sub-dust .legacy .bottom ul li .label b {font-size: 15px;}
    .sub-dust .legacy .bottom ul li h5 {
        font-size: 24px;
        margin: 15px 0 10px;
    }
    .sub-dust .legacy .bottom ul li .box-wrap {margin-top: 15px;}
    .sub-dust .legacy .bottom ul li .box-wrap > div {
        min-height: 100px;
        font-size: 18px;
        line-height: 1.5;
    }
    .sub-dust .legacy .result-arrow {
        margin-top: 50px;
        max-width: 200px;
    }
    .sub-dust .eple .bottom ul li {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #ddd;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    .sub-dust .eple .bottom ul li:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .sub-dust .eple .bottom ul li .ico {
        width: 100px;
        height: 100px;
    }
    .sub-dust .eple .bottom ul li .ico img {
        max-width: 70px;
        max-height: 60px;
    }
    .sub-dust .eple .bottom ul li h5 {
        font-size: 24px;
        margin: 20px 0 10px;
    }
    .sub-dust .eple .bottom ul li p {font-size: 16px;}
    .sub-dust .apply ul {margin-bottom: -15px;}
    .sub-dust .apply ul li {
        width: calc((100% - 15px)/2);
        margin-right: 15px;
        margin-bottom: 15px;
    }
    .sub-dust .apply ul li:nth-child(3n) {margin-right: 15px;}
    .sub-dust .apply ul li:nth-child(2n) {margin-right: 0;}
    .sub-dust .apply ul li p {
        font-size: 16px;
        margin-top: 12px;
    }
}

/*회사 소개*/
.sub-company {text-align: center;}
.sub-company .title h3 img {width: 500px;}
.sub-company .title p {
    font-size: 30px;
    font-weight: bold;
    margin-top: 60px;
    margin-bottom: 100px;
    color: #354538;
}
@media all and (max-width: 767px) {
    .sub-company .title h3 img {width: 200px;}
    .sub-company .title p {
        font-size: 24px;
        margin-top: 30px;
        margin-bottom: 40px;
    }

}