.noto-serif{font-family: "Noto Serif JP", serif;}
.noto-sans{font-family: "Noto Sans JP", sans-serif;}

.main-img{
	width:100%;
	background:#EFEEDF;
}
.main-img .sp{display:none;}
.main-img > div{
	width:100%;
	max-width: 1800px;
	height: 600px;
	margin:0px auto;
	background-image: url(../images/kazokuso/kv_kazokuso_cp_pc.jpg?20251212);
	background-size: cover;
	background-position:center center;
}
.kazokuso-contents *{
	margin:0;
	padding:0;
	font-style: normal;
	line-height: normal;
}
.kazokuso-contents a:hover{opacity:0.8;}
.kazokuso-contents img{
	width:100%;
	display:inline-block;
	vertical-align:bottom;
}
.kazokuso-contents .sp-br{display:none;}
@media screen and (max-width: 768px){
	.main-img > div{
		height:auto;
		background-image:none;
		display:none;
	}
	.main-img .sp{display: block;}
	.main-img .sp img{
		width:100%;
		display:inline-block;
		vertical-align:bottom;
	}
	.kazokuso-contents .sp-br{display: block;}
	.kazokuso-contents .pc-br{display:none;}
}

.catch{
	padding: 50px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	align-self: stretch;
	background: #FFF;
}
.catch > h2{
	color: #4D4D4D;
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 9.6px;
	text-align:center;
}
.catch > p{
	color: #4D4D4D;
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	line-height: 40px;
	letter-spacing: 1.7px;
}
@media screen and (max-width: 768px){
	.catch{
		padding: 30px 0;
		gap: 20px;
	}
	.catch > h2{
		font-size: 24px;
		font-weight: 500;
		line-height: 34px;
		letter-spacing: 7.2px;
	}
	.catch > p{
		font-size: 14px;
		font-weight: 500;
		line-height: 26px;
	}
}

.nenmatsu{
	background: #EFEEDF;
	display: flex;
	padding: 50px 0 60px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}
.nenmatsu > h2{
	color: #918C32;
	font-size: 28px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
}
.nenmatsu > p{
	color: #59504C;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 1.6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.nenmatsu > p > span{
	display: flex;
	padding: 4px 10px;
	justify-content: center;
	align-items: center;
	border: 1px solid #4D4D4D;
	color: #4D4D4D;
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 1.5px;
}
.nenmatsu .plan{
	display: flex;
	flex-direction: column;
	width:100%;
	max-width: 1000px;
	margin:auto;
	padding:0px 0px 30px 0px;
	gap: 20px;
	border-radius: 20px;
	border: 2px solid #918C32;
	background: #FFF;
	position: relative;
}
.nenmatsu .plan > .off{
	width: 220px;
	height: 220px;
	position:absolute;
	top:0;
	right:0;
}
.nenmatsu .plan > h3{
	display: flex;
	background: #918C32;
	border-radius: 15px 15px 0 0;
	justify-content: center;
	align-items: center;
	color: #FFF;
	text-align: center;
	font-size: 26px;
	font-weight: 500;
	padding:22px 0px;
}
.nenmatsu .plan > .detail{
	width:98%;
	max-width:920px;
	margin:auto;
	text-align:left;
	color: #4D4D4D;
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
}
.nenmatsu .plan .plan-detail{
	width:98%;
	max-width:920px;
	margin:auto;
	display: flex;
	align-items: flex-start;
	gap: 40px;
	align-self: stretch;
}
.nenmatsu .plan .plan-detail > .left{
	width:480px;
}
.nenmatsu .plan .plan-detail > .right{
	width:400px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.nenmatsu .plan .plan-detail > .right .price-detail{
	width:400px;
	aspect-ratio: 4/1;
}
.nenmatsu .plan .plan-detail > .right a{
	content:url(../images/kazokuso/btn_pdf_normal.png?20251211);
	width:400px;
	aspect-ratio: 4/1;
	display: block;
}
.nenmatsu .plan .plan-detail > .right a:hover{
	content:url(../images/kazokuso/btn_pdf_over.png?20251211);
	opacity:1;
}
.nenmatsu .plan .plan-detail > .right .check{
	color: #4D4D4D;
	font-size: 12px;
	font-weight: 400;
	line-height: 17px;
}
.nenmatsu .plan .plan-detail > .right .check > strong{
	color: #AD2D26;
	font-size:12px;
	font-weight: 400;
	line-height:17px;
}

@media screen and (max-width: 768px){
	.nenmatsu{
		padding: 30px 20px;
		gap: 20px;
	}
	.nenmatsu > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
	}
	.nenmatsu > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
		text-align:left;
	}
	.nenmatsu > p > span{
		font-size: 13px;
		font-weight: 400;
		line-height: 22px;
		padding: 4px 10px;
	}
	.nenmatsu .plan{
		border-radius: 10px;
		border: 1px solid #918C32;
		gap: 20px;
		flex-direction: column;
		align-items: center;
		align-self: stretch;
	}
	.nenmatsu .plan > h3{
		width:calc(100% - 10px);
		border-radius: 8px 8px 0 0;
		text-align:left;
		padding:0px 0px 0px 10px;
		justify-content: flex-start;
		font-size: 18px;
		font-weight: 500;
		line-height: 26px;
		height:110px;
	}
	.nenmatsu .plan > .off{
		width:110px;
		height: 110px;
		aspect-ratio: 1/1;
	}
	.nenmatsu .plan > .detail{
		width:calc(100% - 20px);
		padding:0px 10px;
		margin:auto;
		font-size:14px;
		font-weight: 400;
		line-height: 22px;
	}
	.nenmatsu .plan .plan-detail{
		width:calc(100% - 20px);
		padding:0px 10px;
		margin:auto;
		flex-direction: column;
		gap:20px;
	}
	.nenmatsu .plan .plan-detail > .left{width:100%;}
	.nenmatsu .plan .plan-detail > .right{
		width:100%;
		gap:10px;
	}
	.nenmatsu .plan .plan-detail > .right .price{display:none;}
	.nenmatsu .plan .plan-detail > .right .price-detail{
		width:100%;
		height:auto;
	}
	.nenmatsu .plan .plan-detail > .right a{
		width:100%;
		height:auto;
	}
	.nenmatsu .plan .plan-detail > .right .check{
		font-size: 10px;
		font-weight: 400;
		line-height: 14px;
	}
	.nenmatsu .plan .plan-detail > .right .check > strong{
		font-size:10px;
		font-weight: 400;
		line-height: 14px;
	}
}

