/* === 공통 === */
.column > *:not(:last-child){ margin-bottom: 32px; }
.gap60 > *:not(:last-child){ margin-bottom: 60px; }
.gap32 > *:not(:last-child){ margin-bottom: 32px; }
.gap24 > *:not(:last-child){ margin-bottom: 24px; }
.defalut{ font-size: 18px; font-weight: 300; color: #333; line-height: 1.7; }
.defalut *{ line-height: inherit; }
.defalut em{ color: var(--mainColor); }
.defalut strong{ font-weight: 500; }
.barTit{ font-size: 22px; font-weight: 500; color: var(--mainColor); line-height: 1.4; margin-bottom: 24px; padding-left: 15px; position: relative; }
.barTit::before{ content: ""; width: 4px; height: 22px; background: var(--mainColor); position: absolute; top: calc(1.4em / 2); left: 0; transform: translateY(-50%); }
.iframe iframe{ width: 100%; aspect-ratio: 16 / 9; }

@media screen and (max-width: 1700px){
    .barTit{ font-size: 21px; margin-bottom: 20px; }
    .barTit::before{ height: 18px; }
}
@media screen and (max-width: 1280px){
    .gap60 > *:not(:last-child){ margin-bottom: 40px; }
    .defalut{ font-size: 17px; }
    .barTit{ font-size: 20px; margin-bottom: 15px; }
}
@media screen and (max-width: 960px){
    .barTit{ font-size: 18px; margin-bottom: 10px; }
}


/* note */
.note{ font-size: 16px; font-weight: 300; color: #555; line-height: 1.7; text-align: center; margin-top: 24px; }
.note *{ line-height: inherit; }

.note.blueBg,
.note.grayBg{ padding: 12px; }
.note.colorBg{ text-align: center; font-size: 22px; font-weight: 300; color: #FFF; padding: 24px; margin: 24px 0; }

.note .dot-list,
.note .check-list,
.note .warning{ text-align: left; } 

@media screen and (max-width: 1700px){
    .note.colorBg{ font-size: 20px; padding: 20px; margin: 20px 0; }
}
@media screen and (max-width: 1280px){
    .note{ font-size: 15px; margin-top: 20px; }
    .note.colorBg{ font-size: 18px; padding: 16px; margin: 16px 0; }
}
@media screen and (max-width: 960px){
    .note.colorBg{ padding: 12px; }
}


/* ol */
.ol.grayBg{ padding: 40px; }
.ol.grayBg ol li{ display: flex; font-size: 16px; font-weight: 300; color: #333; line-height: 1.7; }
.ol.grayBg ol li:not(:last-of-type){ margin-bottom: 4px; }
.ol.grayBg ol li *{ line-height: inherit; }
.ol.grayBg ol li strong{ flex-shrink: 0; font-weight: 500; margin-right: 4px; }

@media screen and (max-width: 1700px){
    .ol.grayBg{ padding: 30px; }
}
@media screen and (max-width: 1280px){
    .ol.grayBg{ padding: 25px; }
}
@media screen and (max-width: 960px){
    .ol.grayBg{ padding: 20px; }
}


/* warning */
.warning{ font-size: 16px; font-weight: 300; color: #555; line-height: 1.7; padding-left: 15px; position: relative; }
.warning::before{ content: "※"; line-height: inherit; position: absolute; top: 0; left: 0; }


/* common-layout */
.common-layout{
    --boxBg: #F2F5F9;
}
.common-layout{ display: flex; }
.common-layout .left{ flex-shrink: 0; width: 400px; padding-right: 30px; }
.common-layout .right{ flex: 1 1 auto; min-width: 0; }
.common-layout .right > *:not(:last-child){ margin-bottom: 60px; }

@media screen and (max-width: 1700px){
    .common-layout .left{ width: 320px; }
}
@media screen and (max-width: 1280px){
    .common-layout .left{ width: 270px; }
    .common-layout .right > *:not(:last-child){ margin-bottom: 40px; }
}
@media screen and (max-width: 1200px){
    .common-layout{ flex-direction: column; }
    .common-layout .left{ width: 100%; padding: 0 0 20px 0; }
    .common-layout .left br{ display: none; }
}


/* common-grid */
.common-grid{
    --bg: #F2F5F9;
    --gap: 24px;
    --padding: 40px;
}   
.common-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); margin: calc((var(--gap) / 2) * -1); text-align: center; }
.common-grid > *{ margin: calc(var(--gap) / 2); }
.common-grid .item{ padding: var(--padding); }
.common-grid .border{ border: 2px solid var(--blueBorder); }
.common-grid .border.active{ border-color: var(--mainColor); }
.common-grid .bg{ background: var(--bg); }
.common-grid .txt{ margin-top: 16px; }
.common-grid .txt strong{ display: block; font-size: 18px; font-weight: 500; color: var(--mainColor); line-height: 1.4; }
.common-grid .txt p{ font-size: 16px; font-weight: 300; color: #333; line-height: 1.7; margin-top: 8px; }

.common-grid.dl{ grid-template-columns: repeat(2, 50%); text-align: left; }
.common-grid.dl dl dt{ border-bottom: 1px solid var(--blueBorder2); font-size: 20px; font-weight: 500; color: #333; line-height: 1.4; padding-bottom: 16px; margin-bottom: 24px; }
.common-grid.dl dl .check-list li{ font-size: 16px; }

.common-grid.numbering > *{ position: relative; }
.common-grid.numbering .item{ margin-top: calc(var(--num) / 2); }
.common-grid.numbering .num{ position: absolute; top: 0; left: 50%; z-index: 10; transform: translateX(-50%); }

.common-grid.check{ 
    --gap: 12px;
}
.common-grid.check{ text-align: left; }
.common-grid.check > *{ padding: 18px 30px; }
.common-grid.check p{ font-size: 18px; font-weight: 300; color: #333; line-height: 1.7; padding-left: 28px; position: relative; }
.common-grid.check p::before{ content: ""; width: 20px; height: 20px; background: var(--mainColor) url("/img/sub/icon_list_check.svg") no-repeat center center / contain; border-radius: 50%; position: absolute; top: calc(1.7em / 2); left: 0; transform: translateY(-50%); }

.common-grid.number{
    --gap: 20px;
    --num: 36px;
}
.common-grid.number{ grid-template-columns: repeat(2, 50%); text-align: left; counter-reset: num; }
.common-grid.number > *{ display: flex; border: 2px solid var(--blueBorder); font-size: 18px; font-weight: 300; color: #333; line-height: 1.7; padding: 30px; counter-increment: num; }
.common-grid.number > *::before{ content: counter(num, decimal-leading-zero); flex-shrink: 0; display: inline-block; width: var(--num); height: var(--num); background: var(--mainColor); font-family: var(--engFont); font-size: 14px; font-weight: 600; color: #FFF; line-height: var(--num); text-align: center; margin-right: 20px; }
.common-grid.number p{ min-height: var(--num); flex: 1 1 auto; min-width: 0; padding-top: calc((var(--num) - 1.7em) / 2); line-height: inherit; }

@media screen and (max-width: 1700px){
    .common-grid{
        --padding: 30px;
    }   

    .common-grid.dl dl dt{ font-size: 19px; padding-bottom: 13px; margin-bottom: 20px; }

    .common-grid.check > *{ padding: 15px 24px; }

    .common-grid.number{
        --gap: 16px;
    }
    .common-grid.number > *{ padding: 20px; }
}
@media screen and (max-width: 1280px){
    .common-grid{
        --gap: 16px;
        --padding: 25px;
    }  
    .common-grid .txt strong{ font-size: 17px; }

    .common-grid.dl .item{ padding-block: 20px; }
    .common-grid.dl dl dt{ font-size: 18px; padding-bottom: 10px; margin-bottom: 15px; }

    .common-grid.check > *{ padding: 12px 16px; }
    .common-grid.check p{ font-size: 17px; }

    .common-grid.number{
        --gap: 16px;
    }
    .common-grid.number > *{ font-size: 17px; padding: 15px; }
    .common-grid.number > *::before{ margin-right: 15px; }
}
@media screen and (max-width: 960px){
    .common-grid.number{
        --gap: 10px;
    }
    .common-grid.number{ grid-template-columns: repeat(1, 100%); }
    .common-grid.number > *{ padding: 10px; }
}
@media screen and (max-width: 768px){
    .common-grid.check{
        --gap: 8px;
    }
    .common-grid.check{ grid-template-columns: repeat(1, 100%); }
}
@media screen and (max-width: 640px){
    .common-grid.dl .item{ padding: 15px 20px; }
}


/* common-gallery */
.common-gallery{ 
    --gap: 24px;
    --position: 20px;
    --rgba: 0.75;
    --shadow: 8px;
}
.common-gallery{ display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); margin: calc((var(--gap) / 2) * -1); }
.common-gallery > *{ margin: calc(var(--gap) / 2); }
.common-gallery figure{ display: block; position: relative; }
.common-gallery figure img{ width: 100%; }
.common-gallery figure figcaption{ max-width: calc(100% - (var(--position) * 2)); background: rgba(255, 255, 255, var(--rgba)); border-radius: 30px; font-size: 16px; font-weight: 500; color: #333; padding: 10px 13px 9px; position: absolute; top: var(--position); left: var(--position); }
.common-gallery figure.black figcaption{ background: rgba(17, 17, 17, var(--rgba)); font-weight: 400; color: #FFF; }

.common-gallery.numbering > *{ position: relative; padding-top: calc(var(--num) / 2); }
.common-gallery.numbering .num{ position: absolute; top: 0; left: 50%; z-index: 10; transform: translateX(-50%); }

.common-gallery.gallery{ margin-block: calc(var(--gap) * -1); }
.common-gallery.gallery > *{ margin-block: var(--gap); }
.common-gallery.gallery p{ font-size: 20px; font-weight: 500; color: #333; line-height: 1.7; text-align: center; margin-top: 16px; } 

.column2 .common-gallery{ grid-template-columns: repeat(2, 50%); }
.column3 .common-gallery{ grid-template-columns: repeat(3, calc(100% / 3)); }
.column4 .common-gallery{ grid-template-columns: repeat(4, 25%); }

.cert .common-gallery{ margin-block: -16px; }
.cert .common-gallery > *{ margin-block: 16px; }
.cert .common-gallery p{ font-size: 18px; font-weight: 500; color: #333; line-height: 1.7; text-align: center; margin-top: 16px; }

.vertical .common-gallery figure{ aspect-ratio: 1 / 1.415; }
.vertical .common-gallery figure img{ height: 100%; object-fit: cover; }

.step{ 
    --height: 48px;
}
.step .common-gallery{ grid-template-columns: repeat(4, 25%); counter-reset: num; }
.step .common-gallery li{ position: relative; counter-increment: num; }
.step .common-gallery li span{ display: inline-flex; align-items: center; height: var(--height); background: var(--mainColor); border-radius: 999px; font-family: var(--engFont); font-size: 16px; font-weight: 600; color: #FFF; text-align: center; padding: 0 30px; position: absolute; top: 0; left: 50%; z-index: 10; transform: translateX(-50%); }
.step .common-gallery li span::after{ content: counter(num, decimal-leading-zero); margin-left: 4px; }
.step .common-gallery li figure{ position: relative; margin-top: calc(var(--height) / 2); }
.step .common-gallery li figure::after{ content: ""; width: 44px; height: 44px; background: var(--mainColor) url("/img/sub/product/rsi_references_arrow.svg") no-repeat center center / auto; box-shadow: 0 0 0 var(--shadow) #FFF; border-radius: 50%; position: absolute; top: 50%; right: calc((var(--gap) / 2) * -1); transform: translate(50%, -50%); z-index: 10; }
.step .common-gallery li:last-of-type figure::after{ display: none !important; }
.step .common-gallery li:nth-of-type(4n) figure::after{ display: none; }

@media screen and (max-width: 1700px){
    .common-gallery{
        --position: 15px;
        --shadow: 6px;
    }
    .common-gallery figure figcaption{ font-size: 15px; padding: 8px 12px 7px; }

    .common-gallery.gallery p{ font-size: 19px; } 

    .cert .common-gallery p{ margin-top: 9px; }

    .step .common-gallery{
        --height: 40px;
    }
    .step .common-gallery li span{ font-size: 15px; padding: 0 25px; }
    .step .common-gallery li figure::after{ width: 36px; height: 36px; }    
}
@media screen and (max-width: 1280px){
    .common-gallery{ 
        --gap: 16px;
        --position: 10px;
    }
    .common-gallery figure figcaption{ font-size: 14px; padding: 6px 10px 5px; }

    .common-gallery.gallery p{ font-size: 18px; margin-top: 12px; } 

    .cert .common-gallery p{ font-size: 17px; margin-top: 10px; }

    .step .common-gallery{
        --height: 36px;
    }
    .step .common-gallery li span{ font-size: 14px; padding: 0 20px; }
}
@media screen and (max-width: 960px){
    .common-gallery{
        --shadow: 5px;
    }
    .cert .common-gallery{ margin-block: -12px; }
    .cert .common-gallery > *{ margin-block: 12px; }
    .cert .column4 .common-gallery{ grid-template-columns: repeat(3, calc(100% / 3)); }

    .step .common-gallery li figure::after{ width: 32px; height: 32px; }
}
@media screen and (max-width: 768px){
    .cert .column3 .common-gallery, 
    .cert .column4 .common-gallery{ grid-template-columns: repeat(2, 50%); }

    .step .common-gallery{
        --height: 32px;
    }
    .step .common-gallery li span{ padding: 0 16px; }
}


/* common-split */
.common-split{ display: flex; }
.common-split .img{ width: var(--imgW); flex-shrink: 0; }
.common-split .img figure,
.common-split .img figure img{ width: 100%; }
.common-split .img + div{ flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding-left: var(--padding); }  
.common-split h5{ font-size: 36px; font-weight: 600; color: #333; line-height: 1.4; margin-bottom: 24px; }
.common-split h5 em{ color: var(--mainColor); }
.common-split p.bold{ font-size: 20px; font-weight: 500; color: #333; line-height: 1.7; }
.common-split .tit{ margin-bottom: 32px; }
.common-split .tit h5{ margin-bottom: 0; }
.common-split .tit p{ font-size: 22px; font-weight: 500; color: var(--mainColor); line-height: 1.7; margin-top: 16px; }
.common-split .tit p *{ line-height: inherit; }
.common-split .tit p strong{ font-weight: 600; }
.common-split .p-box{ line-height: 1.7; }
.common-split .p-box *{ line-height: inherit; }
.common-split .p-box > *:not(:last-child){ margin-bottom: 8px; }
.common-split .p-box strong{ font-weight: 500; }

@media screen and (max-width: 1700px){
    .common-split h5{ font-size: 32px; }
    .common-split p.bold{ font-size: 19px; }
    .common-split .tit{ margin-bottom: 28px; }
    .common-split .tit p{ font-size: 20px; margin-top: 12px; }
}
@media screen and (max-width: 1450px){
    .common-split h5{ font-size: 28px; }
}
@media screen and (max-width: 1280px){
    .common-split .gap24 > *:not(:last-child){ margin-bottom: 16px; }
    .common-split h5{ font-size: 24px; margin-bottom: 16px; }
    .common-split p.bold{ font-size: 18px; }
    .common-split .tit{ margin-bottom: 16px; }
    .common-split .tit p{ font-size: 19px; margin-top: 8px; }
}
@media screen and (max-width: 960px){
    .common-split .gap24 > *:not(:last-child){ margin-bottom: 12px; }
    .common-split h5{ font-size: 22px; } 
}
@media screen and (max-width: 640px){
    .common-split h5{ margin-bottom: 12px; }
}


/* blue-dl */
.blue-dl .common-gallery{ --gap: 20px; grid-template-columns: repeat(2, 50%); }
.blue-dl .figure{ display: grid; grid-template-columns: repeat(2, 50%); }
.blue-dl dl{ display: flex; flex-direction: column; }
.blue-dl dl dt{ background: var(--mainColor); font-size: 18px; font-weight: 400; color: #FFF; text-align: center; padding: 17px; }
.blue-dl dl dd{ flex: 1 0 auto; display: flex; flex-direction: column; }
.blue-dl .box{ flex: 1 0 auto; border: 2px solid var(--blueBorder); border-top-color: transparent; padding: 30px 40px; }

@media screen and (max-width: 1700px){
    .blue-dl dl dt{ padding: 12px; }
    .blue-dl .box{ padding: 25px 30px; }
}
@media screen and (max-width: 1280px){
    .blue-dl dl dt{ font-size: 17px; }
    .blue-dl .box{ padding: 18px 25px; }
}


/* common-info */
.common-info{ background: var(--grayBg); line-height: 1.7; padding: 32px 40px 36px; }
.common-info *{ color: #333; line-height: inherit; }
.common-info dt{ border-bottom: 1px solid #DDD; font-size: 18px; font-weight: 500; padding-bottom: 8px; padding-left: 30px; margin-bottom: 16px; position: relative; }
.common-info dt::before{ content: ""; width: 24px; height: 24px; background: url("/img/sub/product/icon_prod_info.svg") no-repeat center center / contain; position: absolute; top: calc(1.7em / 2); left: 0; transform: translateY(-50%); }
.common-info dd{ font-size: 16px; font-weight: 300; }
.common-info dd strong{ font-weight: 500; }

@media screen and (max-width: 1700px){
    .common-info{ padding: 25px 30px; }
}
@media screen and (max-width: 1280px){
    .common-info{ padding: 20px 25px; }
    .common-info dt{ font-size: 17px; padding-bottom: 4px; padding-left: 26px; margin-bottom: 12px; }
    .common-info dt::before{ content: ""; width: 20px; height: 20px; }
}
@media screen and (max-width: 960px){
    .common-info{ padding: 15px 20px; }
}


/* common-check */
.common-check{ background: var(--skyBlue2); padding: 80px; }
.common-check .tit{ text-align: center; margin-bottom: 50px; }
.common-check .tit h5{ font-family: var(--engFont); font-size: 36px; font-weight: 800; color: var(--mainColor); }
.common-check .tit p{ font-size: 20px; font-weight: 300; color: #555; line-height: 1.7; margin-top: 16px; }
.common-check ul{ display: grid; grid-template-columns: repeat(2, 50%); margin: -5px; }
.common-check ul li{ display: flex; background: #FFF; font-size: 18px; font-weight: 300; color: #333; line-height: 1.7; padding: 30px 40px; margin: 5px; }
.common-check ul li::before{ content: ""; flex-shrink: 0; display: inline-block; width: 24px; height: 24px; background: var(--mainColor) url("/img/sub/product/icon_prod_check.svg") no-repeat center center / contain; margin-right: 16px; transform: translateY(2%); }
.common-check ul li p{ flex: 1 1 auto; min-width: 0; }

@media screen and (max-width: 1700px){
    .common-check{ padding: 60px; }
    .common-check .tit{ margin-bottom: 40px; }
    .common-check .tit h5{ font-size: 32px; }
    .common-check .tit p{ font-size: 19px; }
    .common-check ul li{ padding: 20px 30px; }
}

@media screen and (max-width: 1280px){
    .common-check{ padding: 40px; }
    .common-check .tit{ margin-bottom: 30px; }
    .common-check .tit h5{ font-size: 28px; }
    .common-check .tit p{ font-size: 18px; margin-top: 12px; }
    .common-check ul li{ font-size: 17px; padding: 15px 25px; }
    .common-check ul li::before{ width: 22px; height: 22px; margin-right: 12px; }
}

@media screen and (max-width: 960px){
    .common-check{ padding: 25px; }
    .common-check .tit{ margin-bottom: 20px; }
    .common-check .tit h5{ font-size: 24px; }
    .common-check .tit p{ font-size: 17px; }
    .common-check ul{ grid-template-columns: repeat(1, 100%); }
    .common-check ul li{ font-size: 16px; padding-left: 15px; }
    .common-check ul li::before{ transform: translateY(-5%); }
}


/* common-banner */
.common-banner{
    --padding: 100px; 
    --btn: 60px;   
}
.common-banner{ margin-bottom: 100px; position: relative; opacity: 1 !important; clip-path: inset(0 50% 0 50% round 20px); -webkit-clip-path: inset(0 50% 0 50% round 20px); transition-property: clip-path !important; transition-duration: 1s; }
.common-banner.aos-animate{ clip-path: inset(0 0 0 0 round 20px); -webkit-clip-path: inset(0 0 0 0 round 20px); }
.common-banner .item{ display: flex; flex-direction: column; justify-content: center; min-height: 400px; border-radius: 20px; color: #FFF; position: relative; overflow: hidden; }
.common-banner .item::after{ width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 0; }
.common-banner .bg{ border-radius: 20px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.common-banner .bg img{ width: 100%; height: 100%; object-fit: cover; object-position: right; }
.common-banner .text{ padding: var(--padding) calc(var(--btn) + var(--padding)); position: relative; z-index: 10; }
.common-banner .text h4{ font-size: 4.6rem; font-weight: 500; line-height: 1.4; }
.common-banner .text p{ font-size: 20px; font-weight: 300; line-height: 1.7; }
.common-banner .text .hashtag{ margin-top: 16px; }
.common-banner .text .hashtag ul{ display: flex; flex-wrap: wrap; margin: -4px; }
.common-banner .text .hashtag ul li{ border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 999px; font-size: 20px; font-weight: 300; line-height: 1.7; padding: 3px 16px; margin: 4px; }
.common-banner .slick-info{ display: flex; justify-content: space-between; align-items: center; padding: 0 calc(var(--padding) / 2); position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); }
.common-banner .slick-info button{ width: var(--btn); height: var(--btn); background: none; border: none; }
.common-banner .slick-info button i{ display: block; height: 16px; background: url("/img/sub/product/icon_banner_arrow.svg") no-repeat center center / contain; }
.common-banner .slick-info button.prev i{ transform: scaleX(-1); }
.common-banner .dots{ position: absolute; bottom: 40px; left: 0; right: 0; }
.common-banner .slick-dots{ display: flex; justify-content: center; }
.common-banner .slick-dots li:not(:last-child){ margin-right: 12px; }
.common-banner .slick-dots li{ width: 8px; height: 8px; background: rgba(255, 255, 255, 0.5); border-radius: 50%; cursor: pointer; transition: background 0.4s; }
.common-banner .slick-dots li.slick-active{ background: #FFF; }
.common-banner .slick-dots li button{ display: none; }

.common-banner .slick-slider .text{ width: 60%; }

@media screen and (max-width: 1700px){
    .common-banner{
        --padding: 80px;
        --btn: 55px;
    }
    .common-banner .item{ min-height: 375px; }
    .common-banner .text p{ font-size: 19px; }
    .common-banner .text .hashtag ul li{ font-size: 18px; }
    .common-banner .dots{ bottom: 30px; }
}
@media screen and (max-width: 1280px){
    .common-banner{
        --padding: 60px;
        --btn: 50px;
    }
    .common-banner .item{ min-height: 350px; }
    .common-banner .text p{ font-size: 18px; margin-top: 5px; }
    .common-banner .text .hashtag{ margin-top: 12px; }
    .common-banner .text .hashtag ul li{ font-size: 17px; padding: 2px 12px; }
    .common-banner .dots{ bottom: 20px; }
}
@media screen and (max-width: 1200px){
    .common-banner .text{ padding: var(--padding); }
    .common-banner .slick-info{ top: calc(((var(--vw) - (var(--innerGap) * 2)) * 0.44) / 2); padding: 0; }

    .common-banner .slick-slider .item{ display: block; min-height: unset; color: #111; }
    .common-banner .slick-slider .bg{ border-radius: 20px; overflow: hidden; position: relative; aspect-ratio: 1 / .44; }
    .common-banner .slick-slider .bg img{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
    .common-banner .slick-slider .text{ width: 100%; padding: 25px 15px 0; }
    .common-banner .slick-slider .text h4{ font-weight: 600; }
    .common-banner .slick-slider .text p{ font-weight: 400; }
}
@media screen and (max-width: 960px){
    .common-banner .item{ min-height: 300px; }
    .common-banner .text h4{ font-size: 4.3rem; }
    .common-banner .text p{ font-size: 17px; }
    .common-banner .text .hashtag ul li{ font-size: 16px; } 

    .common-banner .slick-slider .text h4{ font-size: 4.3rem; }
}
@media screen and (max-width: 768px){
    .common-banner{
        --padding: 40px;
    }
    .common-banner .item{ min-height: 250px; }
}
@media screen and (max-width: 640px){
    .common-banner .item{ min-height: 225px; }
    .common-banner .text{ padding-inline: 30px; }
}


/* common-feature */
.common-feature{ min-height: 300px; display: flex; flex-direction: column; justify-content: center; text-align: center; color: #FFF; border-radius: 20px; padding: 50px 100px; position: relative; overflow: hidden; }
.common-feature::after{ width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 0; }
.common-feature > *{ position: relative; z-index: 10; }
.common-feature .txt > em{ display: block; font-family: var(--engFont); font-size: 16px; font-weight: 500; line-height: 1.6; margin-bottom: 12px; }
.common-feature .txt h5{ font-size: 36px; font-weight: 500; color: #FFF; }
.common-feature .txt p{ font-size: 18px; font-weight: 200; line-height: 1.4; margin-top: 12px; }

@media screen and (max-width: 1700px){
    .common-feature{ min-height: 270px; padding-inline: 70px; }
    .common-feature .txt h5{ font-size: 32px; }
}
@media screen and (max-width: 1280px){
    .common-feature{ min-height: 240px; padding: 40px; }
    .common-feature .txt > em{ font-size: 15px; margin-bottom: 9px; }
    .common-feature .txt h5{ font-size: 28px; }
    .common-feature .txt p{ font-size: 17px; margin-top: 8px; }
}
@media screen and (max-width: 960px){
    .common-feature{ min-height: 210px; padding-inline: 25px; }
    .common-feature .txt > em{ font-size: 14px; }
    .common-feature .txt h5{ font-size: 24px; }
}
@media screen and (max-width: 640px){
    .common-feature .txt h5{ font-size: 22px; }
}


/* test-diagram */
.test-diagram{ 
    --min: 48px;
    --num: 40px;
}
.test-diagram{ display: flex; flex-direction: column; }
.test-diagram figure{ padding-top: calc(var(--min) / 2); }
.test-diagram figure figcaption{ width: 240px; min-height: var(--min); display: flex; justify-content: center; align-items: center; background: var(--mainColor); font-size: 18px; font-weight: 400; color: #FFF; line-height: 1.7; text-align: center; padding: 0 15px; top: 0; left: 50%; transform: translateX(-50%); }
.test-diagram div{ display: flex; flex-direction: column; padding: 24px 20px; }
.test-diagram div ul{ display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); text-align: center; margin: -5px; }
.test-diagram div ul li{ margin: 5px; }
.test-diagram div ul li span{ display: block; font-size: 16px; font-weight: 300; color: #333; margin-top: 8px; }
.test-diagram div ul li .num{ display: inline-block; width: var(--num); height: var(--num); background: #333; border-radius: 50%; font-family: var(--engFont); font-size: 14px; font-weight: 600; color: #FFF !important; line-height: var(--num); margin: 0; }
.test-diagram div ul li.active span{ color: var(--mainColor); }
.test-diagram div ul li.active .num{ background: var(--mainColor); }

@media screen and (max-width: 1700px){
    .test-diagram{ 
        --min: 44px;
    }
    .test-diagram figure figcaption{ width: 220px; font-size: 17px; }
    .test-diagram div{ padding: 16px 10px; }
}

@media screen and (max-width: 1500px){
    .test-diagram div{ padding: 16px 0; }
    .test-diagram div ul li span{ font-size: 15px; }
}

@media screen and (max-width: 1400px){
    .test-diagram .common-gallery{ grid-template-columns: repeat(1, 100%); }
}

@media screen and (max-width: 1280px){
    .test-diagram{ 
        --min: 40px;
        --num: 36px;
    }
    .test-diagram figure figcaption{ width: 200px; font-size: 16px; }
}

@media screen and (max-width: 640px){
    .test-diagram div ul{ grid-template-columns: repeat(5, 1fr) auto; margin: -3px; }
    .test-diagram div ul li{ margin: 3px; }
}