@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

.only-desktop {
	display: block;
}

.only-tablet {
	display: none;
}

.only-mobile {
	display: none;
}

.only-desktop-tablet {
	display: block;
}

#wrapper {
	position: relative;
}

#skipToContent a {
	z-index: 100000;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	font-size: 0;
	line-height: 0;
	overflow: hidden
}

	#skipToContent a:focus,
	#skipToContent a:active {
		width: 200px;
		height: 50px;
		background: #21272e;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		line-height: 50px
	}

.contain {
	position: relative;
	width: 100%;
	max-width: 1260px;
	padding-left: 30px;
	padding-right: 30px;
	margin: 0 auto;
}

	.contain:after {
		content: " ";
		display: block;
		clear: both;
	}

.contain2 > .contain {
	padding: 0;
}

/* header */
#header {
	position: fixed;
	z-index: 90;
	left: 0;
	top: 0;
	width: 100%;
	transition: 0.2s all ease;
}

	#header .contain {
		max-width: 100%;
	}

.sitelogo {
	position: absolute;
	left: 100px;
	top: 50%;
	margin-top: -20px;
	z-index: 10;
}

	.sitelogo a {
		display: block;
		width: 164px;
		height: 40px;
	}

#Layer_1 .bar {
	fill: #fff;
}


.util {
	position: absolute;
	right: 165px;
	top: 50%;
	transform: translateY(-50%);
}

	.util ul {
		display: flex;
		margin: 0 -5px;
	}

		.util ul li {
			padding: 0 5px;
		}

			.util ul li a {
				display: block;
				text-align: center;
				position: relative;
			}

			.util ul li .icon {
				width: 26px;
				height: 26px;
				margin-bottom: 5px;
				background: transparent;
				margin: 0 auto;
				background-position: 50% 50%;
				background-repeat: no-repeat;
				background-size: contain;
			}

			.util ul li .tit {
				font-size: 10px;
				font-weight: 500;
				line-height: 1.2em;
				letter-spacing: -0.04em;
				color: #fff;
				margin-top: 5px;
			}

			.util ul li.u1 .icon {
				background-image: url("../images/common/util_icon1.png");
			}

			.util ul li.u2 .icon {
				background-image: url("../images/common/util_icon2.png");
			}

			.util ul li.u3 .icon {
				background-image: url("../images/common/util_icon4.png");
			}

			.util ul li.u4 .icon {
				background-image: url("../images/common/util_icon2.png");
			}

			.util ul li.u5 .icon {
				background-image: url("../images/common/util_icon3.png");
			}

			.util ul li.u5 .num {
				position: absolute;
				right: -6px;
				top: -6px;
				width: 19px;
				height: 19px;
				background: #121212;
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				font-size: 10px;
				font-weight: 700;
				line-height: 1em;
				letter-spacing: -0.04em;
				color: #fff;
				border-radius: 100%;
			}

.m-util ul {
	display: flex;
	justify-content: center;
}

	.m-util ul li {
		padding: 0 10px;
	}

		.m-util ul li a {
			display: block;
			text-align: center;
			position: relative;
		}

		.m-util ul li .icon {
			width: 20px;
			height: 20px;
			margin-bottom: 5px;
			background: transparent;
			margin: 0 auto;
			background-position: 50% 50%;
			background-repeat: no-repeat;
			background-size: contain;
		}

		.m-util ul li .tit {
			font-size: 10px;
			font-weight: 500;
			line-height: 1.2em;
			letter-spacing: -0.04em;
			color: #2c2c2c;
			margin-top: 5px;
		}

		.m-util ul li.u1 .icon {
			background-image: url("../images/common/util_icon1_b.png");
		}

		.m-util ul li.u2 .icon {
			background-image: url("../images/common/util_icon2_b.png");
		}

		.m-util ul li.u3 .icon {
			background-image: url("../images/common/util_icon4_b.png");
		}

		.m-util ul li.u4 .icon {
			background-image: url("../images/common/util_icon2_b.png");
		}

		.m-util ul li.u5 .icon {
			background-image: url("../images/common/util_icon3_b.png");
		}

		.m-util ul li.u5 .num {
			position: absolute;
			right: -6px;
			top: -6px;
			width: 19px;
			height: 19px;
			background: #121212;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;
			font-size: 10px;
			font-weight: 700;
			line-height: 1em;
			letter-spacing: -0.04em;
			color: #fff;
			border-radius: 100%;
		}



.header-fixed #header {
	background: rgba(255,255,255,0.5);
}

.header-fixed #Layer_1 .bar {
	fill: #000;
}


.header-fixed .util ul li.u1 .icon {
	background-image: url("../images/common/util_icon1_b.png");
}

.header-fixed .util ul li.u2 .icon {
	background-image: url("../images/common/util_icon2_b.png");
}

.header-fixed .util ul li.u3 .icon {
	background-image: url("../images/common/util_icon4_b.png");
}

.header-fixed .util ul li.u4 .icon {
	background-image: url("../images/common/util_icon2_b.png");
}

