﻿/* =========================================
   기본 설정 (Reset & Common)
   ========================================= */
* {
    font-family: "Noto Sans KR", "Malgun Gothic", "맑은 고딕", "malgun", "Apple-Gothic", "애플고딕", "Tahoma", "dotum", "돋움", "gulim", "굴림", sans-serif;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    overflow-y: scroll; /* 세로 스크롤바 항상 표시 */
    font-size: 62.5%; /* 1rem = 10px로 설정 (계산 용이) */
}

body {
    margin: 0;
    padding: 0;
    background: #f8f9fa; /* _Layout.cshtml의 인라인 배경색으로 통일 */
    font-size: 1.4rem; /* 14px */
    letter-spacing: -0.04rem;
    color: #333; /* _Layout.cshtml의 인라인 텍스트색으로 통일 */
}

html, h1, h2, h3, h4, h5, h6, form, fieldset, img {
    margin: 0;
    padding: 0;
    border: 0;
}

ul, ol, dl, dt, dd {
    margin: 0;
    padding: 0;
    list-style: none;
}

label, input, button, select, img {
    vertical-align: middle;
    font-size: 1em;
}

input, button {
    margin: 0;
    padding: 0;
    font-size: 1em;
}

button {
    cursor: pointer;
}

p {
    margin: 0;
    padding: 0;
    word-break: break-all;
}

a {
    color: #000;
    text-decoration: none;
}


/* =========================================
   헤더 (Header) - style1.css 원본 유지
   ========================================= */
.header_wrap {
    width: 100%;
    height: 100px;
    position: fixed;
    z-index: 99;
    transition: all 0.2s ease-out;
}

    .header_wrap:after {
        content: "";
        display: block;
        clear: both;
    }

    .header_wrap:before {
        content: "";
        display: block;
        height: 100px;
        width: 100%;
        background: #ffffff;
        position: absolute;
        left: 0;
        top: 0;
        transition: all 0.2s ease-out;
    }

    .header_wrap .head_icon {
        display: none;
    }

    .header_wrap .header {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
    }

        .header_wrap .header:after {
            content: "";
            display: block;
            clear: both;
        }

    .header_wrap .logo_wrap {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        left: 15px;
        font-size: 0;
    }

        .header_wrap .logo_wrap a {
            display: block;
        }

        .header_wrap .logo_wrap img {
        }

    .header_wrap .header .nav {
        text-align: right;
        padding: 0 15px 0 0;
    }

        .header_wrap .header .nav li {
            display: inline-block;
            padding: 0 10px;
            height: 100px;
            line-height: 100px;
            position: relative;
            vertical-align: top;
            transition: all 0.2s ease-out;
        }

            .header_wrap .header .nav li a {
                font-size: 1.6rem;
                display: block;
                padding: 0 20px;
                height: 100px;
                font-weight: bold;
                color: #313131;
                border-bottom: 5px solid transparent;
            }

                .header_wrap .header .nav li a::before {
                    display: block;
                    content: attr(title);
                    font-weight: bold;
                    height: 0;
                    overflow: hidden;
                    visibility: hidden;
                }

    /* header_wrap.scroll: 스크롤 시 헤더 높이 및 스타일 */
    .header_wrap.scroll {
        height: 70px;
    }

        /* header_wrap.scroll::before: 스크롤 시 헤더 배경 및 하단 테두리 */
        .header_wrap.scroll:before {
            height: 70px;
            border-bottom: 1px solid #dfdfdf;
        }

        /* header_wrap.scroll .header .nav li: 스크롤 시 내비게이션 항목 높이 */
        .header_wrap.scroll .header .nav li {
            height: 70px;
            line-height: 70px;
        }

            /* header_wrap.scroll .header .nav li a: 스크롤 시 내비게이션 링크 높이 */
            .header_wrap.scroll .header .nav li a {
                height: 70px;
            }

            /* header_wrap.scroll .header .nav li ul: 스크롤 시 드롭다운 서브 메뉴 위치 */
            .header_wrap.scroll .header .nav li ul {
                top: 70px;
            }

                /* header_wrap.scroll .header .nav li ul li: 스크롤 시 드롭다운 서브 메뉴 항목 높이 */
                .header_wrap.scroll .header .nav li ul li {
                    height: 30px;
                    line-height: 30px;
                }

                    /* header_wrap.scroll .header .nav li ul li a: 스크롤 시 드롭다운 서브 메뉴 링크 높이 */
                    .header_wrap.scroll .header .nav li ul li a {
                        height: auto;
                    }

