@charset "utf-8";

:root {
	/* theme color */
	--theme-color:#DC1E21;
	
	/* font-family */
	--font-sgeo:'Special Gothic Expanded One';
	--font-mont:'Montserrat';
	--font-ptd: 'Pretendard', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}

/* common */
html,
body { /* font-family:var(--font-ptd); */ font-family: 'Pretendard', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif; font-size:16px; }
em { font-style:normal; }
p { margin:0; padding:0; }
img { max-width:100%; }
img.img { max-width:100%; }
#contentId-main #container { width:100%; margin:0; padding:0; }
.dp_none { display:none !important; }
@media (max-width:1200px) {
	html,
	body { font-size:16px; }
}
@media (max-width:992px) {
	html,
	body { font-size:15px; }
}

/* 스크롤바 컬러 */
::-webkit-scrollbar { width:8px; }
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { border-radius:3px; background-color:var(--theme-color); }
::-webkit-scrollbar-button { width:0; height:0; }

/* 헤더영역 */
#hd { position:fixed; top:0; width:100%; background:none; border-bottom:0; z-index:100; }
#hd:before,
#hd:after { content:none; }
#hd_wrap { position:relative; display:flex; justify-content:space-between; align-items:center; width:100%; height:100px; margin:0 auto; padding:0 40px; }
#hd_wrap > * { z-index: 1; }
#hd_logo { position:relative; height:auto; margin:0; padding:0; }
#hd_logo a { display:flex; align-items:center; position:static; width:262px; height:auto; margin:0 auto; padding:0; }
#hd_logo img { display:block; max-width:100%; max-height:30px; }
#hd_logo .hd_logo_wt { display:none; }
#hd_wrap .hd_consult { }
#hd_wrap .hd_consult .hd_button_consult { display:flex; justify-content:center; align-items:center; position:relative; min-width:132px; height:44px; padding:0; color:#fff; font-size:0.938rem; font-weight:600; text-align:center; background-color:var(--theme-color); border:2px solid var(--theme-color); border-radius:30px; overflow:hidden; transition:all 0.25s; z-index:1; }
#hd_wrap .hd_consult .hd_button_consult::after { content:""; position:absolute; width:0; height:100%; top:0px; left:0px; background-color:#000; transition:all 0.3s ease; z-index:-1; }
#gnb { position:relative; left:auto; right:auto; height:100%; margin:0; }
#gnb_wrap,
#gnb_wrap #gnb_container { height:100%; }
#gnb_1dul { display:flex; justify-content:space-around; width:100%; height:100%; }
#gnb_1dul::after { content:none; }
#gnb_1dul .gnb_1dli { width:100%; }
#gnb_1dul .gnb_1dli .gnb_1da { height:100%; padding:0 30px; color:#fff; font-size:1rem; }
#gnb_1dul .gnb_1dli:not(:first-child):before { content:none; }
#gnb_1dul .gnb_1dli::after { content:""; position:absolute; bottom:0; left:0; width:0%; height:3px; background:#fff; transition:all 0.5s; }
#gnb_1dul .gnb_1dli_on::after { width:100%; }
#gnb_1dul .gnb_2dul { display:none !important; }
/* util_wrap */
#util_wrap { display:flex; align-items:center; gap:20px; }
#hd_toggle { top:auto; }
#hd_toggle .offcanvas-toggle .icon-bar { background:#fff; }
#hd_user { position:static; }
#hd_user > ul { height:auto; }
#hd_user > ul > li { margin:0 6px; font-family:var(--font-ptd); }
#hd_user > ul > li > a { position:relative; display:block; width:34px; height:34px; font-size:0; background-position:center; background-repeat:no-repeat; background-size:100% auto; }
#hd_user li.hidden { display:none; }
#hd_user li.login a { font-size:0; background-image:url("../images/common/hd_in_wt.png"); }
#hd_user li.logout a { font-size:0; background-image:url("../images/common/hd_out_wt.png"); }
#hd_user li.modify a { font-size:0; background-image:url("../images/common/hd_modi_wt.png"); }
#hd_navbar { }
.hd_button_navbar { width:30px; height:30px; vertical-align:middle; background-position:center; background-repeat:no-repeat; background-size:100% auto; background-image:url("../images/common/hd_sitemap_wt.png"); background-color:transparent; border:0 none; }
/* 헤더 컬러 반전 */
#hd.wt #gnb_1dul .gnb_1dli .gnb_1da { color:#000; }
#hd.wt .hd_logo_bk { display:none; }
#hd.wt .hd_logo_wt { display:block; }
#hd.wt #hd_wrap .hd_button_consult { color:#fff; background-color:#000; }
#hd.wt #hd_user li.login a { background-image:url("../images/common/hd_in_bk.png"); }
#hd.wt #hd_user li.logout a { background-image:url("../images/common/hd_out_bk.png"); }
#hd.wt .hd_button_navbar { background-image:url("../images/common/hd_sitemap_bk.png"); }
#hd.wt #hd_toggle .offcanvas-toggle .icon-bar { background:#000; }
#hd_wrap .hd_consult .hd_button_consult:hover { color:var(--theme-color); }
#hd_wrap .hd_consult .hd_button_consult:hover::after { width:100%; background-color:#000; }
#hd.wt #hd_wrap .hd_consult .hd_button_consult { border-color:#000; }
#hd.wt #hd_wrap .hd_consult .hd_button_consult:hover { color:#000; }
#hd.wt #hd_wrap .hd_button_consult:hover::after { left:0; width:100%; background-color:#fff; }
@media (max-width:1720px) {
	#hd_wrap { padding:0 20px; }
}
@media (max-width:1400px) {
}
@media (max-width:1200px) {
	#hd_user { margin:0; }
	#hd_navbar { display:none; }
	#hd_toggle { position:static; width:auto; height:auto; margin:0; }
}
@media (max-width:992px) {
	#hd { background-color:rgba(0,0,0,0.7); box-shadow:0 0 10px rgba(0,0,0,.2); transition:.2s; }
	#hd.wt { background-color:rgba(255,255,255,0.7); }
}
@media (max-width:768px) {
	#hd_wrap { height:100%; padding:15px 20px; }
	#hd_wrap .hd_consult .hd_button_consult { min-width:auto; height:auto; padding:4px 12px; font-size:0.867rem; }
	#hd_logo a { width:100%; }
	#hd_logo img { max-height:22px; }
}
@media (max-width:576px) {
	#util_wrap { gap:10px; }
}
@media (max-width:486px) {
	#hd_wrap .hd_consult,
	#hd_user { display:none; }
}
@media (max-width:360px) {
	#hd_wrap { padding:15px; }
}