.header-fixed .util ul li.u5 .icon {
	background-image: url("../images/common/util_icon3_b.png");
}

.header-fixed .util ul li .tit {
	color: #2c2c2c;
}

.header-fixed .btn-all-menu span,
.header-fixed .btn-all-menu:before {
	background: #2c2c2c;
}

.header-fixed #gnb .submenu {
	top: 70px;
}

.header-fixed #gnb > ul > li > a:before {
	bottom: 5px;
}

.header-fixed .btn-m-menu span,
.header-fixed .btn-m-menu:before {
	background: #2c2c2c;
}

#sub #header {
	background: #fff;
	border-bottom: 1px solid #f4f4f4;
}

	#sub #header #Layer_1 .bar {
		fill: #000;
	}

	#sub #header #gnb > ul > li > a {
		color: #2c2c2c;
	}

	#sub #header .util ul li.u1 .icon {
		background-image: url("../images/common/util_icon1_b.png");
	}

	#sub #header .util ul li.u2 .icon {
		background-image: url("../images/common/util_icon2_b.png");
	}

	#sub #header .util ul li.u3 .icon {
		background-image: url("../images/common/util_icon4_b.png");
	}

	#sub #header .util ul li.u4 .icon {
		background-image: url("../images/common/util_icon2_b.png");
	}

	#sub #header .util ul li.u5 .icon {
		background-image: url("../images/common/util_icon3_b.png");
	}

	#sub #header .util ul li .tit {
		color: #2c2c2c;
	}

	#sub #header .btn-all-menu span,
	#sub #header .btn-all-menu:before {
		background: #2c2c2c;
	}

	#sub #header .btn-m-menu span,
	#sub #header .btn-m-menu:before {
		background: #2c2c2c;
	}

/* 전체메뉴 */
.all-navigation .bg-wrap {
	display: flex;
	align-items: center;
}

.only-all-menu {
	display: none;
}
/*.btn-all-menu {display:block; position:absolute; top:50%; right:100px; transform:translateY(-50%); padding-bottom:12px; text-indent:-999em; overflow:hidden;}
.btn-all-menu span {display:block; width:26px; height:2px; background:#fff;}
.btn-all-menu:before {content:""; position:absolute; width:14px; height:2px; background:#fff; right:0; bottom:0;}
*/

.all-nav-menu {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 100px;
}

.all-navigation {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 793px;
	height: 100%;
	overflow: auto;
	transition: .3s ease-in-out;
	-ms-transform: translateX(100%);
	transform: translateX(100%);
	background: #121212;
	z-index: 202;
	border-bottom-left-radius: 180px;
}

	.all-navigation .all-nav-menu > ul {
	}

		.all-navigation .all-nav-menu > ul > li {
			position: relative;
			margin-bottom: 55px;
		}

			.all-navigation .all-nav-menu > ul > li:last-child {
				margin-bottom: 0;
			}

			.all-navigation .all-nav-menu > ul > li > a {
				font-family: var(--font-marcellus);
				position: relative;
				display: inline-block;
				color: #fff;
				font-size: 42px;
				font-weight: 400;
				line-height: 1em;
				letter-spacing: 0;
				transition: all 0.2s ease-in;
				margin-bottom: 12px;
			}

	.all-navigation .all-nav-menu .submenu {
		display: block !important;
		position: relative;
		bottom: auto;
		transform: translateX(0);
		left: auto;
	}

		.all-navigation .all-nav-menu .submenu > ul {
			display: inline-flex;
			margin: 0 -17px;
		}

			.all-navigation .all-nav-menu .submenu > ul > li {
				padding: 0 17px;
			}

				.all-navigation .all-nav-menu .submenu > ul > li > a {
					display: block;
					color: #a8a8a8;
					font-weight: 400;
					line-height: 1em;
					letter-spacing: -0.04em;
				}

					.all-navigation .all-nav-menu .submenu > ul > li > a:hover {
						color: #fff;
						text-decoration: underline;
					}

	.all-navigation .close {
		position: absolute;
		top: 60px;
		right: 100px;
		width: 25px;
		height: 25px;
		text-indent: -9999em;
		overflow: hidden;
		z-index: 30;
		;
	}

		.all-navigation .close:before,
		.all-navigation .close:after {
			content: " ";
			position: absolute;
			top: 12px;
			left: 0;
			width: 100%;
			height: 4px;
			background: #fff;
			border-radius: 100vh;
		}

		.all-navigation .close:before {
			transform: rotate(45deg);
		}

		.all-navigation .close:after {
			transform: rotate(-45deg);
		}

html.menu-all-opened {
	overflow: hidden;
}

	html.menu-all-opened .all-navigation {
		-ms-transform: translateX(0);
		transform: translateX(0);
	}

		html.menu-all-opened .all-navigation .only-all-menu {
			display: block;
		}

	html.menu-all-opened .mobile-overlay {
		display: block;
	}

