@charset "utf-8";

/*----------------------------------------------------
 全体
----------------------------------------------------*/
body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
	font-size: var(--18px);
	line-height: 1.65;
	color: var(--text-color);
	letter-spacing: 0.05em;
	background-color: var(--bg-color-yellow);
}

a {
	transition: 0.3s;
	text-decoration: none;
	color: var(--link-color);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

ul,
dl,
ol {
  text-indent: 0;
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

small {
	font-size: 75%;
}

strong {
	font-weight: 700;
}

/*----------------------------------------------------
 common
----------------------------------------------------*/
.sp {
	display: block;
}

.pc {
	display: none !important;
}

.mincyo {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.txtLink {
	text-decoration: underline;
	text-decoration-color: var(--link-color);
	text-underline-offset:var(--03px);
}

.txtCenter {
	text-align: center;
}

.txtRight {
	text-align: right;
}

.dots {
	-webkit-text-emphasis: filled;
	text-emphasis: filled;
}

.red {
	color: var(--color-red);
}

.green {
	color: var(--color-green);
}

.font80 {
	font-size: 80%;
}

.font110 {
	font-size: 110%;
}

.font120 {
	font-size: 120%;
}

.font140 {
	font-size: 140%;
}

.font200 {
	font-size: 200%;
}

.photoFrame {
	border: 5px solid #FFF;
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
}

.photoCaption {
	border-radius: 10px;
	background-color: var(--bg-color-glay);
	font-size: var(--12px);
	line-height: 1.2;
	padding: var(--08px) var(--10px);
}

.photoCenter {
	margin-left: auto;
	margin-right: auto;
}

.underline {
	background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, #FFF67F 60% 100%);
}

/*----------------------------------------------------
 margin
----------------------------------------------------*/
.mb3 {
	margin-bottom: var(--03px);
}
.mb5 {
	margin-bottom: var(--05px);
}
.mb10 {
	margin-bottom: var(--10px);
}
.mb15 {
	margin-bottom: var(--15px);
}
.mb20 {
	margin-bottom: var(--20px);
}
.mb30 {
	margin-bottom: var(--30px);
}
.mb40 {
	margin-bottom: var(--40px);
}
.mb50 {
	margin-bottom: var(--50px);
}

.mt3 {
	margin-top: var(--03px);
}
.mt5 {
	margin-top: var(--05px);
}
.mt10 {
	margin-top: var(--10px);
}
.mt20 {
	margin-top: var(--20px);
}
.mt30 {
	margin-top: var(--30px);
}
.mt40 {
	margin-top: var(--40px);
}
.mt50 {
	margin-top: var(--50px);
}

/*----------------------------------------------------
 noScrollX
----------------------------------------------------*/
.noScrollX {
	overflow-x: hidden;
	position: relative;
}

/*----------------------------------------------------
 開閉アコーディオン
----------------------------------------------------*/
/* アコーディオンボタン */
.accordion__title {
	position: relative;
	cursor: pointer;
	user-select: none;
}

/* アコーディオン展開時のアイコン */
.accordion__title::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	transition: all 0.2s ease-in-out;
	display: block;
	width: 10px;
	height: 10px;
	border-top: solid 3px var(--color-green);
	border-right: solid 3px var(--color-green);
	transform: translateY(-50%) rotate(135deg);
}
	.accordion__title.is-active::after {
		transform: translateY(-50%) rotate(315deg);
	}

/* アコーディオンの中身 */
.accordion__content {
	padding: 0 var(--15px);
	line-height: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition-duration: .3s;
}
	.accordion__content.is-open {
		padding: var(--15px);
		line-height: normal; /* numberに書き換える*/
		height: auto;
		opacity: 1;
	}

/*----------------------------------------------------
 wrapper
----------------------------------------------------*/
.wrapper1000 {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper900 {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper800 {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/*----------------------------------------------------
 table
----------------------------------------------------*/
.nomalTable {
	width: 100%;
}
	.nomalTable,.nomalTable td,.nomalTable th {
		border-collapse: collapse;
		border: 1px solid var(--color-glay);
		background-color: var(--bg-color-white);
	}
	.nomalTable td,.nomalTable th {
		padding: var(--10px) var(--15px);
	}
	.nomalTable th {
		background-color: var(--bg-color-glay);
		vertical-align: top;
		width: 35%;
		text-align: left;
	}
	.nomalTable .bgGreen {
		background-color: var(--bg-color-green);
	}
	.nomalTable .w65 {
		width: 65% !important;
	}

/*----------------------------------------------------
 ul & ol
----------------------------------------------------*/
.normalUl {
}
	.normalUl > li {
		list-style: disc;
		margin-left: var(--20px);
	}

.normalOl {
}
	.normalOl > li {
		list-style: decimal;
		margin-left: var(--30px);
	}

.boldOl {
}
	.boldOl > li {
		list-style: decimal;
		margin-left: var(--26px);
	}
		.boldOl > li::marker {
			font-weight: 700;
		}

.attentionUl {
	margin-left:var(--20px);
}
	.attentionUl > li {
		list-style-type: none;
		font-size: var(--14px);
		line-height: 1.2;
		margin-bottom: var(--10px);
	}
		.attentionUl > li:before {
			content: '※';
			margin-left:calc(-1 * var(--14px));
			width: var(--14px);
		}

.bracketsOl {
	margin-left: var(--35px);
}
	.bracketsOl > li {
		list-style-type: none;
		counter-increment: cnt;
		position: relative;
		margin-bottom: var(--10px);
	}
		.bracketsOl > li::before {
			position: absolute;
			top: 0;
			left: calc(-1 * var(--40px));
			content: "（" counter(cnt) "）";
		}

/*----------------------------------------------------
 attention
----------------------------------------------------*/
.attention a {
	display: block;
	background-color: var(--color-white);
	padding: var(--04px) 0 var(--04px) var(--50px);
	border-radius: 30px;
	font-size: var(--14px);
	text-align: left;
	color: var(--text-color);
	position: relative;
}
	.attention a::after {
		content: "＋";
		position: absolute;
		top: 2px;
		left: 28px;
		font-size: var(--16px);
		font-weight: 600;
	}

/*----------------------------------------------------
 main
----------------------------------------------------*/
main {
}

/*----------------------------------------------------
 mainCV
----------------------------------------------------*/
.mainCV {
	background-color: var(--color-red);
	padding: var(--24px) 0 150px;
	position: relative;
	overflow: hidden;
}
	.mainCV::after {
		content: url("../img/common/cv_book.svg");
		position: absolute;
		bottom: -45px;
		left: 24%;
		margin: 0 auto;
	}
	.mainCV .title {
		font-size: 5vw;
		text-align: center;
		letter-spacing: 1px;
		line-height: 1.4;
		margin-bottom: var(--16px);
		color: var(--color-white);
	}
		.mainCV .title strong {
			font-size: 6vw;
		}
	.mainCV .telBtn {
		margin: 0 5% var(--20px);
	}
		.mainCV .telBtn a {
			width: 100%;
			display: flex;
			justify-content: space-between;
			padding: 4.5% 5%;
			border-radius: 15px;
			background-color: var(--color-white);
			outline: 5px solid var(--color-orange);
			outline-offset: -8px;
			box-shadow: 0px 4px 0px 0px #851B00;
		}
			.mainCV .telBtn .operator {
				width: 24%;
			}
				.mainCV .telBtn .operator img {
					border-radius: 50%;
				}
			.mainCV .telBtn .rightBox {
				width: 73%;
			}
				.mainCV .telBtn .rightBox .icon {
					display: inline-block;
					padding-left: 10.5vw;
					color: var(--color-black);
					font-size: 7.8vw;
					font-weight: 600;
					background-position: left center;
					background-repeat: no-repeat;
					background-size: 9.5vw auto;
					background-image: url("../img/common/icon_tel_red.svg");
					margin-bottom: var(--03px);
				}
				.mainCV .telBtn .rightBox .item {
					display: flex;
					justify-content: space-between;
				}
					.mainCV .telBtn .rightBox .item li {
						border: 1px solid var(--color-black);
						background-color: var(--color-white);
						padding: var(--05px) var(--06px);
						font-size: 3vw;
						line-height: 1;
						border-radius: 5px;
						color: var(--text-color);
					}

	.mainCV .mailBtn {
		margin: 0 5%;
	}
		.mainCV .mailBtn button {
			width: 100%;
			display: flex;
			justify-content: space-between;
			color: var(--color-white);
			padding: 3% 5%;
			border-radius: 15px;
			border: none;
			background-color: var(--color-green);
			box-shadow: 0px 4px 0px 0px #0D6834;
		}
			.mainCV .mailBtn .pamphlet {
				width: 32%;
			}
			.mainCV .mailBtn .rightBox {
				width: 63%;
			}
				.mainCV .mailBtn .rightBox .arrow {
					color: var(--color-white);
					font-size: 6.7vw;
					font-weight: 600;
					text-align: left;
					position: relative;
					margin-bottom: var(--03px);
				}
					.mainCV .mailBtn .rightBox .arrow::before {
						content: '';
						width: 30px;
						height: 30px;
						background-color: #0D6834;
						border-radius: 50%;
						position: absolute;
						top: 50%;
						right: 0;
						margin-top: -15px;
					}
					.mainCV .mailBtn .rightBox .arrow::after {
						content: '';
						width: 10px;
						height: 10px;
						border: 0;
						border-top: solid 3px var(--color-white);
						border-right: solid 3px var(--color-white);
						position: absolute;
						top: 50%;
						right: 11px;
						margin-top: -5px;
						transform: rotate(45deg);
					}
				.mainCV .mailBtn .rightBox .btn {
					width: 100%;
					color: var(--text-color);
					font-size: 2.6vw;
					font-weight: 600;
					line-height: 1;
					padding: 4% 10% 4% 5%;
					border-radius: 30px;
					background-color: var(--color-white);
					position: relative;
				}
					.mainCV .mailBtn .rightBox .btn::after {
						content: '';
						width: 6px;
						height: 6px;
						border: 0;
						border-top: solid 2px var(--text-color);
						border-right: solid 2px var(--text-color);
						position: absolute;
						top: 50%;
						right: 10px;
						margin-top: -3px;
						transform: rotate(45deg);
					}

/*----------------------------------------------------
 mv
----------------------------------------------------*/
.mv {
	display: flex;
	flex-wrap: wrap;
}
	.mv .photo {
		order: 1;
		width: 100%;
	}
	.mv .text {
		margin: var(--20px) auto;
		width: 88%;
		text-align: center;
		order: 2;
	}
		.mv .text .title {
			font-size: 7vw;
			font-weight: 600;
			line-height: 1.5;
			text-align: center;
			margin-bottom: var(--20px);
		}
			.mv .text .title strong {
				font-size: 10vw;
			}
				.mv .text .title strong.long {
					font-size: 7vw;
				}
		.mv .logo {
			width: 100%;
		}
		.mv .text .bgText {
			background-color: var(--color-green);
			color: var(--color-white);
			font-size: 4.6vw;
			font-weight: 600;
			text-align: center;
			display: block;
			padding: var(--04px);
			border-radius: 30px;
		}
			.mv .text .bgText strong span {
				position: relative; /* 基準値とする */
			}
				.mv .text .bgText strong span::before {
					content: "・";       /* 文字の上に置くものを指定 */
					position: absolute; /* 相対位置とする */
					top: -1.1em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
					left: 0;            /* 横方向の表示位置を調整 */
					font-size: var(--22px);
					letter-spacing: -5px;
					-webkit-text-stroke: 2px var(--color-green);
					text-stroke: 2px var(--color-green);
				}
		.mv .text .kakaku {
			display: flex;
			align-items: center;
			width: 340px;
			margin: 0 auto;
		}
			.mv .text .kakaku dt ul {
				display: flex;
			}
				.mv .text .kakaku dt ul li {
					border: 1px solid var(--color-black);
					background-color: var(--color-white);
					padding: var(--20px) var(--05px);
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1.1;
					border-radius: 5px;
					margin-left: var(--05px);
				}
					.mv .text .kakaku dt ul li.tate {
						writing-mode: vertical-rl;
						text-align: center;
						padding: var(--20px) var(--05px) var(--22px) var(--04px);
					}
			.mv .text .kakaku dd {
				color: var(--color-orange);
				font-weight: 600;
				line-height: 1;
				margin-left: var(--05px);
			}
				.mv .text .kakaku dd .num {
					font-family: "Oswald", serif;
					font-size: 100px;
					letter-spacing: -2px;
				}
				.mv .text .kakaku dd .man {
					font-size: 64px;
				}
				.mv .text .kakaku dd .en {
					font-size: 42px;
				}
					.mv .text .kakaku dd .en rt {
						font-size: var(--16px);
						color: var(--text-color);
						text-align: center;
					}
		.mv .text .zeikomi {
			font-size: var(--18px);
			font-weight: 600;
			text-align: right;
			margin-top: -06px;
			padding-right: var(--05px);
		}
			.mv .text .zeikomi strong {
				font-size: 150%;
			}
	.mv .text .attention {
		margin-top: var(--10px);
	}

/*----------------------------------------------------
 予約
----------------------------------------------------*/
.reserve {
	background-color: var(--color-white);
	border-radius: var(--20px);
	padding: var(--20px);
	margin-bottom: var(--50px);
}
	.reserve .title {
		padding-left: var(--40px);
		font-size: 6.4vw;
		margin-bottom: var(--10px);
		background-image: url(../img/common/icon_exclamation_green.svg);
		background-repeat: no-repeat;
		background-position: center left;
		background-size: 30px auto;
	}
	.reserve .photo {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--40px);
		margin-bottom: var(--20px);
	}
	.reserve p {
		font-size: 5.3vw;
		font-weight: 600;
		line-height: 1.4;
		margin-bottom: var(--20px);
	}
		.reserve p span {
			color: var(--color-orange);
		}
		.reserve p strong {
			font-size: 150%;
			background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, var(--color-yellow) 50% 100%);
		}

/*----------------------------------------------------
 おすすめポイント
----------------------------------------------------*/
.hallPoint {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
}
	.hallPoint .title {
		font-size: 6.5vw;
		font-weight: 600;
		line-height: 1.2;
		text-align: center;
		letter-spacing: 2px;
		margin-bottom: var(--50px);
	}
		.hallPoint .title strong {
			font-size: 9vw;
		}
			.hallPoint .title strong.long {
				font-size: 7vw;
			}
		.hallPoint .title .bg {
			display: inline-block;
			background-color: var(--color-red);
			color: var(--color-white);
			font-size: 9vw;
			padding: var(--10px) var(--12px) var(--05px) var(--14px);
			border-radius: 10px;
			margin-top: var(--10px);
		}
	.hallPoint .list {
	}
		.hallPoint .list li {
			width: 80%;
			margin: 0 auto var(--40px);
			position: relative;
		}
			.hallPoint .list li:before {
				position: absolute;
				color: var(--color-red);
				font-size: var(--50px);
				font-family: "Oswald", serif;
				font-weight: 600;
				top: -40px;
				left: calc(50% - 30px);
				z-index: 1;
			}
				.hallPoint .list li:first-child:before {
					content: '01';
				}
				.hallPoint .list li:nth-child(2):before {
					content: '02';
				}
				.hallPoint .list li:last-child:before {
					content: '03';
				}
			.hallPoint .list li .circle {
				border-radius: 100%;
				display: flex;
				justify-content: center;
				position: relative;
				background-color: var(--color-white);
			}
				.hallPoint .list li .circle:before {
					content: '';
					display: block;
					padding-top: 100%;
				}
				.hallPoint .list li .circle .text {
					text-align:center;
					padding-top: var(--50px);
				}
					.hallPoint .list li .circle .text h3 {
						font-size: 5.8vw;
						line-height: 1.3;
						margin-bottom: var(--24px);
					}
						.hallPoint .list li .circle .text h3.long {
							font-size: var(--20px);
						}

/*----------------------------------------------------
 施設写真
----------------------------------------------------*/
.facilityPhoto {
	background-color: var(--color-white);
	padding: var(--40px) 0;
	margin-bottom: var(--60px);
}
	.facilityPhoto .facilitySwiper {
		margin: 0 auto;
		max-width: 1500px;
	}
	.facilityPhoto .swiper-wrapper {
		transition-timing-function: linear;
	}
	.facilityPhoto .swiper-slide {
		width: 260px;
	}
	.facilityPhoto .swiper-slide img {
		border-radius: 25px;
		width: 100%;
		height: auto;
	}

/*----------------------------------------------------
 式場概要
----------------------------------------------------*/
.facilityInfo {
	margin-bottom: var(--60px);
}
	.facilityInfo .title {
		font-size: 6.5vw;
		font-weight: 600;
		text-align: center;
		letter-spacing: 2px;
		line-height: 1.3;
		margin-bottom: var(--20px);
	}
		.facilityInfo .title strong {
			font-size: 9vw;
		}
			.facilityInfo .title.long strong {
				font-size: 7vw;
			}
	.infoTable {
		width: 100%;
		border-radius: 25px;
		overflow: hidden;
	}
		.infoTable,.infoTable td,.infoTable th {
			border-collapse: collapse;
		}
		.infoTable td,.infoTable th {
			padding: var(--20px) var(--30px);
			display: block;
		}
		.infoTable th {
			background-color: var(--color-light-red);
			vertical-align: top;
			text-align: left;
			border-bottom: 1px solid var(--color-black);
		}
		.infoTable td {
			background-color: var(--color-white);
			text-align: left;
			border-bottom: 1px solid var(--color-black);
		}
			.infoTable tr:last-child td {
				border-bottom: none;
			}
			.infoTable td.w20 {
				width: 20%;
			}
			.infoTable td strong {
				font-size: 125%;
				font-weight: 600;
			}
			.infoTable td dl {
				display: flex;
				align-items: center;
				gap: var(--50px);
			}
				.infoTable td dl dd {
					font-size: 125%;
					font-weight: 600;
				}
			.infoTable td .feature {
				overflow: hidden;
			}
				.infoTable td .feature li {
					float: left;
					margin-right: var(--10px);
					margin-bottom: var(--10px);
					color: var(--color-orange);
					font-weight: 600;
					border: 2px solid var(--color-red);
					border-radius: var(--10px);
					padding: var(--03px) var(--08px);
				}
	.facilityInfo iframe {
		border-radius: 25px;
	}

/*----------------------------------------------------
 ちゃんとしたお葬式とは
----------------------------------------------------*/
.introduction {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
	text-align: center;
}
	.introduction .title {
		margin: 0 auto;
		display: inline-block;
		font-size: 6.8vw;
		line-height: 1.4;
		border-bottom: 2px dotted var(--color-black);
		margin-bottom: var(--30px);
		padding-bottom: var(--10px);
	}
		.introduction .title strong {
			color: var(--color-blue);
		}
	.introduction .worry {
		margin: 0 auto var(--80px);
		position: relative;
		width: 88%;
		display: flex;
		flex-wrap: wrap;
	}
		.introduction .worry .list {
			order: 2;
			width: 100%;
			margin-top: -12px;
		}
		.introduction .worry .list li {
			background-color: var(--color-blue);
			border-radius: 15px;
			color: var(--color-white);
			font-weight: 600;
			font-size: var(--22px);
			line-height: 1.4;
			text-align: left;
			padding: var(--15px) var(--30px);
			margin-bottom: var(--20px);
			position: relative;
		}
			.introduction .worry .list li::before {
				position: absolute;
				top: -10px;
				left: -10px;
				content: url(../img/common/introduction_icon.svg);
			}
		.introduction .worry figure {
			order: 1;
			width: 66%;
			margin: 0 auto;
		}
		.introduction .worry::before {
			content: "";
			position: absolute;
			height: 30px;
			width: 140px;
			clip-path: polygon(0 0,50% 100%,100% 0);
			background-color: var(--color-red);
			left: calc(50% - 70px);
			bottom: -29px;
		}
		.introduction .worry::after {
			content: "";
			position: absolute;
			height: 22px;
			width: 80px;
			clip-path: polygon(0 0,50% 100%,100% 0);
			background-color: var(--color-red);
			left: calc(50% - 40px);
			bottom: -64px;
		}
	.introduction .staff {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--10px);
		width: 92%;
		margin: 0 auto;
		padding-bottom: 190px;
		position: relative;
	}
		.introduction .staff::after {
			position: absolute;
			bottom: 0;
			left: calc(50% - 110px);
			content: '';
			width: 220px;
			height: 200px;
			background-image: url(../img/common/introduction_staff.svg);
			background-repeat: no-repeat;
			background-position: bottom center;
			background-size: 100% auto;
		}
		.introduction .staff .circle {
			font-size: var(--20px);
			font-weight: 800;
			color: var(--color-blue);
			text-align: center;
			line-height: 1.1;
			letter-spacing: -1px;
			width: 80px;
			height: 80px;
			border: 4px solid var(--color-blue);
			background-color: var(--color-white);
			border-radius: 50%;
			transform: rotate(-25deg);
			margin-top: var(--10px);
			padding-top: var(--14px);
			aspect-ratio: 1 / 1;
		}
		.introduction .staff .txt {
			text-align: left;
			margin-top: var(--10px);
		}
			.introduction .staff .txt .logo {
				font-size: 5vw;
				font-weight: 600;
			}
				.introduction .staff .txt .logo img {
					display: inline-block;
					vertical-align: -5px;
					padding-right: var(--05px);
					width: 78%;
				}
			.introduction .staff .txt .kaiketu {
				font-size: 12vw;
				font-weight: 600;
				line-height: 1.2;
			}
		.introduction .staff figure {
			display: none;
		}
	.introduction .borderBox {
		background-color: var(--color-white);
		border-radius: var(--30px);
		border: 8px solid var(--color-red);
		padding: var(--20px);
		margin-top: -2px;
	}
		.introduction .borderBox .catchCopy {
			margin-top: var(--15px);
			margin-bottom: var(--30px);
			display: flex;
			flex-wrap: wrap;
		}
			.introduction .borderBox .catchCopy dd {
				text-align: left;
			}
			.introduction .borderBox .catchCopy dd h3 {
				font-size: 7vw;
				line-height: 1.4;
				margin-left: var(--10px);
				margin-bottom: var(--20px);
			}
			.introduction .borderBox .catchCopy dd h3 span {
				background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, var(--color-yellow) 50% 100%);
			}
			.introduction .borderBox .catchCopy figure {
				width: 45%;
				margin: var(--20px) auto;
			}
		.introduction .borderBox .point {
			display: flex;
			gap: 1%;
			justify-content: center;
			margin-bottom: var(--60px);
		}
			.introduction .borderBox .point li {
				width: 33%;
				padding-top: var(--08px);
				background-color: var(--color-red);
				border-radius: 50%;
				text-align: center;
				position: relative;
				aspect-ratio: 1 / 1;
			}
				.introduction .borderBox .point li:not(:last-child)::before {
					content: "";
					width: 20px;
					height: 20px;
					border-radius: 50%;
					background: url(../img/common/icon_plus.svg) no-repeat center center;
					background-size: 100% auto;
					position: absolute;
					right: -10px;
					top: calc(50% - 10px);
					z-index: 1;
				}
				.introduction .borderBox .point li .num {
					font-size: 4vw;
					font-family: "Oswald", serif;
					font-weight: 600;
					color: var(--color-yellow);
				}
				.introduction .borderBox .point li .name {
					font-size: 3.3vw;
					font-weight: 600;
					line-height: 1.2;
					color: var(--color-white);
				}
		.introduction .borderBox .pointBox {
		}
			.introduction .borderBox .pointBox li {
				background-color: var(--color-light-red);
				border-radius: var(--30px);
				padding: var(--30px) var(--20px);
				text-align: left;
				position: relative;
			}
				.introduction .borderBox .pointBox li h4 {
					font-size: 5.5vw;
					letter-spacing: 0;
					line-height: 1.2;
					margin-bottom: var(--15px);
				}
					.introduction .borderBox .pointBox li h4 strong {
						font-size: 120%;
					}
				.introduction .borderBox .pointBox li::before {
					font-size: var(--60px);
					font-family: "Oswald", serif;
					font-weight: 600;
					color: var(--color-red);
					position: absolute;
					top: -60px;
					left: 20px;
				}
				.introduction .borderBox .pointBox li::after {
					content: '';
					position: absolute;
					bottom: 0;
					background-repeat: no-repeat;
					background-size: 100% auto;
					background-position: bottom left;
				}
					.introduction .borderBox .pointBox li.no1 {
						padding-bottom: 230px;
						margin-bottom: var(--60px);
					}
						.introduction .borderBox .pointBox li.no1::before {
							content: '01';
						}
						.introduction .borderBox .pointBox li.no1::after {
							left: calc(50% - 90px);
							width: 180px;
							height: 240px;
							background-image: url(../img/common/introduction_point01.svg);
						}
					.introduction .borderBox .pointBox li.no2 {
						padding-bottom: 220px;
						margin-bottom: var(--60px);
					}
						.introduction .borderBox .pointBox li.no2::before {
							content: '02';
						}
						.introduction .borderBox .pointBox li.no2::after {
							left: calc(50% - 90px);
							bottom: 20px;
							width: 180px;
							height: 240px;
							background-image: url(../img/common/introduction_point02.png);
						}
					.introduction .borderBox .pointBox li.no3 {
						padding-bottom: 220px;
					}
						.introduction .borderBox .pointBox li.no3::before {
							content: '03';
						}
						.introduction .borderBox .pointBox li.no3::after {
							left: calc(50% - 90px);
							width: 180px;
							height: 240px;
							background-image: url(../img/common/introduction_point03.svg);
						}

/*----------------------------------------------------
 お客様の声
----------------------------------------------------*/
.voice {
	margin-bottom: var(--60px);
	position: relative;
	padding-top: var(--80px);
}
	.voice .title {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
  	right: 0;
		margin: auto;
		width: 80%;
	}
	.voice .swiper-container {
		position: relative;
		background-color: var(--color-green);
		padding: 120px 0 var(--50px);
	}
	.voice .swiper-slide {
		width: 300px;
	}
		.voice .swiper-button-prev,
		.voice .swiper-button-next {
			background-color: rgba(0, 0, 0, 0.5);
			border-radius: 50%;
			width: 46px;
			height: 46px;
			position: absolute;
		}
			.voice .swiper-button-prev {
				left: calc((100% - 360px)/2);
			}
			.voice .swiper-button-next {
				right: calc((100% - 360px)/2);
			}
			.voice .swiper-button-prev::after,
			.voice .swiper-button-next::after {
				content: '';
				width: 14px;
				height: 14px;
				border: 0;
				border-top: solid 3px #FFF;
				border-right: solid 3px #FFF;
				position: absolute;
				top: 50%;
				margin-top: -7px;
			}
			.voice .swiper-button-prev::after {
				left: 19px;
				transform: rotate(225deg);
			}
			.voice .swiper-button-next::after {
				right: 19px;
				transform: rotate(45deg);
			}

	.voice .item {
		background-color: var(--color-white);
		border-radius: 15px;
		padding: var(--24px);
	}
		.voice .item .info {
			display: flex;
			border-bottom: solid 1px var(--color-black);
			padding-bottom: var(--15px);
			margin-bottom: var(--15px);
		}
			.voice .item .info dt {
				padding-right: var(--15px);
			}
			.voice .item .info .plan {
				display: inline-block;
				border-radius: 5px;
				color: var(--color-white);
				font-size: var(--14px);
				padding: var(--03px) var(--08px);
				margin-bottom: var(--03px);
			}
				.voice .item .info .plan.oneday {
					background-color: var(--plan-oneday);
				}
				.voice .item .info .plan.twoday {
					background-color: var(--plan-twoday);
				}
				.voice .item .info .plan.flower {
					background-color: var(--plan-flower);
				}
				.voice .item .info .plan.kasou {
					background-color: var(--plan-kasou);
				}
				.voice .item .info .plan.chokusou {
					background-color: var(--plan-chokusou);
				}
			.voice .item .info .rate {
				color: #F7C800;
				font-size: var(--18px);
				line-height: 1;
			}
				.voice .item .info .rate .half {
					position: relative;
					color: var(--color-glay);
				}
				.voice .item .info .rate .half::after{
					content: '★';
					position: absolute;
					left:0;
					top:1.5px;
					width: 0.5em;
					color: #F7C800;
					overflow: hidden;
					white-space:nowrap;
				}
				.voice .item .info .rate .off {
					color: var(--color-glay);
				}

/*----------------------------------------------------
 選ばれる理由
----------------------------------------------------*/
.reason {
	margin-bottom: var(--60px);
}
	.reason .title {
		text-align: center;
		line-height: 1.4;
		margin-bottom: var(--40px);
	}
		.reason .title .logo {
			text-align: center;
		}
			.reason .title .logo img {
				width:80%;
				display: inline-block;
				vertical-align: -5px;
				padding-right: var(--05px);
			}
			.reason .title .logo strong {
				font-size: var(--35px);
			}
		.reason .title .text {
			font-size: var(--40px);
		}
			.reason .title .text .num {
				font-size: var(--80px);
				font-family: "Oswald", serif;
				font-weight: 600;
				color: var(--color-red);
			}
			.reason .title .text .riyu {
				font-size: var(--60px);
			}
			.reason .title .text img {
				display: inline-block;
				vertical-align: -5px;
				padding-left: var(--05px);
			}
	.reason .list {
	}
		.reason .list li {
			margin-bottom: var(--60px);
			padding-top: 180px;
			background-repeat: no-repeat;
		}
			.reason .list li.no1 {
				background-image: url(../img/common/reason_bg01.jpg);
				background-position: top left -30px;
				background-size: auto 35%;
			}
			.reason .list li.no2 {
				background-image: url(../img/common/reason_bg02.jpg);
				background-position: top right -40px;
				background-size: auto 33%;
			}
			.reason .list li.no3 {
				background-image: url(../img/common/reason_bg03.jpg);
				background-position: top left -30px;
				background-size: auto 35%;
			}
			.reason .list li .box {
				width: 86%;
				position: relative;
				margin: 0 auto;
			}
				.reason .list li .box::before {
					position: absolute;
					top: -55px;
					left: -20px;
					content: url(../img/common/reason_icon.svg);
				}
				.reason .list li .box::after {
					position: absolute;
					top: -70px;
					left: 50px;
					font-size: var(--80px);
					font-family: "Oswald", serif;
					color: var(--color-red);
				}
					.reason .list li.no1 .box::after {
						content: "1";
					}
					.reason .list li.no2 .box::after {
						content: "2";
					}
					.reason .list li.no3 .box::after {
						content: "3";
					}
				.reason .list li .box dt {
					background-color: var(--color-white);
					border-radius: var(--20px);
					padding: var(--50px) var(--24px) var(--24px) var(--24px);
				}
					.reason .list li .box dt h3 {
						color: var(--color-red);
						font-size: var(--24px);
						line-height: 1.4;
						margin-bottom: var(--20px);
					}
				.reason .list li .box dd {
					display: none;
				}


/*----------------------------------------------------
 プラン
----------------------------------------------------*/
.planInfo {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
}

/* タイトル */
.planInfo .title {
	text-align: center;
	margin-bottom: var(--50px);
}
	.planInfo .title .subTitle {
		font-size: 7vw;
		font-weight: 600;
		margin-bottom: var(--20px);
	}
		.planInfo .title .subTitle .box {
			color: var(--color-white);
			font-weight: 600;
			line-height: 1;
			background-color: var(--color-green);
			padding: var(--08px);
			border-radius: var(--08px);
			margin-right: var(--04px);
		}
	.planInfo .title .mainTitle {
		font-size: 7vw;
		font-weight: 600;
		line-height: 1.5;
	}
		.planInfo .title .mainTitle img {
			display: inline-block;
			vertical-align: -5px;
			padding-right: var(--05px);
			width: 80%;
		}
		.planInfo .title .mainTitle strong {
			font-size: var(--40px);
		}

/* 含まれるもの */
.planInfo .contain {
	background-color: var(--color-white);
	border: 1px solid var(--color-black);
	border-radius: var(--20px);
	padding: var(--20px);
	margin-bottom: var(--20px);
}
	.planInfo .containTitle {
		padding: var(--10px) 0;
		background-color: var(--color-white);
		border-radius: var(--80px);
		border: 1px solid var(--color-black);
		font-size: 5vw;
		line-height: 1.2;
		display: block;
		text-align: center;
		margin: -52px auto var(--20px);
		width: 100%;
		z-index: 1;
	}
.planInfo .contain .itemL {
	display: flex;
	flex-wrap: wrap;
	gap: var(--14px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemL li {
		width: calc(50% - 7px);
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
	}
	.planInfo .contain .itemL li figcaption {
		padding: var(--10px) 0;
		text-align: center;
		font-size: 3.8vw;
		font-weight: 600;
		line-height: 1.2;
	}
.planInfo .contain .itemM {
	display: flex;
	flex-wrap: wrap;
	gap: var(--14px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemM li {
		width: calc(50% - 7px);
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
		padding: var(--08px) 0;
		text-align: center;
	}
		.planInfo .contain .itemM li figure {
		}
			.planInfo .contain .itemM li figure img {
				padding: 0 var(--15px);
				margin: 0 auto var(--05px);
			}
			.planInfo .contain .itemM li figure figcaption {
				text-align: center;
				font-size: 3.8vw;
				font-weight: 600;
				line-height: 1.4;
			}
.planInfo .contain .itemS {
	display: flex;
	flex-wrap: wrap;
	gap: var(--14px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemS li {
		width: calc(50% - 7px);
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
		padding: var(--15px) 0;
		text-align: center;
		font-size: 3.8vw;
		line-height: 1.2;
		font-weight: 600;
	}
.planInfo .contain .all {
	text-align: center;
	color: var(--color-white);
	font-size: 4.6vw;
	font-weight: 600;
	line-height: 1.4;
	background-color: var(--color-red);
	padding: var(--10px);
	border-radius: var(--20px);
}
.planInfo .attention {
	margin: 0 auto var(--60px);
	width: 90%;
}

/* ここが違います */
.planInfo .difference {
	background-color: var(--color-white);
	background-image: url("../img/common/plan_difference_bg.jpg");
	background-size: cover auto;
	background-position: top center;
	background-repeat: no-repeat;
	margin-bottom: var(--80px);
	padding: var(--40px) 0 var(--05px);
	position: relative;
}
	.planInfo .difference::before {
		content: "";
		position: absolute;
		height: 46px;
		width: 140px;
		clip-path: polygon(0 0,50% 100%,100% 0);
		background-color: var(--color-white);
		left: calc(50% - 70px);
		bottom: -46px;
	}
	.planInfo .difference h3,
	.planInfo .difference h4 {
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
	}
	.planInfo .difference h3 {
		font-size: 7.4vw;
		text-align: center;
		margin-bottom: var(--40px);
	}
	.planInfo .difference ul li {
		margin-bottom: var(--60px);
	}
		.planInfo .difference .box {
		}
			.planInfo .difference .box dt {
				margin-bottom: var(--60px);
			}
				.planInfo .difference .box dt img {
					border-radius: var(--15px);
					box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
				}
			.planInfo .difference .box dd {
			}
			.planInfo .difference .box h4 {
				font-size: 7.2vw;
				padding-bottom: var(--20px);
				border-bottom: 1px solid var(--color-black);
				margin-bottom: var(--20px);
				position: relative;
				line-height: 1;
			}
				.planInfo .difference .box h4::before {
					color: var(--color-red);
					font-family: "Tangerine", cursive;
					font-weight: 400;
					font-style: normal;
					font-size: var(--36px);
					position: absolute;
					top: -35px;
					left: 0;
				}
					.planInfo .difference li:nth-child(1) .box h4::before {
						content: 'Commitment 1';
					}
					.planInfo .difference li:nth-child(2) .box h4::before {
						content: 'Commitment 2';
					}
					.planInfo .difference li:nth-child(3) .box h4::before {
						content: 'Commitment 3';
					}
					.planInfo .difference li:nth-child(4) .box h4::before {
						content: 'Commitment 4';
					}

/* プラン一覧 */
.planInfo .planList {
	margin-top: -30px;
	margin-bottom: var(--30px);
}
	/* メインプラン */
	.planInfo .mainList {
		margin-bottom: var(--30px);
	}
		.planInfo .mainList > li {
			background-color: var(--color-white);
			border-radius: var(--15px);
			padding: var(--20px);
			margin-bottom: var(--30px);
		}
			.planInfo .mainList li .name {
				text-align: center;
			}
				.planInfo .mainList li .name dt {
					height: 200px;
					display: flex;
					align-items: center;
					justify-content: center;
				}
				.planInfo .mainList li .name h3 {
					font-size: 14vw;
					line-height: 1;
				}
					.planInfo .mainList li.oneday .name h3 {
						color: var(--plan-oneday);
					}
					.planInfo .mainList li.twoday .name h3 {
						color: var(--plan-twoday);
					}
					.planInfo .mainList li.flower .name h3 {
						color: var(--plan-flower);
					}
				.planInfo .mainList li .name p {
					margin-top: var(--10px);
					font-weight: 600;
				}
			.planInfo .mainList li .type {
				text-align: center;
				color: var(--color-white);
				margin: var(--10px) 0 var(--03px);
				border-radius: var(--30px);
				padding-top: var(--03px);
			}
				.planInfo .mainList li.oneday .type {
					background-color: var(--plan-oneday);
				}
				.planInfo .mainList li.twoday .type {
					background-color: var(--plan-twoday);
				}
				.planInfo .mainList li.flower .type {
					background-color: var(--plan-flower);
				}
		.planInfo .mainList li .kakaku {
			display: flex;
			align-items: center;
			justify-content: center;
			margin: var(--05px) 0;
		}
			.planInfo .mainList li .kakaku dt {
				display: flex;
				font-size: var(--14px);
				font-weight: 600;
				line-height: 1.1;
			}
				.planInfo .mainList li .kakaku dt p {
					padding: var(--10px) var(--04px);
					border: 1px solid var(--color-black);
					border-radius: 5px;
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1.1;
					text-align: center;
				}
					.planInfo .mainList li .kakaku dt .teigaku {
						margin-left: var(--05px);
						writing-mode: vertical-rl;
					}
					.planInfo .mainList li .kakaku dt .tuika {
						width: 42px;
					}
					.planInfo .mainList li .kakaku dt .mitumori {
						padding: var(--18px) var(--04px);
						width: 42px;
					}
			.planInfo .mainList li .kakaku dd {
				color: var(--color-orange);
				font-weight: 600;
				line-height: 1;
				margin-left: var(--08px);
				padding-bottom: var(--04px);
			}
				.planInfo .mainList li .kakaku dd .num {
					font-family: "Oswald", serif;
					font-size: 76px;
					letter-spacing: -2px;
				}
				.planInfo .mainList li .kakaku dd .man {
					font-size: 44px;
				}
				.planInfo .mainList li .kakaku dd .en {
					font-size: 32px;
				}
					.planInfo .mainList li .kakaku dd .en rt {
						font-size: var(--12px);
						color: var(--text-color);
						text-align: center;
					}
		.planInfo .mainList li .zeikomi {
			font-size: var(--16px);
			font-weight: 600;
			text-align: center;
			margin-top: -15px;
			margin-bottom: var(--05px);
		}
			.planInfo .mainList li .zeikomi strong {
				font-size: 150%;
			}
		.planInfo .mainList li .dayFlow {
			background-color: #F2F2F2;
			padding: var(--15px);
			border-radius: 12px;
			display: flex;
			align-items: center;
			justify-content: center;
		}
			.planInfo .mainList li .dayFlow p {
				writing-mode: vertical-rl;
				line-height: 1;
				font-weight: 600;
				margin-right: var(--15px);
			}
				.planInfo .mainList li .dayFlow ul {
					display: flex;
					gap: 22px;
				}
					.planInfo .mainList li .dayFlow ul li {
						border-radius: 6px;
						color: var(--color-white);
						font-size: var(--16px);
						font-weight: 600;
						letter-spacing: 2px;
						text-align: center;
						writing-mode: vertical-rl;
						padding: var(--12px) var(--05px);
						position: relative;
					}
						.planInfo .mainList li.oneday .dayFlow ul li {
							background-color: var(--plan-oneday);
						}
						.planInfo .mainList li.twoday .dayFlow ul li {
							background-color: var(--plan-twoday);
						}
						.planInfo .mainList li.flower .dayFlow ul li {
							background-color: var(--plan-flower);
						}
						.planInfo .mainList li .dayFlow ul li.off {
							background-color: var(--color-glay) !important;
						}
							.planInfo .mainList li .dayFlow ul li::after {
								position: absolute;
								content: '';
								background: var(--color-black);
								height: calc(tan(60deg) * 10px / 2);
								width: 7px;
								clip-path: polygon(0 0, 100% 50%, 0 100%);
								top: calc(50% - 5px);
								left: -15px;
							}
							.planInfo .mainList li .dayFlow ul li:first-child::after {
								content: none;
							}

	/* サブプラン */
	.planInfo .subList {
	}
		.planInfo .subList > li {
			background-color: var(--color-white);
			border-radius: var(--15px);
			padding: var(--20px);
			margin-bottom: var(--30px);
		}
			.planInfo .subList li .name {
				text-align: center;
			}
				.planInfo .subList li .name h3 {
					font-size: 14vw;
				}
					.planInfo .subList li.kasou .name h3 {
						color: var(--plan-kasou);
					}
					.planInfo .subList li.chokusou .name h3 {
						color: var(--plan-chokusou);
					}
				.planInfo .subList li .name p {
					font-weight: 600;
				}
			.planInfo .subList li .type {
				text-align: center;
				color: var(--color-white);
				margin: var(--10px) 0;
				border-radius: var(--30px);
				padding-top: var(--03px);
			}
				.planInfo .subList li.kasou .type {
					background-color: var(--plan-kasou);
				}
				.planInfo .subList li.chokusou .type {
					background-color: var(--plan-chokusou);
				}
		.planInfo .subList li .box {
		}
			.planInfo .subList li .kakaku {
				display: flex;
				align-items: center;
				justify-content: center;
				margin: var(--05px) 0;
			}
				.planInfo .subList li .kakaku dt {
					display: flex;
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1.1;
				}
					.planInfo .subList li .kakaku dt p {
						padding: var(--10px) var(--04px);
						border: 1px solid var(--color-black);
						border-radius: 5px;
						font-size: var(--14px);
						font-weight: 600;
						line-height: 1.1;
						text-align: center;
					}
						.planInfo .subList li .kakaku dt .teigaku {
							margin-left: var(--05px);
							writing-mode: vertical-rl;
						}
						.planInfo .subList li .kakaku dt .tuika {
							width: 42px;
						}
						.planInfo .subList li .kakaku dt .mitumori {
							padding: var(--18px) var(--04px);
							width: 42px;
						}
				.planInfo .subList li .kakaku dd {
					color: var(--color-orange);
					font-weight: 600;
					line-height: 1;
					margin-left: var(--08px);
					padding-bottom: var(--04px);
				}
					.planInfo .subList li .kakaku dd .num {
						font-family: "Oswald", serif;
						font-size: 76px;
						letter-spacing: -2px;
					}
					.planInfo .subList li .kakaku dd .man {
						font-size: 44px;
					}
					.planInfo .subList li .kakaku dd .en {
						font-size: 32px;
					}
						.planInfo .subList li .kakaku dd .en rt {
							font-size: var(--12px);
							color: var(--text-color);
							text-align: center;
						}
			.planInfo .subList li .zeikomi {
				font-size: var(--16px);
				font-weight: 600;
				text-align: center;
				margin-top: -15px;
				margin-bottom: var(--05px);
			}
				.planInfo .subList li .zeikomi strong {
					font-size: 150%;
				}
			.planInfo .subList li .dayFlow {
				background-color: #F2F2F2;
				padding: var(--15px);
				border-radius: 12px;
				display: flex;
				align-items: center;
				justify-content: center;
			}
				.planInfo .subList li .dayFlow p {
					writing-mode: vertical-rl;
					line-height: 1;
					font-weight: 600;
					margin-right: var(--15px);
				}
					.planInfo .subList li .dayFlow ul {
						display: flex;
						gap: 22px;
					}
						.planInfo .subList li .dayFlow ul li {
							border-radius: 6px;
							color: var(--color-white);
							font-size: var(--16px);
							font-weight: 600;
							letter-spacing: 2px;
							text-align: center;
							writing-mode: vertical-rl;
							padding: var(--12px) var(--05px);
							position: relative;
						}
							.planInfo .subList li.kasou .dayFlow ul li {
								background-color: var(--plan-kasou);
							}
							.planInfo .subList li.chokusou .dayFlow ul li {
								background-color: var(--plan-chokusou);
							}
							.planInfo .subList li .dayFlow ul li.off {
								background-color: var(--color-glay) !important;
							}
								.planInfo .subList li .dayFlow ul li::after {
									position: absolute;
									content: '';
									background: var(--color-black);
									height: calc(tan(60deg) * 10px / 2);
									width: 7px;
									clip-path: polygon(0 0, 100% 50%, 0 100%);
									top: calc(50% - 5px);
									left: -13px;
								}
								.planInfo .subList li .dayFlow ul li:first-child::after {
									content: none;
								}

.planInfo .creditCard {
	background-color: var(--color-red);
	border-radius: var(--20px);
	padding: var(--15px);
	margin-bottom: var(--20px);
}
	.planInfo .creditCard dt {
		color: var(--color-white);
		font-size: var(--22px);
		font-weight: 600;
		line-height: 1.4;
		margin-bottom: var(--10px);
	}
	.planInfo .creditCard dd {
		padding: var(--05px) var(--20px);
		background-color: var(--color-white);
		border-radius: var(--30px);
		text-align: center;
	}
		.planInfo .creditCard dd img {
			margin: 0 auto;
		}

/* 式場見積り */
.planInfo .hallEstimate {
}
	.planInfo .hallEstimate .hallEstimate_title {
		text-align: center;
		font-size: 6vw;
		line-height: 1.4;
		margin-bottom: var(--30px);
	}
		.planInfo .hallEstimate .hallEstimate_title strong {
			font-size: 160%;
		}
			.planInfo .hallEstimate .hallEstimate_title strong.long {
				font-size: 7vw;
			}
	.planInfo .hallEstimate li .uchiwake {
		border: 1px solid var(--color-glay);
		border-radius: var(--15px);
		overflow: hidden;
		text-align: center;
		font-weight: 600;
		line-height: 1.2;
		flex-grow: 1;
	}
		.planInfo .hallEstimate li .uchiwake dt {
			background-color: var(--color-light-red);
			padding: var(--08px) 0;
		}
		.planInfo .hallEstimate li .uchiwake dd {
			padding: var(--10px) 0;
		}

/* 式場使用料 */
.planInfo .hallTax {
	margin-bottom: var(-50px);
}
	.planInfo .hallTax h3 {
		font-size: var(--30px);
		line-height: 1.4;
		text-align: center;
		margin-bottom: var(--20px);
	}
		.planInfo .hallTax h3.long {
			font-size: 7vw;
		}

/* 比較表 */
.planInfo .comparisonChart {
}
	.planInfo .comparisonChart .chartTitle {
		text-align: center;
		font-size: var(--35px);
		line-height: 1.4;
		margin-bottom: var(--24px);
	}

	.planInfo .comparisonChart .scroll {
		width: 100%;
		overflow-x: scroll;
	}

.comparisonTable {
	width: 900px;
}
	.comparisonTable,.comparisonTable td,.comparisonTable th {
		border-collapse: collapse;
		border: 1px solid var(--color-black);
		background-color: var(--color-white);
		text-align: center;
	}
	.comparisonTable td,.comparisonTable th {
		padding: var(--10px) var(--15px);
	}
		.comparisonTable th {
			background-color: var(--color-light-red);
		}
		.comparisonTable thead th {
			padding: var(--20px) var(--15px);
			font-size: var(--22px);
			color: var(--color-white);
			width: 17.6%;
		}
			.comparisonTable thead th.subTitle {
				width: 12%;
			}
			.comparisonTable thead th.oneday {
				background-color: var(--plan-oneday);
			}
			.comparisonTable thead th.twoday {
				background-color: var(--plan-twoday);
			}
			.comparisonTable thead th.flower {
				background-color: var(--plan-flower);
			}
			.comparisonTable thead th.kasou {
				background-color: var(--plan-kasou);
			}
			.comparisonTable thead th.chokusou {
				background-color: var(--plan-chokusou);
			}
		.comparisonTable tbody {
		}
			.comparisonTable tbody th {
				font-size: var(--16px);
				line-height: 1.4;
			}
			.comparisonTable td.gaiyou {
				text-align: left;
				vertical-align: top;
				font-size: var(--16px);
			}
				.comparisonTable td .kakaku {
					color: var(--color-orange);
					font-weight: 600;
					line-height: 1;
					padding-bottom: var(--04px);
				}
					.comparisonTable td .kakaku .num {
						font-family: "Oswald", serif;
						font-size: 12vw;
					}
					.comparisonTable td .kakaku .man {
						font-size: 7vw;
					}
					.comparisonTable td .kakaku .en {
						font-size: 5vw;
					}
						.comparisonTable td .kakaku .en rt {
							font-size: 2vw;
							color: var(--text-color);
							text-align: center;
						}
			.comparisonTable td .zeikomi {
				font-size: var(--12px);
				font-weight: 600;
				margin-top: -5px;
			}
				.comparisonTable td .zeikomi strong {
					font-size: 150%;
				}
			.comparisonTable td.noPadding {
				padding: 0;
			}
				.comparisonTable td .box {
					width: 80px;
					height: 70px;
					background-color: var(--bg-color-glay);
					margin: 0 auto;
					font-size: var(--14px);
					line-height: 1.2;
					padding-top: var(--20px);
				}
			.comparisonTable th.tokutyo {
				height: 100px;
			}
			.comparisonTable td .star {
				display: flex;
				align-items: center;
				justify-content: center;
				gap: var(--05px);
				color: #F7C800;
				font-size: var(--30px);
			}

/*----------------------------------------------------
 流れ
----------------------------------------------------*/
.flow {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
}
	.flow .title {
		font-size: var(--24px);
		line-height: 1.4;
	}
		.flow .title strong {
			font-size: 140%;
		}
	.flow .step {
		background-color: var(--color-white);
		border-radius: 15px;
		border: 1px solid var(--color-black);
		margin-bottom: var(--50px);
		padding: var(--20px) var(--30px);
		position: relative;
	}
		.flow .step:not(:last-child)::after {
			content: "";
			position: absolute;
			height: 12px;
			width: 56px;
			clip-path: polygon(0 0,50% 100%,100% 0);
			background-color: var(--color-red);
			left: calc(50% - 28px);
			bottom: -30px;
		}
		.flow .step dt {
			border-bottom: 1px solid var(--color-black);
			line-height: 1.3;
			display: flex;
			align-items: center;
			background-repeat: no-repeat;
			background-position: right center;
			background-size: 45px auto;
			padding-bottom: var(--10px);
			padding-right: var(--40px);
		}
			.flow .step dt .num {
				font-size: var(--40px);
				font-weight: 700;
				color: var(--color-white);
				line-height: 1;
				-webkit-text-stroke: 1px var(--color-black);
				text-stroke: 1px var(--color-black);
				margin-right: var(--20px);
			}
			.flow .step dt.no1 {
				background-image: url("../img/common/flow_icon01.svg");
			}
			.flow .step dt.no2 {
				background-image: url("../img/common/flow_icon02.svg");
			}
			.flow .step dt.no3 {
				background-image: url("../img/common/flow_icon03.svg");
			}
			.flow .step dt.no4 {
				background-image: url("../img/common/flow_icon04.svg");
			}
			.flow .step dt.no5 {
				background-image: url("../img/common/flow_icon05.svg");
			}
			.flow .step dt.no6 {
				background-image: url("../img/common/flow_icon06.svg");
			}
		.flow .step dd {
			padding-top: var(--15px);
		}

/*----------------------------------------------------
 よくいただくご質問
----------------------------------------------------*/
.faq {
	margin-bottom: var(--60px);
}
	.faq figure .photoCenter {
		width: 84%;
	}
	.faq .title {
		font-size: var(--35px);
	}
	.faq .accordion {
		background-color: var(--color-white);
		border-radius: 15px;
		box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.3);
		margin-bottom: var(--30px);
	}
	.faq .accordion__title {
		padding: var(--20px) var(--30px) var(--20px) var(--60px);
		line-height: 1.4;
	}
		.faq .accordion__title::before {
			content: "Q";
			color: var(--color-white);
			font-size: var(--22px);
			text-align: center;
			line-height: 34px;
			width: 34px;
			height: 34px;
			background-color: var(--color-green);
			border-radius: 50%;
			position: absolute;
			top: 50%;
			left: 15px;
			margin-top: -17px;
		}
	.faq .accordion__content {
		padding: 0 var(--20px) 0 var(--60px);
		position: relative;
	}
		.faq .accordion__content.is-open {
			padding: 0 var(--20px) var(--20px) var(--60px);
		}
		.faq .accordion__content::before {
			content: "A";
			color: var(--color-white);
			font-size: var(--22px);
			text-align: center;
			line-height: 34px;
			width: 34px;
			height: 34px;
			background-color: var(--color-red);
			border-radius: 50%;
			position: absolute;
			top: 20px;
			left: 15px;
			margin-top: -17px;
		}

/*----------------------------------------------------
 運営会社
----------------------------------------------------*/
.company {
	padding: var(--60px) 0;
	background-color: var(--color-white);
	background-image: url("../img/common/footer_cityscape.svg");
	background-position: bottom -2px center;
	background-repeat: no-repeat;
	background-size: auto 60px;
}
	.company .title {
		text-align: center;
		font-size: var(--32px);
	}
	.company .info {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: var(--50px);
		border-top: 1px solid var(--color-glay);
	}
		.company .info td,
		.company .info th {
			display: block;
		}
			.company .info th {
				padding: var(--20px) var(--20px) var(--05px);
				text-align: left;
				font-size: var(--20px);
			}
			.company .info td {
				padding: var(--05px) var(--20px) var(--20px);
				border-bottom: 1px solid var(--color-glay);
				display: block;
			}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
#foot {
}

/* copyBox */
#foot .copyBox {
	padding: var(--20px) 0 180px;
	background-color: var(--color-black);
	text-align: center;
}
	#foot .copyBox .logo {
		margin: 0 auto var(--10px);
		width: 50px;
	}
	#foot .copyBox .copy {
		color: var(--color-white);
		font-size: var(--12px);
	}

/* トップへ戻るボタン */
.backTop {
	position: fixed;
	z-index: 70;
	bottom: 150px;
	right: 2%;
	/* フェードイン用 */
	opacity: 0;
	transition-duration: 0.5s;
}
	.backTop a {
		display: block;
		border-radius: 10px;
		background-color: var(--color-red);
		width: 50px;
		height: 50px;
		padding: 10px;
		opacity: 0.7;
	}

/*----------------------------------------------------
 固定フッター
----------------------------------------------------*/
.fixFooter {
	position: fixed;
	z-index: 70;
	bottom: 0;
	left: 0;
	width: 100%;
	/* フェードイン用 */
	opacity: 0;
	transition-duration: 0.5s;
}

/* cv */
.fixFooter .footerCV {
	background-color: rgba(0, 0, 0, 0.8);
	color: #FFF;
	font-weight: 700;
	padding: 0 0 var(--10px);
	position: relative;
}
	.fixFooter .footerCV::after {
		position: absolute;
		content: '';
		display: inline-block;
		background-image: url("../img/common/footer_copy_bg.svg");
		background-size: cover;
		vertical-align: middle;
		top: -8px;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 340px;
		height: 30px;
	}
	.fixFooter .footerCV .title {
		text-align: center;
		font-size: var(--14px);
		line-height: 1;
		padding-top: var(--03px);
		margin-bottom: var(--10px);
	}
	.fixFooter .footerCV .btn {
		display: flex;
		justify-content: space-between;
		padding: 0 var(--08px);
	}
		.fixFooter .footerCV .btn a,
		.fixFooter .footerCV .btn button {
			display: block;
			color: var(--color-white);
			height: var(--40px);
			line-height: var(--40px);
			font-size: 5.1vw;
			border-radius: 10px;
			padding-left: var(--32px);
			background-repeat: no-repeat;
			display: flex;
			justify-content: center;
			align-items: center;
			z-index: 1;
		}
		.fixFooter .footerCV .btn .telBtn {
			width: 60%;
		}
			.fixFooter .footerCV .btn .telBtn a {
				background-color: var(--color-orange);
				box-shadow: 0px 3px 0px 0px #851B00;
				background-image: url("../img/common/icon_tel.svg");
				background-size: auto var(--30px);
				background-position: left 5% center;
			}
				.fixFooter .footerCV .btn .telBtn a span {
					font-size: 50%;
				}
		.fixFooter .footerCV .btn .mailBtn {
			width: 37.5%;
		}
			.fixFooter .footerCV .btn .mailBtn button {
				width: 100%;
				padding-left: var(--40px);
				border: none;
				background-color: var(--color-green);
				box-shadow: 0px 3px 0px 0px #0D6834;
				background-image: url("../img/common/icon_mail_white.svg");
				background-size: auto var(--26px);
				background-position: left 9% center;
			}

/* メニュー */
.fixNav {
	background-color: var(--color-white);
}
	.fixNav .btn {
		display: flex;
	}
		.fixNav .btn li {
			width: calc(100% / 5);
			background-position: center top 9px;
			background-repeat: no-repeat;
			background-size: auto var(--30px);
		}
			.fixNav .btn li.item01 {
				background-image: url("../img/common/footer_nav_icon01.svg");
			}
			.fixNav .btn li.item02 {
				background-image: url("../img/common/footer_nav_icon02.svg");
			}
			.fixNav .btn li.item03 {
				background-image: url("../img/common/footer_nav_icon03.svg");
			}
			.fixNav .btn li.item04 {
				background-image: url("../img/common/footer_nav_icon04.svg");
			}
			.fixNav .btn li.item08 {
				background-color: var(--color-orange);
				background-image: url("../img/common/footer_nav_icon08.svg");
			}
		.fixNav .btn li a {
			display: block;
			height: 60px;
			font-size: 11px;
			font-weight: 700;
			text-align: center;
			color: var(--text-color);
			padding: 42px 0 0;
		}
			.fixNav .btn li.item08 a {
				color: var(--color-white);
			}

/* ハンバーガーボタン */
.fixNav .hamburgerBtn {
	position: relative;
	width: 100%;
	height: 60px;
	display: block;
	border: none;
	cursor: pointer;
	z-index: 100;
	text-align: center;
	background-color: var(--color-white);
	color: var(--color-black);
}
	.fixNav .hamburgerBtn span {
		display: block;
		position: relative;
		left: 50%;
		width: 36px;
		height: 3px;
		transform: translateX(-50%);
		background: var(--color-red);
		transition: all 0.4s;
	}

  .fixNav .hamburgerBtn span:nth-of-type(1) {
		top: -14px;
  }
  .fixNav .hamburgerBtn span:nth-of-type(2) {
		top: -5px;
  }
  .fixNav .hamburgerBtn span:nth-of-type(3) {
		top: 4px;
  }

  .fixNav .hamburgerBtn .hamburgerBtnText {
		display: block;
		letter-spacing: 0;
		white-space: nowrap;
		position: absolute;
		color: var(--color-black);
		font-size: 11px;
		font-weight: 700;
		text-align: center;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
  }

  .fixNav .hamburgerBtn.is-active span:nth-of-type(1) {
		top: 0;
		transform: translateX(-50%) rotate(225deg);
  }
  .fixNav .hamburgerBtn.is-active span:nth-of-type(2) {
		opacity: 0;
  }
  .fixNav .hamburgerBtn.is-active span:nth-of-type(3) {
		top: -6px;
		transform: translateX(-50%) rotate(-225deg);
  }

/* ハンバーガーメニューのスタイル */
.fixNav .hamburgerNav {
	display: flex;
	z-index: 90;
	position: absolute;
	top: 0;
	right: -100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	background: var(--bg-color-yellow);
	opacity: 0;
	transition: 0.6s;
}
  .fixNav .hamburgerNav.is-active {
		position: fixed;
		top: 0;
		right: 0;
		opacity: 1;
		transition: 0.6s;
  }
  .fixNav .hamburgerNav ul li {
		margin-bottom: var(--15px);
  }
		.fixNav .hamburgerNav ul li a,
		.fixNav .hamburgerNav ul li button {
			display: block;
			padding: var(--14px) var(--14px) var(--14px) var(--50px);
			border-radius: var(--10px);
			background-color: var(--color-white);
			color: var(--color-black);
			line-height: 1.2;
			font-weight: 600;
			background-repeat: no-repeat;
			background-size: var(--26px) auto;
			background-position: left 5.5% center;
			box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.3);
		}
			.fixNav .hamburgerNav ul li.icon01 a {
				background-image: url("../img/common/footer_nav_icon01.svg");
			}
			.fixNav .hamburgerNav ul li.icon02 a {
				background-image: url("../img/common/footer_nav_icon02.svg");
			}
			.fixNav .hamburgerNav ul li.icon03 a {
				background-image: url("../img/common/footer_nav_icon03.svg");
			}
			.fixNav .hamburgerNav ul li.icon04 a {
				background-image: url("../img/common/footer_nav_icon04.svg");
			}
			.fixNav .hamburgerNav ul li.icon05 a {
				background-image: url("../img/common/footer_nav_icon05.svg");
			}
			.fixNav .hamburgerNav ul li.icon06 a {
				background-image: url("../img/common/footer_nav_icon06.svg");
			}
			.fixNav .hamburgerNav ul li.icon07 a {
				background-image: url("../img/common/footer_nav_icon07.svg");
				background-size: auto var(--26px);
				background-position: left 6.5% center;
			}
			.fixNav .hamburgerNav ul li.tel a {
				color: var(--color-white);
				background-color: var(--color-orange);
				background-image: url("../img/common/icon_tel.svg");
				background-size: var(--30px) auto;
				background-position: left 6% center;
				box-shadow: 0px 3px 0px 0px #851B00;
			}
			.fixNav .hamburgerNav ul li.mail button {
				width: 100%;
				text-align: left;
				border: none;
				color: var(--color-white);
				background-color: var(--color-green);
				box-shadow: 0px 3px 0px 0px #0D6834;
				background-image: url("../img/common/icon_mail_white.svg");
				background-size: auto var(--26px);
			}


/*----------------------------------------------------
 modaal
----------------------------------------------------*/
.modal_box {
	display: none;
}

.modaal-container {
	width: auto !important;
	border-radius: 15px !important;
}

.modaal-content-container {
	padding: var(--15px) !important;
}

.modaal-close {
	top: 15px !important;
	right: auto !important;
	position: relative !important;
	background: #666 !important;
}
	.modaal-close:hover {
		background: #aaa !important;
	}
	.modaal-close:hover:before,
	.modaal-close:hover:after {
		background:#FFF !important;
	}

/* ご危篤・ご逝去の方 */
.emergency_inner {
}
	.emergency_inner h2 {
		text-align: center;
		font-size: 5vw;
		margin-bottom: var(--08px);
		padding: var(--08px) 0;
		color: var(--color-white);
		background-color: var(--color-green);
		border-radius: 30px;
	}
	.emergency_inner h3 {
		text-align: center;
		font-size: 4.5vw;
	}
	.emergency_inner .telBtn {
		margin-bottom: var(--20px);
	}
		.emergency_inner .telBtn a {
			width: 100%;
			display: flex;
			justify-content: space-between;
			padding: 3% 4%;
			border-radius: 15px;
			background-color: var(--color-orange);
			box-shadow: 0px 4px 0px 0px #851B00;
		}
			.emergency_inner .telBtn .operator {
				width: 24%;
			}
				.emergency_inner .telBtn .operator img {
					border-radius: 50%;
				}
			.emergency_inner .telBtn .rightBox {
				width: 74%;
			}
				.emergency_inner .telBtn .rightBox .icon {
					display: inline-block;
					padding-left: 10vw;
					color: var(--color-white);
					font-size: 6.6vw;
					font-weight: 600;
					background-position: left center;
					background-repeat: no-repeat;
					background-size: 9vw auto;
					background-image: url("../img/common/icon_tel.svg");
					margin-bottom: var(--03px);
				}
				.emergency_inner .telBtn .rightBox .item {
					display: flex;
					justify-content: space-between;
					gap: 2%;
				}
					.emergency_inner .telBtn .rightBox .item li {
						border: 1px solid var(--color-black);
						background-color: var(--color-white);
						padding: var(--05px) 0;
						font-size: 2.6vw;
						line-height: 1;
						border-radius: 5px;
						color: var(--text-color);
						text-align: center;
						flex-grow: 1;
					}
	.emergency_inner .only {
		font-size: 5.5vw;
		font-weight: 600;
		display: inline;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, #F8FF39 50% 100%);
	}

/* その他の追加費用 */
.attOther_inner {
}
	.attOther_inner h2 {
		font-size: var(--24px);
		line-height: 1.4;
		margin-bottom: var(--15px);
	}
	.attOther_inner ul {
		margin-left:var(--20px);
	}
		.attOther_inner ul li {
			list-style-type: none;
			line-height: 1.4;
			margin-bottom: var(--12px);
		}
			.attOther_inner ul li:last-child {
				margin-bottom: 0;
			}
			.attOther_inner ul li:before {
				content: '※';
				margin-left:calc(-1 * var(--20px));
				width: var(--20px);
			}

/* popup */
.popup_inner {
}
	.popup_inner #popup-open {
		display: none;
	}
	.popup_inner h2 {
		text-align: center;
		font-size: 8vw;
		line-height: 1.4;
		margin-bottom: var(--12px);
	}
		.popup_inner h2 strong {
			font-size: 120%;
			color: var(--color-orange);
		}
		.popup_inner h2 span {
			position: relative; /* 基準値とする */
			color: var(--color-orange);
		}
			.popup_inner h2 span::before {
				content: "・";       /* 文字の上に置くものを指定 */
				position: absolute; /* 相対位置とする */
				top: -0.9em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
				left: 5px;            /* 横方向の表示位置を調整 */
				font-size: 5vw;
				-webkit-text-stroke: 2px var(--color-orange);
				text-stroke: 2px var(--color-orange);
			}
	.popup_inner .telBtn {
		margin-bottom: var(--20px);
	}
		.popup_inner .telBtn a {
			width: 100%;
			display: flex;
			align-items: center;
			padding: 4% 4% 5%;
			border-radius: 15px;
			background-color: var(--color-orange);
			box-shadow: 0px 4px 0px 0px #851B00;
		}
			.popup_inner .telBtn a .icon {
				width: 17%;
			}
				.popup_inner .telBtn a .icon img {
					filter: brightness(0) invert(1);
				}
			.popup_inner .telBtn a .text {
				padding: 0 2%;
			}
				.popup_inner .telBtn a .main {
					font-size: 7.1vw;
					font-weight: 600;
					color: var(--color-white);
					letter-spacing: 0;
				}
					.popup_inner .telBtn a .main span {
						font-size: 75%;
					}
				.popup_inner .telBtn a .sub {
					text-align: center;
					font-size: 3vw;
					font-weight: 600;
					color: var(--color-black);
					background-color: var(--color-white);
					border-radius: var(--20px);
					line-height: 1;
					padding: var(--05px) 0 var(--04px);
				}
			.popup_inner .telBtn a .arrow01 {
				width: 5%;
  			animation: arrow-move01 1.4s infinite ease-in-out;
			}
				@keyframes arrow-move01 {
					0% {transform: translateX(0); opacity: 0;}
					60% {opacity: 0.4;}
					80% {opacity: 0.8;}
					100% {transform: translateX(5px); opacity: 1;}
				}
			.popup_inner .telBtn a .arrow02 {
				width: 5%;
  			animation: arrow-move02 1.4s infinite ease-in-out;
				animation-delay: 0.2s; /* 遅延処理 */
			}
				@keyframes arrow-move02 {
					0% {transform: translateX(0); opacity: 0;}
					60% {opacity: 0.4;}
					80% {opacity: 0.8;}
					100% {transform: translateX(5px); opacity: 1;}
				}
	.popup_inner h3 {
		text-align: center;
		font-size: 5.6vw;
		line-height: 1.2;
		letter-spacing: 0;
		margin-bottom: var(--12px);
		color: var(--color-green);
	}
	.popup_inner .mailBtn {
		margin-bottom: var(--15px);
	}
		.popup_inner .mailBtn button {
			width: 100%;
			display: flex;
			align-items: center;
			color: var(--color-white);
			padding: 3% 4%;
			border: none;
			border-radius: 15px;
			background-color: var(--color-green);
			box-shadow: 0px 4px 0px 0px #0D6834;
			cursor: pointer;
		}
			.popup_inner .mailBtn button .icon {
				width: 26%;
			}
			.popup_inner .mailBtn button .text {
				font-size: 7vw;
				font-weight: 600;
				padding-left: 3%;
			}
				.popup_inner .mailBtn button .text span {
					font-size: 70%;
				}
	.popup_inner .subTelBtn a {
		width: 100%;
		display: flex;
		align-items: center;
		padding: 3%;
		border-radius: 15px;
		border: 5px solid var(--color-orange);
		background-color: var(--color-white);
		box-shadow: 0px 4px 0px 0px #851B00;
	}
		.popup_inner .subTelBtn a .icon {
			width: 14%;
		}
		.popup_inner .subTelBtn a .text {
			font-size: 6.5vw;
			font-weight: 600;
			letter-spacing: 0;
			padding-left: 3%;
			color: var(--color-black);
		}
			.popup_inner .subTelBtn a .text span {
				font-size: 70%;
			}