@charset "utf-8";

/* 색 설정 */
:root {
    --main-color: #0E3E7C;
    --sub-color: #1E9BEA;
    --navy-color: #0D1420;
    --black-color : #222;
    --white-color : #fff;
    --sec-py: 100px;
    /* font scale */
    --fs-72:72px; --fs-64:64px; --fs-56:56px; --fs-42:42px; --fs-38:38px; --fs-36:36px;
    --fs-34:34px; --fs-32:32px; --fs-30:30px; --fs-28:28px; --fs-24:24px; --fs-22:22px;
    --fs-20:20px; --fs-18:18px; --fs-17:17px; --fs-16:16px; --fs-15:15px; --fs-14:14px;
    --fs-13:13px; --fs-12:12px;
}

/* size : 섹션 상하 패딩 단위 */
@media screen and (max-width: 1250px) { :root{ --sec-py: 80px;
    --fs-72:52px; --fs-64:52px; --fs-56:48px; --fs-42:36px; --fs-38:34px; --fs-36:32px;
    --fs-34:30px; --fs-32:28px; --fs-30:26px; --fs-28:24px; --fs-24:20px; --fs-22:20px;
    --fs-20:18px; --fs-18:17px; --fs-17:16px;
} } /* tablet */
@media screen and (max-width: 960px) { :root{ --sec-py: 60px;
    --fs-72:44px; --fs-64:44px; --fs-56:40px; --fs-42:30px; --fs-38:28px; --fs-36:26px;
    --fs-34:24px; --fs-32:24px; --fs-30:22px; --fs-28:20px; --fs-24:18px; --fs-22:17px;
    --fs-20:16px; --fs-18:16px; --fs-17:16px; --fs-15:14px;
} }
@media screen and (max-width: 650px) { :root{ --sec-py: 40px;
    --fs-72:34px; --fs-64:36px; --fs-56:32px; --fs-42:26px; --fs-38:24px; --fs-36:22px;
    --fs-34:20px; --fs-32:20px; --fs-30:19px; --fs-28:18px; --fs-24:17px; --fs-22:16px;
    --fs-20:16px; --fs-18:15px; --fs-17:15px; --fs-16:14px; --fs-14:14px;
    --fs-13:14px; --fs-12:14px; /* 모바일 최소 14px */
} } /* mobile */

/* 스크롤 커스텀 */
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:var(--fs-16);
    font-weight: 400;
    font-family: inherit;
    color : #333;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Pretendard', sans-serif; font-weight:400; font-size:var(--fs-16); }
section{ display:block; }
a{ color:inherit; }
a:hover{ text-decoration: none; color: inherit;  }

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

/* 페이징 - 전체 게시판 공통 */
.paging_box{ margin-top:40px; padding:10px 0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
.pg_wrap,
.paging_box .pg_wrap{
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap;
    float:none; clear:none;
}
.pg_wrap:after{ display:none; content:none; }
.pg,
.paging_box .pg{
    display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; text-align:center;
}
.pg_page,
.pg_current,
.paging_box .pg_page,
.paging_box .pg_current{
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; min-width:36px; height:36px; padding:0; box-sizing:border-box;
    background-color:#eee; background-repeat:no-repeat; background-position:center; border:0; border-radius:4px;
    font-size:var(--fs-15); font-weight:500; color:#555; line-height:1; text-indent:0; overflow:hidden; cursor:pointer;
}
.pg_page:hover,
.paging_box .pg_page:hover{ background-color:#e4e4e4; color:#333; }
.pg_current,
.pg_current:hover,
.paging_box .pg_current,
.paging_box .pg_current:hover{ background-color:#0E3E7C; color:#fff; font-weight:700; }
.pg_start,
.pg_prev,
.pg_next,
.pg_end,
.paging_box .pg_start,
.paging_box .pg_prev,
.paging_box .pg_next,
.paging_box .pg_end{ font-size:0; color:transparent; letter-spacing:0; text-indent:0; }
.pg_prev,
.paging_box .pg_prev{ background-image:url('../img/common/pg-prev.svg'); background-size:8px 12px; }
.pg_next,
.paging_box .pg_next{ background-image:url('../img/common/pg-next.svg'); background-size:8px 12px; }
.pg_start,
.paging_box .pg_start{ background-image:url('../img/common/pg-start.svg'); background-size:12px 12px; }
.pg_end,
.paging_box .pg_end{ background-image:url('../img/common/pg-end.svg'); background-size:12px 12px; }
.pg_disabled,
.paging_box .pg_disabled{ display:none !important; }

@media screen and (max-width: 650px) {
    .paging_box{ margin-top:30px; }
    .pg,
    .paging_box .pg{ gap:4px; }
    .pg_page,
    .pg_current,
    .paging_box .pg_page,
    .paging_box .pg_current{ width:32px; min-width:32px; height:32px; font-size:var(--fs-14); }
}

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

@media screen and (max-width: 1250px) {
    .inner{ width:100%; padding:0 20px; }
} /* mobile */


/* ---------------------------------------- 공통 ---------------------------------------- */
/* 모바일 전용 줄바꿈 */
.m_br{ display:none; }
/* 데스크톱 전용 줄바꿈 */
.pc_br{ display:block; }
@media screen and (max-width: 650px) {
    .m_br{ display:block; }
    .pc_br{ display:none; }
}

.section_title{ text-align:center; }
.section_title h3{ font-size:var(--fs-32); font-weight:800; color:#333; line-height:1.2; }
.section_title p{ margin-top:20px; font-size:var(--fs-20); font-weight:400; color:#333; line-height:1.4; }
.section_title.white h3{ color:#F4EFE8; }
.section_title.white p{ color:#fff; }

/* ---------------------------------------- 헤더 ---------------------------------------- */
#header{
    position:fixed; top:0; left:0; width:100%; height:80px; z-index:100;
    display:flex; align-items:center; justify-content:space-between; padding:0 30px;
    border-bottom:1px solid rgba(255,255,255,0.3);
    transition: background-color .3s;
}
#header .logo a{ display:flex; align-items:center; }
#header .logo img{ height:52px; width:auto; }
#header .logo .logo_c{ display:none; }
#header .gnb ul{ display:flex; align-items:center; gap:40px; }
#header .gnb a{ font-size:var(--fs-18); font-weight:700; color:#fff; }
#header .gnb a:hover{ color:var(--sub-color); }
/* 헤더 white 버전 (메인 스크롤 시) */
#header.scrolled,
#header.on{ background-color:#fff; border-bottom:1px solid rgba(0,0,0,0.08); box-shadow:0 2px 10px rgba(0,0,0,0.06); }
#header.scrolled .logo_w,
#header.on .logo_w{ display:none; }
#header.scrolled .logo_c,
#header.on .logo_c{ display:block; }
#header.scrolled .gnb a,
#header.on .gnb a{ color:#333; }
#header.scrolled .gnb a:hover,
#header.on .gnb a:hover{ color:var(--main-color); }

/* 햄버거 버튼 (960px 이하에서만 노출) */
.btn_menu{
    display:none; flex-direction:column; align-items:center; justify-content:center; gap:6px;
    width:40px; height:40px; padding:0; border:0; background:none; cursor:pointer; z-index:4;
}
.btn_menu span{ display:block; width:26px; height:2px; background-color:#fff; transition:transform .3s, opacity .3s, background-color .3s; }
#header.sub .btn_menu span,
#header.scrolled .btn_menu span,
#header.on .btn_menu span,
#header.menu_open .btn_menu span{ background-color:#333; }
#header.menu_open .btn_menu span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
#header.menu_open .btn_menu span:nth-child(2){ opacity:0; }
#header.menu_open .btn_menu span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

@media screen and (max-width: 1250px) {
    #header .gnb ul{ gap:24px; }
} /* tablet */

@media screen and (max-width: 650px) {
    #header{ padding:0 15px; }
    #header .logo img{ height:38px; }
} /* mobile */

/* 업무분야 하위메뉴 — 데스크톱은 숨김 */
#header .gnb .gnb_sub{ display:none; }

@media screen and (max-width: 960px) {
    .btn_menu{ display:flex; }
    /* GNB → 우측 슬라이드 패널 */
    #header .gnb{
        position:fixed; top:0; right:-300px; width:280px; height:100vh; z-index:3;
        background-color:#fff; box-shadow:-5px 0 20px rgba(0,0,0,0.1);
        padding:100px 24px 40px; overflow-y:auto; transition:right .3s ease;
    }
    #header.menu_open .gnb{ right:0; }
    #header .gnb ul{ flex-direction:column; align-items:stretch; gap:0; }
    #header .gnb > ul > li{ border-bottom:1px solid #eee; }
    #header .gnb a{ display:block; padding:16px 4px; font-weight:700; color:#333; }
    #header .gnb a:hover{ color:var(--main-color); }
    #header .gnb .has_sub > .gnb_toggle{
        position:relative; padding-right:28px;
    }
    #header .gnb .has_sub > .gnb_toggle::after{
        content:''; position:absolute; right:6px; top:50%; width:8px; height:8px;
        border-right:2px solid #999; border-bottom:2px solid #999;
        transform:translateY(-70%) rotate(45deg); transition:transform .25s;
    }
    #header .gnb .has_sub.open > .gnb_toggle::after{
        transform:translateY(-30%) rotate(-135deg);
    }
    #header .gnb .gnb_sub{
        display:none; margin:0 0 8px; padding:0 0 4px 10px;
        border-left:2px solid #e8e8e8;
    }
    #header .gnb .gnb_sub li{ border-bottom:0; }
    #header .gnb .gnb_sub a{
        padding:10px 4px; font-size:var(--fs-15); font-weight:500; color:#555;
    }
    #header .gnb .gnb_sub a:hover{ color:var(--main-color); }
    /* 패널 열림 시 딤 처리 */
    #header.menu_open::after{
        content:''; position:fixed; top:0; left:0; width:100%; height:100vh; z-index:2;
        background-color:rgba(0,0,0,0.4);
    }
} /* ~960 햄버거 */

