@charset "utf-8";

/******************************  공통 영역  ******************************/
#wrap, .container { width: 100%; min-width: 1600px; }
#wrap {}
.container {}
.sector { width: 1370px; margin: 0 auto; }
.sub_sector { width: 1750px; margin: 0 auto; }
.sub_sector2 { width: 1385px; margin: 0 auto; }

.contents {padding-bottom: 150px;}

@media screen and (max-width:1000px) {
	#wrap, .container { min-width: 0; }
	.sub_container { width: 100%; padding-bottom: 50vw; }
	.sector, .sub_sector, .sub_sector2 { width: 88%; }
	
	.contents {padding-bottom: 30vw;}
}


/******************************  헤더  ******************************/
#hd {
	position: relative;
	height: 96px;
	text-align: center;
}

/* #hd.main { */
#hd {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

#hd .logo {
	position: absolute;
	top: 30px;
	left: 30px;
	width: 245px;
	height: 39px;
	background: url('../images/h_logo.png') no-repeat center center / contain;
}

#hd .gnb {
	display: inline-block;
}

#hd .gnb > li {
	position: relative;
	float: left;
}

#hd .gnb > li > a {
	position: relative;
	margin: 0 50px;
	font-size: 24px;
	font-weight: 500;
	line-height: 96px;
	color: #fff;
}

#hd .gnb > li:not(:last-child) > a::after {
	display: inline-block;
	position: absolute;
	top: 0;
	right: -50px;
	width: 2px;
	height: 28px;
	background: #fff;
	content: "";
	transition: background 0.2s ease;
}

#hd .gnb_bg {
	display: none;
	position: absolute;
	top: 97px;
	left: 0;
	width: 100%;
	min-width: 1444px;
	height: 363px;
	background: #fff url('../images/sub01_location_bg.png') no-repeat bottom 22px right 27px / 460px;
	z-index: 99999;
	content: "";
}

#hd .gnb > li > .snb {
	display: none;
	position: absolute;
	top: 103px;
	left: calc(50% - 80px);
	width: 160px;
	z-index: 999999;
}

#hd .gnb > li > .snb > li {
	margin: 12px 0;
	text-align: center;
	height : 30px;
}
#hd .gnb > li > .snb > li > a {
	display : block;
	height : 100%;
	font-size: 18px;
	line-height: 1.25;
}
#hd .gnb > li > .snb > li > a:hover {
	color : var(--main-color);
	font-weight : 600;
}

#hd .btn_box {
	/* position: absolute; */
	position: fixed;
	top: 10px;
	right: 12px;
}

#hd .btn_box > a {
	float: left;
}

#hd .btn_box > a.blog {}

#hd .btn_box > a.blog > img {}

#hd .btn_box > a.call {
	display: inline-block;
	width: 180px;
	height: 69px;
	padding-top: 17px;
	border-left: 1px solid #bbb;
	background: rgba(255,255,255,0.9);
	font-size: 18px;
}

#hd .btn_box > a.call > b {
	display: block;
	margin-top: 5px;
	font-size: 24px;
	font-weight: bold;
}

#hd .sitemap_btn {
	display: none;
	background: none;
}

/* 상태가 켜졌을 때 스타일 변경(한 곳에서 관리) */
#hd.gnb_open {
	border-bottom: 1px solid #BBBBBB;
}

#hd.gnb_open .logo {
	background-image: url('../images/h_logo_color.png');
}

#hd.gnb_open {
	background-color: #fff;
}

#hd.gnb_open .gnb > li > a {
	color: #000;
}

#hd.gnb_open .gnb > li > a:hover {
	color : var(--main-color);
}

#hd.gnb_open .gnb > li:not(:last-child) > a::after {
	background: #000;
}

#hd.gnb_open .btn_box > a.call {
	border-left-color: #fff;
}

@media screen and (max-width:1000px) {
	#hd {
		height: 17vw;
		border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	}
	
	#hd .logo {
		position: absolute;
		top: 3vw;
		left: 6vw;
		width: 18.8vw;
		height: 10.6vw;
		background-image: url('../images/m_h_logo.png');
	}

	#hd .gnb {
		display: none;
	}

	#hd .btn_box {
		display: none;
	}
	
	#hd .sitemap_btn {
		display: block;
		position: absolute;
		top: 6.1vw;
		right: 6%;
		width: 6vw;
		height: 5vw;
		background: url('../images/m_menu_icon.png') no-repeat center center / contain;
	}
}


