.main_visual{
	height: 100vh;
	background:#000 url(../_img/main/main_visual01.jpg) no-repeat center bottom / cover;
}
.main_visual > div{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.main_visual .txt_con{
	padding-top: 11rem;
	text-align: center;
}
.main_visual .txt_con p{
	display: inline-block;
	text-transform: uppercase;
	line-height: 1;
	font-family: 'Playfair Display';
	font-size: 18rem;
	font-weight: 600;
}
.main_visual .txt1{
	margin-right: 10rem;
	color: #fff;
}
.main_visual .txt3{
	margin-top: 2.5rem;
	width: 100%;
	text-align: right;
	font-size: 3.4rem;
	font-weight: 300;
	color: #fff;
}
.main_visual .product{
	z-index: 2;
	position: absolute;
	bottom: 3%; left: 45%;
	max-width: 330px;
	width: 100%;
	transform: translate(-50%,0);
	animation: product 4s cubic-bezier(0.39,0.58,0.57,1) infinite
}
@keyframes product {
	0% {
			transform: translate(-50%,0);
	}

	50% {
			transform: translate(-50%,-50px);
	}

	100% {
			transform: translate(-50%,0);
	}
}

@media (min-width:1200px) {
	.main_visual > div{
		max-width: 1190px;
	}
}
@media (min-width:992px) and (max-width:1199.98px) {
	.main_visual > div{
		max-width: 900px;
	}
}
@media (max-width:1199.98px) {
	.main_visual .txt_con {
    padding-top: 15rem;
	}
	.main_visual .txt_con p{
		font-size: 14rem;
	}
	.main_visual .txt3 {
		margin-top: 2rem;
    font-size: 3rem;
	}
	.main_visual .product {
    bottom: 5%;
    max-width: 300px;
	}
}
@media (max-width:991.98px) {
	.main_visual > div,
	.main_visual .txt_con p{
		display: block;
	}
	.main_visual .txt_con,
	.main_visual .txt3{
		text-align: left;
	}
	.main_visual .txt_con {
    padding-top: 25rem;
	}
	.main_visual .txt_con p{
		font-size: 12rem;
	}
	.main_visual .txt3 {
		margin-top: 1.5rem;
    font-size: 2.8rem;
	}
	.main_visual .product {
		left: unset;
		right: -17%;
    max-width: 280px;
	}
}
@media (max-width:767.98px) {
	.main_visual .txt_con {
    padding-top: 20rem;
	}
	.main_visual .txt_con p{
		font-size: 10rem;
	}
	.main_visual .txt3 {
    font-size: 2.2rem;
	}
	.main_visual .product {
		left: unset;
		right: -20%;
		bottom: 3%;
    max-width: 250px;
	}
}
@media (max-width:575.98px) {
	.main_visual .txt_con {
    padding-top: 15rem;
	}
	.main_visual .txt_con p{
		font-size: 8rem;
	}
	.main_visual .txt3 {
    font-size: 2rem;
	}
	.main_visual .product {
		bottom: 3%;
    max-width: 200px;
	}
}
@media (max-width:400px) {
	.main_visual .txt_con {
    padding-top: 15rem;
	}
	.main_visual .txt_con p{
		font-size: 6rem;
	}
	.main_visual .product {
		right: -10%;
    max-width: 150px;
	}
}




#main_container{
	background: #000;
}
#main_container .main_title{
	text-align: center;
	line-height: 1.2;
	font-size: 7rem;
	font-weight: 100;
	color: #fff;
}
#main_container .main_title strong{
	font-weight: 700;
	color: #c7996e;
}
@media (max-width:1199.98px) {
	#main_container .main_title{
		font-size: 6rem;
	}
}
@media (max-width:991.98px) {
	#main_container .main_title{
		font-size: 5rem;
	}
}
@media (max-width:767.98px) {
	#main_container .main_title{
		font-size: 4rem;
	}
}
@media (max-width:575.98px) {
	#main_container .main_title{
		font-size: 3.5rem;
	}
}


