.service .round_visual { position: relative; height: 51.8rem; }
.service .round_visual .inner { position:relative; display: flex; flex-wrap: nowrap; align-items: center; width: 100%; height: 100%; border-radius: 8rem; z-index: 1; }
.service .round_visual .txt_box {  
    width: 100%;
    padding: 10rem;
    position: relative;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    text-align: left;
}
.service .round_visual .txt_box>span { color: #FFF; font-size: 2.2rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.022rem; opacity: 0.6; }
.service .round_visual .txt_box h2 { margin: 2.4rem 0; font-size: 4.6rem; font-weight: 600; }
.service .round_visual .txt_box a { color: #FFF; font-family: Red Hat Display; }
.service .round_visual .img { 
    width: 51.8rem;
    height: 51.8rem;
    background: transparent;
    border-radius: 0;
    position: absolute;
    top: 50%;
    right: 10rem;
    transform: translateY(-50%);
    z-index: -1;
}
.service .content_intro .container>.flex .content>ul { display: grid; grid-template-columns: repeat(2, 1fr); margin-right: 0; }
.service .content_intro .content>ul>li { width: 100%; min-height: 27.6rem; height: auto; }
.service .content_intro strong { display: block; margin: 3.2rem 0 1.2rem; color: #111; font-size: 2.4rem; font-weight: 700; line-height: 1.4; letter-spacing: -0.024rem; }
.service .content_intro p { font-size: 1.8rem; font-weight: 400; margin-top: 0; }

.service_slide { margin-bottom: 13.2rem; }
.service_slide .round { margin-top: 4rem; }
.service_slide .content { overflow: hidden; text-align: center; color: #000; }
.service_slide .content .img { width:100%; height: 21.7rem; border-radius: 1.6rem; overflow: hidden; }
.service_slide .content .img img { width: 100%; height: 100%; object-fit: cover; }
.service_slide .content strong { display: block; margin: 2rem 0 1rem; font-size: 2.4rem; font-weight: 700; line-height: 1.4; letter-spacing: -0.024rem; }
.service_slide .content p { font-size: 1.7rem; font-weight: 400; line-height: 1.4; letter-spacing: -0.017rem; }

.service_slide.off .swiper-wrapper { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.service_slide.off .swiper-slide { width: 100%; }

.certification_process { margin-bottom: 13rem; }
.certification_process .img_box { margin-bottom: 4rem; }
.certification_process .img_box:last-child { margin-bottom: 0; }
.certification_process .img { width: 119.5rem; height: 52.8rem; }
.certification_process .img img { width: 100%; height: 100%; object-fit: cover; }

.video_wrap { margin-bottom: 13rem; }
.video_wrap .video_box { margin-bottom: 4rem; }
.video_wrap .video_box:last-child { margin-bottom: 0; }
.video_wrap .video_box .video { width: 119.4rem; height: 67.1rem; border-radius: 1.6rem; overflow: hidden; }
.video_wrap .video_box .video iframe { width: 100%; height: 100%; object-fit: cover; }
.video_wrap .video_box p {  
    margin-top: 2.1rem;
    color: #000;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4; 
    letter-spacing: -0.024rem;
}

.service_content { margin-bottom: 13rem; }
.service_content ul { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; margin-bottom: 6rem; }
.service_content ul:last-child { margin-bottom: 0; }
.service_content ul:nth-child(2n) { flex-direction: row-reverse; }
.service_content ul>li { max-width: 50%; width: 58.7rem; }
.service_content ul>li.img { border-radius: 1.6rem; overflow: hidden; }
.service_content ul>li.img img { width: 100%; height: 100%; object-fit: cover; }
.service_content .txt { padding: 0 6rem; }
.service_content .txt strong {  
    display: block;
    margin-bottom: 5rem;
    color: #111;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.03rem;
}
.service_content .txt ol li {   
    padding: 1rem 0 1.7rem 5rem;
    margin-bottom: 2rem;
    position: relative;
    color: #333;
    font-size: 2.2rem;
    font-weight: 500;
    border-bottom: 1px solid rgba(166, 166, 166, 0.60);
    line-height: 1.3;
    letter-spacing: -0.022rem;
}
.service_content .txt ol li:last-child { margin-bottom: 0; }
.service_content .txt ol li::before {  
    content: "";
    position: absolute;
    top: 50%;
    left: 1.5rem;
    transform: translateY(-50%);
    width: 2.4rem;
    height: 2.4rem;
    background: url(../images/check_ic.svg)no-repeat;
    background-size: contain;

}
.txt_box a.btn_down span { 
    position: relative; 
    padding-right: 2.5rem; 
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.3px;
}
.txt_box a.btn_down span::after {  
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.8rem;
    background: url(../images/service/btn_down_ic.svg)no-repeat;
    background-size: contain;
}

@media (max-width: 1700px) {
    .service .round_visual { height: calc(100vw * (518 / 1700)); }
    .service .round_visual .inner { border-radius: calc(100vw * (80 / 1700)); }
    .service .round_visual .txt_box h2 { font-size: calc(100vw * (46 / 1700)); }
    .service .round_visual .txt_box { padding: calc(100vw * (100 / 1700)); padding-right: calc(100vw * (518 / 1700)); }
    .service .round_visual .img { width: calc(100vw * (518 / 1700)); height: calc(100vw * (518 / 1700)); right: calc(100vw * (100 / 1700)); }
    .container>.flex aside { width: calc(100vw * (405 / 1700)); padding-right: calc(100vw * (20 / 1700)); }
    .container>.flex .content { width: calc(100% - calc(100vw * (405 / 1700))); }
    .certification_process .img { width: 100%; height: auto; }
    .view_contact .txt_box { height: auto; padding: calc(100vw * (86 / 1700)) calc(100vw * (130 / 1700)); }
    .service_slide .content .img { height: calc(100vw * (217 / 1700)); }
    .video_wrap .video_box .video { width: 100%; height: calc(100vw * (671 / 1700)); }
    .service_content .txt { padding: 0 calc(100vw * (60 / 1700)); }
    .service_content .txt strong { margin-bottom: calc(100vw * (50 / 1700)); }
    .service_content .txt ol li { padding-left: calc(100vw * (70 / 1700)); }
}
@media (max-width: 1180px) {
    .service .round_visual { height: calc(100vw * (440 / 1180)); }
    .service .round_visual .inner { border-radius: calc(100vw * (80 / 1180)); }
    .service .round_visual .txt_box { max-width: calc(100vw * (640 / 1180)); padding: calc(100vw * (60 / 1180)); }
    .service .round_visual .txt_box>span { font-size: calc(100vw * (18 / 1180)); letter-spacing: calc(100vw * (-0.18 / 1180)); }
    .service .round_visual .txt_box h2 { margin: calc(100vw * (23 / 1180)) 0; font-size: calc(100vw * (32 / 1180)); }
    .service .round_visual .img { 
        width: calc(100vw * (400 / 1180));
        height: calc(100vw * (400 / 1180));
        right: calc(100vw * (60 / 1180));
    }

    .service .content_intro .content>ul>li { min-height: calc(100vw * (276 / 1180)); }
    .service .content_intro strong { margin: calc(100vw * (30 / 1180)) 0 calc(100vw * (12 / 1180)); font-size: calc(100vw * (23 / 1180)); letter-spacing: calc(100vw * (-0.23 / 1180)); }
    .service .content_intro p { margin-top: 0; font-size: calc(100vw * (18 / 1180)); }
    .container>.flex aside { width: 100%; padding-right: 0; }
    .container>.flex .content { width: 100%; }
    .service_slide { margin-bottom: calc(100vw * (108 / 1180)); }
    .service_slide aside { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; }
    .service_slide .round { margin-top: 0; }
    .service_slide .content .img { height: calc(100vw * (217 / 1180)); border-radius: calc(100vw * (16 / 1180)); }
    .service_slide .content strong { margin: calc(100vw * (20 / 1180)) 0 calc(100vw * (10 / 1180)); font-size: calc(100vw * (24 / 1180)); letter-spacing: calc(100vw * (-0.24 / 1180)); }
    .service_slide .content p { font-size: calc(100vw * (17 / 1180)); letter-spacing: calc(100vw * (-0.17 / 1180)); }

    .service_slide.off .swiper-wrapper { gap: calc(100vw * (20 / 1180)); }

    .certification_process { margin-bottom: calc(100vw * (130 / 1180)); }
    .certification_process .img_box { margin-bottom: calc(100vw * (50 / 1180)); }
    .view_contact .txt_box { padding: calc(100vw * (86 / 1180)) calc(100vw * (70 / 1180)); }
    .video_wrap { margin-bottom: calc(100vw * (130 / 1180)); }
    .video_wrap .video_box { margin-bottom: calc(100vw * (50 / 1180)); }
    .video_wrap .video_box .video { width: 100%; height: calc(100vw * (606 / 1180)); border-radius: calc(100vw * (16 / 1180)); }
    .video_wrap .video_box p {  
        margin-top: calc(100vw * (21 / 1180));
        font-size: calc(100vw * (24 / 1180));
        letter-spacing: calc(100vw * (-0.24 / 1180));
    }

    .service_content { margin-bottom: calc(100vw * (130 / 1180)); }
    .service_content ul { margin-bottom: calc(100vw * (50 / 1180)); }
    .service_content ul>li { width: calc(100vw * (530 / 1180)); }
    .service_content ul>li.img { border-radius: calc(100vw * (16 / 1180)); }
    .service_content .txt { padding: 0 calc(100vw * (54 / 1180)); }
    .service_content .txt strong {  
        margin-bottom: calc(100vw * (50 / 1180));
        font-size: calc(100vw * (30 / 1180));
        letter-spacing:calc(100vw * (-0.3 / 1180));
    }
    .service_content .txt ol li {   
        padding: calc(100vw * (10 / 1180)) 0 calc(100vw * (17 / 1180)) calc(100vw * (51 / 1180));
        margin-bottom: calc(100vw * (20 / 1180));
        font-size: calc(100vw * (22 / 1180));
        letter-spacing: calc(100vw * (-0.22 / 1180));
    }
    .service_content .txt ol li::before {  
        top: calc(50% - calc(100vw * (2 / 1180)));
        left: calc(100vw * (16 / 1180));
        width: calc(100vw * (24 / 1180));
        height: calc(100vw * (24 / 1180));
    }
    .txt_box a.btn_down span { 
        padding-right: calc(100vw * (25 / 1180)); 
        font-size: calc(100vw * (15 / 1180));
        letter-spacing: calc(100vw * (0.3 / 1180));
    }
    .txt_box a.btn_down span::after {  
        width: calc(100vw * (15 / 1180));
        height: calc(100vw * (18 / 1180));
    }
}
@media (max-width: 767px) {
    .service .round_visual { height: calc(100vw * (687 / 767)); }
    .service .round_visual .inner { align-items: flex-start; border-radius: calc(100vw * (80 / 767)); }
    .service .round_visual .txt_box { max-width: 100%; padding: calc(100vw * (68 / 767)); }
    .service .round_visual .txt_box>span { font-size: calc(100vw * (24 / 767)); letter-spacing: calc(100vw * (-0.24 / 767)); }
    .service .round_visual .txt_box h2 { margin: calc(100vw * (34 / 767)) 0; font-size: calc(100vw * (38 / 767)); }
    .service .round_visual .img { 
        width: calc(100vw * (340 / 767));
        height: calc(100vw * (340 / 767));
        right: calc(100vw * (67 / 767));
        top:auto;
        bottom: 0;
        transform: translateY(0);
    }

    .service .content_intro .container>.flex .content>ul { grid-template-columns: repeat(1, 1fr) }
    .service .content_intro .content>ul>li { width: 100%; min-height: 100%; }
    .service .content_intro strong { 
        margin: calc(100vw * (34 / 767)) 0 calc(100vw * (16 / 767)); 
        font-size: calc(100vw * (30 / 767)); 
        letter-spacing: calc(100vw * (-0.3 / 767)); 
    }
    .service .content_intro p { font-size: calc(100vw * (26 / 767)); }
    .service .content_intro .content>ul>li { padding: calc(100vw * (50 / 767)); }
    .container>.flex aside { width: 100%; padding-right: 0; }
    .container>.flex .content { width: 100%; }

    .service_slide { margin-bottom: calc(100vw * (108 / 767)); }
    .service_slide .round { display: none; }
    .service_slide .content .img { height: calc(100vw * (274 / 767)); border-radius: calc(100vw * (20 / 767)); }
    .service_slide .content strong { margin: calc(100vw * (20 / 767)) 0 calc(100vw * (14 / 767)); font-size: calc(100vw * (30 / 767)); letter-spacing: calc(100vw * (-0.3 / 767)); }
    .service_slide .content p { font-size: calc(100vw * (26 / 767)); letter-spacing: calc(100vw * (-0.26 / 767)); }

    .service_slide.off .swiper-wrapper { grid-template-columns: repeat(2, 1fr); gap: calc(100vw * (40 / 767)) calc(100vw * (20 / 767)); }
    .service_slide .swiper-wrapper { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(100vw * (40 / 767)) calc(100vw * (20 / 767)); }
    .service_slide .swiper-slide { width: 100%!important; }
    
    .certification_process { margin-bottom: calc(100vw * (130 / 767)); }
    .certification_process .img_box { margin-bottom: calc(100vw * (50 / 767)); }
    .view_contact .txt_box { padding: calc(100vw * (80 / 767)) calc(100vw * (70 / 767)); }
    .video_wrap { margin-bottom: calc(100vw * (130 / 767)); }
    .video_wrap .video_box { margin-bottom: calc(100vw * (50 / 767)); }
    .video_wrap .video_box .video { width: 100%; height: calc(100vw * (378 / 767)); border-radius: calc(100vw * (10 / 767)); }
    .video_wrap .video_box p {  
        margin-top: calc(100vw * (20 / 767));
        font-size: calc(100vw * (30 / 767));
        letter-spacing: calc(100vw * (-0.24 / 767));
    }

    .service_content { margin-bottom: calc(100vw * (130 / 767)); }
    .service_content ul { display: block; margin-bottom: calc(100vw * (80 / 767)); }
    .service_content ul>li { max-width: 100%; width: 100%; }
    .service_content ul>li.img { border-radius: calc(100vw * (18 / 767)); }
    .service_content .txt { margin-top: calc(100vw * (50 / 767)); padding: 0; width: 100%; }
    .service_content .txt strong {  
        margin-bottom: calc(100vw * (50 / 767));
        font-size: calc(100vw * (34 / 767));
        letter-spacing:calc(100vw * (-0.3 / 767));
    }
    .service_content .txt ol li {   
        padding: calc(100vw * (13 / 767)) 0 calc(100vw * (23 / 767)) calc(100vw * (68 / 767));
        margin-bottom: calc(100vw * (20 / 767));
        font-size: calc(100vw * (28 / 767));
        letter-spacing: calc(100vw * (-0.22 / 767));
    }
    .service_content .txt ol li::before {  
        top: calc(50% - calc(100vw * (4 / 767)));
        left: calc(100vw * (20 / 767));
        width: calc(100vw * (32 / 767));
        height: calc(100vw * (32 / 767));
    }
    .txt_box a.btn_down span { 
        padding-right: calc(100vw * (34 / 767)); 
        font-size: calc(100vw * (22 / 767));
        letter-spacing: calc(100vw * (0.44 / 767));
    }
    .txt_box a.btn_down span::after {  
        width: calc(100vw * (22 / 767));
        height: calc(100vw * (26 / 767));
    }
}