/******************************  사이트맵  ******************************/
#sitemap_area { display: none; }
#sitemap_area::-webkit-scrollbar { display: none; }

@media screen and (max-width:1000px) {
	#sitemap_area { display: block; position: fixed; top: 0; right: -100%; width: 100%; height: 100%; background: rgba(0,0,0,0.9); z-index: 999999; overflow-Y: auto; }

	.sitemap_header .sector { position: relative; }

	.sitemap_header { height: 17vw; background: #29395D; }
	.sitemap_header .logo { position: absolute; top: 0; left: 0; width: 18.8vw; height: 10.6vw; margin-top: 3vw; background: url('../images/m_h_logo.png') no-repeat center center / contain; z-index: 1; }

	#sitemap_area .sitemap_gnb dt, #sitemap_area .sitemap_gnb dd { padding: 0 6vw; font-size: 4vw; font-weight: 500; line-height: 13vw; }
	#sitemap_area .sitemap_gnb dt { border-bottom: 1px solid #555; color: #fff; }
	#sitemap_area .sitemap_gnb dt.no_snb { background: none; }
	#sitemap_area .sitemap_gnb dd { display: none; background: #E8E8E8; border-bottom: 1px solid #ccc; }
	#sitemap_area .sitemap_gnb dd.sitemap_snb3 { display: block; }

	.close_btn { display: block; position: absolute; top: 5.5vw; right: 0; width: 6vw; z-index: 1; background: none; }
}



/******************************  푸터  ******************************/
#ft {
	height: 426px;
	background: #29395D url('../images/footer_bg.png') no-repeat center right / contain;
	color: #fff;
}

#ft .title {
	display: block;
	padding-top: 65px;
	font-size: 40px;
	text-align: center;
}

#ft .info_box {
	display: flex;
	margin-top: 77px;
	align-items: center;
	justify-content: space-between;
}

#ft .info_box .logo {}

#ft .info_box .logo > img {}

#ft .info_box .info {
	font-size: 28px;
	font-weight: 300;
	line-height: 1.75;
}

@media screen and (max-width:1000px) {
	#ft {
		height: 42.5vw;
	}

	#ft .info_box {
		margin-top: 0;
		padding-top: 5.3vw;
	}

	#ft .info_box .logo > img {
		width: 25.2vw;
	}

	#ft .info_box .info {
		font-size: 3.6vw;
		line-height: 1.5;
	}

	#ft .info_box .info .mob {
		display: inline-block;
		margin-bottom: 5vw;
		font-size: 4.4vw;
		font-weight: 400;
		line-height: 1.35;
	}
}



/******************************  퀵메뉴  ******************************/
#quick_area {
	position: fixed;
	bottom: 5vw;
	right: 1.6vw;
	z-index: 999;
}

#quick_area > button {
	display: block;
	width: 14.7vw;
}


/******************************  서브페이지 배너  ******************************/
#subbanner_area {
	height: 700px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: center;
}

#subbanner_area.info { background-image: url('../images/sub01_banner.png'); }
#subbanner_area.lawyer { background-image: url('../images/sub02_banner.png'); }
#subbanner_area.business { background-image: url('../images/sub03_banner.png'); }
#subbanner_area.example { background-image: url('../images/sub04_banner.png'); }
#subbanner_area.news { background-image: url('../images/sub05_banner.png'); }

#subbanner_area > span {
	display: block;
	color: #fff;
}

#subbanner_area > span.eng_name {
	padding-top: 270px;
}

#subbanner_area > span.page_name {
	padding-top: 22px;
	font-size: 60px;
	font-weight: 600;
}

#subbanner_area > span.page_intro {
	padding-top: 60px;
	font-size: 24px;
}

@media screen and (max-width:1000px) {
	#subbanner_area {
		height: 75vw;
	}

	#subbanner_area.info { background-image: url('../images/m_sub01_banner.png'); }
	#subbanner_area.lawyer { background-image: url('../images/m_sub02_banner.png'); }
	#subbanner_area.business { background-image: url('../images/m_sub03_banner.png'); }

	#subbanner_area > span.eng_name {
		padding-top: 36vw;
	}

	#subbanner_area > span.page_name {
		padding-top: 2.2vw;
		font-size: 6vw;
	}

	#subbanner_area > span.page_intro {
		padding-top: 6vw;
		font-size: 2.4vw;
	}
}


