@charset "utf-8";

/*==============================================

	wedding concept

==============================================*/
main .sec_heading .en {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 2rem;
	color: #B4A698;
}
main .sec_heading h2 {
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 2.4rem;
	color: #B4A698;
	margin-top: 4px;
	white-space: nowrap;
}

.concept {
	margin: 100px 0 0;
	background-size: 537px;
	background-position: left bottom;
	background-repeat: no-repeat;
}
.concept .inner {
	padding-left: calc((100% - 1200px) / 2);
	width: 100%;
}

.concept .concept_content {
	display: flex;
	justify-content: space-between;
	gap: 0;
	margin-top: 60px;
	padding-left: 60px;
}
.concept .img {
	width: calc(50% + 50px);
	padding-left: 40px;
	position: relative;
}
.concept .img > .box {
	position: absolute;
	z-index: 1;
	width: 490px;
}
.concept .img .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.concept .img .bg img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 697 / 586;
	object-fit: cover;
	display: block;
	max-height: 586px;
}
.concept .concept_content .exp {
	width: 50%;
	width: calc(50% - 50px);
}
.concept .concept_content .exp h3 {
	margin-bottom: 50px;
	margin-top: 70px;
}
.concept .concept_content .exp h4 {
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 2.4rem; /* 120% */
	letter-spacing: 0.1rem;
	margin-bottom: 30px;
}
.concept .concept_content .exp .btn {
	margin-top: 50px;
}


.design {
	margin: 120px auto 0;
	padding-bottom: 180px;
	background-image: url(../../common/img/leaf_bg.png);
	background-size: 403px;
	background-position: left bottom;
	background-repeat: no-repeat;
}
.design .cover {
	width: 100%;
	padding: 0 10px;
}
.design .cover img {
	width: 100%;
}
.design .inner {
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 0;
	margin-top: 80px;
	padding-left: 50px;
}
.design .inner > h3 {
	width: 370px;
}
.design .design_content {
	width: calc(100% - 370px);
}

.section .catch {
	font-size: 1.8rem;
	line-height: 3.3rem; /* 183.333% */
	letter-spacing: 0.09rem;
	margin-top: 20px;
	margin-bottom: 10px;
}
.designer {
	margin: 40px 0;
	padding-right: 60px;
}
.designer h3 {
	color: #4C4A4A;
	font-size: 1.6rem;
	line-height: 2.7rem; /* 168.75% */
	letter-spacing: 0.08rem;
	position: relative;
	margin-bottom: 10px;
}
.designer h3::before {
	content: '';
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #C9C9C4;
}
.designer h3 span {
	font-size: 1.3rem;
	line-height: 2.4rem;
	margin-right: 20px;
}


.location {
	margin: 0 auto 0;
}
.location .inner {
	display: flex;
	justify-content: space-between;
	gap: 0;
	padding-left: calc((100% - 1480px) / 2);
	padding-right: calc((100% - 1200px) / 2);
	align-items: flex-end;
	position: relative;
}
.location .img {
	width: 589px;
}
.location .img .sub {
	position: absolute;
	top: 0;
	width: 264px;
	right: calc((100% - 1440px) / 2);
	top: -160px;
}
.location .img .sub img {
	width: 100%;
}
.location .img img {
	width: 100%;
}
.location .location_content {
	width: calc(100% - 589px);
	padding-left: 120px;
}
.location .location_content h3 {
	margin-bottom: 30px;
}

.our_wedding {
	margin: 0 auto 0;
	border-top: 1px solid #C9C9C4;
	/* padding-bottom: 120px; */
	margin-top: 120px;
	padding-left: 50px;
}
.our_wedding > .en {
	margin: 0 auto;
	padding-left: calc((100% - 1200px) / 2);

}
.our_wedding .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 0;
	padding-right: calc((100% - 1440px) / 2);
	padding-left: calc((100% - 1200px) / 2);
}
.our_wedding .inner .imgs {
	display: flex;
	order: 1;
	width: 701px;
}
.our_wedding .inner .imgs > picture {
	width: 50%;
}
.our_wedding .inner .imgs > picture img {
	width: 100%;
}
.our_wedding .inner .our_wedding_content {
	width: calc(100% - 701px);
	padding-right: 80px;
}
.our_wedding .inner .btn {
	margin-top: 40px;
}

