@media (max-width: 1280px) {
    .container:not(.type03):not(.type04),
    #footer .footer_inner {
        padding-left: 20px;
        padding-right: 20px;
    }

    #pc_nav .floor1 {
        gap: 28px;
    }

    .main_visual_block .mv_tit h2 {
        font-size: 52px;
    }

    .care_diff_list ul li .txt h3 {
        font-size: 26px;
    }

    .care_diff_list ul li .txt p {
        font-size: 20px;
    }

    #reserv_area .rsv_container{
        gap: 10px;
    }

    #reserv_area .left,
    #reserv_area .right{
        width: calc(50% - 10px);
    }
}

@media (max-width: 1024px) {
    :root {
        --header-height: 65px;
    }

    .container.type03 {
        padding-left: 20px;
        padding-right: 20px;
    }

    #header {
        height: 65px;
    }

    #header .header_logo h1 a img {
        height: 30px;
    }

    #pc_nav {
        display: none;
    }

    .btn_mobile_menu {
        display: flex;
    }

    .mobile_nav {
        top: 65px;
    }

    .mobile_nav.is_open {
        max-height: calc(100vh - 65px);
    }

    .mob_dim {
        top: 65px;
        height: calc(100vh - 65px);
    }

    .sec_type01,
    .sec_type02,
    .sec_banner,
    #main_section12,
    #map {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .main_visual_block {
        padding-top: 65px;
    }

    .main_visual_block .mv_txt h2 {
        font-size: 44px;
    }

    .main_visual_block.mv_in .mv_txt p {
        font-size: 18px;
    }

    .sec_txt.mb02{
        margin-bottom: 40px;
    }

    .sec_txt p.type01{
        margin-top: 12px;
    }

    .sec_tit.type02 {
        margin-bottom: 40px;
    }

    .sec_tit h2,
    .sec_txt h2 {
        font-size: 36px;
    }

    .sec_tit p,
    .sec_txt p,
    .exImg_list ul li .ba_label {
        font-size: 18px;
    }

    .sec_tit p {
        margin-top: 12px;
    }

    .surgery_target_imgList ul {
        gap: 40px 20px;
        justify-content: flex-start;
    }

    .surgery_target_imgList ul li {
        width: calc((100% - 20px) / 2);
    }

    .surgery_target_imgList ul li p {
        margin-top: 18px;
        font-size: 18px;
    }

    .surgery_stage_desc{
        padding: 40px 20px;
    }

    .surgery_stage_desc ul li {
        gap: 40px;
    }

    .surgery_stage_desc ul li figure {
        width: 100%;
    }

    .surgery_stage_desc ul li .stage_txt h3 {
        font-size: 26px;
    }

    .surgery_stage_care p{
        font-size: 18px;
    }

    .compare_table td,
    .compare_table .cell_label {
        font-size: 18px;
    }

    .compare_table thead th {
        font-size: 22px;
    }

    .suture_system_block .suture_sys_list h3 {
        font-size: 24px;
    }

    .suture_system_block .suture_sys_list p {
        font-size: 18px;
    }

    .half_sec01 .right {
        padding-left: 60px;
    }

    .tabMenu_type01 .tab_nav {
        margin-bottom: 40px;
    }

    .tabMenu_type01 .tab_btn {
        font-size: 18px;
    }

    .tabMenu_type01 .tab_panel .tab_txt p {
        font-size: 18px;
    }

    .tabMenu_type01 .card_head h3 {
        font-size: 22px;
    }

    .tabMenu_type01 .tab_card ul li {
        font-size: 18px;
    }

    .emergency_banner {
        gap: 40px;
        padding: 40px 24px;
    }

    .emergency_banner h2 {
        font-size: 24px;
    }

    .emergency_banner p {
        font-size: 14px;
    }

    .emergency_banner .btn_call {
        font-size: 16px;
    }

    .care_diff_list ul li .txt h3 {
        font-size: 24px;
    }

    .care_diff_list ul li .txt p {
        font-size: 18px;
    }

    .care_method_list_area ul li .txt h3 {
        font-size: 28px;
    }

    .care_method_list_area ul li .txt p {
        font-size: 18px;
    }

    .scar_surgery_area{
        gap: 20px;
    }

    .scar_surgery_area .txt h2 {
        font-size: 36px;
    }

    .scar_surgery_area .txt p {
        font-size: 18px;
    }

    .scar_surgery_area .txt .btn_more {
        font-size: 18px;
    }

    .scar_care_graph{
        padding: 20px;
    }

    .scar_cure_method_area{
        flex-direction: column;
        padding: 40px 20px;
    }

    .scar_cure_method_area .img{
        width: 100%;
    }

    .scar_cure_method_area .desc{
        padding-left: 0;
        margin-top: 24px;
    }

    .scar_cure_method_area .desc h3 {
        font-size: 28px;
    }

    .scar_cure_method_area .desc p {
        font-size: 18px;
    }

    #director .right {
        padding-left: 40px;
    }

    #director .right .role,
    #director .right .name .title {
        font-size: 18px;
    }

    #director .right .name .kor {
        font-size: 36px;
    }

    #director .right .career_main li,
    #director .right .career_sub li {
        font-size: 18px;
    }

    #director .director_article {
        padding: 40px 20px;
    }

    #director .article_title {
        text-align: left;
        font-size: 28px;
    }

    #director .article_thumbs{
        padding: 0;
        flex-wrap: wrap;
        gap: 10px;
    }

    #director .article_thumbs li{
        width: calc(50% - 5px);
    }

    #map .container {
        height: auto;
    }

    #map .map_area {
        flex-direction: column;
        gap: 40px;
    }

    #map .map_left,
    #map .map_right {
        width: 100%;
        height: auto;
    }

    #map .map_right{
        padding: 0;
    }

    #map .info_title {
        font-size: 28px;
    }

    #map .hours_list .day,
    #map .hours_list .time {
        font-size: 16px;
    }

    #map .address,
    #map .route,
    #map .parking {
        font-size: 16px;
    }

    #footer .top {
        flex-direction: column;
        gap: 32px;
    }

    #footer .right .floor1 {
        flex-wrap: wrap;
        gap: 32px 48px;
    }
}

