@charset "utf-8";

/* 색 설정 */
:root {
    --main-color: #11423f;
    --dark-green: #0c3736;
    --deep-bg: #0d322f;
    --gold: #c9a96a;
    --tan: #bda485;
    --ink: #142927;
    --accent-green: #1f7a5c;
    --black-color : #222;
    --white-color : #fff;
}

/* 스크롤 커스텀 */
html::-webkit-scrollbar {width: 8px;}
html::-webkit-scrollbar-thumb {background-color: var(--main-color); border-radius: 10px;}

/* 드래그 블록 커스텀 */
::selection { background-color:var(--main-color); color:#fff; }


/* default */
*{
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color : inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Pretendard', sans-serif; font-weight:500; font-size: 16px; letter-spacing: -0.04em; color:#222; }
section{ display:block; }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration: none; color: inherit;  }
button{ font-family:inherit; letter-spacing:inherit; border:0; background:none; cursor:pointer; padding:0; }

.inner{ width:1200px; margin:0 auto;  }

.paging_box{ margin-top: 20px; padding:10px 0; display:flex; align-items: center; justify-content: center; }
.paging_box .pg_page{ background-color:#FFF; border:1px solid #e6e6e6; }
.paging_box .pg_current{ background-color: #0F1C2E; color:#fff; border:1px solid #0F1C2E; }

select{
    -webkit-appearance: none; -moz-appearance: none;  appearance: none;
    background: url('../../img/seoul/common/select-icon.png') no-repeat 98% 50% #fff;
}
select::-ms-expand{ display:none; }
p{ word-break: keep-all; }

/* 모바일 전용 줄바꿈 (650 이하에서만 표시) */
br.mo{ display:none; }

/* 등장 애니메이션 (animation.css 키프레임 사용) */
.ani{ opacity:0; }
.ani.on{ animation: fadeIn .8s ease-out forwards; }
.ani.leftIn.on{ animation-name: fadeInLeft; }
.ani.delay1.on{ animation-delay:.15s; }
.ani.delay2.on{ animation-delay:.3s; }
.ani.delay3.on{ animation-delay:.45s; }

/* ---------------------------------------------------------
   공통 : 섹션 라벨/타이틀
--------------------------------------------------------- */
.sec_label{ display:block; font-size:20px; font-weight:800; color:#fff; letter-spacing:-0.05em; }
.sec_label.gold{ color:var(--gold); }
.sec_label_box{ text-align:center; }
.sec_label_box .sec_tit{ margin-top:8px; font-size:42px; font-weight:400; color:#fff; letter-spacing:-0.02em; line-height:1.3; }
.sec_label_box .sec_tit b{ font-weight:800; }

/* ---------------------------------------------------------
   헤더
--------------------------------------------------------- */
header{ position:fixed; top:0; left:0; width:100%; z-index:100; background:#fff; box-shadow:5px 9px 14px rgba(0,0,0,0.06); }
header .inner{ display:flex; align-items:center; height:82px; }
.logo_box a{ display:flex; align-items:center; gap:10px; }
.logo_box img{ width:120px; display:block; }
.logo_desc{ font-size:13px; font-weight:700; color:rgba(17,66,63,0.6); letter-spacing:-0.02em; padding-top:4px; }
header .gnb{ display:flex; align-items:center; gap:56px; margin-left:auto; }
header .gnb a{ font-size:18px; font-weight:800; color:#222; letter-spacing:-0.02em; transition:color .3s; }
header .gnb a:hover{ color:var(--main-color); }
.header_tel{ display:flex; align-items:center; justify-content:center; gap:9px; margin-left:66px; min-width:188px; height:38px; padding:0 18px; background:var(--main-color); border:1px solid var(--gold); border-radius:100px; }
.header_tel img{ width:15px; display:block; }
.header_tel span{ font-size:20px; font-weight:800; color:#fff; letter-spacing:-0.02em; }

/* 모바일 햄버거 + 드로어 메뉴 */
.hamburger_btn{ display:none; flex-direction:column; justify-content:center; align-items:center; gap:6px; width:36px; height:36px; margin-left:16px; }
.hamburger_btn span{ display:block; width:24px; height:2px; background:#222; border-radius:2px; }
.mm_overlay{ position:fixed; inset:0; z-index:115; background:rgba(0,0,0,0.5); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
.mobile_menu{ position:fixed; top:0; right:0; z-index:120; width:280px; max-width:82vw; height:100%; background:var(--deep-bg); padding:76px 30px 40px; transform:translateX(100%); transition:transform .35s ease; display:flex; flex-direction:column; }
.mm_close{ position:absolute; top:20px; right:20px; width:32px; height:32px; }
.mm_close::before, .mm_close::after{ content:''; position:absolute; left:50%; top:50%; width:22px; height:2px; background:#fff; }
.mm_close::before{ transform:translate(-50%,-50%) rotate(45deg); }
.mm_close::after{ transform:translate(-50%,-50%) rotate(-45deg); }
.mobile_menu nav{ display:flex; flex-direction:column; }
.mobile_menu nav a{ padding:16px 2px; font-size:18px; font-weight:700; color:#fff; letter-spacing:-0.02em; border-bottom:1px solid rgba(255,255,255,0.12); }
.mm_tel{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:32px; height:44px; border:1px solid var(--gold); border-radius:100px; }
.mm_tel img{ width:15px; display:block; }
.mm_tel span{ font-size:18px; font-weight:800; color:#fff; letter-spacing:-0.02em; }
body.mm_open .mobile_menu{ transform:translateX(0); }
body.mm_open .mm_overlay{ opacity:1; visibility:visible; }

/* ---------------------------------------------------------
   퀵메뉴
--------------------------------------------------------- */
.quick_menu{ position:fixed; right:30px; bottom:30px; z-index:90; display:flex; flex-direction:column; gap:20px; }
.quick_item{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:66px; height:66px; border-radius:50%; background:url('../../img/seoul/main/quick-circle.svg') no-repeat center / contain; transition:transform .3s; }
.quick_item:hover{ transform:translateY(-3px); }
.qi_icon{ display:block; width:20px; height:20px; background:no-repeat center / contain; }
.qi_icon.home{ background-image:url('../../img/seoul/main/quick-home.svg'); width:18px; height:18px; }
.qi_icon.naver{ background-image:url('../../img/seoul/main/quick-naver.png'); width:19px; height:22px; }
.qi_icon.talktalk{ background-image:url('../../img/seoul/main/quick-talktalk.png'); width:20px; height:22px; }
.qi_icon.kakao{ background-image:url('../../img/seoul/main/quick-kakao.png'); width:21px; height:19px; }
.qi_icon.blog{ background-image:url('../../img/seoul/main/quick-blog.svg'); width:22px; height:21px; }
.qi_txt{ font-size:11px; font-weight:500; color:#fff; text-align:center; line-height:1.1; letter-spacing:-0.05em; }
.quick_item .qi_icon + .qi_txt{ margin-top:-1px; }

/* ---------------------------------------------------------
   히어로
--------------------------------------------------------- */
.hero{ position:relative; margin-top:82px; min-height:calc(100vh - 82px); display:flex; align-items:center; background:#fff; overflow:hidden; }
.hero > .inner{ width:100%; max-width:1200px; }
.hero_bg{ position:absolute; inset:0; background:url('../../img/seoul/main/hero-bg.png') no-repeat right bottom / cover; }
.hero_bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, #fff 0%, #fff 20%, rgba(255,255,255,0.82) 43%, rgba(255,255,255,0.46) 58%, rgba(255,255,255,0.16) 67%, rgba(255,255,255,0) 74%); }
.hero .inner{ position:relative; z-index:1; }
.hero_content{ padding:70px 0; }
.hero_badge{ display:inline-flex; align-items:center; padding:8px 30px; background:var(--dark-green); font-size:20px; font-weight:400; color:#fff; letter-spacing:-0.02em; }
.hero_badge b{ font-weight:700; margin-left:6px; }
.hero_text_box{ position:relative; margin-top:100px; padding-left:44px; }
.hero_text_box::before{ content:''; position:absolute; left:4px; top:0; bottom:0; width:1px; background:var(--tan); }
.hero_text_box::after{ content:''; position:absolute; left:5px; top:46px; width:6px; height:110px; background:var(--tan); }
.hero_eyebrow{ display:inline-block; font-size:22px; font-weight:600; color:#222; letter-spacing:-0.03em; padding-bottom:6px; border-bottom:2px solid rgba(20,41,39,0.75); }
.hero_tit{ margin-top:14px; font-size:42px; font-weight:400; color:var(--ink); letter-spacing:-0.02em; line-height:1.31; }
.hero_tit b{ font-weight:800; }
.hero_desc{ margin-top:52px; font-size:16px; font-weight:600; color:#7f7f7f; letter-spacing:-0.03em; line-height:1.45; }
.hero_btns{ display:flex; gap:19px; margin-top:87px; }
.hero_btn{ display:flex; align-items:center; justify-content:center; gap:6px; min-width:240px; height:48px; padding:0 24px; border-radius:100px; font-size:16px; font-weight:800; letter-spacing:-0.02em; transition:transform .3s; }
.hero_btn:hover{ transform:translateY(-2px); }
.hero_btn.dark{ background:var(--dark-green); color:#fff; box-shadow:0 8px 14px rgba(0,0,0,0.18); }
.hero_btn.light{ background:#fff; color:var(--ink); box-shadow:0 8px 14px rgba(0,0,0,0.12); font-weight:600; }
.hero_btn.light b{ font-weight:800; }

/* ---------------------------------------------------------
   서비스
--------------------------------------------------------- */
.service{ position:relative; background:url('../../img/seoul/main/service-bg.png') no-repeat center / cover; padding:110px 0 120px; }
.service_list{ display:flex; gap:11px; margin-top:24px; }
.service_card{ flex:1; display:flex; flex-direction:column; align-items:center; background:#f9f7f6; border-radius:6px; box-shadow:0 10px 20px rgba(0,0,0,0.15); padding:64px 20px 48px; text-align:center; }
.sc_icon_circle{ display:flex; align-items:center; justify-content:center; width:140px; height:140px; border-radius:50%; background:#fff; }
.sc_icon{ display:block; width:64px; height:64px; background:no-repeat center / contain; }
.sc_line{ display:block; width:60px; height:2px; background:var(--tan); margin:33px 0; }
.sc_tit{ font-size:20px; font-weight:800; color:#222; letter-spacing:-0.02em; }
.sc_desc{ margin-top:16px; font-size:16px; font-weight:600; color:#7f7f7f; letter-spacing:-0.03em; line-height:1.32; }
.service_bottom{ display:flex; align-items:center; margin-top:56px; }
.sb_desc{ font-size:20px; font-weight:600; color:#fff; letter-spacing:-0.03em; line-height:1.45; }
.sb_line{ flex:1; height:1px; background:rgba(255,255,255,0.8); margin:0 32px; }
.sb_catch{ font-size:30px; font-weight:800; color:#fff; letter-spacing:-0.03em; white-space:nowrap; }

/* ---------------------------------------------------------
   구성원
--------------------------------------------------------- */
.member{ position:relative; background-color:var(--deep-bg); background-image:linear-gradient(180deg, rgba(13,50,47,0.6) 0%, rgba(13,50,47,1) 50%, rgba(13,50,47,0.6) 100%), url('../../img/seoul/main/member-bg-raw.jpg'); background-repeat:no-repeat; background-position:center; background-size:cover; padding:150px 0 62px; }
.member .inner{ display:flex; gap:80px; }
.member_info{ width:396px; flex-shrink:0; }
.mi_label_box{ text-align:center; }
.mi_label_box .sec_label{ display:block; }
.mi_emblem{ display:flex; align-items:center; gap:34px; margin-top:10px; height:34px; }
.mi_emblem::before, .mi_emblem::after{ content:''; flex:1; height:1px; background:var(--gold); }
.mi_emblem{ background:url('../../img/seoul/main/member-title-emblem.svg') no-repeat center / 27px 34px; }
.mi_tit{ margin-top:45px; font-size:46px; font-weight:400; color:#fff; letter-spacing:-0.02em; line-height:1.13; }
.mi_tit b{ font-weight:800; }
.mi_desc{ margin-top:19px; font-size:16px; font-weight:500; color:#fff; letter-spacing:-0.03em; line-height:1.44; }
.mi_line{ display:block; width:1px; height:149px; background:rgba(255,255,255,0.55); margin:17px 0 16px 6px; }
.mi_catch{ font-size:26px; font-weight:800; color:var(--gold); letter-spacing:-0.03em; }
.mi_catch_desc{ margin-top:12px; font-size:18px; font-weight:600; color:#fff; letter-spacing:-0.03em; line-height:1.3; }
.member_cards{ flex:1; display:flex; flex-direction:column; gap:22px; }
.member_row{ display:flex; justify-content:center; gap:24px; }
.member_card{ position:relative; overflow:hidden; border:1.4px solid var(--gold); border-radius:6px; background-image:linear-gradient(212deg, #15514c 11%, #051413 92%); }
.member_row.big .member_card{ width:323px; aspect-ratio:323/438; }
.member_row.small .member_card{ width:224px; aspect-ratio:224/304; }
.member_card::before{ content:''; position:absolute; left:50%; top:14%; transform:translateX(-50%); width:80%; aspect-ratio:180/216; background:url('../../img/seoul/main/member-emblem-lg.svg') no-repeat center / contain; opacity:.85; }
.member_card::after{ content:''; position:absolute; top:16px; right:16px; width:25px; height:24px; background:url('../../img/seoul/main/member-rosette.svg') no-repeat center / contain; }
.mc_photo{ position:absolute; inset:0; background:no-repeat center top / auto 100%; }
/* 시안 기준 인물별 사진 크기/위치 보정 */
.member_row.big li:nth-child(1) .mc_photo{ background-size:auto 98%; background-position:center top 20px; }
.member_row.big li:nth-child(2) .mc_photo{ background-size:auto 120%; background-position:center top 8px; }
.member_row.small li:nth-child(1) .mc_photo{ background-size:auto 140%; background-position:center top -4px; }
.member_row.small li:nth-child(2) .mc_photo{ background-size:auto 151%; background-position:center top -5px; }
.member_row.small li:nth-child(3) .mc_photo{ background-size:auto 110%; background-position:center top 4px; }
.mc_name{ position:absolute; left:26px; bottom:18px; font-size:29px; font-weight:800; color:#fff; letter-spacing:-0.02em; text-shadow:3px 9px 6px rgba(0,0,0,0.25); }
.mc_name span{ font-size:20px; font-weight:500; color:var(--gold); margin-left:4px; }
.member_row.small .mc_name{ left:18px; bottom:12px; font-size:20px; }
.member_row.small .mc_name span{ font-size:14px; }

/* ---------------------------------------------------------
   성공사례
--------------------------------------------------------- */
.case{ background:#faf8f7; padding:200px 0 130px; overflow:hidden; }
.case_tit_box .sec_label{ margin-bottom:4px; }
.case_tit{ font-size:46px; font-weight:400; color:var(--ink); letter-spacing:-0.02em; line-height:1.2; }
.case_tit b{ font-weight:800; }
.case_slider{ margin-top:48px; overflow:visible; }
.case_slider .swiper-wrapper{ display:flex; }
.case_slider .swiper-slide{ width:387px; }
.case_card{ background:rgba(255,255,255,0.8); backdrop-filter:blur(5px); border:1px solid #cecdcc; border-radius:20px; padding:34px 26px 40px; box-sizing:border-box; }
.cc_tit{ font-size:24px; font-weight:700; color:#222; letter-spacing:-0.02em; line-height:1.4; }
.cc_tit span{ background:linear-gradient(rgba(201,169,106,0.3), rgba(201,169,106,0.3)) no-repeat left bottom 5px / 100% 16px; }
.cc_sub{ margin-top:8px; font-size:24px; font-weight:700; color:#222; letter-spacing:-0.02em; line-height:1.3; }
.cc_img{ display:block; width:158px; aspect-ratio:158/222; margin:24px auto 22px; border-radius:5px; background:no-repeat center / cover; box-shadow:0 4px 10px rgba(0,0,0,0.08); }
.cc_info li{ display:flex; align-items:center; justify-content:space-between; padding:13px 0; }
.cc_info li + li{ border-top:1px solid #d9d9d9; }
.cc_info .ci_label{ position:relative; flex-shrink:0; padding-left:27px; font-size:18px; font-weight:700; color:#222; }
.cc_info .ci_label::before{ content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:18px; height:18px; background:url('../../img/seoul/main/icon-case-check.svg') no-repeat center / contain; }
.cc_info .ci_value{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-left:12px; font-size:18px; font-weight:700; color:#222; }
.cc_more{ display:inline-flex; align-items:center; justify-content:center; margin-top:16px; min-width:110px; height:38px; padding:0 22px; border-radius:100px; background:var(--main-color); font-size:16px; font-weight:600; color:#e8e2d2; letter-spacing:-0.02em; }

/* ---------------------------------------------------------
   오시는 길 / 상담신청
--------------------------------------------------------- */
.location{ position:relative; background:var(--deep-bg); padding:128px 0 90px; }
.location::before{ content:''; position:absolute; inset:0; background:url('../../img/seoul/main/location-bg-raw.jpg') no-repeat center / cover; opacity:.1; }
.location .inner{ position:relative; z-index:1; }
.location_grid{ display:flex; gap:20px; margin-top:34px; }
.location_info{ flex:1; min-width:0; }

.office_tabs{ display:flex; gap:46px; }
.office_panel{ display:none; }
.office_panel.on{ display:block; }
.office_tab{ font-size:28px; font-weight:600; color:#a9a9a9; letter-spacing:-0.02em; padding-bottom:12px; border-bottom:5px solid transparent; transition:all .3s; }
.office_tab.on{ font-weight:800; color:#fff; border-bottom-color:#fff; }
.office_map{ overflow:hidden; margin-top:23px; width:100%; aspect-ratio:590/339; border-radius:10px; background:#fff; }
.office_map iframe{ display:block; width:100%; height:100%; border:0; }
.office_detail{ margin-top:50px; }
.od_label{ font-size:20px; font-weight:700; color:#ddd; letter-spacing:-0.02em; padding-bottom:18px; border-bottom:2px solid #ddd; }
.od_contact{ display:flex; align-items:center; gap:56px; padding:22px 2px 0; }
.od_contact + .od_label{ margin-top:34px; }
.od_contact li{ display:flex; align-items:center; gap:16px; }
.od_icon{ display:block; width:28px; height:28px; background:no-repeat center / contain; }
.od_contact li.tel .od_icon{ background-image:url('../../img/seoul/main/icon-phone.svg'); }
.od_contact li.mail .od_icon{ background-image:url('../../img/seoul/main/icon-mail.svg'); width:39px; height:26px; }
.od_contact li.addr .od_icon{ background-image:url('../../img/seoul/main/icon-pin.svg'); width:20px; height:28px; }
.od_contact li a, .od_contact li span.od_addr_txt{ font-size:20px; font-weight:500; color:#ddd; letter-spacing:-0.02em; }

.consult_card{ width:590px; flex-shrink:0; background:#fff; border-radius:10px; box-shadow:8px 10px 14px rgba(0,0,0,0.25); padding:20px 30px 36px; }
.consult_step{ display:none; }
.consult_step.on{ display:block; }
.cs_page{ text-align:right; font-size:18px; font-weight:600; color:#999; letter-spacing:-0.05em; }
.cs_page b{ color:#1a1d1b; font-weight:600; }
.cs_form li + li{ margin-top:20px; }
.cs_label{ font-size:16px; font-weight:500; color:#222; letter-spacing:-0.04em; }
.cs_label span{ color:#eb5757; }
.cs_label.big{ font-size:18px; font-weight:600; margin-top:4px; }
.cs_form .cs_label{ margin-bottom:8px; }
.cs_ipt{ width:100%; height:43px; background:#fbfbfb; border:1px solid #e1e1e1; border-radius:2px; padding:0 12px; font-size:14px; font-weight:500; color:#222; letter-spacing:-0.04em; outline:none; }
.cs_ipt:focus{ border-color:var(--accent-green); }
.cs_ipt::placeholder{ color:#c9c9c9; }
.cs_textarea{ height:124px; padding:12px; resize:none; line-height:1.4; }
.cs_radio_box{ display:flex; align-items:center; gap:48px; padding-top:6px; }
.cs_radio{ display:flex; align-items:center; gap:10px; cursor:pointer; }
.cs_radio input{ display:none; }
.cr_icon{ display:block; width:18px; height:18px; background:url('../../img/seoul/main/icon-radio-off.svg') no-repeat center / contain; }
.cs_radio input:checked ~ .cr_icon{ background-image:url('../../img/seoul/main/icon-radio-on.svg'); }
.cr_txt{ font-size:16px; font-weight:500; color:#999; }
.cs_radio input:checked ~ .cr_txt{ color:#222; }
.cs_btn{ display:block; margin:30px auto 0; width:285px; height:43px; border-radius:26px; background:var(--main-color); font-size:14px; font-weight:800; color:#fff; letter-spacing:-0.04em; transition:background .3s; }
.cs_btn:hover{ background:var(--dark-green); }

/* step2 자가진단 */
.cs_diagnosis{ margin-top:16px; }
.cd_group + .cd_group{ margin-top:20px; }
.cd_btns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:9px; max-width:400px; }
.cd_btn{ width:120px; height:35px; background:#fbfbfb; border:1px solid #e1e1e1; border-radius:3px; font-size:16px; font-weight:600; color:#999; letter-spacing:-0.02em; transition:all .2s; }
.cd_btn.on{ border-color:var(--accent-green); color:var(--accent-green); }
.cd_checks{ display:flex; flex-wrap:wrap; gap:14px 24px; margin-top:12px; }
.cd_check{ display:flex; align-items:center; gap:8px; cursor:pointer; }
.cd_check input{ display:none; }
.cc_icon{ display:block; width:18px; height:18px; background:url('../../img/seoul/main/icon-check-off.svg') no-repeat center / contain; }
.cd_check input:checked ~ .cc_icon{ background-image:url('../../img/seoul/main/icon-check-on.svg'); }
.cc_txt{ font-size:16px; font-weight:500; color:#999; letter-spacing:-0.04em; }
.cd_check input:checked ~ .cc_txt{ color:#222; }
.cs_agree{ display:flex; align-items:center; gap:8px; margin-top:26px; cursor:pointer; }
.cs_agree input{ display:none; }
.ca_icon{ display:block; width:16px; height:15px; background:url('../../img/seoul/main/icon-checkbox.svg') no-repeat center / contain; opacity:.35; }
.cs_agree input:checked ~ .ca_icon{ opacity:1; }
.ca_txt{ font-size:12px; font-weight:500; color:#7f7f7f; letter-spacing:-0.04em; }
.ca_txt b{ font-weight:500; cursor:pointer; }

/* ---------------------------------------------------------
   푸터
--------------------------------------------------------- */
footer{ background:#222; padding:48px 0 36px; }
.footer_logo_box{ display:flex; align-items:center; gap:10px; }
.footer_logo_box img{ width:126px; display:block; }
.fl_desc{ font-size:13px; font-weight:700; color:rgba(255,255,255,0.72); letter-spacing:-0.02em; padding-top:4px; }
.footer_content{ display:flex; justify-content:space-between; align-items:flex-start; margin-top:28px; }
.footer_info p{ font-size:14px; font-weight:500; color:#fff; letter-spacing:-0.02em; line-height:1.5; }
.footer_tel_box{ text-align:right; }
.ft_tel{ font-size:18px; font-weight:500; color:#fff; letter-spacing:-0.02em; }
.ft_tel b{ font-size:32px; font-weight:800; margin-left:6px; }
.ft_ad{ margin-top:10px; font-size:14px; font-weight:500; color:rgba(255,255,255,0.4); letter-spacing:-0.02em; }
.footer_copy{ margin-top:26px; font-size:14px; font-weight:500; color:rgba(255,255,255,0.2); letter-spacing:-0.02em; }

/* ---------------------------------------------------------
   반응형
--------------------------------------------------------- */
@media screen and (max-width: 1250px) {
    .inner{ width:100%; padding:0 20px; }
    header .gnb{ gap:32px; }
    .header_tel{ margin-left:32px; min-width:auto; }
    .header_tel span{ font-size:17px; }
    .quick_menu{ right:14px; bottom:14px; transform:scale(0.85); transform-origin:bottom right; }
    .hero_content{ padding:60px 0; }
    .hero_btns{ margin-top:60px; }
    .service_card{ padding:40px 14px 32px; }
    .sc_icon_circle{ width:110px; height:110px; }
    .sc_icon{ width:52px; height:52px; }
    .sc_line{ margin:26px 0; }
    .sc_tit{ font-size:18px; }
    .sc_desc{ font-size:14px; }
    .sb_catch{ font-size:26px; }
    .member .inner{ flex-direction:column; gap:60px; }
    .member_info{ width:100%; max-width:420px; margin:0 auto; text-align:center; }
    .member_info .mi_line{ margin:17px auto 16px; }
    .location_grid{ flex-direction:column; }
    .consult_card{ width:100%; }
    .footer_content{ flex-direction:column; gap:24px; }
    .footer_tel_box{ text-align:left; }
} /* tablet */

@media screen and (max-width: 960px) {
    header .gnb{ display:none; }
    .header_tel{ margin-left:auto; }
    .hamburger_btn{ display:flex; }
    .sec_label_box .sec_tit{ font-size:32px; }
    .hero_tit{ font-size:34px; }
    .hero_eyebrow{ font-size:19px; }
    .mi_tit{ font-size:38px; }
    .case_tit{ font-size:38px; }
    .service_card{ padding:32px 12px 28px; }
    .sc_icon_circle{ width:96px; height:96px; }
    .sc_icon{ width:46px; height:46px; }
    .od_icon{ width:25px; height:25px; }
    .od_contact li.mail .od_icon{ width:34px; height:23px; }
    .od_contact li.addr .od_icon{ width:18px; height:25px; }
    .service_bottom{ flex-direction:column; align-items:flex-start; gap:20px; }
    .sb_line{ display:none; }
    .member_row.big .member_card{ width:280px; }
    .member_row.small .member_card{ width:190px; }
} /* small tablet */

@media screen and (max-width: 650px) {
    body{ font-size:15px; }
    br.mo{ display:block; }
    header .inner{ height:64px; justify-content: space-between;}
    .logo_box img{ width:96px; }
    .logo_desc{ font-size:11px; }
    .header_tel{display: none; }
    .hero{ margin-top:64px; min-height:calc(100vh - 64px); }
    .hero_content{ padding:40px 0; }
    .hero_badge{ font-size:16px; padding:6px 18px; }
    .hero_text_box{ margin-top:56px; padding-left:26px; }
    .hero_text_box::after{ top:36px; height:78px; }
    .hero_eyebrow{ font-size:16px; }
    .hero_tit{ font-size:24px; }
    .hero_desc{ margin-top:30px; font-size:15px; }
    .hero_btns{ margin-top:44px; flex-wrap:wrap; gap:12px; }
    .hero_btn{ min-width:200px; height:44px; font-size:15px; }
    .quick_menu{ right:10px; bottom:10px; transform:scale(0.7); transform-origin:bottom right; gap:12px; }
    .service{ padding:70px 0 80px; }
    .sec_label{ font-size:16px; }
    .sec_label_box .sec_tit{ font-size:22px; }
    .service_list{ flex-wrap:wrap; gap:10px; }
    .service_card{ flex:1 1 calc(50% - 5px); padding:26px 10px 24px; }
    .sc_icon_circle{ width:84px; height:84px; }
    .sc_icon{ width:40px; height:40px; }
    .sc_line{ margin:18px 0; }
    .sc_tit{ font-size:16px; }
    .sc_desc{ font-size:13px; }
    .sb_desc{ font-size:16px; }
    .sb_catch{ font-size:21px; }
    .member{ padding:80px 0 50px; }
    .mi_tit{ font-size:28px; }
    .mi_catch{ font-size:20px; }
    .mi_catch_desc{ font-size:15px; }
    .mi_line{ height:90px; }
    .member_cards{ gap:12px; }
    .member_row{ gap:12px; }
    .member_row.big .member_card{ width:calc(50% - 6px); }
    .member_row.small .member_card{ width:calc(33.333% - 8px); }
    .member_card{ border-radius:4px; }
    .member_card::after{ top:8px; right:8px; width:14px; height:14px; }
    .mc_name{ left:12px; bottom:10px; font-size:16px; }
    .mc_name span{ font-size:11px; margin-left:2px; }
    .member_row.small .mc_name{ left:9px; bottom:8px; font-size:13px; }
    .member_row.small .mc_name span{ font-size:10px; }
    .case{ padding:90px 0 80px; }
    .case_tit{ font-size:25px; }
    .case_slider{ margin-top:28px; }
    .case_slider .swiper-slide{ width:300px; }
    .case_card{ padding:26px 20px 30px; }
    .cc_tit{ font-size:19px; }
    .cc_tit span{ background-size:100% 12px; }
    .cc_sub{ font-size:19px; }
    .cc_img{ width:130px; }
    .cc_info .ci_label, .cc_info .ci_value{ font-size:15px; }
    .cc_info .ci_label{ padding-left:24px; }
    .location{ padding:70px 0 60px; }
    .office_tab{ font-size:20px; padding-bottom:8px; border-bottom-width:3px; }
    .office_detail{ margin-top:34px; }
    .od_label{ font-size:17px; padding-bottom:12px; }
    .od_contact{ flex-direction:column; align-items:flex-start; gap:14px; padding-top:16px; }
    .od_contact li a, .od_contact li span.od_addr_txt{ font-size:16px; }
    .od_contact li{ gap:12px; }
    .od_icon{ width:22px; height:22px; }
    .od_contact li.tel .od_icon{ width:22px; height:22px; }
    .od_contact li.mail .od_icon{ width:24px; height:20px; }
    .od_contact li.addr .od_icon{ width:16px; height:20px; }
    .consult_card{ padding:16px 18px 28px; }
    .cs_page{ font-size:15px; }
    .cs_label{ font-size:15px; }
    .cd_btn{ width:calc(33.3% - 7px); min-width:88px; font-size:15px; }
    .cd_checks{ gap:12px 16px; }
    .cc_txt{ font-size:15px; }
    .cs_btn{ width:100%; max-width:285px; }
    footer{ padding:36px 0 28px; }
    .footer_info p{ font-size:13px; }
    .ft_tel{ font-size:15px; }
    .ft_tel b{ font-size:24px; }
    .ft_ad{ font-size:13px; }
    .footer_copy{ font-size:12px; }
    .paging_box{ font-size: 13px; }
} /* mobile */
