@charset "utf-8";

.bgColor{
	background: #efedfa;
}

[class^="sec_"]{
	padding: 108px 0 100px;
}
[class^="sec_"] .lead{
	font-family: "Shippori Mincho", serif;
	font-weight: 700;
	text-align: left;
}

#mainVisual{
	overflow: hidden;
	position: relative;
}

#mainVisual .txtContainer{
	color: #001655;
	font-family: "Shippori Mincho", serif;
	text-align: left;
	padding-left: 35px;
	margin: 0 auto;
	max-width: 1600px;
	width: 100%;
	position: relative;
}
#mainVisual .txtContainer .inner{
	position: absolute;
	left: 0;
	bottom: 40px;
	z-index: 99;
	width: 100%;
}

#mainVisual .txtContainer h1{
	font-size: 3.2rem;
	padding-left: 42px;
	line-height: 1.688;
}
	#mainVisual .txtContainer h1 .fnt1{
		font-size: 1.333333em;
		margin-bottom: 25px;
		display: inline-block;
	}

#mainVisual .txtContainer .txtBox{
	font-size: 3.2rem;
	font-weight: 700;
	background: #efedfa;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	padding: 0 0 30px 36px;
	margin-top: 80px;
	max-width: 835px;
	width: calc(100% - 20px);
}
#mainVisual .txtContainer .txtBox .fnt{
	font-size: 1.875em;
}
#mainVisual .txtContainer .txtBox .notes{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 0.5625em;
	margin-top: 10px;
}


#mainVisual .txtContainer .js-fadein{
	transform: translateY(0);
}

/*  MV Swiper設定  */
@-webkit-keyframes zoomUp {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
}

@keyframes zoomUp { /* 1.15倍させる指定 */
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	100% {
		-webkit-transform: scale(1.15);
		transform: scale(1.15);
	}
}

.swiper-main .swiper-slide {
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	transition: opacity 1s ease-in-out;
}

.swiper-main .swiper-slide-active {
	opacity: 1;
}

.swiper-main .swiper-slide-active .swiper-img,
.swiper-main .swiper-slide-duplicate-active .swiper-img,
.swiper-main .swiper-slide-prev .swiper-img { /* ８秒かけて拡大させる */
	-webkit-animation: zoomUp 8s linear 0s;
	animation: zoomUp 8s linear 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

.swiper-main .swiper-img{
	aspect-ratio: 64 / 23;
	min-height: 690px;
	position: relative;
	width: 100%;
	animation: none;
}
/*
.swiper-main .slide1 .swiper-img{
	background: url("../img/slider_main_01.jpg") no-repeat right center;
}
*/
.swiper-main .slide2 .swiper-img{
	background: url("../img/slider_main_02.jpg") no-repeat right center;
}
.swiper-main .slide3 .swiper-img{
	background: url("../img/slider_main_03.jpg") no-repeat right center;
}


@media screen and (max-width: 1200px){
	#mainVisual .txtContainer .inner{
		bottom: 20px;
	}
	#mainVisual .txtContainer h1{
		padding-left: 20px;
	}
	#mainVisual .txtContainer .txtBox{
		margin-top: 25px;
		padding-left: 20px;
	}
	.swiper-main .swiper-img{
		min-height: 480px;
	}
	.swiper-main .slide1 .swiper-img{
		background-position: 73% top;
	}
	.swiper-main .slide3 .swiper-img{
		background-position: 73% bottom;
	}
}
@media screen and (max-width: 767px){
	#mainVisual .txtContainer h1{
		padding-left: 15px;
		font-size: clamp(1rem,4vw,2.6rem);
	}
	#mainVisual .txtContainer h1 .fnt1{
		font-size: clamp(1.2rem,5.6vw,5rem);
		margin-bottom: 5px;
	}
	#mainVisual .txtContainer .txtBox{
		padding-top: 10px;
		padding-left: 20px;
		font-size: clamp(1rem,5.3vw,1.9rem);
		width: calc(100% - 20px);
	}
	
	.swiper-main .swiper-img{
		aspect-ratio: 5 / 7;
		min-height: inherit;
	}
	.swiper-main .slide1 .swiper-img,
	.swiper-main .slide2 .swiper-img,
	.swiper-main .slide3 .swiper-img{
		background-position: center center;
		background-size: cover;
	}
	.swiper-main .slide1 .swiper-img{
		background-image: url("../img/slider_main_sp_01.jpg");
	}
	.swiper-main .slide2 .swiper-img{
		background-image: url("../img/slider_main_sp_02.jpg");
	}
	.swiper-main .slide3 .swiper-img{
		background-image: url("../img/slider_main_sp_03.jpg");
	}
}