@media (max-width: 864px) {
    br.br_864 {
        display: inline;
    }

    .main_visual_block .mv_txt h2 {
        font-size: 36px;
    }

    .main_visual_block.mv_in .mv_txt p {
        font-size: 16px;
    }

    .tabMenu_type01 .tab_btn {
        font-size: 14px;
        min-width: 140px;
    }

    .tabMenu_type01 .tab_panel {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tabMenu_type01 .tab_panel .tab_txt{
        padding: 12px 0 0 0;
    }

    .tabMenu_type01 .tab_panel .tab_txt p {
        font-size: 16px;
    }

    .tabMenu_type01 .tab_card {
        width: 100%;
        padding: 28px 20px;
    }

    .tabMenu_type01 .card_head h3 {
        font-size: 18px;
    }

    .tabMenu_type01 .tab_card ul li {
        font-size: 14px;
    }

    .emergency_banner {
        flex-direction: column;
        align-items: flex-start;
    }

    .emergency_banner .right{
        width: 100%;
    }

    .emergency_banner .btn_call {
        width: 100%;
        min-width: auto;
    }

    .care_diff_list ul{
        gap: 12px;
    }

    .care_diff_list ul li {
        flex-direction: column;
        min-height: auto;
    }

    .care_diff_list ul li .ico {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
        align-self: auto;
        padding: 20px;
    }

    .care_diff_list ul li .ico img{
        width: auto;
        height: 60px;
    }

    .care_diff_list ul li .txt{
        padding: 20px;
    }

    .care_diff_list ul li .txt h3 {
        font-size: 20px;
    }

    .care_diff_list ul li .txt p {
        font-size: 14px;
    }

    .care_method_list_area ul li .txt h3 {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .care_method_list_area ul li .txt p {
        font-size: 14px;
    }

    .scar_surgery_area .txt p {
        font-size: 14px;
    }

    .scar_surgery_area .txt .btn_more {
        font-size: 14px;
    }

    .scar_cure_method_area .desc h3 {
        font-size: 20px;
    }

    .scar_cure_method_area .desc p {
        font-size: 14px;
    }

    #director .director_portrait {
        flex-direction: column;
        gap: 40px;
    }

    #director .left,
    #director .right {
        width: 100%;
    }

    #director .right {
        padding: 0;
    }

    #director .right .role,
    #director .right .name .title {
        font-size: 16px;
    }

    #director .right .name .kor {
        font-size: 28px;
    }

    #director .right .career_main,
    #director .right .career_sub {
        margin-top: 20px;
    }

    #director .right .career_main li,
    #director .right .career_sub li {
        font-size: 14px;
    }

    #director .article_title {
        font-size: 24px;
    }

    #director .article_list li {
        font-size: 14px;
    }

    #map .info_block,
    #map .info_block:last-child {
        padding: 40px 0;
    }

    #map .info_title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    #map .hours_list .day,
    #map .hours_list .time {
        font-size: 14px;
    }

    #map .hours_list .note{
        font-size: 14px;
    }

    #map .address,
    #map .route,
    #map .parking {
        font-size: 14px;
    }

    #reserv_area .rsv_container{
        flex-direction: column;
        gap: 60px;
    }

    #reserv_area .left{
        gap: 40px;
    }

    #reserv_area .left,
    #reserv_area .right{
        width: 100%;
    }

    #reserv_area .right{
        position: static;
        max-height: max-content;
        overscroll-behavior: unset;
        overflow: visible;
    }

    #reserv_area .rsv_summary{
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 60px;
        padding-right: 60px;
    }

    #reserv_area .rsv_summary{
        padding: 0;
    }

    #reserv_area .summary_block:nth-last-of-type(2)::after{
        display: none;
    }

    #reserv_area .summary_block{
        padding: 24px 20px;
    }

    #reserv_area .summary_block::after{
        width: 100vw;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }

    #reserv_area .summary_block:first-child{
        padding-top: 24px;
    }

    #reserv_area .summary_dl .dt,
    #reserv_area .summary_dl .dd{
        font-size: 14px;
    }

    #reserv_area .rdo .rdo_txt{
        font-size: 14px;
    }

    #reserv_area .input_group{
        gap: 8px;
    }

    #reserv_area .rsv_input{
        font-size: 14px;
        padding: 16px;
    }

    #reserv_area .agree_group{
        gap: 10px;
    }

    #reserv_area .rsv_submit{
        margin-top: 0;
        font-size: 16px;
        padding: 10px 24px;
        border-radius: 5px;
    }

    #reserv_area .rsv_submit_btn{
        padding: 4px 20px 40px 20px;
    }

    #reserv_area .rsv_tit{
        font-size: 20px;
        margin-bottom: 20px;
    }

    #reserv_area .rsv_label{
        font-size: 18px;
        margin-bottom: 12px;
    }

    #reserv_area .rsv_field + .rsv_field{
        margin-top: 20px;
    }

    #reserv_area .chk .chk_box{
        width: 20px;
        height: 20px;
    }

    #reserv_area .chk .chk_box::after{
        width: 4px;
    }

    #reserv_area .chk .chk_txt{
        font-size: 14px;
    }

    #reserv_area .calendar{
        width: 100%;
        max-width: 568px;
        margin: 0 auto;
    }

    #reserv_area .calendar *{
        font-size: 16px;
    }

    #reserv_area .calendar .cal_head{
        margin-bottom: 20px;
    }

    #reserv_area .cal_title{
        font-size: 16px;
    }

    #reserv_area .time_field .rsv_label{
        margin-bottom: 8px;
    }

    #reserv_area .time_group{
        gap: 8px 5px;
    }

    #reserv_area .time_slot{
        font-size: 16px;
        padding: 10px;
        border-radius: 5px;
    }

    #reserv_area .agree_detail{
        font-size: 14px;
    }


    #reserv_area .rsv_step:not(:has(.time_field)){
        padding-bottom: 40px;
    }
}

