@charset "utf-8";

/* tag reset */
.preload * {
	transition: none !important;
}
.webfont { /* 웹폰트가 로드되기 전에 적용되는 클래스 */
	opacity: 0;
}
.fonts_loaded body { /* 웹폰트가 완전히 로드되었을 때 적용되는 클래스 */
	
}

::-moz-selection {
  color: white;
  background-color: #1d2c65;
  -webkit-text-stroke: initial;
}
::selection {
  color: white;
  background-color: #1d2c65;
  -webkit-text-stroke: initial;
}

html { font-size: 62.5%; } /* 브라우저기본 16px 1rem 62.5%(10px) 환산 */
@media (max-width: 1279px) {
	html { font-size: 56.25%; }
}
@media (max-width: 719px) {
	html { font-size: 50%; }
}
body {
	font-size: 1.2rem; line-height: 1.2; font-weight: 400; color: #282828;
	background: #fff;
	min-width: 320px;
	-webkit-text-size-adjust: none; /* 모바일에서 text 사이즈 변동 없게 */
	-webkit-font-smoothing: subpixel-antialiased; /* antialiased or subpixel-antialiased 웹킷 브라우저 웹폰트 선명하게 처리 */
	font-variant-ligatures: none; /* fi수정 */
	word-break: keep-all;
}
body, button { font-family: 'NotoSansWeb',sans-serif; }
img {
	max-width: 100%;
	line-height: 0; font-size: 0;
	/*image-rendering: optimizeSpeed;*/ /* low quality */
	/*image-rendering: optimizeQuality;*/ /* high quality */
	-ms-interpolation-mode: bicubic; /* blur */
	/* -ms-interpolation-mode: nearest-neighbor; /* sharpen */
	/*-webkit-backface-visibility: hidden; /* css3이면가시성속성 */
	/*backface-visibility: hidden;*/
}
a {
	color: #282828;
}
/* reset */
* { padding: 0; margin: 0; border: 0; outline: 0; vertical-align: top; }
article, aside, figcaption, figure, footer, header, nav, section, main { display: block; padding: 0; margin: 0; }
ul, li, ol, dl { list-style: none; }
table { border-collapse: collapse; }
/*td { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }*/
caption, legend { display: none; }
input, select, textarea { vertical-align: middle; border: 0; }
label { cursor: pointer; }
a, input, select, textarea { text-decoration: none; }
textarea { -webkit-overflow-scrolling: touch; }
input[type='checkbox'] { appearance: checkbox; }
input[type='text'], input[type='tel'], input[type='password'], textarea { appearance: none; border-radius: 0; color: #282828; }
input[type='text'], input[type='tel'], input[type='password'] { width: 100%; }
input::placeholder { color: #ccc; }
a:hover { text-decoration: none; }

#accessibility { position: relative; z-index: 9999; }
#accessibility a { position: absolute; top: -200px; left: 0; width: 160px; border: 1px solid #1a99a7; background-color: #333; text-align: center; font-size: 1.3rem; line-height: 2.6rem; color: #fff; }
#accessibility a:focus, #accessibility a:active { top: 0; background-color: #1a99a7; }

/* call class */
.displaynone { display: none !important; }
.displaypc, .displaymobile { display: none; }
.displaypc.active, .displaymobile.active { display: block; }
.fixo-dimmed { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99; background: rgba(0,0,0,.4); cursor: pointer; visibility: hidden; opacity: 0; transition: all .3s; }
@media (max-width: 1279px) {
	.br-max { display: block; }
}
@media (max-width: 719px) {
	.br-min { display: block; }
}


/* animation */
[data-ani~="ani-fade"] { opacity: 0; }
[data-ani~="ani-top"] { opacity: 0; transform: translateY(100px); }
[data-ani~="ani-bottom"] { opacity: 0; transform: translateY(-100px); }
[data-ani~="ani-left"] { opacity: 0; transform: translateX(100px); }
[data-ani~="ani-right"] { opacity: 0; transform: translateX(-100px); }
.animate [data-ani~="ani-fade"] { animation: animate_opacity 1.5s forwards; }
.animate [data-ani~="ani-top"], .animate [data-ani~="ani-top"], .animate [data-ani~="ani-bottom"], 
.animate [data-ani~="ani-left"], .animate [data-ani~="ani-right"] { animation: animate_TBLR 1.5s forwards; }
@keyframes animate_opacity {
    0%   { }
    100% { opacity: 1; }
}
@keyframes animate_TBLR {
    0%   { }
    100% { opacity: 1; transform: translate(0, 0); }
}

.animate [data-ani~="delay1"] { animation-delay: .1s; }
.animate [data-ani~="delay2"] { animation-delay: .2s; }
.animate [data-ani~="delay3"] { animation-delay: .3s; }
.animate [data-ani~="delay4"] { animation-delay: .4s; }
.animate [data-ani~="delay5"] { animation-delay: .5s; }
.animate [data-ani~="delay6"] { animation-delay: .6s; }
.animate [data-ani~="delay7"] { animation-delay: .7s; }
.animate [data-ani~="delay8"] { animation-delay: .8s; }
.animate [data-ani~="delay9"] { animation-delay: .9s; }
.animate [data-ani~="delay10"] { animation-delay: 1s; }
.animate [data-ani~="delay11"] { animation-delay: 1.1s; }
.animate [data-ani~="delay12"] { animation-delay: 1.2s; }
.animate [data-ani~="delay13"] { animation-delay: 1.3s; }
.animate [data-ani~="delay14"] { animation-delay: 1.4s; }
.animate [data-ani~="delay15"] { animation-delay: 1.5s; }
.animate [data-ani~="delay16"] { animation-delay: 1.6s; }
.animate [data-ani~="delay17"] { animation-delay: 1.7s; }
.animate [data-ani~="delay18"] { animation-delay: 1.8s; }
.animate [data-ani~="delay19"] { animation-delay: 1.9s; }
.animate [data-ani~="delay20"] { animation-delay: 2s; }
.animate [data-ani~="delay21"] { animation-delay: 2.1s; }
.animate [data-ani~="delay22"] { animation-delay: 2.2s; }

.mwidth {
	width: 100%; max-width: 1540px;
	padding: 0 20px; margin: auto;
	box-sizing: border-box;
}
@media (max-width: 719px) {
	.mwidth {
		padding: 0 10px;
	}
}
.font-jalnan { font-family: 'JalnanWeb'; }


/* Layout */
body {
	
}
#wrap {
}
#container {
}
#content {
	overflow: hidden;
}

