@charset "utf-8";
/**
 * 모바일/태블릿 전용 반응형
 * - PC(1024px 이상)에는 절대 적용되지 않음
 * - 슬라이더 height:auto 사용 금지 (slick 깨짐 방지)
 */

.nav-toggle {
  display: none !important;
}

/* ===== PC 잠금: 기존 데스크탑 레이아웃 유지 ===== */
@media screen and (min-width: 1024px) {
  .nav-toggle {
    display: none !important;
  }
  .main-nav-panel {
    display: block !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .main_bg,
  .sliders,
  .stw_sliders {
    height: 635px !important;
  }
  .main_slide_wrap .slide {
    height: 635px !important;
  }
  .vc_col-sm-4 {
    float: left !important;
    width: 370px !important;
    max-width: 370px !important;
    margin-right: 20px !important;
  }
  /* PC Contact: 바깥 행만 flex 반반. 내부 래퍼/카드는 100% 강제 */
  #contact-us > .container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row > .vc_col-sm-6 {
    float: none !important;
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #contact-us .vc_col-sm-6 .vc_column-inner,
  #contact-us .vc_col-sm-6 .wpb_wrapper,
  #contact-us .wpb_gmaps_widget,
  #contact-us .wpb_gmaps_widget .wpb_wrapper,
  #contact-us .vc_row.vc_inner,
  #contact-us .vc_col-sm-12 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  #contact-us .vc_col-sm-6 .vc_column-inner,
  #contact-us .vc_col-sm-6 .wpb_wrapper,
  #contact-us .wpb_gmaps_widget,
  #contact-us .wpb_gmaps_widget .wpb_wrapper {
    height: 100% !important;
  }
  /* tel: 가로 100% / 세로는 내용만큼만 */
  #contact-us .main_contact_tel {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  #contact-us .main_contact_map {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 300px !important;
    margin: 0 !important;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  #contact-us .main_contact_map_canvas {
    height: 100% !important;
    min-height: 300px !important;
  }
  /* PC 배너 도트: 가로폭·간격 확대 (태블릿/모바일은 main_bn 기본 유지) */
  .main_slide_wrap .slick-dots li {
    width: 12px !important;
    height: 12px !important;
    margin: 0 5px !important;
  }
  .main_slide_wrap .slick-dots li.slick-active {
    width: 48px !important;
    border-radius: 6px !important;
  }
}

/* ===== 좁은 PC (1024~1200): 고정폭 레이아웃만 유동 조정, 1200+ / 태블릿은 유지 ===== */
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  body,
  body.body-main,
  body.body-index,
  #wrap,
  #wrapmain,
  #container,
  #wrapper,
  #container.main {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #services.container,
  #contact-us > .container,
  .section > .container,
  .navbar > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }

  /* 서비스: 3열 고정(370) 대신 2열 유동 → 답답함/깨짐 방지 */
  #services > .row:nth-of-type(2) {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  #services > .row:nth-of-type(2) > .vc_row.wpb_row {
    display: contents !important;
  }
  #services .vc_col-sm-4,
  .vc_col-sm-4 {
    float: none !important;
    width: calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
    margin: 0 8px 18px !important;
    box-sizing: border-box !important;
  }
  #services .vc_col-sm-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100% !important;
    max-width: 100% !important;
  }
  .wpb_wrapper .cb-container {
    height: auto !important;
    min-height: 320px;
  }

  /* Contact: 570/589 고정 → 반반 유동 (바깥 행만) */
  #contact-us > .container > .row > .vc_row.wpb_row {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 8px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row > .vc_col-sm-6 {
    float: none !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #contact-us .vc_col-sm-6 .vc_column-inner,
  #contact-us .vc_col-sm-6 .wpb_wrapper,
  #contact-us .vc_row.vc_inner,
  #contact-us .vc_col-sm-12 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  #contact-us .main_contact_tel,
  #contact-us .main_contact_map {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  #contact-us .main_contact_tel {
    display: block !important;
    height: auto !important;
    padding: 32px 24px !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .main_contact_value {
    font-size: 22px !important;
  }
  #contact-us .main_contact_map {
    height: 100% !important;
    min-height: 280px !important;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  #contact-us .main_contact_map_canvas {
    height: 100% !important;
    min-height: 280px !important;
  }

  .con_bottom,
  .footer_text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .con_bottom_box {
    margin-top: 60px;
  }
  .footer_text {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .main_slide_wrap .slide .txt_box {
    width: 80% !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 30px !important;
  }
}

