/* ========================================
WEDDING
======================================== */

.wedding-page{
	background:#f5f3ee;
	color:#222;
}


/* ========================================
INTRO
======================================== */

.wedding-intro{
	text-align:center;
}

.wedding-intro .sub-intro-inner{
	max-width:900px;
	margin:0 auto;
}

.wedding-intro .sub-intro-title{
	margin-bottom:25px;
}

.wedding-intro .sub-intro-text{
	line-height:2.2;
}


/* ========================================
WEDDING COMMON
======================================== */

.wedding-section{
	position:relative;
	padding:50px 0;
}

.wedding-inner{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	display:flex;
	align-items:start;
}

.wedding-image{
	width:55%;
	aspect-ratio:3 / 2;
	overflow:hidden;
}

.wedding-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.wedding-content{
	width:45%;
	padding:0 0 30px 55px;
	color:#222;
}

.wedding-inner.reverse{
	flex-direction:row-reverse;
}

.wedding-inner.reverse .wedding-content{
	padding:0 55px 30px 0;
}

.wedding-heading{
	margin-bottom:30px;
}

.wedding-heading .section-en{
	margin-bottom:10px;
}

.wedding-heading h2{
	margin:0;
	font-size:30px;
	font-weight:400;
	line-height:1.6;
}

.wedding-lead{
	margin:0 0 25px;
	font-size:22px;
	line-height:2;
}

.wedding-text{
	margin:0;
	font-size:15px;
	line-height:2.2;
}


/* ========================================
MAIN WEDDING
======================================== */

/* 画像比率はWEDDING COMMONの3:2を使用 */


/* ========================================
KAWAAGARI WEDDING
======================================== */

.kawaagari .wedding-image{
	width:60%;
}

.kawaagari .wedding-content{
	width:40%;
}


/* ========================================
SHRINE WEDDING
======================================== */

.wedding-shrine{
	position:relative;
	padding:50px 0;
}

.wedding-shrine .sub-inner{
	width:90%;
	max-width:1200px;
	margin:0 auto;
}

.wedding-center-heading{
	max-width:760px;
	margin:0 auto 40px;
	text-align:center;
}

.wedding-center-heading .section-en{
	margin-bottom:10px;
}

.wedding-center-heading h2{
	margin:0 0 20px;
	font-size:30px;
	font-weight:400;
	line-height:1.6;
}

.wedding-center-heading>p:last-child{
	margin:0;
	font-size:15px;
	line-height:2.2;
}

.shrine-layout{
	display:grid;
	grid-template-columns:1.25fr .75fr;
	align-items:stretch;
}

.shrine-image{
	overflow:hidden;
}

.shrine-image img{
	display:block;
	width:100%;
	height:100%;
	min-height:500px;
	object-fit:cover;
}

.shrine-list{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:45px 50px;
	background:#fff;
}

.shrine-item{
	padding:30px 0;
	border-bottom:1px solid #c9c5ba;
}

.shrine-item:first-child{
	padding-top:0;
}

.shrine-item:last-child{
	padding-bottom:0;
	border-bottom:0;
}

.shrine-item h3{
	margin:0 0 15px;
	font-size:21px;
	font-weight:400;
}

.shrine-item p{
	margin:0;
	font-size:14px;
	line-height:2;
}


/* ========================================
CELEBRATION
======================================== */

.celebration-list{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:30px 0 0;
	padding:0;
	list-style:none;
}

.celebration-list li{
	padding:8px 14px;
	border:1px solid #c9c5ba;
	font-size:13px;
	line-height:1.5;
}


/* ========================================
MEMORIAL
======================================== */

/* 画像比率はWEDDING COMMONの3:2を使用 */


/* ========================================
VENUE / CUISINE
======================================== */

.wedding-guide{
	position:relative;
	padding:50px 0;
}

.wedding-guide .sub-inner{
	width:90%;
	max-width:1200px;
	margin:0 auto;
}

.wedding-guide-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:30px;
}

.wedding-guide-item{
	background:#fff;
}

.wedding-guide-item>a{
	display:block;
	height:100%;
	color:inherit;
	text-decoration:none;
}

.wedding-guide-image{
	overflow:hidden;
}

.wedding-guide-image img{
	display:block;
	width:100%;
	height:340px;
	object-fit:cover;
	transition:transform .8s cubic-bezier(.22,1,.36,1);
}

.wedding-guide-item>a:hover .wedding-guide-image img{
	transform:scale(1.03);
}

.wedding-guide-content{
	padding:35px 40px 40px;
}

.wedding-guide-content .section-en{
	margin-bottom:8px;
}

.wedding-guide-content h2{
	margin:0 0 18px;
	font-size:25px;
	font-weight:400;
}

.wedding-guide-content>p:not(.section-en){
	margin:0;
	font-size:14px;
	line-height:2;
}

.wedding-guide-more{
	position:relative;
	display:inline-block;
	margin-top:25px;
	padding:0 30px 8px 0;
	font-size:13px;
	border-bottom:1px solid #777;
}

