 @charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
.root_daum_roughmap {width:100% !important; height:clamp(250px, calc( 440 / var(--inner) * 100vw ), 440px) !important;}
.root_daum_roughmap .wrap_map {height:clamp(250px, calc( 440 / var(--inner) * 100vw ), 440px) !important;}
.roughmap_lebel_text {line-height:0 !important; font-size:0 !important;}
.roughmap_lebel_text:after {content:"법률사무소 집 "; font-size:12px; line-height:15px;}

.bullet-item .bullet-list {position:relative; padding-left:15px; margin-top:10px; line-height:1.3;}
.bullet-item .bullet-list:first-child {margin-top:0;}
.bullet-item .bullet-list::before {position:absolute; content:''; left:0; top:9px; width:3px; height: 3px; background:var(--color-primary); border-radius: 50%;}
.bullet-item .bullet-list.none {padding-left: 0;}
.bullet-item .bullet-list.none::before {display: none;}
.bulletitem2 { padding-left: 0.6em; text-indent: -0.6em;}

.bg-gray {background:#fafafa;}
.overhidden {overflow: hidden;}
.subsec-pd {padding: clamp(50px, calc( 150 / var(--inner) * 100vw ), 150px) 0;}

.radiobx {display: flex; flex-wrap: wrap;}
.radiobx .item {display: flex;align-items: center; min-height: clamp(38px, calc( 44 / var(--inner) * 100vw ), 44px);}
.radiobx .item:not(:last-child) {margin-right: clamp(15px, calc( 40 / var(--inner) * 100vw ), 40px);}

.greet-wrap {display: flex;flex-wrap: wrap;align-items: center; gap:var(--padding-80); position: relative; z-index: 1;}
.greet-wrap .wrap-title {position: absolute; right: 0; bottom: 0; font-size: var(--font-size-140); font-weight: 600; color:rgba(28, 78, 62, 0.30); font-family: var(--font-cormorant); line-height: 1.4;}
.greet-wrap .imgbx {width:clamp(300px, calc( 540 / var(--inner) * 100vw ), 540px); position: relative;}
.greet-wrap .imgbx:before { content: "";  display: block; width: 100%;  height: 100%;  background: rgba(255, 255, 255, 0.5);  position: absolute;  left: 0;   top: 0;   transition: height 1.2s, opacity 1.5s;  z-index: 1}
.greet-wrap .imgbx.active:before {height: 0; opacity: 0;}
.greet-wrap .textbx {flex: 1; letter-spacing: -0.6px;}
.greet-wrap .textbx .title {font-size: var(--font-size-36); font-weight: 600; color: #242424; line-height: 1.5;}
.greet-wrap .textbx .decbx {padding-top: var(--padding-50);}
.greet-wrap .textbx .dec {line-height: 1.5; color: var(--color-body);}
.greet-wrap .textbx .dec:not(:last-child) {margin-bottom: var(--padding-15);}
.greet-wrap .textbx .namebx {display: flex;align-items: center;gap:10px; padding-top: var(--padding-40); line-height: 1.5;}
.greet-wrap .namebx .name {font-size: var(--font-size-20); font-weight: 600; }
.greet-wrap .namebx .tt {color: #111;}

.mainmem-list {display: flex; align-items: center; flex-wrap: wrap; gap:clamp(30px, calc( 120 / var(--inner) * 100vw ), 120px);}
.mainmem-list .imgbx {width:clamp(300px, calc( 480 / var(--inner) * 100vw ), 480px); }
.mainmem-list .images {position:relative; padding-bottom:130%; overflow:hidden;}
.mainmem-list .images img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%;object-fit : cover;}
.mainmem-list .textbx {flex: 1; letter-spacing: -0.6px; line-height: 1.5;}
.mainmem-list .textbx .eng {display: block; margin-bottom: var(--padding-30); font-size: var(--font-size-30);  color: var(--color-primary); line-height: 1.5; font-family: var(--font-cormorant);}
.mainmem-list .namebx {display: flex;align-items: center; gap: var(--padding-30); }
.mainmem-list .namebx .name {font-size: var(--font-size-48); font-weight: 600;}
.mainmem-list .namebx .position {font-size: var(--font-size-28);}
.mainmem-list .dec {margin-top: var(--padding-40); font-size: var(--font-size-24); font-weight: 600; line-height: 1.5; color: var(--color-primary);}
.mainmem-list .morebx {padding-top: var(--padding-100); }

.member-slidewrap {margin-top: var(--padding-100);}
.member-slidecont .ginner {display: block;position: relative;}
.member-slidecont .images {position:relative; padding-bottom:130%; overflow:hidden;}
.member-slidecont .images img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%;object-fit : cover;}
.member-slidecont .textbx {position: absolute; bottom: 0; left: 0; width: 100%; padding:clamp(10px, calc( 18 / var(--inner) * 100vw ), 18px) var(--padding-30); background: rgba(28, 78, 62, 0.80); color: #fff; z-index: 20; line-height: 1.5; letter-spacing: -0.6px;}
.member-slidecont .textbx .eng {font-size:var(--font-size-18); font-family: var(--font-cormorant);}
.member-slidecont .textbx .namebx {display: flex; align-items: flex-end; justify-content: space-between;}
.member-slidecont .namebx .name {font-size: var(--font-size-36); font-weight: 600;}
.member-slidecont .namebx .position {font-size: var(--font-size-18);}
.member-slidecont .overlay {display: flex;align-items: center;justify-content: center; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(28, 78, 62, 0.95); opacity:0; transition: all 0.4s; filter: drop-shadow(6px 6px 30px rgba(0, 0, 0, 0.20));}
.member-slidecont .ginner:hover .overlay {opacity: 1;}

.tabwrap {margin-bottom:var(--padding-85);}
.tabwrap .tabs {display: flex;flex-wrap: wrap;justify-content: center; gap: var(--padding-10);}
.tabwrap .tabitem .tab {display: flex;align-items: center; justify-content: center; padding: 0 15px; width: clamp(120px, calc( 200 / var(--inner) * 100vw ), 200px); height: clamp(44px, calc( 64 / var(--inner) * 100vw ), 64px); font-size: var(--font-size-18); font-weight: 600; border: 1px solid #242424;}
.tabwrap .tabitem.active .tab {background: var(--color-primary); color: #fff; border-color: var(--color-primary);}

.books-list {display: grid;grid-template-columns: repeat(4, 1fr); gap: var(--padding-60) var(--padding-24);}
.books-list .images {position:relative; padding-bottom:142.67%; overflow:hidden;}
.books-list .images img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:auto; max-width:100%; min-height:100%;object-fit : cover;}
.books-list .images:after {content:""; position:absolute; top:0; left:0; right:0; bottom:0; border:1px solid #ddd;}
.books-list .textbx {padding-top: var(--padding-30); text-align: center; letter-spacing: -0.5px;}
.books-list .textbx .title {font-size: var(--font-size-20); font-weight: 600; color: #242424; line-height: 1.5;}

.location-infowrap {letter-spacing: -0.5px; line-height: 1.5;}
.location-infowrap .addressbx {margin-top: var(--padding-60) ; display: flex;flex-direction: column; gap: clamp(10px, calc( 16 / var(--inner) * 100vw ), 16px);}
.addressbx .address {display: flex;align-items: center;justify-content: center; gap: clamp(8px, calc( 12 / var(--inner) * 100vw ), 12px); }
.addressbx .address img {width:clamp(18px, calc( 24 / var(--inner) * 100vw ), 24px);}
.addressbx .address .title {font-size: var(--font-size-24); font-weight: 600; }
.addressbx .zip {color: var(--color-body); line-height: 1.62;text-align: center;} 
.mapinfolist {display: flex; justify-content: center; flex-wrap: wrap; margin-top: var(--padding-80);}
.mapinfoitem {display: flex; align-items: center; gap: clamp(15px, calc( 27 / var(--inner) * 100vw ), 27px); padding: 0 var(--padding-100); position: relative;}
.mapinfoitem::after {content:""; position:absolute; top:50%; transform:translateY(-50%); right:0; width:1px; height:clamp(35px, calc( 70 / var(--inner) * 100vw ), 70px); background: #ddd;}
.mapinfoitem:last-child::after {display: none;}
.mapinfoitem img {width:clamp(18px, calc( 24 / var(--inner) * 100vw ), 24px);}
.mapinfoitem .desc { font-weight: 600; }