@media (max-width: 850px) {
    .container.type04 {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 768px) {
    br.br_pc {
        display: none;
    }

    br.br_768 {
        display: inline;
    }

    .sec_type01,
    .sec_type02,
    .sec_banner,
    #main_section12,
    #map {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .main_visual_block{
        align-items: flex-end;
    }

    .main_visual_block.mv_type02{
        align-items: center;
    }

    .main_visual_block.mv_type02 .mv_inner{
        margin-bottom: 0;
    }

    .main_visual_block .mv_tit h2 {
        font-size: 36px;
    }

    .main_visual_block .mv_tit p {
        font-size: 16px;
    }

    .main_visual_block .mv_inner{
        margin-bottom: 19vh;
    }

    .main_visual_block .mv_txt h2 {
        font-size: 30px;
    }

    .main_visual_block.mv_in .mv_txt p {
        font-size: 14px;
    }

    .main_section {
        padding: 90px 0;
    }

    .main_section .sec_tit h2 {
        font-size: 30px;
    }

    .sub_section {
        padding: 80px 0;
    }

    #sub_visual .sub_visual_tit h2 {
        font-size: 32px;
    }

    .sec_tit p.mt_type02, .sec_txt p.mt_type02{
        margin-top: 8px;
    }

    .sec_tit p.mt_type03, .sec_txt p.mt_type03{
        margin-top: 12px;
    }

    .sec_tit h2,
    .sec_txt h2 {
        font-size: 24px;
    }

    .sec_tit p,
    .sec_txt p,
    .exImg_list ul li .ba_label {
        font-size: 14px;
    }

    .surgery_target_imgList ul{
        gap: 8px;
    }

    .surgery_target_imgList ul li p{
        margin-top: 0;
        width: 100%;
        padding: 8px 16px;
        font-size: 14px;
    }

    .surgery_stage_desc {
        margin-top: 48px;
    }

    .surgery_stage_desc ul {
        gap: 40px;
    }

    .surgery_stage_desc ul li {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .surgery_stage_desc ul li .stage_txt {
        width: 100%;
        gap: 12px;
    }

    .surgery_stage_desc ul li .stage_txt h3 {
        font-size: 22px;
    }

    .surgery_stage_desc ul li .stage_txt p br {
        display: none;
    }

    .surgery_stage_desc ul li .stage_txt p {
        font-size: 16px;
        margin-top: 0;
    }

    .surgery_stage_desc ul li .stage_txt p.stage_target {
        font-size: 16px;
        margin-top: 0;
    }

    .surgery_stage_txt_area ul li {
        flex-direction: column;
        padding: 18px 12px;
        text-align: center;
    }

    .surgery_stage_txt_area ul li .stage_time {
        width: auto;
        margin-bottom: 8px;
        font-size: 18px;
    }

    .surgery_stage_txt_area ul li .stage_desc {
        font-size: 15px;
    }

    .compare_table td,
    .compare_table .cell_label {
        font-size: 16px;
        padding: 16px 14px;
    }

    .compare_table thead th {
        font-size: 20px;
        padding: 22px 14px;
    }

    .compare_table .info_tip_box {
        font-size: 14px;
    }

    .suture_system_block .left,
    .suture_system_block .right {
        width: 100%;
    }

    .suture_system_block .left {
        padding-right: 0;
    }

    .suture_system_block .right {
        margin-top: 40px;
    }

    .suture_system_block .suture_sys_list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 32px 20px;
    }

    .suture_system_block .suture_sys_list h3 {
        font-size: 22px;
    }

    .suture_system_block .suture_sys_list p {
        font-size: 16px;
    }

    .tabMenu_type01 .tab_panel .tab_txt p {
        font-size: 14px;
    }

    .care_diff_list ul li {
    }

    .care_diff_list ul li .txt {
    }

    .care_diff_list ul li .txt p br {
        display: none;
    }

    .care_method_list_area ul{
        gap: 40px;
    }

    .care_method_list_area ul li {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .care_method_list_area ul li .img,
    .care_method_list_area ul li .txt {
        width: 100%;
    }

    .care_method_list_area ul li .txt {
        padding: 0;
        gap: 8px;
    }

    .scar_surgery_area .txt h2 {
        font-size: 24px;
    }

    .yt_link{
        margin: 20px auto 40px auto;
        width: 240px;
        max-width: 100%;
    }

    .yt_link a{
        font-size: 14px;
        justify-content: space-between;
        border-radius: 5px;
        padding: 12px 24px;
    }

    #director .article_title {
        font-size: 20px;
    }

    #map .hours_list {
        grid-template-columns: 1fr;
        row-gap: 12px;
    }

    #request .container {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    #request .txt_area h2 {
        font-size: 28px;
    }

    #footer{
        padding: 60px 0;
    }

    #footer .bot {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    #footer .footer_inner{
        flex-direction: column;
    }

    #footer .footer_info li{
        font-size: 14px;
    }

    #footer .footer_policy{
        flex-direction: row;
        gap: 12px;
    }

    #footer .footer_policy li a{
        font-size: 14px;
    }

    .btn_emergency_fixed{
        font-size: 16px;
        font-weight: 600;
        padding: 8px 16px;
        line-height: 1.5;
    }

    #reserv_area{
        padding-bottom: 0;
    }
}

