.opaque_bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 998;
	width: 100%;
	height: 100%;
	background-color: rgba(128, 128, 128, 0.6);
	display: none;
}

.lnb {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 240px;
	height: 100%;
	padding: 35px 25px;
	background-color: #fff;
	flex-flow: column;
	display: flex;
}

.lnb .logo {
	width: fit-content;
	margin: 0 auto 110px;
	display: block;
}

.lnb .logo img {
	width: 170px;
}

.lnb .close_btn {
	position: relative;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-bottom: 35px;
	display: none;
}

.lnb .name,
.lnb .fixed_menu,
.lnb .menu {
	width: calc(100% + 25px);
}

.lnb .name {
	font-size: 24px;
	font-weight: 700;
	color: var(--color-gray);
	margin-bottom: 35px;
}

.lnb .name span {
	color: #000;
	display: block;
}

.lnb .menu_link {
	padding: 0 15px;
	font-weight: 700;
	justify-content: space-between;
	align-items: center;
	display: flex;
}

.lnb .menu_link p {
	overflow: hidden;
	color: var(--color-444);
	padding: 10px 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnb .menu_link span {
	width: fit-content;
	font-size: var(--sm-font-size);
	color: var(--main-color);
	padding: 0 10px;
	border-radius: 10px;
	background-color: var(--main-color-rgba10);
	margin-left: 5px;
	flex-shrink: 0;
}

.lnb .menu_link.active {
	background-color: var(--main-color-rgba15);
}

.lnb .menu_link.active p {
	color: var(--main-color);
	font-weight: 800;
}

.lnb .menu_link.active span {
	background-color: #fff;
}

.lnb .menu {
	overflow-y: auto;
	border-top: 1px solid var(--inp-border-color);
	margin-top: 8px;
	padding-top: 8px;
}

.lnb .menu > li:not(:first-child) {
	margin-top: 8px;
}

.lnb .menu > li div {
	padding: 5px 10px;
	font-weight: 700;
	color: var(--color-444);
	cursor: pointer;
	transition: .3s ease color;
	align-items: center;
	display: flex;
}

.lnb .menu > li div img {
	margin: 0 12px 0;
	transition: .2s linear transform;
	flex-shrink: 0;
}

.lnb .menu > li div.active {
	color: var(--color-gray);
}

.lnb .menu > li div.active img {
	transform: rotate(90deg);
}

.lnb .menu > li div + ul {
	display: none;
}

.lnb .menu > li ul li .menu_link {
	padding: 0 15px 0 25px;
}

.m_head {
	position: sticky;
	top: 0;
	z-index: 99;
	height: 50px;
	padding: 0 15px;
	background-color: #fff;
	gap: 0 25px;
	align-items: center;
	display: none;
}

.m_head button {
	width: 20px;
	height: 20px;
}

.m_head a {
	width: 105px;
}

@media(max-width: 1024px) {
	.lnb {
		left: -275px;
		width: 275px;
		padding: 15px 25px 0;
	}

	.lnb .logo {
		display: none;
	}

	.lnb .close_btn {
		display: block;
	}

	.lnb .name {
		margin-bottom: 25px;
	}

	.m_head {
		display: flex;
	}
}