/* ------------------------------------------------------------------------ */

/* ankerContainer

/* ------------------------------------------------------------------------ */

.ankerContainer{
	font-family: "Shippori Mincho", serif;
}

.ankerContainer ul{
	background: #efedfa;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px 56px;
	padding: 24px 20px;
	margin-top: 80px;
}

.ankerContainer ul li{
	background: #4c4398;
	position: relative;
	border-radius: 3px;
	overflow: hidden;
	max-width: 300px;
	width: 50%;
}

.ankerContainer li a{
	display: block;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 64px;
	padding: 0 10px;
	width: 100%;
}

.ankerContainer li a:hover{
	background: #001655;
}

	.ankerContainer li a::after{
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 36px;
		height: 36px;
		background: #fff url("/common/img/icon_arrow_pur_min.png") no-repeat 15px 12px / 15px 4px;
		color: #fff;
		border-bottom-left-radius: 100%;
		transform: rotate(90deg);
	}

.ankerContainer .pageLead{
	margin-top: 64px;
	line-height: 1.778;
	font-weight: 700;
}

@media screen and (max-width: 767px){
	.ankerContainer ul{
		margin-top: 40px;
		gap: 20px;
	}
		.ankerContainer li a{
			font-size: clamp(1.2rem,4.2vw,1.8rem);
			line-height: 54px;
		}
			.ankerContainer li a::after{
				background-size: 10px 2px;
				background-position: 7px 6px;
				width: 20px;
				height: 20px;
			}
	
	.ankerContainer .pageLead{
		text-align: left;
		margin-top: 40px;
	}
}


/* ------------------------------------------------------------------------ */

/* 葬儀プラン

/* ------------------------------------------------------------------------ */
.sec_plan{
	padding-bottom: 120px;
}
.sec_plan .hd01{
	margin-bottom: 26px;
}

.sec_plan .lead + .hd02{
	margin-top: 70px;
}

.sec_plan .cardWrap{
	margin-top: 49px;
}

.sec_plan .cardWrap .card{
	border: solid 3px #b48fcc;
	border-radius: 4px;
	border-collapse: collapse;
	overflow: hidden;
}
.sec_plan .cardWrap .card.p-family{
	border-color: #f090bb;
}
.sec_plan .cardWrap .card.p-home{
	border-color: #76c4c4;
}
.sec_plan .cardWrap .card.p-temple{
	border-color: #f0aa54;
}
.sec_plan .cardWrap .card.p-about{
	border-color: #75c3eb;
}

.sec_plan .card + .card{
	margin-top: 40px;
}

.sec_plan .card h4{
	background: #b48fcc;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	font-family: "Shippori Mincho", serif;
	text-align: left;
	padding: 8px 20px;
}
.sec_plan .card.p-family h4,
.sec_plan .card.p-family .txtBox .com-btn{
	background: #f090bb;
}
.sec_plan .card.p-home h4,
.sec_plan .card.p-home .txtBox .com-btn{
	background: #76c4c4;
}
.sec_plan .card.p-temple h4,
.sec_plan .card.p-temple .txtBox .com-btn{
	background: #f0aa54;
}
.sec_plan .card.p-about h4,
.sec_plan .card.p-about .txtBox .com-btn{
	background: #75c3eb;
}

.sec_plan .card .txtContainer{
	padding: 38px 15px 38px 54px;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 44px;
}
	.sec_plan .txtContainer figure{
		max-width: 500px;
		width: 48%;
	}
	.sec_plan .txtContainer .txtBox{
		text-align: left;
		width: 52%;
	}

.sec_plan .txtBox .ulStyle01.style01{
	margin-bottom: 45px;
}
	.sec_plan .txtBox .ulStyle01.style01 li{
		font-size: 1.22222em;
	}