/*sec01*/
#main_container > .sec01{
	padding-top: 14rem;
}
#main_container > .sec01 > div p{
	color: #fff;
}
#main_container > .sec01 .part1{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
	margin-bottom: 15rem;
}
#main_container > .sec01 .part1::before,
#main_container > .sec01 .part1::after{
	content: '';
	position: absolute;
	bottom: 0; left: 0;
	width: 100%; 
	filter: blur(50px);
}
#main_container > .sec01 .part1::before{
	z-index: 1;
	height: 40%;
	background: rgba(10,10,10,.6);
}
#main_container > .sec01 .part1::after{
	height: 50%;
	background: rgba(10,10,10,.3);
}
#main_container > .sec01 .part1 > div{
	max-width: 100%;
	padding: 3rem 3.5rem;
	background: #1a1a1a;
}
#main_container > .sec01 .part1 p:first-of-type{
	margin-bottom: 5px;
	font-size: 1.6rem;
	font-weight: 100;
	color: #999;
}
#main_container > .sec01 .part1 p:last-of-type{
	overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
	font-size: 2.4rem;
}
#main_container > .sec01 .part2 p{
	margin-bottom: 12rem;
}

@media (max-width:991.98px) {
	#main_container > .sec01 {
    padding-top: 10rem;
	}
	#main_container > .sec01 .part1 {
    margin-bottom: 8rem;
	}
	#main_container > .sec01 .part1 > div{
		padding: 2.5rem 3rem;
	}
	#main_container > .sec01 .part1 p:first-of-type{
		margin-bottom: 3px;
	}
	#main_container > .sec01 .part1 p:last-of-type{
		font-size: 2rem;
	}
}



/*sec02*/
#main_container > .sec02{
	padding-top: 12rem;
	padding-bottom: 20rem;
}
#main_container > .sec02 > p{
	text-align: center;
	color: #fff;
}
#main_container > .sec02 ul{
	justify-content: space-between;
	margin-top: 9.5rem;
}
#main_container > .sec02 ul li{
	position: relative;
	width: 21.78571428571%
}
#main_container > .sec02 ul li img{
	width: 100%;
	filter: grayscale(100) brightness(40%);
	transition: all 0.5s ease-in-out;
}
#main_container > .sec02 ul li p{
	z-index: 1;
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
	color: #fff;
}
#main_container > .sec02 ul li img.on{
	filter: grayscale(0) brightness(1);
}

@media (max-width:1199.98px) {
	#main_container > .sec02 ul li p{
		font-size: 2.5rem;
	}
}
@media (max-width:991.98px) {
	#main_container > .sec02{
		padding-top: 10rem;
		padding-bottom: 15rem;
	}
	#main_container > .sec02 ul {
		flex-wrap: wrap;
		justify-content: center;
    margin-top: 3rem;
	}
	#main_container > .sec02 ul li{
		margin: 3rem;
		width: 35%;
	}
}
@media (max-width:767.98px) {
	#main_container > .sec02{
		padding-bottom: 12rem;
	}
	#main_container > .sec02 ul li{
		margin: 1.5rem;
		width: 41%;
	}
	#main_container > .sec02 ul li p {
    font-size: 2.2rem;
	}
}
@media (max-width:575.98px) {
	#main_container > .sec02 ul li p {
    font-size: 2.2rem;
	}
}