/* for mobile */
/*.btn-m-menu  {display:none; position:absolute; top:50%; right:30px; transform:translateY(-50%); padding-bottom:12px; text-indent:-999em; overflow:hidden;}
.btn-m-menu span {display:block; width:26px; height:2px; background:#fff;}
.btn-m-menu:before {content:""; position:absolute; width:14px; height:2px; background:#fff; right:0; bottom:0;}
*/


.mobile-navigation {
	position: fixed;
	top: 0;
	right: 0;
	padding: 20px 0;
	width: 300px;
	height: 100%;
	overflow: auto;
	transition: .3s ease-in-out;
	-ms-transform: translateX(100%);
	transform: translateX(100%);
	background: #ffffff;
	z-index: 101;
}

	.mobile-navigation .home {
		padding-bottom: 20px;
		padding-left: 15px;
	}

		.mobile-navigation .home img {
			height: 70px;
			width: auto;
		}

	.mobile-navigation .nav-menu > ul > li {
		border-bottom: 1px solid #ddd;
	}

		.mobile-navigation .nav-menu > ul > li > a {
			position: relative;
			padding: 14px 15px;
			display: block;
			color: #242424;
			font-size: 16px;
			font-weight: 500;
			line-height: 1.3em;
		}

		.mobile-navigation .nav-menu > ul > li.active > a {
			color: #2c2c2c;
		}
			/*.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #2c2c2c; border-bottom:2px solid #2c2c2c;}
*/
			.mobile-navigation .nav-menu > ul > li.active > a:after {
				transform: translateY(-35%) rotate(-135deg);
				border-color: #2c2c2c;
			}

	.mobile-navigation .nav-menu .submenu {
		display: none;
		position: static;
		transform: translateX(0);
		margin: -1px 0 0 0;
		width: 100%;
		padding: 10px 0;
		background: #2c2c2c;
		padding-bottom: 10px;
	}

		.mobile-navigation .nav-menu .submenu > ul {
			display: block;
			width: 100%;
		}

			.mobile-navigation .nav-menu .submenu > ul > li {
				text-align: left;
				padding: 0;
			}

				.mobile-navigation .nav-menu .submenu > ul > li > a {
					display: block;
					position: relative;
					padding: 5px 0 5px 25px;
					color: #fff;
					font-size: 15px;
					font-weight: 400;
					line-height: 1.3em;
				}

					.mobile-navigation .nav-menu .submenu > ul > li > a:after {
						content: "";
						position: absolute;
						top: 14px;
						left: 15px;
						width: 4px;
						height: 4px;
						border-radius: 100%;
						background: #fff;
						transition: .2s ease-in-out;
					}

					.mobile-navigation .nav-menu .submenu > ul > li > a:hover {
						color: #fff
					}

						.mobile-navigation .nav-menu .submenu > ul > li > a:hover:after {
							background: #fff
						}

	.mobile-navigation .close {
		position: absolute;
		top: 20px;
		right: 18px;
		width: 24px;
		height: 24px;
		text-indent: -9999em;
		overflow: hidden;
	}

		.mobile-navigation .close:before,
		.mobile-navigation .close:after {
			content: " ";
			position: absolute;
			top: 12px;
			left: 0;
			width: 100%;
			height: 2px;
			background: #242424;
		}

		.mobile-navigation .close:before {
			transform: rotate(45deg);
		}

		.mobile-navigation .close:after {
			transform: rotate(-45deg);
		}

.mobile-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .76;
	z-index: 98;
}

html.menu-opened {
	overflow: hidden;
}

	html.menu-opened .mobile-navigation {
		-ms-transform: translateX(0);
		transform: translateX(0);
	}

	html.menu-opened .mobile-overlay {
		display: block;
	}



/* main */
.scroll {
	position: absolute;
	right: 100px;
	bottom: 45px;
	width: 160px;
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 50;
	animation: move_up_down 2s linear infinite;
}

	.scroll:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background: url("../images/common/scroll_text.png") no-repeat 50% 50%;
		background-size: contain;
		left: 0;
		top: 0;
		animation: move_rotate 15s linear infinite;
	}

	.scroll.ver2 {
		position: sticky;
		margin: 0 25px 0 auto;
		right: auto;
	}

		.scroll.ver2:before {
			background-image: url("../images/common/scroll_text2.png");
		}

@keyframes move_up_down {
	0%,100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(30px);
	}
}

@keyframes move_rotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