.sec_plan .txtBox .com-btn{
	max-width: 546px;
	background: #b48fcc;
	border-color: #b48fcc;
	color: #fff;
	margin-top: 30px;
	line-height: inherit;
	padding: 16px 0 17px;
	padding-right: 39px;
	padding-left: 60px;
	text-align: left;
}
.sec_plan .card.p-family .txtBox .com-btn{
	border-color: #f090bb;
	background: #f090bb;
}
.sec_plan .card.p-home .txtBox .com-btn{
	border-color: #76c4c4;
	background: #76c4c4;
}
.sec_plan .card.p-temple .txtBox .com-btn{
	border-color: #f0aa54;
	background: #f0aa54;
}
.sec_plan .card.p-about .txtBox .com-btn{
	border-color: #75c3eb;
	background: #75c3eb;
}
	.sec_plan .txtBox a.com-btn::after{
		background-image: url("/common/img/icon_arrow36.png");
	}
	.sec_plan .txtBox a.com-btn:hover{
		border-color: #001655 !important;
		background: #001655 !important;
	}

.sec_plan .courseList > li{
	margin-top: 25px;
}
	.sec_plan .courseList h5{
		font-size: 2.6rem;
		font-weight: 700;
		font-family: "Shippori Mincho", serif;
		color: #8847b3;
		position: relative;
		padding-left: 18px;
	}
	.sec_plan .card.p-family .courseList h5{
		color: #d94c8b;
	}
	.sec_plan .card.p-home .courseList h5{
		color: #07818c;
	}
	.sec_plan .card.p-temple .courseList h5{
		color: #d9720b;
	}
	.sec_plan .card.p-about .courseList h5{
		color: #1174a6;
	}
		.sec_plan .courseList h5::before{
			content: "";
			display: inline-block;
			width: 8px;
			height: 8px;
			background: #8847b3;
			border-radius: 50%;
			position: absolute;
			top: calc(100% / 2 - 1px);
			left: 0;
		}
		.sec_plan .card.p-family .courseList h5::before{
			background: #d94c8b;
		}
		.sec_plan .card.p-home .courseList h5::before{
			background: #07818c;
		}
		.sec_plan .card.p-temple .courseList h5::before{
			background: #d9720b;
		}

	.sec_plan .courseList p{
		padding-left: 18px;
	}

.sec_plan .priceBox{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 20px;
}
	.sec_plan .priceBox p{
		font-weight: 700;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		font-family: "Roboto", "Noto Sans JP", sans-serif;
	}

	.sec_plan .priceBox .tax{
		font-weight: 500;
		font-feature-settings: "palt";
	}

	.sec_plan .priceBox .member{
		font-size: 3.6rem;
	}
		.sec_plan .priceBox .member .yen{
			font-size: 0.666667em;
		}
		.sec_plan .priceBox .member .tax{
			font-size: 0.499999em;
		}

	.sec_plan .priceBox .general{
		font-size: 2.6rem;
		padding-left: 0;
	}
		.sec_plan .priceBox .general .yen{
			font-size: 0.923078em;
		}
		.sec_plan .priceBox .general .tax{
			font-size: 0.53846em;
		}

	.sec_plan .priceBox .label{
		font-size: 1.2rem;
		display: inline-block;
		text-align: center;
		color: #8847b3;
		border: solid 1px #8847b3;
		min-width: 64px;
		line-height: 28px;
		margin-right: 8px;
	}
	.sec_plan .card.p-family .priceBox .general .label{
		color: #d94c8b;
		border-color: #d94c8b;
	}
	.sec_plan .card.p-home .priceBox .general .label{
		color: #07818c;
		border-color: #07818c;
	}
	.sec_plan .card.p-temple .priceBox .general .label{
		color: #d9720b;
		border-color: #d9720b;
	}
	.sec_plan .card.p-about .priceBox .general .label{
		color: #1174a6;
		border-color: #1174a6;
	}

	.sec_plan .priceBox .member .label{
		font-size: 1rem;
		background: #2fa77f;
		color: #fff;
		border-color: #2fa77f;
		line-height: 1.2;
		padding: 2px 0;
	}


