@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC&display=swap);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Play:400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Nanum+Myeongjo:400,700&display=swap');

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 700;
    src: local('Noto Sans Bold'), local('NotoSans-Bold'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/eot/NotoSansKR-Bold-Hestia.eot),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/eot/NotoSansKR-Bold-Hestia.eot?#iefix) format('embedded-opentype'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/woff/NotoSansKR-Bold-Hestia.woff) format('woff'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/otf/NotoSansKR-Bold-Hestia.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans KR';
    font-style: normal;
    font-weight: 900;
    src: local('Noto Sans Black'), local('NotoSans-Black'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/eot/NotoSansKR-Black-Hestia.eot),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/eot/NotoSansKR-Black-Hestia.eot?#iefix) format('embedded-opentype'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/woff/NotoSansKR-Black-Hestia.woff) format('woff'),
        url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/fonts/otf/NotoSansKR-Black-Hestia.otf) format('opentype');
}

html,
body {
    width: 100%;
    overflow-x: hidden;
}

body, div, dl, dt, dd, ul, ol, li, i, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, legend, button, select, p, blockquote, th, td, table {
    font-family: 'Noto Sans KR', '맑은 고딕', 'Malgun Gothic', sans-serif !important;
    color: #555;
    font-size: 100%;
    font-weight: normal;
    padding: 0;
    margin: 0;
    word-break: keep-all;
    -webkit-text-size-adjust: none;
    /* 모바일에서 폰트크기 변형안되도록 함 */
}

a {
    text-decoration: none !important;
    cursor: pointer !important;
}

li {
    list-style: none;
}

:focus {
    border-color: none !important;
    outline: 0 !important;
    box-shadow: none !important
}

/* loading-box S */
#loader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, .3);
    z-index: 9999;
    display: none;
}

#status {
    width: 80px;
    height: 80px;
    position: absolute;
    left: 49.5%;
    top: 44.5%;
    margin: -40px 0 0 -40px;
    display: none;
}

/* loading-box E */

.main-section1 {
    position: relative;
    padding: 80px 0 120px 0;
}

.main-section1:after {
    content: " ";
    background-image: linear-gradient(to bottom, #6379c3, #546ee5);
    position: absolute;
    top: -400px;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    border-radius: 0;
    -webkit-transform: skewY(-3deg);
    transform: skewY(-3deg);
}

.main-section1 .hero-title {
    line-height: 42px;
}

html.swal2-shown,
body.swal2-shown {
    overflow-y: hidden !important;
    height: auto !important;
}

.position-relative {
    position: relative !important;
}

.btn-style-01,
.btn-style-01 strong {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}

.btn-style-01:before {
    display: block;
    position: absolute;
    left: -130%;
    bottom: 0;
    content: "";
    width: 120%;
    height: 150%;
    transform: skew(-20deg);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -ms-transition: all 0.5s;
    transition: all 0.5s;
}

.btn-style strong {
    position: relative;
    left: 0px;
    z-index: 1;
    display: block;
    letter-spacing: -0.5px;
}

.btn-style {
    position: relative;
    overflow: hidden;
    display: block;
}

.btn-style-01 {
    background-color: #e7161a;
}

.btn-style-01:before {
    background: #fff;
}

.btn-style-01 strong {
    color: #fff;
    font-family: 'Play', sans-serif !important;
    font-size: 0.8rem;
    font-weight: 400;
    text-align: center;
}

.btn-style-01 i {
    position: absolute;
    top: 0;
    right: 15px;
    line-height: 3rem;
    color: #fff;
    font-size: 0.8rem;
}

.btn-style-01:hover strong,
.btn-style-01:hover i {
    color: #333;
}

.btn-style-01:hover:before {
    left: -10%;
    opacity: 1.0;
    filter: Alpha(opacity=100);
}

.btn-style-02 {
    border: 1px solid #1d1d1d;
    text-align: right;
    background-color: #1d1d1d;
    box-sizing: border-box;
    padding-right: 1.5rem;
    height: 3.5rem;
}

.btn-style-02 strong {
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    line-height: 3.3rem;
}

.btn-style-02 i {
    position: absolute;
    top: 0;
    left: 1.5rem;
    color: #fff;
    font-size: 1.3rem;
    line-height: 3.2rem;
}

.btn-style-02:hover,
.btn-style-02:hover i {
    background-color: #fff;
    color:#1d1d1d !important;
    line-height: 3.3rem;
}

.btn-style-02 strong:hover {
    color: #1d1d1d;
}

.btn-style-03 {
    border: 1px solid #1d1d1d;
    text-align: right;
    background-color: #fff;
    box-sizing: border-box;
    padding-right: 1.5rem;
    height: 3.5rem;
}

.btn-style-03:before {
    background: #1d1d1d;
}

.btn-style-03 strong {
    color: #1d1d1d;
    font-size: 1rem;
    font-weight: 400;
    line-height: 3.3rem;
}

.btn-style-03 i {
    position: absolute;
    top: 0;
    left: 1.5rem;
    color: #1d1d1d;
    font-size: 1.3rem;
    line-height: 3.2rem;
}

.btn-style-03:hover,
.btn-style-03:hover i {
    background: #1d1d1d;
    color: #fff;
}

.btn-style-03 strong:hover {
    color: #fff;
}

@media all and (max-width: 640px) {
    .btn-style-01 i {
        line-height: 2.5rem;
    }

    .btn-style-02,
    .btn-style-03 {
        height: 3rem;
    }

    .btn-style-02 strong,
    .btn-style-03 strong {
        line-height: 2.8rem;
    }

    .btn-style-02 i,
    .btn-style-03 i {
        left: 1rem;
        font-size: 1.1rem;
        line-height: 3rem;
    }
}

.ps-6 {
    padding-left: 6rem !important;
}

.pe-1-s {
    padding-right: 0.3rem !important;
}

.ps-1-s {
    padding-left: 0.3rem !important;
}

.px-6 {
    padding-right: 6rem !important;
    padding-left: 6rem !important;
}

.px-7 {
    padding-right: 7rem !important;
    padding-left: 7rem !important;
}

.px-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important;
}

.px-9 {
    padding-right: 9rem !important;
    padding-left: 9rem !important;
}

.px-10 {
    padding-right: 10rem !important;
    padding-left: 10rem !important;
}

.px-11 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.mt-6 {
    margin-top: 4rem !important;
}

.mx-3-s {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
}


@media all and (min-width: 991px) and (max-width: 1400px) {
    .px-9-m {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .me-3-m {
        margin-right: 0.5rem !important;
    }

    .mb-4-m {
        margin-bottom: 0rem !important;
    }

    .px-11 {
        padding-right: 2.3rem !important;
        padding-left: 2.3rem !important;
    }
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .ps-5-m {
        padding-left: 1rem !important;
    }

    .p-1-m {
        padding: 1rem !important;
    }

    .ps-0-m {
        padding-left: 0rem !important;
    }

    .px-9-m {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important;
    }

    .mt-6-m {
        margin-top: 0rem !important;
    }

    .mb-2-m {
        margin-bottom: 4rem!important
    }

    .mb-5-m {
        margin-bottom: 4rem!important
    }
}

@media all and (max-width:640px) {
    .p-1-m {
        padding: 1rem !important;
    }

    .ps-0-m {
        padding-left: 0rem !important;
    }

    .ps-5-m {
        padding-left: 1rem !important;
    }

    .pt-5-m {
        padding-top: 2rem !important;
    }

    .px-0-m {
        padding-right: 0rem !important;
        padding-left: 0rem !important
    }

    .px-1-m {
        padding-right: 0.5rem !important;
        padding-left: 0.5rem !important
    }

    .px-7-m {
        padding-right: 1.5rem !important;
        padding-left: 1.5rem !important
    }

    .px-8-m {
        padding-right: 2rem !important;
        padding-left: 2rem !important
    }

    .px-9-m {
        padding-right: 1rem !important;
        padding-left: 1rem !important
    }

    .px-10-m {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }

    .py-6-m {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .mt-0-m {
        margin-top: 0rem !important;
    }

    .mb-2-m {
        margin-bottom: 4rem!important
    }

    .mt-3-m {
        margin-top: 1.3rem !important;
    }

    .mt-4-m {
        margin-top: 2rem !important;
    }

    .mt-5-m {
        margin-top: 3rem !important;
    }

    .mt-6-m {
        margin-top: 1rem !important;
    }

    .mb-5-m {
        margin-bottom: 4rem!important
    }

    .me-3-m {
        margin-right: 0.5rem !important;
    }

    .mx-1-m {
        margin-right: 1rem !important;
        margin-left: 1rem !important;
    }

    .mx-2-m {
        margin-right: 0.5rem !important;
        margin-left: 0.5rem !important;
    }
}

.g-lg-6,
.gx-lg-6 {
    --ct-gutter-x: 3.25rem;
}

.g-lg-6,
.gy-lg-6 {
    --ct-gutter-y: 3.25rem;
}

.bg-gray {
    background-color: #f1f3f5 !important;
}

.pc-con {
    display: block;
}

.m-con {
    display: none;
}

.t-con {
    display: none;
}

.br-pc {
    display: block !important;
}

.hidden {
    position: absolute;
    left: -9999px;
}

@media all and (max-width: 640px) {
    .br-m {
        display: block !important;
    }

    .br-pc {
        display: inline-block !important;
    }
    .w-50-m {
        width: 50% !important;
    }

    .img-ready {
        width: 100% !important;
    }

    .g-lg-6,
    .gx-lg-6 {
        --ct-gutter-x: 1rem;
    }

    .g-lg-6,
    .gy-lg-6 {
        --ct-gutter-y: 1rem;
    }
}

.text-white {
    color: #fff !important;
}

#header {
    z-index: 50;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background: #fff url('../images/common/bg-header.jpg') repeat-x left top;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

#header .header-in {
    position: relative;
}

#header h1 {
    position: absolute;
    top: 25px;
    left: 0;
}

.lnb-pc {
    z-index: 200;
    display: table;
    margin: 0 auto;
    position: relative;
}

.lnb-pc .lnb-navi > li {
    float: left;
    list-style: none;
}

.lnb-pc .lnb-navi > li > a {
    display: block;
    padding: 0 35px;
    line-height: 90px;
    font-weight: 500;
    font-size: 1.2rem;
    color: #222;
}

.lnb-pc .lnb-navi > li > a:hover,
.lnb-pc .lnb-navi > li.focus > a,
.lnb-pc .lnb-navi > li.on > a {
    background: #950f0f;
    color: #fff
}

.lnb-pc .lnb-navi > li.on .lnb-dep2 {
    background: #8d0d0d;
}

.lnb-pc .lnb-navi > li.on .lnb-dep2 > li {
    list-style: none;
}

.lnb-pc .lnb-navi > li.on .lnb-dep2 > li a {
    color: #fff;
}

.lnb-pc .lnb-dep2 {
    display: none;
    z-index: 200;
    height: 250px;
    padding-top: 30px;
    box-sizing: border-box;
}

.lnb-pc .lnb-dep2 > li {
    list-style: none;
}

.lnb-pc .lnb-dep2 > li a {
    display: block;
    font-size: 1rem;
    color: #444;
    line-height: 40px;
    letter-spacing: -.02em;
    text-align: center;
}

.lnb-pc .lnb-dep2 > li a:hover {
    text-decoration: underline;
}

#gnb {
    position: absolute;
    top: 29px;
    right: 50px;
}

#gnb li {
    float: left;
    list-style: none;
}

#gnb li a {
    display: block;
    width: 60px;
    border: solid 2px #333;
    font-family: 'Play', sans-serif !important;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 28px;
    box-sizing: border-box;
    color: #333;
    text-align: center;
    text-transform: uppercase;
}

#gnb li:nth-of-type(1) a {
    border-radius: 3px 0 0 3px;
}

#gnb li:nth-of-type(2) a {
    border-radius: 0 3px 3px 0;
}

#gnb li.on a {
    background: #333;
    color: #fff;
}

.m-navi {
    display: none;
    z-index: 999;
    position: absolute;
    right: 0;
    top: 0.2rem;
}

.navbar-toggler-m {
    border-color: none;
    padding: 0;
}

.navbar-toggler-m i {
    display: inline-block;
    color: #333;
    font-size: 2rem;
}

.navbar-toggler-m:focus {
    box-shadow: none;
    border: 0 !important
}

.navbar-toggler-m:hover {
    border: none !important;
}

.dropdown-toggle::after {
    display: none !important;
}

.dropdown-menu {
    background-color: #fff;
}

.dropdown-menu ul li {
    position: relative;
    padding: 0.5rem 0 0.5rem 2rem;
    list-style: none;
    border-bottom: none;
}

.dropdown-menu ul li:after {
    display: block;
    content: "";
    position: absolute;
    top: 22px;
    left: 10px;
    width: 10px;
    height: 1px;
    background: #000 !important;
}

.dropdown-menu ul li a {
    color: #666;
    font-size: 1rem !important;
    font-weight: 500;
    line-height: 1.6rem;
}

.dropdown-item {
    padding: 0 !important;
    background-color: #fff !important;
    font-size: 1rem !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: none !important;
    color: #000 !important;
}

.animate {
    animation-duration: 0.3s;
    -webkit-animation-duration: 0.3s;
    animation-fill-mode: both;
    -webkit-animation-fill-mode: both;
}

.slideIn {
    -webkit-animation-name: slideIn;
    animation-name: slideIn;
}

.scrollright {
    -webkit-animation-name: scrollright;
    animation-name: scrollright;
}

