.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-campaign/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;
	}
}

.limited{
	background: #EFEEDF;
	display: flex;
	padding: 50px 0 80px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}
.limited > h2{
	color: #918C32;
	font-size: 28px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
}
.limited > 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;
}
.limited > 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;
}
.limited .plan{
	display: flex;
	flex-direction: column;
	width:100%;
	max-width: 1000px;
	margin:auto;
	padding:0px 0px 40px 0px;
	gap: 20px;
	border-radius: 20px;
	border: 2px solid #918C32;
	background: #FFF;
	position: relative;
}
.limited .plan > .off{
	width: 160px;
	height: 160px;
	position:absolute;
	top:20px;
	right:20px;
}
.limited .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;
}
.limited .plan > .detail{
	width:98%;
	max-width:900px;
	margin:auto;
	text-align:left;
	color: #4D4D4D;
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
}
.limited .plan .plan-detail{
	width:98%;
	max-width:920px;
	margin:auto;
	display: flex;
	align-items: flex-start;
	gap: 30px;
	align-self: stretch;
	padding-bottom:20px;
}
.limited .plan .plan-detail > .left{
	width:550px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.limited .plan .plan-detail > .left .caution-box{
	display: flex;
	border: 1px solid #AD2D26;
	background: #FFF;
	padding: 10px 25px;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	gap: 20px;
}
.limited .plan .plan-detail > .left .caution-box .icon{
	width:50px;
	height:50px;
}
.limited .plan .plan-detail > .left .caution-box .text{
	color: #AD2D26;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 1.12px;
	width:427px;
}
.limited .plan .plan-detail > .left h4{
	color: #918C32;
	font-size: 18px;
	font-weight: 600;
	line-height: 21px;
	letter-spacing: 0.72px;
}
.limited .plan .plan-detail > .right{
	width:320px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.limited .plan .plan-detail > .right .price-box{padding:0px 0px 16px 0px}
.limited .plan .plan-detail > .right .price-box .title{
	color: #918C32;
	font-size: 20px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0.8px;
}
.limited .plan .plan-detail > .right .price-box .price{
	color: #4D4D4D;
	font-size: 40px;
	font-style: normal;
	font-weight: 600;
	line-height: 70px;
}
.limited .plan .plan-detail > .right .price-box .price strong{
	color: #B64F65;
	font-size: 70px;
	font-weight: 600;
	line-height: 70px;
}
.limited .plan .plan-detail > .right .price-box .tax{
	color: #717171;
	font-size: 18px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 0.72px;
}
.limited .plan .plan-detail > .right .price-box .tax strong{
	color: #717171;
	font-family: "Noto Serif JP";
	font-size: 30px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 1.2px;
}
.limited .plan .plan-detail > .right .plus{
	display: flex;
	align-items: flex-start;
	gap: 16px;
	align-self: stretch;
}
.limited .plan .plan-detail > .right .plus .icon{width: 120px;}
.limited .plan .plan-detail > .right .plus .text{
	color: #995585;
	font-size: 16px;
	line-height: 26px;
	letter-spacing: 0.64px;
	font-weight: 600;
}
.limited .plan .plan-detail > .right .plus-check{
	color: #995585;
	font-size: 16px;
	font-weight: 600;
	line-height: 26px;
	padding:6px 0px 12px 0px;
}
.limited .plan .plan-detail > .right .plus-form{padding:15px 0px}
.limited .plan .plan-detail > .right .plus-form a{filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));}
.limited .plan .plan-detail > .right .plus-form a:hover{opacity:1;}
.limited .plan .plan-detail > .right .check{
	color: #AD2D26;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 1.12px;
}
.limited .plan .plan-ex{
	color: #918C32;
	text-align: center;
	font-size: 24px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 1.92px;
}
.limited .plan .plan-ex > span{
	display:inline-block;
	padding:0px 30px;
	position:relative;
}
.limited .plan .plan-ex > span::before{
	content:"";
	width: 80px;
	height: 20px;
	background-image: url(../images/kazokuso-campaign/plan_decoration_left.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display:inline-block;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	left:-80px
}
.limited .plan .plan-ex > span::after{
	content:"";
	width: 80px;
	height: 20px;
	background-image: url(../images/kazokuso-campaign/plan_decoration_right.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display:inline-block;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	right:-80px
}

.limited .plan .plan-ex-text{
	color: #4D4D4D;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	margin-top:-5px;
} 

.plan-ex-hall{
	width: 98%;
	max-width: 920px;
	display: flex;
	align-items: center;
	gap: 30px;
	margin:auto;
	padding:5px 0px 20px 0px;
}
.plan-ex-hall-box img{width:280px;}
.plan-ex-hall-box h5{
	color: #918C32;
	font-size: 20px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0;
	padding:8px 0px 0px 0px;
}
.plan-ex-hall-box h5 > span{
	font-size: 16px;
	line-height: normal;
}
.plan-ex-hall-box .price-ex{
	color: #918C32;
	font-size: 16px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0px;
}
.plan-ex-hall-box .price{
	color: #4D4D4D;
	font-size: 30px;
	font-style: normal;
	font-weight: 600;
	line-height: 70px;
}
.plan-ex-hall-box .price > span{
	color: #B64F65;
	font-size: 56px;
	font-weight: 600;
	line-height: 70px;
}
.plan-ex-hall-box .tax{
	color: #717171;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	margin-top:-8px;
}
.plan-ex-hall-box .tax > span{
	font-family: "Noto Serif JP";
	font-size: 26px;
	font-weight: 600;
	line-height: 26px;
}
figure{display:none;}
.pdf-banner{
	width: 98%;
	max-width: 900px;
	display: flex;
	align-items: center;
	gap: 30px;
	margin:auto;
	padding:10px 0px;
}
.pdf-banner > .text{
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
}
.pdf-banner > .pdf-banner-box > a{
	width: 320px;
	aspect-ratio: 16/3;
	display: block;
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));
}
.pdf-banner > .pdf-banner-box > a:hover{opacity:1;}
@media screen and (max-width: 768px){
	.limited{
		padding: 30px 20px;
		gap: 20px;
	}
	.limited > h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
	}
	.limited > p{
		font-size: 14px;
		font-weight: 400;
		line-height: 22px;
		text-align:left;
	}
	.limited > p > span{
		font-size: 13px;
		font-weight: 400;
		line-height: 22px;
		padding: 4px 10px;
	}
	.limited .plan{
		border-radius: 10px;
		border: 1px solid #918C32;
		gap: 10px;
		flex-direction: column;
		align-items: center;
		align-self: stretch;
		padding-bottom:20px;
	}
	.limited .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;
	}
	.limited .plan > .off{
		width:90px;
		height: 90px;
		aspect-ratio: 1/1;
		top:10px;
		right:10px;
	}
	.limited .plan > .detail{
		width:calc(100% - 20px);
		padding:10px;
		margin:auto;
		font-size:14px;
		font-weight: 400;
		line-height: 22px;
	}
	.limited .plan .plan-detail{
		width:calc(100% - 20px);
		padding:0px 10px;
		margin:auto;
		flex-direction: column;
		gap:20px;
	}
	.limited .plan .plan-detail > .left{
		width:100%;
		gap:10px;
	}
	.limited .plan .plan-detail > .left h4{
		font-size: 16px;
		font-weight: 600;
		line-height: 24px;
	}
	.limited .plan .plan-detail > .left .caution-box{padding:15px;}
	.limited .plan .plan-detail > .left .caution-box .icon{display:none;}
	.limited .plan .plan-detail > .left .caution-box .text{
		font-size: 12px;
		font-weight: 500;
		line-height: 18px;
		width:100%;
		background-image: url(../images/kazokuso-campaign/plan_caution.png);
		background-size: 50px 50px;
		position: relative;
		background-position: right bottom;
		background-repeat: no-repeat;
	}
	.limited .plan .plan-detail > .left .caution-box .text::before {
		content: "";
		float: right;
		width: 0;
		height: 45px;
	}
	.limited .plan .plan-detail > .left .caution-box .text .shape-spacer {
		float: right;
		clear: right;
		width: 50px;
		height: 50px;
		-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
		clip-path: polygon(0 100%, 50% 0, 100% 100%);
		shape-outside: polygon(0 100%, 50% 0, 100% 100%);
}

	.limited .plan .plan-detail > .right{
		width:100%;
		gap:10px;
	}
	.limited .plan .plan-detail > .right .price-box{
		padding-bottom:5px;
	}
	.limited .plan .plan-detail > .right .price-box .title{
		font-size: 18px;
		font-weight: 600;
		line-height: normal;
		background-color: transparent;
		text-align:left;
	}
	.limited .plan .plan-detail > .right .price-box .price{
		font-size: 30px;
		font-style: normal;
		font-weight: 600;
		line-height: 60px;
	}
	.limited .plan .plan-detail > .right .price-box .price > strong{
		font-size: 60px;
		font-weight: 600;
		line-height: 60px;
	}
	.limited .plan .plan-detail > .right .price-box .tax{
		font-size: 16px;
		font-style: normal;
		font-weight: 500;
		line-height: 26px;
		letter-spacing: 0.64px;
	}
	.limited .plan .plan-detail > .right .price-box .tax strong{
		font-size: 26px;
		font-style: normal;
		font-weight: 600;
		line-height: 26px;
		letter-spacing: 1.04px;
	}
	.limited .plan .plan-detail > .right .plus{gap: 10px;}
	.limited .plan .plan-detail > .right .plus .icon{width:100px;}
	.limited .plan .plan-detail > .right .plus .text{
		font-size: 14px;
		font-weight: 600;
		line-height: 22px;
		letter-spacing: 0.56px;
	}
	.limited .plan .plan-detail > .right .plus-check{
		font-size: 14px;
		font-weight: 600;
		line-height: 22px;
		letter-spacing: 0.56px;
		padding:0;
	}
	.limited .plan .plan-detail > .right .plus-form{
		padding:0;
		margin-bottom:5px;
	}
	.limited .plan .plan-detail > .right .check{
		font-size: 12px;
		font-weight: 500;
		line-height: 16px;
		letter-spacing: 0.96px;
	}
	.limited .plan .plan-ex{
		font-size: 18px;
		line-height: normal;
		font-weight: 600;
		letter-spacing:0;
		width: calc(100% - 20px);
		padding: 14px 10px 0px 10px;
	}
	.limited .plan .plan-ex > span{
		display: block;
		padding:0;
		margin-top:16px;
	}
	.limited .plan .plan-ex::before{
		content:"";
		background-image: url(../images/kazokuso-campaign/plan_decoration_sp.png);
		display: block;
		width: calc(100% - 20px);
		aspect-ratio: 130/7;
		padding: 0px 10px 1px 10px;
		background-position: top center;
		background-size: cover;
		
	}
	.limited .plan .plan-ex > span::before{display:none;}
	.limited .plan .plan-ex > span::after{display:none;}
	.limited .plan .plan-ex-text{
		font-size: 13px;
		font-weight: 400;
		line-height: normal;
		letter-spacing: 0;
		margin-top:0px;
	}
	.plan-ex-hall{
		flex-wrap:wrap;
		gap:20px;
		padding-bottom:4px;
	}
	.plan-ex-hall-box{
		width:calc(100% - 20px);
		max-width:260px;
		margin:auto;
		padding-bottom:20px;
		border-bottom:1px solid #D3D1AD;
	}
	.plan-ex-hall-box-last{
		padding:0px;
		border-bottom:none;
	}
	.plan-ex-hall-box img{width:100%;}
	.plan-ex-hall-box h5{
		padding:8px 0px 0px 0px;
		font-size: 18px;
		font-weight: 500;
		line-height: normal;
	}
	.plan-ex-hall-box h5 >span{
		font-size: 15px;
		font-weight: 500;
		line-height: normal;
	}
	.plan-ex-hall-box .price-ex{
		font-size: 15px;
		font-weight: 500;
		line-height: normal;
		letter-spacing: 0.6px;
	}
	.plan-ex-hall-box .price{
		font-size: 26px;
		font-style: normal;
		font-weight: 600;
		line-height: 52px;
	}
	.plan-ex-hall-box .price > span{
		font-size: 52px;
		font-style: normal;
		font-weight: 600;
		line-height: 52px;
	}
	.plan-ex-hall-box .tax{
		margin-top:-2px;
		font-size: 16px;
		font-style: normal;
		font-weight: 500;
		line-height: 24px;
	}
	.plan-ex-hall-box .tax > span{
		font-size: 24px;
		font-style: normal;
		font-weight: 600;
		line-height: 24px;
	}
	.pdf-banner{
		width:calc(100% - 20px);
		margin:auto;
		flex-wrap: wrap;
		gap:16px;
	}
	.pdf-banner > .text{
		font-size: 13px;
		font-weight: 400;
		line-height: normal;
	}
	.pdf-banner > .pdf-banner-box > a{
		width:100%;
	}
}

