@charset "utf-8";

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

/* RESET */
html {font-size:9px; color:#333; background:#f2f2f2; -webkit-tap-highlight-color: rgba(0, 0, 0, 0)}
body {margin:0 auto;padding:0;font-size:9px; color:#333; font-family: Pretendard, 'Apple SD Gothic Neo','Noto Sans KR', 'Malgun Gothic', sans-serif;background:#fff; box-sizing:border-box;
		transition:all 0.3s; }
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:Pretendard, 'Apple SD Gothic Neo',  'Noto Sans KR', 'Malgun Gothic', sans-serif;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

ul, ol, dl,dt,dd {margin:0;padding:0;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family:Pretendard, 'Apple SD Gothic Neo',  'Noto Sans KR', 'Malgun Gothic', sans-serif;font-size:1em; border:0;}
input[type="submit"] {cursor:pointer}
button {cursor:pointer;transition:all 0.3s}

p {margin:0;padding:0;word-break:break-all}
hr  {display:none}
pre {overflow-x:scroll;}
a {color:var(--txt-color-def);text-decoration:none; transition:all 0.3s}
br {font-size:0;}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text],input[type=password], textarea {
	-webkit-transition:all 0.30s ease-in-out;
	-moz-transition:all 0.30s ease-in-out;
	-ms-transition:all 0.30s ease-in-out;
	-o-transition:all 0.30s ease-in-out;
	outline:none;
}

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="date"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="submit"]  { 
	-webkit-appearance: none; /*브라우저 스타일 초기화*/
    -moz-appearance: none; /*브라우저 스타일 초기화*/
    appearance: none; /*브라우저 스타일 초기화*/
	font-family:Pretendard, 'Apple SD Gothic Neo',  'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
	-webkit-appearance: none; /*브라우저 스타일 초기화*/
    -moz-appearance: none; /*브라우저 스타일 초기화*/
    appearance: none; /*브라우저 스타일 초기화*/
}
input::placeholder,
textarea::placeholder {
	font-size:1.6rem;
}
textarea, select, button {
	-webkit-appearance: none; /*브라우저 스타일 초기화*/
    -moz-appearance: none; /*브라우저 스타일 초기화*/
    appearance: none; /*브라우저 스타일 초기화*/
	font-family:Pretendard, 'Apple SD Gothic Neo',  'Noto Sans KR', 'Malgun Gothic', sans-serif;
	background:none;
	color:var(--txt-color-def);
}
img {
	max-width:100%;
	height:auto;
}
.sound_only {
	display: inline-block !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0;
    line-height: 0;
    border: 0 !important;
    overflow: hidden !important;
}
@media screen and (max-width:1400px) {
	html,body {
		font-size:0.7vw
	}
}
@media screen and (max-width:960px) {
	html,body {
		font-size:0.75vw
	}
}
@media screen and (max-width:767px) {
	html,body {
		font-size:2vw
	}
}

/* BASIS */
html {
  scroll-behavior: smooth;
}
body.no_scroll_body {
    position: relative;
    overflow: hidden;
}
.boundary {
	width:100%;
	max-width:140rem;
	margin-left:auto;
	margin-right:auto;
}
@media screen and (max-width:1500px) {
	.boundary {
		padding:0 5rem;
	}
}
@media screen and (max-width:767px) {
	.boundary {
		padding:0 5vw;
	}
}

/*HIDE&SHOW*/
@media screen and (min-width:768px) {
	.m_item {
		display:none !important;
	}
}
@media screen and (max-width:767px) {
	.pc_item {
		display:none !important;
	}
}

/*COLOR*/
.color_main {
	color:var(--color-main);
}
.color_point {
    color: var(--color-point);
}
.color_sub_point {
    color: var(--color-sub-point);
}
.color_white {
	color:var(--color-white);
}
.color_red {
	color:var(--color-red);
}


