@charset "utf-8";
/* EM 변환 사이트 : https://nekocalc.com/px-to-em-converter */

@import url('/share/css/paperlogy.css');
:root {
	--main: #5843CF;
	--blue: #2E18AA;
	--red: #AA1818;
  --bk: #222;
	--lnb-arr: url(../img/lnb-arr.svg) no-repeat;
}

/*각자 초기화할 폰트*/
body {
	line-height: normal;
}

body, select, textarea, a, button {
	color: var(--bk);
}

html, body, div, a, p, dl, dt, dd, ol, ul, li, label, legend, table, input, button, select, textarea {
	font-family: 'paperlogy', 'Malgun Gothic', '맑은고딕', sans-serif;
}
/*각자 초기화할 폰트 끝*/

.focus:focus-visible {
	position: relative;
	outline: none;
	box-shadow: none;
}

.focus:focus-visible::before {
	content: '';
	position: absolute;
	left: 2px;
	top: 2px;
	width: calc(100% - 0.4rem);
	height: calc(100% - 0.4rem);
	outline: 2px dashed #000;
	box-shadow: inset 2px 2px #fff, inset -2px -2px #fff;
	border-radius: var(--bdrs);
	overflow: hidden;
}

a[href^="tel"] {
	color: inherit
}

.wrap {
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
  max-width: 1540px;
  width: 100%;
}

header {
	position: relative;
	background: #fff;
	z-index: 999;
}

header .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--h);
}

header h1 {
	flex: 0 0 auto;
}

header h1 a {
	display: block;
	line-height: 0;
}

header h1 a img {
	max-width: 100%;
	width: 100%;
}

#lnb,
#lnb .lnb-menu {
	display: flex;
}

#lnb .lnb-menu>li.reserve>a {
	position: relative;
	padding-left: 34px;
	font-weight: 600;
}

#lnb .lnb-menu>li.reserve>a::after {
	content: '';
	position: absolute;
	left: 0;
	top: -5px;
	width: 31px;
	height: 31px;
	background: url(../img/lnb-reserve.svg) no-repeat center / 100%;
}

#lnb .lnb-menu>li.reserve>a span {
	display: inline-block;
	background: linear-gradient(108deg, #1567C5 12.04%, #6C1ECD 87.96%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#lnb .login {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
}

#lnb .login a {
	position: relative;
	display: block;
	--w: 43px;
	--bg-w: calc(var(--w) * -1);
	width: var(--w);
	height: 43px;
	border-radius: 50%;
	background: #F5F5F5 url(../img/login.svg) no-repeat 0 0 / auto 100%;
}

#lnb .login .logout {
	background-position: var(--bg-w) 0;
}

#lnb .login .mypage {
	background-position: calc((var(--bg-w) * 2)) 0;
}

.search-on::before {
	content: '';
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.70);
	z-index: 99;
}

#searchForm .search-btn a {
	width: 43px;
	height: 43px;
	border-radius: 50%;
	background: #3D3D3D url(../img/search-btn.svg) no-repeat 0 0 / 100%;
}

.search-on #searchForm .search-btn a {
	background-image: url(../img/search-close.svg);
}

#searchForm .top_search {
	position: absolute;
	left: 0;
	top: var(--h);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 50px 15px;
	width: 100%;
	border-top: 1px solid #D9DAE1;
	background: #fff;
}

.search-on #searchForm .top_search {
	display: flex;
}

#searchForm .search_form {
	position: relative;
	width: 100%;
	max-width: 700px;
}

#searchForm .search_form input[type=text] {
	padding: 13px;
	width: 100%;
	font-size: 20px;
	border: none;
	border-bottom: 2px solid #000;
	border-radius: 0;
}

#searchForm .search_form input[type=text]::placeholder {
	color: #777;
	line-height: 136%;
}

#searchForm .search_form input[type=submit] {
	position: absolute;
	right: 13px;
	top: calc(50% - 25px / 2);
	width: 26px;
	height: 25px;
	border: none;
	font-size: 0;
	text-indent: -5000px;
	background: url(../img/search-form-btn.svg) no-repeat 0 0 / 100%;
}

footer {
	padding: 50px 0;
	background: #272B32;
}

footer .wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

footer .top-con {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px;
}

footer .top-con>p {
	color: #FFF;
	font-size: 26px;
	font-weight: 600;
}

footer .top-con>ul {
	display: flex;
	align-items: center;
	gap: 21px;
}

footer .top-con>ul>li {
	display: flex;
	align-items: center;
	gap: 21px;
	font-size: 16px;
	line-height: normal;
}

footer .top-con>ul>li::after {
	content: '';
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #828282;
}

footer .top-con>ul>li:nth-last-child(1):after {
	display: none;
}

footer .top-con>ul>li>a {
	color: #fff;
	font-weight: 600;
}

footer .top-con>ul>li.privacy a {
	color: #F9D89A;
}