.main-visual {
	position: relative;
	width: 100%;
	overflow: hidden;
}

	.main-visual .item {
		height: 100vh;
	}

	.main-visual .mv img {
		object-fit: cover;
		height: 100vh;
		width: 100%;
	}

	.main-visual .cnt {
		font-family: var(--font-marcellus);
		color: #fff;
		position: absolute;
		bottom: 23%;
		left: 0;
		width: 100%;
		padding: 0 100px;
		z-index: 1;
	}

		.main-visual .cnt p {
			font-weight: 400;
			letter-spacing: 0;
			line-height: 1.2em;
		}

		.main-visual .cnt .tt {
			font-size: 20px;
			transform: translateY(20px);
			opacity: 0;
			margin-bottom: 20px;
		}

		.main-visual .cnt .tx {
			font-size: 64px;
			transform: translateY(-20px);
			opacity: 0;
			margin-bottom: 60px;
		}

		.main-visual .cnt .more {
			transform: translateX(-20px);
			opacity: 0;
		}

			.main-visual .cnt .more a {
				display: inline-block;
				padding-right: 63px;
				position: relative;
			}

				.main-visual .cnt .more a:before {
					content: "";
					position: absolute;
					width: 51px;
					height: 11px;
					background: url("../images/common/arw_btn_white.png") no-repeat 50% 50%;
					right: 0;
					background-size: contain;
					top: 50%;
					margin-top: -5.5px;
				}

	.main-visual .mv-ctrl {
		position: absolute;
		width: 100%;
		left: 0;
		padding: 0 100px;
		display: flex;
		align-items: center;
		bottom: 50px;
	}

	.main-visual .slick-dots {
		display: flex;
		margin: 0 -10px;
	}

		.main-visual .slick-dots li {
			padding: 0 10px;
		}

			.main-visual .slick-dots li button {
				display: block;
				width: 7px;
				height: 7px;
				background: #fff;
				text-indent: -999em;
				overflow: hidden;
				border-radius: 100%;
				border: 0;
				opacity: 0.4;
			}

			.main-visual .slick-dots li.slick-active button {
				opacity: 1;
			}

	.main-visual .mv-ctrl .wrap {
		display: flex;
		align-items: center;
		margin-left: 50px;
	}

	.main-visual .slick-arrow {
		display: block;
		width: 5px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-color: transparent;
		border: 0;
		text-indent: -999em;
		overflow: hidden;
	}

	.main-visual .prevArrow {
		background-image: url("../images/main/mv_prev.png")
	}

	.main-visual .nextArrow {
		background-image: url("../images/main/mv_next.png")
	}

	.main-visual .paging {
		margin: 0 15px;
		font-size: 14px;
		line-height: 1em;
		letter-spacing: -0.02em;
		color: #ccc;
	}

		.main-visual .paging .bar {
			display: inline-block;
			margin: 0 5px;
		}

		.main-visual .paging .current {
			color: #fff;
		}

	.main-visual .slick-active .tt {
		transform: translateY(0);
		opacity: 1;
		transition: 1s all 0.3s ease;
	}

	.main-visual .slick-active .tx {
		transform: translateY(0);
		opacity: 1;
		transition: 1s all 0.3s ease;
	}

	.main-visual .slick-active .more {
		transform: translateX(0);
		opacity: 1;
		transition: 1s all 0.3s ease;
	}

	.main-visual .mv {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: 90% 50%;
		background-repeat: no-repeat;
		background-size: cover;
		transform: scale(1.09);
		-ms-transform: scale(1.09); /* IE 9 */
		-moz-transform: scale(1.09); /* Firefox */
		-webkit-transform: scale(1.09); /* Safari and Chrome */
		-o-transform: scale(1.09); /* Opera */

		z-index: 0;
	}

	.main-visual .slick-active .mv {
		transform: scale(1);
		-ms-transform: scale(1); /* IE 9 */
		-moz-transform: scale(1); /* Firefox */
		-webkit-transform: scale(1); /* Safari and Chrome */
		-o-transform: scale(1); /* Opera */
		transition: all 3s ease-out 0s;
		transition-delay: 0.1s;
	}

