/* 공통 */
.title_wrap {
    margin-top: 13rem;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.title_wrap .title_box {
    display: flex;
    flex-wrap: nowrap;
    margin-bottom: 5.6rem;
}
.title_wrap .title_box span {
    display: block;
    width: 3rem;
    height: 0.1rem;
    background: #555;
}
.title_wrap .title_box h2 {
    width: calc(100% - 3rem);
    padding-left: 1rem;
    color: #111;
    font-size: 4.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 5.72rem */
    letter-spacing: -0.044rem;
}
.s_text {
    margin-bottom: 5rem;
    color: #000;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.024rem;
}
.s_text b {
    font-weight: 700;
}
@media (max-width: 1180px) {
    .title_wrap {
        margin-top: calc(100vw * (130 / 1180));
    }
    .title_wrap .title_box {
        margin-bottom: calc(100vw * (67 / 1180));
    }
    .title_wrap .title_box span {
        width: calc(100vw * (30 / 1180));
        height: 1px;
    }
    .title_wrap .title_box h2 {
        width: calc(100% - calc(100vw * (30 / 1180)));
        padding-left: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (44 / 1180));
        letter-spacing: calc(100vw * (-0.44 / 1180));
    }
    .s_text {
        margin-bottom: calc(100vw * (50 / 1180));
        font-size: calc(100vw * (22 / 1180));
        letter-spacing: calc(100vw * (-0.22 / 1180));
    }
}
@media (max-width: 767px) {
    .title_wrap {
        margin-top: calc(100vw * (160 / 767));
    }
    .title_wrap .title_box {
        margin-bottom: calc(100vw * (66 / 767));
    }
    .title_wrap .title_box span {
        width: calc(100vw * (30 / 767));
        height: 1px;
    }
    .title_wrap .title_box h2 {
        width: calc(100% - calc(100vw * (30 / 767)));
        padding-left: 0;
        font-size: calc(100vw * (50 / 767));
        letter-spacing: calc(100vw * (-0.5 / 767));
    }
    .s_text {
        margin-bottom: calc(100vw * (60 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }
}
/* 메인 */
.main {
    overflow: hidden;
}
.main_visual {
    height: 100vh;
    overflow: hidden;
}
.visual_slide {
    position: relative;
    height: 100%;
}
.visual_slide .swiper-slide {
    overflow: hidden;
}
.visual_slide .swiper-slide .inner {
    position: relative;
    height: 100%;
}
.visual_slide .swiper-slide .parallax-bg {
    position: relative;
    height: 100%;
    overflow: hidden;
}
.visual_slide .swiper-slide .parallax-bg .img {
    transition: transform 1000ms cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform;
    width: 100%;
    height: 100%;
}
.visual_slide .swiper-slide .parallax-bg .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.visual_slide .swiper-slide .visual_txt {
    position: absolute;
    left: 50%;
    bottom: 21rem;
    transform: translateX(-50%);
    width: 100%;
    color: #252525;
}
.visual_slide .swiper-slide .visual_txt span {
    display: inline-block;
    position: relative;
    padding-right: 12.3rem;
    color: #252525;
    font-family: Red Hat Display;
    font-size: 4.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: 130%; /* 5.72rem */
    letter-spacing: 0.088rem;
    opacity: 0;
    transform: translate3d(10rem, 0, 0);
    transition: all 0.5s 0.5s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.visual_slide .swiper-slide .visual_txt span::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 10.2rem;
    height: 1.2rem;
    border-radius: 50rem;
    background: var(--main-color-purple);
}
.visual_slide .swiper-slide .visual_txt strong {
    position: relative;
    display: inline-block;
    padding-left: 9.9rem;
    margin-top: -0.9rem;
    color: #252525;
    font-family: Red Hat Display;
    font-size: 10.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 13.52rem */
    text-transform: uppercase;
    opacity: 0;
    transform: translate3d(10rem, 0, 0);
    transition: all 0.5s 0.7s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.visual_slide .swiper-slide .visual_txt strong::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 7.8rem;
    height: 7.8rem;
    border-radius: 50%;
    background: var(--main-color-blue);
}
.visual_slide .swiper-slide.swiper-slide-active .visual_txt strong,
.visual_slide .swiper-slide.swiper-slide-active .visual_txt span {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.visual_slide .type2_txt {
    position: absolute;
    left: 50%;
    bottom: 21rem;
    transform: translateX(-50%);
    width: 100%;
    color: #252525;
}
.visual_slide .type2_txt strong {
    display: block;
    margin-bottom: 7.4rem;
    color: #252525;
    font-family: Red Hat Display;
    font-size: 10.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
}
.visual_slide .type2_txt strong span {
    display: block;
}
.visual_slide .type2_txt .txt_box {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1.6rem;
}
.visual_slide .type2_txt .txt_box em {
    width: 190px;
    display: block;
    font-weight: 700;
}
.visual_slide .type2_txt .txt_box p {
    max-width: 40.8rem;
    color: #252525;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.02rem;
}
.visual_slide .type2_txt a {
    display: inline-block;
    margin: 7.4rem 0 0 20.6rem;
    padding: 0;
    border: none;
    font-size: 1.6rem;
}
.visual_slide .type2_txt a span {
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}
.visual_slide .type2_txt a span:after {
    position: static;
    transform: none;
    height: 16px;
    width: 10px;
}
.visual_slide .swiper-slide .type2_txt strong,
.visual_slide .swiper-slide .type2_txt .txt_box,
.visual_slide .swiper-slide .type2_txt .btn {
    opacity: 0;
    height: auto;
    transform: translate3d(10rem, 0, 0);
    transition: all 0.5s 0.5s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.visual_slide .swiper-slide .type2_txt strong {
    transition: all 0.5s 0.5s;
}
.visual_slide .swiper-slide .type2_txt .txt_box {
    transition: all 0.5s 0.7s;
}
.visual_slide .swiper-slide .type2_txt .btn {
    transition: all 0.5s 0.9s;
}
.visual_slide .swiper-slide.swiper-slide-active .type2_txt strong,
.visual_slide .swiper-slide.swiper-slide-active .type2_txt .txt_box,
.visual_slide .swiper-slide.swiper-slide-active .type2_txt .btn {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.visual_slide .slide_btn {
    position: absolute;
    right: 0;
    bottom: 9.9rem;
    width: 100%;
    z-index: 1;
}
.visual_slide .slide_btn .container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
}
.visual_slide .slide_btn div {
    position: relative;
    top: 0;
    right: 0;
    left: 0;
    margin-top: 0;
}
.visual_slide .slide_btn .default {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.4rem;
}
.slide_btn .swiper-pagination {
    height: 2px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.8rem;
    margin-right: 1.4rem;
}
.slide_btn .swiper-pagination span {
    position: relative;
    height: 100%;
    width: 3.6rem;
    background: rgba(28, 28, 28, 0.25);
    display: block;
    opacity: 1;
    border-radius: 0 !important;
}
.slide_btn .swiper-pagination span::before {
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #1c1c1c;
    transition: width 1s;
}
.slide_btn .swiper-pagination span.swiper-pagination-bullet-active::before {
    width: 100%;
}
@media (max-width: 1180px) {
    .visual_slide .swiper-slide .visual_txt {
        bottom: calc(100vw * (228 / 1180));
    }
    .visual_slide .swiper-slide .visual_txt span {
        padding-right: calc(100vw * (110 / 1180));
        font-size: calc(100vw * (38 / 1180));
        transform: translate3d(calc(100vw * (100 / 1180)), 0, 0);
    }
    .visual_slide .swiper-slide .visual_txt span::before {
        width: calc(100vw * (90 / 1180));
        height: calc(100vw * (10 / 1180));
        border-radius: calc(100vw * (500 / 1180));
    }
    .visual_slide .swiper-slide .visual_txt strong {
        padding-left: calc(100vw * (93 / 1180));
        margin-top: calc(100vw * (-9 / 1180));
        font-size: calc(100vw * (90 / 1180));
    }
    .visual_slide .swiper-slide .visual_txt strong::before {
        width: calc(100vw * (72 / 1180));
        height: calc(100vw * (72 / 1180));
    }

    .visual_slide .type2_txt {
        bottom: calc(100vw * (165 / 1180));
    }
    .visual_slide .type2_txt strong {
        margin-bottom: calc(100vw * (63 / 1180));
        font-size: calc(100vw * (90 / 1180));
    }
    .visual_slide .type2_txt .txt_box {
        gap: calc(100vw * (16 / 1180));
    }
    .visual_slide .type2_txt .txt_box em {
        width: calc(100vw * (190 / 1180));
    }
    .visual_slide .type2_txt .txt_box p {
        max-width: calc(100vw * (408 / 1180));
        font-size: calc(100vw * (20 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }
    .visual_slide .type2_txt a {
        margin: calc(100vw * (64 / 1180)) 0 0 calc(100vw * (206 / 1180));
        font-size: calc(100vw * (15 / 1180));
    }
    .visual_slide .type2_txt a span {
        padding-right: calc(100vw * (20 / 1180));
    }

    .visual_slide .slide_btn {
        bottom: calc(100vw * (98 / 1180));
    }
    .visual_slide .slide_btn .default {
        gap: calc(100vw * (14 / 1180));
    }
    .slide_btn .swiper-pagination {
        height: 2px;
        gap: calc(100vw * (8 / 1180));
        margin-right: calc(100vw * (14 / 1180));
    }
    .slide_btn .swiper-pagination span {
        width: calc(100vw * (36 / 1180));
    }
}
@media (max-width: 767px) {
    .main_visual {
        max-height: calc(100vw * (1000 / 767));
    }
    .visual_slide .swiper-slide .visual_txt {
        bottom: calc(100vw * (213 / 767));
    }
    .visual_slide .swiper-slide .visual_txt span {
        padding-right: calc(100vw * (94 / 767));
        font-size: calc(100vw * (32 / 767));
        transform: translate3d(calc(100vw * (100 / 767)), 0, 0);
    }
    .visual_slide .swiper-slide .visual_txt span::before {
        width: calc(100vw * (76 / 767));
        height: calc(100vw * (8 / 767));
        border-radius: calc(100vw * (500 / 767));
    }
    .visual_slide .swiper-slide .visual_txt strong {
        padding-left: 0;
        margin-top: calc(100vw * (-8 / 767));
        font-size: calc(100vw * (88 / 767));
    }
    .visual_slide .swiper-slide .visual_txt strong::before {
        display: none;
    }

    .visual_slide .type2_txt {
        bottom: calc(100vw * (150 / 767));
    }
    .visual_slide .type2_txt strong {
        margin-bottom: calc(100vw * (46 / 767));
        font-size: calc(100vw * (90 / 767));
    }
    .visual_slide .type2_txt .txt_box {
        display: block;
    }
    .visual_slide .type2_txt .txt_box em {
        width: 100%;
        margin-bottom: calc(100vw * (36 / 767));
    }
    .visual_slide .type2_txt .txt_box p {
        max-width: calc(100vw * (590 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }
    .visual_slide .type2_txt a {
        margin: calc(100vw * (34 / 767)) 0 0 0;
        font-size: calc(100vw * (24 / 767));
    }
    .visual_slide .type2_txt a span {
        padding-right: calc(100vw * (20 / 767));
    }

    .visual_slide .slide_btn {
        bottom: calc(100vw * (44 / 767));
    }
    .visual_slide .slide_btn .default {
        gap: calc(100vw * (20 / 767));
    }
    .slide_btn .swiper-pagination {
        height: 2px;
        gap: calc(100vw * (12 / 767));
        margin-right: calc(100vw * (21 / 767));
    }
    .slide_btn .swiper-pagination span {
        width: calc(100vw * (58 / 767));
    }
}

.intro-tab {
    padding: 1.25rem 0 1.25rem 0;
}
.intro-tab .tab_list {
    padding-left: 40px;
}
.intro-tab .tab {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 3.6rem;
}
.intro-tab .tab p {
    position: relative;
    display: inline-block;
    padding: 1rem 0rem;
    color: #111;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.019rem;
    opacity: 0.3;
}
.intro-tab .tab p::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #111;
    opacity: 0;
}
.intro-tab .tab p.on {
    opacity: 1;
}
.intro-tab .tab p.on::after {
    opacity: 1;
}
.intro-tab .tab p a {
    display: block;
}
.intro-tab .tab_content {
    margin-top: 3.2rem;
    display: none;
}
.intro-tab .tab_content .inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 2rem;
}
.intro-tab .tab_content .img_box {
    display: block;
    position: relative;
    width: 52rem;
    height: 52rem;
    border-radius: 0;
    background: transparent;
    overflow: hidden;
}
.intro-tab .tab_content .img_box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 100%;
    display: none;
}
.intro-tab .tab_content .img_box:hover::before {
    display: block;
}

.intro-tab .tab_content .img_box .img {
    display: block;
    width: 100%;
    height: 100%;
}
.intro-tab .tab_content .img_box .img img {
    width: 100%;
    height: 100%;
}
.intro-tab .tab_content .img_box .txt_box {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    padding: 7rem;
    color: #fff;
    z-index: 1;
}
.intro-tab .tab_content .img_box .txt_box strong {
    position: relative;
    display: inline-block;
    padding-right: 2.2rem;
    color: #fff;
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: -0.04rem;
}
.intro-tab .tab_content .img_box .txt_box strong::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1rem;
    height: 2rem;
    background: url(/assets/images/hover_arrow-eb19ed1c783a3b07637e4054133841dc.svg) no-repeat;
    background-size: contain;
    opacity: 0;
}
.intro-tab .tab_content .img_box:hover strong::after {
    opacity: 1;
}
.intro-tab .tab_content .img_box .txt_box p {
    margin-top: 1.7rem;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -0.019rem;
}
.intro-tab .tab_content ul {
    width: calc(100% - 54rem);
    height: 52rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    gap: 7.5rem 2rem;
    padding: 6.35rem 6rem;
    text-align: center;
    border-radius: 1.6rem;
    background: var(--color-wht-off);
    overflow: hidden;
}
.intro-tab .tab_content ul li span {
    display: block;
    width: 8.6rem;
    height: 8.6rem;
    margin: 0 auto 2rem;
}
.intro-tab .tab_content ul li span img {
    width: 100%;
    height: 100%;
}
.intro-tab .tab_content ul li em {
    color: #111;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.36;
    letter-spacing: -0.019rem;
    /* white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden; */
}
.intro-tab .tab_content ul li p {
    color: #111;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.52;
    letter-spacing: -0.017rem;
}
@media (max-width: 1700px) {
    .intro-tab .tab_content .img_box {
        width: calc(100vw * (520 / 1700));
    }
    .intro-tab .tab_content ul {
        width: calc(100% - calc(100vw * (540 / 1700)));
        gap: calc(100vw * (75 / 1700)) calc(100vw * (20 / 1700));
    }
}
@media (max-width: 1180px) {
    .intro-tab {
        padding: 0;
    }
    .intro-tab .tab {
        gap: calc(100vw * (36 / 1180));
    }
    .intro-tab .tab p {
        padding: calc(100vw * (10 / 1180)) 0rem;
        font-size: calc(100vw * (22 / 1180));
        letter-spacing: calc(100vw * (-0.22 / 1180));
    }
    .intro-tab .tab p::after {
        height: 2px;
    }
    .intro-tab .tab_content {
        margin-top: calc(100vw * (30 / 1180));
    }
    .intro-tab .tab_content .inner {
        gap: calc(100vw * (20 / 1180));
    }
    .intro-tab .tab_content .img_box {
        width: 50%;
        min-height: auto;
        height: calc(100vw * (518 / 1180));
        border-radius: calc(100vw * (60 / 1180));
    }

    .intro-tab .tab_content .img_box .txt_box {
        padding: calc(100vw * (70 / 1180));
    }
    .intro-tab .tab_content .img_box .txt_box strong {
        padding-right: calc(100vw * (26 / 1180));
        font-size: calc(100vw * (40 / 1180));
        letter-spacing: calc(100vw * (-0.4 / 1180));
    }
    .intro-tab .tab_content .img_box .txt_box strong::after {
        width: calc(100vw * (10 / 1180));
        height: calc(100vw * (20 / 1180));
        opacity: 1;
        background-size: contain;
    }
    .intro-tab .tab_content .img_box .txt_box p {
        margin-top: calc(100vw * (17 / 1180));
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.4 / 1180));
    }
    .intro-tab .tab_content .img_box .txt_box p .pc {
        display: none;
    }
    .intro-tab .tab_content ul {
        grid-template-columns: repeat(2, 1fr);
        width: 50%;
        height: calc(100vw * (518 / 1180));
        gap: calc(100vw * (75 / 1180)) calc(100vw * (20 / 1180));
        padding: calc(100vw * (63 / 1180)) calc(100vw * (60 / 1180));
        border-radius: calc(100vw * (16 / 1180));
        overflow: hidden;
    }
    .intro-tab .tab_content ul li span {
        width: calc(100vw * (86 / 1180));
        height: calc(100vw * (86 / 1180));
        margin: 0 auto calc(100vw * (18 / 1180));
    }
    .intro-tab .tab_content ul li em {
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.19 / 1180));
    }
    .intro-tab .tab_content ul li p {
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
    }
}
@media (max-width: 767px) {
    .intro-tab .scroll {
        margin-left: calc(100vw * (-40 / 767));
        margin-right: calc(100vw * (-40 / 767));
        padding: 0 calc(100vw * (40 / 767));
    }
    .intro-tab .tab {
        display: inline-flex;
        gap: calc(100vw * (40 / 767));
    }
    .intro-tab .tab p {
        padding: calc(100vw * (16 / 767)) 0;
        font-size: calc(100vw * (30 / 767));
        letter-spacing: calc(100vw * (-0.3 / 767));
    }
    .intro-tab .tab p::after {
        height: 2px;
    }
    .intro-tab .tab p a {
        white-space: nowrap;
    }
    .intro-tab .tab_content {
        margin-top: calc(100vw * (40 / 767));
    }
    .intro-tab .tab_content .inner {
        gap: 0;
    }
    .intro-tab .tab_content .img_box {
        width: calc(100vw * (687 / 767));
        height: calc(100vw * (687 / 767));
        border-radius: calc(100vw * (77 / 767));
    }

    .intro-tab .tab_content .img_box .txt_box {
        padding: calc(100vw * (90 / 767));
    }
    .intro-tab .tab_content .img_box .txt_box strong {
        padding-right: calc(100vw * (48 / 767));
        font-size: calc(100vw * (52 / 767));
        letter-spacing: calc(100vw * (-0.52 / 767));
    }
    .intro-tab .tab_content .img_box .txt_box strong::after {
        background: url(/assets/images/hover_arrow_m-64fac2ecb65f904c72c5c447d3b575b6.svg) no-repeat;
        width: calc(100vw * (38 / 767));
        height: calc(100vw * (39 / 767));
        background-size: contain;
    }
    .intro-tab .tab_content .img_box .txt_box p {
        max-width: calc(100vw * (347 / 767));
        margin-top: calc(100vw * (21 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }
    .intro-tab .tab_content .img_box .txt_box p .pc {
        display: none;
    }
    .intro-tab .tab_content ul {
        display: none;
    }
}
.certification_service {
    margin-bottom: 13rem;
}
.certification_service_slide .swiper-slide {
    width: 52rem;
    height: 52rem;
}
.certification_service_slide .swiper-slide .box {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 6rem;
    border-radius: 2rem;
    overflow: hidden;
    z-index: 1;
}
.certification_service_slide .swiper-slide .box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 100%;
    z-index: -1;
    display: none;
}
.certification_service_slide .swiper-slide .box:hover::before {
    display: block;
}
.certification_service_slide .swiper-slide .box .ic {
    width: 35.6rem;
    height: 20rem;
    display: block;
    margin: 0 auto 6.9rem;
}
.certification_service_slide .swiper-slide .box .ic img {
    width: 100%;
    height: 100%;
}
.certification_service_slide .swiper-slide .box strong {
    position: relative;
    display: inline-block;
    padding-right: 2.2rem;
    color: #fff;
    font-size: 3.8rem;
    font-weight: 700;
    letter-spacing: -0.038rem;
}
.certification_service_slide .swiper-slide .box strong::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1rem;
    height: 2rem;
    background: url(/assets/images/hover_arrow-eb19ed1c783a3b07637e4054133841dc.svg) no-repeat;
    background-size: contain;
    opacity: 0;
}
.certification_service_slide .swiper-slide .box:hover strong::after {
    opacity: 1;
}
.certification_service_slide .swiper-slide .box p {
    margin-top: 2rem;
    color: #fff;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.019rem;
}
@media (max-width: 1180px) {
    .certification_service {
        margin-bottom: calc(100vw * (130 / 1180));
    }
    .certification_service_slide .swiper-slide {
        width: calc(100vw * (530 / 1180));
        height: calc(100vw * (530 / 1180));
    }
    .certification_service_slide .swiper-slide .box {
        padding: calc(100vw * (60 / 1180));
        border-radius: calc(100vw * (60 / 1180));
    }
    .certification_service_slide .swiper-slide .box .ic {
        width: calc(100vw * (356 / 1180));
        height: calc(100vw * (200 / 1180));
        margin: 0 auto calc(100vw * (70 / 1180));
    }
    .certification_service_slide .swiper-slide .box strong {
        padding-right: calc(100vw * (22 / 1180));
        font-size: calc(100vw * (38 / 1180));
        letter-spacing: calc(100vw * (-0.38 / 1180));
    }
    .certification_service_slide .swiper-slide .box strong::after {
        width: calc(100vw * (10 / 1180));
        height: calc(100vw * (20 / 1180));
        opacity: 1;
    }
    .certification_service_slide .swiper-slide .box p {
        margin-top: calc(100vw * (20 / 1180));
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }
}
@media (max-width: 767px) {
    .certification_service {
        margin-bottom: calc(100vw * (160 / 767));
    }
    .certification_service_slide .swiper-slide {
        width: calc(100vw * (707 / 767));
        height: calc(100vw * (687 / 767));
        padding-right: calc(100vw * (20 / 767));
    }
    .certification_service_slide .swiper-slide .box {
        padding: calc(100vw * (74 / 767)) calc(100vw * (77 / 767));
        border-radius: calc(100vw * (77 / 767));
    }
    .certification_service_slide .swiper-slide .box .ic {
        width: calc(100vw * (458 / 767));
        height: calc(100vw * (257 / 767));
        margin: 0 auto calc(100vw * (90 / 767));
    }
    .certification_service_slide .swiper-slide .box strong {
        padding-right: calc(100vw * (48 / 767));
        font-size: calc(100vw * (52 / 767));
        letter-spacing: calc(100vw * (-0.52 / 767));
    }
    .certification_service_slide .swiper-slide .box strong::after {
        background: url(/assets/images/hover_arrow_m-64fac2ecb65f904c72c5c447d3b575b6.svg) no-repeat;
        background-size: contain;
        width: calc(100vw * (38 / 767));
        height: calc(100vw * (39 / 767));
    }
    .certification_service_slide .swiper-slide .box p {
        margin-top: calc(100vw * (25 / 767));
        font-size: calc(100vw * (24 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }
    .main .slide_btn.pc {
        display: none;
    }
    .main .slide_btn.mo {
        display: block;
    }
}

.success_story {
    position: relative;
    padding-bottom: 1rem;
}
.success_story::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #f4f4f4;
    width: 100%;
    height: calc(50% - 8.5rem);
    z-index: -1;
}
.success_story_slide {
    position: relative;
    min-height: 57.4rem;
    overflow: hidden;
}
.success_story_slide .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 2rem;
    overflow: hidden;
}
.success_story_slide .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.success_story_slide .txt_box1 {
    position: absolute;
    top: 6.4rem;
    left: 7.4rem;
    color: #fff;
}
.success_story_slide .txt_box1 span {
    display: block;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.017rem;
    opacity: 0.5;
}
.success_story_slide .txt_box1 p {
    margin: 0.7rem 0 3.5rem;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.3;
}
.success_story_slide .txt_box2 {
    padding: 11.4rem 0 12.6rem;
    max-width: 50.2rem;
    color: #fff;
    position: relative;
    z-index: 1;
    margin: 0 14.6rem 0 auto;
}
.success_story_slide .txt_box2 strong {
    color: #fff;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.03rem;
}
.success_story_slide .txt_box2 p {
    padding: 3.2rem 0 6.3rem 4.7rem;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.017rem;
}
.success_story_slide .txt_box2 a {
    font-size: 1.7rem;
    color: #fff;
}