footer .btm-con {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

footer .btm-con .info {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

footer .btm-con .info>ul {
	display: flex;
	gap: 21px;
}

footer .btm-con .info>ul li {
	color: #FFF;
	font-size: 16px;
	line-height: normal;
}

footer .btm-con .info>ul li strong {
	font-weight: 700;
}

footer .btm-con .info .copy {
	color: #BDBDBD;
	font-size: 16px;
	line-height: normal;
}

footer .btm-con .info .copy br {
	display: none;
}

footer .btm-con .Rcon {
	display: flex;
	gap: 18px;
}

footer .btm-con .count {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	padding: 0 20px;
	height: 49px;
	font-size: 16px;
	border-radius: 40px;
	background: rgba(255, 255, 255, 0.10);
}

footer .btm-con .count::before {
	content: '';
	width: 16px;
	height: 16px;
	background: url(../img/btm-count.svg) no-repeat 0 0 / 100%;
}

footer .btm-con .count dt {
	color: #BAAEFF;
	font-weight: 700;
}

 footer .btm-con .count dd {
	color: #fff;
}

footer .btm-con .site {
	position: relative;
	z-index: 2;
}

footer .btm-con .site button {
	position: relative;
	text-align: left;
	padding: 15px;
	width: 230px;
	height: 49px;
	color: #FFF;
	font-size: 16px;
	line-height: normal;
	border: none;
	background: none;
	border-bottom: 1px solid #636363;
	cursor: pointer;
}

footer .btm-con .site button::after {
	content: '';
	position: absolute;
	right: 15px;
	top: calc(50% - 11px / 2);
	width: 8px;
	height: 11px;
	transform: rotate(180deg);
	background: url(../img/btm-site.svg) no-repeat 0 0 / 100%;
}

footer .btm-con .site button.on::after {
	transform: rotate(0);
}

footer .btm-con .site ul {
	position: absolute;
	left: 0;
	bottom: 49px;
	display: none;
	flex-direction: column;
	gap: 5px;
	padding: 15px 20px;
	width: 100%;
	border-radius: 8px 8px 0 0;
	background: #EAEAEA;
}

footer .btm-con .site .on+ul {
	display: flex;
}

footer .btm-con .site ul li {
	font-size: 16px;
	line-height: normal;
}

/*pc*/
@media screen and (min-width:1025px) {
	header {
		--h: 93px;
	}

	header h1 {
		padding-top: 30px;
		padding-bottom: 20px;
	}

	#lnb {
		justify-content: flex-end;
		align-items: center;
		gap: 38px;
		width: 100%;
		height: 100%;
	}

	#lnb h2 {
		display: none;
	}

	#lnb nav {
		padding-top: 30px;
		padding-bottom: 20px;
		height: 100%;
	}

	#lnb .lnb-menu {
		display: flex;
		align-items: center;
		gap: 38px;
		height: 100%;
	}	
	
	#lnb .lnb-menu>li {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
	}

	#lnb .lnb-menu>li>a {
		display: block;
		color: #000;
		font-size: 20px;
		text-decoration: none;
		line-height: normal;
	}
	
	#lnb .lnb-menu>li.select>a,
	#lnb .lnb-menu>li:hover>a {
		color: var(--main);
		font-weight: 700;
		border-bottom: 1px solid var(--main);
	}

	#lnb .sub-menu {
    position: absolute;
		top: calc(var(--h) - 42px);
		left: calc(50% - 170px / 2);
		display: none;
		flex-direction: column;
		align-items: center;
		padding: 25px 10px;
		width: 170px;
		border-radius: 20px;
		background: #FFF;
		box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.19);
		z-index: 999;
  }
	
	#lnb .sub-menu>li>a {
		display: block;
		text-align: center;
		padding: 10px 0;
		font-size: 17px;
		line-height: normal;
	}
	
	#lnb .sub-menu>li.select>a,
	#lnb .sub-menu>li>a:hover {
		color: var(--main);
		font-weight: 800;
	}

	#lnb .depth {
		display: none;
	}

	#lnb .login {
		margin-right: -26px;
	}
	
	#lnb .login,	
	#lnb .search-btn {
		padding-top: 30px;
		padding-bottom: 20px;
	}

	footer br {
		display: none;
	}
}