/* header : 공통상단 */
#header {
	position: relative; z-index: 100;
	height: 253px;
}
#header .header-top {
	position: absolute; top: 0; left: 0; right: 0;
	height: inherit;
}
#header.active .header-top .gnb-wrap {
	position: fixed; top: 0; left: 0; right: 0;
}

#header .header-top .top-content {
	position: relative; z-index: 100;
	height: 162px;
	box-sizing: border-box;
	border-bottom: 1px solid #d2d2d2;
	background: #fff;
	overflow: hidden;
}
#header .header-top h1 {
	display: flex; align-items: center; justify-content: center;
	height: inherit;
}
#header .header-top h1 a {
	position: relative; z-index: 2;
}
#header .header-top .gnb-wrap {
	position: relative;
	height: 91px;
	box-sizing: border-box;
	border-bottom: 1px solid #d2d2d2;
	background: #fff;
}
#header .header-top .gnb-wrap .gnb {
	position: relative;
	display: flex; justify-content: space-between;
	width: 100%; max-width: 1610px;
	margin: auto;
}
#header .header-top .gnb-wrap .gnb .btn-allmenu {
	flex-shrink: 0;
}
#header .header-top .gnb-wrap .gnb .btn-allmenu a {
	display: block;
	width: 98px; height: 100%;
	background: #1d2c65 url('../_images/ico_gnb.png') no-repeat center;
	font-size: 0;
}
#header .header-top .gnb-wrap .gnb ul {
	display: flex; justify-content: center;
}
#header .header-top .gnb-wrap .gnb ul li {
	position: relative;
}
#header .header-top .gnb-wrap .gnb ul li > a {
	position: relative;
	display: block;
	padding: 0 34px;
	white-space: nowrap;
	font-size: 1.9rem; line-height: 90px; letter-spacing: -.04rem; font-weight: 300; color: #282828;
}
#header .header-top .gnb-wrap .gnb ul li:hover > a:after {
	content: '';
	position: absolute; bottom: -4px; left: 0; right: 0; z-index: 2;
	height: 4px;
	background-color: #1d2c65;
}
#header .header-top .gnb-wrap .gnb .btn-wrap {
	flex-shrink: 0;
	display: flex; align-items: center;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item {
	position: relative;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item:not(:last-child) {
	padding: 0 20px 0 0; margin: 0 20px 0 0;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item:not(:last-child):after {
	content: '';
	position: absolute; top: 50%; right: 0;
	width: 1px; height: 16px;
	transform: translateY(-50%);
	background-color: #cdcdcd;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item a {
	display: block;
	padding: 0 0 0 36px;
	background-repeat: no-repeat;
	background-position: left center;
	font-size: 1.9rem; line-height: 26px;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item a.btn-tel {
	background-image: url('../_images/ico_tel.png');
	color: #1d2c65;
}
#header .header-top .gnb-wrap .gnb .btn-wrap .item a.btn-blog {
	background-image: url('../_images/ico_naver.png');
	font-weight: 300;
}

#header .header-top .gnb-wrap .gnb .submenu {
	position: absolute; top: calc(100% + 1px); left: 0; right: 0; z-index: 2;
	padding: 35px 0 0;
	display: none;
}
#header .header-top .gnb-wrap .gnb .submenu a {
	display: block;
	padding: 0 0 0 34px;
	white-space: nowrap;
	font-size: 1.9rem; line-height: 54px; letter-spacing: -.04rem; font-weight: 300; color: #282828;
}
#header .header-top .gnb-wrap .gnb .gnb-link {
	position: absolute; top: calc(100% + 1px); right: 0; z-index: 2;
	display: none;
	margin: 55px 0 0 0;
}
#header .header-top .gnb-wrap .gnb .gnb-link .link-inner {
	display: flex;
}
#header .header-top .gnb-wrap .gnb .gnb-link a {
	display: flex; align-items: center; justify-content: center;
	width: 170px; height: 170px;
	border-radius: 50%;
}
#header .header-top .gnb-wrap .gnb .gnb-link a:not(:last-child) {
	margin: 0 25px 0 0;
}
#header .header-top .gnb-wrap .gnb .gnb-link a span {
	display: block;
	padding: 60px 0 0 0;
	background-position: center top;
	background-repeat: no-repeat;
	text-align: center;
	font-size: 1.9rem; font-weight: 300; color: #fff;
}
#header .header-top .gnb-wrap .gnb .gnb-link .btn-location {
	background-color: #282828;
}
#header .header-top .gnb-wrap .gnb .gnb-link .btn-location span {
	background-image: url('../_images/ico_location.png');
}
#header .header-top .gnb-wrap .gnb .gnb-link .btn-kakao {
	background-color: #422e35;
}
#header .header-top .gnb-wrap .gnb .gnb-link .btn-kakao span {
	background-image: url('../_images/ico_kakao.png');
}
#header .header-top .gnb-wrap .gnb .submenu-bg {
	position: absolute; top: calc(100% + 1px); left: -200%; right: -200%;
	height: 540px;
	background-color: #fff;
	display: none;
}
#header.open .header-top .gnb-wrap .gnb .submenu,
#header.open .header-top .gnb-wrap .gnb .gnb-link,
#header.open .header-top .gnb-wrap .gnb .submenu-bg {
	display: block;
}