.gray_bg {
    position: relative;
    margin: -1px 0;
    overflow: hidden;
}
.gray_bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f4f4f4;
}
.gray_bg::after {
    content: "";
    background: url(/assets/images/main_bg1-7b03ab0f3b785c552e903c354533e3cb.jpg) no-repeat;
    background-size: contain;
    background-position: center;
    width: 192rem;
    height: 190rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.main_deco_txt {
    position: relative;
    padding: 15.8rem 0 14.2rem;
    z-index: 2;
}
.main_deco_txt.bg_color {
    padding: 19rem 0 15.4rem;
}
.main_deco_txt .img {
    position: relative;
    margin: 0 0 0 auto;
    width: 120.9rem;
    height: 19.2rem;
    z-index: 1;
}
.main_deco_txt .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media (max-width: 1700px) {
    .main_deco_txt .img {
        width: calc(100vw * (1209 / 1700));
        height: calc(100vw * (192 / 1700));
    }
}
@media (max-width: 1180px) {
    .success_story {
        padding-bottom: calc(100vw * (10 / 1180));
    }
    .success_story::after {
        height: calc(50% - calc(100vw * (85 / 1180)));
    }
    .success_story_slide {
        min-height: calc(100vw * (574 / 1180));
    }
    .success_story_slide .img {
        border-radius: calc(100vw * (60 / 1180));
    }
    .success_story_slide .txt_box1 {
        top: calc(100vw * (64 / 1180));
        left: calc(100vw * (74 / 1180));
    }
    .success_story_slide .txt_box1 span {
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }
    .success_story_slide .txt_box1 p {
        margin: calc(100vw * (5 / 1180)) 0 calc(100vw * (34 / 1180));
        font-size: calc(100vw * (22 / 1180));
    }
    .success_story_slide .txt_box2 {
        padding: calc(100vw * (114 / 1180)) 0 calc(100vw * (126 / 1180));
        max-width: calc(100vw * (531 / 1180));
        margin: 0 calc(100vw * (42 / 1180)) 0 auto;
    }
    .success_story_slide .txt_box2 strong {
        font-size: calc(100vw * (30 / 1180));
        letter-spacing: calc(100vw * (-0.3 / 1180));
    }
    .success_story_slide .txt_box2 p {
        padding: calc(100vw * (38 / 1180)) 0 calc(100vw * (56 / 1180)) calc(100vw * (34 / 1180));
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }
    .success_story_slide .txt_box2 a {
        font-size: calc(100vw * (19 / 1180));
    }
    .gray_bg::after {
        background: url(/assets/images/main_bg1_tb-9efcdc73e467d2c9bc5c6672217eed8c.jpg) no-repeat;
        background-size: contain;
        width: calc(100vw * (1796 / 1180));
        height: calc(100vw * (1963 / 1180));
    }
    .main_deco_txt {
        padding: calc(100vw * (148 / 1180)) 0 calc(100vw * (142 / 1180));
    }
    .main_deco_txt.bg_color {
        margin: -1px 0;
        padding: calc(100vw * (190 / 1180)) 0 calc(100vw * (154 / 1180));
    }
    .main_deco_txt.bg_color .img {
        width: calc(100vw * (998 / 1180));
    }
    .main_deco_txt .img {
        width: calc(100vw * (968 / 1180));
        height: calc(100vw * (158 / 1180));
    }
}
@media (max-width: 767px) {
    .success_story {
        padding-bottom: calc(100vw * (10 / 767));
    }
    .success_story::after {
        height: calc(50% - calc(100vw * (130 / 767)));
    }
    .success_story_slide {
        min-height: calc(100vw * (970 / 767));
    }
    .success_story_slide .swiper-slide {
        min-height: calc(100vw * (970 / 767));
        padding: calc(100vw * (82 / 767)) calc(100vw * (69 / 767));
    }
    .success_story_slide .img {
        border-radius: calc(100vw * (60 / 767));
    }
    .success_story_slide .txt_box1 {
        position: relative;
        top: 0;
        left: 0;
    }
    .success_story_slide .txt_box1 span {
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }
    .success_story_slide .txt_box1 p {
        margin: calc(100vw * (6 / 767)) 0 calc(100vw * (40 / 767));
        font-size: calc(100vw * (34 / 767));
    }
    .success_story_slide .txt_box2 {
        padding: calc(100vw * (60 / 767)) 0 0;
        max-width: 100%;
        margin: 0;
    }
    .success_story_slide .txt_box2 strong {
        font-size: calc(100vw * (48 / 767));
        letter-spacing: calc(100vw * (-0.48 / 767));
    }
    .success_story_slide .txt_box2 p {
        padding: calc(100vw * (38 / 767)) 0 calc(100vw * (58 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.2 / 767));
    }
    .success_story_slide .txt_box2 a {
        width: 100%;
        font-size: calc(100vw * (28 / 767));
    }
    .success_story_slide .slide_btn.mo {
        position: absolute;
        left: 50%;
        bottom: calc(100vw * (64 / 767));
        transform: translateX(-50%);
        z-index: 1;
    }
    .success_story_slide .slide_btn.mo .swiper-pagination {
        position: relative;
    }
    .gray_bg::after {
        background: url(/assets/images/main_bg1_mo-5851ce0f77cf4a25c6912b9be8e3be84.jpg) no-repeat;
        background-size: contain;
        width: calc(100vw * (1699 / 750));
        height: calc(100vw * (2545 / 750));
    }
    .main_deco_txt {
        padding: calc(100vw * (161 / 767)) 0 calc(100vw * (200 / 767));
    }
    .main_deco_txt.bg_color {
        margin: -1px 0;
        padding: calc(100vw * (190 / 767)) 0 calc(100vw * (200 / 767));
    }
    .main_deco_txt.bg_color .img {
        width: calc(100vw * (661 / 767));
    }
    .main_deco_txt .img {
        width: calc(100vw * (687 / 767));
        height: calc(100vw * (385 / 767));
    }
}

.main_step {
    position: relative;
    padding-bottom: 15rem;
    z-index: 1;
}

.main_step .container {
    z-index: 1;
}
.main_step ul.step_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 2rem;
}
.main_step ul.step_box > li {
    height: 100%;
    width: 100%;
    padding: 3.6rem 3rem;
    border-radius: 1.6rem;
    background: #fff;
}
.main_step ul.step_box li em {
    display: block;
    width: 100%;
    color: #000;
    text-align: center;
    font-family: Red Hat Display;
    font-size: 1.7rem;
    font-weight: 600;
    line-height: 1.52;
}
.main_step ul.step_box li strong {
    display: block;
    width: 100%;
    margin: 2rem 0 4rem;
    color: #000;
    text-align: center;
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.03rem;
}
.main_step ul.step_box li ol {
    width: 100%;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}
