/* 초기 로딩 깜빡임 방지 */
body {
	visibility: hidden;
	opacity: 0;
}

body.is-loaded {
	visibility: visible;
	opacity: 1;
}

/* style css */
body, html {
	overflow-x:hidden;
	min-width:1280px
}
.no-drag,
img {
	user-select: none;
	-webkit-user-select: none;
	-webkit-user-drag: none;
	pointer-events: none;
}


::selection {
   background: #2d2b27;
   color: #fff
}

::-moz-selection {
   background: #2d2b27;
   color: #fff
}

::-webkit-selection {
    background: #2d2b27;
   color: #fff
}

body {
	-webkit-font-smoothing: antialiased;
	color:#333;
}

.row {
	padding: 0 20px;
	margin: auto
}

/* ��� */
.header {
	position:fixed;
	top: 0;
	left: 0;
	right: 0;
	text-align:center;
	z-index: 9999;
	transition:all 300ms ease-in-out;
	min-width:1280px;
	height: 100px;
	border-bottom: 1px solid rgba(217, 217, 217, 0);
}

.header.w, .header.www {
	background-color: #fff;
}
.header.w_sec02 {
	background-color: #fff !important;
}
.header.ww {
	/*background-color: #333;*/
	/*background-color: #0e0924;*/
}
.header.ww.w {
	/*background-color: #0e0924;*/
}


.header.w, .header.www {
	/*background-color: rgba(255, 255, 255, 0);*/
}
.header::after {
	background-color: rgba(255, 255, 255, 0);
	width: 100vw;
	height: 160px;
	top: 0px;
	left: 0;
	content: none;
	display: inline-block;
	position: absolute;
	transition: all 300ms ease-in-out;
}
.header.w::after, .header.www::after, .header.w_sec02::after {
	/*background-color: #FFFFFF;*/
}
.header.w_sec02.w_sec03::after {
	background-color: rgba(255, 255, 255, 0);
	display: none;
}


.header .row {
	position:relative;
	display:flex;
	align-items:center;
	justify-content: space-between;
	height: 100%;
	padding: 0 0 0 50px;
	z-index: 99;
}


.header .nav {
	display:flex;
	/*position:absolute;*/
	/*left: 50%;*/
	/*transform:translate(-50%, -50%);*/
}

.header .right_box {
	display:flex;
	align-items:center;
	height: 100%;
}
.nav_wrap {
	position: absolute;
	top: 50%;
	left: calc(50% + 120px);

	/*left: calc(50% + 0px);*/
	transform: translate(-50%, -50%);
}
.header .nav li {
	width: 160px;
	text-align:center;
	height: 100%;
	line-height:100px;
	position: relative;
}

.header .nav li.on::after, .header .nav li:hover::after {
	content: '';
	display: inline-flex;
	position: absolute;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	width: 65%;
	height: 6px;
	background-color: #aa8121;
}

.header .nav li a {
	/*color: #2d2b27;*/
	color: #fff;
	font-size: 18px;
	transition: .2s;
	font-family: 'Pretendard-Regular';
	position: relative;
	letter-spacing: 1px;
}
.header.w .nav li a, .header.www .nav li a {
	color: #000;
}
.header.w_sec02 .nav li a {
	color: #000 !important;
}
.header .nav li.on a,
.header .nav li a:hover {
	color: #aa8121;
}



.header .drop_menu {
	display:none; 
	position:absolute;
	background-color: #fff;
	width: 100%;
	top: 100px;
	left: 0;
	padding: 30px 0;
	/*height: 290px;*/
	height: 300px;
}

.header .drop_menu .drop {
	position: absolute;
	z-index: 998;
	left: calc(50% + 120px);
	transform: translateX(-50%);
	font-size: 18px;
	display: flex;
}

.header .drop_menu .drop > li {
	width: 160px;
	text-align:center;
}

.header .drop_menu .drop > li a {
	color:#000;
	transition: .2s;
	letter-spacing: 1px;
	font-family:'Pretendard-Regular';
}

.header .drop_menu .drop > li a:hover {
	color:#aa8121;
}

.header .drop_menu .sub_menu > li {
	margin-bottom: 15px;
}

.header .tel {
	margin: 0 70px;
	background-image: url("../img/tel_img_w.png");
	width: 148px;
	height: 20px;
	background-size: cover;
	cursor: default !important;
}
.header.w .tel, .header.www .tel {
	background-image: url("../img/tel_img_n.png");
}
.header.w_sec02 .tel {
	background-image: url("../img/tel_img_n.png") !important;
}

.header .logo {
	background-image: url("../img/logo_img_w.png");
	width: 156px;
	height: 66px;
	background-size: cover;
}
.header.w .logo, .header.www .logo {
	background-image: url("../img/logo_img.png");
}
.header.w_sec02 .logo {
	background-image: url("../img/logo_img.png") !important;
}



.open_box {
	position: absolute;
	bottom: -30px;
	right: 70px;
	z-index: 99;
}






