@charset "utf-8";

/* ============================================
   공통 CSS
   모든 페이지에서 공통으로 사용되는 스타일
   ============================================ */

/* ============================================
   초기화 (Reset)
   ============================================ */

html {
	overflow-y: scroll;
}

body {
	margin: 0;
	padding: 0;
}

html, h1, h2, h3, h4, h5, h6, form, fieldset, img {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: 'Montserrat', 'Noto Sans KR', sans-serif;
    word-break: keep-all;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

ul, 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-size: 1em;
}

input[type="submit"] {
	cursor: pointer;
}

button {
	cursor: pointer;
}

select {
	margin: 0;
}

p {
	margin: 0;
	padding: 0;
	word-break: break-all;
}

hr {
	display: none;
}

pre {
	overflow-x: scroll;
	font-size: 1.1em;
}

a {
	text-decoration: none;
}

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

/* ============================================
   공통 요소 (header, footer, popup, footer-online)
   모든 페이지에서 사용
   ============================================ */
/* 팝업레이어 */
#hd_pop {z-index:99999;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;z-index:99999;border:1px solid #e9e9e9;background:#fff;}
.hd_pops img {max-width:100%}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
#hd_login_msg {position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;font-size:0;line-height:0;}
@media screen and (max-width: 1024px) {.hd_pops {top:50%!important;left:50%!important;transform:translate(-50%,-50%);}}
@media screen and (max-width: 640px) {.hd_pops {width:80%;}.hd_pops_con {width:100%!important;height:auto!important;}.hd_pops_con > p {line-height:0;}.hd_pops img {width:100%;}.hd_pops_footer .hd_pops_reject,.hd_pops_footer .hd_pops_close {font-size:12px;}}

@media screen and (max-width: 850px) {.index body {overflow-y:scroll!important;}}

