.contact_form { margin: 0 auto; width: 100%; }
.contact_form .red { color: red; }
.contact_form h4 { font-size: 1rem; padding-bottom: 5px; }

.contact_form .contact_table { border-top: 1px solid #202020; width: 100%; margin-bottom: 25px; }
.contact_form .contact_table tr { border-bottom: 1px solid #eee; }
.contact_form .contact_table tr th { padding: 20px; width: 15%; font-size: .95rem; background-color: #f8f8f8; }
.contact_form .contact_table tr td { padding: 20px; width: 35% }
.contact_form .contact_table tr td input[type=text],
.contact_form .contact_table tr td input[type=email],
.contact_form .contact_table tr td input[type=password],
.contact_form .contact_table tr td input[type=number],
.contact_form .contact_table tr td select { line-height: 20px; padding: 10px; width: 100%; border: 1px solid #ccc; box-sizing: border-box }
.contact_form .contact_table tr td textarea { line-height: 20px; padding: 10px; width: 100%; border: 1px solid #ccc; box-sizing: border-box }

.contact_form .contact_table .contact_radio input { position: relative; vertical-align: middle; top: 1px; }
.contact_form .contact_table .contact_radio label { margin-left: 5px; margin-right: 10px; font-size: 1rem; }

.contact_form h5 { font-size: 1rem; padding-bottom: 10px; }
.contact_form .form_agree { font-size: 0.9rem; border: 1px solid #ccc; padding: 15px; background-color: #efefef; }
.contact_form .form_agree_check { text-align: center; font-size: 1.1rem; padding: 15px; color: #0c1445 }
.contact_form .form_agree_check .submit_btn { margin-top: 30px; padding: 15px 25px; font-size: 1.2rem; background-color: #3b3b3b; color: #fff; font-weight: bolder;  }


#blackbox.subStyle1 .box6 { background-color: #0084ea; }
#blackbox.subStyle1 .box6 .btn_bx a span { color: #004a89; }

#platform.subStyle1 .box6 { background-color: #335269; }
#platform.subStyle1 .box6 .btn_bx a span { color: #004a89; }

.analyzer.subStyle1 .box6 { background-color: #335269 !important; }
.analyzer.subStyle1 .box6 .btn_bx a span { color: #004a89; }

.box6 .btn_bx{ display: inline-block; display: flex; flex-direction: row; gap: 20px; }
.box6 .btn_bx a { padding-left: 25px; padding-right: 25px; border-radius: 28px !important; }
.box6 .btn_bx a span { height: 59px !important; font-size: 16px; font-weight: 600; line-height: 18px; }

#s_visual.s_visual_07 .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_07.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_lms .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_lms.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_platform .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_platform.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_analyzer .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_analyzer.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_mlp .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_mlp.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_edge .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_edge.jpg') no-repeat center; background-size:cover;}
#s_visual.s_visual_jsa .slogan .title_box > .bg_img { background:url('../images/sub/sub_v_jsa.jpg') no-repeat center; background-size:cover;}

.txt_jsa_step {  }

.txt_sub_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .txt_sub_list li {
        position: relative;
        margin-bottom: 15px;
    }

    .txt_sub_list li .sub_txt_title {
        font-weight: bold;
        margin-right: 5px;
    }

.jsa_contents .box4 .con_bx .con_w { padding-left: 70px; padding-top: 40px; }

    .jsa_contents .box4 .con_bx:not(.slide_bx) .con_w ol li {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    
    .jsa_contents .box4 .con_bx:not(.slide_bx) .con_w ol li .circle_bx {
        flex-shrink: 0;
    }

    .jsa_contents .box4 .con_bx:not(.slide_bx) .con_w ol li .txt_bx {
        flex: 1;
    }
    
    .jsa_contents .box4 .con_bx .con_w .circle_bx {
        min-width: 120px;
        max-width: 120px;
        height: 120px;
        background: linear-gradient(135deg, #0877cc, #33a2f7);
        border: 8px solid #f5f5f5;
        border-radius: 50%;
        color: #fff;
        font-size: 18px;
        font-weight: 500;
        padding: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-right: 70px;
    }

        .jsa_contents .box4 .con_bx .con_w .circle_bx.circle_c2 {
            background: linear-gradient(135deg, #24a885, #59d0b0);
        }

        .jsa_contents .box4 .con_bx .con_w .circle_bx.circle_c3 {
            background: linear-gradient(135deg, #a640dc, #d07cfc);
        }

.jsa_contents .box4 .con_bx .con_w_flex ol {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 30px;
}

    .jsa_contents .box4 .con_bx .con_w_flex ol li {
        display: flex;
        flex-direction: row;
        padding-bottom: 30px;
    }
        
        .jsa_contents .box4 .con_bx:not(.slide_bx) .con_w ol li:not(:last-child) {
            border-bottom: 1px dashed #ddd;
            padding-bottom: 30px;
            padding-top: 30px;
        }

        .jsa_contents .box4 .con_bx:not(.slide_bx) .con_w ol li:last-child {
            padding-bottom: 30px;
            padding-top: 30px;
        }

    .jsa_contents .box4 .con_bx .con_w_flex ol li > div {
        align-content: center;
    }


.jsa_contents .box2 .con_bx .con_w {
}
.jsa_contents .box2 .con_bx .con_w .txt_bx { width: 100%; text-align: center }
.jsa_contents .box2 .con_bx .con_w .txt_bx .ttl {font-family: "Poppins", sans-serif; font-size: 26px; color: #111111; font-weight: 600; word-break: keep-all; line-height: 34px; margin-bottom: 32px;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .txt {font-size: 18px; color: #444444; line-height: 30px; letter-spacing: -0.02em; word-break: keep-all; margin-bottom: 17px;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .txt:last-child {margin-bottom: 0;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .txt_ttl {font-weight: 600;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .list1 li {position: relative; padding-left: 11px;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .list1 li::before {content: ''; width: 4px; height: 4px; background-color: #044bd9; position: absolute; left: 0; top: 12px; border-radius: 50%;}
.jsa_contents .box2 .con_bx .con_w .txt_bx .txt_w .col2 {color: #044bd9; text-decoration: underline;}
.jsa_contents .txt_jsa_step {
    background: url('../images/sub/jsa_bx2_03.png') no-repeat center;
    width: 1200px;
    height: 418px;
}

    .jsa_contents .txt_jsa_step > div {
        padding-left: 90px;
        padding-right: 90px;
        padding-top: 190px;
    }

        .jsa_contents .txt_jsa_step > div > ul {
            display: flex;
            flex-direction: row;
            list-style: none;
            padding: 0;
            margin: 0;
            gap: 18px;
        }

            .jsa_contents .txt_jsa_step > div > ul > li {
                width: 190px;
                padding: 15px;
                display: flex;
                flex-direction: column;
                align-items: center;
            }

                .jsa_contents .txt_jsa_step > div > ul > li > h5 {
                    display: flex;
                    align-items: center;
                    font-size: 20px;
                    text-align: center;
                    margin-bottom: 7px;
                    height: 47px;
                }

                .jsa_contents .txt_jsa_step > div > ul > li > p {
                    font-size: 15px;
                    text-align: center;
                    transform: scaleX(0.97);
                    letter-spacing: -0.5px;
                    line-height: 1.12;
                }

@media (max-width: 768px) {
    .contact_form .contact_table tr { display: flex; flex-wrap: wrap; }

    .contact_form .contact_table th { flex: 1 1 25%; box-sizing: border-box; display: flex; justify-content: center; align-items: center }
    .contact_form .contact_table td { flex: 1 1 75%; box-sizing: border-box; }

    .box6 .btn_bx a span { font-size: 13px; }

    #s_visual.s_visual_07 .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_07_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_lms .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_lms_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_platform .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_platform_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_analyzer .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_analyzer_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_mlp .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_mlp_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_edge .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_edge_m.jpg') no-repeat center; background-size: cover;}
    #s_visual.s_visual_jsa .slogan .title_box > .bg_img {background: url('../images/sub/sub_v_jsa_m.jpg') no-repeat center; background-size: cover;}

}

@media (max-width: 768px) {

    .jsa_contents .box4 .con_bx.slide_bx .con_w {
        padding-left: 0;
        padding-top: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .jsa_contents .box4 .con_bx.slide_bx .circle_bx {
        margin-right: 0;
        margin-bottom: 20px;
        margin-top: 20px;
    }

    .jsa_contents .box4 .con_bx.slide_bx .txt_bx {
        text-align: center;
    }

        .jsa_contents .box4 .con_bx.slide_bx .txt_bx strong,
        .jsa_contents .box4 .con_bx.slide_bx .txt_bx p {
            margin-left: auto;
            margin-right: auto;
        }

    .jsa_contents .box4 .con_bx.slide_bx ol li {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-bottom: 30px;
        border-bottom: 1px dashed #ddd;
    }
}