.main-product {
	display: flex;
	position: relative;
	align-items: flex-start;
	background: #f9f9f9;
}

	.main-product .group.left {
		width: 54%;
		position: sticky;
		top: 0;
	}

	.main-product .productSlider {
		position: relative;
	}

		.main-product .productSlider .thumb {
			position: relative;
			overflow: hidden;
			height: 100vh;
		}

			.main-product .productSlider .thumb img {
				position: absolute;
				top: 50%;
				left: 0;
				transition: .4s ease-in-out;
				transform: translateY(-50%);
				-ms-transform: translateY(-50%);
				-webkit-transform: translateY(-50%);
				width: 100%;
				height: auto !important;
				max-width: 100%;
				min-height: 100%;
				object-fit: cover;
			}

	.main-product .slick-arrow {
		position: absolute;
		z-index: 1;
		display: block;
		widtH: 48px;
		height: 48px;
		border-radius: 100%;
		background-color: rgba(0,0,0,0.2);
		text-indent: -999em;
		overflow: hidden;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		border: 0;
		bottom: 40px;
	}

	.main-product .slick-prev {
		left: 100px;
		background-image: url("../images/main/sld_prev.png");
	}

	.main-product .slick-next {
		right: 100px;
		background-image: url("../images/main/sld_next.png");
	}

	.main-product .slick-dots {
		position: absolute;
		bottom: 60px;
		display: flex;
		left: 50%;
		transform: translateX(-50%);
	}

		.main-product .slick-dots li {
			padding: 0 10px;
		}

			.main-product .slick-dots li button {
				display: block;
				widtH: 7px;
				height: 7px;
				background: #fff;
				opacity: 0.4;
				border-radius: 100%;
				border: 0;
				text-indent: -999em;
				overflow: hidden;
			}

			.main-product .slick-dots li.slick-active button {
				opacity: 1;
			}

	.main-product .group.right {
		flex: 1 1 auto;
		min-width: 0;
		width: 1%;
		padding: 75px;
	}

	.main-product .list ul {
		display: block;
	}

		.main-product .list ul li {
			display: flex;
			align-items: center;
		}

			.main-product .list ul li .image {
				width: 240px;
				margin-right: 48px;
			}

			.main-product .list ul li .thumb {
				position: relative;
				padding-bottom: 135.42%;
				overflow: hidden;
			}

				.main-product .list ul li .thumb img {
					position: absolute;
					top: 50%;
					left: 0;
					transition: .4s ease-in-out;
					transform: translateY(-50%);
					-ms-transform: translateY(-50%);
					-webkit-transform: translateY(-50%);
					width: 100%;
					height: auto !important;
					max-width: 100%;
					min-height: 100%;
					object-fit: cover;
				}

			.main-product .list ul li .cnt {
				flex: 1 1 auto;
				min-width: 0;
				width: 1%;
			}

			.main-product .list ul li .tit {
				font-size: 24px;
				font-weight: 700;
				line-height: 1.2em;
				letter-spacing: -0.04em;
				color: #2c2c2c;
				margin-bottom: 12px;
			}

			.main-product .list ul li .txt {
				font-size: 15px;
				font-weight: 400;
				line-height: 1.2em;
				letter-spacing: -0.04em;
				color: #878787;
			}

			.main-product .list ul li .main-more {
				margin-top: 70px;
			}

				.main-product .list ul li .main-more a {
					color: #2c2c2c;
				}

.main-more a {
	font-family: var(--font-marcellus);
	line-height: 1.2em;
	display: inline-block;
	padding-right: 63px;
	position: relative;
}

	.main-more a:before {
		content: "";
		position: absolute;
		width: 51px;
		height: 11px;
		background: url("../images/common/arw_btn_white.png") no-repeat 50% 50%;
		right: 0;
		background-size: contain;
		top: 50%;
		margin-top: -5.5px;
	}

	.main-more a:hover:before {
		animation: move_right 2s linear infinite;
	}

.main-more.ver2 a:before {
	background-image: url("../images/common/arw_btn_black.png");
}

@keyframes move_right {
	0%,100% {
		opacity: 0;
		transform: translateX(0);
	}

	50% {
		transform: translateX(10px);
		opacity: 1;
	}
}

.main-tit {
	margin-bottom: 50px;
}

	.main-tit p {
		font-size: 14px;
		font-weight: 400;
		line-height: 1.2em;
		letter-spacing: -0.04em;
		color: #a8a8a8;
		margin-bottom: 17px;
	}

	.main-tit h2 {
		font-family: var(--font-marcellus);
		font-size: 48px;
		font-weight: 400;
		line-height: 1.2em;
		letter-spacing: 0;
		color: #2c2c2c;
	}

.main-newItem {
	display: flex;
	overflow: hidden;
}

	.main-newItem .img {
		width: 100%;
	}

		.main-newItem .img img {
			width: 100%;
		}

	.main-newItem .group.left {
		width: 54%;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}

	.main-newItem .group.right {
		flex: 1 1 auto;
		min-width: 0;
		width: 1%;
	}

	.main-newItem .cnt {
		width: 100%;
		max-width: 840px;
		padding: 0 30px;
		margin-top: 60px;
	}

	.main-newItem .txt-wrap {
		margin-bottom: 70px;
	}

		.main-newItem .txt-wrap .tt {
			font-weight: 400;
			line-height: 2em;
			letter-spacing: -0.04em;
			color: #505050;
			margin-bottom: 18px;
		}

		.main-newItem .txt-wrap .tx {
			font-size: 18px;
			font-weight: 700;
			line-height: 1.2em;
			letter-spacing: -0.04em;
			color: #2c2c2c;
		}

.reveal img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.reveal {
	visibility: hidden;
	position: relative;
	width: 100%;
}

.main-about {
	background: #f9f9f9;
	padding: 100px 0;
	position: relative;
}

	.main-about:before {
		content: "";
		position: absolute;
		width: 90%;
		max-widtH: 700px;
		height: 1px;
		background: #000;
		left: 0;
		top: 100px;
	}

	.main-about .contain {
		max-width: 1460px;
	}

	.main-about .main-tit {
		padding-top: 80px;
	}

	.main-about .txt-wrap p {
		font-size: 16px;
		font-weight: 400;
		line-height: 2em;
		letter-spacing: -0.04em;
		color: #505050;
	}

.card-collection-wrapper {
	margin-top: -150px;
	height: 1020px;
	overflow-y: hidden;
	position: relative;
	z-index: 2;
}

.card-collection-list {
	bottom: auto;
	left: 0;
	top: 0;
	transform: none;
	width: 100%;
	height: auto;
	margin-top: 0;
}