@media screen and (max-width: 1200px){
	.sec_plan .card .txtContainer{
		flex-direction: column;
	}
	.sec_plan .txtContainer figure{
		margin: 0 auto;
		width: 100%;
	}
	.sec_plan .txtContainer .txtBox{
		width: 100%;
	}
}
@media screen and (max-width: 767px){
	.sec_plan{
		padding: 40px 0 60px;
	}
	.sec_plan .hd01 {
		margin-bottom: 40px;
	}
	
	.sec_plan .lead + .hd02{
		margin-top: 40px;
	}
	
	.sec_plan .cardWrap{
		margin-top: 40px;
	}
	
	.sec_plan .card + .card{
		margin-top: 25px;
	}
	
	.sec_plan .cardWrap .card{
		border-width: 2px;
	}
	
	.sec_plan .card h4{
		font-size: 2.2rem;
		padding: 8px 10px
	}
	
	.sec_plan .card .txtContainer{
		padding: 20px 20px;
		gap: 20px;
	}
	.sec_plan .courseList > li{
		margin-top: 15px;
	}
	.sec_plan .courseList h5{
		font-size: 2.2rem;
		padding-left: 12px;
	}
	.sec_plan .courseList h5::before{
		width: 6px;
		height: 6px;
	}
	.sec_plan .courseList p,
	.sec_plan .priceBox .member,
	.sec_plan .priceBox .general{
		padding-left: 12px;
	}
	
	.sec_plan .priceBox{
		flex-direction: column;
		max-width: fit-content;
		gap: 0;
	}
	
	.sec_plan .priceBox p{
		justify-content: space-between;
	}
	.sec_plan .courseList .priceBox + p{
		margin-top: 5px;
	}
		.sec_plan .priceBox .member{
			font-size: 3rem;
		}
		.sec_plan .priceBox .general .yen{
			font-size: 2rem;
		}

		.sec_plan .priceBox .member .tax,
		.sec_plan .priceBox .general .tax{
			font-size: 14px;
		}
	
	.sec_plan .txtBox .com-btn{
		font-size: 1.4rem;
		text-align: left;
		padding: 16px 39px 17px 15px;
	}
	.sec_plan .txtBox a.com-btn::after{
		width: 26px;
		right: 10px;
	}
	
	.sec_plan .txtBox .ulStyle01.style01{
		margin-bottom: 20px;
	}
}



/* ------------------------------------------------------------------------ */

/* 葬儀会場を見る

/* ------------------------------------------------------------------------ */
.sec_place .mapContainer{
	position: relative;
}

.sec_place .mapContainer ul{
	position: absolute;
	top: 63px;
	left: 63px;
	width: 410px;
}

.sec_place .mapContainer li + li{
	margin-top: 32px;
}

.sec_place .mapContainer li a{
	color: #fff;
	font-family: "Shippori Mincho", serif;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: left;
	padding-left: 21px;
	line-height: 60px;
	letter-spacing: 0.06em;
}

.sec_place .mapContainer li a.com-btn{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0;
	margin-top: 0;
	max-width: 410px;
}
.sec_place .mapContainer .name{
	display: grid;
	width: 110px;
}
	.sec_place .mapContainer .noshiro .name img {
		width: 70px;
	}
	.sec_place .mapContainer .hutatsui .name img {
		width: 90px;
	}
	.sec_place .mapContainer .mitane .name img {
		width: 68px;
	}

.sec_place .mapContainer li a.com-btn::after{
	background-image: url("/common/img/icon_arrow.png");
}

.sec_place .mapContainer li.noshiro a{
	background: #f26da7;
	border-color: #f26da7;
}
.sec_place .mapContainer li.hutatsui a{
	background: #39bfa9;
	border-color: #39bfa9;
}
.sec_place .mapContainer li.mitane a{
	background: #f29018;
	border-color: #f29018;
}