#header .header-top .btn-gnb {
	position: absolute; top: 50%; right: 15px; z-index: 100;
	margin-top: -14px;
	width: 28px; height: 28px;
	text-align: center;
	cursor: pointer;
	display: none;
}
#header .header-top .btn-gnb span {
	position: absolute; top: 0; left: 50%;
	margin: 0 0 0 -9px;
	width: 20px; height: 2px;
	background: #1d2c65;
	transition: all .2s;
}
#header .header-top .btn-gnb span:nth-child(1) {
	top: 7px;
}
#header .header-top .btn-gnb span:nth-child(2) {
	top: 13px;
}
#header .header-top .btn-gnb span:nth-child(3) {
	top: auto; bottom: 7px;
}
@media (max-width: 1560px) {
	#header {
		height: 60px;
	}
	#header .header-top {
		position: fixed;
	}
	#header .header-top .top-content {
		height: inherit;
	}
	#header .header-top .top-content h1 img {
		height: 35px;
	}

	#header .header-top .gnb-wrap, 
	#header.active .header-top .gnb-wrap {
		padding: 0;
		position: fixed; top: 60px; bottom: 0; left: 0; right: 0;
		opacity: 0;
		visibility: hidden;
		height: auto;
		background: none;
		transition: all .3s;
	}
	html.expand-menu #wrap { position: relative; }
	html.expand-menu { position: fixed; overflow: hidden !important; touch-action: none; width: 100%; height: 100%; }
	html.expand-menu body { position: fixed; overflow: hidden !important; touch-action: none; width: 100%; height: 100%; }
	html.expand-menu #header .header-top .gnb-wrap { opacity: 1; visibility: visible; }
	html.expand-menu .fixo-dimmed { visibility: visible; opacity: 1; }
	#header .header-top .gnb-wrap .gnb {
		position: absolute; top: 0; left: 0; right: 0; z-index: 100;
		max-height: 100%;
		background: #fff;
		text-align: left;
		overflow: hidden; overflow-y: auto;
	}
	html.expand-menu #header .header-top .btn-gnb span:nth-child(1) {
		top: 13px;
		transform: rotate(45deg);
	}
	html.expand-menu #header .header-top .btn-gnb span:nth-child(2) {
		opacity: 0;
	}
	html.expand-menu #header .header-top .btn-gnb span:nth-child(3) {
		bottom: 13px;
		transform: rotate(-45deg);
	}

	#header .header-top .gnb-wrap .gnb {
		display: block;
	}
	#header .header-top .gnb-wrap .gnb .btn-allmenu {
		display: none;
	}
	#header .header-top .gnb-wrap .gnb ul {
		display: block;
	}
	#header .header-top .gnb-wrap .gnb ul li {
		padding: 0; margin: 0 20px;
	}
	#header .header-top .gnb-wrap .gnb ul li:not(:first-child) {
		border-top: 1px solid #eee;
	}
	#header .header-top .gnb-wrap .gnb ul li a {
		display: block;
		padding: 4px 10px;
		line-height: 4rem; color: #282828;
	}
	#header .header-top .gnb-wrap .gnb ul li:hover a:after {
		display: none;
	}
	#header .header-top .gnb-wrap .gnb ul li > a:before {
		content: '';
		position: absolute; top: 50%; right: 10px;
		width: 8px; height: 8px;
		margin-top: -4px;
		border: solid #aaa; border-width: 1px 1px 0 0;
		transform: rotate(45deg);
		transition: all .3s;
	}
	#header .header-top .gnb-wrap .gnb ul li.active > a:before {
		margin-top: -6px;
		transform: rotate(135deg);
	}

	#header .header-top .btn-gnb {
		display: block;
	}
	#header .header-top .gnb-wrap .gnb .submenu {
		position: static;
		padding: 10px 20px; margin: 0 -20px;
		background-color: #eee;
	}
	#header .header-top .gnb-wrap .gnb .submenu a {
		padding: 5px 10px;
		line-height: 2;
	}

	#header .header-top .gnb .btn-wrap {
		display: flex;
		align-items: flex-end;
		text-align: center;
		padding: 10px 20px 20px;
	}

	#header.open .header-top .gnb-wrap .gnb .submenu,
	#header.open .header-top .gnb-wrap .gnb .gnb-link,
	#header.open .header-top .gnb-wrap .gnb .submenu-bg {
		display: none;
	}
	#header .header-top .gnb-wrap .gnb .gnb-link {
		position: static;
		display: block !important;
		margin: 0;
	}
	#header .header-top .gnb-wrap .gnb .gnb-link a {
		width: 50%; height: 50px;
		margin: 0 !important;
		border-radius: 0;
	}
	#header .header-top .gnb-wrap .gnb .gnb-link a span {
		padding: 0 0 0 30px;
		line-height: 30px;
		background-size: 25px auto;
		background-position: left center;
	}
}
@media (max-width: 719px) {
	#header, #header.active {
		height: 54px;
	}
	#header .header-top .top-content h1 img {
		height: 25px;
	}
	#header .header-top .gnb-wrap, 
	#header.active .header-top .gnb-wrap {
		top: 54px;
	}

	#header .header-top .gnb .btn-wrap {
		display: block;
	}
	#header .header-top .gnb .btn-wrap .item {
		margin: 0 0 10px;
	}
}