/* 769px 이상 화면에서 드롭다운 서브 메뉴 호버 시 표시 */
@media all and (min-width:769px) {
    .header_wrap .header .nav li:hover ul {
        display: block;
    }
}

/* 1024px 이하 화면에서 내비게이션 항목 패딩 및 폰트 크기 조정 */
@media (max-width: 1024px) {
    .header_wrap .header .nav li {
        padding: 0;
    }

        .header_wrap .header .nav li a {
            font-size: 1.6rem;
        }
}

/* #side_nav .side_hide: 사이드 메뉴 내부 요소 숨김 (PC) */
#side_nav .side_hide {
    display: none;
}

/* 모바일 (768px 이하) 헤더 및 사이드 메뉴 스타일 */
@media (max-width: 768px) {
    .header_wrap {
        height: 50px;
    }

        .header_wrap .header {
            height: auto;
            min-height: 50px;
        }

        .header_wrap:before {
            height: 50px;
            border-bottom: 1px solid #dfdfdf;
        }

        .header_wrap.scroll:before {
            height: 50px;
        }

        .header_wrap .logo_wrap {
            width: 240px;
            position: absolute;
            left: 14px;
            margin-left: 0;
            font-size: 0;
        }

            .header_wrap .logo_wrap a {
                display: block;
                text-align: left;
            }

            .header_wrap .logo_wrap img {
                height: 20px;
            }

        .header_wrap .head_icon {
            height: 30px;
            display: block;
        }

        .header_wrap p.ico_ham {
            position: absolute;
            right: 12.5px;
            top: 12px;
            cursor: pointer;
        }

            .header_wrap p.ico_ham i {
                font-size: 25px;
                color: #313131;
            }

            .header_wrap p.ico_ham img {
                height: 15px;
            }

        .header_wrap .header #side_nav {
            padding: 0;
            width: 85%;
            height: 100%;
            max-width: 500px;
            position: fixed;
            top: 0;
            right: -100%;
            background: #f9f9f9;
            z-index: 900;
            box-shadow: 2px 0px 4px rgba(0,0,0,0.30);
        }

    body.expand #side_nav {
        right: 0;
    }

    .header_wrap .header .nav {
        float: none;
        width: 100%;
        text-align: left;
        margin: 0;
        position: relative;
    }

        .header_wrap .header .nav li {
            display: block;
            padding: 0;
            margin-left: 10px;
            height: auto;
            line-height: 40px;
            position: relative;
            border-bottom: 1px solid #dcdcdc;
        }

            .header_wrap .header .nav li.havn {
            }

                .header_wrap .header .nav li.havn:after {
                    display: block;
                    position: absolute;
                    right: 0;
                    top: 0;
                    width: 40px;
                    height: 50px;
                    line-height: 50px;
                    text-align: center;
                    font-size: 15px;
                    content: "\e941";
                    font-family: 'xeicon';
                    transform: rotate(0deg);
                    transition: transform 120ms 200ms ease-out;
                    color: #000000;
                }

                .header_wrap .header .nav li.havn.on:after {
                    transform: rotate(-180deg);
                    transition: transform 120ms ease-in-out;
                }

            .header_wrap .header .nav li a {
                font-size: 15.5px;
                padding: 0 15px 0 20px;
                color: #000000;
                display: block;
                height: 50px;
                line-height: 50px;
                font-weight: 500;
                border-bottom: none;
            }

                .header_wrap .header .nav li a.small {
                    padding: 0 15px 0 20px;
                }

                .header_wrap .header .nav li a.active,
                .header_wrap .header .nav li a:hover {
                    border-bottom: none;
                }

            .header_wrap .header .nav li ul {
                display: none;
                width: 100%;
                min-height: 40px;
                height: auto;
                padding: 5px 0;
                background: #f0f0f0;
                text-align: left;
                position: relative;
                left: 0;
                top: 0;
                margin-left: 0;
            }

                .header_wrap .header .nav li ul li {
                    display: block;
                    margin: 0;
                    padding: 0;
                    height: auto;
                    line-height: auto;
                    vertical-align: top;
                    border-bottom: none;
                }

                    .header_wrap .header .nav li ul li a {
                        padding-left: 25px;
                    }
}