.saidan{
	width: 98%;
	max-width: 900px;
	margin:auto;
	padding:5px 0px 20px 0px;
}
.saidan .saidan-img{
	display: flex;
	align-items: center;
	gap: 20px;
	align-self: stretch;
}
.limited .check-text{
	width: 98%;
	max-width: 900px;
	margin:auto;
	color: #4D4D4D;
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
}
@media screen and (max-width: 768px){
	.saidan{
		width:calc(100% - 20px);
		margin:auto;
		padding-bottom:14px;
	}
	.saidan .saidan-img{
		gap:4px;
		flex-wrap: wrap;
	}
	.saidan .saidan-img > div{width:49%;}
	.limited .check-text{
		width:calc(100% - 20px);
		margin:auto;
		font-size: 10px;
		font-weight: 400;
		line-height: 14px;
	}
}

.inquiry-box{
	display: flex;
	padding: 50px 0;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	background: #FFF;
}
.inquiry-box a:hover{opacity:1;}
.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: 30px;
	letter-spacing: 0.64px;
	text-align:center;
}
.ceremony-kazokuso > p > strong{
	font-size: 18px;
	font-weight: 600;
	line-height: 30px;
	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;
		text-align: left;
	}
	.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 > div > h3{
	color: #918C32;
	font-size: 26px;
	font-weight: 600;
}
.ceremony-detail .kazokuso-hall > div > 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;}
.ceremony-detail .kazokuso-hall .director{
	display: flex;
	align-items: center;
	gap: 20px;
}
.ceremony-detail .kazokuso-hall .img-text{
	display: flex;
	gap: 5px;
	flex-direction: column;
}
.ceremony-detail .kazokuso-hall .row3{gap:0}
.ceremony-detail .kazokuso-hall .row3 .img-name{
	width:100%;
	text-align: right;
}
.ceremony-detail .kazokuso-hall .director h3{
	font-family: "Noto Sans JP";
	color: #918C32;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
	padding: 8px 11px 8px 18px;
	background: #EFEEDF;
	text-align:left;
}
.ceremony-detail .kazokuso-hall .director h3 > strong{font-size:19px}
.ceremony-detail .kazokuso-hall .row3 .img{width: 230px;}
.ceremony-detail .kazokuso-hall .row3-img{
	aspect-ratio:unset;
	display: flex;
	flex-direction: column;
	gap:20px
}
.ceremony-detail .kazokuso-hall .action{aspect-ratio: unset;}
.ceremony-detail .kazokuso-hall .user-action-box{
	display: flex;
	align-items: center;
	gap: 20px;
}
.ceremony-detail .kazokuso-hall .user-action-box img{filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));}
.ceremony-detail .kazokuso-hall .user-action-box a:hover{opacity: 1;}
@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-detail .kazokuso-hall .row3{order:2;}
	.ceremony-detail .kazokuso-hall .row3-img{
		display: flex;
		order:1;
	}
	.ceremony-detail .kazokuso-hall > div > h3{
		font-size: 20px;
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0.8px;
		text-align: center;
	}
	.ceremony-detail .kazokuso-hall .director{
		flex-wrap:wrap;
		gap:10px
	}
	.ceremony-detail .kazokuso-hall .row3 .img{width:100%}
	.ceremony-detail .kazokuso-hall .row3 .img-name{
		font-size: 10px;
		font-weight: 400;
		line-height: 24px;
	}
	.ceremony-detail .kazokuso-hall .action{display:flex;}
	.ceremony-detail .kazokuso-hall .user-action-box{
		display: flex;
		flex-wrap:wrap;
	}
	.user-action-box .soudan-s,.user-action-box .shiryou-s{width:100%;}
}

