@charset "utf-8";

@media screen and (min-width: 1025px){
    .d-pc { display: none; }
}
@media screen and (min-width: 1024px){
    .d-tb { display: none; }
}
@media screen and (min-width: 587px){
    .d-mb { display: none; }
}

/* 반응형 */
@media screen and (max-width: 1480px) {
    .container { width: 95%; }
}
@media screen and (max-width: 1360px) {
    body { font-size: 1.125vw; }
    .tutor_view.top { flex-direction: column; }
    .tutor_view .tutor_box { width: 100%; align-items: stretch; }
    .tutor_view .tutor_profile { width: auto; height: 15em; }
    .tutor_view .tutor_txt { flex-grow: 1; }
}
@media screen and (max-width: 1280px) {
    body { font-size: 1.2vw; }
}
@media screen and (max-width: 1024px) {
    body { font-size: 0.9375em; overflow: hidden; }

    .hd .container { position: static !important; }
    .hd_con { height: 4em; }
    .hd_logo img { max-height: 1.625em; }
    .hd_gnb { position: absolute; right: 0; top: 0; width: 100%; height: calc(var(--vh) * 100); background-color: #fff; transform: translateX(100%); transition: var(--ts-md); }
    .hd_gnb.is-open { transform: translateX(0); }
    .hd_gnb a { padding: 0.5em 1.25em; display: inline-block; }
    .hd_gnb_list { margin-top: 4em; }
    .hd_gnb_item > a { font-size: 1.375em; font-weight: 600; }
    .hd_gnb_sub { padding: 0 1em; }
    .hd_login { position: absolute; left: 1em; top: 0; text-align: left; height: 4em; }

    .ft { text-align: center; }
    .ft_con { flex-direction: column; align-items: center; }
    .ft_fnb { margin-top: 1.5em; font-size: 1.125em; }

    .main { margin-top: 4em; padding: 4em 0 7em; }

    .sct { grid-template-columns: repeat(4,1fr); }

    .company_flex { flex-direction: column; gap: 2.5em; }
    .company_img { width: 100%; aspect-ratio: 1/0.6; max-width: 700px; }
    .company_con { width: 100%; text-align: center; }
    .company_txt p { font-size: 1.2em; }

    .ceo_con { flex-direction: column; gap: 2em; text-align: center; align-items: center; }

    .sub .tutor_list { font-size: 0.875em; }

    .sod_wrap { flex-direction: column; align-items: stretch; gap: 2em; }
    .sod_right { max-width: none; width: 100%; }

    .smb_wrap { flex-direction: column; align-items: stretch; gap: 2em; }

    .has-filter { flex-direction: column; align-items: stretch; }
    .sct_filter { max-width: none; }
    .sct_filter .filter_list { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.5em; align-items: flex-start; }
    .sct_filter .filter_item { margin-bottom: 0; }
    .sct_filter .filter_subject { padding: 0.5em; }

    .idx_recommend .recommend_item a { padding: 1.875em; }

    .gallery .post_txt { padding: 1em 1.5em;}

    .smb_ov { max-width: 100%; display: flex; flex-wrap: wrap; }
    .smb_me { width: 100%; }
    .my_ov_img { flex-grow: 0; }
    .smb_menu, .smb_private { width: 50%; }

    .problem_order .problem_box { flex-wrap: wrap; }
    .problem_order .problem_selected { width: 100%; flex-direction: row; flex-wrap: wrap; max-width: none; margin-top: 2em; }
    .problem_order .problem_item,
    .problem_order .btn_confirm { flex: 1 1 40%; }
}
@media screen and (max-width: 992px) {
    .idx { --padding: 8em; }
    .idx_quick .quick_list { flex-wrap: wrap; justify-content: center; padding: 1em 0; }
    .idx_quick .quick_item { flex-grow: 0; width: 33%; padding: 1.25em; }
    .idx_quick .quick_item:nth-child(3)::after { display: none; }

    .idx_recommend .recommend_list { grid-template-columns: repeat(2,1fr); }

    .idx_rank::after { display: none; }
    .idx_rank .flex { flex-direction: column; }
    .idx_rank .idx_title { width: 100%; text-align: center; margin-bottom: 3em; }
    .idx_rank .idx_title p { margin-top: 1.5em; }
    .idx_rank .idx_title p br { display: none; }

    .idx_faq .flex { flex-direction: column; }
    .idx_faq .idx_title { width: 100%; text-align: center; margin-bottom: 3em; }
    .idx_faq .idx_title .d-tb2 { display: none; }
    .idx_faq .faq_list { width: 100%; }

    .sub .tutor_list { font-size: 1em; grid-template-columns: repeat(1,1fr); }

    .gallery .post_list { grid-template-columns: repeat(2,1fr); }

    .sct { grid-template-columns: repeat(3,1fr); }
    #sit_ov_wrap { flex-direction: column; align-items: center; }
    #sit_pvi { width: 80%; }
    #sit_ov { width: 100%; }

    .mbship_item { padding: 1.5em 2em; }
    .mbship_box { align-items: flex-start; }
    .mbship_info { position: static; padding: 0; display: flex; justify-content: space-between; align-items: flex-end; }

    .d_sc_wrap, .tbl_head03 { overflow-x: scroll; }
    .d_sc_list, .tbl_head03 table { min-width: 1000px; }

    .basic:has(.post_list) { overflow-x: scroll; }
    .basic .post_list { min-width: 900px; }

}
@media screen and (max-width: 768px) {
    body { font-size: 2vw; }
    .container { width: 93%; }

    .idx_stats .stats_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 2em 0; }
    .idx_stats .stats_item { width: 50%; }
    .idx_stats .stats_item:nth-child(1) { width: 80%; }
    .idx_stats .stats_img { width: 5em; }

    .company_list { grid-template-columns: repeat(2,1fr); }

    .sct_filter .filter_list { grid-template-columns: repeat(2,1fr); }
    .problem_order .problem_txt { width: 100%; }
    .problem_order .problem_box { gap: 1.5em 1.5em; padding: 1.5em 2em; }
    .problem_order .problem_selected { margin-top: 0; width: auto; flex-direction: column; flex-wrap: nowrap; }
    .problem_order .problem_txt h3 { font-size: 2.75em; }

    .smb_menu, .smb_private { width: 100%; }
    .mbship_list { flex-direction: column; }
}
@media screen and (max-width: 586px) {
    body { font-size: 3vw; }

    .hd_gnb { font-size: 1.2em; }

    .idx_title h2 { font-size: 2.5em; }
    .idx_recommend .recommend_list { grid-template-columns: repeat(1,1fr); }
    .idx_recommend .recommend_item { font-size: 1.125em; }
    .idx_recommend .recommend_item a { aspect-ratio: 1/0.55; }

    .sct { grid-template-columns: repeat(2,1fr); gap: 1.5em 1em; }

    .post_box { flex-wrap: wrap; }
    .post_search { width: 100%; margin-top: 0.5em; }
    .post_search .search_bar,
    .post_search .search_input { flex-grow: 1; }
    .post_meta { flex-wrap: wrap; }

    .tutor_view.top,
    .tutor_view.btm { padding: 2em; }
    .tutor_view.top .tutor_txt { width: 100%; }
    .tutor_view .tutor_box { flex-direction: column; align-items: center; }

    .gallery .post_list { grid-template-columns: repeat(1,1fr); gap: 1.5em 1em; }

    .tab { overflow-x: scroll; }
    .tab_list { display: flex; gap: 1.5em; justify-content: flex-start; }
    .tab_item { white-space: nowrap; }

    .sct_ct .tab_list { justify-content: flex-start; }

    .my_ov_img img { width: 5em; height: auto; }
}
@media screen and (max-width: 380px) {
    body { font-size: 3.5vw; }
}