/* 하단 */
.add_wrap {
    max-width: 1200px;
    background: #fff;
    margin: 40px auto 0;
}

.tail_wrap {
    padding: 35px 15px 0;
    max-width: 1200px;
    background: #f9f9f9;
    margin: 40px auto 0;
}

    .tail_wrap .tail {
        padding: 0;
        margin: 0 auto;
        position: relative;
        font-size: 1.6rem;
    }

        .tail_wrap .tail .logo_b {
        }

            .tail_wrap .tail .logo_b .limg {
                margin: 0 0 40px 0;
            }

                .tail_wrap .tail .logo_b .limg img {
                    height: 23px;
                }

        .tail_wrap .tail .com_info {
            letter-spacing: -0.3px;
            line-height: 1.5;
            font-size: 1.3rem;
        }

            .tail_wrap .tail .com_info p {
                font-weight: bold;
                line-height: 1;
                margin: 0 0 10px 0;
            }

    .tail_wrap .copy {
        padding: 30px 0;
        line-height: 1;
        font-size: 1.2rem;
        text-align: center;
        color: #888888;
        border-top: 1px solid rgba(255,255,255,0.2);
    }

@media (max-width: 768px) {
    .tail_wrap {
        padding: 35px 15px 0;
    }

        .tail_wrap .tail {
            font-size: 1.4rem;
        }
}

/* 중간 콘텐츠 영역 */
.contents {
    padding: 100px 15px 0;
    max-width: 1200px;
    margin: 0 auto;
}

/* 페이지 타이틀 */
.page_title {
    margin: 30px 0 30px 0;
    padding: 0;
    text-align: center;
    font-size: 4.6rem;
    color: #7d429a;
    letter-spacing: -1.4px;
}

    .page_title span {
        display: inline-block;
    }

    .page_title.black {
        color: #313131;
    }

/* 일반적인 PNT 클래스 (간격용) */
.pnt {
    margin: 20px 0;
    font-size: 1.8rem;
}

/* 상단 이미지 랩 (배너 등) */
.top_image_wrap {
    background: url('../images/bg_01.webp') no-repeat 50% 50%;
    background-size: cover;
    position: relative;
    padding: 70px 20px;
    margin: 0 0 40px 0;
}

    .top_image_wrap.img1 {
        background: url('../images/bg_01.webp') no-repeat 50% 50%;
        background-size: cover;
    }

    .top_image_wrap.img2 {
        background-image: url('../images/bg_02.webp');
    }

    .top_image_wrap.img3 {
        background-image: url('../images/bg_03.webp');
    }

    .top_image_wrap.img4 {
        background-image: url('../images/bg_01.webp');
    }

    .top_image_wrap.img5 {
        background-image: url('../images/bg_02.webp');
    }

    .top_image_wrap .top_title {
        line-height: 1.0;
        font-size: 3.0rem;
        color: #000000;
        font-weight: 600;
    }

        .top_image_wrap .top_title span {
            color: #8500bd;
        }

    .top_image_wrap.img2 .top_title span {
        color: #f8235f;
    }

    .top_image_wrap.img3 .top_title span {
        color: #786d00;
    }

    .top_image_wrap.img4 .top_title span {
        color: #24ca2e;
    }

    .top_image_wrap.img5 .top_title span {
        color: #046478;
    }

