

:root{
    --padding:20px;
    --header_h:100px;
    --width:1616px;
    --point-color-1:#298dff;
}

/* entrance motion is stripped (matches the production build): the split reveal and
   the card fan-out are gone, so no opacity/transform start values may remain here —
   with the script removed the elements would never be revealed. */
[data-delay]{position:relative;}
.ln{display:block;}
.ln_in{display:block;}

.card_list.clone{position:absolute; width:0; height:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
.card_list .slick-list{position:relative; overflow:inherit;}
.container{overflow-x:hidden;}
.cont{width:100%; max-width:var(--width); margin:0 auto; padding:0 var(--padding); box-sizing:border-box;}

body{word-break:keep-all;}
a{color:inherit;}
em{font-style:normal;}

/* ===== header ===== */
.header{position:fixed; left:0; top:0; width:100%; height:var(--header_h); z-index:100; transition:background .3s ease;}
.header .cont{position:relative; display:flex; align-items:center; height:100%; padding:0 4.5%; max-width:100%;}
.header .logo{display:flex; align-items:center;}
.header .gnb{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.header .gnb ul{display:flex; gap:2px;}
.header .gnb a,
.header .gnb a span{display:block; text-align:center; font-size:1.25rem; font-weight:500; color:#fff;}
.header .gnb a{display:flex; align-items:center; justify-content:center; min-width:141px; height:var(--header_h); transition:background-color .3s ease;}
.header .gnb a span{transition:color .3s ease;}
.header .gnb a:hover{background:var(--point-color-1);}
.header .gnb a:hover span{color:#fff; font-weight:700;}
.header .utils{display:flex; align-items:center; gap:16px; margin-left:auto;}
.header .utils .icon_call{display:flex; align-items:center; gap:16px; padding:10px 30px; background:rgba(0,0,0,0.2); border-radius:2em; border:1px solid rgba(255,255,255,0.4); transition:background-color .3s ease, border-color .3s ease;}
.header .utils .icon_call span{font-size:1.125rem; font-weight:500; color:#fff; letter-spacing:-0.015em; white-space:nowrap;}
.header .utils .icon_menu{display:none; align-items:center; justify-content:center; padding:0; background:none; border:0; cursor:pointer;}
.header .gnb_clone{position:absolute; width:0; height:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap;}
.header .gnb_clone a span{font-size:1.25rem; font-weight:500; color:#298dff;}
.header .logo .logo_color{display:none;}
.header .utils .icon_menu .ico_close{display:none;}
/* the cases roll is sliced by the bar at uneven card heights — fade that edge into the backdrop */
.header::after{content:""; position:absolute; left:0; right:0; top:100%; height:70px; background:linear-gradient(180deg, #1d191b 0%, rgba(29,25,27,0) 100%); opacity:0; transition:opacity .3s ease; pointer-events:none;}
.header.over_cases::after{opacity:.7;}

/* gnb_mo — full menu panel (1240 and below); opening it flips the bar to white */
.header .gnb_mo{position:absolute; left:0; right:0; top:100%; display:none; flex-direction:column; padding:50px 18px 50px; background:#298dff; box-sizing:border-box;}
.header .gnb_mo ul{padding-left:30px; margin-bottom:64px;}
.header .gnb_mo ul li + li{margin-top:32px;}
.header .gnb_mo a span{display:block; font-size:1.875rem; font-weight:500; color:#fff; line-height:1;}
.header .gnb_mo .menu_call{display:flex; align-items:center; justify-content:center; gap:12px; padding:23px 0; border:1px solid #fff; border-radius:20px;}
.header .gnb_mo .menu_call img{filter:brightness(0) invert(1);}
.header .gnb_mo .menu_call span{font-size:1.25rem; font-weight:500; line-height:1.2; color:#fff;}
/* scrolled / menu-open: white bar, dark text, colour CI */
.header.on{background:#fff;}
.header.on .logo .logo_white{display:none;}
.header.on .logo .logo_color{display:block;}
.header.on .gnb a span{color:#222527;}
.header.on .gnb a:hover span{color:#fff;}
.header.on .utils .icon_call{background:#f9f9f9; border-color:#f9f9f9;}
.header.on .utils .icon_call span{color:#222527;}
.header.on .utils .icon_menu .ico_open{filter:brightness(0);}
.header.menu_on .gnb_mo{display:flex;}
.header.menu_on .utils .icon_menu .ico_open{display:none;}
.header.menu_on .utils .icon_menu .ico_close{display:block;}

@media screen and (max-width: 1240px){
.header .gnb{display:none;}
.header .utils .icon_menu{display:flex;}
}

@media screen and (max-width: 768px){
:root{
--header_h:55px;
--padding:16px;}
.header .utils .icon_call{display:none;}
.header .logo{width:90px;}
.header::after{display:none;}   /* the roll goes flat here, so card tops line up and need no fade */
}

.mb_only{display:none;}
.pc_only{display:block;}

/* ===== main_quick ===== */
.main_quick{position:fixed; right:clamp(10px, 2vw, 30px); top:50%; transform:translateY(-50%); z-index:90; width:70px; will-change:transform; filter:drop-shadow(0 3px 10px rgba(0,0,0,0.12));}
.main_quick .tit{display:block; padding:5px 0; background:#222527; border-radius:10px 10px 0 0; text-align:center; font-size:0.6875rem; font-weight:700; color:#fff; line-height:1.2;}
.main_quick ul{display:flex; flex-direction:column;}
.main_quick ul li a{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; height:57px; background:#fff; box-sizing:border-box;}
.main_quick ul li span{font-size:0.6875rem; font-weight:400; color:#888; line-height:1.2; text-align:center;}
.main_quick .talk a,
.main_quick .blog a{border-top:1px solid #e1e1e1;}
.main_quick .blog a{border-radius:0 0 10px 10px;}
.main_quick .top{margin-top:11px;}
.main_quick .top a{gap:2px; height:41px; background:var(--point-color-1); border-radius:10px;}
.main_quick .top a span{font-weight:700; color:#fff;}

@media screen and (max-width: 768px){
.main_quick{display:none;}
.mb_only{display:block;}
.pc_only{display:none;}
}

/* ===== quick_mo — fixed bottom bar, mobile only ===== */
.quick_mo{display:none;}

@media screen and (max-width: 768px){
.quick_mo{position:fixed; left:0; right:0; bottom:0; z-index:90; display:block; height:63px; border-top:2px solid var(--point-color-1); background:#fff; box-sizing:border-box;}
.quick_mo ul{display:flex; height:100%;}
.quick_mo li{flex:1 1 50%;}
.quick_mo li + li{border-left:1px solid #c9c9c9;}
.quick_mo li a{display:flex; align-items:center; justify-content:center; gap:12px; height:100%;}
.quick_mo li span{font-size:18px; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000;}
}

/* ===== ch_btn — channel talk launcher ===== */
.ch_btn{position:fixed; right:24px; bottom:24px; z-index:91; display:flex; align-items:center; justify-content:center; width:54px; aspect-ratio:1 / 1; padding:5px; border:0; border-radius:18px; background:#80d0fb; box-shadow:0 4px 12px rgba(0,0,0,0.18); box-sizing:border-box; cursor:pointer;}
.ch_btn img{max-width:100%; max-height:100%;}

@media screen and (max-width: 768px){
/* sit above the fixed .quick_mo bar (63px) */
.ch_btn{right:14px; bottom:79px; width:50px; padding:4px; border-radius:16px;}
}

/* ===== main_visual ===== */
.main_visual{position:relative; height:100vh; height:980px; overflow:hidden;}
.main_visual .slide_list{position:relative; z-index:2; height:100%;}
.main_visual .slick-list,
.main_visual .slick-track,
.main_visual .slick-slide,
.main_visual .slick-slide > div{height:100%;}
.main_visual .slide{position:relative; height:100%; box-sizing:border-box; display:flex !important; align-items:center; justify-content:center;  display:flex; flex-direction:column;}
.main_visual .vs_img{position:absolute; top:0; left:0; z-index:-1; width:100vw; height:100%; }
.main_visual .vs_img picture{display:block; height:100%;}
.main_visual .vs_img img{width:100%; height:100%; object-fit:cover; display:block;}
.main_visual .vs_img::after{content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:rgba(34,37,39,0.65);}
.main_visual .vs_txt{margin:0 auto; max-width:var(--width); width:100%; padding:0 var(--padding); box-sizing:border-box; }
.main_visual .slide h1,.main_visual .slide h2{ font-size:4.0625rem; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-0.015em;}
.main_visual .slide p{margin-top:95px; text-align:left; font-size:1.625rem; font-weight:400; color:#fff; line-height:1.53; letter-spacing:-0.015em;}
.main_visual .btn_prev{position:absolute; bottom:64px; left:50%; z-index:3; transform:translateX(-60px);}
.main_visual .btn_next{position:absolute; bottom:64px; left:50%; z-index:3; transform:translateX(30px);}

@media screen and (max-width: 1024px){
.main_visual{aspect-ratio:750/1334; height:auto;}
.main_visual .slide h1,.main_visual .slide h2{max-width:65%; font-size:3rem;}
.main_visual .slide p{margin-top:30px; text-align:left; font-size:1.25rem; line-height:1.6;}
}

@media screen and (max-width: 768px){
/* XD mobile (375x667): copy is bottom-aligned — title 26/37, body 18/27, left 38, bottom 95 */
.main_visual .slide{justify-content:flex-end; padding-bottom:95px;}
.main_visual .slide h1,.main_visual .slide h2{max-width:100%; font-size:26px; line-height:1.423;}
.main_visual .slide p{margin-top:24px; font-size:18px; text-align:left; line-height:1.5;}
.main_visual .btn_prev{bottom:28px; transform:translateX(-46px);}
.main_visual .btn_next{bottom:28px; transform:translateX(16px);}
.main_visual .vs_txt{padding:0 20px 0 38px; box-sizing:border-box;}
}

/* ===== main_head ===== */
.main_head{text-align:center; margin-bottom:clamp(40px, 5vw, 70px);}
.main_head .eyebrow{display:block; font-size:1.375rem; font-weight:500; color:#298dff; margin-bottom:16px;}
.main_head h2{font-size:3.125rem; font-weight:700; color:#fff; line-height:1.4; letter-spacing:-0.015em;}
.main_head .sub_tit{display:block; margin-top:20px; font-size:1.5rem; font-weight:400; color:#888;}
.main_cases .main_head .sub_tit,
.main_process .main_head .sub_tit,
.main_column .main_head .sub_tit{color:#fff;}
.main_review .main_head h2{color:#000;}

@media screen and (max-width: 768px){
.main_head{margin-bottom:24px;}
.main_head .eyebrow{font-size:16px; margin-bottom:8px;}
.main_head h2{font-size:30px;}
.main_head .sub_tit{font-size:17px; margin-top:15px;}
.main_head h2{font-size:26px;}
}

/* ===== main_cases ===== */
.main_cases{position:relative; padding:140px 0; background:url(../img/main_cases_bg.jpg) no-repeat center  top #1D191B; overflow:hidden;}

/* panorama rolling — 3D cylinder driven by swiper progress */
.main_cases .panorama_con{position:relative; z-index:1; width:100%; text-align:center;}
.main_cases .panorama_wrap{position:relative; width:100%; margin:0 auto; perspective:2000px; perspective-origin:50% 50%; box-sizing:border-box; overflow:visible !important;}
.main_cases .card_list{margin:0; padding:0; list-style:none; box-sizing:border-box; align-items:center; transform-style:preserve-3d; transition-timing-function:linear !important;}
.main_cases .card{position:relative; width:352px; height:auto; flex-shrink:0; transform-style:preserve-3d; backface-visibility:hidden; cursor:pointer; transition-timing-function:linear !important;}
.main_cases .inner{position:relative; width:100%; transform-origin:center center; transform-style:preserve-3d; backface-visibility:hidden;}
.main_cases .card_in{position:relative; background:#fff; border-radius:20px; overflow:hidden; opacity:0; transition:transform 1.2s cubic-bezier(.22,1,.36,1), opacity 1.2s cubic-bezier(.22,1,.36,1);}

/* fan-out: cards start stacked at the centre, then spread outward */
.main_cases .card.prev3 .card_in{transform:translateX(1400px);}
.main_cases .card.prev2 .card_in{transform:translateX(900px);}
.main_cases .card.prev .card_in{transform:translateX(400px);}
.main_cases .card.next .card_in{transform:translateX(-400px);}
.main_cases .card.next2 .card_in{transform:translateX(-900px);}
.main_cases .card.next3 .card_in{transform:translateX(-1400px);}
.main_cases.section_on .card_in{opacity:1;}
.main_cases.section_on .card.prev .card_in,
.main_cases.section_on .card.prev2 .card_in,
.main_cases.section_on .card.prev3 .card_in,
.main_cases.section_on .card.next .card_in,
.main_cases.section_on .card.next2 .card_in,
.main_cases.section_on .card.next3 .card_in{transform:translateX(0);}
.main_cases.section_on .card.prev2 .card_in,
.main_cases.section_on .card.next2 .card_in{transition-delay:.1s;}
.main_cases.section_on .card.prev3 .card_in,
.main_cases.section_on .card.next3 .card_in{transition-delay:.2s;}

.main_cases .txt_area{position:relative; padding:25px;}
.main_cases .card .tag{padding:12px; font-size:1.375rem; font-weight:700; color:#fff; background-color:var(--point-color-1); display:block; text-align:center;}
.main_cases .card .tit{position:relative; z-index:2; display:block; font-size:1.75rem; font-weight:700; color:#000; margin-bottom:12px; text-align:left;}
.main_cases .card .desc{position:relative; z-index:2; display:block; font-size:1.125rem; font-weight:400; text-align:left;}
.main_cases .card .doc{position:absolute; left:50%; top:50%; padding:5px; text-align:center; white-space:nowrap; border:3px solid #ff0000; font-size:2.5rem; color:#ff0000; font-weight:700; transform:translate(-50%, -50%) rotate(-10deg);}
.main_cases .bg{position:relative; margin-top:-80px;}

@media screen and (max-width: 768px){
.main_cases{padding:70px 0; background:url(../img/main_cases_bg_m.jpg) no-repeat center top / cover;}
.main_cases .panorama_wrap{perspective:none;}
.main_cases .card_list{align-items:stretch;}
.main_cases .inner,
.main_cases .card_in{height:100%;}
.main_cases .card{width:260px;}
.main_cases .card .tit{font-size:20px;}
.main_cases .card .desc{font-size:14px; margin-bottom:14px;}
.main_cases .card{width:184px;}
.main_cases .watermark{top:20px; font-size:2.5rem;}
.main_cases .txt_area{padding:16px;}
.main_cases .card .tag{padding:8px; font-size:14px;}
.main_cases .card .doc{font-size:20px; border-width:2px;}
.main_cases .bg{margin-top:-46px;}
.main_cases .card.prev3 .card_in{transform:translateX(240px);}
.main_cases .card.prev2 .card_in{transform:translateX(150px);}
.main_cases .card.prev .card_in{transform:translateX(70px);}
.main_cases .card.next .card_in{transform:translateX(-70px);}
.main_cases .card.next2 .card_in{transform:translateX(-150px);}
.main_cases .card.next3 .card_in{transform:translateX(-240px);}
}

/* ===== mouse pointer (drag cursor) ===== */
.glass_filter{position:absolute; width:0; height:0; overflow:hidden;}
.mouse_pointer,
.mouse_pointer_txt{position:fixed; top:0; left:0; z-index:9999; pointer-events:none;}
.mouse_pointer .pointer_circle,
.mouse_pointer .pointer_line{position:absolute; top:50%; left:50%; display:block; width:119px; aspect-ratio:1 / 1; border-radius:50%; transform:translate(-50%, -50%) scale(0); opacity:0; transition:transform .5s cubic-bezier(.22,1,.36,1), opacity .5s ease;}
.mouse_pointer .pointer_circle{overflow:hidden; isolation:isolate; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); filter:url("#glass_distortion");}
.mouse_pointer .pointer_line{border:1px solid #000; box-sizing:border-box;}
.mouse_pointer.on .pointer_circle,
.mouse_pointer.on .pointer_line{transform:translate(-50%, -50%) scale(1); opacity:1;}
.mouse_pointer_txt .drag_ico{position:absolute; top:50%; left:50%; display:block; max-width:none; transform:translate(-50%, -50%); opacity:0; visibility:hidden; transition:opacity .5s ease, visibility .5s ease;}
.mouse_pointer_txt .drag_ico{display:none;}
.mouse_pointer_txt[data-type="drag"] .ico_drag,
.mouse_pointer_txt[data-type="drag2"] .ico_drag2{display:block;}
.mouse_pointer_txt.on .drag_ico{opacity:1; visibility:visible;}

@media screen and (max-width: 1024px){
.mouse_pointer,
.mouse_pointer_txt{display:none;}
}

/* ===== main_service ===== */
.main_service{padding:140px 0; background:#0b3275;}
.main_service .cont{text-align:center;}
.main_service .main_head{margin-bottom:84px;}
.main_service .main_head h2{display:inline-block; padding:17px 40px; background:rgba(41,141,255,0.15); border:2px solid #298dff; border-radius:20px; font-size:2.5rem; line-height:1.2;}
.main_service .main_head .sub_tit{color:#fff;}
.main_service .feature_list{display:flex; align-items:stretch; gap:29px; text-align:center;}
.main_service .feature_list li{flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:62px; padding:66px 20px 63px; background:linear-gradient(#fff, #e4ecf5); border-radius:20px; transition:transform .35s ease-out, background .35s ease-out;}
.main_service .feature_list .ico{display:flex; align-items:center; justify-content:center; width:108px; aspect-ratio:1 / 1;}
.main_service .feature_list .ico img{max-width:100%; max-height:100%;}
.main_service .feature_list .tit{font-size:1.5rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000; transition:color .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_service .feature_list li:hover{background:#298dff; transform:translateY(-20px);}
.main_service .feature_list li:hover .tit{color:#fff;}
.main_service .feature_list li:hover .ico img{filter:brightness(0) invert(1);}
}
.main_service .btn_more{display:inline-flex; align-items:center; gap:43px; margin-top:70px; padding:21px 42px; background:#fff; border-radius:2em; text-decoration:none;}
.main_service .btn_more span{font-size:1.5rem; font-weight:400; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.main_service .btn_more strong{font-weight:700; color:#298dff;}
.main_service .btn_more::after{content:""; width:32px; aspect-ratio:1 / 1; border-radius:50%; background:#298dff url("../img/icon_arrow_next_white.svg") no-repeat center;}

@media screen and (max-width: 1240px){
.main_service .main_head h2{font-size:2rem; padding:14px 28px;}
.main_service .feature_list{flex-wrap:wrap; gap:20px;}
.main_service .feature_list li{flex:0 0 calc((100% - 40px) / 3); gap:24px; padding:36px 16px;}
.main_service .feature_list .ico{width:88px;}
@media (hover:hover) and (pointer:fine){
.main_service .feature_list li:hover{transform:none;}
}
}

@media screen and (max-width: 768px){
.main_service{padding:70px 0;}
.main_service .main_head{margin-bottom:35px;}
.main_service .main_head h2{font-size:20px; padding:10px 18px; border-radius:14px; border-width:1px;}
.main_service .feature_list{gap:12px;}
.main_service .feature_list li{flex:0 0 calc((100% - 12px) / 2); gap:16px; padding:26px 12px; border-radius:14px;}
.main_service .feature_list .ico{width:65px;}
.main_service .feature_list .tit{font-size:16px;}
.main_service .btn_more{gap:20px; margin-top:35px; padding:16px 24px;}
.main_service .btn_more span{font-size:15px;}
.main_service .btn_more::after{width:24px;}
}


/* ===== main_review ===== */
.main_review{padding:140px 0; background:#fbfbfb;}
.main_review .card_list{display:flex; flex-wrap:wrap; gap:32px;}
.main_review .card{flex:1 1 370px; display:flex; flex-direction:column; overflow:hidden; background:#f1f1f1; border-radius:20px; transition:transform .35s ease-out, background-color .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_review .card:hover{transform:translateY(-20px); background:#fff;}
}
.main_review .img_area{position:relative; aspect-ratio:370/303; overflow:hidden;}
.main_review .img_area::before{content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(rgba(34,37,39,0.2) 0%, rgba(34,37,39,0.7) 59%, rgba(34,37,39,0.9) 100%);}
.main_review .img_area .photo{width:100%; height:100%; object-fit:cover; display:block;}
.main_review .img_area .top_title{position:absolute; left:0; bottom:0; width:100%; padding:0 30px 40px; box-sizing:border-box;}
.main_review .img_area .badge{display:block; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #c9c9c9; font-size:1.5rem; font-weight:700; line-height:1.2; letter-spacing:-0.015em; color:#fff;}
.main_review .img_area .headline{display:block; font-size:1.125rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#fff;}
.main_review .txt_area{padding:35px 25px;}
.main_review .txt_area .tit{display:block; font-size:1.25rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;}
.main_review .txt_area .meta{display:block; margin-top:8px; font-size:1.125rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#0b3275;}
.main_review .txt_area .amount{margin-top:15px;}
.main_review .txt_area .amount > div{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:16px 10px; box-sizing:border-box;}
.main_review .txt_area .amount .total{padding:13px 10px; background:#fff; border-radius:10px;}
.main_review .txt_area .amount .monthly{position:relative; padding:14px 10px; background:#0b3275; border-radius:10px;}
.main_review .txt_area .amount .monthly::before{content:""; position:absolute; left:50%; top:-9px; width:18px; aspect-ratio:1 / 1; margin-left:-9px; border-radius:50%; background:#298dff url("../img/icon_check.svg") no-repeat center / 10px;}
.main_review .txt_area .amount dt{font-size:1rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.main_review .txt_area .amount dd{margin:0; font-size:1.5rem; font-weight:400; line-height:1.4; letter-spacing:-0.015em; color:#000; white-space:nowrap;}
.main_review .txt_area .amount .total dd{text-decoration:line-through;}
.main_review .txt_area .amount .monthly dt{color:#298dff;}
.main_review .txt_area .amount .monthly dd{font-size:1.625rem; font-weight:700; color:#fff;}

.main_review .main_head{position:relative;}
.main_review .rolling_nav{position:absolute; right:0; bottom:0; display:flex; border:1px solid #c9c9c9; border-radius:2em; overflow:hidden;}
.main_review .rolling_nav button{display:flex; align-items:center; justify-content:center; width:57px; aspect-ratio:1 / 1;}
.main_review .rolling_nav .btn_next{border-left:1px solid #c9c9c9;}
.main_review .card_list .slick-list{width:100%; min-width:0;}
.main_review .slick-slide > div{padding:0 16px;}

@media screen and (max-width: 768px){
.main_review{padding:70px 0;}
.main_review .card{flex:1 1 100%; border-radius:15px;}
.main_review .img_area .top_title{padding:0 20px 24px;}
.main_review .img_area .badge{font-size:16px; padding-bottom:10px; margin-bottom:10px;}
.main_review .img_area .headline{font-size:14px;}
.main_review .txt_area{padding:20px;}
.main_review .txt_area .tit{font-size:16px;}
.main_review .txt_area .meta{font-size:14px;}
.main_review .txt_area .amount{margin-top:12px;}
.main_review .txt_area .amount > div{padding:10px;}
.main_review .txt_area .amount dt{font-size:13px;}
.main_review .txt_area .amount dd{font-size:18px;}
.main_review .txt_area .amount .monthly dd{font-size:19px;}
/* nav drops below the card list, centred */
.main_review .cont{position:relative; padding-bottom:92px;}
.main_review .main_head{position:static;}
.main_review .rolling_nav{left:50%; right:auto; bottom:0; transform:translateX(-50%);}
.main_review .rolling_nav button{width:44px;}
.main_review .card_list{padding:0 60px;}
.main_review .slick-slide > div{padding:0 6px;}
}


/* ===== main_process ===== */
.main_process{padding:140px 0; background:url("../img/main_process_bg.jpg") no-repeat center center / cover #0b3275;}
.main_process .cont{text-align:center;}
.main_process .main_head{margin-bottom:64px;}
.main_process .main_head h2{display:inline-block; padding:17px 40px; background:rgba(41,141,255,0.15); border:2px solid #298dff; border-radius:20px; font-size:2.5rem; line-height:1.2;}
.main_process .step_list{display:flex; align-items:stretch; gap:51px; text-align:center;}
.main_process .step_list li{position:relative; flex:1 1 0; display:flex; flex-direction:column; align-items:center; gap:34px; padding:47px 16px; background:#fff; border-radius:20px;}
.main_process .step_list li + li::before{content:""; position:absolute; left:-42px; top:50%; width:32px; aspect-ratio:1 / 1; margin-top:-16px; border-radius:50%; background:rgba(41,141,255,0.25) url("../img/icon_arrow_next_white.svg") no-repeat center;}
.main_process .step_list .ico{display:flex; align-items:center; justify-content:center; width:140px; aspect-ratio:1 / 1; background:#f6f6f6; border-radius:50%;}
.main_process .step_list .ico img{width:59%;}
.main_process .step_list .tit{font-size:1.5rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000;}

@media screen and (max-width: 1240px){
.main_process .main_head h2{font-size:2rem; padding:14px 28px;}
.main_process .step_list{flex-wrap:wrap; gap:20px;}
.main_process .step_list li{flex:0 0 calc((100% - 40px) / 3); gap:24px; padding:36px 16px;}
.main_process .step_list li + li::before{display:none;}
.main_process .step_list .ico{width:120px;}
}

@media screen and (max-width: 768px){
.main_process{padding:70px 0;}
.main_process .main_head{margin-bottom:35px;}
.main_process .main_head h2{font-size:20px; padding:10px 18px; border-radius:14px; border-width:1px;}
.main_process .step_list{gap:12px;}
.main_process .step_list li{flex:0 0 calc((100% - 12px) / 2); gap:16px; padding:26px 12px; border-radius:14px;}
.main_process .step_list .ico{width:91px;}
.main_process .step_list .tit{font-size:16px;}
}


/* ===== main_column ===== */
.main_column{padding:140px 0; background:url("../img/main_column_bg.jpg") no-repeat center center / cover #151b1e;}
.main_column .card_list{display:flex; flex-wrap:wrap; gap:32px;}
.main_column .card{flex:1 1 200px; background:#222527; border-radius:20px; overflow:hidden; transition:transform .35s ease-out, background-color .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover{background:#fff; transform:translateY(-20px);}
}
.main_column .img_area{position:relative; line-height:0;}
.main_column .img_area img{width:100%;}
.main_column .img_area::after{content:""; position:absolute; top:30px; right:30px; width:40px; aspect-ratio:1 / 1; border-radius:50%; background:rgba(41,141,255,.8) url("../img/icon_plus.svg") no-repeat center; opacity:0; transition:opacity .35s ease-out;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover .img_area::after{opacity:1;}
}
.main_column .txt_area{padding:40px 30px 47px;}
.main_column .card .tit{display:block; font-size:1.25rem; font-weight:700; color:#fff; line-height:1.5; letter-spacing:-0.015em;}
.main_column .card .desc{display:block; margin-top:10px; font-size:1rem; font-weight:400; color:#fff; line-height:1.5;}
.main_column .card .date{display:block; margin-top:16px; font-size:1rem; font-weight:400; color:#fff;}
@media (hover:hover) and (pointer:fine){
.main_column .card:hover .tit,
.main_column .card:hover .desc{color:#000;}
.main_column .card:hover .date{color:#888;}
}
.main_column .main_head{position:relative;}
.main_column .rolling_nav{position:absolute; right:0; bottom:0; display:flex; border:1px solid rgba(255,255,255,.4); border-radius:2em; overflow:hidden;}
.main_column .rolling_nav button{display:flex; align-items:center; justify-content:center; width:57px; aspect-ratio:1 / 1;}
.main_column .rolling_nav button img{filter:invert(1);}
.main_column .rolling_nav .btn_next{border-left:1px solid rgba(255,255,255,.4);}
.main_column .card_list .slick-list{width:100%; min-width:0;}
.main_column .slick-slide > div{padding:0 16px;}

@media screen and (max-width: 768px){
.main_column{padding:70px 0;}
.main_column .card{flex:1 1 100%;}
.main_column .card .tit{font-size:16px; }
.main_column .card .desc{font-size:13px;}
.main_column .cont{position:relative; padding-bottom:92px;}
.main_column .main_head{position:static;}
.main_column .rolling_nav{left:50%; right:auto; bottom:0; transform:translateX(-50%);}
.main_column .rolling_nav button{width:44px;}
.main_column .card_list{padding:0 60px;}
.main_column .slick-slide > div{padding:0 6px;}
.main_column .txt_area{padding:24px 12px;}
.main_column .img_area::after{top:16px; right:16px; width:32px;}
.main_column .card .date{font-size:13px;}
}

/* ===== main_consult ===== */
.main_consult .form form p,
.main_consult .form .btn_submit{opacity:0; transform:translateY(30px);}
.main_consult.section_on .form form p,
.main_consult.section_on .form .btn_submit{opacity:1; transform:translateY(0); transition:opacity .8s ease, transform .8s cubic-bezier(.22, 1, .36, 1);}
.main_consult.section_on .form form p:nth-of-type(1){transition-delay:.45s;}
.main_consult.section_on .form form p:nth-of-type(2){transition-delay:.55s;}
.main_consult.section_on .form form p:nth-of-type(3){transition-delay:.65s;}
.main_consult.section_on .form form p.agree{transition-delay:.75s;}
.main_consult.section_on .form .btn_submit{transition-delay:.85s;}
/* status rows rise in, staggered */
.main_consult .status .status_list li{opacity:0; transform:translateY(60px);}
.main_consult.section_on .status .status_list li{opacity:1; transform:translateY(0); transition:opacity 1s ease, transform 1s cubic-bezier(.22, 1, .36, 1);}
.main_consult.section_on .status .status_list li:nth-child(1){transition-delay:.6s;}
.main_consult.section_on .status .status_list li:nth-child(2){transition-delay:.75s;}
.main_consult.section_on .status .status_list li:nth-child(3){transition-delay:.9s;}
.main_consult.section_on .status .status_list li:nth-child(4){transition-delay:1.05s;}
.main_consult.section_on .status .status_list li:nth-child(5){transition-delay:1.2s;}
.main_consult.section_on .status .status_list li:nth-child(6){transition-delay:1.35s;}

.main_consult{display:flex; flex-wrap:wrap;}
.main_consult .form .inner{position:relative; padding:0 20px 0 130px; max-width:831px; width:100%;}
.main_consult .form .ico_headset{position:absolute; right:20px; top:22px;}
.main_consult .status{flex:1 1 320px; padding:154px 0; background:#fff;}
.main_consult .form{flex:1 1 320px; padding:154px 0; background:#298dff;}
.main_consult .box{max-width:632px;}
.main_consult .status .inner{margin-left:auto; padding:0 var(--padding); max-width:785px;}

@media screen and (max-width: 1400px){
.main_consult .form .inner{padding-left:20px;}
}
@media screen and (max-width: 1024px){
/* stacked: flex-basis becomes the height, so drop the 320px basis and size to content */
.main_consult{flex-direction:column;}
.main_consult .status,
.main_consult .form{flex:0 0 auto; width:100%;}
.main_consult .status .inner{max-width:100%;}
.main_consult .form .inner{max-width:100%;}
.main_consult .box{max-width:100%;}
}
.main_consult .form .cont{position:relative;}
.main_consult .eyebrow{display:block; font-size:1.375rem; font-weight:500; margin-bottom:16px;}
.main_consult .status .eyebrow{color:#298dff; }
.main_consult .form .eyebrow{color:#fff;}
.main_consult h2{font-size:3.125rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; white-space:pre-line;}
.main_consult .status h2{color:#000;}
.main_consult .form h2{color:#fff;}
.main_consult .status .sub_tit{display:block; margin-top:24px; font-size:1.75rem; font-weight:500; color:#888;}
.main_consult .status .status_roll{margin-top:30px; overflow:hidden;}
.main_consult .status .status_list{display:flex; flex-direction:column; gap:8px;}
.main_consult .status .status_list li{flex:0 0 auto; display:flex; align-items:center; padding:12px 20px; background:#f6f6f6;}
.main_consult .status .type{flex:0 0 124px; padding:8px 0; background:var(--point-color-1); border-radius:0; font-size:1rem; font-weight:700; color:#fff; text-align:center; white-space:nowrap;}
.main_consult .status .date,
.main_consult .status .name{flex:1 1 auto; font-size:1.125rem; font-weight:400; color:#000; text-align:center;}
.main_consult .status .state{flex:0 0 118px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 0; background:#fff; border-radius:2em; font-size:1.125rem; font-weight:700;}
.main_consult .status .state::before{content:""; width:8px; aspect-ratio:1 / 1; border-radius:50%; background:currentColor;}
.main_consult .status .state.done{color:#28b932;}
.main_consult .status .state.visit{color:#ab5dd8;}
.main_consult .status .state.receipt{color:#e38842;}
.main_consult .form form{margin-top:36px;}
.main_consult .form form p{margin-bottom:10px;}
.blind{position:absolute; width:1px; aspect-ratio:1 / 1; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.main_consult .form form [type=text],
.main_consult .form form [type=tel],
.main_consult .form form textarea{width:100%; height:auto; padding:26px 30px; background:rgba(255,255,255,0.5); border:none; border-radius:4px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.4; color:#000;}
.main_consult .form form ::placeholder{color:#000; opacity:1;}
.main_consult .form form textarea{resize:none;}
.main_consult .form .agree{display:flex; flex-wrap:wrap; gap:32px; margin:24px 0 20px;}
.main_consult .form .agree span{display:flex; align-items:center; gap:12px;}
.main_consult .form .agree [type=checkbox]{width:22px; aspect-ratio:1 / 1; margin:0; background:#fff; border:none; border-radius:0; appearance:none; -webkit-appearance:none; cursor:pointer;}
.main_consult .form .agree [type=checkbox]:checked{background:#fff url("../img/icon_check.svg") no-repeat center;}
.main_consult .form .agree label{margin:0; font-size:1.25rem; font-weight:400; color:#fff;}
.main_consult .form .agree a{padding:7px 14px; background:#fff; font-size:1rem; font-weight:400; color:#000; text-decoration:none; white-space:nowrap;}
.main_consult .form .btn_submit{position:relative; display:block; width:100%; padding:16px 0; background:#222527; border-radius:4px; overflow:hidden; text-align:center; border:none;}
.main_consult .form .btn_submit::before{content:""; position:absolute; left:0; top:0; width:200%; height:100%; background:repeating-linear-gradient(120deg, #222527 0 9px, #151b1e 9px 22px); animation:stripe_move 1.1s linear infinite;}
.main_consult .form .btn_submit span{position:relative; z-index:1; font-size:1.875rem; font-weight:700; color:#fff;}
@keyframes stripe_move{to{transform:translateX(-25.4px);}}

@media screen and (max-width: 768px){
.main_consult .status,
.main_consult .form{padding:70px 0 40px;}
.main_consult h2{font-size:26px;}
.main_consult .eyebrow{font-size:16px;}
.main_consult .status .sub_tit{font-size:16px; margin-top:12px;}
.main_consult .status .status_list li{gap:8px; padding:10px 12px;}
.main_consult .status .type{font-size:12px; padding:4px 8px;}
.main_consult .status .date,
.main_consult .status .name,
.main_consult .status .state{font-size:14px;}
.main_consult .form .agree{gap:12px; margin:16px 0;}
.main_consult .form .agree label,
.main_consult .form .agree a{font-size:14px;}
.main_consult .form .btn_submit{padding:3px 0;}
.main_consult .form .btn_submit span{font-size:18px;}
.main_consult .form .inner{padding:0 var(--padding); max-width:100%;}
.main_consult .status .inner{padding:0 var(--padding); max-width:100%;}
.main_consult .status .type{flex:0 0 76px; font-size:12px; padding:6px 0;}
.main_consult .status .state{flex:0 0 84px; font-size:12px; padding:6px 0; gap:5px;}
.main_consult .status .state::before{width:6px;}
.main_consult .form form [type=text],
.main_consult .form form [type=tel],
.main_consult .form form textarea{padding:10px 16px; font-size:15px; border-radius:3px;}
.main_consult .form .btn_submit span{font-size:20px;}
}

/* ===== sub_visual (all sub pages) ===== */
.sub_visual{position:relative; padding:271px 0 195px; background:url("../img/sub_visual.jpg") no-repeat center center / cover;}
/* layout stays shared — each sub page swaps only the photo */
.sub_visual.column_visual{background-image:url("../img/sub_visual_column.jpg");}
.sub_visual.review_visual{background-image:url("../img/sub_visual_review.jpg");}
.sub_visual.cases_visual{background-image:url("../img/sub_visual_cases.jpg");}
.sub_visual.consult_visual{background-image:url("../img/sub_visual_consult.jpg");}
.sub_visual::before{content:""; position:absolute; inset:0; background:rgba(34,37,39,0.6);}
.sub_visual .cont{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;}
.sub_visual .tit{font-size:4.0625rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#fff;}
.sub_visual .breadcrumb{margin-top:20px;}
.sub_visual .breadcrumb > ul{display:flex; align-items:center; gap:25px;}
.sub_visual .breadcrumb a,
.sub_visual .breadcrumb .btn_page{display:flex; align-items:center; gap:8px; padding-bottom:6px; border-bottom:2px solid var(--point-color-1); font-size:1.125rem; font-weight:600; line-height:1.5; letter-spacing:-0.015em; color:var(--point-color-1);}
.sub_visual .breadcrumb .home + li::before{content:""; width:8px; aspect-ratio:8 / 15; margin-right:25px; background:url("../img/icon_location.svg") no-repeat center;}
.sub_visual .breadcrumb .current{position:relative; display:flex; align-items:center;}
.sub_visual .breadcrumb .current .btn_page{min-width:167px; padding:0 10px 6px;}
.sub_visual .breadcrumb .btn_page::after{content:""; width:16px; aspect-ratio:16 / 9; margin-left:auto; background:url("../img/icon_arrow_select.svg") no-repeat center;}
.sub_visual .breadcrumb .page_list{position:absolute; left:32px; right:0; top:100%; z-index:2; display:none; margin-top:8px; background:#222527; border:1px solid rgba(41,141,255,0.4);}
.sub_visual .breadcrumb .current.on .page_list{display:block;}
.sub_visual .breadcrumb .page_list a{padding:10px 14px; border:0; font-weight:400; color:#fff;}
.sub_visual .breadcrumb .page_list a:hover{color:var(--point-color-1);}
/* below the desktop breakpoint the photo moves into the ::before band and the breadcrumb sits
   under it on white, per the mobile artboard. Band ratio and title offset share the same width
   basis so they scale together, and 768/460 also lands near the desktop hero height at 1025 */
@media screen and (max-width: 1024px){
.sub_visual{padding:0; background:#fff;}
/* the per-page photo moves to the band, so the modifiers must stop painting the section itself */
.sub_visual.column_visual,
.sub_visual.review_visual,
.sub_visual.cases_visual,
.sub_visual.consult_visual{background-image:none;}
.sub_visual::before{position:static; display:block; width:100%; aspect-ratio:768 / 460; background:linear-gradient(rgba(34,37,39,0.6), rgba(34,37,39,0.6)), url("../img/sub_visual.jpg") no-repeat center center / cover;}
.sub_visual.column_visual::before{background-image:linear-gradient(rgba(34,37,39,0.6), rgba(34,37,39,0.6)), url("../img/sub_visual_column.jpg");}
.sub_visual.review_visual::before{background-image:linear-gradient(rgba(34,37,39,0.6), rgba(34,37,39,0.6)), url("../img/sub_visual_review.jpg");}
.sub_visual.cases_visual::before{background-image:linear-gradient(rgba(34,37,39,0.6), rgba(34,37,39,0.6)), url("../img/sub_visual_cases.jpg");}
.sub_visual.consult_visual::before{background-image:linear-gradient(rgba(34,37,39,0.6), rgba(34,37,39,0.6)), url("../img/sub_visual_consult.jpg");}
/* static so the absolutely placed title resolves against .sub_visual, not the breadcrumb row */
.sub_visual .cont{position:static; align-items:stretch; padding:0 18px;}
.sub_visual .tit{position:absolute; left:0; right:0; top:0; padding-top:30.8%; text-align:center; font-size:40px;}
.sub_visual .breadcrumb{margin-top:36px;}
}
@media screen and (max-width: 768px){
.sub_visual .tit{font-size:30px;}
.sub_visual .breadcrumb > ul{gap:30px;}
.sub_visual .breadcrumb a,
.sub_visual .breadcrumb .btn_page{padding-bottom:9px; border-bottom-width:1px; font-size:14px;}
.sub_visual .breadcrumb .home{flex:0 0 100px;}
.sub_visual .breadcrumb .home a{justify-content:center;}
/* the chevron sits in the gap between the two underlines, so it comes out of the flow */
.sub_visual .breadcrumb .home + li::before{position:absolute; right:100%; top:50%; margin-right:11px; transform:translateY(-50%);}
.sub_visual .breadcrumb .current{flex:1 1 auto;}
.sub_visual .breadcrumb .current .btn_page{flex:1 1 auto; min-width:0; padding:0 20px 9px;}
/* the button fills the row on phones, so the dropdown drops flush under it */
.sub_visual .breadcrumb .page_list{left:0;}
.sub_visual .breadcrumb .page_list a{padding:9px 12px;}
}
/* phones use the taller artboard band */
@media screen and (max-width: 480px){
.sub_visual::before{aspect-ratio:375 / 385;}
.sub_visual .tit{padding-top:52.8%;}
}

/* ===== sub_title_head (all sub pages) ===== */
.sub_title_head{padding-top:103px; text-align:center;}
.sub_title_head .eyebrow{display:inline-flex; align-items:center; gap:11px; font-size:1.375rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:var(--point-color-1);}
.sub_title_head .eyebrow::before,
.sub_title_head .eyebrow::after{content:""; width:2px; aspect-ratio:1 / 12; background:var(--point-color-1); transform:scaleY(0); transition:transform .9s cubic-bezier(.22, 1, .36, 1);}
.sub_title_head.section_on .eyebrow::before,
.sub_title_head.section_on .eyebrow::after{transform:none;}
.sub_title_head h1,.sub_title_head h2,.sub_title_head > p{margin-top:26px; font-size:3.125rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#000;}
@media screen and (max-width: 1024px){
.sub_title_head{padding-top:70px;}
.sub_title_head .eyebrow{font-size:18px;}
.sub_title_head h1,.sub_title_head h2,.sub_title_head > p{font-size:36px;}
}
/* mobile design shows the heading only — no eyebrow */
@media screen and (max-width: 768px){
.sub_title_head{padding-top:66px;}
.sub_title_head .eyebrow{display:none;}
.sub_title_head h1,.sub_title_head h2,.sub_title_head > p{margin-top:0; font-size:26px;}
}

/* ===== lawyers_list ===== */
.lawyers_list.section_on .card_list li{opacity:1; transform:translateY(0); transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1);}
.lawyers_list.section_on .card_list li:nth-child(1){transition-delay:.2s;}
.lawyers_list.section_on .card_list li:nth-child(2){transition-delay:.3s;}
.lawyers_list.section_on .card_list li:nth-child(3){transition-delay:.4s;}
.lawyers_list.section_on .card_list li:nth-child(4){transition-delay:.5s;}
.lawyers_list.section_on .card_list li:nth-child(5){transition-delay:.6s;}

.lawyers_list{padding:52px 0 140px;}
.lawyers_list .cont{max-width:1480px;}
/* design 1440 grid: card 460 + gap 30px, basis under 1/3 so a fourth card never fits */
.lawyers_list .card_list{display:flex; flex-wrap:wrap; column-gap:30px; row-gap:30px;}
.lawyers_list .card_list li{flex:1 1 30%; max-width:calc((100% - 60px) / 3); opacity:0; transform:translateY(40px);}
.lawyers_list .card_list .card{display:flex; flex-direction:column; height:100%; background:#222527; border-radius:20px; overflow:hidden;}
.lawyers_list .card_list img{margin-top:9.35%; aspect-ratio:460 / 463; object-fit:cover; object-position:center top;}
.lawyers_list .txt_area{flex:1 0 auto; padding:43px 43px 61px; background:#222527; border-top:2px solid var(--point-color-1);}
.lawyers_list .name{display:flex; align-items:baseline; gap:15px; font-size:2.1875rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:var(--point-color-1);}
.lawyers_list .name .role{font-size:1.5rem; font-weight:400; color:#fff;}
.lawyers_list .desc{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:20px; font-size:1.125rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#c2bfbf;}
.lawyers_list .txt_area,
.lawyers_list .name,
.lawyers_list .desc{transition:background-color .3s ease-out, color .3s ease-out;}
@media (hover:hover) and (pointer:fine){
.lawyers_list .card_list a.card{transition:transform .3s ease-out, background-color .3s ease-out;}
.lawyers_list .card_list a.card:hover{transform:translateY(-10px); background:#49525d;}
.lawyers_list .card_list a.card:hover .txt_area{background:var(--point-color-1);}
.lawyers_list .card_list a.card:hover .name,
.lawyers_list .card_list a.card:hover .desc{color:#fff;}
}
@media screen and (max-width: 1024px){
.lawyers_list{padding:40px 0 90px;}
.lawyers_list .card_list li{flex:1 1 40%; max-width:calc((100% - 30px) / 2);}
.lawyers_list .txt_area{padding:28px 30px 40px;}
.lawyers_list .name{font-size:28px;}
.lawyers_list .name .role{font-size:18px;}
.lawyers_list .desc{font-size:16px;}
}
@media screen and (max-width: 768px){
.lawyers_list{padding:24px 0 60px;}
.lawyers_list .card_list{row-gap:20px;}
.lawyers_list .card_list li{flex:1 1 100%; max-width:100%;}
.lawyers_list .txt_area{padding:20px 22px 28px;}
.lawyers_list .name{font-size:22px;}
.lawyers_list .name .role{font-size:15px;}
.lawyers_list .desc{margin-top:0; font-size:14px;}
}

/* ===== lawyers_view_profile ===== */
.lawyers_view_profile{padding-top:146px;}
.lawyers_view_profile .cont{max-width:1480px;}
.lawyers_view_profile .profile_box{position:relative; display:flex; justify-content:flex-end; padding:153px 0 107px; background:linear-gradient(to right, #151b1e, rgba(36,29,30,0.302)), linear-gradient(rgba(21,27,30,0.6), rgba(21,27,30,0.6)), url("../img/lawyers_view_bg.jpg") no-repeat center top #151b1e;}
/* max-width (not width) keeps the portrait ratio and lets the 94px overhang above the box fall out of it */
/* portrait is pinned to the design size at every breakpoint — it must not rescale with the box */
.lawyers_view_profile .profile_box img{position:absolute; left:14.7917%; bottom:0; width:466px;}
.lawyers_view_profile .txt_area{flex:0 0 38.125%; padding-bottom:73px; border-bottom:2px solid var(--point-color-1);}
.lawyers_view_profile .role{display:inline-flex; align-items:center; justify-content:center; min-width:154px; padding:7.5px 25px; border:1px solid var(--point-color-1); box-sizing:border-box; font-size:1.5rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:var(--point-color-1);}
.lawyers_view_profile .name{display:block; margin-top:35px; font-size:3.75rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#fff;}
@media screen and (max-width: 1024px){
.lawyers_view_profile{padding-top:90px;}
.lawyers_view_profile .profile_box{padding:100px 0 70px;}
.lawyers_view_profile .profile_box img{width:288px;}
.lawyers_view_profile .role{min-width:0; padding:6px 18px; font-size:18px;}
.lawyers_view_profile .name{margin-top:16px; font-size:40px;}
.lawyers_view_profile .txt_area{padding-bottom:50px;}
}
@media screen and (max-width: 768px){
.lawyers_view_profile{padding-top:47px;}
.lawyers_view_profile .cont{padding:0;}
.lawyers_view_profile .profile_box{padding:42px 0 37px;}
.lawyers_view_profile .profile_box img{left:4%; width:168px;}
.lawyers_view_profile .txt_area{flex:0 0 46.93%; padding-bottom:34px; border-bottom-width:1px;}
.lawyers_view_profile .role{padding:4.5px 12px; font-size:15px;}
.lawyers_view_profile .name{margin-top:16px; font-size:30px;}
}
/* tablets need the wider-screen proportions or the portrait climbs out of the box */
@media screen and (min-width: 481px) and (max-width: 768px){
.lawyers_view_profile .profile_box{padding:80px 0 60px;}
.lawyers_view_profile .profile_box img{left:4%; width:240px;}
.lawyers_view_profile .txt_area{flex:0 0 38.125%; padding-bottom:50px;}
}

/* ===== lawyers_view_career ===== */
.lawyers_view_career{padding-top:90px;}
.lawyers_view_career .cont{display:flex; max-width:1480px;}
.lawyers_view_career .col{flex:1 1 50%; padding:7px 0 0 52px; border-left:2px solid var(--point-color-1); box-sizing:border-box;}
.lawyers_view_career h3{font-size:2.5rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.lawyers_view_career ul{margin-top:24px;}
.lawyers_view_career li{position:relative; padding-left:13px; font-size:1.125rem; font-weight:400; line-height:1.95; letter-spacing:-0.015em; color:#000;}
.lawyers_view_career li::before{content:""; position:absolute; left:0; top:13px; width:8px; aspect-ratio:1 / 1; border:1px solid var(--point-color-1); border-radius:50%; box-sizing:border-box;}
@media screen and (max-width: 1024px){
.lawyers_view_career{padding-top:60px;}
.lawyers_view_career .col{padding-left:32px;}
.lawyers_view_career h3{font-size:30px;}
.lawyers_view_career ul{margin-top:18px;}
.lawyers_view_career li{font-size:16px; line-height:1.9;}
}
@media screen and (max-width: 768px){
.lawyers_view_career{padding-top:48px;}
.lawyers_view_career .cont{flex-direction:column;}
.lawyers_view_career .col{flex:0 0 auto; padding:4px 0 0 32px;}
.lawyers_view_career .col + .col{margin-top:29px;}
.lawyers_view_career h3{font-size:24px;}
.lawyers_view_career ul{margin-top:14px;}
.lawyers_view_career li{font-size:14px; line-height:1.7;}
.lawyers_view_career li::before{top:8px;}
}

/* ===== lawyers_view_service ===== */
.lawyers_view_service{padding:77px 0 140px;}
.lawyers_view_service .cont{max-width:1480px;}
.lawyers_view_service .service_box{position:relative; display:flex; padding:87px 0 67px; background:#f8f7f5;}
.lawyers_view_service .service_box::before{content:""; position:absolute; left:49.93%; top:80px; bottom:72px; width:1px; background:#c9c9c9;}
.lawyers_view_service .col{flex:1 1 50%; padding-left:100px; box-sizing:border-box;}
.lawyers_view_service .col + .col{padding-left:60px;}
.lawyers_view_service h3{font-size:2.5rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.lawyers_view_service ul{margin-top:24px;}
.lawyers_view_service li{position:relative; padding-left:13px; font-size:1.125rem; font-weight:400; line-height:1.95; letter-spacing:-0.015em; color:#000;}
.lawyers_view_service li::before{content:""; position:absolute; left:0; top:13px; width:8px; aspect-ratio:1 / 1; border:1px solid var(--point-color-1); border-radius:50%; box-sizing:border-box;}
@media screen and (max-width: 1024px){
.lawyers_view_service{padding:60px 0 90px;}
.lawyers_view_service .service_box{padding:50px 0;}
.lawyers_view_service .col{padding-left:50px;}
.lawyers_view_service .col + .col{padding-left:40px;}
.lawyers_view_service h3{font-size:30px;}
.lawyers_view_service ul{margin-top:18px;}
.lawyers_view_service li{font-size:16px; line-height:1.9;}
}
@media screen and (max-width: 768px){
.lawyers_view_service{padding:62px 0 60px;}
.lawyers_view_service .service_box{flex-direction:column; padding:32px 0;}
.lawyers_view_service .service_box::before{display:none;}
.lawyers_view_service .col{flex:0 0 auto; padding-left:32px;}
.lawyers_view_service .col + .col{margin-top:40px; padding-left:32px;}
.lawyers_view_service h3{font-size:24px;}
.lawyers_view_service ul{margin-top:14px;}
.lawyers_view_service li{font-size:14px; line-height:1.7;}
.lawyers_view_service li::before{top:8px;}
}

/* ===== column_list ===== */
.column_list.section_on .card_list li{opacity:1; transform:translateY(0); transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1);}
.column_list.section_on .card_list li:nth-child(4n+1){transition-delay:.15s;}
.column_list.section_on .card_list li:nth-child(4n+2){transition-delay:.25s;}
.column_list.section_on .card_list li:nth-child(4n+3){transition-delay:.35s;}
.column_list.section_on .card_list li:nth-child(4n+4){transition-delay:.45s;}

.column_list{padding:40px 0 140px;}
.column_list .cont{max-width:1480px;}
/* design 1440 grid: card 336 + gap 32px. Basis stays under 1/4 of the row so a fifth card can
   never fit and the four grow to fill whatever is left after the fixed gaps */
.column_list .card_list{display:flex; flex-wrap:wrap; column-gap:32px; row-gap:50px;}
.column_list .card_list li{flex:1 1 20%; max-width:calc((100% - 96px) / 4); opacity:0; transform:translateY(40px);}
.column_list .card_list a{display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid #c9c9c9; border-radius:20px; box-shadow:3px 3px 5px rgba(0,0,0,0.05); box-sizing:border-box; overflow:hidden;}
.column_list .card_list img{aspect-ratio:336 / 212; object-fit:cover;}
.column_list .txt_area{flex:1 0 auto; padding:19px 29px 58px;}
.column_list .tit{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:1.25rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.column_list .desc{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:18px; font-size:1rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.column_list .date{display:block; margin-top:49px; font-size:1rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#888;}
@media (hover:hover) and (pointer:fine){
.column_list .card_list a{transition:transform .3s ease-out, box-shadow .3s ease-out;}
.column_list .card_list a:hover{transform:translateY(-10px); box-shadow:3px 8px 14px rgba(0,0,0,0.1);}
}

/* paging is the same board control on every list page — one declaration, several owners */
.column_list .paging,
.review_list .paging,
.cases_list .paging{margin-top:76px;}
.column_list .paging ul,
.review_list .paging ul,
.cases_list .paging ul,
.consult_list_board .paging ul{display:flex; justify-content:center; align-items:center; gap:4px;}
.column_list .paging a,
.review_list .paging a,
.cases_list .paging a,
.consult_list_board .paging a{display:flex; align-items:center; justify-content:center; width:42px; aspect-ratio:1 / 1; border-radius:50%; box-sizing:border-box; background:#f9f9f9; font-size:1rem; font-weight:400; line-height:1.5; color:#000;}
.column_list .paging .first,
.review_list .paging .first,
.cases_list .paging .first,
.consult_list_board .paging .first{background:url("../img/icon_page_first.svg") no-repeat center #fff; border:1px solid #c9c9c9;}
.column_list .paging .prev,
.review_list .paging .prev,
.cases_list .paging .prev,
.consult_list_board .paging .prev{margin-right:16px; background:url("../img/icon_page_prev.svg") no-repeat center #fff; border:1px solid #c9c9c9;}
.column_list .paging .next,
.review_list .paging .next,
.cases_list .paging .next,
.consult_list_board .paging .next{margin-left:16px; background:url("../img/icon_page_next.svg") no-repeat center #fff; border:1px solid #c9c9c9;}
.column_list .paging .last,
.review_list .paging .last,
.cases_list .paging .last,
.consult_list_board .paging .last{background:url("../img/icon_page_last.svg") no-repeat center #fff; border:1px solid #c9c9c9;}
.column_list .paging .on,
.review_list .paging .on,
.cases_list .paging .on,
.consult_list_board .paging .on{background-color:#fff; border:1px solid #000;}
@media screen and (max-width: 1024px){
.column_list .paging,
.review_list .paging,
.cases_list .paging{margin-top:50px;}
}
@media screen and (max-width: 768px){
.column_list .paging,
.review_list .paging,
.cases_list .paging{margin-top:34px;}
.column_list .paging ul,
.review_list .paging ul,
.cases_list .paging ul,
.consult_list_board .paging ul{flex-wrap:wrap; gap:4px;}
.column_list .paging .prev,
.review_list .paging .prev,
.cases_list .paging .prev,
.consult_list_board .paging .prev{margin-right:8px;}
.column_list .paging .next,
.review_list .paging .next,
.cases_list .paging .next,
.consult_list_board .paging .next{margin-left:8px;}
.column_list .paging a,
.review_list .paging a,
.cases_list .paging a,
.consult_list_board .paging a{width:30px; font-size:14px;}
}
@media screen and (max-width: 1024px){
.column_list{padding:40px 0 90px;}
.column_list .card_list{column-gap:32px; row-gap:30px;}
.column_list .card_list li{flex:1 1 40%; max-width:calc((100% - 32px) / 2);}
.column_list .txt_area{padding:22px 22px 24px;}
.column_list .tit{font-size:18px;}
.column_list .desc{margin-top:10px; font-size:15px;}
.column_list .date{margin-top:16px; font-size:15px;}
}
@media screen and (max-width: 768px){
.column_list{padding:24px 0 60px;}
.column_list .card_list{column-gap:0; row-gap:20px;}
.column_list .card_list li{flex:1 1 100%; max-width:100%;}
.column_list .txt_area{padding:18px 18px 20px;}
.column_list .tit{font-size:17px;}
.column_list .desc{font-size:14px;}
.column_list .date{margin-top:12px; font-size:14px;}
}

/* ===== column_view_article ===== */
.column_view_article{padding:68px 0 142px;}
.column_view_article .cont{max-width:1480px;}
.column_view_article .head{padding:26px 40px 25px; border-top:2px solid var(--point-color-1); border-bottom:1px solid #c9c9c9;}
.column_view_article .tit{display:block; font-size:1.875rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.column_view_article .info{display:flex; align-items:center; margin-top:10px;}
.column_view_article .info li{font-size:1rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#888;}
.column_view_article .info li + li{margin-left:30px; padding-left:30px; border-left:1px solid #c9c9c9;}
/* 고객후기 view 는 등록일·조회수 대신 채무 정보를 쓴다 (26.09.09 가이드) */
.review_view_article .info .total s{text-decoration:line-through;}
.review_view_article .info .monthly{font-weight:700; color:var(--point-color-1);}
.column_view_article .body{padding:102px 40px 100px; border-bottom:1px solid #ddd;}
.column_view_article .body p{margin-top:65px; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.column_view_article .body p + p{margin-top:30px;}
.column_view_article .btn_area{display:flex; align-items:center; margin-top:40px; padding:0 40px;}
.column_view_article .move{display:flex; gap:8px;}
.column_view_article .move a{display:flex; align-items:center; justify-content:center; gap:14px; width:144px; height:46px; border:1px solid #c9c9c9; box-sizing:border-box; font-size:1.125rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.column_view_article .move a::before{content:""; width:8px; aspect-ratio:8 / 13; background:no-repeat center;}
.column_view_article .move .prev::before{background-image:url("../img/icon_page_prev.svg");}
/* next arrow sits after its label — order flips it without a second pseudo element */
.column_view_article .move .next::before{order:1; background-image:url("../img/icon_page_next.svg");}
.column_view_article .btn_list{display:flex; align-items:center; justify-content:center; width:142px; height:46px; margin-left:auto; background:var(--point-color-1); box-sizing:border-box; font-size:1.125rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#fff;}
@media screen and (max-width: 1024px){
.column_view_article{padding:50px 0 90px;}
.column_view_article .head{padding:22px 0 20px;}
.column_view_article .tit{font-size:24px;}
.column_view_article .info li{font-size:15px;}
.column_view_article .info li + li{margin-left:20px; padding-left:20px;}
.column_view_article .body{padding:60px 0;}
.column_view_article .body p{margin-top:40px; font-size:17px;}
.column_view_article .body p + p{margin-top:26px;}
.column_view_article .btn_area{margin-top:80px; padding:0;}
}
@media screen and (max-width: 768px){
.column_view_article{padding:34px 0 60px;}
.column_view_article .head{padding:18px 0 16px;}
.column_view_article .tit{font-size:20px;}
.column_view_article .info li{font-size:13px;}
.column_view_article .info li + li{margin-left:14px; padding-left:14px;}
.column_view_article .body{padding:34px 0;}
.column_view_article .body p{margin-top:26px; font-size:15px;}
.column_view_article .body p + p{margin-top:22px;}
.column_view_article .btn_area{margin-top:50px;}
.column_view_article .move a{gap:10px; width:104px; height:40px; font-size:15px;}
.column_view_article .btn_list{width:104px; height:40px; font-size:15px;}
}

/* ===== review_list ===== */
.review_list.section_on .card_list li{opacity:1; transform:translateY(0); transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1);}
.review_list.section_on .card_list li:nth-child(4n+1){transition-delay:.15s;}
.review_list.section_on .card_list li:nth-child(4n+2){transition-delay:.25s;}
.review_list.section_on .card_list li:nth-child(4n+3){transition-delay:.35s;}
.review_list.section_on .card_list li:nth-child(4n+4){transition-delay:.45s;}

.review_list{padding:76px 0 160px;}
.review_list .cont{max-width:1480px;}
/* design 1440 grid: card 336 + gap 32px, same basis trick as the column board */
.review_list .card_list{display:flex; flex-wrap:wrap; column-gap:32px; row-gap:50px;}
.review_list .card_list li{flex:1 1 20%; max-width:calc((100% - 96px) / 4); opacity:0; transform:translateY(40px);}
.review_list .card_list > li > a{display:flex; flex-direction:column; height:100%; background:#fff; border-radius:20px; box-shadow:3px 3px 5px rgba(0,0,0,0.05); overflow:hidden;}
.review_list .img_area{position:relative; aspect-ratio:336 / 303; overflow:hidden;}
.review_list .img_area::after{content:""; position:absolute; inset:0; background:linear-gradient(rgba(34,37,39,0.2) 0%, rgba(34,37,39,0.7) 59%, rgba(34,37,39,0.9) 100%);}
.review_list .img_area img{width:100%; height:100%; object-fit:cover; object-position:center top;}
.review_list .top_title{position:absolute; left:0; bottom:0; z-index:1; width:100%; padding:0 30px 40px; box-sizing:border-box;}
.review_list .badge{display:block; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #c9c9c9; font-size:1.5rem; font-weight:700; line-height:1.2; letter-spacing:-0.015em; color:#fff;}
.review_list .headline{display:block; font-size:1.125rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#fff;}
.review_list .txt_area{flex:1 0 auto; padding:35px 25px;}
.review_list .tit{display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; font-size:1.25rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.review_list .meta{display:block; margin-top:8px; font-size:1.125rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#0b3275;}
.review_list .amount{margin-top:15px;}
.review_list .amount > div{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; box-sizing:border-box;}
.review_list .amount .total{padding:13px 10px; background:#fff; border-radius:10px;}
.review_list .amount .monthly{position:relative; padding:14px 10px; background:#0b3275; border-radius:10px;}
.review_list .amount .monthly::before{content:""; position:absolute; left:50%; top:-9px; width:18px; aspect-ratio:1 / 1; margin-left:-9px; border-radius:50%; background:#298dff url("../img/icon_check.svg") no-repeat center / 10px;}
.review_list .amount dt{font-size:1rem; font-weight:500; line-height:1.4; letter-spacing:-0.015em; color:#000;}
.review_list .amount dd{margin:0; font-size:1.5rem; font-weight:400; line-height:1.4; letter-spacing:-0.015em; color:#000; white-space:nowrap;}
.review_list .amount .total dd{text-decoration:line-through;}
.review_list .amount .monthly dt{color:#298dff;}
.review_list .amount .monthly dd{font-size:1.625rem; font-weight:700; color:#fff;}
@media (hover:hover) and (pointer:fine){
.review_list .card_list > li > a{transition:transform .3s ease-out, box-shadow .3s ease-out;}
.review_list .card_list > li > a:hover{transform:translateY(-10px); box-shadow:3px 8px 14px rgba(0,0,0,0.1);}
}
@media screen and (max-width: 1024px){
.review_list{padding:50px 0 90px;}
.review_list .card_list{column-gap:32px; row-gap:40px;}
.review_list .card_list li{flex:1 1 40%; max-width:calc((100% - 32px) / 2);}
.review_list .top_title{padding:0 22px 20px;}
.review_list .badge{padding-bottom:10px; margin-bottom:10px; font-size:18px;}
.review_list .headline{font-size:15px;}
.review_list .txt_area{padding:26px 22px 28px;}
.review_list .tit{font-size:18px;}
.review_list .meta{font-size:15px;}
.review_list .amount{margin-top:12px;}
.review_list .amount dt{font-size:13px;}
.review_list .amount dd{font-size:18px;}
.review_list .amount .monthly dd{font-size:19px;}
}
@media screen and (max-width: 768px){
.review_list{padding:34px 0 60px;}
.review_list .card_list{column-gap:0; row-gap:20px;}
.review_list .card_list li{flex:1 1 100%; max-width:100%;}
.review_list .top_title{padding:0 18px 16px;}
.review_list .badge{font-size:16px;}
.review_list .headline{font-size:14px;}
.review_list .txt_area{padding:20px 18px 22px;}
.review_list .tit{font-size:17px;}
.review_list .meta{font-size:14px;}
.review_list .amount{margin-top:14px; gap:6px;}
.review_list .amount > div{padding:10px 12px;}
.review_list .amount dt{font-size:13px;}
.review_list .amount dd{font-size:15px;}
}

/* ===== cases_list ===== */
.cases_list.section_on .card_list li{opacity:1; transform:translateY(0); transition:opacity .9s ease, transform .9s cubic-bezier(.22,1,.36,1);}
.cases_list.section_on .card_list li:nth-child(4n+1){transition-delay:.15s;}
.cases_list.section_on .card_list li:nth-child(4n+2){transition-delay:.25s;}
.cases_list.section_on .card_list li:nth-child(4n+3){transition-delay:.35s;}
.cases_list.section_on .card_list li:nth-child(4n+4){transition-delay:.45s;}

.cases_list{padding:66px 0 154px;}
.cases_list .cont{max-width:1480px;}
/* same 1440 grid as the review board: card 340 + gap 28px */
.cases_list .card_list{display:flex; flex-wrap:wrap; column-gap:28px; row-gap:57px;}
.cases_list .card_list li{flex:1 1 20%; max-width:calc((100% - 84px) / 4); opacity:0; transform:translateY(40px);}
.cases_list .card_list > li > a{display:flex; flex-direction:column; height:100%; background:#fff; border-radius:20px; box-shadow:3px 3px 5px rgba(0,0,0,0.05); overflow:hidden;}
.cases_list .tag{display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; padding:9px; background:var(--point-color-1); text-align:center; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:#fff;}
.cases_list .txt_area{position:relative; flex:1 0 auto; padding:20px 25px 0;}
.cases_list .tit{position:relative; z-index:2; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:1.625rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.cases_list .desc{position:relative; z-index:2; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:6px; font-size:1.125rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
/* the ruling scan slides up behind the copy, so the card reads as one document */
.cases_list .bg{position:relative; margin:-61px -25px 0;}
/* the scan slides up behind the copy, so it fades to white where the text sits */
.cases_list .bg::before{content:""; position:absolute; left:0; top:0; z-index:1; width:100%; height:150px; background:linear-gradient(180deg, #fff 0%, #fff 41%, rgba(255,255,255,0) 100%);}
.cases_list .bg img{width:100%;}
.cases_list .doc{position:absolute; left:50%; top:50%; z-index:2; width:47%; padding:5px; border:3px solid #ff0000; box-sizing:border-box; text-align:center; font-size:2.1875rem; font-weight:700; line-height:1.4; letter-spacing:-0.015em; color:#ff0000; transform:translate(-50%, -50%) rotate(-10deg);}
@media (hover:hover) and (pointer:fine){
.cases_list .card_list > li > a{transition:transform .3s ease-out, box-shadow .3s ease-out;}
.cases_list .card_list > li > a:hover{transform:translateY(-10px); box-shadow:3px 8px 14px rgba(0,0,0,0.1);}
}
@media screen and (max-width: 1024px){
.cases_list{padding:50px 0 90px;}
.cases_list .card_list{column-gap:28px; row-gap:40px;}
.cases_list .card_list li{flex:1 1 40%; max-width:calc((100% - 28px) / 2);}
.cases_list .tag{font-size:17px;}
.cases_list .txt_area{padding:18px 26px 0;}
.cases_list .tit{font-size:22px;}
.cases_list .desc{font-size:16px;}
.cases_list .bg{margin:-48px -26px 0;}
.cases_list .bg::before{height:120px;}
.cases_list .doc{font-size:30px; border-width:2px;}
}
@media screen and (max-width: 768px){
.cases_list{padding:34px 0 60px;}
.cases_list .card_list{column-gap:0; row-gap:20px;}
.cases_list .card_list li{flex:1 1 100%; max-width:100%;}
.cases_list .tag{padding:8px; font-size:15px;}
.cases_list .txt_area{padding:16px 22px 0;}
.cases_list .tit{font-size:20px;}
.cases_list .desc{font-size:14px;}
.cases_list .bg{margin:-40px -22px 0;}
.cases_list .bg::before{height:100px;}
.cases_list .doc{font-size:26px; border-width:2px;}
}

/* ===== consult_form ===== */
/* the terms box is a scroll well, so its height is a token rather than a literal */
.consult_form{--agree_h:340px; padding:56px 0 142px;}
.consult_form .cont{max-width:1480px;}
.consult_form .tit{position:relative; display:block; padding-left:31px; font-size:1.875rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_form .tit::before{content:""; position:absolute; left:0; top:16px; width:11px; aspect-ratio:1 / 1; border:2px solid var(--point-color-1); border-radius:50%; box-sizing:border-box;}
.consult_form .agree_box{max-height:var(--agree_h); margin-top:27px; padding:37px 40px; border: 10px solid #F2F2F2; box-sizing:border-box; overflow-y:auto;}
.consult_form .agree_box p{font-size:1.125rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_form .agree_box p + p{margin-top:27px;}
.consult_form .agree_check{display:flex; align-items:center; justify-content:center; gap:12px;  padding:21px 0; background:#f2f2f2;}
.consult_form .agree_check input{width:18px; aspect-ratio:1 / 1; accent-color:var(--point-color-1);}
.consult_form .agree_check label{font-size:1.125rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000; cursor:pointer;}

.consult_form fieldset{min-width:0; margin-top:60px; border-top:1px solid var(--point-color-1); border-bottom:1px solid #000;}
.consult_form .row{display:flex; align-items:center; padding:19px 0;}
.consult_form .row:not(:last-child){border-bottom:1px solid #c9c9c9;}
.consult_form .label{flex:0 0 280px; padding-left:40px; box-sizing:border-box; font-size:1.25rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_form .label em{color:#ff0000;}
.consult_form .input_area{display:flex; flex:1 1 auto; align-items:center; gap:16px; min-width:0;}
.consult_form input,
.consult_form select,
.consult_form textarea{height:auto; min-width:0; padding:10px 20px; background:#fff; border:1px solid #c9c9c9; border-radius:5px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_form ::placeholder{color:#888;}
.consult_form select{padding-right:44px; background:url("../img/icon_arrow_select.svg") no-repeat right 20px center #fff; appearance:none;}
.consult_form .input_area textarea{width:100%; resize:vertical;}
.consult_form .w_select{flex:0 1 268px;}
.consult_form .w_mid{flex:0 1 502px;}
.consult_form .w_tel{flex:0 1 120px;}
.consult_form .input_area .w_tel + .w_tel{flex:0 1 200px;}
.consult_form .w_email{flex:0 1 242px;}
.consult_form .input_area .w_email + .at + .w_email{flex:0 1 302px;}
.consult_form .w_domain{flex:0 1 302px;}
.consult_form .at{font-size:1.25rem; font-weight:400; line-height:1.5; color:#000;}
.consult_form .w_full{flex:1 1 100%;}
/* the mail row packs four controls, so it runs a tighter gutter than the rest */
.consult_form .email_area{gap:10px;}
.consult_form .file_area{gap:4px;}
.consult_form .file_name{flex:0 1 640px; min-width:0;}
.consult_form .btn_file{display:flex; flex:0 0 150px; align-items:center; justify-content:center; padding:10px; background:#222527; border-radius:5px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#fff; cursor:pointer;}
.consult_form .btn_submit{display:flex; align-items:center; justify-content:center; width:100%; margin-top:50px; padding:22px; background:var(--point-color-1); border:0; border-radius:5px; box-sizing:border-box; font-size:1.5rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#fff; cursor:pointer;}
@media screen and (max-width: 1024px){
.consult_form{--agree_h:280px; padding:40px 0 90px;}
.consult_form .tit{font-size:24px;}
.consult_form .tit::before{top:12px;}
.consult_form .agree_box{padding:26px 24px;}
.consult_form .agree_box p{font-size:16px;}
.consult_form fieldset{margin-top:40px;}
.consult_form .label{flex:0 0 180px; padding-left:16px; font-size:17px;}
.consult_form input,
.consult_form select,
.consult_form textarea{font-size:16px;}
.consult_form .w_select{flex:0 1 220px;}
.consult_form .w_mid{flex:0 1 320px;}
.consult_form .w_tel{flex:0 1 110px;}
.consult_form .input_area .w_tel + .w_tel{flex:0 1 130px;}
.consult_form .w_email{flex:0 1 160px;}
.consult_form .input_area .w_email + .at + .w_email{flex:0 1 190px;}
.consult_form .w_domain{flex:0 1 180px;}
.consult_form .file_name{flex:0 1 440px;}
.consult_form .btn_file{flex:0 0 110px; font-size:16px;}
.consult_form .btn_submit{margin-top:36px; padding:18px; font-size:20px;}
}
@media screen and (max-width: 768px){
.consult_form{--agree_h:220px; padding:30px 0 60px;}
.consult_form .tit{font-size:20px;}
.consult_form .tit::before{top:9px;}
.consult_form .agree_box{padding:18px; margin-top:18px;}
.consult_form .agree_box p{font-size:14px;}
.consult_form .agree_check{padding:14px 0;}
.consult_form .agree_check label{font-size:14px;}
.consult_form fieldset{margin-top:30px;}
.consult_form .row{flex-direction:column; align-items:stretch; gap:8px; padding:14px 0;}
.consult_form .label{flex:0 0 auto; padding-left:0; font-size:15px;}
.consult_form .input_area{flex-wrap:nowrap; gap:8px;}
.consult_form input,
.consult_form select,
.consult_form textarea{padding:8px 12px; font-size:15px;}
.consult_form .w_select{flex:1 1 100%;}
.consult_form .w_mid{flex:1 1 100%;}
.consult_form .w_tel{flex:1 1 0;}
.consult_form .input_area .w_tel + .w_tel{flex:1 1 0;}
.consult_form .w_email{flex:1 1 0;}
.consult_form .input_area .w_email + .at + .w_email{flex:1 1 0;}
.consult_form .w_domain{flex:1 1 0;}
.consult_form select{padding-right:26px; background-position:right 8px center;}
.consult_form .email_area{gap:6px;}
.consult_form .btn_file{flex:0 0 90px; padding:8px; font-size:14px;}
.consult_form .btn_submit{margin-top:26px; padding:14px; font-size:17px;}
}

/* ===== consult_list ===== */
.consult_list_board{padding:68px 0 142px;}
.consult_list_board .cont{max-width:1480px;}
.consult_list_board .board_list{width:100%; border-top:2px solid var(--point-color-1); border-collapse:collapse; table-layout:fixed;}
.consult_list_board .col_no{width:7%;}
.consult_list_board .col_subject{width:46.1%;}
.consult_list_board .col_writer{width:17.8%;}
.consult_list_board .col_date{width:11.6%;}
.consult_list_board .col_state{width:17.5%;}
.consult_list_board th{padding:19px 0; border-bottom:1px solid #000; text-align:center; font-size:1.375rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_list_board td{padding:13px 0; border-bottom:1px solid #e4e4e4; text-align:center; font-size:1.125rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_list_board .subject{padding-left:44px; text-align:left;}
.consult_list_board .subject a{display:flex; align-items:center; gap:9px;}
.consult_list_board .subject span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.consult_list_board .state{display:inline-flex; align-items:center; gap:9px; padding:6px 24px; border:1px solid #c9c9c9; border-radius:2em; font-size:1.125rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em;}
.consult_list_board .state::before{content:""; width:8px; aspect-ratio:1 / 1; border-radius:50%; background:currentColor;}
.consult_list_board .receipt{color:#e38842;}
.consult_list_board .done{color:#28b932;}
.consult_list_board .visit{color:#ab5dd8;}
.consult_list_board .btn_area{position:relative; margin-top:52px;}
.consult_list_board .btn_write{position:absolute; right:0; top:50%; display:flex; align-items:center; justify-content:center; width:140px; padding:9px; border:1px solid #c9c9c9; box-sizing:border-box; font-size:1.125rem; font-weight:700; line-height:1.5; letter-spacing:-0.015em; color:#000; transform:translateY(-50%);}
@media (hover:hover) and (pointer:fine){
.consult_list_board .subject a:hover span{text-decoration:underline;}
}
@media screen and (max-width: 1024px){
.consult_list_board{padding:50px 0 90px;}
.consult_list_board th{padding:16px 0; font-size:18px;}
.consult_list_board td{padding:10px 0; font-size:16px;}
.consult_list_board .subject{padding-left:20px;}
.consult_list_board .state{padding:5px 14px; font-size:15px;}
.consult_list_board .btn_area{margin-top:40px;}
.consult_list_board .btn_write{width:110px; font-size:15px;}
}
@media screen and (max-width: 768px){
.consult_list_board{padding:34px 0 60px;}
/* the writer/date columns fall away on phones — number, title, state carry the row */
.consult_list_board th{padding:12px 0; font-size:15px;}
.consult_list_board td{padding:8px 0; font-size:14px;}
.consult_list_board .subject{padding-left:10px;}
.consult_list_board .subject a{gap:5px;}
.consult_list_board .subject img{width:12px;}
.consult_list_board .state{gap:5px; padding:4px 10px; font-size:13px;}
.consult_list_board .state::before{width:6px;}
.consult_list_board .btn_area{margin-top:28px; padding-bottom:56px;}
.consult_list_board .btn_write{right:50%; top:auto; bottom:0; width:120px; font-size:14px; transform:translate(50%, 0);}
}
/* phones drop the writer and date cells; <col> maps by position, so the state cell inherits the third <col> */
@media screen and (max-width: 480px){
.consult_list_board .col_no{width:16%;}
.consult_list_board .col_subject{width:50%;}
.consult_list_board .col_writer{width:34%;}
.consult_list_board .col_date,
.consult_list_board .col_state{width:0;}
.consult_list_board th:nth-child(3),
.consult_list_board th:nth-child(4),
.consult_list_board td:nth-child(3),
.consult_list_board td:nth-child(4){display:none;}
}

/* ===== consult_pwd_check ===== */
.consult_pwd_check{padding:66px 0 142px;}
.consult_pwd_check .cont{max-width:1480px;}
.consult_pwd_check .box{padding:71px 20px 74px; background:#f9f9f9; border:1px solid #c9c9c9; text-align:center;}
.consult_pwd_check .box::before{content:""; display:block; width:53px; aspect-ratio:53 / 60; margin:0 auto; background:url("../img/lock.svg") no-repeat center / contain;}
.consult_pwd_check .desc{margin-top:26px; font-size:1.5rem; font-weight:500; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_pwd_check .desc span{color:var(--point-color-1);}
.consult_pwd_check fieldset{display:flex; justify-content:center; min-width:0; gap:16px; margin-top:46px;}
.consult_pwd_check input{height:auto; width:494px; max-width:100%; padding:10px 20px; background:#fff; border:1px solid #c9c9c9; border-radius:5px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#000;}
.consult_pwd_check ::placeholder{color:#888;}
.consult_pwd_check .btn_confirm{display:flex; flex:0 0 146px; align-items:center; justify-content:center; padding:10px; background:#222527; border:0; border-radius:5px; box-sizing:border-box; font-size:1.25rem; font-weight:400; line-height:1.5; letter-spacing:-0.015em; color:#fff; cursor:pointer;}
@media screen and (max-width: 1024px){
.consult_pwd_check{padding:50px 0 90px;}
.consult_pwd_check .box{padding:54px 20px;}
.consult_pwd_check .desc{margin-top:20px; font-size:19px;}
.consult_pwd_check fieldset{margin-top:34px;}
.consult_pwd_check input{width:360px; font-size:16px;}
.consult_pwd_check .btn_confirm{flex:0 0 110px; font-size:16px;}
}
@media screen and (max-width: 768px){
.consult_pwd_check{padding:34px 0 60px;}
.consult_pwd_check .box{padding:38px 18px;}
.consult_pwd_check .box::before{width:34px;}
.consult_pwd_check .desc{margin-top:16px; font-size:15px;}
.consult_pwd_check fieldset{gap:8px; margin-top:24px;}
.consult_pwd_check input{width:auto; flex:1 1 auto; min-width:0; padding:8px 12px; font-size:15px;}
.consult_pwd_check .btn_confirm{flex:0 0 80px; padding:8px; font-size:15px;}
}

/* ===== footer ===== */
.footer{padding:120px 0; background:#222527;}
.footer .cont{display:flex; gap:100px;}
.footer .info{flex:1; }
.footer .info li{font-size:1.125rem; font-weight:400; color:#fff; line-height:1.5;}
.footer .info .copyright{margin-top:34px; padding-top:34px;   border-top:1px solid #707070; }
.footer .info .copyright li{color:#c9c9c9;}
@media screen and (max-width: 960px){
.footer .cont{flex-direction:column; gap:40px;}
.footer{padding:40px 0;}
.footer .logo{margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,0.5); text-align:center;}
.footer .logo img{width:186px;}
.footer .info li{font-size:13px;}
.footer .info .copyright{margin-top:20px; padding-top:0; border-top:none; font-size:12px;}
.footer .cont{flex-direction:column; gap:0;}
}

@media screen and (max-width: 768px){
/* clear the fixed .quick_mo bar (61px + 2px border) */
.footer{padding-bottom:103px;}
}