.saidan{
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #918C32;
	width:100%;
	max-width:1000px;
	margin:auto;
	gap: 10px;
	padding:8px 0px;
}
.saidan > h3{
	color: #FFF;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}
.saidan > .saidan-img{
	display: flex;
	align-items: center;
	padding:0px 8px;
	gap: 8px;
	align-self: stretch;
}
@media screen and (max-width: 768px){
	.saidan{
		padding:8px;
		width:calc(100% - 16px);
	}
	.saidan > h3{
		font-size: 16px;
		font-weight: 500;
		line-height: 22px;
	}
	.saidan > .saidan-img{
		align-content: flex-start;
		align-items: flex-start;
		align-self: stretch;
		gap: 8px;
		flex-wrap: wrap;
		padding:0;
	}
	.saidan > .saidan-img > div{
		width:48%;
	}
}

.inquiry-box{
	display: flex;
	padding: 50px 0;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	background: #FFF;
}
.inquiry-box > h2{
	color: #918C32;
	font-size: 28px;
	font-weight: 600;
	padding-bottom:40px;
	text-align:center;
}
.inquiry-box > p{
	color: #4D4D4D;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	text-align: center;
}
.tel-box{
	width:100%;
	max-width:960px;
	margin:auto;
}
.contact-box{
	width:100%;
	max-width:960px;
	margin:auto;
	display:flex;
}
.contact-box > .soudan{
    display:inline-flex;
    width:585px;
    height: 220px;
    flex-shrink: 0;
    aspect-ratio: 117/44;
}
.contact-box > .shiryou{
    display:inline-flex;
    width:375px;
    height: 220px;
    flex-shrink: 0;
    aspect-ratio: 75/44;
}
@media screen and (max-width: 768px){
	.inquiry-box{
		padding: 30px 0px;
		flex-direction: column;
		align-items: center;
		align-self: stretch;
	}
	.inquiry-box > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
		padding-bottom:20px;
	}
	.inquiry-box > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
		text-align:left;
		padding:0px 20px;
	}
	.contact-box{
		flex-wrap:wrap;
	}
	.contact-box > .soudan{
		width:100%;
		height: auto;
		aspect-ratio: 320/193;
	}
	.contact-box > .shiryou{
		width:100%;
		height:auto;
		aspect-ratio: 320/153;
	}
}