/* ===== 태블릿 / 모바일 ===== */
@media screen and (max-width: 1023px) {
  body,
  body.body-main,
  body.body-index {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  #wrap,
  #wrapmain,
  #container,
  #wrapper,
  #container.main,
  .main_slide_wrap {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #wrapmain {
    min-height: 0 !important;
  }
  body.body-main section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nav-toggle {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 100001;
  }
  .nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    margin: 3px 0;
    background: #ffffff;
    border-radius: 1px;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.35);
  }
  body.is-nav-open .nav-toggle span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
  }
  body.is-nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }
  body.is-nav-open .nav-toggle span:nth-child(3) {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
  }

  .navbar > .container {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 14px;
    box-sizing: border-box;
  }
  .fixed-menu,
  .fixed-menu2 {
    height: 72px !important;
  }
  .navbar-nav {
    margin-top: 0 !important;
  }
  #logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0;
  }
  #logo .logo {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
  }
  #logo .logo img.fixed-logo {
    width: 170px !important;
    height: auto !important;
    max-width: 55vw;
    display: block;
    margin: 0;
  }
  .fixed-menu #logo,
  .fixed-menu2 #logo {
    padding-top: 0 !important;
  }

  /* Bootstrap(.navbar-collapse.collapse @768+) display:block 보다 특이도 높게 숨김 */
  .navbar-collapse.collapse.main-nav-panel {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: 0;
    right: 0;
    top: 72px;
    margin: 0;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    background: rgba(68, 64, 60, 0.98) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
    z-index: 100000;
  }
  body.is-nav-open .navbar-collapse.collapse.main-nav-panel {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    padding: 10px 0 18px !important;
  }
  .main-nav-panel .navbar-nav {
    float: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .main-nav-panel .navbar-nav > li {
    float: none !important;
    display: block;
    margin: 0;
  }
  .main-nav-panel .menu-item a,
  .main-nav-panel .menu-item a:hover,
  .main-nav-panel .menu-item a:focus,
  .main-nav-panel .menu-item a:focus-visible,
  .main-nav-panel .menu-item a:active {
    display: block;
    padding: 14px 16px;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
  }
  .main-nav-panel .menu-item a:hover,
  .main-nav-panel .menu-item a:focus {
    color: #f79f2f !important;
  }

  /* 슬라이더: 고정 높이만 사용 */
  .main_bg,
  .sliders,
  .stw_sliders {
    height: 480px !important;
    min-height: 0 !important;
  }
  .main_slide_wrap .slide {
    height: 480px !important;
  }
  .main_slide_wrap .slide .txt_box {
    width: 88% !important;
    left: 50%;
    padding: 0 12px;
    box-sizing: border-box;
  }
  /* 태블릿에서도 1·2번만 약간 아래로 */
  .main_slide_wrap .slide.visual-01 .txt_box,
  .main_slide_wrap .slide.visual-02 .txt_box {
    top: 52% !important;
    -webkit-transform: translate(-50%, -45%) !important;
    transform: translate(-50%, -45%) !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 26px !important;
    line-height: 1.35 !important;
  }
  .main_slide_wrap .slide .txt_box p.main_txt {
    font-size: 15px !important;
  }
  .main_slide_wrap .slide .txt_box span.btext {
    font-size: 36px !important;
  }
  .main_slide_wrap .slide .txt_box a {
    margin-top: 16px;
    font-size: 14px;
  }
  .main_slide_wrap .slide.slide_trust .trust_title {
    font-size: 26px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_sub,
  .main_slide_wrap .slide.slide_trust .trust_lines li {
    font-size: 16px !important;
  }
  .main_slide_wrap .slick-arrow {
    width: 28px;
    height: 44px;
  }
  .main_slide_wrap .slide_trust_stars {
    width: 65%;
  }

  #services.container,
  #contact-us > .container,
  .section > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
  body.body-main section.section {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
  }
  #services.container,
  #contact-us > .container,
  body.body-main .section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #services {
    padding-top: 90px !important;
    padding-bottom: 48px !important;
  }
  .section-heading {
    font-size: 32px !important;
  }
  .vc_row.wpb_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .vc_col-sm-6,
  .vc_col-sm-12 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    box-sizing: border-box !important;
  }
  /* Contact 공통(≤1023): 열은 기본 100%. 2열은 768~1023에서만 */
  #contact-us .vc_col-sm-6 .vc_column-inner,
  #contact-us .vc_col-sm-6 .wpb_wrapper,
  #contact-us .wpb_gmaps_widget,
  #contact-us .wpb_gmaps_widget .wpb_wrapper {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .wpb_wrapper .cb-container {
    height: auto !important;
    padding: 32px 18px !important;
  }
  .cb-text-area p br {
    display: none;
  }
  .cb-text-area p {
    line-height: 1.7;
  }

  #contact-us.section {
    padding-top: 80px !important;
  }
  #contact-us .section-subheading {
    font-size: 22px !important;
    letter-spacing: -1px !important;
    margin-bottom: 16px !important;
  }
  #contact-us .section-subheading + .section-subheading {
    font-size: 15px !important;
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row > .vc_col-sm-6 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    box-sizing: border-box !important;
  }
  #contact-us .main_contact_tel,
  #contact-us .main_contact_map {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin: 0 !important;
    box-sizing: border-box;
  }
  #contact-us .main_contact_tel {
    display: block !important;
    padding: 28px 24px !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .main_tel_text {
    font-size: 18px !important;
    letter-spacing: -1px !important;
    line-height: 1.45;
    margin-bottom: 18px !important;
  }
  .main_contact_item {
    padding: 14px 14px;
    gap: 14px;
  }
  .main_contact_icon {
    -ms-flex: 0 0 46px;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    font-size: 18px;
  }
  .main_contact_value {
    font-size: 20px !important;
  }
  .main_contact_map {
    min-height: 280px !important;
    height: auto !important;
    padding: 0 !important;
    line-height: normal;
    overflow: hidden;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  .main_contact_map iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border: 0;
  }
  .main_contact_map_link {
    font-size: 11px;
    padding: 7px 10px;
  }
  .main_contact_map_canvas,
  .sejong-map-key-msg {
    min-height: 280px !important;
    height: 280px !important;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  .sejong-map-api-label {
    font-size: 12px;
    padding: 6px 10px;
  }
  #contact-us .wpb_gmaps_widget .wpb_wrapper {
    padding: 0 !important;
    height: auto !important;
    border: none !important;
  }

  .con_bottom {
    width: 100% !important;
    max-width: 100%;
  }
  .con_bottom_box {
    margin-top: 48px;
    height: 240px;
    background-position: center center;
  }
  .con_bottom_title {
    font-size: 20px;
    white-space: nowrap;
    line-height: 1.4;
    padding: 0 16px;
  }
  .con_bottom_btn {
    min-width: 150px;
    padding: 12px 28px;
    font-size: 16px;
  }
  .footer_text {
    width: 100% !important;
    max-width: 100%;
    padding: 28px 16px;
    box-sizing: border-box;
    line-height: 1.6;
    word-break: keep-all;
    font-size: 12px;
  }
}