.cuisine {
	margin: 120px auto 120px;
}
.cuisine .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 0;
	padding-left: calc((100% - 1480px) / 2);
	padding-right: calc((100% - 1480px) / 2);
}
.cuisine .inner >.img {
	width: 316px;
	margin-bottom: 80px;
}
.cuisine .img img {
	width: 100%;
}
.cuisine .cuisine_content {
	width: calc(100% - 316px);
	padding-left: 120px;
}
.cuisine .cuisine_content .img {
	margin-bottom: 50px;
}
.cuisine .cuisine_content .img img {
	width: 100%;
}
.cuisine .cuisine_content h3 {
	margin-bottom: 20px;
}
.cuisine .cuisine_content .text {
	max-width: 735px;
}

.zensou {
	margin: 120px auto 120px;
}
.zensou .cover {
	width: 100%;
	position: relative;
}
.zensou .cover > picture img {
	width: 100%;
}
.zensou .cover .en {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding-left: calc((100% - 1480px) / 2);
	margin-left: calc(120px + 316px);
}
.zensou .inner {
	padding-left: calc((100% - 1480px) / 2);
	margin-left: calc(120px + 316px);
	margin-top: 50px;
	max-width: 785px;
}

@media screen and (max-width: 736px) {
	.concept {
		margin-top: 40px;
	}
	.concept .concept_content {
		width: 100%;
		padding:0 30px;
	}
	.concept .concept_content .exp {
		width: 100%;
	}
	.concept .concept_content .exp h3 {
		margin-top: 30px;
	}
	.concept .img {
		width: calc(100% + 60px);
		margin-bottom: 40px;
		margin-left: -30px;
		padding-left: 30px;
	}
	.concept .img > .box {
		position: relative;
		width: 273px;
		display: block;
	}
	.concept .img > .bg {
		height: 328px;
	}
	.concept .img > .bg img {
		object-fit: cover;
		height: 100%;
		object-position: center;
	}
	.concept .img .box {
		width: 273px;
		/* left: 30px; */
	}
	.design {
		margin: 70px 0;
		background-size: 326px;
		padding-bottom: 80px;
		margin-bottom: 0;
	}
	.design .cover {
		padding: 0;
	}
	.design .inner {
		flex-direction: column;
		padding-left: 0;
	}
	.design .inner > h3 {
		width: 100%;
		margin-bottom: 30px;
		padding: 0 30px;
	}
	.design .design_content {
		width: 100%;
		padding: 0 30px;
	}
	.designer {
	padding-right: 0px;
}
	.location .inner {
		flex-direction: column;
	}
	.location .inner .img {
		width: 100%;
		margin-bottom: 30px;
	}
	.location .location_content {
		width: 100%;
		padding: 0 30px;
		margin-top: -70px;
	}
	.location .inner .img .sub {
		position: static;
		width: 156px;
		margin-left: auto;
		margin-right: auto;
		display: block;
		margin-right: 0;
		margin-top: 10px;
	}
	.location .location_content h3 {
		margin-bottom:40px;
	}
	.our_wedding {
		margin-top: 70px;
		padding-left: 0;
	}
	.our_wedding .inner {
		flex-direction: column;
	}
	.our_wedding .inner .our_wedding_content {
		width: 100%;
		padding: 0 30px;
	}
	.our_wedding .inner .imgs {
		order: 0;
		width: 100%;
		padding-left: 30px;
		margin-bottom: 40px;
	}
	.our_wedding > .en {
		margin-left: 30px;
		margin-bottom: 40px;
	}

	.cuisine {}
	.cuisine .inner {
		flex-direction: column;
		padding-left: 0;
		padding-right: 0;
	}
	.cuisine .inner > .img {
		width: 100%;
		margin-bottom: 40px;
	}
	.cuisine .cuisine_content {
		width: 100%;
		padding: 0 30px;
	}
	.cuisine .cuisine_content .img {
		margin-bottom: 20px;
		width: calc(100% + 60px);
		margin-left: -30px;
	}
	.cuisine .cuisine_content .img img {
		width: 100%;
	}
	.cuisine .cuisine_content .img .sub {
		width: 157px;
		margin-left: auto;
		margin-top: 10px;
	}
	.cuisine .cuisine_content h3 {
		margin-top: -60px;
	}

	.zensou {
		margin: 70px auto 120px;
	}
	.zensou .inner {
		width: 100%;
		margin: 0 auto;
		padding: 0 30px;
		margin-top: 40px;
	}
	.zensou .cover .en {
		left: 30px;
		padding: 0;
		margin: 0;
		bottom: -1px;
	}
	
	
	.reserve_bg_wrap {
		margin-top: -70px;
	}
}