.ceremony-kazokuso{
	background: #918C32;
	display: flex;
	padding: 50px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}
.ceremony-kazokuso > h2{
	color: #FFF;
	font-size: 28px;
	font-weight: 500;
	text-align:center;
}
.ceremony-kazokuso > p{
	color: #FFF;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.64px;
}
.ceremony-kazokuso > p > strong{
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: 0.72px;
}
.ceremony-kazokuso .ceremony-point{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	align-self: stretch;
}
.ceremony-kazokuso .ceremony-point > div{
	width:220px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.ceremony-kazokuso .ceremony-point > div img{
	width:120px;
	height: 120px;
	aspect-ratio: 1/1;
}
.ceremony-kazokuso .ceremony-point > div h3{
	color: #FFF;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
}
@media screen and (max-width: 768px){
	.ceremony-kazokuso{
		padding: 30px 20px;
		gap: 20px;
	}
	.ceremony-kazokuso > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
	}
	.ceremony-kazokuso > p{
		font-size:14px;
		font-weight:400;
		line-height: 22px;
	}
	.ceremony-kazokuso > p > strong{
		font-size: 16px;
		font-weight: 600;
		line-height: 22px;
	}
	.ceremony-kazokuso .ceremony-point{
		gap:20px;
		flex-wrap:wrap;
	}
	.ceremony-kazokuso .ceremony-point > div{
		width:140px;
	}
	.ceremony-kazokuso .ceremony-point > div img{
		width:100px;
		height: 100px;
		aspect-ratio: 1/1;
	}
	.ceremony-kazokuso .ceremony-point > div h3{
		font-size: 15px;
		font-weight: 500;
		line-height: 22px;
	}
}

.ceremony-detail{
	padding:80px 0px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
	background: #FFF;
}
.ceremony-detail .advice{
	width:98%;
	max-width:900px;
	aspect-ratio: 45/8;
	margin:auto;
}
.ceremony-detail .hinshitsu{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	align-self: stretch;
}
.ceremony-detail .hinshitsu .left{
	width: 640px;
}
.ceremony-detail .hinshitsu .left > h2{
	color: #918C32;
	font-size: 38px;
	font-weight: 600;
}
.ceremony-detail .hinshitsu .left > h2 > span{
	font-size: 18px;
	font-weight: 500;
	display: block;
}
.ceremony-detail .hinshitsu .left > p{
	margin-top:20px;
	line-height: 24px;
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 400;
}
.ceremony-detail .hinshitsu .right{
	width:340px;
	aspect-ratio: 17/15;
}
.ceremony-detail .kazokuso-hall{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	align-self: stretch;
}
.ceremony-detail .kazokuso-hall .img-name{
	color: #000;
	text-align: right;
	font-family: "Noto Sans JP";
	font-size: 10px;
	font-weight: 400;
	line-height: 24px;
}
.ceremony-detail .kazokuso-hall > .left{
	display: flex;
	width: 480px;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.ceremony-detail .kazokuso-hall > .left > h3{
	color: #918C32;
	font-size: 26px;
	font-weight: 600;
}
.ceremony-detail .kazokuso-hall > .left > p{
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
}
.ceremony-detail .kazokuso-hall .hall-img{
	display: flex;
	align-items: center;
	gap: 20px;
	align-self: stretch;
	margin:17px 0px 0px 0px;
}
.ceremony-detail .kazokuso-hall .hall-img .sp{display:none;}
.ceremony-detail .kazokuso-hall > .right{
	width:480px;
	aspect-ratio: 4/3;
}
.ceremony-detail .kazokuso-hall .row2{
	aspect-ratio: unset;
}
.ceremony-detail .kazokuso-hall .row2 .hall-img{margin:0;}
@media screen and (max-width: 768px){
	.ceremony-detail{
		padding: 40px 20px;
		gap: 30px;
	}
	.ceremony-detail .advice{
		width:100%;
		height:auto;
		aspect-ratio:unset;
		display:flex;
	}
	.ceremony-detail .hinshitsu{
		flex-wrap: wrap;
	}
	.ceremony-detail .hinshitsu .left{width:100%;}
	.ceremony-detail .hinshitsu .left > h2{
		text-align: center;
		font-size: 26px;
		font-weight: 600;
		line-height: 36px;
		letter-spacing: 1.04px;
	}
	.ceremony-detail .hinshitsu .left > h2 > span{
		margin-top:20px;
		font-size: 18px;
		font-weight: 500;
		line-height: 26px;
	}
	.ceremony-detail .hinshitsu .left > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
	}
	.ceremony-detail .hinshitsu .right{
		width:280px;
		aspect-ratio: 280.00/247.06;
	}
	.ceremony-detail .kazokuso-hall{
		flex-wrap:wrap;
		gap:20px;
	}
	.ceremony-detail .kazokuso-hall > .left{
		width:100%;
	}
	.ceremony-detail .kazokuso-hall > .left > h3{
		text-align: center;
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
		width:100%;
	}
	.ceremony-detail .kazokuso-hall > .left > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
	}
	.ceremony-detail .kazokuso-hall .hall-img{
		flex-wrap:wrap;
		margin:0;
		gap:10px;
	}
	.ceremony-detail .kazokuso-hall .hall-img .sp{
		display:block;
		width:100%;
	}
	.ceremony-detail .kazokuso-hall > .right{display:none;}
	.ceremony-detail .kazokuso-hall > .row2{
		display:flex;
	}
}