/* ===== 태블릿 전용: 서비스 2-2-2 + Contact 2열 ===== */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #services > .row:nth-of-type(2) {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }
  #services > .row:nth-of-type(2) > .vc_row.wpb_row {
    display: contents !important;
  }
  #services .vc_col-sm-4,
  .vc_col-sm-4 {
    float: none !important;
    width: 48% !important;
    max-width: 48% !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 48%;
    flex: 0 0 48%;
    margin: 0 1% 16px !important;
    box-sizing: border-box !important;
  }
  #services .vc_col-sm-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
  }

  /* Contact: 태블릿만 좌우 2열 */
  #contact-us > .container > .row > .vc_row.wpb_row {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    gap: 16px;
  }
  #contact-us > .container > .row > .vc_row.wpb_row > .vc_col-sm-6,
  #contact-us .vc_col-sm-6 {
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin: 0 !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* ===== 모바일 ===== */
@media screen and (max-width: 767px) {
  .fixed-menu,
  .fixed-menu2 {
    height: 64px !important;
  }
  .navbar-collapse.collapse.main-nav-panel {
    top: 64px !important;
  }
  #logo .logo img.fixed-logo {
    width: 148px !important;
  }
  .main_bg,
  .sliders,
  .stw_sliders,
  .main_slide_wrap .slide {
    height: 400px !important;
  }
  .main_slide_wrap .slide .txt_box {
    width: 92% !important;
  }
  /* 1·2번 슬라이드 텍스트를 조금 아래로 (중앙 쪽) */
  .main_slide_wrap .slide.visual-01 .txt_box,
  .main_slide_wrap .slide.visual-02 .txt_box {
    top: 54% !important;
    -webkit-transform: translate(-50%, -42%) !important;
    transform: translate(-50%, -42%) !important;
  }
  .main_slide_wrap .slide.visual-01 .txt_box p.main_txt,
  .main_slide_wrap .slide.visual-02 .txt_box p.main_txt {
    margin-bottom: 0 !important;
  }
  .main_slide_wrap .slide.visual-01 .txt_box a,
  .main_slide_wrap .slide.visual-02 .txt_box a {
    margin-top: 14px !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 20px !important;
  }
  .main_slide_wrap .slide .txt_box span.btext {
    font-size: 30px !important;
  }
  .main_slide_wrap .slide .txt_box p.main_txt {
    font-size: 13px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_title {
    font-size: 20px !important;
  }
  .main_slide_wrap .slide.slide_trust .trust_sub,
  .main_slide_wrap .slide.slide_trust .trust_lines li {
    font-size: 13px !important;
    line-height: 1.45;
  }
  .main_slide_wrap .slick-arrow {
    display: none !important;
  }
  .main_slide_wrap .slide_trust_stars {
    width: 100%;
  }
  .section-heading {
    font-size: 26px !important;
  }
  /* 본문(서비스/컨택트 등) 좌우 여백 — 헤더·배너·푸터 제외 */
  body.body-main section.section {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  #services.container,
  #contact-us > .container,
  body.body-main .section > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .vc_col-sm-4,
  #services .vc_col-sm-4,
  .vc_col-sm-6 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin: 0 0 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  /* 서비스 카드: 흰색 영역 자체가 좌우로 들어오게 (모바일만) */
  #services .vc_col-sm-4 {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    -ms-flex: none !important;
    flex: none !important;
    margin: 0 12px 14px !important;
  }
  #services .wpb_wrapper .cb-container {
    padding: 28px 24px !important;
  }
  #services > .row:nth-of-type(2) {
    display: block !important;
  }
  #services > .row:nth-of-type(2) > .vc_row.wpb_row {
    display: block !important;
  }
  .main_contact_tel,
  .main_contact_map {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 12px 14px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  /* 모바일 Contact: 위아래 1열 (태블릿 2열보다 선택자 강도 맞춤) */
  #contact-us > .container > .row > .vc_row.wpb_row,
  #contact-us .vc_row.wpb_row {
    display: block !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  #contact-us > .container > .row > .vc_row.wpb_row > .vc_col-sm-6,
  #contact-us .vc_col-sm-6 {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
  }
  .main_contact_tel {
    padding: 24px 18px !important;
    min-height: 0 !important;
    border-radius: 12px;
  }
  .main_tel_text {
    font-size: 16px !important;
    margin-bottom: 14px !important;
  }
  .main_tel_text .mo-br {
    display: inline;
  }
  .main_contact_list > li + li {
    margin-top: 10px;
  }
  .main_contact_item {
    padding: 14px 14px;
    gap: 12px;
    border-radius: 10px;
  }
  .main_contact_icon {
    -ms-flex: 0 0 42px;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    font-size: 16px;
  }
  .main_contact_icon svg {
    width: 18px;
    height: 18px;
  }
  .main_contact_label {
    font-size: 11px;
  }
  .main_contact_value {
    font-size: 18px !important;
  }
  #contact-us .main_contact_map {
    padding: 0 !important;
    line-height: 0;
    overflow: hidden;
    border-radius: 12px;
    min-height: 0 !important;
    height: 260px !important;
  }
  #contact-us .main_contact_map iframe {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border: 0;
  }
  #contact-us .main_contact_map_link {
    right: 10px;
    bottom: 10px;
  }
  #contact-us .main_contact_map_canvas,
  #contact-us .sejong-map-key-msg {
    min-height: 260px !important;
    height: 260px !important;
  }
  #contact-us .sejong-map-api-label {
    font-size: 12px;
    padding: 6px 9px;
  }
  #contact-us .wpb_gmaps_widget,
  #contact-us .wpb_gmaps_widget .wpb_wrapper {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border: none !important;
  }
  #contact-us .vc_col-sm-6 .vc_column-inner,
  #contact-us .vc_col-sm-6 .wpb_wrapper {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
  }
  #contact-us.section {
    padding-bottom: 16px !important;
  }
  h4.cb-heading {
    font-size: 18px;
    margin-top: 18px;
  }
  .cb-text-area p {
    font-size: 14px;
  }
  .con_bottom_box {
    height: 210px;
    margin-top: 16px;
  }
  .con_bottom_title {
    font-size: 18px;
    margin-bottom: 14px;
    white-space: nowrap;
    line-height: 1.45;
  }
  .footer_text {
    font-size: 11px !important;
    line-height: 1.7 !important;
    padding: 24px 14px !important;
  }
  #contact-us .section-subheading {
    font-size: 18px !important;
  }
}

@media screen and (max-width: 480px) {
  .main_bg,
  .sliders,
  .stw_sliders,
  .main_slide_wrap .slide {
    height: 360px !important;
  }
  .main_slide_wrap .slide .txt_box h2.main_h2 {
    font-size: 17px !important;
  }
  .wpb_wrapper .cb-container {
    padding: 26px 14px !important;
  }
  #services .wpb_wrapper .cb-container {
    padding: 26px 24px !important;
  }
  .con_bottom_btn {
    min-width: 136px;
    padding: 11px 22px;
    font-size: 15px;
  }
}

/* 모바일 전용 배너 이미지 (태블릿/PC는 기존 유지) */
@media screen and (max-width: 767px) {
  .main_slide_wrap .slide.visual-01 {
    background-image: url('/files/images/m_main_visual01.png') !important;
  }
  .main_slide_wrap .slide.visual-02 {
    background-image: url('/files/images/m_main_visual02.png') !important;
  }
  .main_slide_wrap .slide.visual-03 {
    background-image: url('/files/images/m_main_visual03.png') !important;
  }
}