.card-collection {
	position: absolute;
	top: 0;
	z-index: 1;
	cursor: pointer;
	background: #fff;
	width: 440px;
	height: 500px;
	transition: .4s;
}

	.card-collection .img-box {
		position: absolute;
		top: 0;
	}

		.card-collection .img-box img {
			vertical-align: middle;
		}

	.card-collection[data-num="1"] {
		top: 250px;
		left: 0;
		border-top-left-radius: 160px;
		overflow: hidden;
	}

	.card-collection[data-num="2"] {
		top: 126px;
		left: 480px;
		border-top-left-radius: 160px;
		overflow: hidden;
	}

	.card-collection[data-num="3"] {
		top: 0;
		left: 960px;
		border-top-left-radius: 160px;
		overflow: hidden;
	}

	.card-collection[data-num="4"] {
		top: 540px;
		left: 960px;
	}

	.card-collection[data-num="5"] {
		top: 667px;
		left: 480px;
	}

	.card-collection[data-num="6"] {
		top: 790px;
		left: 0;
	}

	.card-collection .txt-box {
		position: relative;
		z-index: 10;
		padding: 24px;
		background: rgba(0, 0, 0, .3);
		width: auto;
		margin-top: 348px;
		height: 152px;
	}

		.card-collection .txt-box h4 {
			font-weight: 600;
			color: #fff;
			position: relative;
			font-size: 24px;
			line-height: 32px;
		}

	.card-collection h4::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 19px;
		height: 12px;
		background: url("../images/main/arr_white_right.png") no-repeat left center;
		background-size: 100% 100%;
	}

	.card-collection p {
		color: #fff;
		margin-top: 14px;
		font-size: 16px;
		line-height: 24px;
	}

	.card-collection[data-num="4"] .txt-box {
		margin-top: 410px;
	}

	.card-collection[data-num="5"] .txt-box {
		margin-top: 280px;
	}

	.card-collection[data-num="6"] .txt-box {
		margin-top: 160px;
	}

	.card-collection[data-num="1"] h4::after {
		transform: rotate(-45deg);
	}

	.card-collection[data-num="2"] h4::after {
		transform: rotate(-45deg);
	}

	.card-collection[data-num="3"] h4::after {
		transform: rotate(90deg);
	}

	.card-collection[data-num="4"] h4::after {
		transform: rotate(180deg);
	}

	.card-collection[data-num="5"] h4::after {
		transform: rotate(180deg);
	}

	.card-collection[data-num="6"] h4::after {
		transform: rotate(-90deg);
	}

.main-cont-wrap {
	position: relative;
	padding: 100px 0 140px;
}

	.main-cont-wrap:before {
		content: "";
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 0;
		height: 60%;
		background: #2c2c2c;
		z-index: -1;
	}

.main-review {
	position: relative;
	overflow: hidden;
}

	.main-review .contain {
		max-width: 1460px;
	}

	.main-review .main-tit {
		border-top: 1px solid #000;
		padding-top: 80px;
		margin-bottom: 90px;
	}

	.main-review .review-ctrl {
		position: absolute;
		right: 30px;
		top: 114px;
		display: flex;
		align-items: center;
	}

	.main-review .slick-arrow {
		display: block;
		width: 58px;
		height: 58px;
		border-radius: 100%;
		border: 1px solid #505050;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-color: #fff;
		text-indent: -999em;
		overflow: hidden;
	}

	.main-review .slick-prev {
		background-image: url("../images/main/review_prev.png");
		margin-right: 6px;
	}

	.main-review .slick-next {
		background-image: url("../images/main/review_next.png");
	}

	.main-review .slick-list {
		overflow: visible;
		margin: 0 -20px;
	}

	.main-review .slick-slide {
		margin: 0 20px;
	}

	.main-review .thumb {
		position: relative;
		padding-bottom: 75%;
		overflow: hidden;
	}

		.main-review .thumb img {
			position: absolute;
			top: 50%;
			left: 0;
			transition: .4s ease-in-out;
			transform: translateY(-50%);
			-ms-transform: translateY(-50%);
			-webkit-transform: translateY(-50%);
			width: 100%;
			height: auto !important;
			max-width: 100%;
			min-height: 100%;
			object-fit: cover;
		}

	.main-review .cnt {
		padding: 30px;
		background: #fff;
		position: relative;
	}

	.main-review .grade-star {
		position: absolute;
		right: 30px;
		top: 30px;
		widtH: 83px;
	}

	.main-review .name {
		font-size: 22px;
		font-weight: 700;
		line-height: 1.2em;
		letter-spacing: -0.04em;
		color: #2c2c2c;
		margin-bottom: 25px;
	}

	.main-review .txt {
		font-size: 15px;
		font-weight: 400;
		line-height: 2em;
		letter-spacing: -0.04em;
		color: #505050;
	}