/* header */
#header {position:fixed;top:0;left:0;z-index:99999;width:100%;min-height:100px;transition:.3s;}
#header.on,#header.fixed,#header.self {background:#fff;}
.hader-inner {position:relative;margin:0 auto;width:100%;min-height:100px;border-bottom:1px solid rgba(255,255,255,.15);}
.hader-inner .logo {position:absolute;top:50%;left:5%;z-index:33;margin-top:-31px;}
.hader-inner .logo .logo-link {
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:clamp(8px, 1.4vw, 18px);
	height:62px;
	--logo-box-h:62px;
	line-height:0;
	vertical-align:top;
}
.hader-inner .logo .logo-visual {display:flex;align-items:center;flex:0 0 auto;height:100%;max-height:100%;}
.hader-inner .logo .logo-visual .logo-on,
.hader-inner .logo .logo-visual .logo-off {width:auto;max-width:156px;height:81%;object-fit:contain;object-position:left center;}
.hader-inner .logo .logo-visual .logo-on {display:none;}
.hader-inner .logo .logo-visual .logo-off {display:block;}
.self .hader-inner .logo .logo-visual .logo-on,.fixed .hader-inner .logo .logo-visual .logo-on,.on .hader-inner .logo .logo-visual .logo-on {display:block;}
.self .hader-inner .logo .logo-visual .logo-off,.fixed .hader-inner .logo .logo-visual .logo-off,.on .hader-inner .logo .logo-visual .logo-off {display:none;}
/* 로고 이미지 오른쪽 태그라인 (히어로 위: 흰색 / 스크롤·밝은 헤더: 진한색) */
.hader-inner .logo .logo-tagline {
	position:static;
	flex:0 1 auto;
	min-width:0;
	align-self:center;
	margin:0;
	padding:0;
	max-width:min(42vw, 280px);
	font-weight:700;
	font-size:clamp(11px, calc(var(--logo-box-h) * 0.32), 26px);
	line-height:1.1;
	letter-spacing:-0.04em;
	color:#fff;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	text-shadow:0 1px 2px rgba(0,0,0,.45);
}
#header.on .hader-inner .logo .logo-tagline,
#header.fixed .hader-inner .logo .logo-tagline,
#header.self .hader-inner .logo .logo-tagline {
	color:#897e7a;
	text-shadow:none;
}
@media screen and (max-width: 1400px) {.hader-inner {width:100%;}}
@media screen and (max-width: 1200px) {#header {position:fixed;padding:0;min-height:95px;}.hader-inner {min-height:95px;}.hader-inner .logo {left:30px;margin-top:-23px;}.hader-inner .logo .logo-link {height:46px;--logo-box-h:46px;gap:clamp(6px, 1.2vw, 14px);}.hader-inner .logo .logo-visual img {height:81%;max-width:156px;}.hader-inner .logo .logo-tagline {max-width:min(36vw, 220px);}}
@media screen and (max-width: 768px) {#header,.hader-inner {min-height:70px;}.hader-inner .logo {left:20px;margin-top:-20px;}.hader-inner .logo .logo-link {height:40px;--logo-box-h:40px;gap:6px;}.hader-inner .logo .logo-tagline {max-width:min(52vw, 200px);}}
@media screen and (max-width: 640px) {#header,.hader-inner {min-height:40px;}.hader-inner .logo {margin-top:-17px;}.hader-inner .logo .logo-link {height:34px;--logo-box-h:34px;gap:4px;}.hader-inner .logo .logo-tagline {max-width:calc(100vw - 120px);}}

/* gnb */
.hader-inner .gnb {width:100%;text-align:right;}
.hader-inner .gnb .gnb-1depth-li {position:relative;display:inline-block;padding:0 1.5%;vertical-align:middle;}
.hader-inner .gnb .gnb-1depth-li >a {position:relative;display:block;font-size:18px;line-height:99px;color:#fff;}
.self .hader-inner .gnb .gnb-1depth-li >a,.on .hader-inner .gnb .gnb-1depth-li >a,.fixed .hader-inner .gnb .gnb-1depth-li >a {color:#1a1a1a;}
.hader-inner .gnb-2depth {display:none;}
.nav-full {position:fixed;top:-100%;left:0;z-index:999;padding:12% 10%;width:100%;height:100vh;background:rgba(202,158,94,.82);text-align:center;font-size:0;display:none;}
.nav-full .full-gnb-1depth-li {display:inline-block;width:calc(100%/7);vertical-align:top;}
.nav-full .full-gnb-1depth-li >a {position:relative;display:inline-block;padding:10px 8px;font-weight:500;font-size:24px;color:#fff;}
.nav-full .full-gnb-1depth-li >a:before {content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgba(255,255,255,.4);}
.nav-full .gnb-2depth {margin-top:30px;}
.nav-full .gnb-2depth-li >a {font-weight:100;font-size:18px;line-height:36px;color:#fff;}
@media screen and (min-width: 1025px) {
	.hader-inner .gnb {display:inline-block!important;overflow:visible!important;padding-right:3.5%;text-align:right;}
	.hader-inner .gnb .gnb-1depth-li >a:before {content:'';position:absolute;bottom:-6px;left:50%;margin-left:-60px;width:120px;height:6px;background:#fff;transform:scaleX(0);transition:.3s;display:none;}
	.hader-inner .gnb .gnb-1depth-li:hover >a:before {transform:scaleX(1);}
	.hader-inner .gnb-2depth {overflow:hidden;display:block!important;position:absolute;top:100%;left:50%;z-index:9999;margin-left:-100px;margin-top:1px;width:200px;height:0;text-align:center;}
	.gnb .gnb-2depth.on {padding-top:20px;height:400px;transition:.3s;}
	.hader-inner .gnb .gnb-2depth-a {display:block;padding:10px 0;font-size:15px;color:#666;}
	.hader-inner .gnb .gnb-2depth-a:hover {font-weight:700;}
	.gnb-bg {background:#f7f7f7;}
	#header .gnb-bg.menu {height:400px;transition:.3s;}
}
@media screen and (max-width: 1440px) {.nav-full {padding:10% 4%;}}
.close-btn {position:absolute;top:47px;right:12%;width:59px;height:59px;border:1px solid #fff;cursor:pointer;}
.close-btn span {position:absolute;left:12px;top:27px;width:33px;height:3px;border-radius:2px;background:#fff;}
.close-btn span:nth-child(1) {transform:rotate(45deg);}
.close-btn span:nth-child(2) {transform:rotate(-45deg);}
@media screen and (max-width: 1440px) {.hader-inner .gnb .gnb-1depth-li {padding:0 2%;}.hader-inner .gnb .gnb-1depth-li >a {font-size:17px;}}
@media screen and (max-width: 1200px) {.hader-inner .gnb {padding:0 20%;}.hader-inner .gnb .gnb-1depth-li >a {font-size:16px;}}
@media screen and (max-width: 1024px) {
	#header .gnb {display:none;position:absolute;top:100%;left:0;margin-left:0;padding:0;width:100%;background:#fff;text-align:center;}
	#gnb-1depth {overflow-x:hidden;height:calc(100vh - 95px);padding:30px;}
	#header .gnb .gnb-1depth-li {display:block;padding:0;text-align:left;}
	#header .gnb-1depth-a {position:relative;display:block;border-bottom:1px solid #e0e0e0;font-size:20px;line-height:60px;color:#262626!important;}
	#header .gnb-1depth-li.on .gnb-1depth-a:after {content:'';position:absolute;bottom:7px;left:-5px;width:120px;height:2px;background:#fff;}
	#header .gnb-2depth {display:none;padding:10px 0;height:auto!important;border-bottom:1px solid #e0e0e0;background:#f7f7f7;}
	#header .gnb-2depth-a {display:block;padding:0 20px;font-size:16px;line-height:40px;color:#808080;}
	.nav-full {display:none;}
}
.menu-btn {position:absolute;top:50%;right:5%;margin-top:-14.5px;width:46px;height:29px;cursor:pointer;display:none;}
.menu-btn span {position:absolute;left:0;margin-left:0;width:100%;height:3px;background:#fff;transition:.3s;}
.self .menu-btn span,.on .menu-btn span,.fixed .menu-btn span {background:#000;}
.menu-btn span:nth-child(1) {top:0;}
.menu-btn span:nth-child(2) {margin-top:-1.5px;top:50%;}
.menu-btn span:nth-child(3) {bottom:0;}
.menu-btn.on span:nth-child(1) {top:10px;transform:rotate(45deg);width:100%;}
.menu-btn.on span:nth-child(2) {opacity:0;}
.menu-btn.on span:nth-child(3) {top:10px;transform:rotate(-45deg);width:100%;}
@media screen and (max-width: 1024px) {.menu-btn {display:block;right:30px;}.menu-btn.on span {background:#000;}}
@media screen and (max-width: 768px) {.menu-btn {right:20px;width:30px;height:20px;margin-top:-10px;}.menu-btn span {height:1.7px;}.menu-btn.on span:nth-child(1),.menu-btn.on span:nth-child(3) {top:9px;}#gnb-1depth {height:calc(100vh - 70px);}}
@media screen and (max-width: 640px) {.header-utils {display:none;right:18%;}#gnb-1depth {height:calc(100vh - 60px);}}

/* footer */
#footer {overflow:hidden;background:#000;padding-bottom:150px;}
.footer-sec {padding:30px 5vw;}
#footer .footer-utils {border-bottom:1px solid rgba(255,255,255,.2);font-size:0;display:flex;flex-flow:row wrap;}
#footer .footer-utils li {width:auto;padding:0 20px;}
#footer .footer-utils li a {display:block;font-size:15px;text-align:center;color:#ccc;}
#footer .footer-address {position:relative;font-size:0;display:flex;flex-flow:row wrap;}
.index #footer .footer-address {padding-bottom:180px;}
#footer .footer-address p {order:1;font-size:15px;color:#fff;width:150px;}
#footer .footer-address .footer-address-telNum {order:2;display:none;}
#footer .footer-address .footer-address-conts {order:3;width:calc(100%-150px);height:100%;display:flex;flex-flow:row nowrap;font-size:14px;font-style:normal;color:#999;}
#footer .footer-address .footer-address-conts li {width:auto;margin-right:20px;}
#footer .footer-address .footer-address-conts li:last-child {margin-right:0;}
#footer .footer-address .footer-address-conts li:nth-child(2) {display:flex;flex-flow:row wrap;}
#footer .footer-address .footer-address-conts li .adress-list {display:flex;flex-flow:column wrap;margin-left:5px;}
#footer .footer-address .footer-address-conts li .adress-list li {width:auto;margin-bottom:4px;}
#footer .footer-address .footer-address-conts .info-wrap {display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;}
#footer .footer-address .footer-address-conts .info-wrap p {width:auto;margin:0;padding:2px 0;font-size:14px;font-style:normal;color:#999;}
#footer .footer-address .footer-address-conts .info-wrap p:nth-child(4) {width:100%;}
.footer-social {display:flex;gap:16px;margin:0;}
.footer-social a {display:inline-flex;padding:8px;border-radius:50%;background-color:#666;color:#fff;transition:color .3s ease;}
.footer-social svg {width:32px;height:32px;fill:currentColor;}
.footer-social .sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.social-naverblog:hover,.social-naverblog:focus {color:#03c75a;}
.social-kakao:hover,.social-kakao:focus {color:#fae100;}
.social-youtube:hover,.social-youtube:focus {color:#ff0000;}
.social-insta:hover,.social-insta:focus {color:#dd0ac1;}
@media screen and (max-width: 950px) {
	#footer .footer-utils {flex-flow:row wrap;padding:0 15px 20px 15px;}
	#footer .footer-utils li {padding:0 20px 0 20px;margin:20px 0 0 0;width:20%;display:flex;align-items:center;justify-content:center;}
	#footer .footer-utils li:nth-child(3),#footer .footer-utils li:nth-child(5),#footer .footer-utils li:nth-child(6),#footer .footer-utils li:nth-child(8) {padding:0;}
	#footer .footer-address {flex-flow:column;}
	#footer .footer-address .footer-address-telNum {display:block;width:200px;position:relative;margin-top:12px;margin-left:40px;font-size:36px;font-weight:900;}
	#footer .footer-address .footer-address-telNum a {color:#fff;}
	#footer .footer-address .footer-address-telNum:before {content:'';position:absolute;top:35%;left:-36px;transform:translateY(-35%);width:30px;height:30px;background-image:url('/images/main/icon-telNum.png');background-size:cover;}
	#footer .footer-address .footer-address-telNum span {font-size:11px;font-weight:600;display:block;}
	#footer .footer-address .footer-address-conts {flex-flow:column;margin-top:15px;}
	#footer .footer-address .footer-address-conts li {margin-bottom:6px;}
}
@media screen and (max-width: 640px) {
	.footer-sec {padding:20px 5vw;}
	#footer .footer-utils {padding:0 5px 15px 5px;}
	#footer .footer-utils li {margin:15px 0 0 0;width:33.333333%;}
	#footer .footer-utils li a {font-size:13px;}
	#footer .footer-address .footer-address-conts li .adress-list {padding-left:8px;}
	#footer .footer-address .footer-address-conts .info-wrap p:nth-child(4) {margin-bottom:40px;}
}

/* footer-online */
.footer-online {position:fixed!important;bottom:0;right:0;z-index:999;width:100%;background:#06182A;}
.footer-online form {width:auto;margin:0 auto;padding:25px 0;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:80px;font-family:'Pretendard';line-height:1;}
.footer-online dl dt,.footer-online dl dd {display:inline-block;vertical-align:middle;}
.footer-online dl dt {font-weight:700;font-size:22px;color:#aaa;}
.footer-online dl dd {font-family:'Montserrat',sans-serif;font-weight:600;font-size:25px;line-height:1;color:#fff;letter-spacing:0;margin-left:30px;}
.footer-online .footer-online-wrap {display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:40px;vertical-align:middle;}
.footer-online p {position:relative;display:inline-block;font-weight:700;font-size:22px;color:#aaa;vertical-align:middle;}
.footer-online .input-wrap {display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;gap:10px;max-width:500px;font-size:0;vertical-align:middle;}
.footer-online .input-wrap li {position:relative;display:inline-block;width:48%;max-width:240px;vertical-align:middle;}
.footer-online .input-wrap li label {display:inline-block;font-weight:500;font-size:16px;line-height:1;color:#aaa;}
.footer-online .input-wrap li input[type="text"],.footer-online .input-wrap li input[type="tel"] {width:100%;height:38px;border:0;border-bottom:1px solid #fff;background:none;font-family:'Pretendard';font-weight:500;font-size:16px;color:#fff;}
.footer-online .input-wrap li select {width:100%;height:42px;min-height:42px;border:0;border-bottom:1px solid #fff;background:transparent;padding:8px 28px 8px 0;line-height:1.4;box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist;font-family:'Pretendard';font-weight:500;font-size:16px;color:#fff;}
.footer-online .input-wrap li select:invalid {color:#ccc;-webkit-text-fill-color:#ccc;}
.footer-online .input-wrap li select:valid {color:#fff;-webkit-text-fill-color:#fff;}
.footer-online .input-wrap li input::placeholder {font-weight:500;font-size:16px;color:#aaa;line-height:1;padding:0 5px;}
.footer-online .input-wrap li select option {color:#333;}
.footer-online .input-wrap li select option[value=""] {color:#999;}
.footer-online .input-wrap li:last-child {margin-left:0;display:flex;align-items:center;}
.footer-online .input-wrap li:last-child input {display:inline-block;vertical-align:baseline;margin:0 7px 0 0;}
.footer-online .input-wrap li:last-child label {display:inline-block;font-size:14px;line-height:1;color:#fff;vertical-align:middle;}
.footer-online .input-wrap li:last-child a {margin-left:20px;font-size:14px;color:#fff;font-weight:600;display:inline-block;}
.footer-online .btn-wrap {display:inline-block;vertical-align:middle;}
.footer-online .btn-wrap button {height:100%;padding:28px 24px;background:#fff;border-radius:5px;font-family:'Pretendard';font-weight:700;font-size:18px;line-height:1;color:#000;}
.footer-online .footerPop {display:none;position:fixed;bottom:0;left:50%;z-index:444;width:360px;height:auto;background:#fff;}
.footer-online .footerPop h2 {margin-bottom:0;padding:8px 20px;font-weight:500;font-size:16px;line-height:1.6;text-align:left;color:#fff;background:#333;}
.footer-online .footerPop .pop-inner {overflow-x:hidden;padding:10px 20px;width:100%;height:auto;border:1px solid #ddd;border-top:0;font-size:12px;line-height:1.6;color:#666;}
.footer-online .footerPop .pop-close {position:absolute;top:7px;right:7px;width:25px;height:25px;text-align:center;}
.footer-online .footerPop .pop-close:before {content:'×';display:inline-block;font-size:24px;line-height:24px;font-family:'Roboto';color:#fff;}
@media screen and (max-width: 1024px) {.footer-online form {margin:0 auto;padding:25px 0;gap:40px;}.footer-online dl {width:160px;}.footer-online dl dd {margin-left:0;}.footer-online .footer-online-wrap {width:calc(100% - 275px);}.footer-online p {display:none;}.footer-online .input-wrap {width:100%;}}
@media screen and (max-width: 820px) {.footer-online .input-wrap li:last-child a {display:none;}.footer-online .footerPop {bottom:20%;}}
@media screen and (max-width: 640px) {
	.footer-online .footerPop {left:20px;top:50%;margin:0;width:calc(100% - 40px);max-height:calc(100% - 40px);transform:translateY(-50%);}
	.footer-online form {padding:15px 0;gap:0;}
	.footer-online dl {display:none;}
	.footer-online .footer-online-wrap {width:auto;gap:15px;}
	.footer-online .input-wrap {display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;gap:8px 12px;max-width:280px;}
	.footer-online .input-wrap li {width:48%;max-width:130px;}
	.footer-online .input-wrap li:nth-child(3) {width:100%;max-width:100%;}
	.footer-online .input-wrap li label {font-size:12px;}
	/* 16px 미만 시 iOS Safari가 포커스 시 자동 확대하므로 16px 유지 */
	.footer-online .input-wrap li input[type="text"],.footer-online .input-wrap li input[type="tel"] {width:100%;height:32px;font-size:16px;}
	.footer-online .input-wrap li select {width:100%;height:34px;min-height:34px;padding:6px 24px 6px 0;font-size:16px;line-height:1.3;box-sizing:border-box;}
	.footer-online .input-wrap li select:invalid {color:#ccc;-webkit-text-fill-color:#ccc;}
	.footer-online .input-wrap li select:valid {color:#fff;-webkit-text-fill-color:#fff;}
	.footer-online .input-wrap li input::placeholder {font-size:16px;}
	.footer-online .input-wrap li:last-child {width:100%;max-width:100%;flex-wrap:nowrap;white-space:nowrap;}
	.footer-online .input-wrap li:last-child input {width:14px;height:14px;min-width:14px;margin:0 6px 0 0;flex-shrink:0;}
	.footer-online .input-wrap li:last-child label {font-size:14px;white-space:nowrap;}
	.footer-online .input-wrap li:last-child a {font-size:12px;margin-left:8px;flex-shrink:0;}
	.footer-online .btn-wrap button {padding:16px 10px;border-radius:3px;font-size:12px;}
}

/* ============================================
   Typography 클래스 시스템 (SEO 분리)
   H 태그는 SEO 의미 전용, 디자인은 클래스로 제어
   ============================================ */

/* H1 스타일 클래스 */
.title-h1 {
	font-size: 48px;
	font-weight: 800;
	line-height: 1.2;
}

/* H2 스타일 클래스 */
.title-h2 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
}

/* H3 스타일 클래스 */
.title-h3 {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
}

/* 보조 제목/설명 스타일 클래스 */
.title-sub {
	font-size: 18px;
	color: #666;
	line-height: 1.5;
	font-weight: 400;
}

/* 반응형: 모바일 */
@media screen and (max-width: 768px) {
	.title-h1 {
		font-size: 32px;
	}
	.title-h2 {
		font-size: 25px;
	}
	.title-h3 {
		font-size: 20px;
	}
	.title-sub {
		font-size: 16px;
	}
}

@media screen and (max-width: 480px) {
	.title-h1 {
		font-size: 28px;
	}
	.title-h3 {
		font-size: 18px;
	}
	.title-sub {
		font-size: 14px;
	}
}

/* ============================================
   공통 레이아웃
   ============================================ */

#hd, #wrapper, #ft {
	min-width: 1200px;
}

#wrapper { 
	overflow:hidden;
	min-width:100% !important; 
}

#contents { 
	position:relative; 
}

.inner { 
	margin:0 auto;
	width:1200px;
}

@media screen and (max-width: 1200px) { 
	.inner { 
		width:100%; 
		padding:0 30px;
	}
}

@media screen and (max-width: 768px) { 
	.inner { 
		padding:0 20px;
	}
}

.section { 
	padding:115px 0 120px; 
}

@media screen and (max-width: 768px) { 
	.section { 
		padding:80px 0; 
	}	 
}

@media screen and (max-width: 640px) { 
	.section { 
		padding:60px 0; 
	}	 
}

/* 서브 페이지 공통 레이아웃 */
.sub-conts-wrap {
	width:1200px; 
	margin: 40px auto;
}

@media screen and (max-width:1100px) {
	.sub-conts-wrap {
		width:90%; 
		margin: 20px auto;
	}  
}

@media screen and (max-width: 768px) {
	.sub-conts-wrap {
		margin: 20px auto;
	}
}

/* ============================================
   공통 유틸리티 클래스
   ============================================ */

/* 이미지 래퍼 */
.img-wrap img {
	max-width: 100%;
	height: auto;
}

/* 버튼 래퍼 */
.btn-wrap {
	text-align: center;
}

.btn-wrap button {
	cursor: pointer;
}

/* 입력 폼 래퍼 */
.input-wrap {
	list-style: none;
	margin: 0;
	padding: 0;
}

.input-wrap li {
	margin-bottom: 15px;
}

.input-wrap li:last-child {
	margin-bottom: 0;
}

.input-wrap label {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	color: #333;
}

.input-wrap input[type="text"],
.input-wrap input[type="tel"],
.input-wrap input[type="password"] {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #dedede;
	font-size: 14px;
	font-family: 'Noto Sans KR', dotum, sans-serif;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
}

.input-wrap select {
	width: 100%;
	padding: 10px 36px 10px 15px;
	border: 1px solid #dedede;
	font-size: 14px;
	font-family: 'Noto Sans KR', dotum, sans-serif;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
	appearance: menulist;
	background-color: #fff;
}

.input-wrap input::placeholder {
	color: #999;
}

/* 필수입력 */
.required, textarea.required {background-image:url('/img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}

/* ============================================
   공통 버튼 스타일
   ============================================ */

/* 게시판용 버튼 */
a.btn_b01, .btn_b01 {
	display: inline-block;
	font-size: 14px;
	line-height: 35px;
	min-width: 100px;
	height: 35px;
	padding: 0 10px;
	text-align: center;
	background: #27282b;
	color: #fff;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	border: 0;
}

.btn_b01:hover {
	background: #333;
}

a.btn_b02, .btn_b02 {
	display: inline-block;
	font-size: 14px;
	line-height: 35px;
	min-width: 100px;
	height: 35px;
	padding: 0 10px;
	text-align: center;
	background: #0d3776;
	color: #fff;
	text-decoration: none;
	border: 0;
	vertical-align: middle;
	cursor: pointer;
}

.btn_b02:hover {
	background: #4a5460;
}

a.btn_b03, .btn_b03 {
	display: inline-block;
	font-size: 14px;
	line-height: 35px;
	min-width: 100px;
	height: 35px;
	padding: 0 10px;
	text-align: center;
	background: #fff;
	border: 1px solid #b9bdd3;
	color: #646982;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
}

.btn_b03:hover {
	background: #ebedf6;
}

a.btn_b04, .btn_b04 {
	display: inline-block;
	font-size: 14px;
	line-height: 35px;
	min-width: 100px;
	height: 35px;
	padding: 0 10px;
	text-align: center;
	background: #fff;
	border: 1px solid #ccc;
	color: #707070;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
}

.btn_b04:hover {
	color: #333;
	background: #f9f9f9;
}

a.btn_admin, .btn_admin {
	display: inline-block;
	font-size: 14px;
	line-height: 35px;
	min-width: 100px;
	height: 35px;
	padding: 0 10px;
	text-align: center;
	background: #27282b;
	color: #fff;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	border: 0;
}

.btn_admin:hover {
	background: #27282b;
}

/* ============================================
   공통 폼 스타일
   ============================================ */

input[type="text"],
input[type="tel"],
input[type="password"],
input[type="submit"],
button,
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border: 1px solid #dedede;
	box-shadow: none !important;
	font-family: 'Noto Sans KR', dotum, sans-serif;
}

input {
	-webkit-border-radius: 0;
	background: #fff;
}

select {
	-webkit-border-radius: 0;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
	appearance: menulist;
	border: 1px solid #dedede;
	box-shadow: none !important;
	font-family: 'Noto Sans KR', dotum, sans-serif;
	background: #fff;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: #558ab7;
	box-shadow: 0 0 5px #9ed4ff;
}

/* ============================================
   공통 섹션 헤더
   ============================================ */

.section-head {
	text-align: center;
	margin-bottom: 50px;
}

.section-head .title-h2 {
	margin-bottom: 15px;
}


@media screen and (max-width: 768px) {
	.section-head {
		margin-bottom: 30px;
	}
}

/* ============================================
   공통 유틸리티
   ============================================ */

/* 스크린 리더 전용 텍스트 (화면에서는 숨김) */
.sound_only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
}

/* 숨김 처리 */
#bo_v_table {
	display: none !important;
}

/* 클리어픽스 */
.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	content: "";
}

/* 반응형 이미지 */
img {
	max-width: 100%;
	height: auto;
}

/* ============================================
   퀵 메뉴 (Quick Menu)
   ============================================ */

.quick-menu { 
	position: fixed; 
	top: 50%; 
	right: 30px; 
	z-index: 222;
	transform: translateY(-50%);
}

.quick-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 모바일용 퀵메뉴: PC에서는 숨김 */
.quick-menu-mo {
	display: none;
}

.quick-menu .quick-menu-pc li { 
	margin: 5px 0;
	width: 140px;
	font-size: 0;
}

.quick-menu .quick-menu-pc li:nth-child(2) { 
	display: none; 
}

.quick-menu .quick-menu-pc li a { 
	display: block;
	border-radius: 26px;
	background: #0b132f;
	font-size: 16px; 
	line-height: 51px;
	color: #fff;
	letter-spacing: -1px;
	text-align: center;
	text-decoration: none;
}

.quick-menu .quick-menu-pc li a:hover {
	opacity: 0.9;
}

.quick-menu .quick-menu-pc li a img { 
	position: relative; 
	top: -1px;
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.quick-menu .quick-menu-pc li:nth-child(1) a { 
	box-sizing: border-box;
	-webkit-animation: blink2 0.8s ease-in-out infinite alternate; 
	-moz-animation: blink2 0.8s ease-in-out infinite alternate; 
	animation: blink2 0.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink2 {
	0% { border: solid 4px #0b132f; color: #DBCA32;}
	100% { border: solid 4px #DBCA32; color: #fff;}
}

@-moz-keyframes blink2 {
	0% { border: solid 4px #0b132f; color: #DBCA32;}
	100% { border: solid 4px #DBCA32; color: #fff;}
}

@keyframes blink2 {
	0% { border: solid 4px #0b132f; color: #DBCA32;}
	100% { border: solid 4px #DBCA32; color: #fff;}
}

@media screen and (max-width: 1024px) { 
	.quick-menu { 
		bottom: 100px; 
		top: auto; 
		transform: none;
		z-index: 1000;
	}
	.quick-menu .quick-menu-pc li { 
		display: none; 
	}
	.quick-menu .quick-menu-pc li:nth-child(1) { 
		display: block; 
	}
	.quick-menu .quick-menu-pc li:nth-child(2) { 
		display: block; 
	}
	.quick-menu .quick-menu-pc li:nth-child(3) { 
		display: block; 
	}
}

/* 모바일: PC 퀵메뉴 숨기고 모바일용 퀵메뉴 표시 */
@media screen and (max-width: 768px) { 
	.quick-menu { 
		right: 8px;
		bottom: 100px; 
		margin-bottom: 0;
		z-index: 1000;
	}
	.quick-menu .quick-menu-pc {
		display: none;
	}
	.quick-menu .quick-menu-mo {
		display: block;
	}
	.quick-menu .quick-menu-mo li {
		margin: 0 0 2px 0;
		width: auto;
		list-style: none;
	}
	/* 터치 영역 최소 44px (접근성/UX) */
	.quick-menu .quick-menu-mo li a {
		display: block;
		padding: 0 14px 0 12px;
		min-height: 44px;
		border-radius: 22px;
		background: #0b132f;
		font-size: 14px;
		line-height: 44px;
		color: #fff;
		text-decoration: none;
		letter-spacing: -0.5px;
	}
	.quick-menu .quick-menu-mo li a img {
		display: inline-block;
		vertical-align: middle;
		margin-right: 6px;
		width: 20px;
		height: 20px;
		object-fit: contain;
	}
	.quick-menu .quick-menu-mo li:nth-child(1) a {
		box-sizing: border-box;
		border: solid 2px #DBCA32;
		color: #DBCA32;
	}
}

@media screen and (max-width: 640px) {
	.quick-menu {
		bottom: 120px;
		z-index: 1000;
	}
	/* 터치 영역 최소 44px 유지 */
	.quick-menu .quick-menu-mo li a {
		font-size: 13px;
		line-height: 44px;
		min-height: 44px;
		padding: 0 12px 0 10px;
	}
	.quick-menu .quick-menu-mo li a img {
		width: 18px;
		height: 18px;
		margin-right: 5px;
	}
}

/* ============================================
   페이징 (Pagination)
   ============================================ */

.pg_wrap {
	clear: both;
	float: none;
	display: block;
	margin: 30px 0;
	text-align: center;
	position: relative;
}

.pg_wrap:after {
	display: block;
	visibility: hidden;
	clear: both;
	content: "";
}

.pg {
	font-size: 0;
	position: relative;
}

.pg_page,
.pg_current {
	display: inline-block;
	vertical-align: middle;
	border-radius: 0;
	border: 1px solid #dedede;
	background: #fff;
}

.pg a:focus,
.pg a:hover {
	text-decoration: none;
}

.pg_page {
	color: #555;
	font-size: 13px;
	margin-right: -1px;
	width: 35px;
	height: 35px;
	line-height: 33px;
	text-decoration: none;
}

.pg_page:hover {
	background-color: #f1f1f1;
}

.pg_start {
	margin-right: 16px;
	text-indent: -999px;
	overflow: hidden;
	background: url('/img/btn_first.gif') no-repeat 50% 50% #fff;
}

.pg_prev {
	margin-right: 16px;
	text-indent: -999px;
	overflow: hidden;
	background: url('/img/btn_prev.gif') no-repeat 50% 50% #fff;
}

.pg_end {
	margin-left: 16px;
	text-indent: -999px;
	overflow: hidden;
	background: url('/img/btn_end.gif') no-repeat 50% 50% #fff;
}

.pg_next {
	margin-left: 16px;
	text-indent: -999px;
	overflow: hidden;
	background: url('/img/btn_next.gif') no-repeat 50% 50% #fff;
}

.pg_start + .pg_prev {
	margin-left: -17px;
}

.pg_next + .pg_end {
	margin-left: 0;
}

.pg_start:hover,
.pg_prev:hover,
.pg_end:hover,
.pg_next:hover {
	background-color: #fafafa;
}

.pg_current {
	display: inline-block;
	width: 35px;
	height: 35px;
	border-color: #8b653c;
	background: #363636;
	font-size: 13px;
	line-height: 33px;
	color: #fff !important;
	font-weight: bold;
	-webkit-box-shadow: inset 1px 1px 2px #222542;
	-moz-box-shadow: inset 1px 1px 2px #222542;
	box-shadow: inset 1px 1px 2px #222542;
}