/*sec03*/
#main_container > .sec03 .banner{
	width: 15%;
	margin: 0 auto;
	margin-bottom: 8.5rem;
	height: 90rem;
	background: url(../_img/main/main_sec03_banner.jpg) no-repeat center center / cover;
	transition: all .5s ease-in-out;
}
#main_container > .sec03 .banner.open{
	width: 100%;
}
#main_container > .sec03 .img_con{
	margin: 14.5rem 0;
	justify-content: space-between;
}
#main_container > .sec03 .img_con > div{
	width: 44.28571428571%;
}
#main_container > .sec03 .img_con > div:first-of-type{
	margin-top: 9.5rem;
}
#main_container > .sec03 .img_con > div p{
	margin-top: 2.5rem;
	font-size: 3rem;
	color: #fff;
}
#main_container > .sec03 .video{
  text-align: center;
}
#main_container > .sec03 .video video{
  max-width: 72rem;
  width: 100%;
}
@media (max-width:1199.98px) {
	#main_container > .sec03 .banner {
    height: 75rem;
	}
}
@media (max-width:991.98px) {
	#main_container > .sec03 .banner {
    height: 60rem;
	}
	#main_container > .sec03 .img_con {
    margin: 9rem 0;
	}
	#main_container > .sec03 .img_con > div{
		width: 46%;
	}
	#main_container > .sec03 .img_con > div:first-of-type {
    margin-top: 6.5rem;
	}
	#main_container > .sec03 .img_con > div p {
    margin-top: 2rem;
    font-size: 2rem;
	}
}
@media (max-width:767.98px) {
	#main_container > .sec03 .banner {
    height: 50rem;
	}
	#main_container > .sec03 .img_con {
    margin: 6rem 0;
	}
}
@media (max-width:575.98px) {
	#main_container > .sec03 .banner {
    height: 40rem;
	}
	#main_container > .sec03 .img_con{
		flex-wrap: wrap;
		justify-content: center;
		gap: 4rem;
	}
	#main_container > .sec03 .img_con > div{
		width: 60%;
	}
}
@media (max-width:400px) {
	#main_container > .sec03 .banner {
    height: 30rem;
	}
	#main_container > .sec03 .img_con > div{
		width: 80%;
	}
}


/* sec04 */
#main_container > .sec04{
	padding-top: 18.5rem;
	padding-bottom: 17rem;
}
#main_container > .sec04 > div{
	margin-top: 6.5rem;
	border-top: 1px solid #fff;
}
#main_container > .sec04 th,
#main_container > .sec04 td{
	padding: 2.5rem 1rem;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	border-bottom: 1px solid #333;
}
#main_container > .sec04 th{
	font-size: 2rem;
	font-weight: 500;
}
#main_container > .sec04 td{
	font-size: 1.8rem;
	font-weight: 200;
}
#main_container > .sec04 td.bg{
	background: #281f17;
}
#main_container > .sec04 tr:last-child td{
	font-weight: 500;
	color: #c69c74;
	background: #281f17;
	border-top: 2px solid #c69c74;
	border-bottom: 2px solid #c69c74;
}

@media (max-width:991.98px) {
	#main_container > .sec04{
		padding-top: 12rem;
		padding-bottom: 12rem;
	}
}
@media (max-width:767.98px) {
	#main_container > .sec04{
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
	#main_container > .sec04 th,
	#main_container > .sec04 td{
		padding: 2rem 5px;
	}
	#main_container > .sec04 th {
    font-size: 1.8rem;
	}
	#main_container > .sec04 td {
    font-size: 1.6rem;
	}
}


/* sec05 */
#main_container > .sec05{
	height: 80rem;
	background: url(../_img/main/main_sec05_img.jpg) no-repeat center center / cover;
}
#main_container > .sec05 > div{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
}
#main_container > .sec05 > div > p{
	text-align: center;
	line-height: 1;
}
#main_container > .sec05 .txt1{
	font-size: 5.4rem;
	color: #e1dfd3;
}
#main_container > .sec05 .txt3{
	color: #fff;
}
#main_container > .sec05 a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18rem;
	height: 4.8rem;
	border: 1px solid #c7996e;
	transition: all .3s ease-in-out;
}
#main_container > .sec05 a::after{
	content: '';
	position: absolute;
	z-index: -1;
	top: 0; left: 0;
	width: 0%;
	height: 100%;
	background: #c7996e;
	transition: all .3s ease-in-out;
}
#main_container > .sec05 a:hover{
	color: #fff;
}
#main_container > .sec05 a:hover::after{
	width: 100%;
}

@media (max-width:991.98px) {
	#main_container > .sec05{
		height: 70rem;
	}
	#main_container > .sec05 .txt1{
		font-size: 4.5rem;
	}
}
@media (max-width:767.98px) {
	#main_container > .sec05{
		height: 60rem;
	}
	#main_container > .sec05 .txt1{
		font-size: 3.5rem;
	}
}
@media (max-width:575.98px) {
	#main_container > .sec05{
		height: 50rem;
	}
	#main_container > .sec05 .txt1{
		font-size: 3rem;
	}
}