/******************************  서브메뉴  ******************************/
#submenu_area { /* background: #f9f9f9; */ border-bottom: 1px solid #ccc; }

#submenu_area .submenu_box { max-width: 1200px; height: 62px; margin: 0 auto; }

#submenu_area .submenu_box .submenu_name { font-size: 16px; line-height: 62px; }

#submenu_area .submenu_box .submenu_home, #submenu_area .submenu_box .gnb_big, #submenu_area .submenu_box .snb_big { position: relative; float: left; cursor: pointer; border-right: 1px solid #ddd; }
#submenu_area .submenu_box .gnb_big, #submenu_area .submenu_box .snb_big { width: 236px; padding: 0 24px; background: url('../images/down_arrow_icon.png') no-repeat right 24px center; box-sizing: border-box; }
#submenu_area .submenu_box .gnb_big .gnb_small, #submenu_area .submenu_box .snb_big .snb_small { display: none; position: absolute; top: 63px; left: 0; width: 100%; z-index: 999; }
#submenu_area .submenu_box .gnb_big .gnb_small li, #submenu_area .submenu_box .snb_big .snb_small li { width: 236px; padding: 0 24px; border: 1px solid #ddd; border-top: 0; background: #fff; box-sizing: border-box; font-size: 16px; line-height: 62px; /* text-align: center; */ }
#submenu_area .submenu_box .snb_mini { font-size: 16px; }
#submenu_area .submenu_box .gnb_big .gnb_small li:hover, #submenu_area .submenu_box .snb_big .snb_small li:hover { background: #f4f4f4; }

#submenu_area .submenu_box .submenu_home { padding: 0 24px; border-left: 1px solid #ddd; }
#submenu_area .submenu_box .submenu_home img { margin-top: -5px; }

#submenu_area .submenu_box .gnb_big {}
#submenu_area .submenu_box .gnb_big .gnb_small {}
#submenu_area .submenu_box .gnb_big .gnb_small li {}

#submenu_area .submenu_box .snb_big {}
#submenu_area .submenu_box .snb_big.no-arrow { background: none; }
#submenu_area .submenu_box .snb_big .snb_small {}
#submenu_area .submenu_box .snb_big .snb_small li {}

@media screen and (max-width:1000px) {
	#submenu_area .submenu_box { float: left; width: 100%; /* max-width: 0; */ height: 10vw;  margin: 0; }

	#submenu_area .submenu_box .submenu_name { font-size: 2.8vw; line-height: 10vw; }

	#submenu_area .submenu_box .gnb_big, #submenu_area .submenu_box .snb_big { width: calc(50% - 5vw); padding: 0 4vw; background: url('../images/down_arrow_icon.png') no-repeat right 4vw center; }
	#submenu_area .submenu_box .gnb_big .gnb_small, #submenu_area .submenu_box .snb_big .snb_small { display: none; position: absolute; top: calc(10vw + 1px); }
	#submenu_area .submenu_box .gnb_big .gnb_small li, #submenu_area .submenu_box .snb_big .snb_small li { width: 45vw; padding: 0 4vw; font-size: 2.8vw; line-height: 10vw; }
	#submenu_area .submenu_box .snb_mini { font-size: 2.8vw; }
	#submenu_area .submenu_box .submenu_home { width: 10vw; padding: 0; text-align: center; box-sizing: border-box; }
	#submenu_area .submenu_box .submenu_home img { width: 2.7vw; }
	#submenu_area .submenu_box .snb_big { border-right: 0; }
}






.black_bg_layer{
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, .4);
}


/* --- 광고책임변호사 문구 위치 수정 --- */
.logo_wrap {
	display: flex;
	align-items: flex-end; /* PC: 로고와 글자 아래쪽 라인 맞춤 */
	gap: 20px; /* PC: 로고와 글자 사이 여백 */
}
.ad_text {
	font-size: 15px;
	margin: 0;
	padding-bottom: 5px; /* 로고와 높이 균형 맞추기 */
}

@media screen and (max-width:1000px) {
	.logo_wrap {
		flex-direction: column; /* 모바일: 로고 아래로 글자가 오도록 세로 배치 */
		align-items: center;    /* 수평 중앙 정렬 */
		
		gap: 3vw; /* 모바일: 로고와 글자 사이 여백 */
	}
	.ad_text {
		font-size: 1.9vw; /* 모바일 폰트 크기 */
		padding-bottom: 0;
	}
}