/* footer : 공통하단 */
#footer {
	background-color: #222;
	padding: 60px 0 45px;
}
#footer ul {
	display: flex;
}
#footer ul li {
	position: relative;
}
#footer ul li:not(:last-child) {
	padding: 0 20px 0 0; margin: 0 20px 0 0;
}
#footer ul li:not(:last-child):after {
	content: '';
	position: absolute; top: 50%; right: 0;
	transform: translateY(-50%);
	width: 1px; height: 14px;
	background: #fff;
}
#footer ul li a {
	font-size: 1.7rem; line-height: 14px; letter-spacing: -.018rem; font-weight: 700; color: #fff;
}
#footer address {
	border-top: 1px solid #797979;
	padding: 25px 0 0 0; margin: 25px 0 0 0;
	font-size: 1.34rem; line-height: 1.5; letter-spacing: -.014rem; font-weight: 300; color: #c1c1c1;
	text-transform: uppercase;
	font-style: normal;
	word-break: keep-all;
}
@media (max-width: 1279px) {
}
@media (max-width: 719px) {
	#footer {
		padding: 25px 0;
	}
	#footer ul li a {
		font-size: 1.5rem;
	}
	#footer address {
		padding: 15px 0 0 0; margin: 15px 0 0 0;
	}
}

.btn-top {
	position: fixed; bottom: 277px; right: 50px; z-index: 10;
	display: block;
	background: #1a9aa8;
	width: 100px; height: 100px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}