/* ---------------------------------------- 퀵메뉴 ---------------------------------------- */
.quick_menu{
    position:fixed; bottom: 30px; right: 30px; z-index:90;
    width:100px; background-color:#fff; border-radius:10px; overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,0.15);
}
.quick_menu .quick_title{
    height:30px; background-color:var(--main-color); color:#fff;
    font-size:var(--fs-15); display:flex; align-items:center; justify-content:center;
}
.quick_menu ul li{ border-bottom:1px solid #e5e5e5; }
.quick_menu ul li:last-child{ border-bottom:0; }
.quick_menu ul li a{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
    padding:12px 4px; font-size:var(--fs-16); color:#333; text-align:center;;
}
.quick_menu ul li a:hover{ background-color:#f4f8fc; }
.quick_menu ul li img{ width:30px; height:30px; object-fit:contain; }

@media screen and (max-width: 1250px) {
    .quick_menu{ display:none; }
} /* tablet */

/* ---------------------------------------- 메인 비주얼 ---------------------------------------- */
.hero_section{
    position:relative; height:100vh; min-height:700px; overflow:hidden; background-color:#0d1420;
    display:flex; align-items:center; justify-content:center;
}
.hero_video{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.hero_section::before{
    content:''; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1;
    background:linear-gradient(180deg, rgba(21,17,12,0.58) 0%, rgba(21,17,12,0.9) 100%);
}
.hero_section .inner{ position:relative; z-index:2; }
.scroll_down{ z-index:2; }
.hero_title{
    font-size:var(--fs-72); font-weight:600; color:#F4EFE8;
    line-height:1.2; letter-spacing:-0.02em;
}
.hero_title .point{
    font-size:var(--fs-72);
    font-weight:700;
    background:linear-gradient(90deg, #6CB5E3 0%, #DFF2FF 50%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.hero_desc{ margin-top:38px; padding-left:20px; border-left:5px solid rgba(30,155,234,0.8); }
.hero_desc p{ font-size:var(--fs-24); font-weight:400; color:#fff; line-height:1.4; }
.hero_desc strong{ font-weight:700; color: #fff; font-size:var(--fs-24);}
.hero_btns{ margin-top:80px; display:flex; gap:22px; }
.hero_btns a{ width:150px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:var(--fs-18); font-weight:700; color:#fff; transition:background-color .3s; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 16px; box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1);}
.hero_btns .btn_reserve{ background-color:rgba(30,155,234,0.5); }
.hero_btns .btn_reserve:hover{ background-color:rgba(30,155,234,0.8); }
.hero_btns .btn_call{ background-color:rgba(255,255,255,0.2); }
.hero_btns .btn_call:hover{ background-color:rgba(255,255,255,0.35); }
.scroll_down{ position:absolute; left:50%; bottom:25px; transform:translateX(-50%); text-align:center; }
.scroll_down p{ font-size:var(--fs-16); color:#fff; }
.scroll_down .arrows{ margin-top:10px; display:flex; flex-direction:column; align-items:center; gap:2px; }
.scroll_down .arrows img{ width:12px; height:6px; animation:scrollArrow 1.5s infinite; }
.scroll_down .arrows img:nth-child(2){ animation-delay:.2s; }
.scroll_down .arrows img:nth-child(3){ animation-delay:.4s; }
@keyframes scrollArrow{
    0%, 100%{ opacity:.3; transform:translateY(0); }
    50%{ opacity:1; transform:translateY(3px); }
}

@media screen and (max-width: 1250px) {
    .hero_section{ min-height:600px; }
    .hero_btns{ margin-top:50px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .hero_section{ min-height:520px; }
    .hero_desc{ margin-top:24px; padding-left:14px; }
    .hero_btns{ margin-top:36px; gap:12px; }
    .hero_btns a{ width:120px; height:40px; border-radius: 8px;}
    .scroll_down .arrows img{ width:10px; height:5px;}
} /* mobile */

/* ---------------------------------------- 변호사 소개 (CEO) ---------------------------------------- */
.ceo_section{
    position:relative; padding:var(--sec-py) 0; overflow:hidden;
    background:
        linear-gradient(270deg, rgba(245,245,245,0.7) 0%, #F5F5F5 100%),
        url('../img/main/ceo-bg.png') center bottom / cover no-repeat #f5f5f5;
}
.ceo_watermark{
    position:absolute; top:109px; right:84px; width:513px; height:655px; object-fit:contain;
}
.ceo_top{ display:flex; align-items:stretch; justify-content:space-between; }
.ceo_left{ display:flex; flex-direction:column; width:630px; padding-top:59px; }
.ceo_text{ text-align:center; }
.ceo_text .quote{ display:block; font-size:var(--fs-64); font-weight:800; color:rgba(30,155,234,0.3); line-height:1; font-family:Georgia, serif; }
.ceo_text .quote.open{ text-align:center; }
.ceo_text .quote.close{ transform:rotate(180deg); display:inline-block; margin-top:24px; }
.ceo_text h3{ margin-top:14px; font-size:var(--fs-42); font-weight:700; color:#333; line-height:1.4; letter-spacing:-0.02em; }
.ceo_text h3 .highlight{ box-shadow:inset 0 -22px rgba(30,155,234,0.2); font-size:var(--fs-42); font-weight: 700;}
.ceo_text p{ margin-top:44px; font-size:var(--fs-20); font-weight:400; color:#333; line-height:1.4; }
.ceo_name{ margin:auto 0 139px 377px; display:flex; align-items:center; gap:12px; white-space:nowrap; }
.ceo_name img{ width:40px; height:39px; object-fit:contain; flex-shrink:0; }
.ceo_name strong{ font-size:var(--fs-42); font-weight:900; color:#333; letter-spacing:-0.01em; white-space:nowrap; }
.ceo_name span{ font-size:var(--fs-20); font-weight:600; color:#333; margin-top:14px; white-space:nowrap; }
.ceo_photo{ flex-shrink:0; width:534px; height:741px; overflow:hidden; z-index: 1;}
.ceo_photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.ceo_card{ width:100%; padding: 50px; border-top:9px solid var(--main-color); box-shadow:5px 10px 11px rgba(0,0,0,0.15); background: linear-gradient(rgba(255,255,255,0.6), rgba(255,255,255,0.6)), url('../img/main/ceo-card-bg.jpg') center / cover no-repeat;display:flex; align-items:flex-start; justify-content:flex-start; gap:50px;
}
.ceo_card .card_bg_text{margin-right:45px; flex-shrink:0; font-size:var(--fs-28); font-weight:700; color:rgba(31,135,201,0.15); line-height:1.2; letter-spacing:-0.02em;}
.ceo_card dl{ display:flex; gap:44px; }
.ceo_card dt{ font-size:var(--fs-20); font-weight:800; color:var(--main-color); letter-spacing:0.08em; white-space:nowrap; }
.ceo_card dd li{ font-size:var(--fs-18); font-weight:600; color:#333; line-height:1.4; margin-bottom:20px; white-space:nowrap; }
.ceo_card dd li:last-child{ margin-bottom:0; }
.ceo_card .card_divider{ flex-shrink:0; width:1px; height:205px; background-color:#d4d4d4; }

@media screen and (max-width: 1250px) {
    /* 960px까지는 가로 레이아웃 유지, 폭에 맞춰 축소 */
    .ceo_left{ width:50%; padding-top:20px; }
    .ceo_name{ margin:auto 0 60px; justify-content:center; }
    .ceo_name span{ margin-top:8px; }
    .ceo_photo{ width:44%; height:auto; aspect-ratio:534 / 741; }
    .ceo_card{padding:40px 24px; gap:30px; }
    .ceo_card .card_bg_text{ display:none; }
    .ceo_card .card_col{ flex:1; }
    .ceo_card dd li{ white-space:normal; }
    .ceo_card .card_divider{ height:auto; align-self:stretch; }
    .ceo_watermark{ width:400px; height:510px; right:30px; }
} /* tablet */

@media screen and (max-width: 960px) {
    /* 960px 이하: 세로 레이아웃 전환 */
    .ceo_top{ flex-direction:column; align-items:center; }
    .ceo_left{ width:100%; padding-top:0; }
    .ceo_text{ width:100%; }
    .ceo_text .quote.open,
    .ceo_text .quote.close{ display:none; }
    .ceo_name{ margin:30px 0; justify-content:center; }
    .ceo_photo{ margin:0 auto; width:min(400px, 100%); }
    .ceo_card dt{width: 80px;}
    .ceo_card{padding:40px 30px; flex-direction:column; gap:40px; }
    .ceo_card .card_divider, .ceo_watermark{ display:none; }
} /* ~960 */

@media screen and (max-width: 650px) {
    .ceo_text h3,
    .ceo_text h3 .highlight{font-size: 22px;}
    .ceo_text h3 .highlight{ box-shadow:inset 0 -14px rgba(30,155,234,0.2); }
    .ceo_text p{ margin-top:24px; line-height:1.5em; }
    .ceo_name img{width: 28px;}
    .ceo_photo{ width:60%; }
    .ceo_card{padding: 20px;}
    .ceo_card dl{flex-direction: column; gap: 20px;}
    .ceo_card dd li{ margin-bottom: 10px; }
} /* mobile */

/* ---------------------------------------- 이로움이 다른 이유 ---------------------------------------- */
.reason_section{
    position:relative; padding:var(--sec-py) 0;
    background:url('../img/main/reason-bg.png') center / cover no-repeat #0a1430;
}
.reason_list{ margin-top:68px; display:flex; gap:24px; }
.reason_list li{
    width:384px; height:140px; padding:21px; border-radius:10px;
    background-color:rgba(255,255,255,0.2); backdrop-filter:blur(2px);
}
.reason_list .reason_head{ display:flex; align-items:center; gap:16px; }
.reason_list h4{ font-size:var(--fs-20); font-weight:800; color:#fff; line-height:1.2; white-space:nowrap; }
.reason_list .line{ flex:1; height:1px; background: linear-gradient(90deg, #1E9BEA 0%, rgba(30, 155, 234, 0.00) 100%);}
.reason_list p{ margin-top:22px; font-size:var(--fs-18); font-weight:400; color:#fff; line-height:1.4; }

@media screen and (max-width: 1250px) {
    .reason_list{ margin-top:50px; flex-direction:column; align-items:center; }
    .reason_list li{ width:100%; max-width:500px; height:auto; }
} /* tablet */

@media screen and (max-width: 650px) {
    .reason_list{margin-top: 30px; gap: 12px;}
    .reason_list p{ margin-top: 10px; }
} /* mobile */

/* ---------------------------------------- 업무분야 ---------------------------------------- */
.field_section{
    position:relative; padding:var(--sec-py) 0;
    background:
        linear-gradient(270deg, rgba(249,253,255,0.9) 0%, #F9FDFF 88%),
        url('../img/main/field-bg.jpg') center / cover no-repeat #f9fdff;
}
.field_list{ margin-top:93px; display:flex; gap:24px; }
.field_list li{
    position:relative; width:214px; height:368px; border-radius:20px; overflow:hidden;
    background-size:cover; background-position:center; flex-shrink:0;
    transition:width .5s ease;
    display:flex; flex-direction:column; justify-content:space-between;
}
.field_list li::before{ content:''; position:absolute; inset:0; background-color:rgba(0,0,0,0.6); }
/* 호버 아코디언: 기본은 첫 카드 확장, 호버한 카드가 확장되며 텍스트 등장 */
.field_list li:hover,
.field_list:not(:hover) li.main_card{ width:484px; }
.field_list .field_info{ position:relative; padding:20px; width:444px; }
.field_list .field_info strong{ display:block; font-size:var(--fs-24); font-weight:800; color:#fff; line-height:1.4; letter-spacing:-0.01em; }
.field_list .field_info em{ display:block; margin-top:5px; font-size:var(--fs-14); font-weight:400; font-style:normal; color:#fff; font-family:'Noto Serif', serif; letter-spacing:-0.02em; }
.field_list .field_info p{ margin-top:22px; font-size:var(--fs-18); font-weight:400; color:#fff; line-height:1.4; opacity:0; visibility:hidden; transition:opacity .4s .15s, visibility .4s .15s; }
.field_list .field_more{ position:relative; margin:0 25px 23px; width:434px; opacity:0; visibility:hidden; transition:opacity .4s .15s, visibility .4s .15s; }
.field_list li:hover .field_info p,
.field_list li:hover .field_more,
.field_list:not(:hover) li.main_card .field_info p,
.field_list:not(:hover) li.main_card .field_more{ opacity:1; visibility:visible; }
.field_list .field_more .line{ display:block; height:1px; background-color:#fff; }
.field_list .field_more a{
    margin-top:30px; display:flex; align-items:center; justify-content:center; height:50px; border-radius:5px;
    background:linear-gradient(90deg, rgba(14,62,124,0.8) 0%, rgba(30,155,234,0.8) 100%);
    font-size:var(--fs-18); font-weight:600; color:#fff;
}
.field_list .field_more a:hover{ background:linear-gradient(90deg, rgba(14,62,124,1) 0%, rgba(30,155,234,1) 100%); }
.field_bottom{ margin-top:44px; text-align:center; }
.field_bottom .v_line{ display:inline-block; width:1px; height:50px; background-color:var(--main-color); }
.field_bottom p{ margin-top:40px; font-size:var(--fs-20); font-weight:500; line-height:1.4; }
.field_bottom strong{ font-weight:600; }

@media screen and (max-width: 1250px) {
    .field_list{ margin-top:60px; flex-wrap:wrap; justify-content:center; }
    .field_list li,
    .field_list li:hover,
    .field_list:not(:hover) li.main_card{ width:100%; max-width:484px; transition:none; }
    .field_list li{height: auto;}
    .field_list .field_info{ width:auto; }
    .field_list .field_more{ width:auto; margin:30px 25px 23px; }
    .field_list .field_info p,
    .field_list .field_more{ opacity:1; visibility:visible; }
} /* tablet */

@media screen and (max-width: 650px) {
    .field_list{margin-top: 30px; gap: 12px;}
    .field_list .field_more .line{display: none;}
    .field_list .field_more{margin: 0px 25px 23px;}
    .field_list .field_more a{height: 40px; margin-top: 0px; }
} /* mobile */

/* ---------------------------------------- 등록증과 위촉장 ---------------------------------------- */
.cert_section{
    position:relative; padding:var(--sec-py) 0; overflow:hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.75) 82%, #fff 100%),
        url('../img/main/cert-bg.jpg') center / cover no-repeat #fff;
}
.cert_slider{ margin-top:70px; overflow:visible; cursor:default; }
.cert_slider .swiper-slide,
.cert_slider .cert_img,
.cert_slider strong,
.cert_slider span{ cursor:default; }
.cert_slider .swiper-slide{ width:292px; }
.cert_slider .cert_img{
    display:block; width:292px; height:388px; padding:10px; border-radius:16px; background-color:#f5f5f5;
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
    background-size:cover; background-position:center; background-repeat:no-repeat;
    background-origin:content-box; background-clip:content-box, border-box;
}
.cert_slider strong{ display:block; margin-top:30px; font-size:var(--fs-24); font-weight:800; color:#333; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.cert_slider span{ display:block; margin-top:8px; font-size:var(--fs-20); font-weight:400; color:#156FA8; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

@media screen and (max-width: 1250px) {
    .cert_slider{ padding:0 10px; margin-top: 30px;}
} /* tablet */

@media screen and (max-width: 650px) {
    .cert_slider .swiper-slide{ width:180px; }
    .cert_slider .cert_img{ width:180px; height:240px; padding:7px; }
    .cert_slider strong{ margin-top: 20px;}
} /* mobile */

/* 상담신청 */
.consult_area{ padding-top: 150px; }
.consult_area .section_title p.big{ font-size:var(--fs-24); }
.consult_area .inner{ position:relative; margin-top:80px; }
.consult_watermark{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:336px; height:429px; object-fit:contain; pointer-events:none;}
.consult_line{ height:5px; background-color:#dedfe0; }
.consult_notice{ margin-top:40px; margin-bottom: 10px; font-size:var(--fs-18); font-weight:600; color:#156FA8; line-height:1.4; }
.consult_form{ position:relative; margin-top:28px; }
.form_row{ display:flex; gap:24px; margin-bottom:20px; }
.form_field{ display:flex; align-items:flex-start; flex:1; }
.form_field label{ width:104px; padding-top:11px; font-size:var(--fs-20); font-weight:400; color:#333; flex-shrink:0; }
.form_field input,
.form_field select,
.form_field textarea{
    width:100%; height:50px; padding:0 20px; border:1px solid rgba(14,62,124,0.3); border-radius:5px;
    background-color:#fff; font-size:var(--fs-16); color:#333; outline:none;
}
.form_field select{ background:url('../img/common/select-icon.png') no-repeat calc(100% - 15px) 50% #fff; color:#7f7f7f; }
.form_field input::placeholder,
.form_field textarea::placeholder{ color:#7f7f7f; }
.form_field input:focus,
.form_field select:focus,
.form_field textarea:focus{ border-color:var(--main-color); }
.form_row .form_field:only-child{ flex:none; width:calc(50% - 12px); }
.form_row .form_field.full{ width:100%; flex:none; }
.form_field textarea{ height:172px; padding:14px 20px; resize:none; line-height:1.4; }
.form_bottom{ margin-top:30px; display:flex; align-items:flex-start; justify-content:space-between; padding-left:104px; }
.agree_check{ display:flex; align-items:center; gap:6px; cursor:pointer; }
.agree_check input{ width:15px; height:15px; accent-color:var(--main-color); }
.agree_check span{ font-size:var(--fs-14); font-weight:600; color:#333; letter-spacing:-0.06em; }
.agree_check a{ text-decoration:underline; }
.btn_submit{
    width:200px; height:56px; border:0; border-radius:5px; background-color:var(--main-color);
    font-size:var(--fs-20); font-weight:800; color:#fff; cursor:pointer; transition:background-color .3s;
}
.btn_submit:hover{ background-color:#0a2f60; }

@media screen and (max-width: 1250px) {
    .consult_area{ padding-top: 120px; }
    .form_row{ flex-direction:column; gap:20px; }
    .form_row .form_field:only-child{ width:100%; }
    .form_bottom{ padding-left:0; }
} /* tablet */
@media screen and (max-width: 960px) {
    .consult_area{padding-top: 100px;}
}
@media screen and (max-width: 650px) {
    .consult_area{padding-top: 80px;}
    .consult_area .inner{margin-top: 20px;}
    .consult_watermark{display: none;}
    .consult_notice{margin-top: 20px;}
    .consult_form{margin-top: 10px;}
    .consult_line{height: 3px;}
    .form_row{gap: 10px; margin-bottom: 0px;}
    .form_field{flex-direction: column; gap: 10px;}
    .form_field input, .form_field select{height: 40px;} 
    .form_field label{ width:80px; }
    .form_bottom{ flex-direction:column; gap:24px; }
    .btn_submit{ width:100%; height: 48px; }
} /* mobile */

/* ---------------------------------------- 오시는 길 ---------------------------------------- */
.map_section{ padding-top:var(--sec-py); }
.map_section .inner{ margin-top:80px; }
.map_line{ height:3px; border-radius:45px; background-color:rgba(29,53,95,0.2); }
.map_addr{ display:block; margin-top:45px; font-size:var(--fs-28); font-weight:800; color:#2A231C; letter-spacing:-0.02em; word-break:keep-all; }
.map_guide{ display:block; margin-top:14px; max-width:820px; font-size:var(--fs-18); font-weight:400; color:#666; line-height:1.7; letter-spacing:-0.02em; word-break:keep-all; }
.map_tel{ margin-top:22px; display:flex; gap:60px; }
.map_tel li{ font-size:var(--fs-20); font-weight:400; color:#555; letter-spacing:-0.02em; }
.map_time{ margin-top:26px; font-size:var(--fs-20); color:#333; }
.map_time span{ font-weight:400; font-size:var(--fs-20);}
.map_time strong{ margin-left:60px; font-weight:600; font-size:var(--fs-20);}
.map_img{ margin-top:70px; width:100%; height:800px; overflow:hidden; }
.map_img img,
.map_img iframe{
    width:100% !important;
    height:100% !important;
    min-height:100%;
    border:0;
    display:block;
}
.map_img img{ object-fit:cover; }

@media screen and (max-width: 1250px) {
    .map_time strong{ margin-left:30px; }
    .map_img{ margin-top:60px; height:640px; }
} /* tablet */
@media screen and (max-width: 960px) {
    .map_section .inner{margin-top: 60px;}
}
@media screen and (max-width: 650px) {
    .map_section .inner{margin-top: 40px;}
    .map_tel{ flex-direction:column; gap:6px; }
    .map_time{ display:flex; flex-direction:column; gap:6px; }
    .map_time strong{ margin-left:0; }
    .map_img{ height:420px; }
} /* mobile */

/* ---------------------------------------- 푸터 ---------------------------------------- */
#footer{ background-color:var(--navy-color); border-top:1px solid #2a241d; }
#footer > .inner{
    display:grid;
    grid-template-columns: 1.25fr 1fr 1.1fr 0.85fr;
    gap:40px 30px;
    align-items:start;
    padding:57px 0 50px;
}
#footer .f_left,
#footer .f_col{ position:static; }
#footer .f_logo{ display:flex; align-items:center; opacity:.8; }
#footer .f_logo img{ height:52px; width:auto; }
@media screen and (max-width: 650px) {
    #footer .f_logo img{ height:40px; }
} /* mobile */
#footer .f_desc{ margin-top:38px; font-size:var(--fs-13); font-weight:300; color:#fff; line-height:1.85; }
#footer .f_col strong{ display:block; font-size:var(--fs-12); font-weight:800; color:#648EA9; letter-spacing:0.12em; }
#footer .f_col ul{ margin-top:22px; }
#footer .f_col li{ font-size:var(--fs-13); font-weight:400; color:#fff; line-height:1.7; margin-bottom:10px; }
/* #footer .f_col li b{ font-weight:700; color: #fff;} */
#footer .f_col li a:hover{ color:var(--sub-color); }
#footer .f_bottom{ border-top:1px solid #2a241d; }
#footer .f_bottom .inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:50px 0;
}
#footer .f_bottom p{ font-size:var(--fs-12); font-weight:400; color:#fff; line-height:1.5; }
@media screen and (max-width: 1250px) {
    #footer > .inner,
    #footer .f_bottom .inner{ padding-left:20px; padding-right:20px; }
}
@media screen and (max-width: 960px) {
    #footer > .inner{
        display:flex;
        flex-direction:column;
        gap:0;
        padding-top:50px;
        padding-bottom:50px;
    }
    #footer .f_col{ margin-top:40px; }
} /* tablet */

@media screen and (max-width: 650px) {
    #footer > .inner{ padding:30px 20px 10px; }
    #footer .f_logo{ margin-bottom:10px; }
    #footer .f_desc{ display:none; }
    #footer .f_col{ margin-top:10px; }
    #footer .f_col ul{ margin-top:12px; }
    #footer .f_col li{ margin-bottom:0; }
    #footer .f_bottom .inner{
        flex-direction:column;
        align-items:flex-start;
        padding:20px;
    }
    #footer .f_bottom p{ font-size:12px; }
} /* mobile */

/* ---------------------------------------- 서브 공통 ---------------------------------------- */
/* 서브 헤더: white 버전 (배경 없음) → 스크롤 시 고정 화이트 */
#header.sub{ border-bottom:1px solid rgba(0,0,0,0.08); }
#header.sub .logo_w{ display:none; }
#header.sub .logo_c{ display:block; }
#header.sub .gnb a{ color:#333; }
#header.sub .gnb a:hover{ color:var(--main-color); }
#header.sub.scrolled,
#header.sub.on{ background-color:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.06); }

.sub_visual{
    height:406px; padding-top:80px; display:flex; flex-direction:column; justify-content:center;
    background:
        linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.75) 60%, rgba(255,255,255,0.55) 100%),
        url('../img/field_html/sub_visual.jpg') center / cover no-repeat #f4f6f8;
}
.sub_visual.visual_news{
    background:url('../img/banner/news.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual.visual_apply{
    background:url('../img/banner/apply.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual.visual_field1{
    background:url('../img/banner/category1.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual.visual_field2{
    background:url('../img/banner/category2.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual.visual_field3{
    background:url('../img/banner/category3.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual.visual_field4{
    background:url('../img/banner/category4.jpg') center / cover no-repeat #f4f6f8 !important;
}
.sub_visual .breadcrumb{
    display:flex; align-items:center; gap:8px; font-size:var(--fs-14); font-weight:600; color:var(--main-color); letter-spacing:0.06em;
}
.sub_visual .breadcrumb::before{ content:''; width:3px; height:14px; background-color:var(--main-color); }
.sub_visual h2{ margin-top:16px; font-size:var(--fs-42); font-weight:800; color:#222; line-height:1.2; }
.sub_visual p{ margin-top:18px; font-size:var(--fs-18); font-weight:400; color:#555; line-height:1.5; }

.sub_tab{ background-color:#eef1f4; border-bottom:1px solid #e2e6ea; }
.sub_tab ul{ display:flex; }
.sub_tab li a{
    display:flex; align-items:center; justify-content:center;
    width:200px; height:56px; font-size:var(--fs-16); font-weight:500; color:#666; text-align:center;
}
.sub_tab li a:hover{ color:var(--main-color); }
.sub_tab li.active a{
    background-color:#fff; color:var(--main-color); font-weight:700;
    border-bottom:5px solid var(--main-color);
}

.sub_section{ padding:var(--sec-py) 0; }
.sub_section .sub_title{ font-size:var(--fs-36); font-weight:800; color:#222; line-height:1.4; }
.sub_section .sub_title .point{ color:var(--main-color); }

/* 칩 탭 (업무분야 상세, 소식 분류) */
.chip_tab{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; list-style:none; }
.chip_tab li{ margin:0; padding:0; list-style:none; }
.chip_tab li a{
    display:flex; align-items:center; justify-content:center; padding:6px 16px; border:0; border-radius:5px;
    font-size:var(--fs-16); font-weight:500; color:#555; background-color:#f5f5f5; line-height:1.3;
}
.chip_tab li a:hover{ border:0; color:var(--main-color); background-color:#ebebeb; }
.chip_tab li.active a{ background-color:var(--main-color); color:#fff; font-weight:600; }

@media screen and (max-width: 1250px) {
    .sub_visual{ height:340px; }
    .sub_tab li a{ width:auto; padding:0 20px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .sub_visual{ height:280px; }
    .sub_tab ul{ flex-wrap:wrap; }
    .sub_tab li a{ height:46px; padding:0 12px; }
    .sub_tab li.active a{ border-bottom-width:3px; }
} /* mobile */

/* CTA 배너 */
.cta_section{
    height:446px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    background:linear-gradient(118deg, #223255 0%, #14203a 45%, #0d1420 100%);
}
.cta_section .cta_label{ font-size:var(--fs-13); font-weight:700; color:#648EA9; letter-spacing:0.14em; }
.cta_section h3{ margin-top:18px; font-size:var(--fs-30); font-weight:700; color:#fff; line-height:1.5; }
.cta_section .v_bar{ width:1px; height:44px; margin:28px auto; background-color:rgba(255,255,255,0.3); }
.cta_btns{ display:flex; align-items:center; justify-content:center; gap:14px; }
.cta_btns a{
    display:flex; align-items:center; justify-content:center; gap:8px;
    min-width:150px; height:46px; padding:0 24px; border-radius:4px; font-size:var(--fs-16); font-weight:600; color:#fff;
}
.cta_btns .btn_blue{ background-color:#3072b3; }
.cta_btns .btn_blue:hover{ background-color:#3f83c7; }
.cta_btns .btn_line{ border:1px solid rgba(255,255,255,0.4); background-color:rgba(255,255,255,0.06); }
.cta_btns .btn_line:hover{ background-color:rgba(255,255,255,0.15); }
.cta_btns .btn_line img{ width:17px; height:17px; filter:brightness(0) invert(1); }
.consult_form_section .consult_area{ margin-top:0; }
.board_bottom{ position:relative; margin-top:40px; }
.board_bottom .paging_box{ margin-top:0; }
.board_bottom .btn_write{
    position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center;
    height:42px; border-radius:4px; background-color:var(--main-color);
    font-size:var(--fs-15); font-weight:600; color:#fff;
}
.board_bottom .btn_write:hover{ background-color:#0a2f60; }

@media screen and (max-width: 650px) {
    .board_bottom{ display:flex; flex-direction:column; align-items:stretch; gap:20px; }
    .board_bottom .btn_write{ position:static; transform:none; width:100%; order:-1; }
}

@media screen and (max-width: 1250px) {
    .cta_section{ height:auto; padding:70px 15px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .cta_btns{ flex-direction:column; width:100%; }
    .cta_btns a{ width:100%; }
} /* mobile */

/* ---------------------------------------- 소개 - 인사말 ---------------------------------------- */
.greeting_section{ padding:var(--sec-py) 0; background-color:#fff; }
.greeting_top{ position:relative; display:flex; gap:25px; }
.greeting_photo{
    flex-shrink:0; width:486px; height:688px; background-color:#f1f3f6; border-radius:4px;
    display:flex; align-items:flex-end; justify-content:center; overflow:hidden;
}
.greeting_photo img{ width:435px; height:648px; object-fit:cover; object-position:top center; }
.greeting_text{ flex:1; padding-top:0; }
.greeting_text .eng_label{ font-size:var(--fs-16); font-weight:600; color:#7f95b9; letter-spacing:0.1em; padding-top:0; }
.greeting_text .label_line{ margin-top:20px; height:1px; background-color:#e0e4e9; }
.greeting_text .quote{ display:block; margin-top:48px; font-size:var(--fs-56); font-weight:800; color:rgba(30,155,234,0.3); line-height:1; font-family:Georgia, serif; }
.greeting_text h3{ margin-top:10px; font-size:var(--fs-38); font-weight:800; color:#222; line-height:1.4; }
.greeting_name{ margin-top:36px; display:flex; align-items:center; gap:14px; }
.greeting_name img{ width:40px; height:39px; object-fit:contain; }
.greeting_name strong{ font-size:var(--fs-38); font-weight:900; color:#333; }
.greeting_name span{ font-size:var(--fs-18); font-weight:600; color:#333; margin-top:12px; }
.greeting_field{ margin-top:120px; }
.greeting_field li{ display:flex; align-items:center; gap:9px; margin-bottom:10px; font-size:var(--fs-17); font-weight:500; color:#333; }
.greeting_field li img{ width:25px; height:24px; object-fit:contain; }
.greeting_desc{ margin-top:40px; }
.greeting_desc p{ font-size:var(--fs-18); font-weight:400; color:#333; line-height:1.6; margin-bottom:20px; }
.greeting_desc p:last-child{ margin-bottom:0; }
.greeting_desc strong{ font-weight:600; }

@media screen and (max-width: 1250px) {
    .greeting_top{ flex-direction:column; align-items:center; }
    .greeting_photo{ width:100%; max-width:486px; height:auto; padding-top:40px; }
    .greeting_photo img{ width:100%; height:auto; }
    .greeting_text{ width:100%; text-align:center; }
    .greeting_field li{ justify-content:center; }
} /* mobile */

/* ---------------------------------------- 소개 - 약력 ---------------------------------------- */
.history_section{ padding:var(--sec-py) 0; background-color:#fafbfc; }
.principle_cards{ margin-top:50px; display:flex; gap:24px; }
.principle_cards li{
    width:382px; height:263px; padding:20px 20px 0; border-radius:10px;
    background-position:center; background-size:cover; background-repeat:no-repeat;
}
.principle_cards li:nth-child(1){ background-image:url('../img/about/background1.jpg'); }
.principle_cards li:nth-child(2){ background-image:url('../img/about/background2.jpg'); }
.principle_cards li:nth-child(3){ background-image:url('../img/about/background3.jpg'); }
.principle_cards .num{ font-size:var(--fs-18); font-weight:700; color:#5b8fd6; }
.principle_cards h4{ margin-top:15px; font-size:var(--fs-24); font-weight:700; color:#fff; }
.principle_cards .line{ display:block; margin-top:14px; height:1px; background-color:rgba(255,255,255,0.2); }
.principle_cards p{ margin-top:18px; font-size:var(--fs-16); font-weight:400; color:rgba(255,255,255,0.85); line-height:1.55; }
.history_body{ margin-top:100px; display:flex; gap:90px; }
.history_left{ flex-shrink:0; width:380px; }
.history_left h3{ font-size:var(--fs-36); font-weight:800; color:#222; line-height:1.5; }
.history_left h3 .point{ color:var(--main-color); }
.history_left .photo{ margin-top:64px; width:366px; height:507px; border-radius:200px 200px 4px 4px; overflow:hidden; background-color:#eef1f5; }
.history_left .photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.history_right{ flex:1; }
.history_group{ position:relative; padding-left:75px; padding-bottom:52px; }
.history_group:last-child{ padding-bottom:0; }
.history_group::before{
    content:''; position:absolute; left:16px; top:34px; bottom:-34px; width:2px; background-color:#dbe2ea;
}
.history_group:last-child::before{ display:none; }
.history_group .ico{
    position:absolute; left:0; top:0; width:34px; height:34px; border-radius:50%;
    background-color:var(--main-color); display:flex; align-items:center; justify-content:center;
}
.history_group .ico img{ width:18px; height:18px; object-fit:contain; filter:brightness(0) invert(1); }
.history_card{ border:1px solid #e3e8ee; border-radius:10px; background-color:#fff; padding:30px; }
.history_card .card_head{ display:flex; align-items:center; gap:20px; }
.history_card .card_head h4{ font-size:var(--fs-20); font-weight:700; color:#222; white-space:nowrap; }
.history_card .card_head .line{ flex:1; height:1px; background-color:#e3e8ee; }
.history_card ul{ margin-top:28px; }
.history_card li{ display:flex; gap:22px; margin-bottom:20px; font-size:var(--fs-16); }
.history_card li:last-child{ margin-bottom:0; }
.history_card li .label{ flex-shrink:0; width:142px; font-weight:600; color:var(--main-color); }
.history_card li .txt{ color:#333; font-weight:400; }

@media screen and (max-width: 1250px) {
    .principle_cards{ flex-direction:column; align-items:center; }
    .principle_cards li{ width:100%; max-width:500px; height:auto; padding-bottom:24px; }
    .history_body{ flex-direction:column; gap:50px; }
    .history_left{ width:100%; }
    .history_left .photo{ margin:40px auto 0; }
    .history_card li{ flex-direction:column; gap:4px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .history_left .photo{ width:100%; height:auto; }
    .history_group{ padding-left:48px; }
    .history_card{ padding:20px; }
} /* mobile */

/* ---------------------------------------- 소개 - 전문등록증·위촉장 ---------------------------------------- */
.certgrid_section{ padding:var(--sec-py) 0; background-color:#fafbfc; }
.cert_grid{ margin-top:60px; display:grid; grid-template-columns:repeat(4, 282px); gap:99px 24px; justify-content:space-between; }
.cert_grid .cert_img{
    width:282px; height:376px; padding:10px; border-radius:16px; background-color:#fff;
    box-shadow:0 4px 14px rgba(0,0,0,0.08); box-sizing:border-box;
}
.cert_grid .cert_img .cert_thumb{
    display:block; width:100%; height:100%; border-radius:8px;
    background-color:#eee;
    background-size:cover; background-position:center; background-repeat:no-repeat;
    cursor:zoom-in;
}
.cert_grid .cert_img .cert_thumb_empty{
    display:flex; align-items:center; justify-content:center;
    background-color:#f0f2f5; background-image:none; color:#999; font-size:14px; cursor:default;
}
.cert_grid .cert_info{ margin-top:23px; }
.cert_grid .cert_info strong{ display:block; font-size:var(--fs-20); font-weight:800; color:#333; line-height:1.35; }
.cert_grid .cert_info span{ display:block; margin-top:6px; font-size:var(--fs-18); font-weight:400; color:#156FA8; }
.cert_grid .cert_view_btn{
    display:inline-flex; align-items:center; justify-content:center; margin-top:12px;
    height:32px; padding:0 14px; border:1px solid #0e3e7c; border-radius:4px;
    background:#fff; color:#0e3e7c; font-size:var(--fs-13); font-weight:600; line-height:1;
    transition:background .2s, color .2s;
}
.cert_grid .cert_view_btn:hover{ background:#0e3e7c; color:#fff; }

@media screen and (max-width: 1250px) {
    .cert_grid{ grid-template-columns:repeat(2, minmax(0, 282px)); justify-content:center; gap:60px 24px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .cert_grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:30px 12px; }
    .cert_grid .cert_img{ width:100%; height:auto; aspect-ratio:282 / 376; padding:4px; border-radius:10px; }
    .cert_grid .cert_img .cert_thumb{ border-radius:6px; }
    .cert_grid .cert_info{ margin-top:14px; }
    .cert_grid .cert_info strong{ font-size:var(--fs-16); }
    .cert_grid .cert_info span{ font-size:var(--fs-14); word-break:keep-all; }
    .cert_grid .cert_view_btn{ height:28px; margin-top:10px; padding:0 10px; font-size:12px; }
} /* mobile */

/* ---------------------------------------- 소개 - 오시는 길 ---------------------------------------- */
.location_section{ padding:var(--sec-py) 0; background-color:#f5f6f8; }
.location_section .sub_title{ font-size:var(--fs-34); }
.location_card{
    margin-top:66px; padding:30px; border-radius:10px; background-color:#fff;
    box-shadow:0 6px 24px rgba(0,0,0,0.06);
}
.location_card .card_top{ display:flex; align-items:center; justify-content:space-between; }
.location_card .card_top h4{ display:flex; align-items:center; gap:8px; font-size:var(--fs-24); font-weight:700; color:#222; }
.location_card .card_top h4 img{ width:27px; height:27px; object-fit:contain; }
.location_card .btn_gmap{
    display:flex; align-items:center; justify-content:center; height:41px; padding:0 21px;
    border:1px solid #d6dbe1; border-radius:5px; font-size:var(--fs-15); font-weight:500; color:#555;
}
.location_card .btn_gmap:hover{ border-color:var(--main-color); color:var(--main-color); }
.location_card .addr{ margin-top:22px; font-size:var(--fs-20); font-weight:600; color:#333; line-height:1.5; }
.location_card .card_line{ margin-top:28px; height:1px; background-color:#e5e8ec; }
.location_card .info_row{ margin-top:24px; display:flex; gap:50px; }
.location_card .info_row li{ font-size:var(--fs-18); color:#333; }
.location_card .info_row li b{ font-weight:700; margin-right:15px; }
.location_card .map_area{ margin-top:30px; height:720px; border-radius:6px; overflow:hidden; }
.location_card .map_area img,
.location_card .map_area iframe{
    width:100% !important;
    height:100% !important;
    min-height:100%;
    border:0;
    display:block;
}
.location_card .map_area img{ object-fit:cover; }
.location_card .card_note{ display:flex; align-items:flex-start; gap:15px; margin-top:30px; font-size:var(--fs-17); color:#555; line-height:1.7; word-break:keep-all; }
.location_card .card_note b{ flex-shrink:0; font-weight:700; color:#333; }

@media screen and (max-width: 1250px) {
    .location_card .info_row{ flex-direction:column; gap:14px; }
    .location_card .map_area{ height:560px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .location_card{ margin-top:40px; padding:20px; }
    .location_card .card_top{ flex-direction:column; align-items:flex-start; gap:14px; }
    .location_card .card_top h4{ font-size:var(--fs-18); white-space:nowrap; }
    .location_card .card_top h4 img{ width:22px; height:22px; }
    .location_card .btn_gmap{ height:36px; padding:0 16px; font-size:var(--fs-14); white-space:nowrap; }
    .location_card .addr{ margin-top:16px; font-size:var(--fs-16); }
    .location_card .card_line{ margin-top:20px; }
    .location_card .info_row{ margin-top:18px; }
    .location_card .info_row li{ font-size:var(--fs-15); }
    .location_card .info_row li b{ display:inline-block; min-width:70px; margin-right:10px; }
    .location_card .map_area{ height:400px; }
    .location_card .card_note{ flex-direction:column; gap:6px; margin-top:20px; font-size:var(--fs-15); }
} /* mobile */

/* ---------------------------------------- 업무분야 ---------------------------------------- */
.field_intro_section{ padding:var(--sec-py) 0 0; }
.field_intro_section .sub_title{ font-size:var(--fs-32); }
.center_box{ margin-top:30px; padding:30px; border-radius:10px; background-color:#f4f7fa; }
.center_box .label{ display:block; font-size:var(--fs-20); font-weight:700; color:var(--main-color); }
.center_box p{ margin-top:14px; font-size:var(--fs-17); font-weight:400; color:#555; line-height:1.6; }
.team_section{ padding:var(--sec-py) 0; }
.team_section h3{ font-size:var(--fs-30); font-weight:800; color:#222; }
.team_cards{ margin-top:44px; display:flex; gap:24px; }
.team_cards li{
    position:relative; width:384px; height:204px; padding:30px 32px 0; border-radius:8px; background-color:#fff;
    box-shadow:0 5px 18px rgba(0,0,0,0.08); border-left:6px solid var(--main-color);
}
.team_cards .division{ font-size:var(--fs-14); font-weight:700; color:#3072b3; letter-spacing:0.08em; }
.team_cards h4{ margin-top:12px; font-size:var(--fs-22); font-weight:700; color:#222; }
.team_cards p{ margin-top:14px; font-size:var(--fs-15); font-weight:400; color:#555; line-height:1.55; }
.subfield_section{ padding:var(--sec-py) 0; background-color:#f2f7fb; }
.subfield_section h3{ font-size:var(--fs-30); font-weight:800; color:#222; }
.subfield_grid{ margin-top:74px; display:grid; grid-template-columns:repeat(4, 282px); gap:24px; justify-content:space-between; }
.subfield_grid li{
    position:relative; height:135px; padding:20px 0 0 19px; border-radius:8px; background-color:#fff; overflow:hidden;
    box-shadow:0 4px 14px rgba(0,0,0,0.05); transition:transform .3s, box-shadow .3s;
}
.subfield_grid li:hover{ transform:translateY(-4px); box-shadow:0 8px 20px rgba(0,0,0,0.1); }
.subfield_grid li.active{ background-color:#16294a; }
.subfield_grid strong{ display:block; font-size:var(--fs-18); font-weight:700; color:#222; }
.subfield_grid p{ margin-top:8px; font-size:var(--fs-14); font-weight:400; color:#777; }
.subfield_grid .more{ display:inline-flex; align-items:center; gap:6px; margin-top:22px; font-size:var(--fs-14); font-weight:500; color:#3072b3; }
.subfield_grid .more::after{ content:'→'; font-size:var(--fs-13); }
.subfield_grid li.active strong,
.subfield_grid li.active p{ color:#fff; }
.subfield_grid li.active p{ color:rgba(255,255,255,0.8); }
.subfield_grid li.active .more{ color:#9cc4ec; }
.subfield_grid .deco{ position:absolute; right:-18px; bottom:-18px; width:109px; height:109px; opacity:.07; object-fit:contain; }

@media screen and (max-width: 1250px) {
    .team_cards{ flex-direction:column; align-items:center; }
    .team_cards li{ width:100%; max-width:500px; height:auto; padding-bottom:28px; }
    .subfield_grid{ grid-template-columns:repeat(2, 1fr); }
} /* tablet */

@media screen and (max-width: 650px) {
    .team_cards .division{ margin-top:0; }
    .team_cards li{ padding:15px; }
    .subfield_grid{ grid-template-columns:1fr; }
} /* mobile */

/* ---------------------------------------- 업무분야 상세 ---------------------------------------- */
.fielddetail_head{ padding:30px 0 0; }
.fielddetail_head .chip_tab{ justify-content:flex-start; }
.fielddetail_head .chip_tab li a{
    padding:5px 15px; border:0; border-radius:5px;
    font-size:var(--fs-18); font-weight:500; color:#555; background-color:#f5f5f5;
}
.fielddetail_head .chip_tab li a:hover{ border:0; color:var(--main-color); background-color:#ebebeb; }
.fielddetail_head .chip_tab li.active a{ background-color:var(--main-color); color:#fff; font-weight:500; }
.fielddetail_title{ margin-top:50px; text-align:center; }
.fielddetail_title .small{ font-size:var(--fs-18); font-weight:500; color:var(--main-color); }
.fielddetail_title h3{ margin-top:10px; font-size:var(--fs-42); font-weight:800; color:#222; }
.process_section{ padding:50px 0 60px; }
.process_section h4{ font-size:var(--fs-24); font-weight:700; color:#333; }
.process_section .process_desc{ margin-top:16px; font-size:var(--fs-18); font-weight:400; color:#333; line-height:1.55; }
/* legacy 4-col stack (다른 페이지 호환) */
.process_grid{ margin-top:36px; display:grid; grid-template-columns:repeat(4, 282px); gap:24px; justify-content:space-between; }
.process_grid .col{ display:flex; flex-direction:column; gap:0; }
/* 피그마형 2행 플로우 */
.process_flow{ margin-top:36px; display:flex; flex-direction:column; gap:24px; }
.process_flow_row{ display:grid; grid-template-columns:repeat(4, 282px); gap:24px; justify-content:space-between; align-items:start; }
.process_cell{ display:flex; flex-direction:column; gap:0; }
.process_box{
    position:relative; min-height:75px; padding:14px 16px 14px 46px; border-radius:5px;
    background-color:#dde3eb;
    display:flex; align-items:center; font-size:var(--fs-20); font-weight:500; color:#333; line-height:1.25;
}
.process_box,
.process_box .process_box_txt,
.process_box .process_box_txt *{ color:#333; }
.process_box--accent{ background-color:var(--main-color); }
.process_box--accent,
.process_box--accent .process_box_txt,
.process_box--accent .process_box_txt *{ color:#fff; }
.process_box .step{
    position:absolute; left:0; top:10px; width:25px; height:21px; border-radius:0 5px 5px 0;
    background-color:#002a5f; display:flex; align-items:center; justify-content:center;
    font-size:var(--fs-12); font-weight:700; color:#fff;
}
.process_box_txt{ display:block; }
.process_box_txt small{ display:block; margin-top:2px; font-size:var(--fs-16); font-weight:500; opacity:.9; }
.process_sub{
    position:relative; margin-top:10px; padding:14px 16px; border:1px solid rgba(14,62,124,0.5); border-radius:5px; background-color:#fff;
    font-size:var(--fs-18); font-weight:400; color:#555; line-height:1.4;
}
/* 박스 ↔ 서브박스 연결선 (피그마 Line 31) */
.process_box + .process_sub::before{
    content:''; position:absolute; left:50%; top:-10px; width:1px; height:10px;
    background:rgba(14,62,124,0.5); transform:translateX(-50%);
}
/* legacy grid 도 동일 연결선 */
.process_grid .col{ gap:0; }
.process_grid .process_box + .process_sub{ margin-top:10px; }
.step_section{ padding:40px 0 130px; }
.step_section h4{ font-size:26px; font-weight:800; color:#2a231c; }
.step_list{ margin-top:36px; }
.step_item{ position:relative; padding-left:56px; padding-bottom:24px; }
.step_item::before{
    content:''; position:absolute; left:17px; top:42px; bottom:0; width:2px;
    background:linear-gradient(180deg, #1e9bea 0%, rgba(30,155,234,0) 100%);
}
.step_item:last-child{ padding-bottom:0; }
.step_item:last-child::before{ display:none; }
.step_item .num{
    position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%;
    background-color:transparent;
    background-image:linear-gradient(160deg, var(--sub-color) 0%, var(--main-color) 100%);
    color:#fff; font-size:14px; font-weight:700; line-height:1;
    display:flex; align-items:center; justify-content:center;
}
.step_item .num,
.step_item .num *{ color:#fff; }
.step_item h5{ padding-top:6px; font-size:var(--fs-18); font-weight:600; color:#333; line-height:1.5; }
.step_item .step_body{ margin-top:10px; font-size:var(--fs-15); font-weight:400; color:#555; line-height:1.7; }
.step_item .step_body p{ margin-bottom:10px; }
.step_item .step_body p:last-child{ margin-bottom:0; }
.step_item .step_body ul{ margin:0; padding:0; list-style:none; }
.step_item .step_body ul li{ position:relative; padding-left:14px; margin-bottom:10px; color:#555; word-break:keep-all; }
.step_item .step_body ul li:last-child{ margin-bottom:0; }
.step_item .step_body ul li::before{ content:'·'; position:absolute; left:0; }
.step_item .step_body ul.paren_list li{ padding-left:0; }
.step_item .step_body ul.paren_list li::before{ content:none; }

/* ---------------------------------------- 업무분야 상세 (field_doc) ---------------------------------------- */
.field_doc{ padding:50px 0 130px; }
.field_doc .inner > h4:first-child,
.field_doc .sec_title:first-child{ margin-top:0; }
.field_doc .sec_title{ margin:56px 0 18px; font-size:26px; font-weight:800; color:#2a231c; line-height:1.4; }
.field_doc .lead{ margin:0 0 40px; font-size:var(--fs-18); color:#333; line-height:1.55; word-break:keep-all; }
.field_doc .step_list{ margin-top:0; }
.field_doc .sub_lead{ margin:0 0 28px; font-size:var(--fs-17); color:#555; line-height:1.7; word-break:keep-all; }
.field_doc .sub_head{ margin:0 0 10px; font-size:var(--fs-18); font-weight:600; color:#333; line-height:1.5; word-break:keep-all; }
.field_doc .para{ margin:0 0 14px; font-size:var(--fs-16); color:#555; line-height:1.6; word-break:keep-all; }
.field_doc .dot_list{ margin:0; padding:0; list-style:none; }
.field_doc .dot_list li{ position:relative; padding:0 0 10px 14px; font-size:var(--fs-16); color:#555; line-height:1.7; word-break:keep-all; }
.field_doc .dot_list li:last-child{ padding-bottom:0; }
.field_doc .dot_list li::before{ content:'·'; position:absolute; left:0; }

.field_info_card{ margin:0 0 32px; padding:34px 40px; border-radius:8px; background:#f9fafc; border:1px solid #e7eaef; }
.field_info_card h4{ margin:0 0 18px; font-size:20px; font-weight:600; color:#0e3e7c; line-height:1.5; }
.field_info_card .card_sub{ margin:0 0 14px; font-size:var(--fs-17); font-weight:600; color:#333; }
.field_info_card ul{ margin:0; padding:22px 28px; list-style:none; background:#fff; }
.field_info_card li{ position:relative; padding:0 0 10px 14px; font-size:var(--fs-16); color:#555; line-height:1.7; word-break:keep-all; }
.field_info_card li:last-child{ padding-bottom:0; }
.field_info_card li::before{ content:'·'; position:absolute; left:0; }
.field_info_card .card_note p{ margin:0 0 8px; font-size:var(--fs-16); color:#555; line-height:1.7; word-break:keep-all; }
.field_info_card .card_note p:last-child{ margin-bottom:0; }

.field_law{ margin:16px 0 28px; padding:24px 28px; border-left:3px solid var(--main-color); background:#f7f9fc; }
.field_law .law_title{ margin:0 0 12px; font-size:var(--fs-16); font-weight:700; color:#222; }
.field_law p{ margin:0 0 8px; font-size:var(--fs-15); color:#555; line-height:1.7; word-break:keep-all; }
.field_law p:last-child{ margin-bottom:0; }

.field_law_plain{ margin:32px 0 0; padding-top:32px; border-top:1px solid #e5e5e5; }
.field_law_plain .law_title{ margin:0 0 10px; font-size:var(--fs-18); font-weight:600; color:#333; line-height:1.5; }
.field_law_plain .law_list{ padding-left:24px; }
.field_law_plain .law_list > p,
.field_law_plain .law_clause{ margin:0 0 10px; font-size:var(--fs-15); color:#555; line-height:1.7; word-break:keep-all; }
.field_law_plain .law_list > p:last-child,
.field_law_plain .law_clause:last-child{ margin-bottom:0; }
.field_law_plain .law_clause p{ margin:0; font-size:inherit; color:inherit; line-height:inherit; }
.field_law_plain .law_sub{ padding-left:1em; white-space:pre-wrap; }
.field_law_plain .circ,
.step_body .circ,
.circ{
    display:inline-block; font-size:0.82em; font-weight:500;
    line-height:1; vertical-align:0.06em; transform:scale(0.92);
}

.step_body .law_ref{ margin:12px 0 10px; font-size:var(--fs-15); font-weight:600; color:#333; line-height:1.6; word-break:keep-all; }
.step_body .law_ref:first-child{ margin-top:0; }
.step_body .law_list{ margin:0 0 16px; padding-left:16px; }
.step_body .law_list:last-child{ margin-bottom:0; }
.step_body .law_list > p,
.step_body .law_clause{ margin:0 0 10px; font-size:var(--fs-15); color:#555; line-height:1.7; word-break:keep-all; }
.step_body .law_list > p:last-child,
.step_body .law_clause:last-child{ margin-bottom:0; }
.step_body .law_clause p{ margin:0; font-size:inherit; color:inherit; line-height:inherit; }
.step_body .law_sub{ padding-left:1.2em; white-space:pre-wrap; }

.field_example_grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0 40px; }
.field_example{ padding:22px 20px; border:1px solid #dde3eb; border-radius:8px; background:#fff; }
.field_example strong{ display:block; margin-bottom:10px; font-size:var(--fs-17); font-weight:700; color:#222; }
.field_example p{ margin:0; font-size:var(--fs-15); color:#666; line-height:1.55; word-break:keep-all; }

.field_compare{ width:100%; margin-top:24px; border-collapse:collapse; table-layout:fixed; }
.field_compare th,
.field_compare td{ padding:14px 18px; border:1px solid #e0e0e0; font-size:var(--fs-15); color:#555; line-height:1.6; vertical-align:top; word-break:keep-all; }
.field_compare thead th{ background:var(--main-color); color:#fff; font-weight:600; text-align:center; border-color:#e0e0e0; }
.field_compare tbody th{ width:18%; text-align:center; font-weight:400; background:#fff; color:#555; }

.field_req{ margin:10px 0 0; padding-left:0; }
.field_req .req_item{ margin:0; padding:0 0 28px; border-bottom:1px solid #e5e5e5; }
.field_req .req_item + .req_item{ padding-top:28px; }
.field_req .req_item:last-child{ padding-bottom:0; border-bottom:0; }
.field_req .req_item strong{ display:block; margin:0 0 10px; font-size:var(--fs-18); font-weight:600; color:#333; line-height:1.5; word-break:keep-all; }
.field_req .req_item p{ margin:0; padding-left:12px; font-size:var(--fs-16); font-weight:400; color:#555; line-height:1.75; word-break:keep-all; white-space:pre-wrap; }
.field_req .req_item p + p{ margin-top:10px; }
.field_req .req_item .circ_list{ margin:10px 0 0; padding:0 0 0 12px; list-style:none; }
.field_req .req_item .circ_list li{ margin:0 0 10px; font-size:var(--fs-15); color:#333; line-height:1.7; word-break:keep-all; }
.field_req .req_item .circ_list li:last-child{ margin-bottom:0; }
.field_req .req_item .circ_list .circ{
    display:inline-block; font-size:0.78em; font-weight:500;
    line-height:1; vertical-align:0.08em; transform:scale(0.88);
    margin-right:0.15em;
}
.field_req .req_item .circ_list + p{ margin-top:10px; }

.step_body .req_item{ margin:0 0 12px; }
.step_body .req_item:last-child{ margin-bottom:0; }
.step_body .req_item strong{ display:block; margin-bottom:6px; font-size:var(--fs-15); font-weight:400; color:#555; line-height:1.7; word-break:keep-all; }
.step_body .req_item p{ margin:0; padding-left:1.2em; font-size:var(--fs-15); color:#555; line-height:1.7; word-break:keep-all; }
.step_body .req_item ul{ margin:0; padding:0; list-style:none; }
.step_body .req_item ul li{ position:relative; padding-left:14px; margin-bottom:6px; font-size:var(--fs-15); color:#555; line-height:1.7; word-break:keep-all; }
.step_body .req_item ul li:last-child{ margin-bottom:0; }
.step_body .req_item ul li::before{ content:'-'; position:absolute; left:0; }

.field_doc .sec_sub{ margin:40px 0 14px; font-size:19px; font-weight:600; color:#0e3e7c; line-height:1.5; word-break:keep-all; }
.field_doc .sec_sub:first-child{ margin-top:0; }
.field_divider{ margin:40px 0 28px; border:0; border-top:1px solid #e5e5e5; }
.paren_blocks{ margin:0 0 8px; }
.paren_item{ margin:0 0 18px; }
.paren_item:last-child{ margin-bottom:0; }
.paren_item strong{ display:block; margin:0 0 6px; font-size:var(--fs-16); font-weight:600; color:#333; line-height:1.65; word-break:keep-all; }
.paren_item p{ margin:0; padding-left:1.2em; font-size:var(--fs-16); color:#555; line-height:1.65; word-break:keep-all; }
.n_circ{
    display:inline-flex; align-items:center; justify-content:center;
    width:1.2em; height:1.2em; margin:0 0.12em;
    border:1px solid currentColor; border-radius:50%;
    font-size:0.78em; font-weight:500; line-height:1;
    vertical-align:0.08em; box-sizing:border-box;
}

/* 개인파산절차 — bankruptcy_personal 전용 (피그마 좌표 캔버스) */
.bk_flow{
    --bk-line:rgba(14,62,124,0.35);
    --bk-cw:1160;
    --bk-ch:958;
    --bk-scale:1;
    margin:24px 0 56px; width:100%;
    overflow:hidden;
    container-type:inline-size;
}
@supports (width:1cqw){
    .bk_flow{ --bk-scale:min(1, calc(100cqw / (var(--bk-cw) * 1px))); }
}
.bk_flow .bk_viewport{
    width:100%; overflow:hidden;
    height:calc(var(--bk-ch) * 1px * var(--bk-scale));
}
.bk_flow .bk_canvas{
    position:relative;
    width:calc(var(--bk-cw) * 1px); height:calc(var(--bk-ch) * 1px);
    transform:scale(var(--bk-scale)); transform-origin:top left;
}
.bk_flow .bk_box{
    position:absolute; box-sizing:border-box;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:6px 8px; border-radius:4px;
    font-size:14px; font-weight:500; color:#555; line-height:1.35; word-break:keep-all;
}
.bk_flow .bk_box--accent{ background:#0e3e7c; color:#fff; border:0; }
.bk_flow .bk_box--accent, .bk_flow .bk_box--accent *{ color:#fff; }
.bk_flow .bk_box--out{ background:#fff; border:1px solid #0e3e7c; }
.bk_flow .bk_box--soft{ background:#f5f5f5; border:0; color:#555; }
.bk_flow .bk_line{
    position:absolute; display:block; background:var(--bk-line); pointer-events:none;
}
.bk_flow .bk_n1{ left:40px; top:0px; width:240px; height:52px; }
.bk_flow .bk_n2{ left:970px; top:62px; width:190px; height:52px; }
.bk_flow .bk_n3{ left:40px; top:96px; width:240px; height:52px; }
.bk_flow .bk_n4{ left:310px; top:96px; width:190px; height:52px; }
.bk_flow .bk_n5{ left:530px; top:96px; width:190px; height:52px; }
.bk_flow .bk_n6{ left:750px; top:96px; width:190px; height:52px; }
.bk_flow .bk_n7{ left:970px; top:130px; width:190px; height:52px; }
.bk_flow .bk_n8{ left:310px; top:158px; width:190px; height:52px; }
.bk_flow .bk_n9{ left:40px; top:240px; width:240px; height:52px; }
.bk_flow .bk_n10{ left:40px; top:312px; width:240px; height:52px; }
.bk_flow .bk_n11{ left:530px; top:312px; width:190px; height:52px; }
.bk_flow .bk_n12{ left:40px; top:384px; width:240px; height:52px; }
.bk_flow .bk_n13{ left:40px; top:456px; width:240px; height:52px; }
.bk_flow .bk_n14{ left:970px; top:494px; width:190px; height:52px; }
.bk_flow .bk_n15{ left:40px; top:528px; width:240px; height:52px; }
.bk_flow .bk_n16{ left:310px; top:528px; width:190px; height:52px; }
.bk_flow .bk_n17{ left:530px; top:528px; width:190px; height:52px; }
.bk_flow .bk_n18{ left:750px; top:528px; width:190px; height:52px; }
.bk_flow .bk_n19{ left:970px; top:562px; width:190px; height:52px; }
.bk_flow .bk_n20{ left:310px; top:590px; width:190px; height:52px; }
.bk_flow .bk_n21{ left:40px; top:672px; width:240px; height:52px; }
.bk_flow .bk_n22{ left:40px; top:744px; width:240px; height:52px; }
.bk_flow .bk_n23{ left:310px; top:782px; width:190px; height:52px; }
.bk_flow .bk_n24{ left:530px; top:782px; width:190px; height:52px; }
.bk_flow .bk_n25{ left:750px; top:782px; width:190px; height:52px; }
.bk_flow .bk_n26{ left:40px; top:816px; width:240px; height:52px; }
.bk_flow .bk_n27{ left:310px; top:844px; width:190px; height:52px; }
.bk_flow .bk_n28{ left:530px; top:844px; width:190px; height:52px; }
.bk_flow .bk_n29{ left:310px; top:906px; width:190px; height:52px; }
.bk_flow .bk_l1{ left:159px; top:52px; width:2px; height:44px; }
.bk_flow .bk_l2{ left:954px; top:87px; width:2px; height:36px; }
.bk_flow .bk_l3{ left:955px; top:87px; width:15px; height:2px; }
.bk_flow .bk_l4{ left:280px; top:121px; width:30px; height:2px; }
.bk_flow .bk_l5{ left:294px; top:121px; width:2px; height:64px; }
.bk_flow .bk_l6{ left:500px; top:121px; width:30px; height:2px; }
.bk_flow .bk_l7{ left:720px; top:121px; width:30px; height:2px; }
.bk_flow .bk_l8{ left:940px; top:121px; width:15px; height:2px; }
.bk_flow .bk_l9{ left:954px; top:121px; width:2px; height:36px; }
.bk_flow .bk_l10{ left:159px; top:148px; width:2px; height:92px; }
.bk_flow .bk_l11{ left:955px; top:155px; width:15px; height:2px; }
.bk_flow .bk_l12{ left:295px; top:183px; width:15px; height:2px; }
.bk_flow .bk_l13{ left:159px; top:292px; width:2px; height:20px; }
.bk_flow .bk_l14{ left:280px; top:337px; width:250px; height:2px; }
.bk_flow .bk_l15{ left:159px; top:364px; width:2px; height:20px; }
.bk_flow .bk_l16{ left:159px; top:436px; width:2px; height:20px; }
.bk_flow .bk_l17{ left:159px; top:508px; width:2px; height:20px; }
.bk_flow .bk_l18{ left:954px; top:519px; width:2px; height:36px; }
.bk_flow .bk_l19{ left:955px; top:519px; width:15px; height:2px; }
.bk_flow .bk_l20{ left:280px; top:553px; width:30px; height:2px; }
.bk_flow .bk_l21{ left:294px; top:553px; width:2px; height:64px; }
.bk_flow .bk_l22{ left:500px; top:553px; width:30px; height:2px; }
.bk_flow .bk_l23{ left:720px; top:553px; width:30px; height:2px; }
.bk_flow .bk_l24{ left:940px; top:553px; width:15px; height:2px; }
.bk_flow .bk_l25{ left:954px; top:553px; width:2px; height:36px; }
.bk_flow .bk_l26{ left:159px; top:580px; width:2px; height:92px; }
.bk_flow .bk_l27{ left:955px; top:587px; width:15px; height:2px; }
.bk_flow .bk_l28{ left:295px; top:615px; width:15px; height:2px; }
.bk_flow .bk_l29{ left:159px; top:724px; width:2px; height:20px; }
.bk_flow .bk_l30{ left:159px; top:796px; width:2px; height:20px; }
.bk_flow .bk_l31{ left:294px; top:807px; width:2px; height:36px; }
.bk_flow .bk_l32{ left:295px; top:807px; width:15px; height:2px; }
.bk_flow .bk_l33{ left:500px; top:807px; width:30px; height:2px; }
.bk_flow .bk_l34{ left:720px; top:807px; width:30px; height:2px; }
.bk_flow .bk_l35{ left:280px; top:841px; width:15px; height:2px; }
.bk_flow .bk_l36{ left:294px; top:841px; width:2px; height:92px; }
.bk_flow .bk_l37{ left:295px; top:869px; width:15px; height:2px; }
.bk_flow .bk_l38{ left:500px; top:869px; width:30px; height:2px; }
.bk_flow .bk_l39{ left:295px; top:931px; width:15px; height:2px; }

/* container query 미지원 브라우저용 폴백 (가로 스크롤 없이 축소) */
@supports not (width:1cqw){
    @media screen and (max-width:1250px){ .bk_flow{ --bk-scale:0.88; } }
    @media screen and (max-width:1100px){ .bk_flow{ --bk-scale:0.78; } }
    @media screen and (max-width:950px){ .bk_flow{ --bk-scale:0.68; } }
    @media screen and (max-width:750px){ .bk_flow{ --bk-scale:0.56; } }
}

/* 개인파산: 모바일 세로 플로우(개인회생과 동일 패턴) */
.bk_flow .bk_mflow{ display:none; }
@media screen and (max-width:768px){
    .bk_flow .bk_viewport{ display:none; }
    .bk_flow .bk_mflow{
        display:block;
        margin:20px 0 40px;
        overflow:visible;
        padding-bottom:0;
    }
    .bk_flow .bk_mflow .mf_chart{
        --mf-w:100%;
        --rf-conn:auto;
        --rf-soft:100%;
        min-width:0;
        width:100%;
    }
    .bk_flow .bk_mflow .mf_row--branch{
        flex-direction:column;
        align-items:flex-start;
        gap:0;
    }
    .bk_flow .bk_mflow .mf_row--branch > .mf_box{
        flex:0 0 auto;
        width:var(--mf-w);
        max-width:100%;
    }
    .bk_flow .bk_mflow .mf_branch{
        flex-direction:column;
        align-items:stretch;
        width:100%;
        max-width:100%;
        margin:10px 0 2px;
        padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28);
        gap:10px;
    }
    .bk_flow .bk_mflow .mf_conn{
        flex:0 0 auto;
        width:auto;
        height:auto;
        margin:0;
    }
    .bk_flow .bk_mflow .mf_conn .mf_hline,
    .bk_flow .bk_mflow .mf_branch > .mf_hline{ display:none; }
    .bk_flow .bk_mflow .mf_label{
        position:static;
        left:auto;
        bottom:auto;
        transform:none;
        display:inline-block;
        padding:4px 10px;
        border-radius:4px;
        background:rgba(14,62,124,0.08);
        font-size:12px;
        white-space:normal;
    }
    .bk_flow .bk_mflow .mf_branch .mf_box,
    .bk_flow .bk_mflow .mf_branch .mf_box--soft{
        flex:0 0 auto;
        width:100%;
        max-width:100%;
        min-height:52px;
        margin-top:0;
    }
    .bk_flow .bk_mflow .mf_box{
        font-size:var(--fs-15);
        min-height:52px;
    }
    .bk_flow .bk_mflow .mf_vline{
        height:22px;
        margin-left:calc(50% - 1px);
    }
}

.mediate_flow{ margin:28px 0 48px; }
.mf_chart{
    --mf-w:282px;
    display:flex; flex-direction:column; align-items:flex-start; width:100%;
}
.mf_row{ display:flex; align-items:center; width:100%; max-width:100%; }
.mf_row--branch{ flex-wrap:nowrap; gap:0; }
.mf_box{
    flex:0 0 var(--mf-w); width:var(--mf-w); min-height:70px; height:auto; padding:12px 14px; border-radius:5px;
    display:flex; align-items:center; justify-content:center; text-align:center;
    font-size:var(--fs-16); font-weight:600; color:#333; line-height:1.35; word-break:keep-all; box-sizing:border-box;
}
.mf_box--start{ background:#0e3e7c; color:#fff; border:0; }
.mf_box--start, .mf_box--start *{ color:#fff; }
.mf_box--end{ background:#002a5f; color:#fff; border:0; }
.mf_box--end, .mf_box--end *{ color:#fff; }
.mf_box--outline{ background:#fff; border:1px solid #0e3e7c; color:#333; }
.mf_box--soft{ background:#f5f5f5; border:0; color:#333; }
.mf_vline{
    width:2px; height:28px; flex-shrink:0;
    margin-left:calc(var(--mf-w) / 2 - 1px);
    background:rgba(14,62,124,0.35);
}
.mf_branch{ display:flex; align-items:center; flex:1 1 auto; min-width:0; }
.mf_hline{ flex:0 0 20px; width:20px; height:2px; background:rgba(14,62,124,0.35); }

/* 개인회생 신청절차 — 이 페이지(.rehab_flow) 전용 */
.rehab_flow .mf_chart{ --mf-w:340px; --rf-conn:100px; --rf-soft:300px; }
.rehab_flow .mf_box{ min-height:64px; font-size:17px; font-weight:500; }
.rehab_flow .mf_branch{ flex:0 0 auto; align-items:center; }
.rehab_flow .mf_conn{
    position:relative; flex:0 0 var(--rf-conn); width:var(--rf-conn);
    height:2px; display:flex; align-items:center;
}
.rehab_flow .mf_conn .mf_hline{ flex:1 1 auto; width:100%; height:2px; }
.rehab_flow .mf_label{
    position:absolute; left:50%; bottom:calc(100% + 6px); transform:translateX(-50%);
    padding:0; font-size:13px; font-weight:500; color:#0e3e7c;
    line-height:1.2; white-space:nowrap; word-break:keep-all; pointer-events:none;
}
.rehab_flow .mf_box--soft{
    flex:0 0 var(--rf-soft); width:var(--rf-soft); background:#f5f5f5; border:0; color:#333;
}

@media screen and (max-width:1250px){
    .mf_chart{ --mf-w:220px; }
    .mf_box{ font-size:var(--fs-15); padding:10px 12px; min-height:64px; }
    .mf_hline{ flex:0 0 14px; width:14px; }
    .rehab_flow .mf_chart{ --mf-w:280px; --rf-conn:80px; --rf-soft:240px; }
    .rehab_flow .mf_box{ font-size:var(--fs-15); }
    .rehab_flow .mf_label{ font-size:12px; }
}
@media screen and (max-width:1020px){
    /* 조정이혼 등 기본 mediate: 세로 스택 */
    .mf_chart{ --mf-w:min(100%, 320px); }
    .mf_row--branch{
        flex-direction:column; align-items:flex-start; gap:0;
    }
    .mf_row--branch > .mf_box{ flex:0 0 auto; width:var(--mf-w); max-width:100%; }
    .mf_branch{
        flex-direction:column; align-items:stretch;
        width:100%; max-width:var(--mf-w);
        margin:8px 0 4px 24px; padding-left:18px;
        border-left:2px solid rgba(14,62,124,0.28);
    }
    .mf_branch .mf_hline{ display:none; }
    .mf_branch .mf_box{
        flex:0 0 auto; width:100%; max-width:100%;
        margin-top:10px; min-height:56px;
    }
    .mf_vline{ height:22px; }

    /* 개인회생(.rehab_flow): 태블릿에서도 가로 유지 + 스크롤 */
    .rehab_flow{
        overflow-x:auto; -webkit-overflow-scrolling:touch;
        padding-bottom:12px; margin-left:-2px; margin-right:-2px;
    }
    .rehab_flow .mf_chart{
        --mf-w:240px; --rf-conn:72px; --rf-soft:200px;
        min-width:max-content; width:max-content;
    }
    .rehab_flow .mf_row--branch{
        flex-direction:row; flex-wrap:nowrap; align-items:center; gap:0;
    }
    .rehab_flow .mf_row--branch > .mf_box{
        flex:0 0 var(--mf-w); width:var(--mf-w); max-width:none;
    }
    .rehab_flow .mf_branch{
        flex-direction:row; align-items:center;
        width:auto; max-width:none;
        margin:0; padding:0;
        border-left:0;
    }
    .rehab_flow .mf_conn{
        flex:0 0 var(--rf-conn); width:var(--rf-conn); height:2px; margin:0;
    }
    .rehab_flow .mf_conn .mf_hline{ display:block; flex:1 1 auto; width:100%; }
    .rehab_flow .mf_label{
        position:absolute; left:50%; bottom:calc(100% + 6px); transform:translateX(-50%);
        display:block; padding:0; background:transparent; font-size:12px; white-space:nowrap;
    }
    .rehab_flow .mf_box--soft{
        flex:0 0 var(--rf-soft); width:var(--rf-soft); max-width:none; margin-top:0; min-height:56px;
    }
    .rehab_flow .mf_branch .mf_box{ margin-top:0; }
}
@media screen and (max-width:650px){
    .mf_chart{ --mf-w:100%; }
    .mf_box{ font-size:var(--fs-15); min-height:54px; }
    .mf_branch{ margin-left:16px; padding-left:14px; max-width:calc(100% - 16px); }

    /* 개인회생: 모바일만 세로 스택 */
    .rehab_flow{ overflow:visible; padding-bottom:0; margin-left:0; margin-right:0; }
    .rehab_flow .mf_chart{
        --mf-w:100%; --rf-conn:auto; --rf-soft:100%;
        min-width:0; width:100%;
    }
    .rehab_flow .mf_row--branch{
        flex-direction:column; align-items:flex-start; gap:0;
    }
    .rehab_flow .mf_row--branch > .mf_box{
        flex:0 0 auto; width:var(--mf-w); max-width:100%;
    }
    .rehab_flow .mf_branch{
        flex-direction:column; align-items:stretch;
        width:100%; max-width:100%;
        margin:10px 0 2px 0; padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28);
    }
    .rehab_flow .mf_conn{
        flex:0 0 auto; width:auto; height:auto; margin:0 0 8px;
    }
    .rehab_flow .mf_conn .mf_hline{ display:none; }
    .rehab_flow .mf_label{
        position:static; left:auto; bottom:auto; transform:none;
        display:inline-block; padding:4px 10px; border-radius:4px;
        background:rgba(14,62,124,0.08); font-size:12px; white-space:normal;
    }
    .rehab_flow .mf_box--soft{
        flex:0 0 auto; width:100%; max-width:100%; min-height:52px;
    }
    .rehab_flow .mf_box{ font-size:var(--fs-15); min-height:52px; }
}

.field_cta_box{ margin:40px 0 0; padding:34px 36px; border-radius:10px; background:linear-gradient(135deg,#0e3e7c 0%,#163a66 100%); color:#fff; }
.field_cta_box, .field_cta_box *{ color:#fff; }
.field_cta_box h4{ margin:0 0 12px; font-size:var(--fs-22); font-weight:700; }
.field_cta_box p{ margin:0 0 16px; font-size:var(--fs-16); line-height:1.65; opacity:.92; }
.field_cta_box ul{ margin:0; padding:0; list-style:none; }
.field_cta_box li{ position:relative; padding:0 0 8px 14px; font-size:var(--fs-15); line-height:1.55; }
.field_cta_box li::before{ content:'·'; position:absolute; left:0; }

.bank_proc{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:24px 0 40px; }
.bank_proc .bp{ min-height:64px; padding:14px 12px; border-radius:5px; background:#dde3eb; text-align:center; font-size:var(--fs-15); font-weight:600; color:#333; line-height:1.35; word-break:keep-all; display:flex; align-items:center; justify-content:center; }
.bank_proc .bp--accent{ background:var(--main-color); color:#fff; }

/* 법인회생 · 간이회생 절차 — 오른쪽 분기 연결선 길이 통일 */
.rc_proc,
.sg_flow{
    margin:24px 0 48px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
}
.rc_proc .mf_chart,
.sg_flow .mf_chart{
    --mf-w:320px;
    --rf-conn:72px;
    --rf-soft:260px;
    width:max-content;
    min-width:max-content;
}
.rc_proc .mf_box,
.sg_flow .mf_box{
    font-size:var(--fs-15);
    min-height:56px;
}
.rc_proc .mf_row--branch,
.sg_flow .mf_row--branch{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    gap:0;
}
.rc_proc .mf_row--branch > .mf_box,
.sg_flow .mf_row--branch > .mf_box{
    flex:0 0 var(--mf-w);
    width:var(--mf-w);
    max-width:none;
}
.rc_proc .mf_branch,
.sg_flow .mf_branch{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    width:auto;
    max-width:none;
    margin:0;
    padding:0;
    border-left:0;
    gap:0;
}
.rc_proc .mf_conn,
.sg_flow .mf_conn{
    position:relative;
    flex:0 0 var(--rf-conn);
    width:var(--rf-conn);
    height:2px;
    margin:0;
    display:flex;
    align-items:center;
}
.rc_proc .mf_conn .mf_hline,
.sg_flow .mf_conn .mf_hline{
    display:block;
    flex:1 1 auto;
    width:100%;
    height:2px;
}
.rc_proc .mf_branch > .mf_hline,
.sg_flow .mf_branch > .mf_hline{ display:none; }
.rc_proc .mf_label,
.sg_flow .mf_label{
    position:absolute;
    left:50%;
    bottom:calc(100% + 6px);
    transform:translateX(-50%);
    display:block;
    padding:0;
    border-radius:0;
    background:transparent;
    font-size:12px;
    font-weight:500;
    color:#0e3e7c;
    white-space:nowrap;
    line-height:1.2;
}
.rc_proc .mf_box--soft,
.sg_flow .mf_box--soft{
    flex:0 0 var(--rf-soft);
    width:var(--rf-soft);
    max-width:none;
    min-height:56px;
    margin-top:0;
}
.rc_proc .mf_vline,
.sg_flow .mf_vline{
    height:22px;
    margin-left:calc(var(--mf-w) / 2 - 1px);
}

@media screen and (max-width:768px){
    .rc_proc,
    .sg_flow{
        overflow:visible;
        padding-bottom:0;
    }
    .rc_proc .mf_chart,
    .sg_flow .mf_chart{
        --mf-w:100%;
        --rf-conn:auto;
        --rf-soft:100%;
        width:100%;
        min-width:0;
    }
    .rc_proc .mf_row--branch,
    .sg_flow .mf_row--branch{
        flex-direction:column;
        align-items:flex-start;
    }
    .rc_proc .mf_row--branch > .mf_box,
    .sg_flow .mf_row--branch > .mf_box{
        flex:0 0 auto;
        width:var(--mf-w);
        max-width:100%;
    }
    .rc_proc .mf_branch,
    .sg_flow .mf_branch{
        flex-direction:column;
        align-items:stretch;
        width:100%;
        max-width:100%;
        margin:10px 0 2px;
        padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28);
        gap:10px;
    }
    .rc_proc .mf_conn,
    .sg_flow .mf_conn{
        flex:0 0 auto;
        width:auto;
        height:auto;
        margin:0;
    }
    .rc_proc .mf_conn .mf_hline,
    .sg_flow .mf_conn .mf_hline{ display:none; }
    .rc_proc .mf_label,
    .sg_flow .mf_label{
        position:static;
        left:auto;
        bottom:auto;
        transform:none;
        display:inline-block;
        padding:4px 10px;
        border-radius:4px;
        background:rgba(14,62,124,0.08);
        white-space:normal;
    }
    .rc_proc .mf_box--soft,
    .sg_flow .mf_box--soft{
        flex:0 0 auto;
        width:100%;
        max-width:100%;
        min-height:52px;
    }
    .rc_proc .mf_vline,
    .sg_flow .mf_vline{
        margin-left:calc(50% - 1px);
    }
}

/* 형사 기소 전 절차 — 피그마 좌표 캔버스 */
.cr_pre{
    --cr-line:rgba(14,62,124,0.35);
    --cr-cw:1200;
    --cr-ch:480;
    --cr-scale:1;
    margin:16px 0 40px; width:100%;
    overflow:hidden;
    container-type:inline-size;
}
@supports (width:1cqw){
    .cr_pre{ --cr-scale:min(1, calc(100cqw / (var(--cr-cw) * 1px))); }
}
.cr_pre .cr_pre_viewport{
    width:100%; overflow:hidden;
    height:calc(var(--cr-ch) * 1px * var(--cr-scale));
}
.cr_pre .cr_pre_canvas{
    position:relative;
    width:calc(var(--cr-cw) * 1px); height:calc(var(--cr-ch) * 1px);
    transform:scale(var(--cr-scale)); transform-origin:top left;
}
.cr_pre .cr_box{
    position:absolute; box-sizing:border-box;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:6px 10px; border-radius:4px;
    font-size:15px; font-weight:500; color:#555; line-height:1.4; word-break:keep-all;
}
.cr_pre .cr_box--accent{ background:#0e3e7c; color:#fff; border:0; }
.cr_pre .cr_box--accent, .cr_pre .cr_box--accent *{ color:#fff; }
.cr_pre .cr_box--end{ background:#002a5f; color:#fff; border:0; }
.cr_pre .cr_box--end, .cr_pre .cr_box--end *{ color:#fff; }
.cr_pre .cr_box--out{ background:#fff; border:1px solid #0e3e7c; }
.cr_pre .cr_line{
    position:absolute; display:block; background:var(--cr-line); pointer-events:none;
}
.cr_pre .cr_lbl{
    position:absolute; display:block;
    font-size:13px; font-weight:500; color:rgba(14,62,124,0.9);
    line-height:1.35; text-align:center; white-space:nowrap; pointer-events:none;
}
.cr_pre .cr_n1{ left:430px; top:0; width:340px; height:52px; }
.cr_pre .cr_n2{ left:430px; top:84px; width:340px; height:52px; }
.cr_pre .cr_n3{ left:330px; top:168px; width:260px; height:52px; }
.cr_pre .cr_n4{ left:610px; top:168px; width:260px; height:52px; }
.cr_pre .cr_n5{ left:60px; top:252px; width:260px; height:52px; }
.cr_pre .cr_n6{ left:880px; top:252px; width:260px; height:52px; }
.cr_pre .cr_n7{ left:430px; top:336px; width:340px; height:52px; }
.cr_pre .cr_n8{ left:430px; top:420px; width:340px; height:52px; }
.cr_pre .cr_lbl1{ left:390px; top:255px; width:120px; }
.cr_pre .cr_lbl2{ left:190px; top:318px; width:80px; }
.cr_pre .cr_lbl3{ left:250px; top:432px; width:300px; text-align:right; }
.cr_pre .cr_l1{ left:599px; top:52px; width:2px; height:32px; }
.cr_pre .cr_l2{ left:599px; top:136px; width:2px; height:16px; }
.cr_pre .cr_l3{ left:459px; top:151px; width:282px; height:2px; }
.cr_pre .cr_l4{ left:459px; top:151px; width:2px; height:17px; }
.cr_pre .cr_l5{ left:739px; top:151px; width:2px; height:17px; }
.cr_pre .cr_l6{ left:459px; top:220px; width:2px; height:16px; }
.cr_pre .cr_l7{ left:189px; top:235px; width:272px; height:2px; }
.cr_pre .cr_l8{ left:189px; top:235px; width:2px; height:17px; }
.cr_pre .cr_l9{ left:739px; top:220px; width:2px; height:16px; }
.cr_pre .cr_l10{ left:739px; top:235px; width:272px; height:2px; }
.cr_pre .cr_l11{ left:1009px; top:235px; width:2px; height:17px; }
.cr_pre .cr_l12{ left:320px; top:277px; width:560px; height:2px; }
.cr_pre .cr_l13{ left:189px; top:304px; width:2px; height:58px; }
.cr_pre .cr_l14{ left:189px; top:361px; width:241px; height:2px; }
.cr_pre .cr_l15{ left:599px; top:388px; width:2px; height:32px; }

@supports not (width:1cqw){
    @media screen and (max-width:1250px){ .cr_pre{ --cr-scale:0.88; } }
    @media screen and (max-width:1100px){ .cr_pre{ --cr-scale:0.78; } }
    @media screen and (max-width:950px){ .cr_pre{ --cr-scale:0.68; } }
    @media screen and (max-width:750px){ .cr_pre{ --cr-scale:0.56; } }
}

.cr_pre .cr_pre_m{ display:none; }
.cr_pre_note{
    margin:8px 0 0; padding-left:4px;
    font-size:12.5px; font-weight:500; color:rgba(14,62,124,0.9); line-height:1.4;
}

@media screen and (max-width:768px){
    .cr_pre{ overflow:visible; container-type:normal; --cr-scale:1; }
    .cr_pre .cr_pre_viewport{ display:none; }
    .cr_pre .cr_pre_m{
        display:block; margin:12px 0 0; overflow:visible; padding-bottom:0;
    }
    .cr_pre .cr_pre_m .mf_chart{
        --mf-w:100%; --rf-conn:auto; --rf-soft:100%;
        width:100%; min-width:0;
    }
    .cr_pre .cr_pre_m .mf_row--branch{ flex-direction:column; align-items:flex-start; }
    .cr_pre .cr_pre_m .mf_row--branch > .mf_box{ flex:0 0 auto; width:var(--mf-w); max-width:100%; }
    .cr_pre .cr_pre_m .mf_branch{
        flex-direction:column; align-items:stretch;
        width:100%; max-width:100%; margin:10px 0 2px; padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28); gap:10px;
    }
    .cr_pre .cr_pre_m .mf_conn{ flex:0 0 auto; width:auto; height:auto; margin:0; }
    .cr_pre .cr_pre_m .mf_conn .mf_hline{ display:none; }
    .cr_pre .cr_pre_m .mf_label{
        position:static; left:auto; bottom:auto; transform:none;
        display:inline-block; padding:4px 10px; border-radius:4px;
        background:rgba(14,62,124,0.08); white-space:normal; font-size:12px;
    }
    .cr_pre .cr_pre_m .mf_box{ font-size:var(--fs-15); min-height:52px; }
    .cr_pre .cr_pre_m .mf_box--soft,
    .cr_pre .cr_pre_m .mf_box--end,
    .cr_pre .cr_pre_m .mf_box--outline{
        flex:0 0 auto; width:100%; max-width:100%; min-height:52px; margin-top:0;
    }
    .cr_pre .cr_pre_m .mf_branch .mf_box{ width:100%; }
    .cr_pre .cr_pre_m .mf_vline{ height:22px; margin-left:calc(50% - 1px); }
}

/* 민사소송절차도 — 피그마 좌표 캔버스 */
.cv_types{ margin:0 0 8px; padding-left:12px; }
.cv_types p{ margin:0; font-size:var(--fs-16); color:#555; line-height:1.75; word-break:keep-all; }
.cv_types p + p{ margin-top:0; }
.cv_types .circ{
    display:inline-block; font-size:0.78em; font-weight:500;
    line-height:1; vertical-align:0.08em; transform:scale(0.88);
    margin-right:0.1em;
}

.cv_flow{
    --cv-line:rgba(14,62,124,0.35);
    --cv-cw:1200;
    --cv-ch:690;
    --cv-scale:1;
    margin:16px 0 40px; width:100%;
    overflow:hidden;
    container-type:inline-size;
}
@supports (width:1cqw){
    .cv_flow{ --cv-scale:min(1, calc(100cqw / (var(--cv-cw) * 1px))); }
}
.cv_flow .cv_flow_viewport{
    width:100%; overflow:hidden;
    height:calc(var(--cv-ch) * 1px * var(--cv-scale));
}
.cv_flow .cv_flow_canvas{
    position:relative;
    width:calc(var(--cv-cw) * 1px); height:calc(var(--cv-ch) * 1px);
    transform:scale(var(--cv-scale)); transform-origin:top left;
}
.cv_flow .cv_box{
    position:absolute; z-index:2; box-sizing:border-box;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:8px 12px; border-radius:4px;
    font-size:15px; font-weight:500; color:#555; line-height:1.4; word-break:keep-all;
}
.cv_flow .cv_box--accent{ background:#0e3e7c; color:#fff; border:0; }
.cv_flow .cv_box--accent, .cv_flow .cv_box--accent *{ color:#fff; }
.cv_flow .cv_box--end{ background:#002a5f; color:#fff; border:0; }
.cv_flow .cv_box--end, .cv_flow .cv_box--end *{ color:#fff; }
.cv_flow .cv_box--out{ background:#fff; border:1px solid #0e3e7c; }
.cv_flow .cv_box--soft{
    background:#f5f5f5; border:0; flex-direction:column; gap:0;
    font-size:13.5px; line-height:1.45;
}
.cv_flow .cv_box--soft p{ margin:0; width:100%; }
.cv_flow .cv_box .cv_sub{ display:block; font-size:13px; font-weight:500; }
.cv_flow .cv_box .cv_blank{ height:0.6em; }
.cv_flow .cv_box .cv_indent{ padding-left:0.6em; }
.cv_flow .cv_line{
    position:absolute; z-index:1; display:block; background:var(--cv-line); pointer-events:none;
}

.cv_flow .cv_n1{ left:420px; top:0; width:260px; height:52px; }
.cv_flow .cv_n2{ left:420px; top:84px; width:260px; height:56px; }
.cv_flow .cv_n3{ left:420px; top:172px; width:260px; height:56px; }
.cv_flow .cv_n4{ left:100px; top:264px; width:260px; height:56px; }
.cv_flow .cv_n5{ left:420px; top:264px; width:260px; height:56px; }
.cv_flow .cv_n6{ left:420px; top:356px; width:260px; height:56px; }
.cv_flow .cv_n7{ left:420px; top:448px; width:260px; height:52px; }
.cv_flow .cv_n8{ left:740px; top:448px; width:220px; height:150px; text-align:left; align-items:flex-start; justify-content:center; }
.cv_flow .cv_n9{ left:980px; top:448px; width:220px; height:150px; text-align:left; align-items:flex-start; justify-content:center; }
.cv_flow .cv_n10{ left:420px; top:540px; width:260px; height:52px; }
.cv_flow .cv_n11{ left:100px; top:632px; width:580px; height:52px; }

.cv_flow .cv_l1{ left:549px; top:52px; width:2px; height:32px; }
.cv_flow .cv_l2{ left:549px; top:140px; width:2px; height:32px; }
.cv_flow .cv_l3{ left:549px; top:228px; width:2px; height:18px; }
.cv_flow .cv_l4{ left:229px; top:245px; width:322px; height:2px; }
.cv_flow .cv_l5{ left:229px; top:245px; width:2px; height:19px; }
.cv_flow .cv_l6{ left:549px; top:245px; width:2px; height:19px; }
.cv_flow .cv_l7{ left:549px; top:320px; width:2px; height:36px; }
.cv_flow .cv_l8{ left:549px; top:412px; width:2px; height:12px; }
.cv_flow .cv_l9{ left:549px; top:423px; width:542px; height:2px; }
.cv_flow .cv_l10{ left:849px; top:423px; width:2px; height:25px; }
.cv_flow .cv_l11{ left:1089px; top:423px; width:2px; height:25px; }
.cv_flow .cv_l12{ left:549px; top:423px; width:2px; height:25px; }
.cv_flow .cv_l13{ left:549px; top:500px; width:2px; height:40px; }
.cv_flow .cv_l14{ left:549px; top:592px; width:2px; height:40px; }
.cv_flow .cv_l15{ left:229px; top:320px; width:2px; height:312px; }

@supports not (width:1cqw){
    @media screen and (max-width:1250px){ .cv_flow{ --cv-scale:0.88; } }
    @media screen and (max-width:1100px){ .cv_flow{ --cv-scale:0.78; } }
    @media screen and (max-width:950px){ .cv_flow{ --cv-scale:0.68; } }
    @media screen and (max-width:750px){ .cv_flow{ --cv-scale:0.56; } }
}

.cv_flow .cv_flow_m{ display:none; }
@media screen and (max-width:768px){
    .cv_flow{ overflow:visible; container-type:normal; --cv-scale:1; }
    .cv_flow .cv_flow_viewport{ display:none; }
    .cv_flow .cv_flow_m{
        display:block; margin:12px 0 0; overflow:visible; padding-bottom:0;
    }
    .cv_flow .cv_flow_m .mf_chart{
        --mf-w:100%; --rf-conn:auto; --rf-soft:100%;
        width:100%; min-width:0;
    }
    .cv_flow .cv_flow_m .mf_row--branch{ flex-direction:column; align-items:flex-start; }
    .cv_flow .cv_flow_m .mf_row--branch > .mf_box{ flex:0 0 auto; width:var(--mf-w); max-width:100%; }
    .cv_flow .cv_flow_m .mf_branch{
        flex-direction:column; align-items:stretch;
        width:100%; max-width:100%; margin:10px 0 2px; padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28); gap:10px;
    }
    .cv_flow .cv_flow_m .mf_conn{ flex:0 0 auto; width:auto; height:auto; margin:0; }
    .cv_flow .cv_flow_m .mf_conn .mf_hline{ display:none; }
    .cv_flow .cv_flow_m .mf_box{ font-size:var(--fs-15); min-height:52px; }
    .cv_flow .cv_flow_m .mf_box--soft,
    .cv_flow .cv_flow_m .mf_box--end,
    .cv_flow .cv_flow_m .mf_box--outline{
        flex:0 0 auto; width:100%; max-width:100%; min-height:52px; margin-top:0;
    }
    .cv_flow .cv_flow_m .mf_branch .mf_box{ width:100%; }
    .cv_flow .cv_flow_m .mf_vline{ height:22px; margin-left:calc(50% - 1px); }
    .cv_flow .cv_flow_m .cv_sub{ display:block; font-size:12.5px; }
}

/* 가압류 신청절차도 — 피그마 좌표 캔버스 */
.ps_list{ margin:0 0 8px; padding-left:12px; }
.ps_list > p{ margin:0; font-size:var(--fs-16); color:#333; line-height:1.8; word-break:keep-all; }
.ps_list > p + p{ margin-top:0; }
.ps_list .ps_note{ padding-left:1.4em; color:#555; }
.ps_list .circ{
    display:inline-block; font-size:0.78em; font-weight:500;
    line-height:1; vertical-align:0.08em; transform:scale(0.88);
    margin-right:0.15em;
}

.ps_flow{
    --ps-line:rgba(14,62,124,0.35);
    --ps-cw:1200;
    --ps-ch:408;
    --ps-scale:1;
    margin:24px 0 40px; width:100%;
    overflow:hidden;
    container-type:inline-size;
}
@supports (width:1cqw){
    .ps_flow{ --ps-scale:min(1, calc(100cqw / (var(--ps-cw) * 1px))); }
}
.ps_flow .ps_flow_viewport{
    width:100%; overflow:hidden;
    height:calc(var(--ps-ch) * 1px * var(--ps-scale));
}
.ps_flow .ps_flow_canvas{
    position:relative;
    width:calc(var(--ps-cw) * 1px); height:calc(var(--ps-ch) * 1px);
    transform:scale(var(--ps-scale)); transform-origin:top left;
}
.ps_flow .ps_box{
    position:absolute; z-index:2; box-sizing:border-box;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:8px 12px; border-radius:4px;
    font-size:15px; font-weight:500; color:#555; line-height:1.4; word-break:keep-all;
}
.ps_flow .ps_box--accent{ background:#0e3e7c; color:#fff; border:0; }
.ps_flow .ps_box--accent, .ps_flow .ps_box--accent *{ color:#fff; }
.ps_flow .ps_box--end{ background:#002a5f; color:#fff; border:0; }
.ps_flow .ps_box--end, .ps_flow .ps_box--end *{ color:#fff; }
.ps_flow .ps_box--out{ background:#fff; border:1px solid #0e3e7c; }
.ps_flow .ps_box--soft{ background:#f5f5f5; border:0; color:#333; }
.ps_flow .ps_line{
    position:absolute; z-index:1; display:block; background:var(--ps-line); pointer-events:none;
}
.ps_flow .ps_n1{ left:380px; top:0; width:440px; height:56px; }
.ps_flow .ps_n2{ left:380px; top:88px; width:440px; height:56px; }
.ps_flow .ps_n3{ left:380px; top:176px; width:440px; height:56px; }
.ps_flow .ps_n4{ left:380px; top:264px; width:440px; height:56px; }
.ps_flow .ps_n5{ left:380px; top:352px; width:440px; height:56px; }
.ps_flow .ps_l1{ left:599px; top:56px; width:2px; height:32px; }
.ps_flow .ps_l2{ left:599px; top:144px; width:2px; height:32px; }
.ps_flow .ps_l3{ left:599px; top:232px; width:2px; height:32px; }
.ps_flow .ps_l4{ left:599px; top:320px; width:2px; height:32px; }

@supports not (width:1cqw){
    @media screen and (max-width:1250px){ .ps_flow{ --ps-scale:0.88; } }
    @media screen and (max-width:1100px){ .ps_flow{ --ps-scale:0.78; } }
    @media screen and (max-width:950px){ .ps_flow{ --ps-scale:0.68; } }
    @media screen and (max-width:750px){ .ps_flow{ --ps-scale:0.56; } }
}

.ps_flow .ps_flow_m{ display:none; }
@media screen and (max-width:768px){
    .ps_flow{ overflow:visible; container-type:normal; --ps-scale:1; }
    .ps_flow .ps_flow_viewport{ display:none; }
    .ps_flow .ps_flow_m{ display:block; margin:12px 0 0; }
    .ps_flow .ps_flow_m .mf_chart{
        --mf-w:100%; --rf-conn:auto; --rf-soft:100%;
        width:100%; min-width:0;
    }
    .ps_flow .ps_flow_m .mf_box{ font-size:var(--fs-15); min-height:52px; }
    .ps_flow .ps_flow_m .mf_box--soft,
    .ps_flow .ps_flow_m .mf_box--end,
    .ps_flow .ps_flow_m .mf_box--outline{
        flex:0 0 auto; width:100%; max-width:100%; min-height:52px;
    }
    .ps_flow .ps_flow_m .mf_vline{ height:22px; margin-left:calc(50% - 1px); }
}

/* 형사 기소 후 절차 — 피그마 좌표 캔버스 */
.cr_post{
    --cr-line:rgba(14,62,124,0.35);
    --crp-cw:1200;
    --crp-ch:706;
    --crp-scale:1;
    margin:16px 0 40px; width:100%;
    overflow:hidden;
    container-type:inline-size;
}
@supports (width:1cqw){
    .cr_post{ --crp-scale:min(1, calc(100cqw / (var(--crp-cw) * 1px))); }
}
.cr_post .cr_post_viewport{
    width:100%; overflow:hidden;
    height:calc(var(--crp-ch) * 1px * var(--crp-scale));
}
.cr_post .cr_post_canvas{
    position:relative;
    width:calc(var(--crp-cw) * 1px); height:calc(var(--crp-ch) * 1px);
    transform:scale(var(--crp-scale)); transform-origin:top left;
}
.cr_post .cr_pbox{
    position:absolute; box-sizing:border-box; z-index:2;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:6px 8px; border-radius:4px;
    font-size:13.5px; font-weight:500; color:#555; line-height:1.35; word-break:keep-all;
}
.cr_post .cr_pbox--out{ background:#fff; border:1px solid #0e3e7c; }
.cr_post .cr_pbox--soft{
    background:#f5f5f5; border:0;
    text-align:center; padding:6px 8px;
}
.cr_post .cr_pline{
    position:absolute; z-index:1; display:block; background:var(--cr-line); pointer-events:none;
}
.cr_post .cr_plbl{
    position:absolute; z-index:3; display:block;
    font-size:12.5px; font-weight:500; color:rgba(14,62,124,0.9);
    line-height:1.35; text-align:center; white-space:nowrap; pointer-events:none;
    background:#fff; padding:0 8px; box-sizing:border-box;
}
.cr_post .cr_plbl1{ left:700px; top:2px; width:250px; transform:translateX(-50%); }
.cr_post .cr_plbl2{ left:980px; top:2px; width:250px; transform:translateX(-50%); }
.cr_post .cr_plbl3{ left:980px; top:242.5px; width:auto; transform:translateX(-50%); }
.cr_post .cr_plbl4{ left:1115px; top:636px; width:90px; text-align:left; }

.cr_post .cr_pn1{ left:295px; top:28px; width:250px; height:46px; }
.cr_post .cr_pn2{ left:295px; top:94px; width:250px; height:46px; }
.cr_post .cr_pn3{ left:295px; top:160px; width:250px; height:46px; }
.cr_post .cr_pn4{ left:295px; top:226px; width:250px; height:46px; }
.cr_post .cr_pn5{ left:295px; top:292px; width:250px; height:46px; }
.cr_post .cr_pn6{ left:295px; top:358px; width:250px; height:56px; font-size:13px; }
.cr_post .cr_pn7{ left:295px; top:434px; width:250px; height:46px; }
.cr_post .cr_pn8{ left:95px; top:292px; width:170px; height:56px; font-size:13px; }
.cr_post .cr_pn9{ left:95px; top:368px; width:170px; height:56px; font-size:13px; }
.cr_post .cr_pn10{ left:575px; top:28px; width:250px; height:46px; }
.cr_post .cr_pn11{ left:575px; top:94px; width:250px; height:46px; }
.cr_post .cr_pn12{ left:575px; top:160px; width:250px; height:46px; }
.cr_post .cr_pn13{ left:575px; top:226px; width:250px; height:46px; }
.cr_post .cr_pn14{ left:575px; top:292px; width:250px; height:46px; }
.cr_post .cr_pn15{ left:575px; top:358px; width:250px; height:150px; font-size:13px; }
.cr_post .cr_pn16{ left:855px; top:28px; width:250px; height:46px; }
.cr_post .cr_pn17{ left:855px; top:94px; width:250px; height:46px; }
.cr_post .cr_pn18{ left:855px; top:160px; width:250px; height:46px; }
.cr_post .cr_pn19{ left:855px; top:292px; width:250px; height:46px; }
.cr_post .cr_pn20{ left:855px; top:358px; width:250px; height:46px; }
.cr_post .cr_pn21{ left:855px; top:424px; width:250px; height:56px; font-size:13px; }
.cr_post .cr_pn22{ left:855px; top:524px; width:250px; height:46px; }
.cr_post .cr_pn23{ left:855px; top:590px; width:250px; height:46px; }
.cr_post .cr_pn24{ left:855px; top:656px; width:250px; height:46px; }

/* Figma 90:4263 connectors — 인정 분기는 끊김 없이 979 센터라인까지 맞춤 */
.cr_post .cr_pl1{ left:558px; top:51px; width:15px; height:2px; }
.cr_post .cr_pl2{ left:558px; top:51px; width:2px; height:408px; }
.cr_post .cr_pl3{ left:825px; top:51px; width:15px; height:2px; }
.cr_post .cr_pl4{ left:838px; top:51px; width:2px; height:132px; }
.cr_post .cr_pl5{ left:419px; top:74px; width:2px; height:20px; }
.cr_post .cr_pl6{ left:699px; top:74px; width:2px; height:20px; }
.cr_post .cr_pl7{ left:979px; top:74px; width:2px; height:20px; }
.cr_post .cr_pl8{ left:419px; top:140px; width:2px; height:20px; }
.cr_post .cr_pl9{ left:699px; top:140px; width:2px; height:20px; }
.cr_post .cr_pl10{ left:979px; top:140px; width:2px; height:20px; }
.cr_post .cr_pl11{ left:838px; top:183px; width:15px; height:2px; }
.cr_post .cr_pl12{ left:419px; top:206px; width:2px; height:20px; }
.cr_post .cr_pl13{ left:699px; top:206px; width:2px; height:20px; }
.cr_post .cr_pl14{ left:825px; top:249px; width:154px; height:2px; }
.cr_post .cr_pl15{ left:979px; top:206px; width:2px; height:86px; }
.cr_post .cr_pl16{ left:419px; top:272px; width:2px; height:20px; }
.cr_post .cr_pl17{ left:699px; top:272px; width:2px; height:20px; }
.cr_post .cr_pl18{ left:265px; top:319px; width:30px; height:2px; }
.cr_post .cr_pl19{ left:419px; top:338px; width:2px; height:20px; }
.cr_post .cr_pl20{ left:699px; top:338px; width:2px; height:20px; }
.cr_post .cr_pl21{ left:979px; top:338px; width:2px; height:20px; }
.cr_post .cr_pl22{ left:265px; top:395px; width:30px; height:2px; }
.cr_post .cr_pl23{ left:979px; top:404px; width:2px; height:20px; }
.cr_post .cr_pl24{ left:419px; top:414px; width:2px; height:20px; }
.cr_post .cr_pl25{ left:545px; top:457px; width:15px; height:2px; }
.cr_post .cr_pl26{ left:979px; top:480px; width:2px; height:44px; }
.cr_post .cr_pl27{ left:699px; top:508px; width:2px; height:39px; }
.cr_post .cr_pl28{ left:699px; top:547px; width:155px; height:2px; }
.cr_post .cr_pl29{ left:979px; top:570px; width:2px; height:20px; }
.cr_post .cr_pl30{ left:979px; top:636px; width:2px; height:20px; }

@supports not (width:1cqw){
    @media screen and (max-width:1250px){ .cr_post{ --crp-scale:0.88; } }
    @media screen and (max-width:1100px){ .cr_post{ --crp-scale:0.78; } }
    @media screen and (max-width:950px){ .cr_post{ --crp-scale:0.68; } }
    @media screen and (max-width:750px){ .cr_post{ --crp-scale:0.56; } }
}

.cr_post .cr_post_m{ display:none; }
.cr_col_title{
    margin:0 0 14px;
    font-size:13px; font-weight:600; color:#0e3e7c;
    text-align:center; line-height:1.4; width:100%;
}
.cr_note{
    margin:8px 0; font-size:12.5px; font-weight:500;
    color:rgba(14,62,124,0.9); text-align:center; line-height:1.35; width:100%;
}

@media screen and (max-width:768px){
    .cr_post{ overflow:visible; container-type:normal; --crp-scale:1; }
    .cr_post .cr_post_viewport{ display:none; }
    .cr_post .cr_post_m{
        display:block; margin:12px 0 0; overflow:visible; padding-bottom:0;
    }
    .cr_post .cr_post_m .mf_chart{
        --mf-w:100%; --rf-conn:auto; --rf-soft:100%;
        width:100%; min-width:0;
    }
    .cr_post .cr_post_m .mf_row--branch{ flex-direction:column; align-items:flex-start; }
    .cr_post .cr_post_m .mf_row--branch > .mf_box{ flex:0 0 auto; width:var(--mf-w); max-width:100%; }
    .cr_post .cr_post_m .mf_branch{
        flex-direction:column; align-items:stretch;
        width:100%; max-width:100%; margin:10px 0 2px; padding:0 0 0 16px;
        border-left:2px solid rgba(14,62,124,0.28); gap:10px;
    }
    .cr_post .cr_post_m .mf_conn{ flex:0 0 auto; width:auto; height:auto; margin:0; }
    .cr_post .cr_post_m .mf_conn .mf_hline{ display:none; }
    .cr_post .cr_post_m .mf_box{ font-size:var(--fs-15); min-height:52px; }
    .cr_post .cr_post_m .mf_box--soft,
    .cr_post .cr_post_m .mf_box--outline{
        flex:0 0 auto; width:100%; max-width:100%; min-height:52px; margin-top:0;
    }
    .cr_post .cr_post_m .mf_box--soft{
        align-items:flex-start; justify-content:flex-start;
        text-align:left; padding:14px 16px; min-height:auto;
    }
    .cr_post .cr_post_m .mf_branch .mf_box{ width:100%; }
    .cr_post .cr_post_m .mf_vline{ height:22px; margin-left:calc(50% - 1px); }
    .cr_post .cr_post_m .cr_col_title{ margin:18px 0 12px; }
    .cr_post .cr_post_m .mf_chart > .cr_col_title:first-child{ margin-top:0; }
}

@media screen and (max-width: 1250px) {
    .process_grid{ grid-template-columns:repeat(2, 1fr); }
    .process_flow_row{ grid-template-columns:repeat(2, 1fr); }
    .field_example_grid{ grid-template-columns:repeat(2,1fr); }
    .field_info_card{ padding:24px 20px; }
    .bank_proc{ grid-template-columns:repeat(2,1fr); }
} /* tablet */

@media screen and (max-width: 650px) {
    .process_grid{ grid-template-columns:1fr; }
    .process_flow_row{ grid-template-columns:1fr; }
    .fielddetail_head .chip_tab li a{ font-size:var(--fs-15); }
    .field_example_grid{ grid-template-columns:1fr; }
    .field_compare{ display:block; overflow-x:auto; }
    .bank_proc{ grid-template-columns:1fr; }
    .field_doc .sec_title{ font-size:22px; }
} /* mobile */

/* ---------------------------------------- 게시판 (소식/온라인상담) ---------------------------------------- */
.board_section{ padding:var(--sec-py) 0; }
.board_top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:34px; }
.board_search{
    display:flex; align-items:center; gap:10px; width:307px; height:44px; padding:0 15px;
    border:1px solid #d6dbe1; border-radius:5px; background-color:#fff;
}
.board_search input{ flex:1; border:0; outline:none; box-shadow:none; font-size:var(--fs-15); color:#333; background:transparent; }
.board_search input:focus{ border:0 !important; outline:none; box-shadow:none; }
.board_search input::placeholder{ color:#999; }
.board_search button{ border:0; background:transparent; cursor:pointer; padding:0; display:flex; }
.board_search button img{ width:16px; height:16px; opacity:.55; }
.board_list{ border-top:2px solid #222; }
.board_list .board_head{
    display:flex; align-items:center; height:45px; border-bottom:1px solid #ddd;
    font-size:var(--fs-15); font-weight:600; color:#555;
}
.board_list .board_head .cate{ width:98px; padding-left:26px; }
.board_list .board_head .num{ width:98px; padding-left:26px; }
.board_list .board_head .title{ flex:1; text-align:center; }
.board_list .board_head .title.center{ text-align:center; }
.board_list .board_head .state{ width:117px; }
.board_list .board_head .date{ width:80px; margin-right:10px; }
.board_list .board_row{
    display:flex; align-items:center; height:67px; border-bottom:1px solid #eee; color:#333;
}
.board_list .board_row:hover{ background-color:#fafbfd; }
.board_list .board_row .cate{ width:98px; padding-left:22px; }
.board_list .board_row .num{ width:98px; padding-left:29px; font-size:var(--fs-14); color:#666; }
.board_list .board_row .title{ flex:1; font-size:var(--fs-16); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.board_list .board_row .state{ width:117px; }
.board_list .board_row .date{ width:80px; margin-right:10px; font-size:var(--fs-14); color:#888; }
.board_empty{ padding:60px 0; text-align:center; color:#888; }
.board_btn_box{ display:flex; justify-content:flex-end; align-items:center; gap:6px; margin-top:20px; flex-wrap:wrap; }
.board_btn_box .board_admin_btns{ margin-right:auto; display:flex; gap:6px; flex-wrap:wrap; }
.board_btn_box .board_admin_btns button,
.board_btn_box .board_admin_btns input{ padding:8px 14px; border:1px solid #ddd; background:#f7f7f7; color:#333; border-radius:4px; cursor:pointer; font-size:14px; }
.board_btn_box .btn_write{ display:inline-block; padding:10px 24px; }
.board_row .cmt_cnt{ color:#c33; font-weight:600; }
.board_head_wrap,
.board_row_wrap{ display:flex; align-items:center; width:100%; }
.board_head_wrap > .board_chk,
.board_row_wrap > .board_chk{ flex:0 0 44px; display:flex; align-items:center; justify-content:center; align-self:stretch; }
.board_head_wrap > .board_head,
.board_row_wrap > .board_row{ flex:1 1 auto; min-width:0; }
.board_chk input{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.board_chk label{ display:inline-flex; align-items:center; margin:0; cursor:pointer; }
.board_chk label > span{ display:block; width:18px; height:18px; border:1px solid #ccc; border-radius:3px; background:#fff; position:relative; }
.board_chk input:checked + label > span{ border-color:#1b4dd1; background:#1b4dd1; }
.board_chk input:checked + label > span::after{ content:""; position:absolute; left:5px; top:1px; width:4px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.board_chk input:focus + label > span{ outline:2px solid #1b4dd1; outline-offset:2px; }
.badge{
    display:inline-flex; align-items:center; justify-content:center; min-width:52px; height:22px; padding:0 8px;
    border-radius:3px; font-size:var(--fs-13); font-weight:600; border:0; box-sizing:border-box;
}
.badge.notice{ background-color:var(--main-color); color:#fff; }
.badge.press{ background-color:rgba(30,155,234,0.15); color:#1E9BEA; }
.badge.column{ background-color:#648EA9; color:#fff; }
.badge.done{ background-color:#16294a; color:#fff; }

/* 소식 상세 */
.news_view_section{ padding:var(--sec-py) 0 0; }
.news_view_head{ border-top:1px solid #222; border-bottom:1px solid #ddd; padding:34px 20px; background-color:#fafbfc; }
.news_view_head h3{ font-size:var(--fs-28); font-weight:700; color:#222; }
.news_view_head .date{ margin-top:16px; font-size:var(--fs-16); color:#888; }
.news_view_head .badge{ margin-bottom:10px; }
.news_view_file,
.news_view_link{ margin-top:30px; padding:20px 24px; border:1px solid #e5e5e5; border-radius:6px; background:#fafafa; box-sizing:border-box; overflow:hidden; }
.news_view_file h4,
.news_view_link h4{ margin:0 0 12px; font-size:15px; font-weight:700; color:#222; }
.news_view_file ul,
.news_view_link ul{ margin:0; padding:0; list-style:none; }
.news_view_file li,
.news_view_link li{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 0 0; }
.news_view_file li + li,
.news_view_link li + li{ margin-top:8px; padding-top:8px; border-top:1px solid #ececec; }
.news_view_file a,
.news_view_link a{ display:flex; align-items:center; gap:8px; min-width:0; flex:1; color:#333; }
.news_view_file a img,
.news_view_link a img{ flex-shrink:0; }
.news_view_file a span,
.news_view_link a span{ min-width:0; word-break:break-all; }
.news_view_file a:hover,
.news_view_link a:hover{ color:#1b4dd1; text-decoration:underline; }
.news_view_file .f_desc{ display:block; width:100%; margin:4px 0 0 26px; color:#888; font-size:13px; }
.news_view_file .f_meta,
.news_view_link .l_meta{ flex-shrink:0; margin-left:0; color:#999; font-size:13px; }
.news_view_btns{ display:flex; justify-content:flex-end; align-items:center; gap:6px; margin-top:24px; flex-wrap:wrap; }
.news_view_btns .btn_gray{ padding:9px 18px; border:1px solid #ddd; background:#f7f7f7; color:#333; border-radius:4px; font-size:14px; cursor:pointer; }
.news_view_body{ padding:40px 2px 24px; font-size:var(--fs-17); color:#333; line-height:1.75; }
.news_view_body#bo_v_atc{ min-height:0; height:auto !important; }
/* 전역 * { font-weight:400; font-size:... } 리셋이 에디터 서식을 덮지 않도록 */
.news_view_body *{
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}
.news_view_body p{ margin-bottom:0; }
.news_view_body strong,
.news_view_body b{ font-weight: 700; }
.news_view_body em,
.news_view_body i{ font-style: italic; }
.news_view_body u{ text-decoration: underline; }
.news_view_body s,
.news_view_body strike{ text-decoration: line-through; }
.news_view_body h1{ font-size: 2em; font-weight: 700; margin: 0.67em 0; }
.news_view_body h2{ font-size: 1.5em; font-weight: 700; margin: 0.75em 0; }
.news_view_body h3{ font-size: 1.25em; font-weight: 700; margin: 0.8em 0; }
.news_view_body h4{ font-size: 1.1em; font-weight: 700; margin: 1em 0; }
.news_view_body h5,
.news_view_body h6{ font-size: 1em; font-weight: 700; margin: 1em 0; }
.news_view_body ul,
.news_view_body ol{
    display:block;
    margin:0 0 16px;
    padding-left:22px;
}
.news_view_body ul{ list-style-type:disc; }
.news_view_body ol{ list-style-type:decimal; }
.news_view_body li{
    display:list-item;
    margin-bottom:8px;
    padding-left:4px;
}
.news_view_body li:last-child{ margin-bottom:0; }
.news_view_body ul ul,
.news_view_body ol ol,
.news_view_body ul ol,
.news_view_body ol ul{ margin:8px 0 0; }
.news_view_body ul ul{ list-style-type:circle; }
.news_view_body img{ max-width:100%; height:auto; }
.news_nav{ margin-top:30px; border-top:1px solid #ddd; }
.news_nav a{
    display:flex; align-items:center; gap:16px; height:58px; padding:0; border-bottom:1px solid #ddd; font-size:var(--fs-16);
}
.news_nav a .dir{ width:auto; min-width:36px; font-weight:700; color:#333; flex-shrink:0; }
.news_nav a .subject{ color:#555; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news_nav a:hover .subject{ color:var(--main-color); }
.btn_list{
    display:flex; align-items:center; justify-content:center; width:200px; height:47px; margin:60px auto 130px;
    border:1px solid #333; border-radius:3px; font-size:var(--fs-16); font-weight:600; color:#333;
}
.btn_list:hover{ background-color:#222; color:#fff; }

/* 소식 작성 */
.boardWriteArti .optionBox{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:14px; }
.boardWriteArti .optionBox label{ margin-left:4px; cursor:pointer; }
.boardWriteArti .captchaBox{ margin-top:20px; }
.boardWriteArti .charCount{ margin-top:8px; text-align:right; color:#888; font-size:13px; }
.boardWriteArti .delBox{ display:flex; align-items:center; gap:6px; margin-top:6px; color:#666; font-size:13px; cursor:pointer; }
.boardWriteArti .btnWrap .submit[disabled]{ opacity:.5; cursor:not-allowed; }

@media screen and (max-width: 1250px) {
    .board_top{ flex-direction:column; align-items:flex-start; gap:16px; }
} /* tablet */

@media screen and (max-width: 650px) {
    .board_list .board_head .cate,
    .board_list .board_row .cate{ width:76px; padding-left:8px; }
    .board_list .board_head .num,
    .board_list .board_row .num{ width:44px; padding-left:8px; }
    .board_list .board_head .state,
    .board_list .board_row .state{ width:78px; }
    .board_list .board_head .date,
    .board_list .board_row .date{ display:none; }
    .board_search{ width:100%; }
} /* mobile */

/* ---------------------------------------- 상담신청 ---------------------------------------- */
.consult_guide_section{ padding:var(--sec-py) 0; background-color:#eef4fa; }
.consult_guide_section .sub_title{ font-size:var(--fs-32); }
.consult_guide_section .guide_desc{ margin-top:16px; font-size:var(--fs-18); color:#555; }
.method_cards{ margin-top:44px; display:grid; grid-template-columns:repeat(4, 282px); gap:24px; justify-content:space-between; align-items:stretch; }
.method_cards li{
    display:flex; flex-direction:column;
    min-height:205px; height:auto; padding:20px; border-radius:10px;
    background-color:#fff; box-shadow:0 4px 16px rgba(0,0,0,0.06);
}
.method_cards .card_head{ display:flex; align-items:center; gap:12px; }
.method_cards .card_head .ico{
    width:38px; height:38px; border-radius:50%; background-color:#eef4fa;
    display:flex; align-items:center; justify-content:center;
}
.method_cards .card_head .ico img{ width:22px; height:22px; object-fit:contain; }
.method_cards .card_head h4{ font-size:var(--fs-18); font-weight:700; color:#222; }
.method_cards .desc{ margin-top:14px; margin-bottom:14px; flex:1 1 auto; font-size:var(--fs-15); font-weight:400; color:#666; line-height:1.55; }
.method_cards .card_line{ display:block; width:100%; height:1px; margin-top:auto; background-color:#e8ecf1; }
.method_cards .card_foot{ margin-top:10px; }
.method_cards .card_foot b{ display:block; font-size:var(--fs-18); font-weight:700; color:var(--main-color); line-height:1.4; }
.method_cards .card_foot span{ display:block; margin-top:4px; font-size:var(--fs-13); color:#999; }
.method_cards .card_foot a{ font-size:var(--fs-17); font-weight:700; color:var(--main-color); }
.method_cards .card_foot a:hover{ text-decoration:underline; }
.guide_box{ margin-top:37px; display:flex; gap:30px; padding:20px 0; }
.guide_box .label{ flex-shrink:0; font-size:var(--fs-17); font-weight:700; color:#222; }
.guide_box ul li{
    display:flex; align-items:center; gap:11px; margin-bottom:14px; font-size:var(--fs-16); font-weight:500; color:#444;
}
.guide_box ul li:last-child{ margin-bottom:0; }
.guide_box ul li::before{
    content:'✓'; width:18px; height:18px; border-radius:50%; background-color:var(--main-color); color:#fff;
    font-size:var(--fs-12); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.consult_form_section{ padding:var(--sec-py) 0; }

/* 온라인 상담 작성 */
.consult_write_section{ padding:var(--sec-py) 0; }
.consult_write_section h3{ font-size:var(--fs-24); font-weight:800; color:#222; }
.consult_write_section .write_desc{ margin-top:20px; font-size:var(--fs-16); font-weight:400; color:#555; line-height:1.65; }
.write_form{ margin-top:50px; border-top:2px solid #222; }
.write_row{ display:flex; align-items:flex-start; padding:22px 0; border-bottom:1px solid #e8e8e8; }
.write_row .w_label{ flex-shrink:0; width:160px; padding-top:12px; font-size:var(--fs-17); font-weight:600; color:#333; }
.write_row .w_field{ flex:1; }
.write_row input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.write_row select,
.write_row textarea{
    width:100%; height:48px; padding:0 16px; border:1px solid #ddd; border-radius:4px;
    background-color:#fafafa; font-size:var(--fs-15); color:#333; outline:none;
}
.write_row select{ background:url('../img/common/select-icon.png') no-repeat calc(100% - 14px) 50% #fafafa; color:#777; }
.write_row textarea{ height:180px; padding:14px 16px; resize:none; line-height:1.5; }
.write_row input:focus,
.write_row textarea:focus{ border-color:var(--main-color); background-color:#fff; }
.write_row .w_note{ margin-top:8px; font-size:var(--fs-13); color:#e0342f; }
.write_row .w_opt{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.write_row .w_opt label{ margin:0 4px 0 0; cursor:pointer; }
.write_row .w_file + .w_file{ margin-top:10px; }
.write_row .w_file input[type=file]{ box-sizing:border-box; width:100%; max-width:100%; height:auto; min-height:48px; padding:10px 14px; border:1px solid #d9dde3; border-radius:6px; background:#fff; font-size:15px; font-family:inherit; line-height:1.4; cursor:pointer; }
.write_row .w_captcha{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.write_err{ color:#c33; font-size:14px; }
.write_agree{ margin-top:26px; }
.consult_write_section .write_btns{ display:flex; justify-content:center; align-items:center; gap:12px; margin-top:44px; }
.consult_write_section .write_btns .btn_write_cancel,
.consult_write_section .write_btns .btn_write_submit{ display:flex; align-items:center; justify-content:center; width:160px; height:52px; margin:0; border-radius:4px; font-size:var(--fs-17); font-weight:700; box-sizing:border-box; }
.consult_write_section .write_btns .btn_write_cancel{ border:1px solid #ddd; background:#fff; color:#555; }
.consult_write_section .write_btns .btn_write_cancel:hover{ border-color:#bbb; color:#222; }
.btn_write_submit{
    display:flex; align-items:center; justify-content:center; width:200px; height:52px; margin:44px auto 0;
    border:0; border-radius:4px; background-color:var(--main-color); font-size:var(--fs-17); font-weight:700; color:#fff; cursor:pointer;
}
.btn_write_submit:hover{ background-color:#0a2f60; }

/* 온라인 상담 상세 스타일은 theme skin online/style.css 에서 관리 */

@media screen and (max-width: 1250px) {
    .method_cards{ grid-template-columns:repeat(2, 1fr); }
    .guide_box{ flex-direction:column; gap:14px; }
    .write_row{ flex-direction:column; }
    .write_row .w_label{ width:100%; padding-top:0; margin-bottom:10px; }
    .write_row .w_field{ width:100%; }
} /* tablet */

@media screen and (max-width: 650px) {
    .method_cards{ grid-template-columns:1fr; }
} /* mobile */