/* 모바일 (768px 이하) 콘텐츠 영역 패딩 조정 */
@media (max-width: 768px) {
    .contents {
        padding-top: 65px;
    }

    .page_title {
        font-size: 3.0rem;
    }

    .top_image_wrap {
        padding: 50px 15px;
        margin: 0 0 20px 0;
    }

        .top_image_wrap .top_title {
            font-size: 2.2rem;
        }
}

/* 나머지 스타일 (btn, tbl, login, join, sns, page, switch, teacher_list, index 등) */
a.btn, .btn {
    line-height: 35px;
    height: 35px;
    padding: 0 10px;
    text-align: center;
    font-weight: 500;
    border: 0;
    font-size: 1.4rem;
}

a.btn01 {
    display: inline-block;
    padding: 0 7px;
    border: 1px solid #ccc;
    background: #fafafa;
    color: #000;
    text-decoration: none;
    vertical-align: middle;
}

    a.btn01:focus, a.btn01:hover {
        text-decoration: none;
    }

button.btn01 {
    display: inline-block;
    margin: 0;
    padding: 7px;
    border: 1px solid #ccc;
    background: #fafafa;
    color: #000;
    text-decoration: none;
}

a.btn02 {
    display: inline-block;
    padding: 0 7px;
    border: 1px solid #3b3c3f;
    background: #4b545e;
    color: #fff;
    text-decoration: none;
    vertical-align: middle;
}

    a.btn02:focus, .btn02:hover {
        text-decoration: none;
    }

button.btn02 {
    display: inline-block;
    margin: 0;
    padding: 7px;
    border: 1px solid #3b3c3f;
    background: #4b545e;
    color: #fff;
    text-decoration: none;
}

.btn_wide {
    padding: 20px 15px;
}

    .btn_wide a {
        display: block;
        border-radius: 8px;
        font-size: 1.6rem;
        text-align: center;
        padding: 15px 0;
        background: #7d429a;
        color: #ffffff;
    }

textarea.txt_ipt, input.frm_ipt {
    border: 1px solid #ccc;
    background: #fff;
    color: #000;
    vertical-align: middle;
    border-radius: 0px;
    padding: 5px;
    margin-bottom: 10px;
}

input.frm_ipt {
    height: 35px;
    line-height: 35px;
}

    input.frm_ipt.frm_btn {
        width: calc(100% - 103px);
    }

select.frm_select {
    border: 1px solid #ccc;
    height: 35px;
    line-height: 35px;
    background: #fff;
    color: #000;
    vertical-align: middle;
    border-radius: 0px;
    padding: 5px;
    vertical-align: top;
}

textarea.frm_100, input.frm_100 {
    width: 100%;
}

input.readonly {
    background: #dfdfdf;
    outline: none;
}

textarea.mb0, input.mb0 {
    margin-bottom: 0px;
}

input.mb5 {
    margin-bottom: 5px;
}

a.btn_inline, button.btn_inline {
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    min-width: 100px;
    height: 35px;
    line-height: 35px;
    padding: 0 5px;
    text-align: center;
    background: #5d5757;
    color: #fff;
    outline: none;
    border: none;
    border-radius: 0;
    vertical-align: top;
}

    a.btn_inline.min, button.btn_inline.min {
        min-width: 50px;
    }

    a.btn_inline.tiny, button.btn_inline.tiny {
        min-width: 35px;
        font-size: 12px;
    }

    button.btn_inline.white, a.btn_inline.white {
        background: #fff;
        border: 1px solid #5d5757;
        color: #000;
    }

/* 표 */
.tbl_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.tbl_wrap caption {
    padding: 10px 0;
    font-weight: bold;
    text-align: left;
}

.tbl_wrap.empty {
}

    .tbl_wrap.empty p {
        text-align: center;
        padding: 50px 0;
    }

.tbl_wrap .info {
    padding: 15px 0;
    color: #999999;
    font-size: 0.93em;
}