.ceremony-hall-list{
	display: flex;
	padding: 60px 0 20px 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;
}
@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;
	}
}

.banner-list{
	display: flex;
	padding: 50px 0 60px 0;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	align-self: stretch;
	background: #FFFFFF;
}
.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;
	}
}

.voice{
	background: #EFEEDF;
	display: flex;
	padding: 50px 0 60px 0;
	flex-direction: column;
	align-items: center;
}
.voice h2{
	color: #918C32;
	text-align: center;
	font-size: 28px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 1.12px;
}
.voice .kazokuso-voice{
	margin:30px auto 40px auto;
	width:100%;
	max-width:900px;
	background: #FFF;
	height: 240px;
	overflow-y: scroll;
	padding-bottom:10px
}
.voice table{
	border-collapse: collapse;
	padding:10px 0px 0px 0px;
	width:100%;
	max-width: 840px;
	margin: auto;
}
.voice table th{
	border-bottom: 1px solid #918C32;
	padding:15px 0px;
	width: 250px;
	vertical-align: top;
}
.voice table th > span{
	color: #666;
	font-size: 12px;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: 0.48px;
	display:block;
	text-align:left;
}
.voice table th > h3{
	color: #666;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.48px;
	text-align: left;
}
.voice table th > h3 > strong{
	color: #918C32;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.64px;
}
.voice table td{
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0.56px;
	padding:15px 0px;
	border-bottom: 1px solid #918C32;
}
.column{
	padding:40px 0px 20px 0px;
}
.column .column-box{
	width:220px;
	height: 220px;
	background: #FFF;
	position: relative;
    margin: 0 15px 20px 15px;
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));
}
.column .column-box::after{
	content:"";
	background-image:url(../images/kazokuso-campaign/column/corner.png);
	position: absolute;
	width: 18px;
	height: 18px;
	background-size: cover;
	bottom:0;
	right:0;
}
.column .column-box p{
	color: #4D4D4D;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.56px;
	padding:12px 15px 0px 15px;
}
.column-link{
	width:270px;
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));
}
@media screen and (max-width: 768px){
	.voice{padding:30px 0px 40px 0px;}
	.voice h2{
		font-size: 20px;
		font-weight: 600;
		line-height: 26px;
		letter-spacing: 0.8px;
	}
	.voice .kazokuso-voice{
		margin:20px 0px 30px 0px;
		width: calc(100% - 40px);
		height: 400px;
	}
	.voice table{
		display: block;
		padding:0
	}
	.voice table th{
		width:calc(100% - 30px);
		display: block;
		margin:auto;
		border:none;
		padding-bottom:0px;
	}
	.voice table td{
		width:calc(100% - 30px);
		display: block;
		margin:auto;
		font-size: 13px;
		font-weight: 400;
		line-height: 20px;
		letter-spacing: 0.52px;
		padding:10px 0px 15px 0px;
	}
	.column{
		padding:30px 0px 10px 0px;
		width:100%;
		overflow: hidden;
	}
}