.ceremony-hall-list{
	display: flex;
	padding: 60px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
	background: #EFEEDF;
}
.ceremony-hall-list > h2{
	color: #918C32;
	font-size: 28px;
	font-weight: 600;
}
.ceremony-hall-list > p{
	color: #4D4D4D;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.64px;
	text-align: center;
}
.ceremony-hall-list .ceremomony-list{
	display: inline-grid;
	row-gap: 40px;
	column-gap: 40px;
	grid-template-columns: repeat(4, fit-content(100%));
	grid-template-rows: repeat(6, fit-content(100%));
}
.ceremony-hall-list .ceremomony-list div{
	width: 220px;
	aspect-ratio: 22/25;
}
.ceremony-hall-list .ceremony-list a:hover{
	opacity:0.8;
}
@media screen and (max-width: 768px){
	.ceremony-hall-list{
		padding:30px 20px;
		gap: 20px;
	}
	.ceremony-hall-list > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 26px;
		letter-spacing: 0.8px;
		text-align: center;
	}
	.ceremony-hall-list > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
		text-align:left;
	}
	.ceremony-hall-list .ceremomony-list{
		row-gap: 8px;
		column-gap: 8px;
		grid-template-columns: repeat(2, fit-content(100%));
		grid-template-rows: repeat(12, fit-content(100%));
	}
	.ceremony-hall-list .ceremomony-list div{
		width:100%;
		aspect-ratio: 34/45;
	}
}

.banner-list{
	display: flex;
	padding: 50px 0 60px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
	background: #EFEEDF;
}
.banner-list > h2{
	color: #918C32;
	font-size: 26px;
	font-weight: 600;
}
.banner-list .banner-box{
	display: flex;
	align-items: center;
	gap: 20px;
}
.banner-list .banner-box > div{
	width: 320px;
	aspect-ratio: 8/5;
	border:1px solid #FFF
}
@media screen and (max-width: 768px){
	.banner-list{
		padding: 30px 20px 40px 20px;
		gap: 30px;
	}
	.banner-list > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
		text-align: center;
	}
	.banner-list .banner-box{
		flex-wrap: wrap;
		gap: 20px;
	}
}

body{padding-bottom:0}
.floating{
	width: 1200px;
	display:flex;
	align-items: flex-end;
	justify-content: end;
	position: fixed;
	bottom:-1px;
	left:0;
	right:0;
	margin:auto;
	text-align:right;
	z-index:1000;
}
.floating > span, .floating > a{
	display: block;
	width:560px;
	aspect-ratio: 28/5;
}
.floating img{
	width:100%;
	display:inline-block;
	vertical-align:bottom;
}
@media screen and (max-width: 768px){
	.floating{
		width:100%;
		background:#b64f65;
		height: 60px;
		justify-content: center;
	}
	.floating > span , .floating > a{
		width: 320px;
	}
}