.tbl_head01 {
    margin: 0 0 10px;
}

    .tbl_head01 table {
    }

    .tbl_head01 caption {
        padding: 0;
        font-size: 0;
        line-height: 0;
        overflow: hidden;
    }

    .tbl_head01 thead th {
        padding: 12px 0;
        border-top: 2px solid #000;
        border-bottom: 1px solid #d3d3d3;
        background: #fff;
        color: #383838;
        font-weight: 500;
        text-align: center;
        letter-spacing: -0.1em;
    }

    .tbl_head01 tbody th {
        padding: 10px 0;
        border-top: 1px solid #e9e9e9;
        border-bottom: 1px solid #e9e9e9;
    }

    .tbl_head01 td {
        padding: 15px 5px;
        border-top: 1px solid #f3f3f3;
        border-left: 1px solid #f3f3f3;
        line-height: 1.5em;
        word-break: break-all;
    }

        .tbl_head01 td:first-child {
            border-left: 0;
        }

.tbl_head02 {
    margin: 0 0 10px;
}

    .tbl_head02 caption {
        padding: 0;
        font-size: 0;
        line-height: 0;
        overflow: hidden;
    }

    .tbl_head02 thead th {
        padding: 7px;
        background: #f3f3f3;
        border-top: 1px solid #d3d3d3;
        font-weight: 500;
        border-bottom: 1px solid #d3d3d3;
    }

    .tbl_head02 tbody th {
        padding: 8px 0;
        border-top: 1px solid #e9e9e9;
        font-weight: 500;
        border-bottom: 1px solid #e9e9e9;
    }

    .tbl_head02 td {
        padding: 8px 3px;
        border-bottom: 1px solid #e9e9e9;
        line-height: 1.4;
        word-break: break-all;
        text-align: center;
    }

        .tbl_head02 td.tal {
            text-align: left;
        }

/* 로그인 */
.btn_submit_wrap {
    text-align: center;
    margin-bottom: 10px;
}

    .btn_submit_wrap.tal {
        text-align: left;
    }

    .btn_submit_wrap button.btn_submit {
        display: block;
        width: 100%;
        height: 46px;
        line-height: 46px;
        text-align: center;
        background: #7d429a;
        color: #fff;
        outline: none;
        border: none;
        border-radius: 0;
    }

    .btn_submit_wrap a.btn_submit {
        display: block;
        width: 100%;
        height: 46px;
        line-height: 46px;
        text-align: center;
        background: #7d429a;
        color: #fff;
        outline: none;
        border: none;
        border-radius: 0;
    }

    .btn_submit_wrap a.btn_submit_inline, .btn_submit_wrap button.btn_submit_inline {
        display: inline;
        min-width: 130px;
        height: 46px;
        line-height: 46px;
        text-align: center;
        background: #7d429a;
        color: #fff;
        outline: none;
        border: none;
        border-radius: 0;
        vertical-align: top;
    }

    .btn_submit_wrap a.cancel {
        display: inline-block;
        min-width: 130px;
        height: 46px;
        line-height: 46px;
        text-align: center;
        border: 1px solid #7d429a;
        background: #ffffff;
        color: #7d429a;
        outline: none;
        border-radius: 0;
        vertical-align: top;
    }

    .btn_submit_wrap a.btn_submit.black {
        background: #000000;
        color: #fff;
    }

.login_wrap {
    max-width: 390px;
    margin: 0 auto;
    padding: 50px 0 20px;
}

    .login_wrap .option {
        margin: 0 0 10px 0;
        font-size: 13px;
    }

    .login_wrap .members {
        margin: 0 0 10px 0;
        padding: 0 0;
        text-align: right;
    }

    .login_wrap .admin {
        padding: 10px 0;
        font-size: 0.925em;
        line-height: 1.6;
    }

        .login_wrap .admin a {
            color: #d8262f;
        }