.map-img{
	width:100%;
	max-width:850px;
	aspect-ratio: 27/17;
	margin:auto;
}
.icon-swipe{display:none;}
.hall-list-box{
	background: #EFEEDF;
	padding:0px 0px 40px 0px;
}
.hall-box{
	background: #FFF;
    width: 220px !important;
	height: 270px;
	position: relative;
    margin: 0 15px 20px 15px;
	filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.20));
}
.hall-box::after{
	content:"";
	background-image: url(../images/kazokuso-campaign/hall/corner.png);
	width: 18px;
	height: 18px;
	background-size: cover;
	position:absolute;
	bottom:0;
	right: 0;
}
.hall-box div{padding:10px 10px 0px 10px;}
.hall-box h3{
	color: #918C32;
	font-size: 20px;
	font-weight: 500;
	line-height: 20px;
	letter-spacing: 0.8px;
}
.hall-box .type1,.hall-box .type2{
	font-size: 14px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.56px;
	margin-top:6px;
}
.hall-box .type1{color:#A7A35B;}
.hall-box .type2{color:#995585}
.hall-box .address, .hall-box .access{
	color: #4D4D4D;
	font-size: 11px;
	font-weight: 400;
	line-height: 14px;
}
.hall-box .address{	margin:10px 0px 6px 0px;}
.slick-slide img{width:100%;}
.slick-prev-custom, .slick-next-custom {
    position: absolute;
    z-index: 10;
    top: 110px;
	width:40px;
	height: 40px;
	border:none;
	background: transparent;
	cursor: pointer;
}
.slick-prev-custom{left: calc(50% - 600px);}
.slick-next-custom{right: calc(50% - 600px);}
@media screen and (max-width: 768px){
	.hall-list-box{padding:0px 0px 20px 0px}
	.hall-list{
		width:100%;
		overflow: hidden;
	}
	.map-img{
		height: 200px;
		margin: 0px auto;
	}
	.map-img .map-scroll {
		overflow: scroll;
		width: auto;
		height: 200px;
	}
	.map-img img{width: 550px;}
	.icon-swipe{
		display: block;
		width:60px;
		height: 60px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		pointer-events: none;
		z-index: 2;
	}
	.map-img .icon-swipe img{width:100%;}
}