.main_step ul.step_box li ol li {
    width: 100%;
    display: flex;
    height: 5rem;
    padding: 1.2rem 0;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    border-radius: 10rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.017rem;
    border: 1px solid #e0e0e0;
    cursor: pointer;
}
.main_step ul.step_box li ol li.on {
    background: #181818;
    color: #fff;
}
.main_step .btn-wrap {
    width: 34.7rem;
    margin: 5.2rem 39.3rem 0 auto;
    text-align: right;
}
.main_step .btn-wrap.on strong {
    opacity: 1;
}
.main_step .btn-wrap a {
    text-align: left;
    cursor: auto;
}
.main_step .btn-wrap.on a {
    cursor: pointer;
}
.main_step .btn-wrap em {
    display: block;
    color: #000;
    font-family: Red Hat Display;
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
}
.main_step .btn-wrap strong {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    height: 7rem;
    padding-right: 9rem;
    color: #000;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: -0.024rem;
    opacity: 0.2;
    white-space: nowrap;
}
.main_step .btn-wrap strong::after {
    content: "";
    width: 6.6rem;
    height: 6.6rem;
    position: absolute;
    top: 0;
    right: 0;
    background: url(/assets/images/main_step_btn-953b2ba0debf68ca9cab7d898f348cfd.svg) no-repeat;
    background-size: contain;
}
.main_step .btn-wrap.on a:hover strong::after {
    background: url(/assets/images/main_step_hover_btn-708302e4544bddb7d93966bcef9f1178.svg) no-repeat;
    background-size: contain;
}