.main-bottom {
	position: relative;
	margin-top: 140px;
}

	.main-bottom .contain {
		max-widtH: 1780px;
	}

	.main-bottom .main-tit h2 {
		color: #fff;
	}

	.main-bottom .txt-wrap p {
		font-size: 16px;
		font-weight: 400;
		line-height: 2em;
		letter-spacing: -0.04em;
		color: #a8a8a8;
	}

	.main-bottom .btm-ctrl {
		display: flex;
		position: absolute;
		top: 47%;
		left: 190px;
	}

	.main-bottom .slick-arrow {
		display: block;
		width: 58px;
		height: 58px;
		border-radius: 100%;
		border: 1px solid #505050;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-color: #fff;
		text-indent: -999em;
		overflow: hidden;
	}

	.main-bottom .slick-prev {
		background-image: url("../images/main/review_prev.png");
		margin-right: 6px;
	}

	.main-bottom .slick-next {
		background-image: url("../images/main/review_next.png");
	}


.bottomSlider .item {
	display: flex !important;
}

	.bottomSlider .item .left {
		widtH: 590px;
		padding-left: 160px;
		padding-right: 10px;
	}

	.bottomSlider .item .right {
		flex: 1 1 auto;
		min-width: 0;
		width: 1%;
	}

.bottomSlider ul {
	display: flex;
	margin: 0 -5px;
}

	.bottomSlider ul li {
		widtH: 33.333%;
		padding: 0 5px;
	}

		.bottomSlider ul li img {
			widtH: 100%;
		}

		.bottomSlider ul li .in {
			position: relative;
			transition: 0.2s all ease;
		}

			.bottomSlider ul li .in .cnt {
				position: absolute;
				width: 100%;
				height: 100%;
				left: 0;
				top: 0;
				padding: 45px;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
				color: #fff;
			}

		.bottomSlider ul li .tit {
			font-family: var(--font-marcellus);
			font-size: 32px;
			font-weight: 400;
			line-height: 1.3em;
			letter-spacing: 0;
			color: #fff;
			margin-bottom: 30px;
			min-height: 125px;
		}

		.bottomSlider ul li .txt {
			font-weight: 400;
			letter-spacing: -0.04em;
		}

		.bottomSlider ul li:hover .in {
			border-bottom-right-radius: 120px;
			overflow: hidden;
		}

/* sub */
#sub #wrapper {
	padding-top: 150px;
}

.sub-title {
	margin: 100px 0 80px;
	text-align: center;
}

	.sub-title h2 {
		position: relative;
		color: #2c2c2c;
		font-size: 42px;
		line-height: 1.2em;
		font-weight: 700;
		letter-spacing: -0.04em;
	}

.sub-title2 {
	text-align: center;
	margin: 135px auto 50px auto;
}

	.sub-title2 h2 {
		font-family: var(--font-marcellus);
		font-size: 48px;
		font-weight: 400;
		line-height: 1.2em;
		letter-spacing: 0;
		color: #2c2c2c;
	}

.path-wrap {
	position: relative;
	background: #f4f4f4;
	z-index: 10;
}

	.path-wrap .inner {
		max-width: 100%;
		margin: 0 auto;
		padding: 0 100px;
	}

		.path-wrap .inner:after {
			content: "";
			display: block;
			clear: both;
		}

	.path-wrap .home {
		float: left;
	}

		.path-wrap .home a {
			display: flex;
			height: 74px;
			align-items: center;
		}

	.path-wrap .part {
		float: left;
		position: relative;
		min-width: 180px;
		z-index: 50;
	}

		.path-wrap .part:before {
			content: "";
			position: absolute;
			width: 1px;
			height: 14px;
			background: #ccc;
			right: 0;
			top: 50%;
			margin-top: -7px;
		}

		.path-wrap .part > a {
			display: flex;
			align-items: center;
			position: relative;
			height: 74px;
			color: #2c2c2c;
			font-weight: 700;
			letter-spacing: -0.04em;
			line-height: 1.2em;
			padding: 0 40px 0 20px;
		}

			.path-wrap .part > a:after {
				content: "";
				position: absolute;
				top: 50%;
				right: 20px;
				transform: translateY(-75%) rotate(45deg);
				width: 8px;
				height: 8px;
				border-right: 2px solid #525252;
				border-bottom: 2px solid #525252;
			}

		.path-wrap .part.active > a:after {
			transform: translateY(-35%) rotate(-135deg);
			border-color: #525252;
		}

		.path-wrap .part ul {
			display: none;
			position: absolute;
			left: -1px;
			right: -1px;
			background: #f4f4f4;
			z-index: 50;
			padding: 10px 0;
		}

			.path-wrap .part ul:before {
				content: "";
				position: absolute;
				left: 0;
			}

			.path-wrap .part ul li {
				color: #a8a8a8;
				font-size: 15px;
				font-weight: 700;
				line-height: 1.35em;
			}

				.path-wrap .part ul li:first-child {
					border-top: 0;
				}

				.path-wrap .part ul li a {
					display: block;
					padding: 12px 10px 12px 20px;
				}

					.path-wrap .part ul li a:hover {
						color: #2c2c2c;
					}


