/* 기존 율마루 디자인(static/legacy/style.css) 위에 얹는 보정.
   새 사이트 내용(긴 제목, 지역 줄, 표, 변호사·사례·FAQ 묶음)을 옛 화면 틀에 맞춘다. */

body { font-family: 'Pretendard', 'Noto Sans KR', sans-serif; }

/* 머리글 오른쪽 KOR/ENG */
#header .lg-lang { position: absolute; right: 90px; top: 50%; transform: translateY(-50%); z-index: 5;
  color: #fff; font-size: 14px; font-weight: 600; letter-spacing: 0; opacity: .85; }
#header.fixed .lg-lang, #header.on .lg-lang { color: #122243; }
@media screen and (min-width: 1024px) { #header .lg-lang { right: 40px; } }

/* 서브 비주얼: 배경은 쪽마다 인라인으로 준다 */
.sub-visual.lg-visual { background-repeat: no-repeat; background-position: center; background-size: cover; }
.sub-visual.lg-visual::before { content: ''; position: absolute; inset: 0; background: rgba(10, 18, 40, .45); }
.sub-visual.lg-visual .visual-inner { position: relative; }

/* 쪽 이름 줄 (옛 business-title h1 모양을 p 에 입힌다. 진짜 h1 은 아래 제목) */
.business-title .bt-name { position: relative; }
.business-title .bt-name::before { content: ''; position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background-color: #bebebe; }
.business-title .bt-name span { position: relative; display: inline-block; padding-right: 30px; color: #1d1d1d; font-size: 50px; font-weight: 900; background-color: #fff; }
.business-title .bt-name span::after { content: ''; position: absolute; top: 0; right: 20px; width: 6px; height: 6px; border-radius: 50%; background-color: #e87542; }
.business-title ul li.on a { color: #122243; font-weight: 700; }

/* 안쪽 쪽 머리(제목·요약). 업무분야가 아닌 쪽 */
.sub-conts-wrap.lg-head { padding-bottom: 40px; }
.lg-head .lg-h1 { color: #1d1d1d; font-size: 40px; font-weight: 300; line-height: 1.3; padding-top: 10px; }
.lg-head .lg-lead { padding-top: 22px; color: #555; font-size: 20px; line-height: 1.6; max-width: 900px; }
.lg-sub .sub-conts-wrap.lg-head + article,
.lg-sub .sub-conts-wrap.lg-head + section { padding-top: 0; }

/* 업무분야 */
.sub-conts-wrap { padding-left: 0; padding-right: 0; }
.business-wrap h1.title { padding-top: 60px; background: url('/images/sub/icon_opp.png') no-repeat left top;
  color: #1d1d1d; font-size: 40px; font-weight: 300; line-height: 1.3; padding-bottom: 22px; word-break: keep-all; }
.business-wrap h1.title strong { font-weight: 900; }
.business-wrap .sec01 p a { color: #122243; text-decoration: underline; }
.lg-business .prc-region { margin: -60px 0 60px; padding: 18px 24px; background: #f5f6f8; color: #555; font-size: 17px; }
.lg-business .prc-region a { color: #122243; font-weight: 700; }
.business-wrap .case-slide-wrap .case-slide .swiper-slide { padding-right: 60px; }
.business-wrap .case-slide-wrap .lg-more { display: inline-block; margin-top: 18px; color: #122243; font-weight: 700; font-size: 16px; border-bottom: 1px solid #122243; }
.business-wrap .sec03 .lg-steps li a { cursor: pointer; }
.business-wrap .sec03 .lg-step { display: none; }
.business-wrap .sec03 .lg-step p { padding-top: 14px; color: #555; font-size: 18px; line-height: 1.6; }
.business-wrap .sec04 .lg-note { padding-top: 14px; color: #8e8e8e; font-size: 15px; }
.business-wrap .sec04 .navi li a { cursor: default; }

/* 업무분야 아래 묶음(변호사·성공사례·FAQ)은 새 사이트 블록을 쓰되 옛 화면 폭에 맞춘다 */
.lg-after { padding-top: 0; }
.lg-after .area, .lg-sub .qna-con .area, .lg-sub .column-con .area { max-width: 1280px; }

@media screen and (max-width: 1400px) {
  .sub-conts-wrap { padding-left: 20px; padding-right: 20px; }
}
@media screen and (max-width: 768px) {
  .business-title .bt-name span { padding-right: 20px; font-size: 25px; }
  .business-title .bt-name span::after { right: 12px; width: 3px; height: 3px; }
  .lg-head .lg-h1, .business-wrap h1.title { font-size: 24px; }
  .lg-head .lg-lead { font-size: 15px; }
  .lg-business .prc-region { margin: -20px 0 30px; font-size: 14px; }
  .business-wrap .case-slide-wrap .case-slide .swiper-slide { padding-right: 20px; }
}

/* 홈 */
.main-conts-tit-wrap h2.lg-h { color: inherit; font-weight: 350; font-size: 50px; line-height: 1.2; word-break: keep-all; }
@media screen and (max-width: 1024px) { .main-conts-tit-wrap h2.lg-h { font-size: 40px; } }
@media screen and (max-width: 768px) { .main-conts-tit-wrap h2.lg-h { font-size: 25px; } }
.main-review .thumb img { width: 100%; height: 100%; object-fit: cover; }
/* 홈 오시는 길: 왼쪽 지점 정보(탭으로 바뀜) + 오른쪽 카카오맵 하나 */
.main-location .lg-map-wrap { display: flex; justify-content: space-between; align-items: stretch; }
.main-location .lg-map-left, .main-location .lg-map-right { width: 49%; }
.main-location .lg-map-wrap .tabcnt_map { overflow: hidden; }
.main-location .lg-map-wrap .tabcnt_map .left { width: 100%; }
.main-location .lg-map-right #map { width: 100%; height: 100%; min-height: 460px; background: #e7e9ec; }
.main-location .lg-map-right .map-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.main-location .lg-map-dir { padding-top: 22px; }
.main-location .lg-map-dir a { display: inline-block; padding: 9px 16px; border: 1px solid #bdbdbd; color: #fff; font-size: 14px; }
.main-location .tab_map a { cursor: pointer; }
@media screen and (max-width: 768px) {
  .main-location .lg-map-wrap { display: block; }
  .main-location .lg-map-left, .main-location .lg-map-right { width: 100%; }
  .main-location .lg-map-right #map { min-height: 300px; margin-top: 12px; }
}

/* 바닥글 언어 전환 */
.footer .bottom .lg-lang { color: #fff; opacity: .7; margin-right: 20px; font-size: 14px; }

/* 자주 묻는 질문 (옛 화면 톤의 펼침 목록) */
.sub-conts-wrap.lg-faq { padding-top: 40px; padding-bottom: 120px; }
.lg-sec-tit { color: #1d1d1d; font-size: 40px; font-weight: 300; padding-bottom: 30px; border-bottom: 2px solid #122243; }
.lg-qa { border-bottom: 1px solid #ddd; }
.lg-qa summary { list-style: none; cursor: pointer; position: relative; padding: 24px 50px 24px 0; color: #1d1d1d; font-size: 20px; font-weight: 600; line-height: 1.5; }
.lg-qa summary::-webkit-details-marker { display: none; }
.lg-qa summary::after { content: '+'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #122243; font-size: 28px; font-weight: 300; }
.lg-qa[open] summary::after { content: '−'; }
.lg-qa em { font-family: "Cormorant", serif; font-style: italic; font-weight: 700; color: #122243; font-size: 26px; margin-right: 14px; }
.lg-a { display: flex; padding: 0 0 26px; background: none; }
.lg-a em { color: #e87542; }
.lg-a p { color: #555; font-size: 18px; line-height: 1.7; padding-top: 3px; }
@media screen and (max-width: 768px) {
  .lg-sec-tit { font-size: 24px; padding-bottom: 18px; }
  .lg-qa summary { font-size: 15px; padding: 18px 36px 18px 0; }
  .lg-a p { font-size: 14px; }
  .lg-qa em { font-size: 20px; margin-right: 10px; }
}

/* 새 사이트 본문 블록은 rem(10px 기준)과 .area(1280px)를 쓴다. body 글자 크기는 옛 CSS 그대로 둔다 */
html { font-size: 10px; }
@media all and (max-width: 1400px) { html { font-size: 8px; } }
@media all and (max-width: 768px) { html { font-size: 10px; } }
.lg-sub .area { width: 1280px; max-width: 100%; margin: 0 auto; }
@media all and (max-width: 1400px) { .lg-sub .area { width: auto; padding: 0 20px; } }

/* 홈 자주 묻는 질문: 옛 소식 묶음과 같은 틀(왼쪽 제목 25%, 오른쪽 목록), 흰 바탕 */
.main-faq { background: #fff; overflow: hidden; }
.main-faq .inner { padding-top: 100px; padding-bottom: 100px; }
.main-faq-wrap { display: flex; }
.main-faq-wrap .title { width: 25%; flex-shrink: 0; }
.main-faq-wrap .title h2 { color: #1d1d1d; font-size: 50px; font-weight: 700; line-height: 1.2; }
.main-faq-wrap .title .lg-faq-more { display: inline-block; margin-top: 24px; color: #122243; font-size: 16px; font-weight: 700; border-bottom: 1px solid #122243; }
.main-faq-wrap .lg-qa-list { flex: 1; border-top: 2px solid #122243; }
.main-faq-wrap .lg-qa summary { font-size: 18px; padding: 20px 50px 20px 0; }
.main-faq-wrap .lg-qa-tag { display: inline-block; margin-right: 10px; padding: 2px 8px; background: #eef0f4; color: #122243; font-size: 12px; font-weight: 700; vertical-align: middle; border-radius: 3px; }
.main-faq-wrap .lg-a p { font-size: 16px; }
@media screen and (max-width: 1024px) {
  .main-faq .inner { padding-top: 60px; padding-bottom: 60px; }
  .main-faq-wrap { display: block; }
  .main-faq-wrap .title { width: auto; margin-bottom: 24px; }
  .main-faq-wrap .title h2 { font-size: 30px; }
}
@media screen and (max-width: 768px) {
  .main-faq-wrap .title h2 { font-size: 24px; }
  .main-faq-wrap .lg-qa summary { font-size: 14px; padding: 16px 36px 16px 0; }
  .main-faq-wrap .lg-a p { font-size: 13px; }
}

/* 영문판: 영문 홈 제목은 줄이 길어 한 단계 작게 */
html[lang="en"] .main-visual-wrap .text h1 { font-size: 54px; }
@media screen and (max-width: 1024px) { html[lang="en"] .main-visual-wrap .text h1 { font-size: 36px; } }
@media screen and (max-width: 768px) { html[lang="en"] .main-visual-wrap .text h1 { font-size: 26px; } }

/* 영문판 변호사 카드: 영문 이름·직함이 길어 글자를 줄이고 줄바꿈을 허용 */
html[lang="en"] .main-lawyer-wrap .list-wrap dl { white-space: normal; width: 90%; text-align: center; }
html[lang="en"] .main-lawyer-wrap .list-wrap dl dt { font-size: 30px; line-height: 1.2; }
html[lang="en"] .main-lawyer-wrap .list-wrap dl dt span { display: block; font-size: 15px; margin-top: 4px; }
html[lang="en"] .main-lawyer-wrap .list-wrap ul li:nth-child(4) dl dt { margin-left: 0; }
html[lang="en"] .main-lawyer-wrap .list-wrap dl dd { font-size: 14px; display: inline-block; margin: 8px 6px 0; }
@media screen and (max-width: 768px) {
  html[lang="en"] .main-lawyer-wrap .list-wrap dl dt { font-size: 22px; }
  html[lang="en"] .main-lawyer-wrap .list-wrap dl dd { font-size: 12px; }
}

/* 옛 서버에만 있던 아이콘 7개(화살표·따옴표·점·CASE 워터마크)는 못 받았다. CSS·SVG 로 대신한다 */
.main-case-wrap .swiper-button-prev, .main-case-wrap .swiper-button-next,
.main-review-wrap .title .arrow .swiper-button-prev, .main-review-wrap .title .arrow .swiper-button-next {
  background-image: none; border: 1px solid #fff; border-radius: 50%; }
.main-case-wrap .swiper-button-prev, .main-case-wrap .swiper-button-next { border-color: #122243; }
.main-case-wrap .arrow::after, .main-review-wrap .title .arrow li::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px;
  border-top: 2px solid #122243; border-right: 2px solid #122243; transform: translate(-30%, -50%) rotate(-135deg); }
.main-case-wrap .swiper-button-next::after { transform: translate(-70%, -50%) rotate(45deg); }
.main-review-wrap .title .arrow li::after { border-color: #fff; }
.main-review-wrap .title .arrow .swiper-button-next::after { transform: translate(-70%, -50%) rotate(45deg); }
.business-wrap .case-slide-wrap .paging .swiper-button-prev, .business-wrap .case-slide-wrap .paging .swiper-button-next {
  background: none; border: 1px solid #122243; border-radius: 50%; }
.business-wrap .case-slide-wrap .paging .arrow::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px;
  border-top: 2px solid #122243; border-right: 2px solid #122243; transform: translate(-30%, -50%) rotate(-135deg); }
.business-wrap .case-slide-wrap .paging .swiper-button-next::after { transform: translate(-70%, -50%) rotate(45deg); }
.business-wrap h1.title, .business-wrap h2.title {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='26' viewBox='0 0 34 26'><text x='0' y='30' font-family='Georgia,serif' font-size='44' font-weight='700' fill='%23e87542'>“</text></svg>");
  background-size: 34px 26px; }
.business-wrap .sec01 > div + div h2.title { background-image: none; }
.business-wrap .sec04 .cont h3.dot {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12'><circle cx='6' cy='6' r='4' fill='none' stroke='%23122243' stroke-width='2'/></svg>");
  background-size: 12px 12px; }
.business-wrap .case-slide-wrap .case-slide .swiper-slide { background-image: none; }
.sub-visual.lg-visual { background-image: none; background-color: #122243; }