@media (max-width: 1180px) {
    .main_step {
        padding-bottom: calc(100vw * (170 / 1180));
    }
    .main_step ul.step_box {
        gap: calc(100vw * (20 / 1180));
    }
    .main_step ul.step_box > li {
        padding: calc(100vw * (36 / 1180)) calc(100vw * (30 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }
    .main_step ul.step_box li em {
        font-size: calc(100vw * (17 / 1180));
    }
    .main_step ul.step_box li strong {
        margin: calc(100vw * (20 / 1180)) 0 calc(100vw * (40 / 1180));
        font-size: calc(100vw * (24 / 1180));
    }
    .main_step ul.step_box li strong .pc {
        display: none;
    }
    .main_step ul.step_box li ol {
        gap: calc(100vw * (12 / 1180));
    }
    .main_step ul.step_box li ol li {
        height: calc(100vw * (50 / 1180));
        padding: calc(100vw * (12 / 1180)) 0;
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
        border-radius: calc(100vw * (100 / 1180));
    }
    .main_step .btn-wrap {
        width: calc(100vw * (347 / 1180));
        margin: calc(100vw * (76 / 1180)) calc(100vw * (132 / 1180)) 0 auto;
    }
    .main_step .btn-wrap em {
        font-size: calc(100vw * (20 / 1180));
    }
    .main_step .btn-wrap strong {
        height: calc(100vw * (70 / 1180));
        padding-right: calc(100vw * (90 / 1180));
        font-size: calc(100vw * (24 / 1180));
        letter-spacing: calc(100vw * (-0.24 / 1180));
    }
    .main_step .btn-wrap strong::after {
        width: calc(100vw * (66 / 1180));
        height: calc(100vw * (66 / 1180));
    }
}
@media (max-width: 767px) {
    .main_step {
        padding-bottom: calc(100vw * (160 / 767));
    }
    .main_step ul.step_box {
        display: flex;
        flex-wrap: wrap;
        gap: calc(100vw * (20 / 767));
    }
    .main_step ul.step_box > li {
        width: 100%;
        height: auto;
        padding: calc(100vw * (35 / 767)) calc(100vw * (40 / 767));
        border-radius: calc(100vw * (16 / 767));
    }
    .main_step ul.step_box li em {
        font-size: calc(100vw * (24 / 767));
    }
    .main_step ul.step_box li strong {
        margin: calc(100vw * (20 / 767)) 0 calc(100vw * (40 / 767));
        font-size: calc(100vw * (34 / 767));
    }
    .main_step ul.step_box li ol {
        gap: calc(100vw * (14 / 767));
    }
    .main_step ul.step_box li .ol_box {
        max-height: 0;
        transition: height 0.2s;
        overflow: hidden;
    }
    .main_step ul.step_box li.on .ol_box {
        max-height: 100%;
    }
    /* .main_step ul.step_box li:nth-child(1).on .ol_box { height: 456px; }
    .main_step ul.step_box li:nth-child(2).on .ol_box { height: 550px; }
    .main_step ul.step_box li:nth-child(3).on .ol_box { height: 738px; } */
    .main_step ul.step_box li ol li {
        height: calc(100vw * (80 / 767));
        padding: calc(100vw * (24 / 767)) 0;
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
        border-radius: calc(100vw * (120 / 767));
    }
    .main_step .mo.btn_box {
        position: relative;
    }
    .main_step .mo.btn_box button {
        position: relative;
        display: block;
        margin: 0 auto;
        width: calc(100vw * (80 / 767));
        height: calc(100vw * (80 / 767));
        background: transparent;
        font-size: 0;
    }
    .main_step .mo.btn_box button::before {
        content: "";
        width: 100%;
        height: 100%;
        background: url(/assets/images/plus_round-925dbe239e9061dfd4bc096ae19b27d2.svg) no-repeat;
        background-size: contain;
        position: absolute;
        top: 0;
        left: 0;
    }
    .main_step .on .mo.btn_box {
        margin-top: calc(100vw * (40 / 767));
    }
    .main_step .on .mo.btn_box button::before {
        background: url(/assets/images/minus_round-cd17d14f0be93bee9776ec1a1cf66d4f.svg) no-repeat;
        background-size: contain;
    }

    .main_step .btn-wrap {
        width: calc(100vw * (420 / 767));
        margin: calc(100vw * (50 / 767)) 0 0 auto;
    }
    .main_step .btn-wrap em {
        font-size: calc(100vw * (24 / 767));
    }
    .main_step .btn-wrap strong {
        height: calc(100vw * (100 / 767));
        padding-right: calc(100vw * (120 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }
    .main_step .btn-wrap strong::after {
        width: calc(100vw * (100 / 767));
        height: calc(100vw * (100 / 767));
    }
}

/* 드림큐레이션 검색결과 */
.main_step .search_results {
    position: relative;
    z-index: 1;
    margin: 15rem 0 -15rem;
    padding: 10rem 0 15rem;
    background-color: #fff;
}
.main_step .search_results .txt_box {
    margin-bottom: 5rem;
}
.main_step .search_results .txt_box p {
    position: relative;
    padding-top: 5.4rem;
    color: #111;
    font-size: 2.6rem;
    line-height: 1.4;
    letter-spacing: -0.26px;
}
.main_step .search_results .txt_box p::before {
    content: "";
    width: 4.4rem;
    height: 4.4rem;
    background: url(/assets/images/search_results_ic-3df6240ed7e1b8750534861d3d61d208.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
}
.main_step .search_results .txt_box p b {
    font-weight: 700;
}
.main_step .search_results .product_list {
    margin-right: -2rem;
}
.main_step .search_results .product_list > li {
    width: calc(100% / 4 - 2rem);
    min-height: 34.7rem;
}
.main_step .search_results .product_list > li::after {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    height: 2.8rem;
    padding: 0rem 1.2rem;
    color: #fff;
    font-family: Red Hat Display;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 5rem;
}
.main_step .search_results .product_list > li.new::after {
    content: "New";
    width: 5.4rem;
    background: linear-gradient(98deg, #ed3820 0%, #e4823b 100%);
}
.main_step .search_results .product_list > li.update::after {
    content: "Update";
    width: 7.4rem;
    background: linear-gradient(98deg, #1fd187 0%, #20c8df 100%);
}
.main_step .search_results .product_list p {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 1180px) {
    /* 드림큐레이션 검색결과 */
    .main_step .search_results {
        margin: calc(100vw * (197 / 1180)) 0 calc(100vw * (-170 / 1180));
        padding: calc(100vw * (100 / 1180)) 0 calc(100vw * (150 / 1180));
    }
    .main_step .search_results .txt_box {
        margin-bottom: calc(100vw * (50 / 1180));
    }
    .main_step .search_results .txt_box p {
        padding-top: calc(100vw * (54 / 1180));
        font-size: calc(100vw * (26 / 1180));
        letter-spacing: calc(100vw * (-0.26 / 1180));
    }
    .main_step .search_results .txt_box p::before {
        width: calc(100vw * (44 / 1180));
        height: calc(100vw * (44 / 1180));
    }
    .main_step .search_results .product_list {
        margin-right: calc(100vw * (-20 / 1180));
    }
    .main_step .search_results .product_list > li {
        width: calc(100% / 3 - calc(100vw * (20 / 1180)));
        min-height: calc(100vw * (347 / 1180));
    }
    .main_step .search_results .product_list > li::after {
        top: calc(100vw * (13 / 1180));
        right: calc(100vw * (15 / 1180));
        height: calc(100vw * (28 / 1180));
        padding: 0rem calc(100vw * (12 / 1180));
        font-size: calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (50 / 1180));
    }
    .main_step .search_results .product_list > li.new::after {
        width: calc(100vw * (54 / 1180));
    }
    .main_step .search_results .product_list > li.update::after {
        width: calc(100vw * (74 / 1180));
    }
}
@media (max-width: 767px) {
    /* 드림큐레이션 검색결과 */
    .main_step .search_results {
        margin: calc(100vw * (142 / 767)) 0 calc(100vw * (-160 / 767));
        padding: calc(100vw * (100 / 767)) 0 calc(100vw * (152 / 767));
    }
    .main_step .search_results .txt_box {
        margin-bottom: calc(100vw * (50 / 767));
    }
    .main_step .search_results .txt_box p {
        padding-top: calc(100vw * (108 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.28 / 767));
    }
    .main_step .search_results .txt_box p::before {
        width: calc(100vw * (88 / 767));
        height: calc(100vw * (88 / 767));
    }
    .main_step .search_results .scroll {
        margin: 0 calc(100vw * (-40 / 767));
        padding: 0 calc(100vw * (40 / 767));
    }
    .main_step .search_results .product_list {
        margin-right: 0;
        width: fit-content;
        flex-flow: nowrap;
    }
    .main_step .search_results .product_list > li {
        width: calc(100vw * (670 / 750));
        height: calc(100vw * (622 / 750));
        padding-left: calc(100vw * (50 / 750));
        padding-right: calc(100vw * (50 / 750));
    }
    .main_step .search_results .product_list > li::after {
        top: calc(100vw * (28 / 767));
        right: calc(100vw * (29 / 767));
        height: calc(100vw * (50 / 767));
        padding: 0 calc(100vw * (22 / 767));
        font-size: calc(100vw * (26 / 767));
        border-radius: calc(100vw * (92 / 767));
    }
    .main_step .search_results .product_list > li.new::after {
        width: calc(100vw * (99 / 767));
    }
    .main_step .search_results .product_list > li.update::after {
        width: calc(100vw * (136 / 767));
    }
}

.security_solution {
    position: relative;
}
.security_solution.bg::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    background-color: #f4f4f4;
    width: 100%;
    height: 50%;
}
.security_solution .img {
    height: 48rem;
    border-radius: 2rem;
    overflow: hidden;
}
.security_solution .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.security_solution .txt-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    text-align: center;
    color: #fff;
}
.security_solution .txt-box strong {
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.042rem;
    color: #fff;
}
.security_solution .txt-box p {
    margin: 2.4rem 0 5rem;
    font-size: 1.9rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.019rem;
    word-break: keep-all;
}
.security_solution .txt-box a {
    margin: 0 auto;
}
.security_solution button {
    background: transparent;
    margin: 0 auto;
    cursor: pointer;
}
/* .main_news .swiper-slide { width: 38.5rem!important; } */
.main_news .img_box {
    position: relative;
    width: 100%;
    height: 29.1rem;
    margin-bottom: 3rem;
    border-radius: 1.6rem;
    overflow: hidden;
}
.main_news .img_box .solution_tag li {
    display: block;
    width: 100%;
    padding: 0;
    background: transparent;
}
.main_news .img_box .solution_tag li p {
    color: #111;
    padding: 0.35rem 1.6rem;
    background: #fff;
    border-radius: 5rem;
}
.main_news .img_box .img {
    width: 100%;
    height: 100%;
}
.main_news .img_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main_news .swiper-slide a:hover strong {
    text-decoration: underline;
    text-underline-position: under;
}
.main_news ol {
    position: absolute;
    top: 2rem;
    left: 1.5rem;
    z-index: 1;
}
.main_news ol li {
    display: flex;
    height: 3.4rem;
    padding: 0.35rem 1.6rem;
    justify-content: center;
    align-items: center;
    border-radius: 5rem;
    background: #fff;
}
.main_news em {
    display: block;
    margin-bottom: 1.2rem;
    color: #119de9;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.017rem;
}
.main_news strong {
    display: block;
    margin-bottom: 3rem;
    color: #111;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.022rem;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.main_news .date {
    display: block;
}

.main_marquee {
    position: relative;
    padding-bottom: 25.6rem;
    z-index: -1;
}
.main_marquee::before {
    content: "";
    background: url(/assets/images/main_bg2-2857b64fde53865e203497a82790086a.jpg) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 255.8rem;
    height: 126.8rem;
}
.marquee_wrap .logo_left,
.marquee_wrap .logo_right {
    height: 16rem;
    position: relative;
    margin-bottom: 1rem;
}
.marquee_wrap .logo_left > div,
.marquee_wrap .logo_right > div {
    position: absolute;
    top: 0;
}
.marquee_wrap .js-marquee {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.marquee_wrap div .logo_box {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    width: 34rem;
    height: 16rem;
    margin-right: 1rem;
    border-radius: 1.6rem;
    border: 1px solid #e6e6e6;
    background: #fff;
}
.marquee_wrap div .logo_box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

@media (max-width: 1180px) {
    .security_solution {
        display: none;
    }
    .security_solution .img {
        height: calc(100vw * (400 / 1180));
        border-radius: calc(100vw * (60 / 1180));
    }
    .security_solution .txt-box strong {
        font-size: calc(100vw * (42 / 1180));
        letter-spacing: calc(100vw * (-0.42 / 1180));
    }
    .security_solution .txt-box p {
        margin: calc(100vw * (24 / 1180)) 0 calc(100vw * (50 / 1180));
        font-size: calc(100vw * (19 / 1180));
        letter-spacing: calc(100vw * (-0.2 / 1180));
    }
    .main_news .swiper-slide {
        width: calc(100vw * (347 / 1180)) !important;
    }
    .main_news .img_box {
        width: calc(100vw * (347 / 1180));
        height: calc(100vw * (264 / 1180));
        margin-bottom: calc(100vw * (28 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }
    .main_news .img_box .solution_tag li p {
        padding: calc(100vw * (8 / 1180)) calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (45 / 1180));
    }

    .main_news ol {
        top: calc(100vw * (20 / 1180));
        left: calc(100vw * (20 / 1180));
    }
    .main_news ol li {
        height: calc(100vw * (34 / 1180));
        padding: calc(100vw * (8 / 1180)) calc(100vw * (14 / 1180));
        border-radius: calc(100vw * (45 / 1180));
    }
    .main_news em {
        margin-bottom: calc(100vw * (10 / 1180));
        font-size: calc(100vw * (17 / 1180));
        letter-spacing: calc(100vw * (-0.17 / 1180));
        font-weight: 600;
    }
    .main_news strong {
        max-width: calc(100vw * (347 / 1180));
        margin-bottom: calc(100vw * (28 / 1180));
        font-size: calc(100vw * (22 / 1180));
        letter-spacing: calc(100vw * (-0.22 / 1180));
    }

    .main_marquee {
        padding-bottom: calc(100vw * (242 / 1180));
    }
    .main_marquee::before {
        background: url(/assets/images/main_bg2_tb-6e3e0699778c0eaf43f2b45e32a4061b.jpg) no-repeat;
        background-size: contain;
        width: calc(100vw * (2028 / 1180));
        height: calc(100vw * (1050 / 1180));
    }
    .marquee_wrap .logo_left,
    .marquee_wrap .logo_right {
        height: calc(100vw * (102 / 1180));
        margin-bottom: calc(100vw * (10 / 1180));
    }
    .marquee_wrap div .logo_box {
        padding: calc(100vw * (35 / 1180));
        width: calc(100vw * (218 / 1180));
        height: calc(100vw * (102 / 1180));
        margin-right: calc(100vw * (10 / 1180));
        border-radius: calc(100vw * (16 / 1180));
    }
}
@media (max-width: 767px) {
    .security_solution .img {
        height: calc(100vw * (670 / 767));
        border-radius: calc(100vw * (60 / 767));
    }
    .security_solution .txt-box {
        width: 100%;
        padding: 0 calc(100vw * (75 / 767));
    }
    .security_solution .txt-box strong {
        font-size: calc(100vw * (46 / 767));
        letter-spacing: calc(100vw * (-0.46 / 767));
    }
    .security_solution .txt-box p {
        max-width: calc(100vw * (410 / 767));
        margin: calc(100vw * (24 / 767)) auto calc(100vw * (60 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }
    .security_solution .txt-box a {
        width: 100%;
    }
    .main_news .swiper-slide {
        width: calc(100vw * (707 / 767)) !important;
        padding-right: calc(100vw * (20 / 767));
    }
    .main_news .img_box {
        width: 100%;
        height: calc(100vw * (508 / 767));
        margin-bottom: calc(100vw * (52 / 767));
        border-radius: calc(100vw * (30 / 767));
    }
    .main_news .img_box .solution_tag li p {
        padding: calc(100vw * (12 / 767)) calc(100vw * (22 / 767));
        border-radius: calc(100vw * (86 / 767));
    }

    .main_news ol {
        top: calc(100vw * (34 / 767));
        left: calc(100vw * (27 / 767));
    }
    .main_news ol li {
        height: calc(100vw * (56 / 767));
        padding: calc(100vw * (12 / 767)) calc(100vw * (22 / 767));
        border-radius: calc(100vw * (86 / 767));
    }
    .main_news em {
        margin-bottom: calc(100vw * (22 / 767));
        font-size: calc(100vw * (26 / 767));
        letter-spacing: calc(100vw * (-0.26 / 767));
    }
    .main_news strong {
        max-width: 100%;
        margin-bottom: calc(100vw * (52 / 767));
        font-size: calc(100vw * (36 / 767));
        letter-spacing: calc(100vw * (-0.36 / 767));
    }

    .main_marquee {
        padding-bottom: calc(100vw * (415 / 767));
    }
    .main_marquee::before {
        background: url(/assets/images/main_bg2_mo-01255caf05ace691cd81f3bcf3103907.jpg) no-repeat;
        background-size: contain;
        width: calc(100vw * (1968 / 750));
        height: calc(100vw * (1368 / 750));
    }
    .marquee_wrap .logo_left,
    .marquee_wrap .logo_right {
        height: calc(100vw * (160 / 767));
        margin-bottom: calc(100vw * (10 / 767));
    }
    .marquee_wrap div .logo_box {
        padding: calc(100vw * (50 / 767));
        width: calc(100vw * (340 / 767));
        height: calc(100vw * (160 / 767));
        margin-right: calc(100vw * (10 / 767));
        border-radius: calc(100vw * (16 / 767));
    }
}