/* join */
.join_wrap {
    max-width: 420px;
    margin: 0 auto;
}

    .join_wrap .join_info {
        margin: 0 0 20px 0;
        color: #aaa;
    }

    .join_wrap .join_desc {
        margin: 0 0 10px 0;
        color: #727272;
    }

    .join_wrap .btn_join_go {
        margin: 0 0 10px 0;
    }

        .join_wrap .btn_join_go a {
            display: block;
            background: #5d5757;
            border: 1px solid #5d5757;
            color: #fff;
            line-height: 46px;
            height: 46px;
            text-align: center;
            border-radius: 4px;
        }

            .join_wrap .btn_join_go a i {
                margin-right: 6px;
            }

            .join_wrap .btn_join_go a.naver {
                background: #3eaf0e;
            }

            .join_wrap .btn_join_go a.facebook {
                background: #3d62b3;
            }

            .join_wrap .btn_join_go a.kakao {
                background: #f5e006;
                color: #231f20;
            }

            .join_wrap .btn_join_go a.google {
                background: #ea4335;
            }

    .join_wrap .jd_type {
        margin-bottom: 10px;
    }

        .join_wrap .jd_type .jd_input {
            width: calc(100% - 110px);
            margin-right: 10px;
        }

    .join_wrap .jd_agree {
        margin: 0 0 30px 0;
    }

    .join_wrap .agreeAll {
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
        border-bottom: 1px solid #dcdcdc;
        font-size: 1.12em;
        font-weight: 600;
    }

    .join_wrap .agr_item {
        margin: 0 0 5px 0;
    }

        .join_wrap .agr_item a {
            color: #999;
            margin-right: 5px;
        }

        .join_wrap .agr_item span.required {
            color: #ff0000;
        }

    .join_wrap .info {
        padding: 10px 0;
        color: #7d429a;
        font-size: 1.2rem;
    }

    .join_wrap .info2 {
        padding: 15px 0;
        margin: 15px 0;
        border-top: 1px solid #dcdcdc;
        border-bottom: 1px solid #dcdcdc;
    }

.sns_log_wrap {
    padding: 10px 0;
}

    .sns_log_wrap p.img {
        display: inline-block;
        margin-right: 5px;
        font-size: 20px;
        line-height: 1.0;
        vertical-align: tpp;
    }

    .sns_log_wrap a {
        display: block;
        width: 100%;
        font-size: 12px;
        border: 1px solid #d4d4d4;
        color: #fff;
        box-sizing: border-box;
        margin: 10px 0;
        padding: 10px 10px;
        text-align: center;
    }

        .sns_log_wrap a span {
            display: inline-block;
            line-height: 20px;
            vertical-align: top;
        }

        .sns_log_wrap a.kakao {
            background: #f5e006;
            color: #231f20;
        }

        .sns_log_wrap a.naver {
            background: #3eaf0e;
        }

    .sns_log_wrap .pt_sns {
        padding: 10px 0;
        font-weight: 500;
        font-size: 1.8rem;
    }

/* page */
.page_wrap {
    padding: 15px 0;
    text-align: center;
}

    .page_wrap ol {
        list-style: none;
        margin: 0;
        padding: 0;
        display: inline-block;
        font-size: 0;
        border-left: 1px solid #e3e3e3;
    }

        .page_wrap ol li {
            display: inline-block;
            width: 40px;
            height: 40px;
            line-height: 40px;
            border: 1px solid #e3e3e3;
            border-left: none;
            font-size: 12px;
        }

            .page_wrap ol li a {
                display: block;
            }

                .page_wrap ol li a.active {
                    background: #7c419f;
                    color: #fff;
                }

                .page_wrap ol li a.first {
                    background: url('../images/arrow_start.webp') no-repeat 50% 50%;
                    text-indent: -999em;
                    cursor: pointer;
                }

                .page_wrap ol li a.end {
                    background: url('../images/arrow_end.webp') no-repeat 50% 50%;
                    text-indent: -999em;
                    cursor: pointer;
                }

                .page_wrap ol li a.prev {
                    background: url('../images/arrow_prev.webp') no-repeat 50% 50%;
                    text-indent: -999em;
                    cursor: pointer;
                }

                .page_wrap ol li a.next {
                    background: url('../images/arrow_next.webp') no-repeat 50% 50%;
                    text-indent: -999em;
                    cursor: pointer;
                }