/*TEXT-ALIGN*/
.align_cnt {
	text-align:center;
}
.align_left {
	text-align:left;
}
.align_right {
	text-align:right;
}

/*FONT-WEIGHT*/
.bold{font-weight:bold !important}

/*FLEX*/
.flex_nml {
	display:-ms-flexbox;
	display:-webkit-flexbox;
	display:flex;
}
.flex_inline {
	display:inline-flex;
}
.flex_btw {
	display:-ms-flexbox;
	display:-webkit-flexbox;
	display:flex;
	justify-content:space-between;
}
.flex_cnt {
	display:-ms-flexbox;
	display:-webkit-flexbox;
	display:flex;
	justify-content:center;
}
.flex_ard {
	display:-ms-flexbox;
	display:-webkit-flexbox;
	display:flex;
	justify-content:space-around;
}
.flex_end {
	display:-ms-flexbox;
	display:-webkit-flexbox;
	display:flex;
	justify-content:flex-end;
}
.flex_col {
	flex-flow:column;
}
.flex_wrap {
	flex-wrap:wrap;
}
.items_base {
	align-items:baseline;
}
.items_str {
	align-items:start;
}
.items_cnt {
	align-items:center;
}
.items_end {
	align-items:end;
}

/*INPUT CUSTOM*/
input.input_cst {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 1.5ex 1em;
	font-size: 1.8rem;
	font-weight: var(--txt-regular);
	border:1px solid transparent;
	background:var(--color-gray-100);
	border-radius: 0;
}
input.input_cst:focus {
	/*브라우저 스타일 초기화*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-color: var(--color-main);
	outline: none;
}
input.input_cst.readonly,
input.input_cst.readonly:focus {	
	border: 1px solid #D3D4D8 !important;
	background: #eff2f8;
	box-shadow:none;
	cursor:default;
}
@media screen and (max-width:767px) {
	input.input_cst {
		padding:1.5ex 1ex;
	}
}

/*RADIO CUSTOM**/
.radio_cst input[type="radio"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	left: 0;
	opacity: 0;
	height: 0;
	width: 0;
	font-size: 0;
}
.radio_cst label {
	cursor:pointer;
}

/*CHECKBOX CUSTOM**/
.check_cst input[type="checkbox"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	left: 0;
	opacity: 0;
}
.check_cst label {
	cursor:pointer;
}


/*SELECT CUSTOM**/
.select_cst {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


/*WIDTH & HEIGHT SIZE*/
.w100 {
	width:100%;
}
.h100 {
	height:100%;
}


/*BTN*/
.btn {
	display:inline-block;
	width:34.4rem;
	padding: 1em 0;
	text-align:center;
	font-size: 2rem;
	font-weight:var(--txt-regular);
	border-radius: 50em;
	border:1px solid transparent;
    cursor:pointer;
}
.btn_small {
	width:19.6rem;
	font-size: 1.8rem;
}
.btn_comm {
	color: var(--color-main);
	background:#fff;
	border:1px solid var(--color-main);    
}
.btn_black {
	color: var(--txt-color-def);
	background: transparent;
	border:1px solid var(--color-black-300);
}
.btn_gray {
	color: var(--color-gray-900);
	background: transparent;
	border:1px solid var(--color-gray-300);
}
.btn_ani {
	position:relative;
	z-index:1;
	overflow:hidden;
}
	.btn_ani:after {	
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 0;
		height: 100%;
		background-color: var(--color-main);
		transition: all 0.5s ease;
		z-index: -1;
	}
		.btn_ani.btn_black:after {
			background-color:#fff;
		}
	.btn_ani:hover {
		color:#fff;
	}
		.btn_ani.btn_black:hover {
			color:var(--txt-color-def);;
		}
	.btn_ani:hover:after {
		left: 0;
		width: 100%;	
	}

/*SCROLL CUSTOM*/

::-webkit-scrollbar {
	width:10px;		
}
::-webkit-scrollbar-thumb {
	border-radius:50em;
    background-clip: padding-box;
	background-color:var(--color-point);
}
::-webkit-scrollbar-track {
	background-color:#fff;		
	border:none;
} 


/*MODAL*/
.modal {
	display:none;
	position:fixed;
	top:0;
	left:0;
	right:0;
	width:100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	margin:0 auto;
	background:rgba(0,0,0,0.8);
	z-index:99999;
}
.modal_inner {
	position:relative;
	width:calc(100% - 4rem);
	margin:0 auto;
	padding:2rem;
	text-align:center;
	background:#fff;
	border-radius:1rem;
}
.btn_modalClose {
	position:absolute;
	top:1.5rem;
	right:1.5rem;
	font-size:2.4rem;
	color:var(--color-gray-900);
}
.modal_inner p {
	line-height:1.6;
	font-size:2rem;
	font-weight:var(--txt-regular);
}
.modal_inner p b {
	color:var(--color-main);
	font-weight:var(--txt-regular);
}
.modal_hd {
	margin-bottom:2rem;
}
.modal_hd h2 {
	margin-bottom:1.5rem;
	font-size:3rem;
	font-weight:var(--txt-semibold);
}
.modal_hd h3 {
	margin-bottom:1.5rem;
	font-size:2rem;
	font-weight:var(--txt-regular);
}
.modal_main {
	margin-bottom:2rem;
}

/*HEADER*/
header {
	position:fixed;
	top:0;
	left:0;
	right:0;
	width:100%;
	padding:0 10rem;
	background:#fff;
	box-shadow:0 0 1rem 0 rgba(0,0,0,0.1);
	z-index:2;
}
header .pc_item {
	gap:1rem;	
}
header .pc_item h1 {
	max-height:4.6rem;
	flex-basis:25%;
	flex-grow:1;
}
header .pc_item h1 img {
	max-height:4.5rem;
}
header .pc_item nav > ul {
	gap:3rem;
	flex-basis:50%;
	flex-grow:2;
}
header .pc_item nav > ul > li {
	position:relative;	
}
header .pc_item  nav > ul > li > a {
	display:block;
	line-height:8.4rem;
	font-size:2rem;
}
	header .pc_item  nav > ul > li > a:hover span {
		color:var(--color-main);
		box-shadow: 0 -0.5em 0 var(--color-main-light-200) inset;
		transition:all 0.5s;
	}
header .pc_item  nav > ul > li > a span.emphasis {
	color:var(--color-main);
	box-shadow: 0 -0.5em 0 var(--color-main-light-200) inset;
	transition:all 0.5s;
}
header .pc_item  nav > ul > li.has_2depth .box_2depth {
	display:none;
    position: absolute;
    left: 50%;
    right: 0;
    width: max-content;
    padding: 2rem;
    background: var(--color-gray-100);
    border-radius: 0 0 1rem 1rem;
    transform: translateX(-50%);
}
header .pc_item  nav > ul > li.has_2depth .box_2depth ul {
	width:100%;
    gap: 1.5rem;
}
header .pc_item  nav > ul > li.has_2depth .box_2depth ul li a {
	font-size:1.8rem;
}
	header .pc_item  nav > ul > li.has_2depth .box_2depth ul li a:hover {
		color:var(--color-main);
	}
header .pc_item  .hd__btns {
	flex-basis:25%;
	flex-grow:1;
}
header .pc_item  .hd__btns button {
	padding:0 2rem;
	line-height:4.6rem;
	color:#fff;
	font-weight:var(--txt-medium);
	font-size:1.8rem;	
	background:var(--color-point);
	border-radius:50em;
	gap:0.5rem;
}
header .pc_item  .hd__btns button i {
	font-size:2.2rem;
}
	header .pc_item  .hd__btns button:after {
		background:var(--color-main);
	}

@media screen and (max-width:1500px) {
	header {
		padding: 0 3rem;
	}
}
@media screen and (max-width:767px) {
	header {
		padding: 0 1.5rem;
	}
	header .m_item {
		height:8rem;
	}
	header .m_item h1 img {
		max-height:4.5rem;
	}
	header .m_item button.btn_modalOpen {
		font-size:4.2rem;
		color:var(--color-main);
	}
	header .m_item .modal_mobileMenu__Inner {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100vh;
	}
	header .m_item .modal_mobileMenu__bg {
		width: 90%;
		height: 90vh;
		border-radius: 1.5rem;
		background:#fff;
		overflow:hidden;
	}
	header .m_item nav {
		position: relative;
		width:100%;
		height:100%;
		padding: 10rem 5%;
		background: var(--color-main-light-100);
		gap:7rem;
	}
	header .m_item h2 img {
		max-height:5rem;
	}
	header .m_item nav > ul {
		gap:3rem;
	}
	header .m_item nav > ul > li {
		font-size:2.2rem;
		gap:3rem;
	}
	header .m_item nav > ul > li .has_2depth_m span {
		margin-bottom:1ex;
		gap:0.5ex;
	}
	header .m_item nav > ul > li .has_2depth_m span i {
		font-size:2rem; 
		color:var(--color-main);
	}
		header .m_item nav > ul > li .has_2depth_m span i.open {
			transform:rotate(180deg);
		}
	header .m_item nav .box_2depth_m {
		display:none;
		padding:2rem;
		
		border-radius:1rem;
	}
	header .m_item nav .box_2depth_m ul {
		gap:1.5rem;
	}
	header .m_item nav .box_2depth_m li {
		font-size:2rem;
	}
	header .m_item .modal_mobileMenu__btns button {
		padding: 0 3rem;
		line-height: 5.2rem;
		color: #fff;
		font-weight: var(--txt-medium);
		font-size: 1.9rem;
		background: var(--color-point);
		border-radius: 50em;
		gap: 0.5rem;
	}
	header .m_item .btn_modalClose  {
		position: absolute;
		bottom:5rem;
		width:5rem;
		height:5rem;
		line-height:5rem;
		text-align:center;
		font-size:3rem;
		background:#fff;
		border-radius:100em;
		box-shadow:0 0 1rem 0 rgba(0,0,0,0.1);
	}
	header .m_item .btn_modalClose i {
		line-height:inherit;
	}

}


/*MAIN*/
header + main,
header + form {
	padding-top:8.4rem;
	position:relative;
} 
@media screen and (max-width:767px) {
	header + main,
	header + form {
		padding-top:8rem;
	} 	
}

/*QUICK MENU*/
aside {
	position:fixed;
	right:0;
	bottom:2rem;
	z-index:9;
}
aside a {
	width:7rem;
	height:7.2rem;
	margin-top:0.5rem;
    margin-right: 0;
    margin-left: auto;
	padding:0 0 0 2rem;
	font-size:1.6rem;
	border-radius:50em 0 0 50em;
	box-shadow:0 0 1rem 0 rgba(0,0,0,0.1);
	gap:1rem;
	white-space:nowrap;
	overflow:hidden;
}
    aside a.aside__google {
        color: black;
        background: #fff;
    }

        aside a.aside__google img {
            width: 100%;
            max-width: 40px;
            position: relative;
            right: 5px;
        }

	aside a.aside__kakao {
		color:#333;
		background:#FBDC11;
	}
	aside a.aside__naver {
		color:#fff;
		background:#23C411;
	}
	aside a:hover {
		width:auto;
		padding: 0 2rem;
	}
aside a i {
	font-size:3.6rem;
}
aside a span {
	display:none;
}
	aside a:hover span {
		display:block;
	}
aside a span b {
	display:block;
	font-size:1.8rem;
}

/*FOOTER*/
footer {
	padding:5rem 0;
	background:#fff;
}
footer .ft__info {
	max-width:50%;
	line-height:1.8;
	font-size:1.6rem;
	color:var(--color-gray-900);
	word-break:keep-all;
	gap:2em;
}
footer .ft__info h1 {
	margin-bottom:1rem;
}
footer .ft__info h1 img {
	max-height:4.5rem;
}
footer .ft__info small {
	font-size:1.4rem;
}
footer .ft__contact .contact_tel {
	padding:3rem 6rem;
	margin-top:-7.5rem;
	color:#fff;
	font-size:1.8rem;
	background:var(--color-main);
}
footer .ft__contact .contact_tel h2 {
	font-size:2.4rem;
	font-weight:var(--txt-medium);
}
footer .ft__contact .contact_tel .tel_info {
	padding:0.5rem 0 0 2.5rem;
	margin-left:2.5rem;
	line-height:1.7em;
	font-weight:var(--txt-light);
	border-left:1px solid rgba(255,255,255,0.5);
}
footer .ft__contact .contact_tel .tel_info a {
	display:inline-block;
	margin-bottom:1ex;
	color:#fff;
	font-size:3.6rem;
	font-weight:var(--txt-medium);
}
footer .ft__contact .contact_sns {
	font-size:1.8rem;	
	gap:1.5rem;
}
footer .ft__contact .contact_sns i {
	font-size:3rem;		
}
footer .ft__contact .contact_sns i.xi-kakaotalk {
	color:#FBDC11;
}
footer .ft__contact .contact_sns i.xi-naver {
	color:#23C411;
}
@media screen and (max-width:1400px) {
	footer .ft__info {
		max-width:40%;
	}
	footer .ft__contact .contact_tel  {
		padding:3rem ;
	}
}
@media screen and (max-width:767px) {
	footer {
		padding:0;
	}
	footer .boundary {
		padding:0;
		max-width:inherit;
	}
	footer .boundary > .flex_btw {
		flex-flow:column-reverse
	}
	footer .ft__contact {
		text-align:center;
		align-items:center;
	}
	footer .ft__contact .contact_tel {
		flex-flow:column;
		width:100%;
		margin-top:0;
		padding-bottom:1.5rem;
	}
	footer .ft__contact .contact_tel h2 {
	}
		footer .ft__contact .contact_tel h2:after {
			content:"";
			display:block;
			width:10rem;
			height:1px;
			margin:1.5ex auto;
			background:rgba(255,255,255,0.5);
		}
	footer .ft__contact .contact_tel .tel_info {
		padding-left:0;
		margin-left:0;
		border:0;
	}
	footer .ft__contact .contact_tel .tel_info a {
        margin-bottom:20px;
	}
	footer .ft__contact .contact_sns {
		width:100%;
		padding-top:1.5rem;
		padding-bottom:3rem;
		justify-content:center;
		background:var(--color-main);
	}
	footer .ft__contact .contact_sns a {
		padding:1ex 1em;
		background:#fff;
		border-radius:50em;
	}
	footer .ft__info {
		width:100%;
		max-width:90vw;
		margin:5rem auto;
	}
}

.blocker {z-index:99999 !important;}
.common_modal{z-index:9999 !important; max-height: 500px !important; position:relative; padding:0 !important; font-size:1.5rem}
.common_modal .modal_content {padding: 15px 15px; height:93%; width:100%;}
.common_modal .modal_content .swiper-wrapper{overflow-y:scroll; overflow-x:hidden}
.common_modal .modal_footer{height:7%; width:100%; border-top:1px solid; display:flex; position:relative; align-items: center;}
.common_modal .modal_footer div{flex:1; text-align:center; cursor:pointer; font-size:1.3rem}
.common_modal .modal_footer .close_div{border-left:1px solid black;}
.common_modal .modal_footer .close_div a{width:100%;}
.common_modal .swiper-pagination{bottom:50px !important;}