@media (max-width: 640px) {
    br.br_640 {
        display: inline;
    }

    .exImg_list ul {
        gap: 12px 0;
    }

    .exImg_list ul li {
        width: 100%;
    }

    #sub_beforeAfter .exImg_list ul li {
        width: 50%;
    }

    .compare_table td,
    .compare_table .cell_label {
        font-size: 14px;
        padding: 16px 10px;
    }

    .compare_table thead th {
        font-size: 18px;
        padding: 20px 10px;
    }

    #main_section04 {
        padding: 0;
    }

    #main_section04 .container > * {
        display: none;
    }

    #main_section04 .container .mo_suture_detail {
        display: block;
    }

    .suture_system_block .suture_sys_list h3 {
        font-size: 20px;
    }

    .suture_system_block .suture_sys_list p {
        font-size: 14px;
    }

    .half_sec01 {
        flex-direction: column;
        gap: 40px;
    }

    .half_sec01 .left,
    .half_sec01 .right {
        width: 100%;
    }

    .half_sec01 .right {
        padding: 0;
    }

    .scar_surgery_area{
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .scar_surgery_area .txt,
    .scar_surgery_area .img{
        width: 100%;
    }

    .scar_surgery_area .txt h2{
        margin-bottom: 12px;
    }

    .scar_surgery_area .txt .btn_more{
        margin-top: 20px;
        border-radius: 5px;
    }

    .scar_care_graph {
        padding: 0;
        background: transparent;
    }

    .scar_care_graph > img:not(.scar_graph_img_mo) {
        display: none;
    }

    .scar_care_graph .scar_graph_img_mo {
        display: block;
    }
}

@media (max-width: 568px) {
    .sub01_visual .mv_bg img {
        object-position: left 65% top 0;
    }

    #reserv_area .chk_group{
        gap: 20px 24px;
    }

    #reserv_area .rsv_field .chk{
        width: calc(50% - 12px);
    }
}

@media (max-width: 480px) {
    .main_visual_block .mv_tit h2 {
        font-size: 30px;
    }

    .compare_table .info_tip_box {
        width: max-content;
        max-width: 78vw;
        padding: 12px 16px;
        font-size: 14px;
        white-space: normal;
    }

    #footer .right .floor1 {
        gap: 24px 32px;
    }
}