.wedding-guide-more::after{
	content:"";
	position:absolute;
	right:2px;
	bottom:3px;
	width:8px;
	height:8px;
	border-top:1px solid #777;
	border-right:1px solid #777;
	transform:rotate(45deg);
}


/* ========================================
CONTACT
======================================== */

.wedding-contact{
	position:relative;
	padding:50px 0;
}

.wedding-contact .sub-inner{
	width:90%;
	max-width:900px;
	margin:0 auto;
}

.wedding-contact-inner{
	padding:55px 40px;
	text-align:center;
	background:#fff;
}

.wedding-contact-inner .section-en{
	margin-bottom:10px;
}

.wedding-contact-inner h2{
	margin:0 0 20px;
	font-size:28px;
	font-weight:400;
}

.wedding-contact-text{
	margin:0 auto 30px;
	font-size:14px;
	line-height:2;
}

.wedding-contact-tel{
	display:inline-flex;
	align-items:baseline;
	gap:15px;
	color:inherit;
	text-decoration:none;
}

.wedding-contact-tel span{
	font-size:12px;
}

.wedding-contact-tel strong{
	font-size:27px;
	font-weight:400;
}


/* ========================================
TABLET
======================================== */

@media(max-width:1024px){

	.wedding-section{
		padding:50px 0;
	}

	.wedding-inner{
		width:92%;
		align-items:start;
	}

	.wedding-image{
		width:52%;
	}

	.wedding-content{
		width:48%;
		padding:0 0 30px 35px;
	}

	.wedding-inner.reverse .wedding-content{
		padding:0 35px 30px 0;
	}

	.kawaagari .wedding-image{
		width:55%;
	}

	.kawaagari .wedding-content{
		width:45%;
	}

	.wedding-heading h2{
		font-size:27px;
	}

	.wedding-lead{
		font-size:19px;
	}

	.shrine-layout{
		grid-template-columns:1.1fr .9fr;
	}

	.shrine-image img{
		min-height:450px;
	}

	.shrine-list{
		padding:35px;
	}

	.wedding-guide-image img{
		height:300px;
	}

}


/* ========================================
MOBILE
======================================== */

@media(max-width:767px){

	.wedding-intro .sub-intro-inner{
		width:88%;
	}

	.wedding-section{
		padding:40px 0;
	}

	.wedding-inner,
	.wedding-inner.reverse{
		width:100%;
		display:flex;
		flex-direction:column;
	}

	.wedding-image,
	.kawaagari .wedding-image{
		width:100%;
		aspect-ratio:auto;
	}

	.wedding-content,
	.kawaagari .wedding-content,
	.wedding-inner.reverse .wedding-content{
		width:88%;
		padding:30px 0 0;
		margin:auto
	}

	.wedding-image img,
	.wedding-main .wedding-image img,
	.kawaagari .wedding-image img,
	.memorial .wedding-image img{
		height:auto;
		aspect-ratio:4 / 3;
		object-fit:cover;
	}

	.wedding-heading{
		margin-bottom:20px;
	}

	.wedding-heading h2{
		font-size:24px;
	}

	.wedding-lead{
		margin-bottom:18px;
		font-size:18px;
		line-height:1.9;
	}

	.wedding-text{
		font-size:14px;
		line-height:2;
	}


	/* SHRINE */

	.wedding-shrine{
		padding:40px 0;
	}

	.wedding-shrine .sub-inner{
		width:100%;
	}

.wedding-center-heading{
	width:88%;
	margin:0 auto 30px;
}

	.wedding-center-heading h2{
		font-size:24px;
	}

	.wedding-center-heading>p:last-child{
		font-size:14px;
		line-height:2;
	}

	.shrine-layout{
		display:block;
	}

	.shrine-image img{
		height:auto;
		min-height:0;
		aspect-ratio:4 / 3;
	}

	.shrine-list{
		width:88%;
		margin:0 auto;
		padding:30px 0 0;
		background:transparent;
	}

	.shrine-item{
		padding:25px 0;
	}

	.shrine-item h3{
		font-size:19px;
	}


	/* CELEBRATION */

	.celebration-list{
		margin-top:25px;
		gap:6px;
	}

	.celebration-list li{
		padding:7px 11px;
		font-size:12px;
	}


	/* GUIDE */

	.wedding-guide{
		padding:40px 0;
	}

	.wedding-guide .sub-inner{
		width:88%;
	}

	.wedding-guide-grid{
		grid-template-columns:1fr;
		gap:25px;
	}

	.wedding-guide-image img{
		height:auto;
		aspect-ratio:4 / 3;
	}

	.wedding-guide-content{
		padding:28px 25px 30px;
	}

	.wedding-guide-content h2{
		font-size:22px;
	}


	/* CONTACT */

	.wedding-contact{
		padding:40px 0;
	}

	.wedding-contact .sub-inner{
		width:88%;
	}

	.wedding-contact-inner{
		padding:40px 20px;
	}

	.wedding-contact-inner h2{
		font-size:24px;
	}

	.wedding-contact-tel{
		gap:10px;
	}

	.wedding-contact-tel strong{
		font-size:24px;
	}

}