#contArea {
	max-width: 1260px;
	padding-left: 30px;
	padding-right: 30px;
	margin: 0 auto;
}

	#contArea.wide {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

.real-cont {
	padding-bottom: 120px;
}

	.real-cont.none {
		padding-bottom: 0;
	}



/* footer */

#footer {
	position: relative;
	color: #878787;
	font-size: 13px;
	letter-spacing: -0.04em;
	line-height: 2em;
	padding: 60px 0;
	border-top: 1px solid #505050;
}

	#footer .contain {
		display: flex;
		justify-content: space-between;
		max-width: 100%;
		padding: 0 100px;
	}


.f-cnt {
	flex: 1 1 auto;
	min-width: 0;
	width: 1%;
}

.f-menu {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 647px;
}

	.f-menu .cs {
		position: relative;
		display: inline-block;
		background: #3b1c00;
		border-radius: 100vh;
		padding: 10px 25px 10px 50px;
		font-size: 18px;
		font-weight: 500;
		line-height: 1em;
		letter-spacing: -0.04em;
		color: #fff;
		margin-bottom: 20px;
	}

		.f-menu .cs img {
			position: absolute;
			left: -1px;
			top: 0;
		}

	.f-menu ul {
		display: flex;
	}

		.f-menu ul li {
			margin-right: 30px;
			color: #2c2c2c;
		}

.f-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: right;
}

	.f-right .f-logo {
		margin-bottom: 30px;
	}

	.f-right .f-util-menu ul li a {
		display: inline-block;
		padding-left: 23px;
		position: relative;
		font-size: 15px;
		font-weight: 500;
		color: #2c2c2c
	}

		.f-right .f-util-menu ul li a:before {
			content: "";
			position: absolute;
			width: 15px;
			height: 15px;
			background: url("../images/common/f_pop.png") no-repeat 50% 50%;
			left: 0;
			top: 6px;
		}

	.f-right .f-sns-link ul {
		display: flex;
		justify-content: flex-end;
	}

		.f-right .f-sns-link ul li {
			margin-right: 14px;
		}

			.f-right .f-sns-link ul li a {
				display: block;
			}

			.f-right .f-sns-link ul li:last-child {
				margin-right: 0;
			}

#footer .tit {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2em;
	letter-spacing: -0.04em;
	color: #2c2c2c;
	margin-bottom: 20px;
}

#footer address {
	font-style: normal;
}

	#footer address span {
		display: block;
		margin-right: 30px;
	}

	#footer address strong {
		font-weight: 700;
		display: block;
		font-size: 18px;
		line-height: 1.2em;
		margin-bottom: 25px;
		color: #008b79;
	}

	#footer address .bar {
		display: inline-block;
		vertical-align: middle;
		width: 1px;
		height: 12px;
		background: #bbb;
		margin: 0 10px;
	}

#footer .copyright {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.2em;
	color: #a8a8a8;
	margin-top: 30px;
}

/* inquiry */
.apply-form .cnt {
	max-width: 482px;
	margin: 0 auto;
}

.apply-form .tit {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2em;
	letter-spacing: -0.04em;
	color: #2c2c2c;
	margin-bottom: 30px;
	text-aligN: center;
}

.apply-form .txt {
	text-align: center;
	margin-bottom: 30px;
}

.apply-form .info {
	max-width: 283px;
	margin: 0 auto;
	margin-bottom: 60px;
}

	.apply-form .info dl {
		display: flex;
		align-items: center;
		margin-bottom: 16px;
	}

		.apply-form .info dl:last-child {
			margin-bottom: 0;
		}

	.apply-form .info dt {
		width: 93px;
		line-height: 36px;
		text-align: center;
		padding: 0 10px;
		margin-right: 15px;
		background: #2c2c2c;
		border-radius: 100vh;
		font-size: 14px;
		font-weight: 700;
		line-height: 36px;
		letter-spacing: -0.04em;
		color: #fff;
	}

	.apply-form .info dd {
		font-size: 22px;
		font-weight: 600;
		line-height: 1.2em;
		letter-spacing: -0.04em;
		color: #2c2c2c;
	}

.apply-form .cnt dl {
	margin-bottom: 28px;
}

	.apply-form .cnt dl:last-child {
		margin-bottom: 0;
	}

.apply-form .cnt dt {
	font-weight: 700;
	line-height: 1.2em;
	letter-spacing: -0.04em;
	color: #2c2c2c;
	margin-bottom: 12px;
}

.apply-form .cnt dd {
	position: relative;
}

.apply-form .cnt .input {
	border-color: #505050;
}

.apply-form .check {
	display: flex;
	justify-content: space-between;
}

.apply-form .btn-pack {
	width: 100%;
}

.apply-form .file-wrap {
	padding-left: 100px;
}

.apply-form input::file-selector-button {
	width: 100px;
	height: 100%;
	background: #121212;
	color: #fff;
	border: 0;
	position: absolute;
	left: 0;
	top: 0;
}