/* 사이트맵 */
.dm-sitemap { position:fixed; top:0; right:0; bottom:0; left:0; width:100%; background-color:#000; display:none; z-index:101; }
.dm-sitemap a { color:#fff; }
.dm-sitemap-header,
.dm-sitemap-footer { display:block; position:absolute; left:0; right:0; color:#fff; }
.dm-sitemap-header,
.dm-sitemap-body,
.dm-sitemap-footer { widtH:100%; margin:0 auto; padding:0 40px; }
.dm-sitemap-header { display:flex; justify-content:space-between; align-items:center; position:relative; height:100px; z-index:10; }
.dm-sitemap-header .dm-sitemap-logo { width:262px; }
.dm-sitemap-header .dm-sitemap-logo img { width:100%; }
.dm-sitemap-header .dm-sitemap-logo.sm_logo_wt { display:none; }
.dm-sitemap-header .dm-sitemap-close { position:relative; width:40px; height:40px; border:1px solid #fff; background:0 none; }
.dm-sitemap-header .dm-sitemap-close:before,
.dm-sitemap-header .dm-sitemap-close:after { content:""; position:absolute; width:20px; height:2px; background-color:#fff; }
.dm-sitemap-header .dm-sitemap-close:before { top:calc(50% + 6px); left:calc(50% - 3px); transform:rotate(45deg) translate(-50%, -50%); }
.dm-sitemap-header .dm-sitemap-close:after { top:calc(50% - 8px); left:calc(50% - 2px); transform:rotate(-45deg) translate(-50%, -50%); }
.dm-sitemap-body { display:flex; justify-content:space-between; align-items:center; height:calc(100% - 100px); color:#fff; }
.dm-sitemap-body > div { width:50%; }
.dm-sitemap-body .right { display:flex; flex-direction:column; justify-content:center; position:relative; height:100%; padding-left:4%; }
.dm-sitemap-body .right::before { content:""; position:absolute; left:0; top:-100px; width:1px; height:calc(100% + 100px); background:rgba(255, 255, 255, .2); }
.dm-sitemap-body .depth1 > li { margin-bottom:50px; }
.dm-sitemap-body .depth1 > li .dep1 { display:block; position:relative; font-size:1.875rem; font-weight:600; line-height:1.4; }
.dm-sitemap-body .depth1 > li .dep1 span { position:relative; padding-right:20px; }
.dm-sitemap-body .depth1 > li .dep1 span::before { content:""; display:block; position:absolute; right:0; top:0; width:8px; height:8px; background-color:var(--theme-color); border-radius:50%; }
.dm-sitemap-body .depth1 > li .dep1 span { position:relative; padding-bottom:5px; }
.dm-sitemap-body .depth1 .depth2 { display:inline-block; margin-top:10px; }
.dm-sitemap-body .depth1 .depth2 .dep2 { display:block; position:relative; margin-bottom:5px; font-size:0.875rem; font-weight:500; }
.dm-sitemap-body .depth1 > li .dep2 span { display:inline-block; position:relative; padding-bottom:5px; }
.dm-sitemap-body .depth1 > li a span:after { content:""; position:absolute; left:0; bottom:0; transform:translateY(calc(100% - 1px)); width:0; height:1px; margin-left:0; transition:all .3s ease-in .05s; background-color:var(--theme-color); }
.dm-sitemap-body .copyright { margin-top:30px; color:rgba(255, 255, 255, .5); font-size:0.75rem; font-weight:300; }
.dm-sitemap-body dl { margin-bottom:30px; font-size:0.875rem; font-weight:300; }
.dm-sitemap-body dt { margin-bottom:5px; color:rgba(255, 255, 255, .4); }
.dm-sitemap-body dd { margin-bottom:5px; }
.dm-sitemap-body dd span { color:rgba(255, 255, 255, .6); }
.dm-sitemap-body dd a { }
.dm-sitemap-body dl:last-of-type dd { }
.dm-sitemap-body .icon-list { margin:20px 0; }
.dm-sitemap-body .icon-list li { margin-bottom:15px; transition:.4s; }
.dm-sitemap-body .icon-list li a { display:flex; align-items:center; width:fit-content; }
.dm-sitemap-body .icon-list li a img { margin-right:10px; }
.dm-sitemap-body .icon-list li:hover { transform:translateX(10px); }
.dm-sitemap-body .icon-list li:nth-child(3) img { animation:1.5s ease-in-out 0s infinite heartBeat; }
.dm-sitemap-body .btn_style { display:flex; justify-content:space-between; align-items:center; width:200px; height:50px; margin-top:0; padding:0 0 0 20px; border:1px solid #fff; line-height:1; }
.dm-sitemap-body .btn_style > p { margin:0; padding:0; color:#fff; }
.dm-sitemap-body .btn_style > span { position:relative; width:45px; height:20px; transition:all .15s; }
.dm-sitemap-body .btn_style > span::before,
.dm-sitemap-body .btn_style > span::after { content:""; position:absolute; background:var(--theme-color); height:1px; transition:all .15s; }
.dm-sitemap-body .btn_style > span::before { top:50%; transform:translateY(-50%); width: 25px;    }
.dm-sitemap-body .btn_style > span::after { top:calc(50% - 2.5px); right:20px; transform:translateY(-50%) rotate(45deg); width:7px; }
.dm-sitemap-body .btn-request { margin-top:15px; }
.dm-sitemap-footer { bottom:0; padding:50px; }
.dm-sitemap-body .depth1 > li a:hover span:after { width: 100%; transition: all .25s ease-in; }
.dm-sitemap-body .btn_style:hover > span::before { width:63%; }
.dm-sitemap-body .btn_style:hover > span::after { right:16px; }
@media (max-width: 1540px ) {
  .dm-sitemap-body { padding: 0 20px; }
}
@media (max-width: 1200px ) {
  .dm-sitemap-body .depth1 > li .dep1 { font-size:2rem; }
  .dm-sitemap-body .depth1 .depth2 .dep2 { margin-bottom:0.5rem; }
  .dm-sitemap-body .icon-list { margin-top:14%; }
  .dm-sitemap-body .btn_style { height:52px;}
}
@media (max-width:1199px ) {
  .dm-sitemap .dm-sitemap-header { height:80px; }
  .dm-sitemap .dm-sitemap-logo { opacity:0; }
  .dm-sitemap-body .right { height:auto; }
  .dm-sitemap-body .right * { font-size:95%; }
  .dm-sitemap-body .icon-list { margin-top:0%; }
}

/* 모바일메뉴 */
#off { z-index:105; }
#off h2 > a { height:70px; padding:24px 20px; }
#off .hd_logo_bk { display:none; }
#off .hd_logo_wt img { height:22px; }
#off #off_member,
#off #off_search { display:none; }
#off_backdrop { z-index:104; }
#off_bot { display:flex; align-items:center; gap:10px; position:absolute; bottom:0; width:100%; padding:10px 20px; border-top:1px solid #ddd; }
#off_bot .off_consult .hd_button_consult { display:flex; justify-content:center; align-items:center; position:relative; padding:8px 15px 7px; color:#fff; font-size:16px; text-align:center; background-color:#000; border:1px solid #fff; border-radius:999px; overflow:hidden; transition:all 0.25s; }
#off_bot .off_consult .hd_button_consult:hover,
#off_bot .off_consult .hd_button_consult:focus { font-size:0.933rem; color:#000; background-color:#fff; border:1px solid #000; }
#off_user > ul > li { margin:0; font-family:var(--font-ptd); }
#off_user > ul > li > a { position:relative; display:block; width:34px; height:34px; font-size:0; background-position:center; background-repeat:no-repeat; background-size:100% auto; }
#off_user li.hidden { display:none; }
#off_user li.login a { font-size:0; background-image:url("../images/common/hd_in_bk.png"); }
#off_user li.logout a { font-size:0; background-image:url("../images/common/hd_out_bk.png"); }
#off #off_1dul .off_1dli_family > a::before,
#off #off_1dul .off_1dli_family > a::after { background:var(--theme-color); }
@media (max-width:1200px) {
	.offcanvas-toggle { width:25px; height:18px; }
	#off_user > ul > li > a { width:24px; height:24px; }
}
@media (max-width:486px) {
	#off h2 { border:0 none; }
	#off h2 > a { height:52px; padding:15px 20px; }
	#off #off_container { height:calc(100% - 52px); margin-top:52px; border-top:1px solid #ddd; }
}
@media (max-width:360px) {
	#off { left:-82%; min-width:82%; }
	#off h2 > a { padding:15px; }
	#off .hd_logo_wt img { }
	#off #off_1dul .off_1dli > a { padding:10px 15px; }
	#off #off_1dul .off_1dli_family > a::before,
	#off #off_1dul .off_1dli_family > a::after { right:15px; }
	#off_bot { padding:10px 15px; }
}

/* ft_goto */
html:not([data-scroll="0"]) #ft_goto { bottom:20px; }
html #ft #ft_goto.fixed { bottom:-20px; right:15px; }
#ft_goto { opacity:0; visibility:hidden; bottom:20px; }
#ft_goto #totop { position:relative; width:60px; height:60px; background:var(--theme-color); transition:all 0.3s; }
#ft_goto #totop::before,
#ft_goto #totop::after { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
#ft_goto #totop::before { width:80px; height:80px; border-radius:100%; border:20px solid transparent; transition:all 0.3s; background:transparent; }
#ft_goto #totop:hover,
#ft_goto #totop:focus { background: var(--theme-color); }
#ft_goto #totop:hover::before,
#ft_goto #totop:focus::before { border-color:rgba(226, 30, 34, .5); }
#ft_goto #totop::after { content:"\e909"; font-family:"xeicon"; font-size:1.125rem; }
#ft_goto.last #totop { background:#000; }
#ft_goto.last #totop:hover,
#ft_goto.last #totop:focus { background:#000; }
#ft_goto.last #totop:hover::before,
#ft_goto.last #totop:focus::before { border-color:rgba(0, 0, 0, .4); }
@media (max-width:768px) {
	#ft_goto { right:1rem; }
	#ft_goto #totop { width:40px; height:40px; }
	#ft_goto #totop::before { width:60px; height:60px; }
}

/* btn_contact */
#btn_contact { opacity:0; visibility:hidden; z-index:10; }
#btn_contact img { display:block; position:relative; animation:contact01 10s infinite linear; border-radius:50%; }
#btn_contact a::before { content:""; display:block; position:absolute; top:0; left:0; width:100%; height:100%; border:1px solid rgba(220, 30, 33, .8); border-radius:50%; }
#btn_contact a:hover::before { animation:contact02 1.5s infinite linear; }
#btn_contact a::after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url("../images/common/img_logo_sm.png") center no-repeat; border-radius:50%; }
html:not([data-scroll="0"]) #btn_contact { bottom:100px; right:10px; opacity:1; visibility:visible; }
html #ft #btn_contact.active { position:fixed; bottom:100px; opacity:0; visibility:hidden; }
html #ft #btn_contact.fixed.active { position:fixed; top:auto; bottom:100px; right:10px; opacity:1; visibility:visible; }
html #ft #btn_contact.fixed { position:absolute; top:-180px; bottom:auto; }
@media (max-width:1400px) {
	#btn_contact img { max-width:none; width:90px; }
	#btn_contact a::after { background-size:25px auto; }
	html #ft #btn_contact.fixed.active { bottom:100px; }
	html #ft #btn_contact.fixed { top:-140px; }
}
@media (max-width:768px) {
	#btn_contact img { width:60px; }
	#btn_contact a::before { border:1px solid rgba(220, 30, 33, 1); }
	#btn_contact a::after { background-size:20px auto; }
	html:not([data-scroll="0"]) #btn_contact { position:fixed; bottom:70px; }
	html #ft #btn_contact.fixed.active { bottom:70px; }
	html #ft #btn_contact.fixed { top:-100px; }
}
@media (max-width:576px) {
	#btn_contact { display:none; }
}
@keyframes contact01 {
  0% { transform:rotate(0); }
  100% { transform:rotate(360deg); }
}
@keyframes contact02 {
  0% { transform:scale(1); }
  50% { transform:scale(1.1); }
  100% { transform:scale(1); }
}

/* btn_request */
#btn_request { opacity:0; visibility:hidden; z-index:10; }
#btn_request a { display:flex; align-items:center; justify-content:center; position:relative; width:120px; height:120px; background-color:#000; border:1px solid rgba(220, 30, 33, .5); border-radius:50%; z-index:1; overflow:hidden; }
#btn_request a span { position:relative; font-size:0.875rem; color:#fff; transition:.6s; z-index:3; }
#btn_request a::before { content:""; position:absolute; top:100%; left:0; width:100%; height:100%; background:var(--theme-color); transition:.5s; z-index:2; }
#btn_request a:hover::before { top:0; background:var(--theme-color); }
/* #btn_request a:hover span { transform:rotateY(360deg); } */
html:not([data-scroll="0"]) #btn_request { bottom:220px; right:10px; opacity:1; visibility:visible; }
html #ft #btn_request.active { position:fixed; bottom:100px; opacity:0; visibility:hidden; }
html #ft #btn_request.fixed.active { position:fixed; top:auto; bottom:240px; right:10px; opacity:1; visibility:visible; }
html #ft #btn_request.fixed { position:absolute; top:-320px; bottom:auto; }
@media (max-width:1400px) {
	#btn_request a { width:90px; height:90px; }
	#btn_request a span { font-size:0.75rem; }
	html #ft #btn_request.fixed.active { bottom:210px; }
	html #ft #btn_request.fixed { top:-250px; }
}
@media (max-width:768px) {
	#btn_request a { width:60px; height:60px; }
	#btn_request a span { font-size:0.667rem; }
	html:not([data-scroll="0"]) #btn_request { position:fixed; bottom:70px; }
	html #ft #btn_request.fixed.active { bottom:70px; }
	html #ft #btn_request.fixed { top:-170px; }
}
@media (max-width:576px) {
	#btn_request { display:none; }
}