.btn-top.active {
	visibility: visible;
	opacity: 1;
}
.btn-top span {
	display: inline-block;
	margin-top: 45px;
	font-size: 2.15rem; letter-spacing: -.02rem; font-weight: 900; color: #fff;
}
.btn-top:before {
	content: '';
	position: absolute; top: 35px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 12px; height: 1px;
	background: #fff;
	transform: rotate(-45deg);
}
.btn-top:after {
	content: '';
	position: absolute; top: 35px; right: 50%;
	margin-right: -10px;
	display: block;
	width: 12px; height: 1px;
	background: #fff;
	transform: rotate(45deg);
}
@media (max-width: 1279px) {
	.btn-top {
		bottom: 180px; right: 20px;
	}
	.btn-top {
		width: 80px; height: 80px;
	}
	.btn-top span {
		margin-top: 40px;
		font-size: 2rem;
	}
	.btn-top:before, 
	.btn-top:after {
		top: 25px;
	}
}
@media (max-width: 719px) {
	.btn-top {
		right: 10px;
		width: 50px; height: 50px;
	}
	.btn-top span {
		margin-top: 22px;
		font-size: 1.6rem;
	}
	.btn-top:before {
		margin-left: -10px;
	}
	.btn-top:after {
		margin-right: -10px;
	}
	.btn-top:before, 
	.btn-top:after {
		top: 15px;
		width: 12px;
	}
}


