@charset "utf-8";
/* 공통 */
.subtit { font-size: 40px; line-height: 1.25em; color: #242424; font-weight: 300; margin-bottom: 55px; }
.subtit span { font-weight: 700; }
.subtxt { line-height: 1.5em; font-size: 18px; }
.subtxt span {color: var(--color-primary);}
.subtab { display: flex; justify-content: center; gap: 10px; margin-bottom: 55px; }
.subtab li a { font-size: 20px; display: flex; align-items: center; justify-content: center; line-height: 1.2em; border: 1px solid #ddd; width: 200px; height: 64px; border-radius: 32px; color: #242424; font-weight: 400; }
.subtab li.active a { border-color: var(--color-primary); background: var(--color-primary); color: #fff; font-weight: 700; }
.subtab li a:hover { border-color: var(--color-primary); background: var(--color-primary); color: #fff; font-weight: 700; }
.subtab.wt li a { width: 230px; }
.subtit2 { font-size: 24px; font-weight: 600; color: #242424; line-height: 1.444em; margin-bottom: 25px; }
.subtit2.tc { text-align: center; }
.subtit2 strong { color: var(--color-secondary);}
.subtit2.mt { margin-top: 35px; }

/* 인사말 */
.gt { display: flex; align-items: center; }
.gt .img { width: 41%; }
.gt .info { width: 59%; padding-left: 75px; }
.gt .info h4 { line-height: 1em; font-size: 18px; font-weight: 600; color: #a9a9a9; margin-bottom: 32px; }
.gt .info p { margin-bottom: 30px; }
.gt .info p:last-child { margin-bottom: 0; }

/* 오시는 길 */
.lct { display: flex; align-items: flex-start;}
.lct .left { width: 30%; padding-right: 20px; }
.lct .left h2 { line-height: 1.2em; font-size: 30px; font-weight: 600; color: #242424; position: relative; margin-bottom: 45px; }
.lct .left h2::before { content: ""; display: block; width: 7px; height: 7px; background: var(--color-primary); margin-bottom: 20px; }
.lct .left .group { margin-bottom: 30px; }
.lct .left .group:last-child { margin-bottom: 0; }
.lct .left .group h4 { line-height: 1.2em; font-size: 18px; font-weight: 600; color: var(--color-primary); letter-spacing: -.03em; margin-bottom: 12px; }
.lct .right { width: 70%; }
.lct .right h3 { font-size: 24px; font-weight: 600; color: #242424; line-height: 1.2em; margin-top: 35px; }
.lct .right h3 span { display: inline-block; color: #acacac; padding-left: 7px; }

/* 연락처 */
.ct { display: flex; align-items: center; background: url(../images/sub/lct-img2.jpg) right no-repeat; background-size: 50%;}
.ct .img { width: 50%; }
.ct .img img { width: 100%; }
.ct .info { width: 50%; padding-left: 60px; }
.ct .info h4 { line-height: 1.2em; font-size: 20px; font-weight: 600; color: #929292; }
.ct .info h3 { font-size: 30px; font-weight: 600; line-height: 1.4em; color: #242424; margin: 20px 0 50px;}
.ct .info h2 { font-size: 60px; font-weight: 700; color: var(--color-secondary);}

/* 변호사 소개 */
.character-list .flex {margin:0 -10px -20px; display:flex; flex-wrap:wrap;}
.character-list .item {padding:0 10px; margin-bottom:20px; width:25%; display:none; transition:all 0.6s;}
.character-list .item.on {display:block; animation:showNav 500ms ease-in-out both;}
.character-list .bg {padding-top:30px; overflow:hidden; background-image:url('../images/sub/character_itembg.jpg'); background-size:cover; background-repeat:no-repeat; position:relative;}
.character-list .image .thumb {position:relative; padding-bottom:120%; overflow:hidden; transition:all 0.2s ease-in-out;}
.character-list .item:hover .thumb {transform:scale(1.05); transition:all 0.2s ease-in-out;}
.character-list .image .thumb img {transition:transform .3s; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.character-list .cnt {padding:13px 30px; color:#fff; background-color:rgba(0,25,64,.80); position:absolute; bottom:0; left:0; width:100%;}
.character-list .cnt:after {font-size:25px; right:30px; bottom:20px; color:#fff; position:absolute; content:'→';}
.character-list .cnt .info {font-size:24px; letter-spacing:-.03em; line-height:1.3em;}
.character-list .cnt .info .name {font-size:40px; padding-right:10px; font-weight:600; letter-spacing:-.03em; line-height:1.3em;}
.character-list .cnt p {font-size:18px; margin-top:10px; line-height:1.3em; letter-spacing:-.03em;}

.character-detail {display:flex;}
.character-detail .col-l {flex:1 40%; max-width:40%;}
.character-detail .col-r {padding-top:25px; color:#454545; flex:1; position:relative;}
.character-detail .col-r .list-back {font-size:15px; top:30px; color:#878787; right:0; letter-spacing:-.03em; position:absolute; font-weight:600;}
.character-detail .col-r .list-back:hover {color:#001940;}
.character-detail .col-r .list-back a {padding-right:70px;}
.character-detail .col-r .list-back a:after {width:56px; height:56px; align-items:center; justify-content:center; display:flex; background-color:#f2f2f2; border-radius:100%; right:0; top:-15px; position:absolute; content:'→';}
.character-detail .col-r .list-back a:hover:after {background-color:#001940; color:#fff;}
.character-detail .image {max-width:500px; margin-right:70px; background-image:url('../images/sub/character-detail-bg.jpg'); background-size:cover; background-repeat:no-repeat;}
.character-detail .thumb {position:relative; padding-bottom:127.6%; overflow:hidden;}
.character-detail .thumb img {position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.character-detail .top {font-size:24px; margin-bottom:40px; color:#242424;}
.character-detail .top .name {padding-right:20px; font-size:40px; line-height:1.2em; font-weight:600;}
.character-detail .item {padding:0 0 35px 22px; border-left:1px solid #ddd;}
.character-detail .item:last-child {padding-bottom:0; border-left:1px solid #fff;}
.character-detail .list {display:flex;}
.character-detail .list ul {width:50%;}
.character-detail .tit {font-size:24px; margin-bottom:20px; font-weight:700; color:#242424; line-height:1.3em; position:relative;}
.character-detail .tit:before {width:5px; height:30px; left:-25px; top:0; position:absolute; content:''; background: var(--color-secondary);}
.character-detail ul li {padding-left:10px; line-height:1.75em; position:relative;}
.character-detail ul li:before {font-size:20px; top:-1px; position:absolute; content:'·'; left:0; color:#06152a; font-weight:700;}
@keyframes showNav {
    from {opacity:0; transform:scale(0)}
    to {opacity:1; transform:scale(1)}
}

/* sub3 공통 */
.sub3-box { margin-bottom: 100px; }
.sub3-box:last-child { margin-bottom: 0; }
.sub3-big-tit { font-size: 34px; font-weight: 700; color: #242424; text-align: center; line-height: 1.2em; margin-bottom: 35px; }
.sub3-big-tit.left { color: var(--color-primary); text-align: left; }
.sub3-tit { font-size: 28px; font-weight: 700; line-height: 1.5em; color: #242424; position: relative; margin-bottom: 30px; padding-left: 25px; }
.sub3-tit::before { content: ""; position: absolute; left: 0; width: 4px; height: 30px; background: var(--color-primary); top: 5px; }
.sub3-logo { text-align: center; padding: 82px 15px; position: relative; background: var(--color-primary); }
.sub3-logo h2 { position: relative; z-index: 1; font-size: 34px; font-weight: 700; line-height: 1.2em; color: #fff;}
.sub3-logo .subtxt { line-height: 1.6em; font-weight: 600; margin-top: 25px; color: #fff; }
.sub3-logo .img { position: absolute; left: 0; right: 0; margin: auto; top: 50%; transform: translateY(-50%); }
.sub3-fx { display: flex; gap: 30px; flex-wrap: wrap;}
.sub3-fx.mb { margin-bottom: 30px; }
.sub3-fx.wt { flex-wrap: nowrap;}
.sub3-fx .sub3-group { width: calc(100%/2 - 15px);}
.sub3-fx.wt .sub3-group { width: auto;}
.sub3-fx.wt .sub3-group:last-child { flex: 1 1 auto; min-width: 0; width: 1%; }
.sub3-fx.flex .sub3-group { width: calc(100%/3 - 20px);}
.sub3-fx.flex .sub3-group.bg { background: var(--color-primary); border-color: var(--color-primary);}
.sub3-fx.flex .sub3-group.bg .title { color: #fff; }
.sub3-fx.flex .sub3-group.bg p { color: #fff; }
.sub3-fx.flex .sub3-group.bg p::before { background: #fff; }
.sub3-group { background: #fafafa; border: 1px solid #ddd; border-radius: 20px; padding: 30px; }
.sub3-group .title { line-height: 1.2em; font-size: 24px; font-weight: 600; color: #242424; margin-bottom: 30px; }
.sub3-group .title.blue { color: var(--color-primary); }
.sub3-group .title span { color: var(--color-secondary);}
.sub3-group p { font-size: 18px; line-height: 1.6em; color: #242424; }
.sub3-group p strong { font-weight: 600; }
.sub3-group .txtbox p { position: relative; padding-left: 11px; margin-bottom: 7px; letter-spacing: -.03em;}
.sub3-group .txtbox.let p { letter-spacing: -.055em;}
.sub3-group .txtbox p:before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; background: #242424; border-radius: 4px; top: 11px; }
.sub3-group .txtbox p:last-child { margin-bottom: 0; }
.sub3-group .txtbox.fx { display: flex; flex-wrap: wrap; gap: 0 80px;}
.sub3-group .txtbox.fx p { width: calc(100%/2 - 40px);}
.sub3-group .txtbox.clr p::before { background: var(--color-secondary);}
.sub3-group .txtbox.clr p strong {color: var(--color-secondary); font-weight: 600; }
.sub3-group .txtbox.clr p.bf::before { display: none; }
.sub3-group .txtbox.clr p.bf { padding-left: 0; margin-top: 10px; }
.sub3-group .inbox { padding-left: 12px; }
.sub3-group .inbox span { padding-left: 11px; display: block; position: relative; font-size: 18px; margin-bottom: 7px; line-height: 1.6em; color: #242424; letter-spacing: -.04em;}
.sub3-group .inbox span:last-child { margin-bottom: 0; }
.sub3-group .inbox span::before { content: ""; position: absolute; left: 0; width: 5px; height: 1px; background: #242424; top: 13px; }
.sub3-group.fx { display: flex; align-items: center; }
.sub3-group.mg { margin-bottom: 40px; }
.sub3-group.fx .col { width: calc(100%/2); }
.sub3-group.fx .col.bd {border-right: 1px solid #ddd; }
.sub3-group.fx .col.pd { padding-left: 50px; }
.sub3-group.al { align-items: flex-start; position: relative;}
.sub3-group.al .col { border: none !important; }
.sub3-group.al::before { content: ""; position: absolute; left: 0; right: 0; margin: auto; top: 50%; transform: translateY(-50%); width: 1px; height: calc(100% - 60px); background: #ddd; }
.sub3-group.wt::before { display: none; }
.sub3-group.wt .col.bd { width: 31%; }
.sub3-group.wt .col.pd { width: 69%; border-left: 1px solid #ddd !important;}
.sub3-tbl-wrap { overflow: auto;}
.sub3-tbl { width: 100%; border-collapse: collapse; border-top: 2px solid #868686;}
.sub3-tbl tr { border-bottom: 1px solid #ddd;}
.sub3-tbl tr th { background: var(--color-primary); color: #fff; line-height: 1.2em; padding: 20px 10px; border-right: 1px solid #ddd; font-size: 18px; font-weight: 700;}
.sub3-tbl tr th:last-child { border-right: none; }
.sub3-tbl tr td { border-right: 1px solid #ddd; text-align: center; font-size: 18px; line-height: 1.3em; padding: 18px 10px;}
.sub3-tbl tr td:last-child { border-right: none; }
.sub3-process { padding: 60px 0; background: #fafafa; margin-bottom: 100px; }
.sub3-process ul { display: flex; flex-wrap: wrap; position: relative; padding-left: 30px; padding-right: 30px; }
.sub3-process ul::before { content: ""; position: absolute; z-index: 0; width: 100%; height: 1px; left: 0; top: 24px; background: #ddd; }
.sub3-process ul li { width: calc(100%/6); position: relative; z-index: 1; }
.sub3-process ul li .num { width: 48px; height: 48px; border-radius: 100%; display: flex; align-items: center; justify-content: center; line-height: 1em; background: var(--color-primary); color: #fff; font-size: 17px; font-weight: 600; margin-bottom: 22px; }
.sub3-process ul li .subtit2 { margin-bottom: 0; }
.sub3-img-fx { display: flex; align-items: center; }
.sub3-img-fx .img { width: 38%; border-radius: 20px; overflow: hidden; }
.sub3-img-fx .info { width: 62%; padding-left: 60px; }
.sub3-img-fx .info .sub3-big-tit { color: var(--color-primary); text-align: left; }
.sub3-img-fx .info .subtxt { line-height: 1.6em; font-weight: 500; margin-bottom: 30px; }
.sub3-img-fx .info .subtxt:last-child { margin-bottom: 0; }

/* sub4 공통 */
.sub4-pd { padding: 100px 0; background: #fafafa; margin-top: 100px; }
.sub4-pd.pb { margin-bottom: 100px; }
.sub4-list { display: flex; flex-wrap: wrap; gap: 30px; }
.sub4-list li { width: calc(100%/3 - 20px); background: url(../images/sub/sub4-list-bg.jpg) center no-repeat; background-size: cover; border-radius: 20px; padding: 35px 20px; font-size: 18px; line-height: 1.444em; font-weight: 600; color: #fff; }
.sub4-list.wt { gap: 28px; }
.sub4-list.wt li { width: calc(100%/4 - 21px); background-image: url(../images/sub/sub4-list-bg3.jpg);}
.sub4-group .col { margin-bottom: 40px; position: relative; border-radius: 20px; background: url(../images/sub/sub4-list-bg2.jpg) center no-repeat; background-size: cover; padding: 35px 40px; color: #fff; }
.sub4-group .col:last-child { margin-bottom: 0; }
.sub4-group .col .txtbox { position: relative; padding-left: 20px; padding-top: 20px; color: #fff;}
.sub4-group .col .txtbox::before { content: ""; position: absolute; left: 0; top: 0; width: 7px; height: 7px; background: #fff; }
.sub4-group .col .txtbox .sub3-big-tit { color: #fff; }
.sub4-group .col .txtbox .subtit2 { color: #fff; }
.sub4-group .col .txtbox p { font-size: 20px; line-height: 1.5em; font-weight: 600; color: #fff; }
.sub4-group .col .txtbox p span { color: var(--color-secondary);}
.sub4-group .col img { position: absolute; right: 40px; top: 35px; }
.construct { position: relative; }
.ct-swiper { width: 100%; position: relative; overflow: hidden; margin-bottom: 60px; }
.ct-swiper .item a { display: block; position: relative; border-radius: 20px; border: 1px solid #ddd; padding: 28px;}
.ct-swiper .item .ctr { display: block; color: #fff; font-size: 20px; font-weight: 600; line-height: 1.2em; background: var(--color-primary); text-align: center; border-radius: 8px; padding: 14px 15px;}
.ct-swiper .item .ctr2 { display: inline-block; font-size: 18px; font-weight: 300; line-height: 1.2em; border: 1px solid var(--color-primary); padding: 7px 24px 6px; border-radius: 20px; margin: 30px 0 25px; color: var(--color-primary);}
.ct-swiper .item .tit { font-size: 20px; line-height: 1.5em; color: #242424; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; margin-bottom: 20px; }
.ct-swiper .item .txt { line-height: 1.556em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; }
.ct-prev { left: -50px; }
.ct-next { right: -50px; }
.sub4-pd .contain { display: flex; gap: 40px; flex-wrap: wrap;}
.sub4-pd .contain::after { content: none; }
.sub4-pd .contain>div { width: calc(100%/2 - 20px); background-repeat: no-repeat; background-position: center; background-size: cover;}
.sub4-pd .contain>div a { display: block; text-align: center; padding: 80px 10px; }
.sub4-pd .contain .bg1 { background-image: url(../images/sub/sub4-1-img2.jpg);}
.sub4-pd .contain .bg2 { background-image: url(../images/sub/sub4-1-img3.jpg);}
.sub4-pd .contain .sub3-big-tit { margin-bottom: 28px; }
.sub4-pd .contain .subtit2 { font-weight: 400; margin-bottom: 8px; }
.sub4-pd .contain .main-view { padding: 0 45px; transition: .2s;}
.sub4-pd .contain a:hover .main-view {background: var(--color-primary); color: #fff; }
.sub4-pd .contain .bg2 { color: #fff; }
.sub4-pd .contain .bg2 .sub3-big-tit { color: #fff;}
.sub4-pd .contain .bg2 .subtit2 { color: #fff;}

/* 업무실적 */
.sub5-search { position: relative; max-width: 600px; width: 100%; margin: 0 auto 60px; border-radius: 32px; overflow: hidden;}
.sub5-search .input { width: 100%; border: none; height: 64px; border: 1px solid var(--color-primary); border-radius: 32px; padding-right: 64px;}
.sub5-search .btn-sch { position: absolute; right: 0; top: 0; width: 64px; height: 64px; background: transparent url(../images/sub/sch.png) center no-repeat; border: none; background-size: 21px; text-indent: -9999em;}