@keyframes slideIn {
    0% {
        transform: translateY(1rem);
        opacity: 0;
    }

    100% {
        transform: translateY(0rem);
        opacity: 1;
    }

    0% {
        transform: translateY(1rem);
        opacity: 0;
    }
}

@-webkit-keyframes slideIn {
    0% {
        -webkit-transform: transform;
        -webkit-opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        -webkit-opacity: 1;
    }

    0% {
        -webkit-transform: translateY(1rem);
        -webkit-opacity: 0;
    }
}

@media all and (max-width: 991px) {
	#header {
        height: 60px !important;
    }

	#header h1 {
        top: 17px;
    }

	#header h1 img {
        width: 170px;
    }

	#gnb {
        top: 16px;
        right: 45px;
    }

	#gnb li a {
        width: 45px;
        font-size: 13px;
        line-height: 24px;
    }

    .m-con {
        display: block;
    }

    .pc-con {
        display: none;
    }

    .m-navi {
        display: block;
        right: 0;
        top: 0.2rem;
    }

    .menu-m {
        display: flex;
        width: 75% !important;
        background-color: rgba(255, 255, 255, 1);
    }

    .navi-wrap-m {
        width: 80%;
        margin: 5rem auto 0;
        height: 100%;
        overflow-y: scroll;
    }

    .navi-wrap-m li {
        font-weight: 700;
        padding: 0.1rem;
    }

    .navi-wrap-m a {
        font-weight: 500;
        font-size: 1.5rem;
    }

    .btn-close {
        position: absolute;
        right: 1.5rem !important;
        top: 1.5rem !important;
        font-size: 1.3rem;
    }

    .sitemap {
        display: none;
    }
}

.sitemap {
    position: absolute;
    top: 1.4rem;
    right: 0;
}

.sitemap i {
    color: #666;
    font-size: 1.7rem;
}

.sitemap .btn {
    padding: 0 !important;
    border: 0 !important;
}

.modal-backdrop {
    z-index: 2 !important;
}

.all-modal-bg {
    background: #272727;
}

.allmenu {
    width: 100vw;
    height: 100%;
    overflow: hidden;
}

.allmenu * {
    box-sizing: border-box;
}

.modal-close {
    position: absolute;
    right: 7rem;
    top: 5rem;
    width: 26px;
    height: 26px;
    z-index: 100;
    font-size: 0 !important;
}

.modal-close:before,
.modal-close:after {
    display: block;
    content: "";
    position: absolute;
    top: -5px;
    left: 12px;
    background: rgba(255, 255, 255, 0.5);
    transform: rotate(-45deg);
    width: 2px;
    height: calc(100% + 9px);
    transition: 0.3s;
    z-index: 10;
}

.modal-close:after {
    transform: rotate(45deg);
}

.allmenu .all-box {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.allmenu .title {
    font-family: 'Play' !important;
    font-size: 4rem;
    color: #fff;
    line-height: 1.6;
    font-weight: 700;
    display: block;
    text-align: center;
    margin-bottom: 5rem;
}

.allmenu .line {
    border-right: 1px solid #393939;
}

.allmenu .line:last-child {
    border-right: none;
}

.allmenu .cate {
    font-size: 2.2rem;
    color: #fff;
    line-height: 1em;
    font-weight: 700;
    display: block;
    font-family: 'Play', 'Noto Sans KR', sans-serif;
    padding-bottom: 3rem;
    padding-left: 1rem;
}

.allmenu .cate span {
    display: block;
    font-family: 'Play';
    font-size: 1.5rem;
    color: #e7161a;
    font-weight: 700;
    padding-bottom: 1rem;
}

.allmenu .sub_menu {
    padding: 0 2rem 0 3rem;
}

.allmenu .sub_menu li {
    list-style: none;
    padding-bottom: 1.2rem;
}

.allmenu .sub_menu li a {
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-family: 'Play', 'Noto Sans KR', sans-serif;
    font-size: 1.2rem;
}

.allmenu .sub_menu li a:before {
    position: absolute;
    top: 2%;
    margin-top: -11px;
    right: 0;
    display: block;
    content: '+';
    font-family: 'Play';
    font-size: 1.5rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5)
}

.allmenu-foot {
    background-color: #202020;
    padding: 1rem 0;

}

.modal-footer {
    display: block;
}

.allmenu-foot .info-cont div {
    font-family: 'Play' !important;
    color: rgba(255, 255, 255, 0.5) !important;
}

.allmenu-foot .info-cont div span {
    display: inline-block;
    padding-right: 0.5rem;
    color: #fff;
}

@media all and (min-width: 992px) and (max-width: 1200px) {
    .allmenu .sub_menu {
        padding: 0 2rem 0 2rem;
    }

    .allmenu .sub_menu li a {
        font-size: 1rem;
    }

    .allmenu-foot .info-cont {
        width: 70%;
        margin: 0 auto;
    }

    .col-none {
        display: none !important;
    }
}

.main-visual {
    height: 100vh;
}

.visual-cont {
    position: relative;
    height: 100%;
}

.visual-cont .visual-bg {
    position: relative;
    overflow: hidden;
}

