@charset "utf-8";

/* 프리텐다드 */
@import url("https://cdn.jsdelivr.net/gh/wishmediaart/font/pretendard.css");

@import "/css/g_default.css";
@import "/css/design.css";
@import "/css/over.css";

@font-face {
  font-family: 'jalnan_g';
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/JalnanGothic.woff) format('woff');
}
@font-face {
  font-family: 'montserrat';
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Montserrat.woff2) format('woff2');
}

@font-face {
  font-family: 'roboto';
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Roboto_500.woff2) format('woff2');
}
@font-face {
  font-family: 'roboto';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Roboto_700.woff2) format('woff2');
}
@font-face {
  font-family: 'play';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Play_400.woff2) format('woff2');
}
@font-face {
  font-family: 'play';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Play_700.woff2) format('woff2');
}
@font-face {
  font-family: 'poppins';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Poppins_700.woff2) format('woff2');
}
@font-face {
  font-family: 'poppins';
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url(https://cdn.jsdelivr.net/gh/wishmediaart/font/Poppins_800.woff2) format('woff2');
}



html { font-size:0; }

* { margin:0; padding:0; }
body.hidden { overflow: hidden; }

*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


body, div, p, h1, h2, h3, h4, h5, h6, li, dt, dd, form, select, input, textarea, button, th, td, menu, nav, header, footer, details, section, aside, article, picture { margin:0; padding:0; font-size:0; font-family: 'pretendard', Malgun Gothic, "맑은 고딕", 돋움, 'Apple SD Gothic', sans-serif; color:#111; font-weight:400; line-height:100%; word-break:keep-all; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; -ms-text-size-adjust: none; font-variant:normal; font-stretch:normal; }

b, strong, span, i, em { line-height:100%; }




/*************** 공통 레이아웃 ***************/

.fwrap { position:relative; width:calc(100% - 120px); margin-left:60px; margin-right:60px; }
.swrap { position:relative; width:1360px; margin-left:auto; margin-right:auto; }

@media (max-width:1600px) {
	.fwrap, .swrap { width:92%; margin-left:auto; margin-right:auto; }
}





/********** 컨텐츠 타이틀, 본문, 설명글 **********/

h2 { font-size:44px; }
h3 { font-size:32px; }
h4 { font-size:26px; }
h5 { font-size:20px; }

h2, h3, h4, h5 { line-height:140%; color:#111; font-weight:700; }

h2 { line-height:120%; }
h3 { line-height:130%; }
h4, h5, h6 { line-height:140%; }

.cont { font-size:18px; line-height:180%; font-weight:400; color:#444; text-align:left; }
.det { font-size:16px; line-height:150%; font-weight:400; color:#555; }

@media (max-width:1660px) {
	.cont { line-height:170%; }
}
@media (max-width:1250px) {
	h4, h5, h6 { line-height:130%; }
}
@media (max-width:767px) {
	.cont { line-height:160%; }
}




/********** 컨텐츠 기본 스타일 **********/

#content section { margin-top:120px; }

#content .in_e > *:first-child { margin-top:0 !important; }

.page_btns { position:fixed; right:0; bottom:0; z-index:1900; }
.page_btns a { margin-left:1px; padding:16px 24px 14px; }
.page_btns a i { font-size:22px; }
.page_btns .btn_i.rev p { padding-left:5px; }
.page_btns .con_adm { background-color:#4c21ef; }

#cont_submit { width:0; height:0; border:0; visibility:hidden; }



/* 여러가지 텍스트 스타일 클래스 */
.light_pen { background:linear-gradient(to top, #adff54 30%, transparent 30%); }


button { border:0; background:none; border-radius:0; padding:0; margin:0; box-sizing:border-box; line-height:100%; }
img { max-width:100%; }
ul, ol, li, dl, dt, dd { list-style:none; }
main, picture { display:block; }
table { border:none; border-spacing:0; }

hr { position:relative; display:block; border:0;  margin-block-start: 0; margin-block-end: 0; padding:80px 0; }
hr:before { display:block; content:''; position:absolute; width:100%; border-top:1px solid #ccc; left:0; }
hr.dash:before { border-top:1px dashed #aaa; }
hr + section { margin-top:0 !important; }

a{ color:inherit; }
a:link, a:visited, a:active { text-decoration:none; color:inherit; }
a:hover { text-decoration:none; }

input[type=text], input[type=password], select { border:1px solid #ccc; box-sizing:border-box; border-radius:0; -webkit-appearance:none; font-size:16px; }
input[type=submit] { border-radius:0; -webkit-appearance:none; font-size:17px; }
input[type=file] { background:#fff; border-radius:0; -webkit-appearance:none; font-size:14px; }
input[type=checkbox], input[type=radio] { transform: scale(1.3) translateY(-5%); transform-origin:left; cursor:pointer; margin-right:5px; }

textarea { width:100%; border:1px solid #ccc; font-size:16px; line-height:160%; box-sizing:border-box; border-radius:0; -webkit-appearance:none !important; font-weight:300; }
select { padding:15px; font-size:16px; }

:placeholder { color:#aaa; }
::placeholder { color:#aaa; }
:-ms-input-placeholder { color:#aaa; }
::-ms-input-placeholder { color:aaa; }
::-ms-webkit-placeholder { color:aaa; }
::-ms-moz-placeholder { color:#aaa; }




.mt0, * .mt0 { margin-top:0 !important; }
.bg_e { background-size:cover; background-position:center; background-repeat:no-repeat; }
.img_e { text-align:center; }
.img_e .mob_img { display:none; }

.btns_e { margin:0 -8px; }
.btns_e > * { margin:0 8px; vertical-align:middle; }

.m_block, .m_inline, .m_inblock, .t_block, .t_inline, .t_inblock, .td_block, .td_inline, .td_inblock { display:none !important; }

.tran, .tran * { transition:all 0.4s; }
.no_tran, .no_tran * { transition:none !important; }

.fl { float:left !important; }
.fr { float:right !important; }
.cl:after { clear:both; visibility:hidden; display:block; content:''; }

.a100 { position:absolute; width:100%; height:100%; left:0; top:0; }
.bg_set { background-size:cover; background-position:center; background-repeat:no-repeat; }
.hand { cursor:pointer; }

.cen { text-align:center; }
.cenleft { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.middle { position:relative; top:50%; transform:translateY(-50%); }

.roboto { font-family:'Roboto'; letter-spacing:0; }
.poppins { font-family:'Poppins'; letter-spacing:0; }

.c_w { color:#fff !important; }
.c_b { color:#222 !important; }
.c_gray { color:#888 !important; }
.c_o { color:#ff6000 !important; }


.lh76 { line-height:170% !important; }
.lh65 { line-height:160% !important; }
.lh54 { line-height:150% !important; }
.lh43 { line-height:140% !important; }
.lh32 { line-height:130% !important; }

.edit_txt * { line-height:150%; }
.ls0 { letter-spacing:0; }
.nanum { font-family:"Nanum Gothic", "Malgun Gothic", "맑은 고딕"; font-weight:400; letter-spacing:0; }

.fw2, .th { font-weight:200 !important; }
.fw3 { font-weight:300 !important; }
.fw4 { font-weight:400 !important; }
.fw5 { font-weight:500 !important; }
.fw6 { font-weight:600 !important; }
.fw7, .bd { font-weight:700 !important; }

.sm { font-size:15.5px; line-height:170%; font-weight:400; }
.hide { display:none; }
.lrauto { margin-left:auto; margin-right:auto; }

.vm_wrap { display:table; width:100%; height:100%; }
.vm_wrap > .vm { width:100%; height:100%; display:table-cell; vertical-align:middle; text-align:center; }

.bs_cover { background-size:cover !important; }
.bg_fix { background-attachment:fixed; }
.brk_all, table.brk_all tr td, ul.brk_all li { word-break:break-all !important; }

.dhtml div, .dhtml p { font-size:18px; line-height:1.7; font-weight:400; color:#111; }



/***** 애니메이션 *****/

.appear { opacity:0; transition:all 1s; }
.appear.play { opacity:1; }

.app_up { transform:translateY(100px); }
.app_up.play { transform:translateY(0) !important; }

.app_3dup { perspective: 2000px; perspective-origin: center; }
.app_3dup > * { transform: rotateX(50deg) translateY(200px); transition:all 1s; }
.app_3dup.play > * { transform: rotateX(0) translateY(0); }

.app_maskup { overflow:hidden; }
.app_maskup > span { display:block; transform:translateY(100%); transition:transform 1s; }
.app_maskup.play > span { transform:translateY(0); }


@media (max-width:1660px) {
	.app_up { transform:translateY(calc(40px + 2vw)); }
	.app_3dup > * { transform: rotateX(40deg) translateY(calc(80px + 6vw)); }
}
@media (max-width:500px) {
	.app_3dup > * { transform: rotateX(35deg) translateY(calc(80px + 6vw)); }
}







@media (max-width:1660px) {
	input[type=checkbox], input[type=radio] { transform: scale(1.2) translateY(-5%); margin-right:3px; }
	.btns_e { margin:0 calc(-3px - 0.3vw); }
	.btns_e > * { margin:0 calc(3px + 0.3vw); }
}


@media screen and (max-width:1024px) {
	select { background-size:7px; background-position:calc(100% - 12px) center; }
	.lh76 { line-height:160% !important; }
	.lh65 { line-height:150% !important; }
	.lh54 { line-height:140% !important; }
	.lh43 { line-height:130% !important; }
	.lh32 { line-height:120% !important; }
}

@media screen and (max-width:1023px) {
	.dhtml div, .dhtml p { line-height:1.6; }
}


/*** Tablet ***/

@media screen and (max-width:768px) {
	.t_none { display:none !important; }
	.t_block { display:block !important; }
	.t_inline { display:inline !important; }
	.t_inblock { display:inline-block !important; }
	.sm { line-height:160%; }
}

@media screen and (max-width:767px) {
	.cenleft { text-align:left; }

	.td_none { display:none !important; }
	.td_block { display:block !important; }
	.td_inline { display:inline !important; }
	.td_inblock { display:inline-block !important; }

	.img_e img:first-of-type { display:none; }
	.img_e img:last-of-type { display:inline; }

}


/*** Mobile ***/

@media screen and (max-width:440px) {

	.m_none { display:none !important; }
	.m_block { display:block !important; }
	.m_inline { display:inline !important; }
	.m_inblock { display:inline-block !important; }

	.sm { line-height:150%; }
	.write_opt { padding:8px 0; }
}