.sec_place .mapContainer li a.com-btn:hover{
	background: #001655;
	border-color: #001655;
}
@media screen and (max-width: 1023px){
	.sec_place .mapContainer ul{
		position: static;
		width: calc(100% - 40px);
		margin: 40px auto 0;
	}
	.sec_place .mapContainer li + li{
		margin-top: 20px;
	}
	.sec_place .mapContainer li a.com-btn{
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px){
	.sec_place{
		padding: 40px 0 60px;
	}
	.sec_place .hd01 {
		margin-bottom: 40px;
	}
	.sec_place .mapContainer{
		margin: 0 auto;
		max-width: 750px;
	}
	.sec_place .mapContainer li a.com-btn{
		font-size: 1.4rem;
	}
	.sec_place .mapContainer li a.com-btn::after{
		right: 10px;
	}
	.sec_place .mapContainer li a .name{
		width: 90px;
	}
		.sec_place .mapContainer .noshiro .name img,
		.sec_place .mapContainer .mitane .name img{
			width: 57px;
		}
		.sec_place .mapContainer .hutatsui .name img{
			width: 70px;
		}
}
@media screen and (max-width: 750px){
	.sec_place .mapContainer{
		margin: 0 -20px;
	}
}
@media screen and (max-width: 374px){
	.sec_place .mapContainer li a.com-btn{
		font-size: 1.2rem;
		padding-right: 0;
		padding-left: 10px;
	}
	.sec_place .mapContainer li a.com-btn::after{
		right: 10px;
	}
}


/* ------------------------------------------------------------------------ */

/* 利用者の声

/* ------------------------------------------------------------------------ */
.sec_voice{
	margin-top: 120px;
	padding-top: 68px;
	padding-bottom: 0;
	position: relative;
}
	.sec_voice::before{
		content: "";
		position: absolute;
		top: -120px;
		left: 50%;
		transform: translateX(-50%);
		width: 150%;
		height: 1190px;
		background: #efedfa;
		border-radius: 50% 50% 0 0;
		z-index: -1;
	}
	.sec_voice .hd01,
	.sec_voice .lead{
		color: #4c4398;
	}

.sec_voice .hd01{
	margin-bottom: 25px;
}

.slideWrap{
	margin-top: 59px;
}

.voice-swiper{
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 10px;
}

.voice-swiper .swiper-wrapper{
	align-items: stretch;
}

.voice__slider-wrap {
	background: #fff;
	border-top-left-radius: 40px;
	border-bottom-left-radius: 40px;
	padding: 109px 100px 100px;
	padding-right: 70px;
	margin: 0 auto;
	position: relative;
	max-width: 1400px;
	width: calc(100% - 40px)
}
.voice__slider-wrap::before{
	content: "";
	display: block;
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 100%;
}

.voice__slider-wrap .hd02{
	max-width: 1210px;
	margin-bottom: 34px;
}

.voice-swiper li{
	background: #fff;
	border-radius: 4px;
	max-width: 282px;
	box-shadow: 3px 3px 13px 0px rgba(0,0,0,0.1);
	position: relative;
	overflow: hidden;
}
	.voice-swiper li::after{
		content: "";
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		width: 36px;
		height: 36px;
		background: #4c4398 url("/common/img/icon_arrow.png") no-repeat 15px 18px / 15px 4px;
		color: #fff;
		border-top-left-radius: 100%;
	}
	.voice-swiper li figure{
		width: 100%;
		aspect-ratio: 282/180;
	}
		.voice-swiper li figure img{
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	.voice-swiper li .txtBox{
		text-align: left;
		padding: 15px 16px 44px;
	}
	.voice-swiper li .ttl{
		color: #4c4398;
		font-size: 1.6rem;
		font-weight: 700;
	}
	.voice-swiper li .txt{
		margin-top: 5px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}
	.voice-swiper li .name{
		font-size: 1.6rem;
		color: #606060;
		text-align: right;
		margin-top: 1em;
	}

.voice-swiper-nav{
	justify-content: center;
	margin-top: 12px;
	display: none;
}
	.swiper-pagination{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		margin: 0 32px;
		gap: 8px;
	}
		.swiper-pagination .swiper-pagination-bullet{
			display: block;
			width: 8px;
			height: 8px;
			background: #bebebe;
			border-radius: 50%;
			cursor: pointer;
		}
		.swiper-pagination .swiper-pagination-bullet:hover,
		.swiper-pagination .swiper-pagination-bullet-active{
			background: #4c4398;
		}

	.voice-swiper-nav button{
		display: block;
		width: 36px;
		height: 36px;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
	}
	.voice-swiper-nav .swiper-button-prev{
		background: url("/common/img/icon_arrow_active.png") no-repeat center / contain;
		transform: scale(-1, 1);
		left: 0;
	}
	.voice-swiper-nav .swiper-button-next{
		background: url("/common/img/icon_arrow_active.png") no-repeat center / contain;
		right: 0;
	}



/* アンケート
------------------------ */

.sec_enquete{
	margin-top: 109px;
	padding-bottom: 100px;
}

.sec_enquete .hd02 span{
	background: #efedfa;
}

.enqueteList{
	max-width: 1026px;
	margin: 54px auto 0;
	gap: 24px;
}

.enqueteList li{
	padding: 16px;
	background: #fff;
	position: relative;
	overflow: hidden;
}
.enqueteList li figcaption{
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 60px;
	background: #282730;
	color: #fff;
	font-size: 1.4rem;
	border-bottom-right-radius: 100%;
	padding-top: 13px;
	padding-left: 8px;
	text-align: left;
}
.enqueteList li.dummy{
	position: relative;
}
.enqueteList li.dummy::after{
	content: "ダミーです";
	color: #fff;
	background: rgba(0,0,0,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.6rem;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

@media (min-width: 1431px) {
	.voice-swiper .swiper-wrapper{
		gap: 20px;
	}
}

@media screen and (max-width: 1430px){
	.voice__slider-wrap{
		margin-right: 0;
		padding-right: 0;
	}
	.voice__slider-wrap .hd02{
		width: calc(100% - 40px);
	}
	.voice-swiper{
		margin-right: 0;
	}
	.voice-swiper-nav{
		display: flex;
	}
}
@media screen and (max-width: 1024px){
	.sec_voice::before{
		height: 360px;
		top: -60px;
	}
	.voice-swiper{
		margin-right: -20px;
	}
	
	.voice__slider-wrap{
		padding: 60px 0 50px;
		padding-right: 20px;
		padding-left: 20px;
	}
	.voice-swiper-nav-wrap{
		padding: 0;
		padding-right: 20px;
	}
}
@media screen and (max-width: 767px){
	.sec_voice{
		margin-top: 60px;
	}
	.sec_voice::before{
		height: 340px;
		top: -30px;
	}

	.slideWrap{
		margin-top: 40px;
	}
	.voice__slider-wrap{
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px;
		margin-right: 0;
		width: calc(100vw - max((100vw - 1400px) / 2, 10px));
	}
	
	.voice__slider-wrap .hd02{
		margin-bottom: 40px;
		width: calc(100% - 20px);
	}
	
	.voice-swiper li{
		max-width: 300px;
	}
	
	.voice__slider-wrap a.com-btn{
		margin-top: 25px;
	}
	
	/* アンケート
	------------------------ */
	.sec_enquete{
		margin-top: 60px;
	}
	.enqueteList{
		flex-direction: column;
		margin-top: 40px;
	}
	.enqueteList li{
		width: 86%;
	}

}


/* ------------------------------------------------------------------------ */

/* 葬儀の流れ・事前相談

/* ------------------------------------------------------------------------ */

.sec_info{
	padding: 80px 0;
}

.sec_info .contents{
	max-width: 1600px;
	width: 100%;
}

.sec_info ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
}
	.sec_info ul li{
		font-family: "Shippori Mincho", serif;
		text-align: left;
		padding: 36px 42px 30px;
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		position: relative;
	}
	.sec_info li.flow{
		color: #268062;
		background: #e5fff6;
	}
	.sec_info li.consult{
		color: #d96297;
		background: #fff0f7;
	}

.sec_info ul li .inner{
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
}
.sec_info ul li.flow .inner{
	background: url("../img/img_flow_01.png") no-repeat right bottom / 269.5px;
}
.sec_info ul li.consult .inner{
	background: url("../img/img_consultation_01.png") no-repeat right bottom / 270px;
}

.sec_info .ttl{
	font-size: 4rem;
	font-weight: 700;
}

.sec_info .lead{
	margin-top: 22px;
	line-height: 1.778;
}

.sec_info .com-btn{
	color: #fff;
	text-align: center;
	margin: 0 auto 0 0;
	margin-top: 41px;
	width: 100%;
}
.sec_info a.com-btn::after{
	background-image: url("/common/img/icon_arrow36.png");
}
.sec_info li.flow .com-btn{
	border-color: #268062;
	background: #268062;
}
.sec_info li.consult .com-btn{
	border-color: #d96297;
	background: #d96297;
}
.sec_info li.flow .com-btn:hover,
.sec_info li.consult .com-btn:hover{
	border-color: #001655;
	background: #001655;
}

.sec_info .label{
	display: block;
	background: #fff;
	border: solid 1px #268062;
	border-radius: 4px;
	font-weight: 700;
	position: absolute;
	top: 32px;
	right: 40px;
	padding: 4px 13px;
}
.sec_info li.consult .label{
	border-color: #d96297;
}

@media screen and (max-width: 1360px){
	.sec_info ul li{
		padding-top: 70px;
	}
	.sec_info .label{
		top: 20px;
	}
}
@media screen and (max-width: 1024px){
	.sec_info ul{
		display: block;
	}
	.sec_info .label{
		right: auto;
		left: 22px;
	}
	
	.sec_info ul li.flow .inner{
		background-size: 29%;
	}
	.sec_info ul li.consult .inner{
		background-size: 32%;
	}
}
@media screen and (max-width: 767px){
	.sec_info{
		padding: 50px 0;
	}
	.sec_info ul li{
		padding: 20px 20px 30px;
	}
	
	.sec_info ul li.flow .inner{
		background-size: 36%;
	}
	.sec_info ul li.consult .inner{
		background-size: 40%;
	}

	.sec_info ul li.flow .inner,
	.sec_info ul li.consult .inner{
		background-position: right top;
	}
	.sec_info li.flow .inner{
		padding-top: 80px;
	}
	.sec_info li.consult .inner{
		padding-top: 60px;
	}
	.sec_info .label{
		padding: 4px 6px;
	}
	.sec_info .ttl{
		font-size: 2.8rem;
	}
	.sec_info .lead{
		font-size: 1.6rem;
	}
}

/* ------------------------------------------------------------------------ */

/* よくあるご質問

/* ------------------------------------------------------------------------ */

.sec_faq{
	padding-bottom: 80px;
}

.sec_faq .hd01{
	margin-bottom: 55px;
}

.accordion dl{
	background: #fff;
	padding-bottom: 6px;
}

.accordion dl + dl{
	margin-top: 16px;
}

.accordion dl dt,
.accordion dl dd{
	font-size: 2rem;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
	.accordion dl dt::before,
	.accordion dl dd .flex::before{
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: "Roboto", sans-serif;
		font-size: 2.6rem;
		font-weight: 600;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		margin-right: 24px;
		flex-shrink: 0;
	}


.accordion dl dt{
	cursor: pointer;
	text-align: left;
	padding: 30px 70px 24px 32px;
}
	.accordion dl dt::before{
		content: "Q";
		background: #4c4398;
		color: #fff;
	}
	.accordion dl dt .txt{
		padding: 5px 0;
	}


.accordion dl dd{
	display: none;
	line-height: 2;
	text-align: left;
	font-weight: 400;
	padding: 0 32px 24px;
}
.accordion dl dd .flex{
	align-items: flex-start;
	justify-content: flex-start;
}
	.accordion dl dd .flex::before{
		content: "A";
		border: solid 2px #4c4398;
		color: #4c4398;
	}

.dli-plus{
	position: absolute;
	text-align: center;
	top: 34px;
	right: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
}
	.dli-plus::before{
		content: "\2b";
		font-size: 1.714em;
		font-family: "FontAwesome";
		font-weight: 400;
		color: #4c4398;
	}
	.active .dli-plus::before{
		content: "\f068";
	}

@media screen and (max-width: 767px){
	.sec_faq{
		padding: 60px 0 70px;
	}
	.sec_faq .hd01{
		margin-bottom: 45px;
	}
	.accordion dl{
		padding-bottom: 0;
	}
	.accordion dl dt,
	.accordion dl dd{
		font-size: 1.6rem;
	}
	.accordion dl dt{
		padding: 15px 45px 15px 12px;
	}
	.accordion dl dd{
		padding: 0 12px 15px;
	}
	.accordion dl dt::before,
	.accordion dl dd .flex::before{
		font-size: 2.4rem;
		margin-right: 10px;
		width: 35px;
		height: 35px;
	}
	.dli-plus{
		top: 17px;
		right: 12px;
	}
}


/* ------------------------------------------------------------------------ */

/* お知らせ

/* ------------------------------------------------------------------------ */

.sec_news{
	padding-top: 87px;
}
.sec_news .hd01{
	margin-bottom: 53px;
}

.sec_news a.com-btn{
	max-width: 300px;
}

@media screen and (max-width: 767px){
	.sec_news{
		padding-top: 60px;
	}
}


/* ------------------------------------------------------------------------ */

/* クオーレがあって良かった

/* ------------------------------------------------------------------------ */
.sec_about{
	position: relative;
}
	.sec_about::before{
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 150%;
		height: 1160px;
		background: #efedfa;
		border-radius: 50% 50% 0 0;
	}

.sec_about .bgColor{
	padding-bottom: 56px;
	background: #FFFFFF;
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(239, 237, 250, 1) 20%, rgba(239, 237, 250, 1) 100%);
	margin-top: -21px;
}

.sec_about .contents {
	position: relative;
	z-index: 1;
}

.sec_about .lead{
	color: #4c4398;
	font-size: 2.8rem;
	line-height: 2.143;
	letter-spacing: 0.06em;
	text-align: center;
}
.sec_about .lead .big{
	font-size: 1.5em;
	line-height: 2.381;
	margin-bottom: 12px;
	display: inline-block;
}

.map-swiper{
	margin-top: 86px;
}
.map-swiper .swiper-wrapper{
	transition-timing-function: linear;
	gap: 8px;
}
.map-swiper .swiper-slide{
	border-radius: 4px;
	max-width: 350px;
	overflow: hidden;
}
.map-swiper .swiper-slide:nth-child(odd){
	margin-top: 40px;
}

/*.map-swiper .swiper-slide::before{
	display: grid;
	content: "画像差し替え予定";
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	color: #fff;
	place-content: center;
}
*/
.sec_map{
	position: relative;
	z-index: 1;
	background: #fff;
	padding-top: 92px;
	padding-bottom: 0;
}

.sec_map > .contents{
	max-width: 1600px;
	width: 100%;
}

.sec_map h2{
	position: relative;
	z-index: 1;
}
	.sec_map h2::before{
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #001655;
		position: absolute;
		top: calc(100% / 2);
		left: 0;
		z-index: -1;
	}
	.sec_map h2 span{
		display: grid;
		place-content: center;
		background: #fff;
		padding: 0 14px;
		margin: 0 auto;
	}

.sec_map .noshiro h2 span,
.sec_map .mitane h2 span{
	max-width: 170px;
	width: 50%;;
}
.sec_map .hutatsui h2 span{
	max-width: 194px;
	width: 56%;;
}

.sec_map ul{
	gap: 20px;
}
.sec_map li{
	max-width: 520px;
	width: 100%;
}

.sec_map .map{
	margin-top: 10px;
	width: 100%;
	height: 100%;
	aspect-ratio: 13 / 8;
}
.sec_map .map iframe{
	height: 100%;
	width: 100%;
}

.sec_map li.noshiro h2{
	color: #f26da7;
}
	.sec_map li.noshiro h2::before{
		background: #f26da7;
	}

.sec_map li.hutatsui h2{
	color: #39bfa9;
}
	.sec_map li.hutatsui h2::before{
		background: #39bfa9;
	}

.sec_map li.mitane h2{
	color: #f29018;
}
	.sec_map li.mitane h2::before{
		background: #f29018;
	}

.sec_map a.com-btn{
	max-width: 300px;
}


@media screen and (max-width: 1024px){
	.sec_about::before{
		height: 360px;
	}
	.sec_about .lead .big{
		font-size: 1.3em;
	}
}
@media screen and (max-width: 767px){
	.sec_about::before{
		top: 20px;
		height: 320px;
	}
	.sec_about .bgColor{
		padding-bottom: 36px;
	}
	.sec_about .lead{
		font-size: clamp(1.6rem,4vw,1.8rem);
		margin: 0 -10px;
	}
	.sec_about .lead .big{
		font-size: clamp(1.6rem,5vw,2.3rem);
	}
	.map-swiper{
		margin-top: 40px;
	}
	.map-swiper .swiper-slide{
		max-width: 260px;
	}
	
	.sec_map > .contents{
		flex-direction: column;
		width: calc(100% - 40px);
	}
	
	.sec_map ul{
		gap: 40px;
	}
	
	.sec_map h2{
		font-size: 2.2rem;
	}
}