/* mb */
@media screen and (max-width:1024px) {
	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.fixed header {
		background: #fff;
	}

	header .wrap {
		--h: 78px;
	}

	#lnb {
		display: flex;
		align-items: center;
		gap: 11px;
	}

	#lnb h2 a {
		display: block;
		width: 43px;
		height: 43px;
		background: url(../img/mb-menu.svg) no-repeat center / 25px;
	}
	
	.fixed #lnb h2 a {
		background-image: url(../img/mb-menu-close.svg);
	}
	
	#lnb .lnb-menu {
		position: fixed;
		left: 0;
		top: var(--h);
		display: none;
		flex-direction: column;
		gap: 7px;
		padding: 15px 20px 25px 20px;
		width: 100%;
		height: calc(100% - var(--h));
		border-top: 1px solid #848484;
		background: #fff;
		z-index: 999;
		overflow-y: auto;
	}

	#lnb .lnb-menu>li.reserve>a {
		padding-left: 45px;
	}
	
	#lnb .lnb-menu>li.reserve>a::after {
		left: 15px;
		top: calc(50% - 25px / 2);
		width: 25px;
		height: 25px;
	}

	.fixed #lnb .lnb-menu {
		display: flex;
	}
	
	#lnb .lnb-menu>li>a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 15px;
		color: #222;
		font-size: 15px;
		border-radius: 10px;
		border: 1px solid #D9DAE1;
	}
	
	#lnb .lnb-menu>li>a::after {
		content: '';
		width: 11px;
		height: 8px;
		background: var(--lnb-arr);
	}
	
	#lnb .lnb-menu>li.on>a,
	#lnb .lnb-menu>li.select>a {
		color: #fff;
		font-weight: 800;
		background: var(--main);
	}
	
	#lnb .lnb-menu>li.on>a::after,
	#lnb .lnb-menu>li.select>a::after {
		background-position: -21px 0;
	}

	#lnb .sub-menu {
		display: none;
		padding: 7px 15px;
		margin-top: 2px;
		border-radius: 10px;
		background: #F5F5F5;
	}
	
	#lnb .select .sub-menu {
		display: block;
	}
	
	#lnb .sub-menu>li {
		width: 100%;
	}
	
	#lnb .sub-menu>li>a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 7px 10px;
		font-size: 15px;
		line-height: normal;
	}

	#lnb .sub-menu>li.on>a, 
	#lnb .sub-menu>li.select>a {
		color: var(--main);
		font-weight: 700;
	}
	
	#lnb .sub-menu>li:has(.depth)>a::after {
		content: '';
		width: 11px;
		height: 8px;
		background: var(--lnb-arr);
		background-position: -42px 0;
		transform: rotate(180deg);
	}
	
	#lnb .sub-menu>li.on>a::after,
	#lnb .sub-menu>li.select>a::after {
		transform: rotate(0);
	}
	
	#lnb .sub-menu .depth {
		display: none;
		padding: 7px 10px;
		border-radius: 8px;
		background: #E6E6E6;
	}
	
	#lnb .sub-menu .select .depth {
		display: block;
	}
	
	#lnb .sub-menu .depth>li {
		margin-top: 5px;
	}
	
	#lnb .sub-menu .depth>li:nth-child(1) {
		margin-top: 0;
	}
	
	#lnb .sub-menu .depth>li>a {
		display: flex;
		align-items: center;
		padding: 2px 3px;
		gap: 5px;
		font-size: 14px;
		line-height: normal;
	}
	
	#lnb .sub-menu .depth>li>a::before {
		content: '';
		width: 3px;
		height: 3px;
		border-radius: 50%;
		background: #6D6868;
	}
	
	#lnb .sub-menu .depth>li.select>a {
		color: var(--main);
	}
	
	#lnb .sub-menu .depth>li.select>a::before {
		background-color: var(--main);
	}

	#searchForm .search_form input[type=text] {
		font-size: 13px;
	}
	
	#searchForm .search_form input[type=submit] {
		background-size: 15px;
		background-position: center;
	}

	footer {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	footer .wrap {
		gap: 20px;
	}
	
	footer .top-con {
		flex-direction: column;
		align-items: flex-start;
	}
	
	footer .top-con>ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	
	footer .top-con>ul>li::after {
		display: none;
	}

	footer .btm-con {
		flex-direction: column-reverse;
		gap: 20px;
	}

	footer .btm-con .Rcon {
		flex-direction: column-reverse;
		gap: 20px;
	}
	
	footer .btm-con .info>ul {
		flex-direction: column;
	}
	
	footer .btm-con .info .copy br {
		display: block;
	}

	footer .btm-con .site button,
	footer .btm-con .site ul>li {
		width: 100%;
	}
	
	footer .btm-con .site button {
		height: 41px;
	}
	
	footer .btm-con .site ul {
		bottom: 41px;
	}
}


/* min-mb */
@media screen and (max-width:860px) {
	header .wrap {
		--h: 65px;
	}

	header h1 a img {
		max-width: 189px;
	}

	#lnb h2 a,
	#lnb .login a,
	#searchForm .search-btn a {
		--w: 30px;
		width: 30px;
		height: 30px;
	}
	
	#lnb h2 a {
		background-size: 18px;
	}
	
	#lnb .login {
		gap: 11px;
	}

	footer .top-con>p {
		font-size: 20px;	
	}
	
	footer .top-con>ul>li {
		font-size: 12px;
	}
	
	footer .btm-con .info>ul li,
	footer .btm-con .info .copy {
		font-size: 12px;
	}
	
	footer .btm-con .Rcon {
		gap: 14px;
	}

	footer .btm-con .count {
		padding: 7px 20px;
		height: auto;
	}

	footer .btm-con .count::before {
		width: 12px;
		height: 12px;
	}
	
	footer .btm-con .count dt,
	footer .btm-con .count dd {
		font-size: 12px;
	}

	footer .btm-con .site button,
	footer .btm-con .site ul>li {
		width: 100%;
		font-size: 13px;
	}

	footer .btm-con {
		gap: 14px;
	}

	footer .btm-con .info {
		gap: 6px;
	}	

	footer .btm-con .info>ul {
		gap: 3px;
	}	
}