.header .right_wingbanner {
	position: fixed;
    top: 0;
    right: 0;
	width: 100px;
	z-index: 999999;
}

.header .right_wingbanner a {
	display: block;
	width: 100%;
	height: 100%;
}

.header .right_wingbanner .popup {
	background-color: #0e0924;
	background-image: url("../img/popup_btn.png");
	background-position: center;
	height: 100px;
	font-size: 0;
}

.header .right_wingbanner .regi {
	background-color: #244677;
	background-image: url("../img/regi_btn.png");
	background-position: center;
	height: 130px;
	font-size: 0;
}

.header .right_wingbanner .open {
	background-color: #2a3d49;
	background-image: url("../img/open_btn.png");
	background-position: center;
	width: 100px;
	height: 320px;
	font-size: 0;
}

.header .right_wingbanner .loca {
	background-color: #008890;
	background-image: url("../img/loca_btn.png");
	background-position: center;
	height: 130px;
	font-size: 0;
}

.header .right_wingbanner .top {
	background-color: #616161;
	background-image: url("../img/top_btn.png");
	background-position: center;
	height: 100px;
	font-size: 0;
	cursor: pointer;
}

.top_regi_btn {
	margin-left: 30px;
	margin-right: 50px;
	position: relative;
}
.top_regi_btn::after {
	content: '|';
	display: inline-block;
	position: absolute;
	right: -30px;
	top: 50%;
	transform: translateY(-50%);
	color: #0e0924;
	font-size: 20px;
}

/* =========================
   FOOTER
========================= */

.footer {
	position: relative;

	width: 100%;

	background: #2b2926;
	color: #fff;

}

.footer .fp-tableCell {
	display: block !important;
}


/* =========================
   FOOTER INNER
========================= */

.footer-inner {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 100%;
	max-width: none;

	margin: 0 auto;

	padding: 50px 0;

	text-align: center;
}


/* =========================
   FOOTER LOGO
========================= */

.footer-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-logo img {
	display: block;

	height: auto;
	max-width: none !important;
}


/* =========================
   FOOTER COMPANY
========================= */

.footer-company {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 18px;

	margin-top: 22px;
}

.footer-company-item {
	display: flex;
	align-items: center;

	white-space: nowrap;
}

.footer-company-item span {
	display: block;

	margin-right: 8px;
	font-family:'Pretendard-Medium';


	font-size: 13px;
	line-height: 1;
	color: rgba(255, 255, 255, .42);
}

.m_fixed_wrap {
	display: none;
}
.footer-company-item strong {
	display: block;

	font-family:
			'Pretendard-SemiBold',
			sans-serif;

	font-size: 16px;
	line-height: 1;
	letter-spacing: -.5px;
	color: #928b88;
}

.footer-company-agency {
	position: relative;

}



.footer-company-agency img {
	display: block;
	width: 119px;
	height: auto;
	max-width: none !important;

}


/* =========================
   FOOTER INFORMATION
========================= */

.footer-information {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 13px;

	margin-top: 20px;

	font-family:
			'Pretendard-SemiBold',
			sans-serif;

	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: -.4px;
	color: rgba(255, 255, 255, .92);
}

.footer-information-line {
	display: block;

	width: 1px;
	height: 12px;

	background: rgba(255, 255, 255, .3);
}




/* =========================
   FOOTER NOTICE
========================= */

.footer-notice {
	margin-top: 14px;
}

.footer-notice p {
	margin: 0;
	font-family:'Pretendard-Regular';


	font-size: 15px;
	line-height: 1.65;
	letter-spacing: -.25px;
	color: rgba(255, 255, 255, .48);
}

.footer-top-btn{
	position:fixed;
	bottom: 170px;
	right:65px;

	width:84px;
	height:84px;

	border-radius:50%;
	background: rgba(247, 211, 182, 0.72);

	display:flex;
	align-items:center;
	justify-content:center;

	text-decoration:none;
	cursor:pointer;

	transition:all .35s ease;
	z-index:30;
}

.footer-top-btn span{
	color:#2b2926;
	font-size:15px;
	font-weight:700;
	letter-spacing:2px;
	line-height:1;
	user-select:none;
}