.pop-nonpay {
	position: relative;
	cursor: pointer;
	display: none;
}
.pop-nonpay.active {
	display: block;
}
.pop-nonpay .dimmed {
	position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100;
	background: rgba(0,0,0,.6);
}
.pop-nonpay .item-wrap {
	position: absolute; bottom: 50px; left: 0; right: 0; z-index: 102;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%; max-width: 1600px;
	padding: 0 80px; margin: auto;
	box-sizing: border-box;
}
.pop-nonpay .item-wrap .item img {
	width: 100%;
}
@media (max-width: 1360px) {
	.pop-nonpay {
		bottom: 110px;
	}
	.pop-nonpay .item-wrap {
		padding: 0 20px;
	}
}
@media (max-width: 640px) {
	.pop-nonpay .item-wrap .item {
		flex-basis: 100%;
	}
}


/* 팝업창 */
.fixo-popup-wrap {
	position: absolute; top: 200px; left: 0; z-index: 100;
	display: flex;
	flex-wrap: wrap;
	padding: 0 20px;
	box-sizing: border-box;
	max-width: 100%;
}
.fixo-popup-wrap.vertical {
	width: 100%; max-width: 1140px;
}
.fixo-popup-wrap.vertical .fixo-popup {
	flex-basis: 50%;
}
.fixo-popup {
	position: relative;
	display: none;
	padding: 0;
	box-sizing: border-box;
}
.notice-popup.active, 
.fixo-popup.active {
	display: block;
}
.fixo-popup .popup-box {
	display: inline-block;
}
.fixo-popup .img img {
	width: 100%; max-width: 100%;
	vertical-align: top;
}
.fixo-popup.video {
	width: 500px;
}
.fixo-popup.video .popup-box {
	display: block;
}
.fixo-popup.video .img {
	position: relative;
	width: 100%;
	/*padding-bottom: 100%;*/
	padding-bottom: 56.25%;
}
.fixo-popup.video .img iframe, 
.fixo-popup.video .img video {
	position: absolute; top: 0; left: 0;
	width: 100%; height: 100%;
}
.fixo-popup .popup-control {
	display: flex;
	justify-content: space-between;
	background: #222;
	line-height: 30px;
}
.fixo-popup .popup-control .btn-check {
	margin: 0 0 0 10px;
	font-size: 0;
}
.fixo-popup .popup-control .btn-check label {
	cursor: pointer;
}
.fixo-popup .popup-control .btn-check input {
	display: inline-block;
	vertical-align: middle;
	width: 14px; height: 14px;
	border: 1px solid #fff;
	background: rgba(255,255,255,.8);
	border-radius: 0px;
}
.fixo-popup .popup-control .btn-check span {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 5px;
	font-size: 12px; color: #fff;
}
.fixo-popup .popup-control .btn-close {
	margin: 0 10px 0 0;
	font-size: 12px; color: #fff;
	cursor: pointer;
}
@media (max-width: 1279px) {
	.fixo-popup-wrap {
		top: 100px; left: 50%; right: auto;
		transform: translateX(-50%);
		display: block;
		padding: 0;
	}
	.fixo-popup-wrap.vertical {
		width: auto;
	}
	.fixo-popup, .fixo-popup.video {
		padding: 0 20px;
		width: 450px;
	}
}
@media (max-width: 719px) {
	.fixo-popup, .fixo-popup.video {
		padding: 0 10px;
		width: 320px;
	}
}