@media (max-width: 414px) {
    .page_wrap ol li {
        width: 36px;
        height: 36px;
        line-height: 36px;
    }
}

span.switch {
    height: 30px;
    line-height: 28px;
    border-radius: 15px;
    width: 70px;
    background: #434343;
    color: #ffffff;
    border: 1px solid #000;
    position: relative;
    display: inline-block;
    font-size: 1.15rem;
    font-weight: normal;
    text-indent: 9px;
    letter-spacing: -0.5px;
}

    span.switch:before {
        content: "";
        display: block;
        position: absolute;
        border: 1px solid #000000;
        width: 26px;
        height: 26px;
        top: 1px;
        right: 1px;
        border-radius: 14px;
        background: #fff;
    }

    span.switch.ready {
        background: #00bf24;
    }

    span.switch.on {
        background: #ff2424;
    }

.teacher_list {
}

    .teacher_list ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        margin: 0 -5px;
    }

        .teacher_list ul li {
            flex: 0 0 25%;
            padding-bottom: 20px;
        }

    .teacher_list .box {
        margin: 0 5px;
        padding: 8px 0;
        border: 1px solid #dcdcdc;
        border-radius: 15px;
    }

    .teacher_list .tname {
        position: relative;
        font-size: 1.7rem;
        font-weight: 500;
        margin: 10px 0;
        padding: 0 10px;
    }

        .teacher_list .tname .status {
            position: absolute;
            right: 10px;
            top: 0;
        }
    /* .teacher_list .thumb {background: url('../images/bg_thumb_01.webp') no-repeat 50% 50%; background-size: cover;} */
    .teacher_list .thumb {
        text-align: center;
    }

        .teacher_list .thumb.bg1 {
            background-image: url('../images/bg_thumb_01.webp');
        }

        .teacher_list .thumb.bg2 {
            background-image: url('../images/bg_thumb_02.webp');
        }

        .teacher_list .thumb.bg3 {
            background-image: url('../images/bg_thumb_03.webp');
        }

        .teacher_list .thumb img {
            width: 100%;
        }

    .teacher_list .tdesc {
        padding: 7px 10px;
    }

    .teacher_list .review {
        padding: 5px 10px 0;
        text-align: left;
        border-top: 1px solid #dcdcdc;
    }

@media (max-width: 768px) {
    .teacher_list ul li {
        flex: 0 0 50%;
    }

    .teacher_list .tname {
        padding-bottom: 30px;
    }

        .teacher_list .tname .status {
            top: auto;
            bottom: 0;
        }
}

.msld2 {
    overflow: hidden;
    position: relative;
    padding: 0;
}

    .msld2 .img {
        margin: 0;
    }

        .msld2 .img img {
            width: 100%;
        }

    .msld2 .swiper-slide {
    }

    .msld2 .swiper-button-prev {
        left: 0;
        margin-top: -30px;
        outline: 0;
        width: 40px;
        height: 40px;
        line-height: 40px;
        border-radius: 20px;
        border: 1px solid #dcdcdc;
        background: #ffffff;
        opacity: 0.7;
    }

    .msld2 .swiper-button-next {
        right: 0;
        margin-top: -30px;
        outline: 0;
        width: 40px;
        height: 40px;
        line-height: 40px;
        border-radius: 20px;
        border: 1px solid #dcdcdc;
        background: #ffffff;
        opacity: 0.7;
    }

        .msld2 .swiper-button-prev:after, .msld2 .swiper-button-next:after {
            font-size: 16px;
            color: #999999;
        }

    .msld2 .swiper-pagination {
    }

        .msld2 .swiper-pagination .swiper-pagination-bullet-active {
            background: #000;
        }

.taro_btn {
    padding: 20px 0;
}