.visual-cont .visual-bg figure {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

/* .visual-cont .visual-bg figure {
    background-position: 100% center center;
} */

.visual-bg-01 figure {
    background-image: url(../images/main/bg-visual07.jpg);
}

.visual-bg-02 figure {
    background-image: url(../images/main/bg-visual08.jpg);
}

.visual-bg-03 figure {
    background-image: url(../images/main/bg-visual03.jpg);
}

.visual-bg-04 figure {
    background-image: url(../images/main/bg-visual04.jpg);
}

/* .visual-bg-05 figure {
    background-image: url(../images/main/bg-visual01.jpg);
}

.visual-bg-06 figure {
    background-image: url(../images/main/bg-visual05.jpg);
}

.visual-bg-07 figure {
    background-image: url(../images/main/bg-visual02.jpg);
}

.visual-bg-08 figure {
    background-image: url(../images/main/bg-visual06.jpg);
} 사용하지 않는 이미지*/

.visual-tit {
    width: 75%;
    bottom: 13rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    z-index: 10;
    text-align: center-;
}

.visual-tit p {
    font-size: 3rem;
    font-weight: 700;
    line-height: 3.5rem;
    color: #fff !important;
    padding-bottom: 1.3rem;
}

.visual-tit p+p {
    font-family: 'Play', sans-serif !important;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 3rem;
}

.visual-cont .swiper-pagination {
    z-index: 1;
    text-align: center;
    bottom: 5rem;
}

.visual-cont .swiper-pagination-bullet {
    margin: 0 5px !important;
    background: #fff;
    width: 40px;
    height: 5px;
    border-radius: 2px !important;
}

@media all and (min-width:991px) and (max-width:1400px) {
    .visual-tit {
        width: 90%;
        bottom: 13rem;
    }
}

@media screen and (max-width: 990px) {
    .main-visual {
        height: 650px;
    }

    .visual-tit {
        width: 90%;
        bottom: 14rem;
    }

    .visual-tit p {
        font-size: 1.8rem;
        line-height: 2.3rem;
        padding-bottom: 0.8rem;
    }

    .visual-tit p+p {
        font-size: 1.7rem;
        line-height: 2rem;
    }

    .visual-cont .visual-dot .swiper-pagination-bullet.swiper-pagination-bullet-active {
        width: 50px;
    }

    .visual-cont .visual-dot svg {
        width: 50px;
    }

    .b_stop_btn {
        left: 50px;
        bottom: 20px;
    }

    .visual-cont .swiper-pagination {
        bottom: 3rem;
    }
}

/* Motion S */
.text-motion .move-left {
    transform: translateX(25px);
    opacity: 0;
    transition: transform 1s ease, opacity .6s;
}

.text-motion.on .move-left {
    transform: translateX(0);
    opacity: 1;
}

.text-motion .move-up {
    transform: translateY(25px);
    opacity: 0;
    transition: transform .8s ease, opacity .4s;
}

.text-motion.on .move-up {
    transform: translateY(0);
    opacity: 1;
}

@keyframes mv_up {
    0% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

@-webkit-keyframes mv_up {
    0% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}
/* Motion E */

.tit-box {
    margin-bottom: 2rem;
    letter-spacing: -0.05rem;
}

.tit-box h2 div {
    font-family: 'Play', sans-serif !important;
    font-size: 1.3rem;
    line-height: 1rem;
    font-weight: 700;
    color: #828282;
    padding-bottom: 1.3rem;
}

.tit-box div {
    font-size: 3rem;
    font-weight: 700;
    line-height: 3.8rem;
    color: #1e1e1e;
    letter-spacing: -0.05rem;
}

.tit-box div+div {
    font-size: 1.1rem;
    color: #999;
    line-height: 2rem;
    padding-top: 0.9rem;
    font-weight: 500;
}

@media all and (max-width: 990px) {
    .tit-box div {
        font-size: 2rem;
        line-height: 2.7rem;
    }
}

@media all and (max-width: 640px) {
    .tit-box h2 div {
        font-size: 1rem;
        padding-bottom: 0rem;
    }

    .tit-box div {
        font-size: 1.5rem;
    }

    .tit-box div+div {
        font-size: 0.9rem;
        line-height: 1.3rem;
    }
}

.main-service {
    height: 100vh;
    position: relative;
    padding: 8rem 0 0;
    box-sizing: border-box;
}

.main-pdc-01 {
    background: url('../images/main/img-main-product01.jpg') no-repeat center;
}

.main-pdc-02 {
    background: url('../images/main/img-main-product02.jpg') no-repeat center;
}

.main-pdc-03 {
    background: url('../images/main/img-main-product03.jpg') no-repeat center;
}

.main-pdc-04 {
    background: url('../images/main/img-main-product04.jpg') no-repeat center;
}

.main-pdc-01-1 {
    background: url('../images/main/img-main-product01-1.jpg') no-repeat center;
}

.main-pdc-02-1 {
    background: url('../images/main/img-main-product02-1.jpg') no-repeat center;
}

.main-pdc-03-1 {
    background: url('../images/main/img-main-product03-1.jpg') no-repeat center;
}

.main-pdc-04-1 {
    background: url('../images/main/img-main-product04-1.jpg') no-repeat center;
}

.main-list-service {
    position: absolute;
    bottom: 0rem;
    width: 100%;
    padding: 0 4.5rem;
    box-sizing: border-box;
}

.main-list-service>div {
    background-size: 102% auto;
    transition: all 0.5s ease-out;
    transform-origin: 50% 50%;
    margin: 0 0.5rem;
}

.main-service-box {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 100%;
    height: 4rem;
    padding: 3rem 2rem 4rem;
    box-sizing: border-box;
    overflow: hidden;
}

.main-service-imgbox {
    margin: 0 auto;
    padding-top: 120%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    text-align: center;
}

.main-service-box .description {
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 300;
    line-height: 1.5rem;
    text-align: center;
    padding-top: 1rem;
}

.main-service-box .title {
    margin-bottom: 2rem;
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff !important;
    text-align: center;
    line-height: 1.2rem;
}

.main-service-box .t-small {
    font-size: 1.25rem !important;
}

.main-service-box span {
    display: inline-block;
    font-family: 'Play', sans-serif !important;
    margin-left: 0.2rem;
    font-size: 0.9rem;
    font-weight: 400;
    opacity: 0.5;
}

.main-list-service>div:hover .main-service-box {
    height: 60%;
    -webkit-transition: all .6s ease-in-out;
    transition: all .6s ease-in-out;
    background: rgba(0, 0, 0, 0.8);
}

.main-list-service>div:hover .main-service-box .title {
    margin-bottom: 20px;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.main-list-service>div:hover {
    background-size: 110%;
}

.pc-service-con {
    display: block !important;
}

.m-service-con {
    display: none !important;
   }

.btn-more {
    display: block;
    width: 12rem;
    height: 3rem;
    line-height: 3rem;
    margin: 0 auto;
}

@media all and (min-width: 1201px) and (max-width: 1600px) {
    .main-service {
        height: 800px;
    }

    .main-list-service>div:hover .main-service-box {
        height: 90%;
    }

    .main-service-box {
        padding: 3rem 2rem 3rem;
    }

    .main-service-box .description {
        line-height: 1.3rem;
        font-size: 0.8rem;
    }

    .main-service-box .description {
        padding-top: 0 !important;
    }

    .main-service-box .t-small {
        font-size: 1rem !important;
        line-height: 1.2rem;
    }
}

/* @media all and (min-width: 768px) and (max-width: 1200px) {
    .pc-service-con {
        display: none !important;
    }

   .m-service-con {
        display: block !important;
   }

   .pc-service-con {
        display: none !important;
    }

    .m-service-con {
        display: block !important;
    }

    .main-service {
        position: relative;
        padding: 4rem 0 0;
        height: 100%;
    }

    .btn-more-m {
        display: block;
        width: 60%;
        margin: 0 auto;
        height: 2rem;
        line-height: 2rem;
        background: rgba(0, 0, 0, 0.5);
        font-size: 0.6rem;
        color: #fff;
        border-radius: 0.2rem;
        margin-top: 3rem;
    }

    .btn-more-m:hover, .btn-more-m:hover i {
        color: #ff0101;
    }

    .btn-more-m i {
        display: inline-block;
        margin-left: 0.5rem;
        color: #fff;
    }

    .service-box {
        height: 200px;
        text-align: center;
        padding-top: 3rem;
        box-sizing: border-box;
        background-position: center center !important;
    }

    .service-box .title {
        margin-bottom: 1rem;
        font-size: 1.2rem;
        font-weight: 700;
        color: #fff;
    }

    .service-box span {
        display: block;
        margin-left: 0rem;
        font-size: 0.8rem;
    }
} */

@media all and (max-width: 1200px) {
    .pc-service-con {
        display: none !important;
    }

   .m-service-con {
        display: block !important;
   }

   .pc-service-con {
        display: none !important;
    }

    .m-service-con {
        display: block !important;
    }

    .main-service {
        position: relative;
        padding: 4rem 0 0;
        height: 100%;
    }

    .btn-more-m {
        display: block;
        width: 60%;
        margin: 0 auto;
        height: 2rem;
        line-height: 2rem;
        background: rgba(0, 0, 0, 0.5);
        font-size: 0.6rem;
        color: #fff;
        border-radius: 0.2rem;
        margin-top: 3rem;
    }

    .btn-more-m:hover, .btn-more-m:hover i {
        color: #ff0101;
    }

    .btn-more-m i {
        display: inline-block;
        margin-left: 0.5rem;
        color: #fff;
    }

    .service-box {
        height: 200px;
        text-align: center;
        padding-top: 3rem;
        box-sizing: border-box;
        background-position: center center !important;
    }

    .service-box .title {
        margin-bottom: 1rem;
        font-size: 1.2rem;
        font-weight: 700;
        color: #fff;
    }

    .service-box span {
        display: block;
        margin-left: 0rem;
        font-size: 0.8rem;
    }
}

.main-equipment {
    min-height: 800px;
    background: url('../images/main/bg-tech.png') repeat-y center top;
    padding: 8rem 0;
    box-sizing: border-box;
    height: 100vh;
}

.main-equipment .width-helf {
    width: 50%;
}

.left-part {
    position: relative;
    padding-top: 5rem;
    box-sizing: border-box;
}

.left-part .title {
    font-family: 'Play' !important;
    font-size: 4.8rem;
    font-weight: 700;
    color: #202020;
    line-height: 4.8rem;
}

.left-part .title span {
    color: #ff2c30;
}

.left-part .title p {
    font-size: 2.5rem;
    color: #202020;
    letter-spacing: -0.04em;
    padding-top: 1rem;
}

.right-part {
    padding-top: 4rem;
    box-sizing: border-box;
    text-align: center;
}

.right-part .img-box {
    text-align: center;
}

.right-part .img-box img {
    width: 500px;
}

.right-part .spec {
    text-align: center;
    margin-top: 3rem
}

.right-part .spec .item {
    position: relative;
}

.right-part .spec .item .item-icon {
    width: 65px;
    height: 65px;
    top: 0;
    border-radius: 50%;
    background: #e7161a;
}

.right-part .spec .item .bg-gray {
    background: #2e2e2e !important;
}

.right-part .spec .item .item-icon i {
    font-size: 2rem;
    font-weight: 200;
    color: #fff;
    line-height: 0rem !important;
}

.right-part .spec .item div.text-box h3 {
    font-size: 1.1rem;
    display: block;
    font-weight: 700;
    padding-bottom: 0.7rem;
    color: #000;
}

.right-part .spec .item div.text-box p {
    font-size: 0.9rem !important;
    color: #2c2c2c;
    font-weight: 500 !important;
}

@media all and (min-width: 991px) and (max-width: 1400px) {
    .main-equipment {
        height: 100%;
    }

    .left-part .title {
        font-size: 3rem;
        line-height: 3.5rem;
    }

    .left-part .title p {
        font-size: 2rem;
    }

    .right-part .img-box img {
        width: 100%;
    }
}

@media all and (max-width: 990px) {
    .main-equipment {
        background: none;
        padding: 3rem 0 0;
        height: 100%;
    }

    .main-equipment .width-helf {
        width: 100%;
    }

    .left-part {
        padding: 3rem 0;
        background: #f4f5f9;
    }

    .left-part .title {
        font-size: 2rem;
        line-height: 2.1rem;
        text-align: center;
    }

    .left-part .title p {
        font-size: 1.5rem;
    }

    .right-part {
        padding-bottom: 2rem;
        background: #f4f5f9;
    }

    .right-part .img-box img {
        width: 70%;
    }

    .right-part .spec {
        text-align: left;
    }

    .right-part .spec .item {
        margin-bottom: 1.2rem;
    }

    .right-part .spec .item .item-icon {
        width: 55px;
        height: 55px;
    }

    .right-part .spec .item div.text-box {
        position: absolute;
        left: 70px;
        top: 5px;
    }

    .right-part .spec .item div.text-box h3 {
        padding-bottom: 0.2rem;
    }
}

.main-product {
    width: 100%;
}

.main-product .main-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.main-product .main-inner {
    position: relative;
    padding: 8rem 0rem;
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
}

.main-product .product-tit {
    padding: 0;
    word-break: keep-all;
}

.main-product .product-tit p {
    font-family: 'Play', sans-serif !important;
    font-size: 4.5rem;
    font-weight: 700;
    letter-spacing: -0.05em;
    color: #000;
}

.main-product .product-tit p span {
    font-weight: 400;
}

.main-product .product-tit p+p {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: -0.05em;
    color: #000;
}

.main-product .product-tit p+p+p {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    color: #818181;
    margin: 2rem 0 0;
}

.main-product .p-right-box {
    width: 50%;
    margin: unset;
}

.main-product .p-left-box {
    position: relative;
    width: 42%;
    margin-left: 0;
}

.main-product .p-thum-slide {
    position: absolute;
    width: 42%;
    left: 0%;
    bottom: 110px;
}

.main-product .p-thum-slide h4 {
    font-size: 1rem;
    color: #000;
    font-weight: 500;
    text-align: center;
    margin-bottom: 0.5rem;
}

.main-product .p-right-box ul li {
    background-color: #f9f9f9;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-product .p-big-slide ul li {
    height: 680px;
}

.main-product .p-big-slide ul li img {
    max-width: 80%;
}

.p-text {
    opacity: 0;
    transition: opacity .3s;
    height: 0;
}

.p-text.on {
    opacity: 1;
    transition: opacity .3s;
    height: 0;
}

.main-product .swiper-pagination {
    z-index: 1;
    text-align: center;
    bottom: 2rem;
}

.main-product .swiper-pagination-bullet {
    margin: 0 5px !important;
    background: #3c3c3c;
    width: 30px;
    height: 5px;
    border-radius: 2px !important;
}

.main-product .p-thum-slide ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    cursor: pointer;
}

.main-product .p-thum-slide ul li.swiper-slide-active .p-img-box:after {
    opacity: 1;
    transition: .3s;
}

.main-product .p-thum-slide li .p-img-box {
    height: 8rem;
    background-color: #f9f9f9;
    border-radius: 0.5rem;
    overflow: hidden;
    position: relative;
    transition: .3s;
    text-align: center;
}

.main-product .p-thum-slide li .p-img-box img {
    width: 83%;
}

.main-product .p-thum-slide li h4 {
    margin-top: 20px;
}

.main-product .p-thum-slide li .p-img-box:after {
    content: '';
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 0.5rem;
    opacity: 0;
}


@media all and (min-width: 1201px) and (max-width: 1600px) {
    .main-product .p-thum-slide li .p-img-box {
        height: 100%;
    }

    .main-product .p-thum-slide li .p-img-box img {
        width: 100%;
    }
}

@media screen and (max-width: 1200px) {
    .main-product .product-tit p {
        font-size: 3.5rem;
    }

    .main-product .product-tit p+p {
        font-size: 1.8rem;
    }

    .main-product .product-tit p+p+p {
        font-size: 0.9rem;
        line-height: 1.4rem;
        margin: 1rem 0 2rem;
    }

    .main-product .p-tit-box .p-cont-txt {
        font-size: 12px;
        line-height: 18px;
    }

    .main-product .p-thum-slide li .p-img-box {
        height: 100%;
    }

    .main-product .p-thum-slide li .p-img-box img {
        width: 80%;
    }

    .main-product .p-thum-slide h4 {
        font-size: 0.8rem;
        margin-bottom: 0.5rem;
    }
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .main-product {
        height: 100%;
        padding: 4rem 0 5rem;
    }

    .main-product .main-inner {
        padding: 0rem 0 11rem !important;
    }

    .main-product .p-left-box {
        height: 300px;
        width: 100%;
        margin-left: 0;
        margin-bottom: 50px;
    }

    .main-product .p-right-box {
        width: 100%;
        height: 500px;
        margin-bottom: 20px;

    }

    .main-product .product-tit {
        text-align: center;
        padding: 0 !important;
    }

    .main-product .product-tit p {
        font-size: 3rem;
    }

    .main-product .product-tit p+p {
        font-size: 2rem;
    }

    .main-product .p-tit-box .p-cont-txt {
        font-size: 12px;
        line-height: 18px;
    }

    .main-product .p-tit-box .p-cont-txt {
        font-size: 12px;
        line-height: 18px;
    }

    .main-product .p-big-slide ul li {
        height: 500px;
    }

    .main-product .p-big-slide ul li img {
        max-width: 80%;
    }

    .main-product .p-thum-slide {
        bottom: 0px;
        width: 100%;
    }

    .main-product .p-thum-slide li .p-img-box {
        height: 130px;
    }

    .main-product .p-thum-slide li .p-img-box img {
        width: 65%;
        vertical-align: middle;
    }

    .main-product .p-thum-slide h4 {
        font-size: 0.8rem;
        margin-bottom: 0.5rem;
    }
}

@media screen and (max-width: 640px) {
    .main-product {
        height: 100%;
    }

    .main-product .main-inner {
        padding: 3rem 0 11rem !important;
    }

    .main-product .p-left-box {
        height: 250px;
        width: 100%;
        margin-left: 0;
        margin-bottom: 50px;
    }

    .main-product .p-right-box {
        width: 100%;
        margin-bottom: 20px;
    }

    .main-product .product-tit {
        text-align: center;
        padding: 0 !important;
    }

    .main-product .product-tit p {
        font-size: 2rem;
    }

    .main-product .product-tit p+p {
        font-size: 1.8rem;
    }

    .main-product .product-tit p+p+p {
        font-size: 0.9rem;
        line-height: 1.4rem;
        margin: 1rem 0 2rem;
    }

    .main-product .p-tit-box .p-cont-txt {
        font-size: 12px;
        line-height: 18px;
    }

    .main-product .p-big-slide ul li {
        height: 280px;
    }

    .main-product .p-big-slide ul li img {
        max-width: 100%
    }

    .main-product .p-thum-slide {
        bottom: 50px;
        width: 100%;
    }

    .main-product .p-thum-slide h4 {
        font-size: 0.8rem;
        margin-bottom: 0.5rem;
    }

    .main-product .swiper-pagination {
        bottom: 1rem;
    }

    .main-product .p-thum-slide li .p-img-box {
        height: 4.5rem;
    }

    .main-product .p-thum-slide li .p-img-box img {
        width: 90%;
    }
}

.main-merit {
    position: relative;
    width: 100%;
    height: 100vh;
    background: url('../images/main/bg-merit.jpg') no-repeat center/cover !important;
}

.merit {
    padding: 8rem 0 0;
    box-sizing: border-box;
}

.bg-grid {
    position: absolute;
    top: 0;
    right: 100px;
    bottom: 0px;
    left: 100px;
}

.bg-grid ul {
    display: table;
    width: 100%;
    height: 100%;
}

.bg-grid li {
    display: table-cell;
    width: 25%;
    position: relative;
    height: 100%;
}

.bg-grid li:after,
.bg-grid li:first-child:before {
    position: absolute;
    top: 0px;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    content: ""
}

.bg-grid li:first-child:before,
.bg-grid li:last-child:after {
    display: none;
}

.merit-con {
    padding: 0 100px;
    margin-top: 12rem;
    box-sizing: border-box;
}

.merit-con li {
    float: left;
    width: 25%;
    text-align: center;
    list-style: none;
}

.merit-con li dl .merit-tit {
    color: #fff;
    font-size: 2rem;
    letter-spacing: -0.3px;
    margin-bottom: 1rem;
}

.merit-con li .merit-tit i {
    font-size: 4rem;
    font-weight: 900;
    color: #fff;
}

.merit-con li .merit-tit strong {
    display: block;
    font-weight: 500;
    margin-top: 10px;
}

.merit-con li .merit-cont-detail {
    color: rgba(255, 255, 255, 1);
    font-size: 1rem;
    letter-spacing: -0.5px;
    line-height: 1.5;
}

@media all and (min-width: 991px) and (max-width: 1400px) {
    .merit {
        height: 100%;
        padding-bottom: 6rem;
    }

    .bg-grid {
        right: 10px;
        left: 10px;
    }

    .merit-con {
        padding: 0 10px;
        margin-top: 7rem;
    }

    .merit-con li dl .merit-tit {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .merit-con li .merit-tit i {
        font-size: 2.5rem;
    }
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .main-merit {
        height: 100%;
    }

    .merit {
        padding: 4rem 0;
    }

    .bg-grid {
        display: none;
    }

    .merit-con {
        padding: 0 1rem;
        margin-top: 8rem;
    }

    .merit-con li {
        padding: 0 1rem;
        margin-bottom: 2rem;
    }

    .merit-con li dl .merit-tit {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }

    .merit-con li .merit-tit i {
        font-size: 2rem;
    }

    .merit-con li .merit-cont-detail {
        font-size: 0.8rem;
        line-height: 1.5;
        font-weight: 200 !important;
    }
}

@media all and (max-width: 640px) {
    .main-merit {
        height: 100%;
    }

    .merit {
        padding: 4rem 0 3rem;
    }

    .bg-grid {
        display: none;
    }

    .merit-con {
        padding: 0 1rem;
        margin-top: 5rem;
    }

    .merit-con li {
        width: 50%;
        box-sizing: border-box;
        padding: 0 1rem;
        margin-bottom: 2rem;
    }

    .merit-con li dl .merit-tit {
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

    .merit-con li .merit-tit i {
        font-size: 1.5rem;
    }

    .merit-con li .merit-cont-detail {
        font-size: 0.8rem;
        line-height: 1.5;
        font-weight: 200 !important;
    }
}

.main-news {
    height: 100vh;
    margin: 0 8rem;
    overflow: hidden;
    padding: 8rem 0 0;
}

.main-news .notice {
    margin: 100px 0 0;
}

.main-news .notice .swiper-slide {
    perspective: 800px;
    background-color: #fff;
}

.main-news .notice .swiper-slide>a {
    position: relative;
    display: block;
    transition: all 0.6s 0.4s;
}

.main-news .notice .swiper-slide>a:hover {
    transform: translateZ(0px);
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.4);
}

.main-news .notice .swiper-slide .info {
    box-sizing: border-box;
    height: 190px;
    text-align: left;
    padding: 1rem;
    box-sizing: border-box;
    transition: all 0.3s ease-out;
}

.main-news .notice .swiper-slide:hover .info {
    padding: 1rem;
}

.main-news .notice .swiper-slide .info .cate {
    margin-bottom: 25px;
}

.main-news .notice .swiper-slide .info .cate span {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 15px;
    font-family: "Play";
    font-weight: 700;
    font-size: 0.8rem;
    text-align: center;
    line-height: 32px;
}

.main-news .notice .swiper-slide .info .cate span.cate_news {
    border: 1px solid #e7161a;
    color: #e7161a;
}

.main-news .notice .swiper-slide .info .sbj {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    /* 라인수 */
    -webkit-box-orient: vertical;
    line-height: 1.5em;
    height: 3.0em;
    font-size: 1.3rem;
    color: #000;
    font-weight: 700;
    word-break: keep-all;
    margin-bottom: 20px;
    letter-spacing: -0.05em;
}

.main-news .notice .swiper-slide .info .date {
    font-family: 'Play', sans-serif !important;
    font-size: 1rem;
    color: #989898;
}

.main-news .notice .swiper-slide .info .date i {
    font-size: 0.8rem;
    font-weight: 700;
}

.main-news .notice .swiper-slide .thumb {
    overflow: hidden;
}

.main-news .notice .swiper-slide .thumb img {
    transform: scale(1);
    width: 100%;
    height: 250px;
    transition: all 0.6s;
}

.main-news .notice .swiper-slide .thumb img.no-img {
    border: 1px solid #ddd;
}

.main-news .notice .swiper-slide:hover .thumb img {
    transform: scale(1.05);
}

.main-news .notice .swiper-slide .thumb:before {
    display: block;
    content: "";
    width: 0;
    height: 2px;
    background: #e7161a;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    transition: all 0.3s 0s ease-out;
}

.main-news .notice .swiper-slide .thumb:after {
    display: block;
    content: "";
    width: 0;
    height: 2px;
    background: #e7161a;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    transition: all 0.3s 0.6s ease-out;
}

.main-news .notice .swiper-slide .info:before {
    display: block;
    content: "";
    width: 2px;
    height: 0;
    background: #e7161a;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    transition: all 0.3s 0.3s ease-out;
}

.main-news .notice .swiper-slide .info:after {
    display: block;
    content: "";
    width: 2px;
    height: 0;
    background: #e7161a;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    transition: all 0.3s 0.6s ease-out;
}

.main-news .notice .swiper-slide:hover .thumb:before {
    width: 100%;
    transition: all 0.3s 0s ease-out;
}

.main-news .notice .swiper-slide:hover .thumb:after {
    width: 100%;
    transition: all 0.3s 0s ease-out;
}

.main-news .notice .swiper-slide:hover .info:before {
    height: 100%;
    transition: all 0.3s 0.3s ease-out;
}

.main-news .notice .swiper-slide:hover .info:after {
    height: 100%;
    transition: all 0.3s 0.3s ease-out;
}

.main-news .notice .ctr {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.main-news .notice .ctr .swiper-scrollbar2 {
    width: calc(100% - 250px);
    height: 2px;
    box-shadow: 0 -1px 0 #c6c6c6 inset;
}

.main-news .notice .ctr .swiper-scrollbar2 .swiper-scrollbar-drag {
    background: #e7161a;
    border-radius: 0;
}

.main-news .notice .ctr .paging {
    box-sizing: border-box;
    width: 150px;
    text-align: right;
}

.main-news .notice .ctr .paging>div {
    display: inline-block;
    position: relative;
    outline: 0;
    box-sizing: border-box;
    width: 60px;
    height: 60px;
    border: 1px solid #d8d8d8;
    background-color: #fff;
    cursor: pointer;
    text-align: center;
    -webkit-transition-delay: 1s;
    -moz-transition-delay: 1s;
    -ms-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -ms-transition: all 0.4s;
    transition: all 0.4s;
}

.main-news .notice .ctr .paging>div:hover {
    border: 1px solid #c80306;
    background-color: #e7161a;
}

.main-news .notice .ctr .paging>div i {
    display: block;
    font-size: 2rem;
    line-height: 3.5rem;
    color: #989898;
}

.main-news .notice .ctr .paging>div i:hover {
    color: #fff;
}

@media all and (min-width:991px) and (max-width:1400px) {
    .main-news {
        padding: 4rem 0;
        margin: 0 1.5rem;
        height: 100%;
    }
}

@media all and (min-width:641px) and (max-width:990px) {
    .main-news {
        padding: 4rem 0;
        margin: 0 2rem;
        height: 100%;
    }
}

@media all and (max-width:640px) {
    .main-news {
        margin: 0 1.5rem;
        padding: 4rem 0;
        height: 100%;
    }

    .main-news .notice {
        margin: 3rem 0 0;
    }

    .main-news .notice .swiper-slide .info {
        height: 140px;
    }

    .main-news .notice .swiper-slide .info .cate {
        margin-bottom: 0.7rem;
    }

    .main-news .notice .swiper-slide .info .cate span {
        padding: 0 10px;
        line-height: 20px;
        font-size: 0.7rem;
    }

    .main-news .notice .swiper-slide .info .sbj {
        line-height: 1.5em;
        height: 2.8rem;
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }

    .main-news .notice .swiper-slide .thumb img {
        height: 130px;
    }

    .main-news .notice .ctr .swiper-scrollbar2 {
        display: none;
    }

    .main-news .notice .ctr .paging {
        width: 100%;
        text-align: center;
    }

    .main-news .notice .ctr .paging>div {
        width: 40px;
        height: 40px;
        margin: 0 1rem;
    }

    .main-news .notice .ctr .paging>div i {
        font-size: 1.2rem;
        line-height: 2.5rem;
    }
}

.main-global {
    height: 100vh;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
}

.main-global .bg-wrap {
    width: 100%;
    height: 100%;
    display: block;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.main-global .bg-wrap .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.12);
    transition: transform 2s ease-in-out;
}

.main-global .bg-wrap.global .bg {
    background: url('../images/main/bg-global.jpg') no-repeat center center/cover;
}

.main-global.action .bg-wrap .bg {
    transform: scale(1);
}

.main-global .inner {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.main-global .bg-box {
    position: relative;
    background: rgba(255, 255, 255, 0.15);
    padding: 1.8rem 2.5rem;
    box-sizing: border-box;
    -webkit-transition-delay: 1s;
    -moz-transition-delay: 1s;
    -ms-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -ms-transition: all 0.4s;
    transition: all 0.4s;
}

.main-global .bg-box:hover {
    background: rgba(0, 0, 0, 0.6);
}

.main-global .bg-box h4 {
    font-family: 'Play', sans-serif !important;
    font-size: 0.7rem;
    padding-top: 0.5rem;
}

.main-global .bg-box p {
    font-size: 1.7rem;
    font-weight: 300 !important;
}

.main-global .bg-box .icon-box {
    position: absolute;
    right: 2rem;
    top: 0.5rem;
}

.main-global .bg-box .icon-box i {
    color: #fff;
    font-size: 3.5rem
}

.main-global .bg-box:hover i {
    color: #d5191c;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .main-global {
        height: 700px;
    }

    .main-global .bg-box {
        padding: 1rem;
    }

    .main-global .bg-box p {
        font-size: 1rem;
    }

    .main-global .bg-box .icon-box {
        right: 1rem;
    }

    .main-global .bg-box .icon-box i {
        font-size: 2rem;
    }
}

@media all and (max-width: 640px) {
    .main-global {
        height: 650px;
    }

    .main-global .bg-box {
        padding: 1.2rem 1.5rem;
    }

    .main-global .bg-box h4 {
        font-size: 0.7rem;
        padding-top: 0;
    }

    .main-global .bg-box p {
        font-size: 1.1rem;
    }

    .main-global .bg-box .icon-box i {
        font-size: 2.2rem;
    }
}

.sub-visual {
    position: relative;
    width: 100%;
    text-align: center;
    height: 650px;
}

.sub-visual .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.sub-visual .bg:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    animation-duration: 5s;
    animation-name: visualScale;
    animation-timing-function: all 2.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.sub-visual .bg-company:after {
    background-image: url('../images/sub/bg-subvisual01.jpg');
}

.sub-visual .bg-business:after {
    background-image: url('../images/sub/bg-business.jpg');
}

.sub-visual .bg-product:after {
    background-image: url('../images/sub/bg-product.jpg');
}

.sub-visual .bg-customer:after {
    background-image: url('../images/sub/bg-customer.jpg');
}

.sub-visual .bg-etc:after {
    background-image: url('../images/sub/bg-etc.jpg');
}

.sub-visual .visual-in {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 1280px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}

.sub-visual .visual-in strong {
    display: block;
    font-size: 1.5rem;
    font-weight: 400;
    color: #fff;
    line-height: 120%;
    opacity: 0;
    transition: all .5s linear;
}

.sub-visual .visual-in.action strong {
    opacity: 1;
}

.sub-visual .visual-in h2 {
    font-size: 5rem;
    color: #fff;
    font-weight: 700;
    line-height: 120%;
}

@keyframes visualScale {
    0% {
        transform: scale(1.15);
        -ms-transform: scale(1.15);
        -webkit-transform: scale(1.15);
    }

    100% {
        transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
    }
}

.visualSub-tit {
    overflow: hidden;
    opacity: 0;
}

.visualSub-tit .char {
    display: inline-block;
    opacity: 0;
    transform: translateY(125%);
}

.visualSub-tit.splitting {
    opacity: 1.0;
}

.visualSub-tit.splitting .char {
    animation: slide-up 0.5s cubic-bezier(.5, .2, 0, 1);
    animation-fill-mode: both;
    animation-delay: calc(.3s + (.05s * var(--char-index)));
}

.visualSub-tit .char {
    font-family: 'Play', sans-serif !important;
    letter-spacing: -0.2em;
    line-height: 120%;
}

.whitespace {
    line-height: 0;
}

@keyframes slide-up {
    from {
        opacity: 0;
        transform: translateY(125%);
    }

    to {
        opacity: 1.0;
        transform: translateY(0);
    }
}

@media all and (max-width:640px) {
    .sub-visual {
        height: 270px;
    }

    .sub-visual .visual-in {
        top: 60%;
    }

    .sub-visual .visual-in h2 {
        font-size: 2.5rem;
    }
}

.sub-navi {
    display: block;
    position: relative;
    width: 100%;
    height: 80px;
    margin-top: -80px;
}

.sub-navi .menu-inner {
    text-align: center;
    width: 100%;
    height: 80px;
    background: rgba(0, 0, 0, 0.8);
}

.sub-navi .menu-inner ul li {
    display: inline-block;
    width: 170px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.sub-navi .menu-inner ul li>a {
    display: block;
    display: table;
    position: relative;
    width: 100%;
    height: 80px;
    line-height: 1.2;
    color: #fff;
    font-size: 16px;
    letter-spacing: -0.35px;
    font-weight: 400;
    word-break: keep-all;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.sub-navi .menu-inner ul li>a:before {
    position: absolute;
    top: 50%;
    margin-top: -7px;
    left: 0;
    width: 1px;
    height: 14px;
    background-color: rgba(255, 255, 255, 0.1);
    content: "";
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.sub-navi .menu-inner ul li>a>span {
    display: table-cell;
    vertical-align: middle;
    padding: 0 15px;
}

.sub-navi .menu-inner ul li.on {
    background-color: #fff;
}

.sub-navi .menu-inner ul li.on:hover {
    background-color: #fff;
}

.sub-navi .menu-inner ul li:hover {
    background-color: #222;
}

.sub-navi .menu-inner ul li.on>a:before {
    opacity: 0;
}

.sub-navi .menu-inner ul li.on>a {
    color: #000;
}

.m-sub-navi {
    display: none !important;
}

@media all and (max-width:640px) {
    .sub-navi {
        display: none !important;
    }

    .m-sub-navi {
        display: block;
    }

    .navi-tit:after {
        position: absolute;
        display: inline-block !important;
        vertical-align: 0.2125em;
        content: " " !important;
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
        color: #e7161a !important;
        right: 1.5em;
        top: 1.5em;
    }

    .navi-tit {
        display: block;
        width: 100%;
        height: 3.5rem;
        border-radius: 0 !important;
        font-size: 1rem !important;
        line-height: 3.5rem;
        font-weight: 500 !important;
        border: 0 !important;
        text-align: center;
    }

    .navi-1dep {
        background: #fff;
        color: #222 !important;
    }

    .navi-2dep {
        background: #222;
        color: #fff !important;
    }

    .navi-list {
        width: 100%;
        padding: 1rem 0 !important;
        border-radius: 0 !important;
        margin: 0 !important;
        box-sizing: border-box;
        border: 0 !important;
        transform: translate(0px, 56px) !important;
        text-align: center;
    }

    .navi-list a {
        display: block;
        font-size: 1rem !important;
        line-height: 2.5em;
        font-weight: 500 !important;
    }

    .navi-list a:hover {
        background-color: #eee !important;
        color: #e7161a !important;
    }

    .m-sub-navi .btn:focus {
        color: none;
        background-color: none;
        border-color: none;
        outline: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
}

.sub-cont {
    padding: 10rem 0 0 !important;
}

.sub-tit {
    padding: 3rem 0;
    text-align: center;
}

.sub-tit h2 {
    font-size: 2.7rem;
    color: #000;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.sub-tit h2 span {
    font-family: 'Play', sans-serif !important;
    font-size: 3rem;
    font-weight: 700 !important;
}

.sub-tit p {
    padding: 1.5rem 0 1rem !important;
    font-size: 1.3rem !important;
    font-weight: 400;
    color: #000 !important;
    letter-spacing: -0.05em;
}

.sub-tit .slogan {
    font-family: 'Play', sans-serif !important;
    font-size: 4rem !important;
    font-weight: 700;
    color: #000 !important;
}

.sub-tit .slogan span {
    color: #c10004 !important;
}

.sub-tit h3 {
    font-size: 2.1rem;
    color: #000;
    font-weight: 700;
}

.sub-tit .sub-p {
    font-size: 1.2rem !important;
    color: #666 !important;
    font-weight: 400 !important;
}

.sub-tit .sub-p02 {
    font-size: 1.2rem !important;
    color: #fff !important;
    font-weight: 400 !important;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .sub-tit .slogan {
        font-size: 3rem !important;
    }
}

@media all and (max-width: 640px) {
    .sub-cont {
        padding: 8rem 0 0 !important;
    }

    .sub-tit {
        padding: 0rem 0;
        text-align: center;
    }

    .sub-tit h2 {
        font-size: 2rem;
    }

    .sub-tit h2 span {
        font-size: 2.5rem;
    }

    .sub-tit p {
        padding: 1rem 0 2rem !important;
        font-size: 1.1rem !important;
    }

    .sub-tit .slogan {
        font-size: 1.8rem !important;
    }

    .sub-tit h3 {
        font-size: 1.6rem;
    }

    .sub-tit .sub-p {
        font-size: 0.95rem !important;
    }

    .sub-tit .sub-p02 {
        font-size: 1rem !important;
    }
}

.greeting-cont {
    font-size: 1.1rem;
    font-weight: 400;
    color: #2c2c2c;
    text-align: center;
    line-height: 2rem;
    padding: 4rem 0 2rem;
}

.ceo-sign-con {
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: -0.65px;
    color: #353535;
    padding-top: 3rem;
}

/* .ceo-sign-con strong {
    font-size: 2.2rem;
    font-weight: 700;
    display: inline-block;
    vertical-align: middle;
    font-family: 'Nanum Myeongjo', serif;
    padding-left: 1rem;
} */

.ceo-sign-con img {
    width: 150px;
    margin-left: 20px
}

.bg-logo {
    height: 300px;
    background: url('../images/sub/bg-logo.png') no-repeat right -160px bottom -50px;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .bg-logo {
        height: 100px;
        background-position: center bottom -10px;
        background-size: 50%;
    }
}

@media all and (max-width: 640px) {
    .greeting-cont {
        font-size: 1rem;
        line-height: 1.6rem;
        padding: 2rem 1rem;
    }

    .ceo-sign-con {
        font-size: 1.2rem;
    }

    .ceo-sign-con img {
        width: 120px;
        margin-left: 20px
    }

    .bg-logo {
        height: 100px;
        background-position: center bottom -10px;
        background-size: 80%;
    }
}

.sub-banner {
    height: 580px;
}

.sub-banner .bg-wrap {
    width: 100%;
    height: 100%;
    display: block;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.sub-banner .bg-wrap .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.12);
    transition: transform 2s ease-in-out;
}

.sub-banner .bg-wrap.c-banner .bg {
    background: url('../images/sub/bg-banner.jpg') no-repeat center center/cover;
}

.sub-banner.action .bg-wrap .bg {
    transform: scale(1);
}

.sub-banner .inner {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sub-banner .inner .s-tit {
    font-size: 2.5rem !important;
    font-weight: 300;
    color: #fff !important;
}

.sub-banner .bg-box {
    position: relative;
    background: rgba(255, 255, 255, 0);
    padding: 1rem 1.5rem;
    border: 1px solid #424140;
    box-sizing: border-box;
    -webkit-transition-delay: 1s;
    -moz-transition-delay: 1s;
    -ms-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -ms-transition: all 0.4s;
    transition: all 0.4s;
}

.sub-banner .bg-box:hover {
    background: rgba(0, 0, 0, 0.6);
}

.sub-banner .bg-box p {
    font-size: 1.1rem;
    font-weight: 300 !important;
}

.sub-banner .bg-box .icon-box {
    position: absolute;
    right: 1.2rem;
    top: 1rem;
}

.sub-banner .bg-box .icon-box i {
    color: #c40504;
    font-size: 1.3rem;
}

.sub-banner .bg-box:hover i {
    color: #fff;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .sub-banner .inner .s-tit {
        font-size: 2rem !important;
    }
}

@media all and (max-width:640px) {
    .sub-banner {
        height: 270px;
    }

    .sub-banner .bg-wrap.c-banner .bg {
        background-position: right center/cover;
    }

    .sub-banner .inner .s-tit {
        font-size: 1.2rem !important;
        text-align: center;
    }

    .sub-banner .bg-box {
        background: rgba(144, 144, 144, .2);
        padding: 0.7rem 1.5rem;
    }

    .sub-banner .bg-box p {
        font-size: 1rem;
    }

    .sub-banner .bg-box .icon-box {
        top: 0.5rem;
    }
}

.bg-vision {
    position: relative;
    height: 350px;
    background: url('../images/sub/bg-vision.jpg') no-repeat right bottom;
    background-size: cover;
    padding: 7rem;
    box-sizing: border-box;
    border-radius: 2.5rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
}

.vision-list {
    height: 700px;
    background: url('../images/sub/bg-shape.jpg') no-repeat;
    background-position: center top;
    background-size: 600px;
}

.vision-list li {
    float: left;
    width: 50%;
    list-style: none;
}

.vision-list li div {
    height: 275px;
    box-sizing: border-box;
    letter-spacing: -0.04em;
}

.vision-list li:nth-of-type(odd) div {
    padding-right: 50%;
    text-align: right;
}

.vision-list li:nth-of-type(even) div {
    padding-left: 50%;
}

.vision-list li:nth-of-type(1) div {
    background: url('../images/sub/icon-vision01.png') no-repeat;
    background-position: right 300px top 50px;
    padding: 140px 310px 0 0;
}

.vision-list li:nth-of-type(2) div {
    background: url('../images/sub/icon-vision02.png') no-repeat;
    background-position: left 300px top 50px;
    padding: 140px 0 0 310px;
}

.vision-list li:nth-of-type(3) div {
    background: url('../images/sub/icon-vision03.png') no-repeat;
    background-position: right 300px bottom;
    padding: 190px 310px 0 0;
}

.vision-list li:nth-of-type(4) div {
    background: url('../images/sub/icon-vision04.png') no-repeat;
    background-position: left 300px bottom;
    padding: 190px 0 0 310px;
}

.vision-list li div h4 {
    font-size: 1.1rem;
    line-height: 1.5em;
    font-weight: 700;
    color: #000;
}

.vision-list li div p {
    padding-top: 10px;
    font-size: 1rem;
    color: #666;
    line-height: 1.4em;
}

.vision-list li:nth-of-type(3) div h4,
.vision-list li:nth-of-type(4) div h4 {
    padding-top: 100px;
}

.vision-strong {
    font-size: 1.5rem;
    color: #282828;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
    padding: 4rem 0;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .bg-vision {
        height: 230px;
        padding: 4rem;
        font-size: 1.6rem;
    }

    .vision-list {
        height: 400px;
        background-size: 350px;
    }

    .vision-list li:nth-of-type(1) div {
        background-size: 50px;
        background-position: right 180px top 30px;
        padding: 100px 150px 0 0;
    }

    .vision-list li:nth-of-type(2) div {
        background-size: 50px;
        background-position: left 180px top 30px;
        padding: 100px  0 0 150px;
    }

    .vision-list li:nth-of-type(3) div {
        background-size: 50px;
        background-position: right 180px top 30px;
        padding: 0 150px 0 0;
    }

    .vision-list li:nth-of-type(4) div {
        background-size: 50px;
        background-position: left 180px top 30px;
        padding: 0 0 0 150px;
    }

    .vision-list li div h4 {
        font-size: 1rem;
        line-height: 1.3em;
    }

    .vision-list li div p {
        padding-top: 5px;
        font-size: 0.9rem;
    }

    .vision-strong {
        font-size: 1.2rem;
        padding: 1rem 0;
    }
}

@media all and (max-width: 640px) {
    .bg-vision {
        height: 170px;
        background: url('../images/sub/bg-vision-m.jpg') no-repeat right center;
        padding: 2.2rem;
        border-radius: 0.5rem;
        font-size: 1.3rem;
        text-align: center;
    }

    .vision-list {
        height: auto;
        background: none;
    }

    .vision-list ul {
        width: 85%;
        margin: 2rem auto 0;
    }

    .vision-list li {
        float: none;
        width: 100%;
        margin-bottom: 20px;
        text-align: left;
    }

    .vision-list li div {
        height: auto;
        min-height: 70px;
        background-size: 40px !important;
        background-position: left 0 top 0 !important;
    }

    .vision-list li:nth-of-type(1) div,
    .vision-list li:nth-of-type(2) div,
    .vision-list li:nth-of-type(3) div,
    .vision-list li:nth-of-type(4) div {
        padding: 0 0 0 5rem !important;
    }

    .vision-list li:nth-of-type(odd) div {
        padding-right: 0;
        text-align: left;
    }

    .vision-list li:nth-of-type(even) div {
        padding-left: 0;
    }

    .vision-list li:nth-of-type(3) div h4,
    .vision-list li:nth-of-type(4) div h4 {
        padding-top: 0;
    }

    .vision-list li div h4 {
        font-size: 1rem;
    }

    .vision-list li div p {
        padding-top: 0;
        font-size: 0.9rem;
    }

    .vision-strong {
        width: 90%;
        margin: 0 auto;
        font-size: 1rem;
        padding: 2rem;
        box-sizing: border-box;
        background: #f7f7f7;
    }
}

.cont-vision02 img {
    width: 100%;
    border-top-left-radius: 4rem;
}

.cont-vision02 img.part-2 {
    border-top-left-radius: 0;
    border-bottom-right-radius: 4rem;
}

.cont-vision02 h3 {
    color: #222;
    font-weight: 700;
    font-size: 2.3rem;
    letter-spacing: -0.04em;
}

.cont-vision02 .des {
    font-size: 1.1rem;
    padding-top: 2rem;
}

.sub-banner .bg-wrap.bg-talent .bg {
    background: url('../images/sub/bg-vision02.jpg') no-repeat center top/cover;
    height: 700px;
}

.talent-list {
    text-align: center;
}

.talent-list h4 {
    font-size: 1.3rem;
    font-weight: 700;
    padding-bottom: 0.5rem;
    color: #fff;
}

.talent-list p {
    font-size: 1rem;
    color: #fff;
}

.talent-list .feature-icon i {
    font-size: 2.7rem;
    color: #00fffb;
}

@media all and (max-width:990px) {
    .row-cols-mdt-2>* {
        flex: 0 0 auto;
        width: 50%;
    }

    .cont-vision02 img {
        width: 85%;
        border-radius: 1rem;
    }

    .cont-vision02 .img-center {
        text-align: center;
    }

    .cont-vision02 img.part-2 {
        border-radius: 1rem;
    }

    .cont-vision02 h3 {
        font-size: 1.7rem;
        text-align: center;
    }

    .cont-vision02 .des {
        font-size: 1rem;
        padding: 2rem 2rem 0;
        text-align: center;
    }

    .sub-banner .bg-wrap.bg-talent .bg {
        background: url('../images/sub/bg-vision02.jpg') no-repeat center top/cover;
    }

    .h-600 {
        height: 600px !important;
    }

    .talent-list {
        margin-top: 1.5rem;
    }

    .talent-list h4 {
        font-size: 1rem;
        padding-bottom: 0.5rem;
    }

    .talent-list p {
        font-size: 0.9rem;
        line-height: 1.2rem;
    }

    .talent-list .feature-icon i {
        font-size: 1.8rem;
    }

}

.bg-history {
    position: relative;
    height: 350px;
    background: url('../images/sub/bg-history.jpg') no-repeat right bottom;
    background-size: cover;
    padding: 7rem;
    box-sizing: border-box;
    border-radius: 2.5rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
}

.history-list {
    padding-top: 8rem;
    margin-bottom: 8rem;
    background: url('../images/sub/bg-history-line.gif') repeat-y center top;
}

.history-list>li {
    list-style: none;
}

.history-list>li img {
    padding-top: 10px;
}

.history-list>li:nth-of-type(odd) dl {
    background: url('../images/sub/bg-history-dot.png') no-repeat center 15px;
    display: flow-root;
}

.history-list>li:nth-of-type(even) dl {
    background: url('../images/sub/bg-history-dot.png') no-repeat center 15px;
    display: flow-root;
}

.history-list>li.on dl {
    background: url('../images/sub/bg-history-dot-on.png') no-repeat center 15px;
    display: flow-root;
}

.history-list>li:nth-of-type(odd) dl::after {
    content: "";
    display: block;
    clear: both;
}

.history-list>li:nth-of-type(even) dl::after {
    content: "";
    display: block;
    clear: both;
}

.history-list>li dt {
    width: 47%;
    font-size: 2.8rem;
    font-family: 'Play', sans-serif !important;
    color: #000;
    font-weight: 700;
    letter-spacing: -0.04em;
    padding-bottom: 5rem;
}

.history-list>li dt p img {
    width: 50% !important;
}

.history-list>li:nth-of-type(odd) dt {
    float: left;
    margin-right: 3%;
    text-align: right;
}

.history-list>li:nth-of-type(even) dt {
    float: right;
    margin-left: 3%;
    text-align: left;
}

.history-list>li dd {
    width: 47%;
}

.history-list>li:nth-of-type(odd) dd {
    float: left;
    margin-left: 3%;
    overflow: hidden;
}

.history-list>li:nth-of-type(even) dd {
    float: left;
    margin-right: 3%;
    text-align: right;
    overflow: hidden;
}

.history-list>li:nth-of-type(odd) strong {
    left: 0;
}

.history-list>li:nth-of-type(even) strong {
    right: 0;
}

.history-list>li .year-list {
    margin-top: 1.2rem;
}

.history-list>li:last-child .year-list {
    padding-bottom: 0;
}

.history-list>li .year-list li {
    position: relative;
    margin-bottom: 15px;
    color: #000;
    font-size: 1.1rem;
    letter-spacing: -0.05em;
    line-height: 1.6em;
    list-style: none;
}

.history-list>li:nth-of-type(odd) .year-list li {
    padding-left: 0;
}

.history-list>li:nth-of-type(even) .year-list li {
    padding-right: 0;
}

@media all and (min-width: 641px) and (max-width: 990px) {
    .bg-history {
        height: 230px;
        padding: 4rem;
        font-size: 1.6rem;
    }
}

@media all and (max-width: 640px) {
    .bg-history {
        height: 170px;
        background: url('../images/sub/bg-history.jpg') no-repeat left center;
        padding: 3rem 2rem;
        border-radius: 0.5rem;
        font-size: 1.3rem;
        text-align: center;
    }

    .history-list {
        width: 90%;
        margin: 0 auto;
        background-position: 35% top;
        padding-top: 2rem;
    }

    .history-list>li {
        margin-bottom: 2rem;
    }

    .history-list>li.on dl {
        background-size: 25px;
    }

    .history-list>li dt {
        width: 28%;
        font-size: 1.8rem;
        line-height: 1.3rem;
        padding-top: 0;
        text-align: right !important;
    }

    .history-list>li dd {
        width: 72%;
    }

    .history-list>li dt p img {
        display: none;
    }

    .history-list>li:nth-of-type(odd) dt {
        margin-right: 0%;
    }

    .history-list>li:nth-of-type(odd) dd {
        margin-left: 0;
    }

    .history-list>li:nth-of-type(odd) dl {
        background-position: 34.5% top;
    }

    .history-list>li:nth-of-type(odd) .year-list li {
        padding-left: 50px;
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .history-list>li:nth-of-type(even) dl {
        background-position: 34.5% top;
    }

    .history-list>li:nth-of-type(even) dt {
        float: left;
        margin-left: 0;
    }

    .history-list>li:nth-of-type(even) dd {
        text-align: left;
        margin-right: 0;
    }

    .history-list>li:nth-of-type(even) .year-list li {
        padding-left: 50px;
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .history-list>li .year-list {
        margin-top: -0.1rem;
    }

    .history-list>li .year-list li {
        margin-bottom: 1rem;
    }
}

.customer {
    text-align: center;
}

.customer .item {
    margin-bottom: 1rem;
    border: 1px solid #f2f2f2;
    border-radius: 1.5rem;
    padding: 2rem 0;
    box-shadow: 0 0 20px rgba(199, 199, 199, .1);
}

.customer .item .item-icon i {
    font-size: 2rem;
    font-weight: 200;
    color: #282626;
}

.customer .item h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #000000;
    line-height: 3rem;
}

.customer .item p {
    font-size: 1.05rem;
    color: #646464;
    font-weight: 500;
}

.customer .item p.add {
    font-size: 1rem;
}

.location-map {
    width: 98% !important;
    margin: 0 auto !important;
    margin-bottom: 8rem !important;
}

@media all and (min-width: 768px) and (max-width: 1200px) {
    .customer .item {
        min-height: 200px;
    }

    .customer .item h3 {
        line-height: 2rem;
    }

    .customer .item p {
        font-size: 1rem;
        padding: 0 1rem;
        letter-spacing: -0.04em;
    }
}

@media all and (max-width: 767px) {
    .customer .item {
        text-align: left !important;
        margin-bottom: 1.3rem;
    }

    .customer .item .item-icon {
        position: absolute;
        left: 3.2rem;
    }

    .customer .item .item-icon i {
        font-size: 1.9rem;
        line-height: 2.3rem;
    }

    .customer .item h3 {
        line-height: 1.5rem;
        padding-left: 5rem;
    }

    .customer .item p {
        font-size: 1rem;
        padding-left: 5rem;
    }

    .location-map {
        margin-bottom: 4rem !important;
    }
}

.product-wrap .product-tab-box {
    width: 100%;
    background: #fff;
}

.product-wrap .product-tab-box.scroll-top {
    z-index: 10;
    position: fixed;
    top: 90px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.product-wrap .product-tab-box.scroll-top .category-tab {
    margin: 1.2rem auto;
    padding-bottom: 0.3rem;
}

.product-wrap .category-tab {
    width: 75%;
    margin: 3rem auto;
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    text-align: center;
}

.product-wrap .category-tab .tab-item {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1rem;
    min-width: 4.5rem;
}

.product-wrap a.tab-link {
    display: block !important;
    padding: 0.6rem 1.5rem !important;
    color: #898989;
    font-size: 1.1rem;
}

.product-wrap a.active {
    background: #2e2e2e !important;
    border-radius: 100px !important;
    color: #fff !important;
}

.product-wrap .product-list {
    padding: 3rem 0 8rem;
}

.product-wrap .product-list img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-wrap .product-list .name {
    font-size: 1.2rem;
    color: #000;
    font-weight: 700;
    text-align: center;
    padding: 1rem 0 5rem;
    letter-spacing: -0.04em;
}

.thumb-box {
    position: relative;
    background-color: #f9f9f9;
    padding: 1.5rem 1.5rem;
}

.thumb-box:before {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    -o-transition: opacity 0.6s;
    transition: opacity 0.6s;
}

.thumb-box:after {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    margin: -24px 0 0 -24px;
    opacity: 0;
    -webkit-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    transform: scale(0, 0);
    border: 1px rgba(255, 255, 255, 0.6) solid;
    content: '';
    -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
    transition: opacity 0.6s, -webkit-transform 0.6s;
    -o-transition: opacity 0.6s, transform 0.6s;
    transition: opacity 0.6s, transform 0.6s;
    transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}

.thumb-box .thumb:after,
.thumb-box .thumb:before,
.thumb-box .thumb span:after,
.thumb-box .thumb span:before {
    content: '';
    position: absolute;
    z-index: 4;
    -webkit-transition: width linear 0.3s, height linear 0.3s;
    -o-transition: width linear 0.3s, height linear 0.3s;
    transition: width linear 0.3s, height linear 0.3s;
}

.thumb-box .thumb:before {
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    background: #333;
}

.thumb-box .thumb:after {
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    background: #333;
}

.thumb-box .thumb span:before {
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    background: #333;
}

.thumb-box .thumb span:after {
    bottom: 0;
    left: 0;
    width: 0;
    background: #333;
}

.thumb-box .thumb:before,
.thumb-box .thumb span:before {
    -webkit-transition: width 0s 0.3s, height 0.3s 0s, opacity 0.3s 0s;
    -o-transition: width 0s 0.3s, height 0.3s 0s, opacity 0.3s 0s;
    transition: width 0s 0.3s, height 0.3s 0s, opacity 0.3s 0s;
}

.thumb-box .thumb:after,
.thumb-box .thumb span:after {
    -webkit-transition: width 0.3s 0s, height 0s 0.3s, opacity 0.3s 0s;
    -o-transition: width 0.3s 0s, height 0s 0.3s, opacity 0.3s 0s;
    transition: width 0.3s 0s, height 0s 0.3s, opacity 0.3s 0s;
}

.thumb-box .thumb {
    height: 370px;
}

.thumb-box .thumb img {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

.link-view:hover .thumb-box:before {
    opacity: 1;
}

.link-view:hover .thumb-box:after {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}

.link-view:hover .thumb:before,
.link-view:hover .thumb span:before {
    width: 100%;
    height: 2px;
    -webkit-transition: width 0.3s 0s, height 0s 0s, opacity 0.3s 0s;
    -o-transition: width 0.3s 0s, height 0s 0s, opacity 0.3s 0s;
    transition: width 0.3s 0s, height 0s 0s, opacity 0.3s 0s;
}

.link-view:hover .thumb:after,
.link-view:hover .thumb span:after {
    height: 100%;
    width: 2px;
    -webkit-transition: width 0s 0s, height 0.3s 0s, opacity 0.3s 0s;
    -o-transition: width 0s 0s, height 0.3s 0s, opacity 0.3s 0s;
    transition: width 0s 0s, height 0.3s 0s, opacity 0.3s 0s;
}

.link-view:hover .thumb img {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    -o-transition: transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s;
}

.product-wrap .product-desc {
    background: #fafafb;
    padding: 5rem 10rem 5rem 5.5rem !important;
    box-sizing: border-box;
    min-height: 800px !important;
}

.product-wrap .product-desc .tit-box {
    margin-bottom: 2.5rem;
}

.product-wrap .product-desc .tit-box h3 {
    font-size: 2.6rem;
    font-weight: 700;
    color: #1c1c1c;
    line-height: 3.8rem;
}

.product-wrap .product-desc .tit-box h3 span {
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    color: #1c1c1c;
}

.product-wrap .product-desc .tit-box p {
    padding: 1rem 0 0;
    color: #818181;
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 2rem;
}

.accordion-button:not(.collapsed) {
    color: #fff !important;
    background-color: #303030 !important;
    -webkit-box-shadow: none;
    box-shadow: none !important;
}

.product-wrap .product-desc .accordion-button {
    font-size: 1rem;
    font-weight: 700 !important;
    color: #737373;
    border: 1px solid #e9e9e9 !important;
    margin-bottom: -1px;
    padding: 1.1rem 1.3rem !important;
}

.product-wrap .product-desc .accordion-button::after {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    font-family: bootstrap-icons !important;
    content: "\F282";
    font-size: 0.9rem;
    color: #c6c6c6;
    font-weight: 500 !important;
    background-image: none;
}

.product-wrap .product-desc .accordion-button:not(.collapsed)::after {
    position: absolute;
    top: 1.5rem;
    right: 1rem;
    background-image: none;
}

.product-wrap .product-desc .accordion-body {
    background-color: #fff !important;
    font-size: 1rem !important;
    color: #717171 !important;
    line-height: 1.5rem;
    font-weight: 500 !important;
    padding: 2rem 2.5rem !important;
}

.product-wrap .product-desc .btn-list-pdc {
    width: 55%;
    margin: 0 auto;
    border-radius: 50px;
    padding-right: 2rem;
}

.product-wrap .product-desc .btn-list-pdc i {
    left: 2rem !important;
}

.product-swiper .bg-photo {
    position: relative;
    background-color: #fff;
    text-align: center;

}

.product-swiper .bg-photo .photo-box {
    width: 80%;
    height: 700px;
    margin: 0 auto;
}

.product-swiper .bg-photo .photo-box  img {
    width: 90% !important;
}

.swiper-slide.swiper-slide-active .bg-photo {
    -webkit-animation-name: fadeDown;
    -webkit-animation-duration: 1s;
    animation-name: fadeDown;
    animation-duration: 1s;
}

.product-swiper .swiper-button-next,
.product-swiper .swiper-button-prev {
    position: absolute;
    z-index: 1;
}

.product-swiper .swiper-button-prev {
    left: 3%;
}

.product-swiper .swiper-button-next {
    right: 3%;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    color: #b3b3b3;
    font-size: 4rem;
}

@media all and (min-width: 641px) and (max-width: 1024px) {
    .col-md-12-t {
        width: 100% !important;
    }

    .product-swiper .bg-photo .photo-box {
        width: 100%;
        height: auto;
        margin-bottom: 4rem;
    }

    .product-swiper .bg-photo .photo-box img {
        width: 100%;
    }
}

@media all and (min-width: 1201px) and (max-width: 1300px) {
    .product-wrap .category-tab {
        width: 100% !important;
        margin: 2rem auto 0;
    }

    .product-wrap .category-tab .tab-item {
        margin: 0 0rem;
        min-width: 3rem;
    }

    .product-swiper .swiper-button-next,
    .product-swiper .swiper-button-prev {
        display: block;
    }

    .product-wrap .product-desc {
        padding: 5rem !important;
    }

    .product-wrap .product-desc .tit-box {
        text-align: center;
    }

    .product-wrap .product-list .name {
        padding: 1rem 0 3rem;
    }

    .thumb-box .thumb {
        height: auto;
        min-height: 320px;
    }
}

@media all and (min-width: 991px) and (max-width: 1200px) {
    .thumb-box .thumb {
        height: auto;
        min-height: 310px;
    }

    .product-wrap .product-desc {
        padding: 3rem 2rem !important;
    }
}

@media all and (min-width: 768px) and (max-width: 1023px) {
    .product-wrap .product-tab-box.scroll-top {
        top: 60px;
    }

    .thumb-box .thumb {
        height: auto;
        min-height: 300px;
    }

    .product-wrap .product-desc {
        padding: 3rem 2rem !important;
    }

    .product-swiper .swiper-button-prev {
        left: 35%;
        top: 85%;
    }

    .product-swiper .swiper-button-next {
        right: 35%;
        top: 85%;
    }
}

@media all and (min-width: 641px) and (max-width: 767px) {
    .product-wrap .product-tab-box.scroll-top {
        top: 60px;
    }

    .product-wrap .product-tab-box.scroll-top .category-tab {
        margin: 1.2rem auto 0.5rem !important;
        padding-bottom: 0rem !important;
    }

    .product-wrap .category-tab {
        width: 95%;
    }

    .thumb-box .thumb {
        height: auto;
        min-height: 200px;
    }

    .product-wrap .product-desc {
        padding: 3rem 2rem !important;
    }

    .product-wrap .product-desc .btn-list-pdc {
        width: 100%;
    }

    .product-swiper .swiper-button-prev {
        left: 35%;
        top: 85%;
    }

    .product-swiper .swiper-button-next {
        right: 35%;
        top: 85%;
    }
}

@media (max-width: 640px) {
    .product-wrap .product-tab-box.scroll-top {
        top: 60px;
        padding-bottom: 0rem;
    }

    .product-wrap .product-tab-box.scroll-top .category-tab {
        margin: 1.2rem auto 0.5rem !important;
        padding-bottom: 0rem !important;
    }

    .product-wrap .category-tab {
        width: 95% !important;
        margin: 2rem auto 0;
    }

    .product-wrap .category-tab .tab-item {
        margin: 0 0rem;
        min-width: 3rem;
    }

    .product-wrap a.tab-link {
        padding: 0.4rem 1rem 0.6rem !important;
        font-size: 0.9rem;
        line-height: 1.5rem;
    }

    .product-wrap .product-list {
        padding: 2rem 1rem 4rem;
    }

    .product-wrap .product-list .name {
        font-size: 1rem;
        line-height: 1.2rem;
        padding: 1rem 0 2rem;
    }

    .thumb-box .thumb {
        height: 110px;
    }

    .product-swiper .bg-photo .photo-box {
        width: 100%;
        height: 300px;
        margin-bottom: 5rem;
    }

    .product-swiper .bg-photo .photo-box img {
        width: 100%;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        color: #b3b3b3;
        font-size: 2rem;
    }

    .product-swiper .swiper-button-prev {
        left: 35%;
        top: 85%;
    }

    .product-swiper .swiper-button-next {
        right: 35%;
        top: 85%;
    }

    .product-wrap .product-desc {
        padding: 3rem 2rem !important;
    }

    .product-wrap .product-desc .tit-box {
        text-align: center;
    }

    .product-wrap .product-desc .tit-box h3 {
        font-size: 1.5rem;
        line-height: 2.2rem;
    }

    .product-wrap .product-desc .tit-box h3 span {
        font-size: 1.4rem;
        padding-bottom: 0.5rem;
    }

    .product-wrap .product-desc .tit-box p {
        font-size: 1rem;
        line-height: 1.6rem;
    }

    .product-wrap .product-desc .accordion-body {
        padding: 1rem 1.5rem !important;
    }

    .product-wrap .product-desc .btn-list-pdc {
        width: 100%;
    }
}

@media (max-width: 639px) {
    .col-md-12-t {
        width: 100% !important;
    }

    .thumb-box .thumb {
        height: auto;
        min-height: 200px;
    }

    .product-wrap .product-tab-box.scroll-top .category-tab {
        margin: 1.2rem auto 1rem !important;
    }

}

.facility-wrap {
    margin: 4rem 0 8rem;
}

.facility-wrap .cont-box {
    width: 100;
    margin-bottom: 2rem !important;
}

.facility-wrap .cont-box h4 {
    position:relative;
    font-size: 2rem;
    line-height: 2.5rem;
    font-weight: 700;
    color: #101010;
    letter-spacing: -0.04em;
    padding-top: 1rem;
    margin-top: 1rem;
}

.facility-wrap .cont-box h4:before {
    content:"";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: #e7161a;
}

.facility-wrap .cont-box h4 span {
    display: block;
}

.facility-wrap .mixer-feature {
    padding-bottom: 4rem;
}

.facility-wrap .mixer-feature .item {
    min-height: 140px;
    border-radius: 1rem;
    padding: 1.5rem;
    box-sizing: border-box;
    margin: 0.3rem 0.3rem;
    font-size: 0.9rem;
    line-height: 1.2rem;
    color: #000;
    font-weight: 500;
    background-position: right 1rem bottom 1rem !important;
    background-size: 2.5rem !important;
}

.facility-wrap .mixer-feature .item p {
    font-family: 'Play' !important;
    color: #b3b3b3 !important;
    font-size: 0.8rem;
    font-weight: 700;
    padding-bottom: 0.5rem;
    letter-spacing: -0.04em;
}

.facility-wrap .mixer-feature .ico-feature01 {
    background: #fafafa url(../images/sub/icon-facility01.png) no-repeat;
}

.facility-wrap .mixer-feature  .ico-feature02 {
    background: #fafafa url(../images/sub/icon-facility02.png) no-repeat;
}

.facility-wrap .mixer-feature .ico-feature03 {
    background: #fafafa url(../images/sub/icon-facility03.png) no-repeat;
}

.facility-wrap .mixer-feature .ico-feature06 {
    background: #fafafa url(../images/sub/icon-facility06.png) no-repeat;
}

.facility-wrap .mixer-feature img {
    width: 100%;
}

/* .facility-wrap .mixer-feature,
.facility-wrap .cont-box .photo-box {
    border-bottom: 1px solid #eee;
} */

.facility-wrap .cont-box .photo-box {
    padding: 4rem 0 0rem;
    box-sizing: border-box;
    color: #666;
}

.facility-wrap .cont-box .photo-box img {
   width: 100%;
   border-radius: 1rem;
}

.facility-wrap .cont-box .des-txt {
    font-size: 1.1rem;
    padding: 1.3rem 0 5rem 1rem;
    box-sizing: border-box;
    border-bottom: 1px solid #eee;
}

.facility-wrap .cont-box .des-txt span {
    font-weight: 700;
}

.facility-wrap .item-box {
    border-radius: 2rem;
    background: #f7f7f7;
    text-align: center;
    padding: 3rem 0 1rem;
    margin-bottom: 1rem;
}

.facility-wrap .item-box img {
    width: 130px;
}

.facility-wrap .item-box p {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    letter-spacing: -0.03em;
}

.img-mixer img {
    width: 95% !important;
}

@media all and (min-width: 991px) and (max-width: 1200px) {
    .facility-wrap .mixer-feature .item {
        min-height: 160px;
    }
}

@media all and (min-width: 641px) and (max-width:990px) {
    .col-sm-6, .col-100  {
        width: 100% !important;
    }

    .facility-wrap .cont-box h4 span {
        display: inline-block;
    }

    .img-mixer {
        padding: 2rem 0;
        text-align: center;
    }

    .img-mixer img {
        width: 80% !important;
    }

    .facility-wrap .bg-logo {
        height: 100%;
    }
}

@media all and (max-width:767px) {
    .facility-wrap {
        margin: 2rem 0 4rem;
    }

    .facility-wrap .cont-box h4 {
        font-size: 1.5rem;
        padding-top: 0.5rem;
        margin-top: 0rem;
        text-align: center;
    }

    .facility-wrap .cont-box h4:before {
        left: 45%;
    }

    .facility-wrap .cont-box h4 span {
        display: inline-block;
    }

    .facility-wrap .mixer-feature {
        padding-bottom: 0rem;
    }

    .facility-wrap .mixer-feature .item {
        min-height: 90px;
        background-position: right 0.7rem bottom 0.7rem !important;
        background-image: 2rem !important;
    }

    .img-mixer {
        padding: 2rem 0;
        text-align: center;
    }

    .img-mixer img {
        width: 80% !important;
    }

    .facility-wrap .cont-box .photo-box {
        padding: 2rem 0 1rem;
    }

    .facility-wrap .cont-box .des-txt {
        font-size: 0.9rem;
        padding: 0rem 0 1rem 0rem;
        text-align: center;
        border-bottom: none;
    }

    .facility-wrap .cont-box .photo-box .img-m {
       padding-top: 2rem;
    }

    .facility-wrap .bg-logo {
        display: none !important;
    }
}

.process-wrap {
    width: 1200px;
    margin:0 auto;
    background: url(../images/sub/bg-line.png) no-repeat top 445px right;
    background-size: 410px;
}

.step-process02 {
    width: 820px;
    margin: 2rem auto 8rem;
}

.step-process02 .left {
    width: 60% !important;
}

.step-process02 .right {
    width: 40% !important;
}

.step-process02 .img-box {
    background-size: 470px !important;
    height: 140px;
}

.step-process02 .bg-step01 {
    background: url(../images/sub/bg-step01.png) no-repeat;
}

.step-process02 .bg-step02 {
    background: url(../images/sub/bg-step02.png) no-repeat;
}

.step-process02 .bg-step03 {
    background: url(../images/sub/bg-step03.png) no-repeat;
}

.step-process02 .bg-step04 {
    background: url(../images/sub/bg-step03.png) no-repeat;
}

.step-process02 .bg-step05 {
    background: url(../images/sub/bg-step03.png) no-repeat;
}

.step-process02 .bg-step06 {
    background: url(../images/sub/bg-step04.png) no-repeat;
}

.step-process02 .bg-step07 {
    background: url(../images/sub/bg-step05.png) no-repeat;
}

.step-process02 .bg-step08 {
    background: url(../images/sub/bg-step06.png) no-repeat;
}

.step-process02 .step-tit {
    width: 330px;
    margin-left: 50px;
    padding-top: 2.3rem;
}

.step-process02 .step-tit .text-box {
    text-align: center !important;
}

.step-process02 .step-tit .text-box h4 {
    font-size: 1.4rem;
    line-height: 2.5rem;
    font-weight: 700;
    color: #545456;
}

.step-process02 .step-tit .text-box p {
    font-family: 'Play' !important;
    color: #9a9a9a;
    font-size: 1rem;
}

.step-process02 .step-tit .icon-box {
    text-align: center;
    margin-left: 0.5em;
    box-sizing: border-box;
}

.step-process02 .step-cont {
    margin-top: 3.4rem;
}

.step-process02 .step-cont p {
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.step-process02 .step-cont p + p {
    font-size: 1.1rem;
    font-weight: normal;
    padding-top: 0.3rem;
    color: #000;
}

.color-step01 {
    color: #fdbf00 !important;
}

.color-step02 {
    color: #36afc5;
}

.color-step03 {
    color: #048aef;
}

.color-step04 {
    color: #005cd3;
}

.color-step05 {
    color: #0038d3;
}

.color-step06 {
    color: #0e00d3;
}

.color-step07 {
    color: #6500d3;
}

.color-step08 {
    color: #ab00d3;
}

.pc-item {
    display: block;
}

.m-item {
    display: none;
}

@media all and (min-width: 992px) and (max-width: 1200px) {
    .m-item {
        display: none;
    }

    .process-wrap {
        width: 950px;
        margin:0 auto;
        background: url(../images/sub/bg-line.png) no-repeat top 345px right 0;
        background-size: 370px;
    }

    .step-process02 {
        width: 100%;
        margin: 2rem auto 8rem;
    }

    .step-process02 .left {
        width: 45% !important;
    }

    .step-process02 .right {
        width: 55% !important;
    }

    .step-process02 .img-box {
        background-size: 400px !important;
        height: 120px;
    }

    .step-process02 .step-tit {
        width: 245px;
        margin-left: 60px;
        padding-top: 1.5rem;
    }

    .step-process02 .step-cont {
        margin-top: 2.5rem;
    }

    .step-process02 .step-tit .icon-box {
        margin: 0.7rem 0 0 1em;
    }

    .step-process02 .step-tit .icon-box img {
        width: 45px;
    }
}

@media all and (min-width: 768px) and (max-width: 991px) {
    .m-item {
        display: none;
    }

    .process-wrap {
        width: 100%;
        background: url(../images/sub/bg-line-t.png) no-repeat top 340px right 0;
        background-size: 295px;
    }

    .step-process02 {
        width: 100%;
    }

    .step-process02 .left {
        width: 50% !important;
    }

    .step-process02 .right {
        width: 50% !important;
    }

    .step-process02 .img-box {
        background-size: 330px !important;
        height: 110px;
    }

    .step-process02 .step-tit {
        width: 160px;
        margin-left: 60px;
        padding-top: 1.5rem;
    }

    .step-process02 .step-tit .text-box h4 {
        font-size: 1.3rem;
        line-height: 2rem;
    }

    .step-process02 .step-tit .text-box p {
        font-size: 0.9rem;
    }

    .step-process02 .step-tit .icon-box {
        margin-left: 1.9em;
    }

    .step-process02 .step-tit .icon-box img {
        width: 45px;
    }

    .step-process02 .step-cont {
        margin-top: 2.2rem;
    }

    .step-process02 .step-cont p {
        font-size: 1.2rem;
    }

    .step-process02 .step-cont p + p {
        font-size: 1rem;
        padding-top: 0.2rem;
    }
}


@media all and (max-width: 767px) {
    .step-process {
        margin: 2rem 0;
    }

    .step-process .item {
        min-height: 1rem;
        border-radius: 1rem;
        padding: 1rem 3rem 0.2rem !important;
        box-sizing: border-box;
        margin-bottom: 3rem;
    }

    .step-process .tit-box {
        margin-top: 1rem;
    }

    .step-process .tit-box02 {
        margin-top: 5rem;
    }

    .step-process .item h3 {
        font-weight: 700;
        color: #000;
        padding-bottom: 0.5rem;;
        font-size: 1.3rem;
        line-height: 1.7rem;
    }

    .step-process .item h3 span {
        font-family: 'Play' !important;
        display: block;
        font-size: 0.9rem;
        color: #919191;
        letter-spacing: -0.02em;
    }

    .step-process .item p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .step-process .tit-box-end {
        margin-top: 7.5rem;
    }

    .step-process .bg-icon {
        background-position: right 1rem top 2rem !important;
        background-size: 70px !important;
    }

    .step-process .ico-progress01 {
        background: url(../images/sub/bg-logo02.png) no-repeat;
        background-position: center bottom -0.7rem !important;
        background-size: 100% !important;
    }

    .step-process .ico-progress02 {
        background: url(../images/sub/icon-process01.png) no-repeat;
    }

    .step-process .ico-progress03 {
        background: url(../images/sub/icon-process02.png) no-repeat;
    }

    .step-process .ico-progress04 {
        background: url(../images/sub/icon-process03.png) no-repeat;
    }

    .step-process .ico-progress05 {
        background: url(../images/sub/icon-process04.png) no-repeat;
    }

    .step-process .ico-progress06 {
        background: url(../images/sub/icon-process05.png) no-repeat;
    }

    .step-process .ico-progress07 {
        background: url(../images/sub/icon-process06.png) no-repeat;
    }

    .step-process .ico-progress08 {
        background: url(../images/sub/icon-process07.png) no-repeat;
    }

    .step-process .ico-progress09 {
        background: #ebfaff url(../images/sub/icon-process08.png) no-repeat;
        border: 1px solid #72c5db
    }

    .step-process .col-down-m::after {
        position: absolute;
        font-family: bootstrap-icons !important;
        display: inline-block;
        bottom: -2.4rem;
        right: 45%;
        content: "\F118";
        font-size: 1.1rem;
        color: #8d8d8d;
    }

    .step-process .col-down-m02::before {
        position: absolute;
        font-family: bootstrap-icons !important;
        display: inline-block;
        bottom: -2.4rem;
        left: 10% !important;
        content: "Mold Recovery \F139";
        font-size: 1.1rem;
        color: #0083af;
    }

    .pc-item {
        display: none;
    }

    .m-item {
        display: block;
    }
}

@media all and (min-width: 641px) and (max-width: 766px) {
    .step-process .col-down-m02::before {
        left: 22% !important;
    }
}

@media all and (max-width: 640px) {
    .step-process .col-down-m02::before {
        left: 10% !important;
    }
}

.permium-list {
    padding: 8rem 0;
    text-align: center;
    background: #fafafa;
}

.permium-list h3 {
    font-family: 'Play' !important;
    font-size: 3rem;
    color: #000;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
    padding-bottom: 2rem;
}

.permium-list h4 {
    font-size: 1.5rem;
    line-height: 2rem;
    color: #000;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.permium-list h4 span {
    display: block;
    font-family: 'Play' !important;
    font-size: 1rem;
    color: #8a8a8a;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.permium-list p {
    color: #484848;
    padding-top: 1rem;
}

.permium-list img {
    border-radius: 1rem;
    width: 100%;
    margin-bottom: 2rem;
}

@media all and (max-width:640px) {
    .permium-list {
        padding: 4rem 0;
    }

    .permium-list h3 {
        font-size: 2rem;
        padding-bottom: 0rem;
    }

    .permium-list h4 {
        font-size: 1.1rem;
        line-height: 1.5rem;
    }

    .permium-list p {
        padding-top: 0.5rem;
        font-size: 0.9rem;
    }

    .permium-list img {
        margin-bottom: 1rem;
    }
}

.certification {
    margin-bottom: 8rem;
}

.certification img {
    width: 100%;
    border: 1px solid #fff
}

.certification h3 {
    text-align: center;
    font-weight: 500;
    color: #000;
    font-size: 0.95rem;
    margin-top: 1rem;
    letter-spacing: -0.04em;
    line-height: 1.3rem;
}

.certification .bg-box {
    background: #f9f9f9;
    margin-bottom: 1.5rem
}

.certification button.view {
    width: 100%;
    padding: 0.3rem 0 0.3rem !important;
    margin-top: 0.5rem;
    font-family: 'Play', sans-serif !important;
    color: #bbbbbb;
    font-size: 0.8rem;
}

.certification .view i {
    display: inline-block;
    margin-left: 0.3rem;
    font-size: 0.6rem;
    color: #e1e1e1;
}

@media all and (max-width:640px) {
    .certification {
        margin: 2rem 0 4rem;
    }

    .certification h3 {
        font-size: 0.9rem;
        min-height: 2rem;
        line-height: 1.1rem;
    }
}

.inquiry-form-box h3 {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    padding: 0 1rem 0 0.5rem;
}

.inquiry-form-box .bg-input {
    height: 70px;
    border: none !important;
    background: #f8f8f8;
    font-size: 1.1rem;
    color: #000;
}

.inquiry-form-box .bg-textarea {
    padding: 1rem;
}

.inquiry-form-box .bg-textarea::placeholder {
    color: #939393;
    font-size: 0.9rem;
    font-weight: 600;
}

.inquiry-form-box .label-style01 {
    font-size: 0.95rem;
    color: #494949 !important;
    font-weight: 500 !important;
}

.inquiry-form-box .label-style01 span,
.inquiry-form-box .label-style02 span {
    font-size: 1rem;
    color: #ff9090 !important;
}

.inquiry-form-box .label-style02 {
    font-size: 0.95rem;
    color: #494949 !important;
    font-weight: 500 !important;
    margin-left: 0.9rem;
}

.inquiry-form-box .check-style01 {
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.7rem;
    margin-top: 0;
}

.form-checkbox-danger .form-check-input:checked,
.form-radio-danger .form-check-input:checked {
    background-color: #ff5b5b;
    border-color: #ff5b5b;
}

.inquiry-form-box textarea {
    height: 250px !important;
}

.inquiry-form-box .file-box {
    line-height: 0;
}

.inquiry-form-box .file-box .form-label {
    background: #000 !important;
}

.policy-box {
    width: 98%;
    margin: 1rem auto 0;
    font-size: 1rem;
    box-sizing: border-box;
    background-color: #f8f8f8;
    border-radius: 0.3rem;
    padding: 1rem;
}

.policy-box i {
    font-size: 1.5rem;
    color: #353948;
    line-height: 2rem;
}

.policy {
    font-size: 0.9rem;
    padding: 1rem 3rem !important;
    box-sizing: border-box;
}

.btn-agree-down:focus {
    box-shadow: none;
    border: 0 !important;
}

.btn-agree-down:hover {
    border: none !important;
}

.btn-inquiry {
    width: 35%;
    height: 4rem;
    background: #2c2c2c;
    border: 1px solid #414141;
    color: #fff;
    font-weight: 500;
    border-radius: 0.3rem;
    font-size: 1.2rem;
    margin: 3rem 0 8rem;
}

.btn-inquiry:hover {
    width: 35%;
    height: 4rem;
    background: #ffffff;
    border: 1px solid #cfcfcf;
    color: #393939;
}

.policy h4 {
    font-weight: 700;
    padding: 0.7rem 0;
}

@media all and (max-width: 640px) {
    .col-sm-20 {
        flex: 0 0 auto;
        width: 20%;
    }

    .policy-box {
        font-size: 0.9rem;
        padding: 0.5rem;
    }

    .policy {
        padding: 1rem 1rem !important;
    }

    .btn-inquiry {
        width: 100%;
    }

    .btn-inquiry:hover {
        width: 100%;
    }
}

.foot-container {
    width: 1500px;
    margin: 0 auto;
}

.foot-cont {
    background-color: #222;
    padding: 3rem 0 5rem;
}

.foot-cont li {
    list-style: none;
}

.foot-cont .etc-menu li {
    display: inline;
    font-size: 1rem;
    font-weight: 500;
}

.foot-cont .etc-menu li a {
    color: #858585;
}

.foot-cont .etc-menu li a:hover {
    color: #d5191c;
}

.foot-cont .bdr-bot {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.foot-cont .biz-info li,
.foot-cont .biz-tell li {
    font-size: 0.8rem;
    color: #bcbcbc !important;
    padding-bottom: 0.3rem;
}

.foot-cont .biz-info li span {
    display: inline-block;
    width: 5rem;
    font-family: 'Play', sans-serif !important;
    color: #606060 !important;
    font-weight: 700;
}

.foot-cont .biz-tell li {
    display: inline-block;
    font-size: 1rem;
}

.foot-cont .biz-tell li span {
    display: inline-block;
    font-family: 'Play', sans-serif !important;
    color: #606060 !important;
    font-weight: 700;
    padding-right: 0.9rem;
}

.foot-cont .copy-txt {
    font-family: 'Play', sans-serif !important;
    font-size: 0.85rem;
    color: #bcbcbc !important;
    padding-top: 0.8rem;
}

@media all and (min-width: 991px) and (max-width: 1440px) {
    .foot-container {
        width: 95%;
    }

    .foot-cont .etc-menu li {
        font-size: 0.8rem;
    }
    .btn-modal {
        font-size: 0.8rem !important;
    }

    .foot-cont .biz-tell li {
        font-size: 0.8rem;
    }
}

@media (max-width: 990px) {
    .foot-container {
        width: 95%;
    }

    .foot-cont {
        padding: 2rem 0.5rem 3rem;
    }

    .foot-cont .etc-menu li {
        font-size: 0.8rem;
    }

    .foot-cont .biz-tell {
        margin-top: 0.5rem !important;
    }

    .foot-cont .biz-tell li {
        font-size: 0.9rem;
        display: block;
        width: 100% !important;
        text-align: left !important;
    }

    .foot-cont .m-logo {
        text-align: left !important;
    }

    .foot-cont .m-logo img {
        width: 150px;
        padding-top: 1rem;
    }

    .btn-modal {
        font-size: 0.8rem !important;
    }
}

.btn-modal {
    background: transparent;
    font-size: 1rem;
    font-weight: 500;
    color: #858585;
    padding: 0 0 0.5rem !important;
    border: 0 !important;
}

.custom-modal {
    max-width: 650px !important;
}

.custom-modal .h-500 {
    max-height: 500px !important;
}

.custom-modal h5 {
    font-size: 1.3rem;
    font-weight: 500;
    color: #000;
    letter-spacing: -0.05em;
}

.custom-modal .con-style p {
    padding-bottom: 20px;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5em;
}

.custom-modal .con-style img {
    width: 90%;
}

.privacy-box {
    width: 85%;
    margin: 0 auto 8rem;
}

.privacy-anchor-box {
    padding: 2.5rem 3.5rem;
    background: #fafafa;
    text-align: left;
    font-size: 0.9rem;
    line-height: 1.7;
    box-sizing: border-box;
    overflow: hidden;
}

.privacy-anchor-box strong {
    font-weight: 700;
}

.privacy-terms-content {
    padding: 0 2rem;
}

.privacy-terms-content h3 {
    padding: 60px 0 20px;
    font-size: 1.3rem;
    font-weight: 700;
    color: #111;
}

.privacy-terms-content p {
    font-size: 0.9rem;
    color: #444;
    line-height: 1.7em;
}

.privacy-terms-content p.align-center {
    width: 80%;
    margin: 0 auto;
}

.privacy-terms-content .bu-list {
    padding-top: 15px;
}

.privacy-terms-content .bu-list>li {
    position: relative;
    margin-left: 1rem;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5rem;
    list-style: none;
    padding-bottom: 0.7rem;
}

.privacy-terms-content .bu-list>li:before {
    content: '-';
    position: absolute;
    margin-left: -1rem;
    font-size: 1.5rem;
    color: #333;
    font-weight: 200;
}

.privacy-terms-content .bu-list>li ul li {
    position: relative;
    margin-left: 0.8rem;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.5rem;
    list-style: none;
    padding-top: 0.4rem;
}

.privacy-terms-content .bu-list>li ul li:before {
    content: 'ㆍ';
    position: absolute;
    margin-left: -0.8rem;
    font-size: 0.9rem;
    color: #333;
}

.privacy-terms-content hr {
    margin-top: 50px;
    border-top: solid 1px #dbdbdb;
    position: static;
    width: 100%;
    visibility: visible;
}

@media all and (max-width:640px) {
    .privacy-box {
        width: 100%;
        margin: 2rem auto 4rem;
    }
}