.footer-top-btn:hover{
	transform:translateY(-6px) scale(1.05);
	box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.footer-top-btn:active{
	transform:translateY(-2px) scale(.98);
}




/* =========================
   FOOTER NOTEBOOK
========================= */

@media screen and (max-width: 1700px) {

	.footer-inner {
		padding:
				30px
				35px
				28px;
	}


	.footer-company {
		margin-top: 18px;
	}

	.footer-information {
		margin-top: 17px;
	}
}


/* =========================
   FOOTER SMALL NOTEBOOK
========================= */

@media screen and (max-width: 1400px) {

	.footer-inner {
		padding:
				26px
				30px
				24px;
	}



	.footer-company {
		gap: 25px;
		margin-top: 16px;
	}



	.footer-notice {
		margin-top: 11px;
	}

}





.floating {
	position: absolute;
	top: calc(50% + 40px);
	transform: translateY(-50%);
	right: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
.floating > a {
	width: 100px;
	height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #0e0924;
	border: 1px solid #fff;
	font-family:'NanumSquareB.woff';
}
.floating > a.floating_a01 {
	background-color: #0e0924;
	height: 100px;
}
.floating > a > em {
	display: inline-block;
	line-height: 1.3;
	font-size: 16px;
	color: #fff;
	text-align: center;
	margin-top: 10px;
	font-family: 'NotoSansKR-Regular';
}

.floating img {
	filter: brightness(0) invert(1);
}









.video-container {
    position: relative;
    padding-bottom: 53.5%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe, .video-container object, .video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 1800px) {
	.header .nav li a {
		font-size: 16px;
	}
	.header .drop_menu .drop {
		font-size: 16px;
	}
	.header .nav li, .header .drop_menu .drop > li {
		width: 130px;
	}
}
@media screen and (max-width:1700px) {

	.header .row .logo {
		transform: scale(0.75);
	}
	.nav_wrap, .header .drop_menu .drop{
		left: 50%;
	}


}
@media screen and (max-width: 1400px) {
	.header .row .logo {
		transform-origin: left;
	}
	.header .nav li, .header .drop_menu .drop > li {
		width: 100px;
	}

	.top_regi_btn {
		left: 20px;
	}
	.tel {
		transform-origin: left;
	}
}

@media(min-width:992px) {
	.pc {
		display:block !important
	}

	.mobile {
		display:none !important
	}
}

@media(max-width:991px) {
	.pc {
		display:none !important
	}

	.mobile {
		display:block !important
	}
}





/* 개별 원형 버튼 */
.main-floating-item2 {
	position: fixed !important;

	display: block;

	width: clamp(76px, 5.6vw, 108px);
	aspect-ratio: 1 / 1;

	flex: 0 0 auto;

	border: 0;
	border-radius: 50%;

	text-decoration: none;

	transform: translateZ(0);

	transition:
			transform .45s cubic-bezier(.22, .8, .2, 1),
			filter .45s ease;

	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.main-floating-item2.main-floating-open {
	background-color: #f7d3b6;
	width: 115px;
	height: 115px;
	border-radius: 50%;
}

/* 클릭 가능한 관심고객등록 */
a.main-floating-item2 {
	cursor: pointer;
	width: 129px;
	height: 129px;
	bottom: 30px;
	right: 40px;
	z-index: 30;
	opacity: 0.95;
	border: 1px solid #00000030;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.35s ease, visibility 0.35s ease;
}

a.main-floating-item2.is-footer-top-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


/* 회전하는 외곽 글자 */
.main-floating-ring {
	position: absolute;
	inset: 0;
	z-index: 1;

	display: block;

	width: 100%;
	height: 100%;
	max-width: none !important;

	object-fit: contain;

	transform: translateZ(0);

	animation: mainFloatingRingRotate 15s linear infinite;

	pointer-events: none;

	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;

	will-change: transform;
}


.main-floating-text {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 64%;
	height: 64%;


	transform: translate(-50%, -50%);

	text-align: center;
	color: #fff;

	pointer-events: none;
}
.main-floating-text.main-floating-open-text {
	font-size: 20px;
}


.main-floating-item2 .main-floating-text strong {
	display: block;

	margin: 0;

	font-family:'Pretendard-Medium';
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0px;
	color: #fff;
}

.main-floating-date {
	display: block;
	margin-bottom: 4px;

	font-family:'KimjungchulGothic-Regular';
	font-size: 15px;
	line-height: 1;
	letter-spacing: -.3px;
	color: #2d2b27;
}
.main-floating-date em {

	font-size: 24px;
	font-family:'KimjungchulGothic-Bold';

}

.main-floating-customer-text strong {

}





@keyframes mainFloatingRingRotate {
	from {
		transform: translateZ(0) rotate(0deg);
	}

	to {
		transform: translateZ(0) rotate(360deg);
	}
}



/* 키보드 접근 */
.main-floating-item:focus-visible {
	outline: 2px solid rgba(183, 140, 45, .9);
	outline-offset: 5px;
}


/* =========================================================
   NOTEBOOK
========================================================= */

@media screen and (max-width: 1700px) {

	.main-floating-actions {
		right: 30px;
		bottom: 32px;
		gap: 10px;
	}

	.main-floating-item {
		width: 82px;
	}
}


/* =========================================================
   SMALL NOTEBOOK
========================================================= */

@media screen and (max-width: 1400px) {

	.main-floating-actions {
		right: 22px;
		bottom: 25px;
		gap: 8px;
	}

	.main-floating-item {
		width: 72px;
	}
}


/* =========================================================
   MOBILE / TABLET PORTRAIT
========================================================= */

@media screen and (max-width: 991px) {

	.main-floating-actions {
		display: none !important;
	}

	a.main-floating-item2 {
		display: none;
	}
}


/* 모션 최소화 설정 */
@media (prefers-reduced-motion: reduce) {

	.main-floating-ring {
		animation: none !important;
	}

	.main-floating-actions {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

