@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);
}

a:hover {
	color: var(--link-hover-color);
}

a img {
	transition: 0.3s;
}

a:hover img {
	opacity: 0.6;
}

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: none !important;
}

.pc {
	display: block;
}

.txtLink {
	text-decoration: underline;
	text-decoration-color: var(--link-color);
	text-underline-offset:var(--03px);
}
	.txtLink:hover {
		text-decoration-color: var(--link-hover-color);
	}

.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);
}
.mb100 {
	margin-bottom: var(--100px);
}

.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: 25px;
	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(--30px);
	line-height: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition-duration: .3s;
}
	.accordion__content.is-open {
		padding: var(--30px);
		line-height: normal; /* numberに書き換える*/
		height: auto;
		opacity: 1;
	}

/*----------------------------------------------------
 wrapper
----------------------------------------------------*/
.wrapper1000 {
	max-width: 1000px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper900 {
	max-width: 900px;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper800 {
	max-width: 800px;
	width: 92%;
	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-yellow);
		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) "）";
		}
		.bracketsOl h5 {
			font-size: var(--16px);
		}

/*----------------------------------------------------
 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);
	color: var(--text-color);
	position: relative;
	}
	.attention a::after {
		content: "＋";
		position: absolute;
		top: 2px;
		left: 28px;
		font-size: var(--16px);
		font-weight: 600;
	}

/*----------------------------------------------------
 header
----------------------------------------------------*/
#head {
	width: 100%;
	height: 100px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: var(--bg-color-yellow);
}

#head .header-underline {
	padding: var(--05px) var(--10px);
	border-bottom: 1px solid var(--color-black);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
	#head .header-underline .logo img {
		width: auto;
		height: var(--43px);
	}
	#head .header-underline .rightBox {
		display: flex;
		align-items: center;
	}
		#head .header-underline .rightBox .telBox {
			display: flex;
			align-items: center;
			margin-right: var(--08px);
		}
			#head .header-underline .rightBox .telBox .icon {
				width: var(--32px);
				height: var(--32px);
				background-color: var(--color-orange);
				border-radius: var(--06px);
				padding: var(--04px);
				margin-right: var(--08px);
			}
			#head .header-underline .rightBox .telBox .telNum {
				font-family: "Oswald", serif;
				font-size: var(--32px);
				font-weight: 600;
				line-height: 1;
			}
				#head .header-underline .rightBox .telBox .telNum a {
					color: var(--text-color);
				}
	#head .header-underline .rightBox .box {
		display: flex;
		align-items: center;
		margin-right: var(--03px);
	}
		#head .header-underline .rightBox .box li {
			border-radius: var(--06px);
			border: 1px solid var(--color-black);
			background-color: var(--color-white);
			font-size: var(--12px);
			line-height: 1;
			padding: 4px;
			margin-right: var(--05px);
		}
	#head .header-underline .rightBox .emergency a {
		display: block;
		border-radius: var(--30px);
		background-color: var(--color-orange);
		box-shadow: 0px 3px 0px 0px #851B00;
		color: var(--color-white);
		font-weight: 600;
		padding: var(--04px) var(--15px) var(--03px) var(--38px);
		background-image: url("../img/common/icon_exclamation.svg");
		background-repeat: no-repeat;
		background-position: left 13px center;
		background-size: 20px 20px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
		#head .header-underline .rightBox .emergency a:hover {
			box-shadow: 0px 1px 0px 0px #851B00;
			transform: translate(0, 2px);
		}

#head .header-nav { /* メニュー全体のスタイル */
	position: relative;
	border-bottom: 1px solid var(--color-black);
}
	#head .header-nav ul {
		display: flex;
	}
		#head .header-nav li {
			width: calc(100% / 5);
		}
			#head .header-nav li a { /* 各項目のスタイル */
				display: block;
				height: 46px;
				line-height: 46px;
				color: var(--color-black);
				font-size: var(--18px);
				font-weight: 600;
				text-align: center;
			}
				#head .header-nav li a:hover {
					color: var(--color-orange);
				}
	#head .header-nav .menu:hover > a {
		background: var(--color-light-red);
	}
	#head .header-nav .childMenu > li {
	}
		#head .header-nav .childMenu > li > a { /* 子項目のスタイル */
			font-size: var(--16px);
			text-align: left;
		}
			#head .header-nav .childMenu > li > a:hover { /* 子項目のスタイル（ホバー時） */
			}
	#head .header-nav .childMenu { /* 下層メニューのスタイル */
		width: 100%;
		position: absolute;
		top: calc(100% + 1px); /* 親項目の直下に配置 */
		left: 0;
		padding: var(--20px) var(--40px);
		background: var(--color-white);
		border-radius: 0 0 15px 15px;
		display: none;
	}
	#head .header-nav .menu:hover .childMenu { /* 下層メニューのスタイル（親項目ホバー時） */
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#head .header-nav .childMenu a:hover {
		opacity: 1;
		color: var(--link-hover-color);
	}
	#head .header-nav .childMenu-item {
		padding-left: var(--20px);
		display: inline-block;
		position: relative;
	}
		#head .header-nav .childMenu-item::after {
			content: '';
			width: 8px;
			height: 8px;
			border: 0;
			border-top: solid 2px var(--color-green);
			border-right: solid 2px var(--color-green);
			position: absolute;
			top: 50%;
			left: 0;
			margin-top: -4px;
			transform: rotate(45deg);
		}

/* 768px以下 */
@media screen and (max-width:768px) {
	#head .header-underline .rightBox .telBox .telNum {
		font-size: var(--28px);
	}
	#head .header-underline .rightBox .emergency a {
		font-size: var(--16px);
	}
		#head .header-nav li a {
			font-size: var(--16px);
		}
}

/*----------------------------------------------------
 main
----------------------------------------------------*/
main {
	padding-top: 100px;
	min-height: calc(100vh - 102px);
}

/*----------------------------------------------------
 mainCV
----------------------------------------------------*/
.mainCV {
	background-color: var(--color-red);
	padding: var(--18px) 0 var(--30px);
}
	.mainCV .title {
		font-size: var(--22px);
		color: var(--color-white);
		padding-left: 250px;
		margin-bottom: var(--15px);
	}
		.mainCV .title strong {
			font-size: 120%;
		}
		.mainCV .title span {
			font-size: 120%;
			position: relative;
		}
			.mainCV .title span::before {
				content: "・";       /* 文字の上に置くものを指定 */
				position: absolute; /* 相対位置とする */
				top: -1.1em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
				left: 3px;            /* 横方向の表示位置を調整 */
				font-size: var(--20px);
			}
	.mainCV .inner {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
		.mainCV .inner::after {
			content: '';
			position: absolute;
			top: -120px;
			left: 20px;
			background-image: url("../img/common/cv_book.svg");
			background-size: contain;
			background-repeat: no-repeat;
			width: 220px;
			height: 160px;
		}
	.mainCV .telBtn {
		width: 48%;
		padding: var(--12px) var(--20px);
		border-radius: 15px;
		border: 5px solid var(--color-orange);
		outline: solid 3px var(--color-white);
		background-color: var(--color-white);
		z-index: 1;
	}
		.mainCV .telBtn .subTitle {
			color: var(--color-orange);
			font-size: var(--18px);
			font-weight: 600;
			padding-bottom: var(--03px);
			text-align: center;
			margin-bottom: var(--10px);
			border-bottom: 1px solid var(--color-black);
		}
		.mainCV .telBtn dl {
			display: flex;
			justify-content: space-between;
		}
			.mainCV .telBtn .operator img {
				border-radius: 50%;
			}
			.mainCV .telBtn .text {
				width: calc(100% - 100px);
			}
				.mainCV .telBtn .text .num {
					display: inline-block;
					padding-left: 52px;
					font-family: "Oswald", serif;
					font-size: 46px;
					font-weight: 600;
					line-height: 1;
					background-position: left center;
					background-repeat: no-repeat;
					background-size: 46px auto;
					background-image: url("../img/common/icon_tel_red.svg");
					margin-top: var(--05px);
					margin-bottom: var(--12px);
				}
					.mainCV .telBtn .text .num a {
						color: var(--text-color);
					}
				.mainCV .telBtn .text .item {
					display: flex;
					justify-content: space-between;
					padding: 0 var(--05px);
				}
					.mainCV .telBtn .text .item li {
						border: 1px solid var(--color-black);
						padding: var(--04px) var(--12px);
						font-size: var(--14px);
						line-height: 1;
						border-radius: 5px;
					}

	.mainCV .mailBtn {
		width: 48%;
		z-index: 1;
	}
		.mainCV .mailBtn button {
			display: block;
			color: var(--color-white);
			padding: var(--12px) var(--20px);
			border: none;
			border-radius: 15px;
			background-color: var(--color-green);
			box-shadow: 0px 4px 0px 0px #0D6834;
			transition: all 0.3s;
			cursor: pointer;
		}
			.mainCV .mailBtn button:hover {
				box-shadow: 0px 1px 0px 0px #0D6834;
				transform: translate(0, 2px);
			}
		.mainCV .mailBtn .subTitle {
			font-size: var(--18px);
			font-weight: 600;
			padding-bottom: var(--03px);
			text-align: center;
			margin-bottom: var(--10px);
			border-bottom: 1px solid var(--color-white);
		}
		.mainCV .mailBtn dl {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
			.mainCV .mailBtn .pamphlet {
			}
			.mainCV .mailBtn .text {
				width:calc(100% - 116px);
			}
			.mainCV .mailBtn .text {
				margin-left: var(--20px);
			}
				.mainCV .mailBtn .text .arrow {
					color: #FFF;
					font-size: 38px;
					font-weight: 600;
					text-align: left;
					position: relative;
				}
					.mainCV .mailBtn .arrow::before {
						content: '';
						width: 38px;
						height: 38px;
						background-color: #0D6834;
						border-radius: 50%;
						position: absolute;
						top: 50%;
						right: 0;
						margin-top: -19px;
					}
					.mainCV .mailBtn .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: 16px;
						margin-top: -5px;
						transform: rotate(45deg);
					}
				.mainCV .mailBtn .text .btn {
					width: 100%;
					color: var(--text-color);
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1;
					padding: var(--08px) var(--20px);
					border-radius: 10px;
					background-color: var(--color-white);
					position: relative;
				}
					.mainCV .mailBtn .text .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: 16.5px;
						margin-top: -3px;
						transform: rotate(45deg);
					}

/* 1024px以下 */
@media screen and (max-width:1024px) {
	.mainCV .title {
		font-size: 2.2vw;
		padding-left: 25%;
	}
	.mainCV .subTitle {
		font-size: 1.6vw !important;
	}
	.mainCV .inner::after {
		width: 22%;
	}
	.mainCV .telBtn {
	}
		.mainCV .telBtn .operator {
			width: 22%;
		}
		.mainCV .telBtn .text {
			width: 75%;
		}
		.mainCV .telBtn .text .num {
			font-size: 4.2vw;
			background-size: 40px auto;
			padding-left: 46px;
		}
		.mainCV .telBtn .text .item li {
			padding: var(--04px) var(--08px);
			font-size: 1.3vw;
		}
	.mainCV .mailBtn {
	}
		.mainCV .mailBtn .pamphlet {
			width: 32%;
		}
		.mainCV .mailBtn .text {
			width: 65%;
		}
		.mainCV .mailBtn .text .arrow {
			font-size: 3.4vw;
		}
		.mainCV .mailBtn .text .btn {
			font-size: 1.3vw;
			padding: var(--08px) var(--30px) var(--08px) var(--14px);
		}
}

/* 820px以下 */
@media screen and (max-width:820px) {
	.mainCV .title .logo {
		width: 200px;
	}
	.mainCV .inner::after {
		top: -94px;
	}
	.mainCV .telBtn {
	}
		.mainCV .telBtn .text .num {
			font-size: 3.8vw;
			background-size: 32px auto;
			padding-left: 40px;
		}
		.mainCV .telBtn .text .item li {
			padding: var(--04px) var(--06px);
			font-size: 1.2vw;
		}
	.mainCV .mailBtn {
	}
		.mainCV .mailBtn .pamphlet {
			width: 30%;
		}
		.mainCV .mailBtn .text {
			width: 67%;
		}
		.mainCV .mailBtn .text .arrow {
			font-size: 3.4vw;
		}
			.mainCV .mailBtn .arrow::before {
				width: 30px;
				height: 30px;
				margin-top: -15px;
			}
			.mainCV .mailBtn .arrow::after {
				right: 12px;
			}
		.mainCV .mailBtn .text .btn {
			font-size: 1.2vw;
			padding: var(--08px) var(--30px) var(--08px) var(--14px);
		}
}


/*----------------------------------------------------
 mv
----------------------------------------------------*/
.mv {
	display: flex;
	justify-content: space-between;
	align-items: end;
	width: 1000px;
	margin: var(--30px) auto var(--50px);
}
	.mv .text {
		width: 350px;
		margin: 0 auto;
	}
		.mv .text .title {
			font-size: var(--28px);
			font-weight: 600;
			line-height: 1;
			text-align: center;
			margin-bottom: var(--30px);
		}
			.mv .text .title strong {
				font-size: var(--40px);
			}
				.mv .text .title strong.long {
					font-size: var(--28px);
				}
			.mv .text .title img {
				margin-top: var(--10px);
			}
		.mv .text .bgText {
			background-color: var(--color-green);
			color: var(--color-white);
			font-size: var(--18px);
			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;
		}
			.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(--24px) 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(--10px);
				padding-bottom: var(--04px);
			}
				.mv .text .kakaku dd .num {
					font-family: "Oswald", serif;
					font-size: 110px;
					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: -10px;
			padding-right: var(--10px);
		}
			.mv .text .zeikomi strong {
				font-size: 150%;
			}
	.mv .text .attention {
		margin-top: var(--10px);
	}
	.mv .photo {
		width: 500px;
		border-radius: 25px;
		overflow: hidden;
	}
		.mv .photo img {
			height: 580px;
			object-fit: cover;
		}

/* 820px以下 */
@media screen and (max-width:820px) {
	.mv {
		margin: var(--10px) auto var(--80px);
		width: 94%;
	}
		.mv .text {
			width: 340px;
			margin: 0 0 0 var(--15px);
		}
			.mv .text .bgText {
				font-size: 2.2vw;
			}
			.mv .text .kakaku dd .en {
				font-size: 4.5vw;
			}
		.mv .photo {
			width: 350px;
		}
			.mv .photo img {
				height: 580px;
				object-fit: cover;
			}
}

/* 768px以下 */
@media screen and (max-width:768px) {
	.mv .text {
		margin: 0;
	}
}

/*----------------------------------------------------
 予約
----------------------------------------------------*/
.reserve {
	background-color: var(--color-white);
	border-radius: var(--20px);
	padding: var(--30px) var(--50px);
	display: flex;
	align-items: center;
	gap: var(--50px);
	margin-bottom: var(--100px);
	background-image: url(../img/common/reserve_operator.jpg);
	background-repeat: no-repeat;
	background-position: bottom right 20px;
	background-size: 180px auto;
}
	.reserve .title {
		padding-left: var(--43px);
		font-size: var(--35px);
		margin-bottom: var(--10px);
		background-image: url(../img/common/icon_exclamation_green.svg);
		background-repeat: no-repeat;
		background-position: center left;
		background-size: 35px auto;
	}
	.reserve p {
		font-size: var(--22px);
		font-weight: 600;
		line-height: 1.2;
		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%);
		}

/* 1024px以下 */
@media screen and (max-width:1024px) {
	.reserve {
		padding: var(--30px) var(--40px);
		gap: var(--40px);
	}
}

/* 820px以下 */
@media screen and (max-width:820px) {
	.reserve {
		background-size: 160px auto;
	}
		.reserve figure {
			display: none;
		}
		.reserve p {
			font-size: var(--20px);
		}
}

/*----------------------------------------------------
 おすすめポイント
----------------------------------------------------*/
.hallPoint {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
}
	.hallPoint .title {
		font-size: var(--30px);
		font-weight: 600;
		line-height: 1;
		text-align: center;
		letter-spacing: 2px;
		margin-bottom: var(--50px);
	}
		.hallPoint .title strong {
			font-size: var(--38px);
		}
		.hallPoint .title .bg {
			display: inline-block;
			background-color: var(--color-red);
			color: var(--color-white);
			font-size: var(--35px);
			padding: var(--10px) var(--10px) var(--05px) var(--12px);
			border-radius: 10px;
		}
	.hallPoint .list {
		display: flex;
		justify-content: space-between;
		gap: 30px;
	}
		.hallPoint .list li {
			width: calc(100% / 3);
			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(--60px);
				}
					.hallPoint .list li .circle .text h3 {
						font-size: var(--22px);
						line-height: 1.3;
						margin-bottom: var(--15px);
					}
						.hallPoint .list li .circle .text h3.long {
							font-size: var(--20px);
						}

/* 820px以下 */
@media screen and (max-width:820px) {
	.hallPoint .list li .circle .text {
		padding-top: var(--50px);
	}
		.hallPoint .list li .circle .text h3 {
			font-size: var(--20px);
		}
			.hallPoint .list li .circle .text h3.long {
				font-size: var(--18px);
			}
		.hallPoint .list li .circle img {
			max-width: 140px;
			max-height: 90px;
		}
}

/*----------------------------------------------------
 施設写真
----------------------------------------------------*/
.facilityPhoto {
	background-color: var(--color-white);
	padding: var(--50px) 0;
	margin-bottom: var(--60px);
}
	.facilityPhoto .facilitySwiper {
		margin: 0 auto;
		max-width: 1500px;
	}
	.facilityPhoto .swiper-wrapper {
		transition-timing-function: linear;
	}
	.facilityPhoto .swiper-slide {
		width: 300px;
	}
	.facilityPhoto .swiper-slide img {
		border-radius: 25px;
		width: 100%;
		height: auto;
	}

/* 820px以下 */
@media screen and (max-width:820px) {
	.facilityPhoto .swiper-slide {
		width: 250px;
	}
}

/*----------------------------------------------------
 式場概要
----------------------------------------------------*/
.facilityInfo {
	margin-bottom: var(--80px);
}
	.facilityInfo .title {
		font-size: var(--30px);
		font-weight: 600;
		text-align: center;
		letter-spacing: 2px;
		margin-bottom: var(--20px);
	}
		.facilityInfo .title strong {
			font-size: var(--38px);
		}
	.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);
		}
		.infoTable tr {
			border-bottom: 1px solid var(--color-black);
		}
			.infoTable tr:last-child {
				border-bottom: none;
			}
		.infoTable th {
			background-color: var(--color-light-red);
			vertical-align: top;
			width: 30%;
			text-align: left;
		}
		.infoTable td {
			background-color: var(--color-white);
			text-align: left;
		}
			.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 {
			}
				.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;
		margin-bottom: var(--50px);
	}

/*----------------------------------------------------
 ちゃんとしたお葬式とは
----------------------------------------------------*/
.introduction {
	margin-top: var(--60px);
	margin-bottom: var(--80px);
	text-align: center;
}
	.introduction .title {
		margin: 0 auto;
		display: inline-block;
		font-size: var(--32px);
		border-bottom: 2px dotted var(--color-black);
		margin-bottom: var(--40px);
	}
		.introduction .title strong {
			color: var(--color-blue);
		}
	.introduction .worry {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: var(--40px);
		margin-bottom: var(--100px);
		position: relative;
	}
		.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::before {
			content: "";
			position: absolute;
			height: 36px;
			width: 140px;
			clip-path: polygon(0 0,50% 100%,100% 0);
			background-color: var(--color-red);
			left: calc(50% - 70px);
			bottom: -45px;
		}
		.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: -80px;
		}
	.introduction .staff {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 846px;
		margin: 0 auto;
	}
		.introduction .staff .circle {
			font-size: var(--32px);
			font-weight: 800;
			color: var(--color-blue);
			text-align: center;
			line-height: 1.1;
			letter-spacing: -1px;
			width: 130px;
			height: 130px;
			padding-top: var(--20px);
			border: 6px solid var(--color-blue);
			background-color: var(--color-white);
			border-radius: 50%;
			transform: rotate(-25deg);
			margin-top: var(--20px);
		}
		.introduction .staff .txt {
			text-align: left;
			margin-top: var(--10px);
		}
			.introduction .staff .txt .logo {
				font-size: var(--32px);
				font-weight: 600;
			}
				.introduction .staff .txt .logo img {
					display: inline-block;
					vertical-align: -5px;
					padding-right: var(--05px);
				}
			.introduction .staff .txt .kaiketu {
				font-size: var(--80px);
				font-weight: 600;
				line-height: 1.5;
				margin-top: -20px;
			}
	.introduction .borderBox {
		background-color: var(--color-white);
		border-radius: var(--30px);
		border: 10px solid var(--color-red);
		padding: var(--40px);
	}
		.introduction .borderBox .catchCopy {
			display: flex;
			align-items: center;
			padding: 0 var(--20px);
			margin-top: var(--20px);
			margin-bottom: var(--50px);
		}
			.introduction .borderBox .catchCopy dd {
				text-align: left;
				padding-left: var(--60px);
			}
			.introduction .borderBox .catchCopy dd h3 {
				font-size: 46px;
				line-height: 1.4;
				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 .point {
			display: flex;
			gap: var(--20px);
			justify-content: center;
			margin-bottom: var(--80px);
		}
			.introduction .borderBox .point li {
				width: 220px;
				height: 220px;
				padding-top: var(--08px);
				background-color: var(--color-red);
				border-radius: 50%;
				text-align: center;
				position: relative;
			}
				.introduction .borderBox .point li:not(:last-child)::before {
					content: "";
					width: 40px;
					height: 40px;
					border-radius: 50%;
					background: url(../img/common/icon_plus.svg) no-repeat center center;
					background-size: 100% auto;
					position: absolute;
					right: -30px;
					top: calc(50% - 20px);
					z-index: 1;
				}
				.introduction .borderBox .point li .num {
					font-size: var(--40px);
					font-family: "Oswald", serif;
					font-weight: 600;
					color: var(--color-yellow);
				}
				.introduction .borderBox .point li .name {
					font-size: var(--30px);
					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(--40px);
				text-align: left;
				position: relative;
			}
				.introduction .borderBox .pointBox li h4 {
					font-size: var(--26px);
				}
					.introduction .borderBox .pointBox li h4 strong {
						font-size: 120%;
					}
				.introduction .borderBox .pointBox li::before {
					font-size: var(--100px);
					font-family: "Oswald", serif;
					font-weight: 600;
					color: var(--color-red);
					position: absolute;
					top: -90px;
				}
				.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-left: 300px;
						margin-bottom: var(--80px);
					}
						.introduction .borderBox .pointBox li.no1::before {
							content: '01';
							right: 20px;
						}
						.introduction .borderBox .pointBox li.no1::after {
							left: 40px;
							width: 220px;
							height: 280px;
							background-image: url(../img/common/introduction_point01.svg);
						}
					.introduction .borderBox .pointBox li.no2 {
						padding-right: 300px;
						margin-bottom: var(--80px);
					}
						.introduction .borderBox .pointBox li.no2::before {
							content: '02';
							left: 20px;
						}
						.introduction .borderBox .pointBox li.no2::after {
							bottom: 20px;
							right: 20px;
							width: 260px;
							height: 280px;
							background-image: url(../img/common/introduction_point02.png);
						}
					.introduction .borderBox .pointBox li.no3 {
						padding-left: 300px;
					}
						.introduction .borderBox .pointBox li.no3::before {
							content: '03';
							right: 20px;
						}
						.introduction .borderBox .pointBox li.no3::after {
							left: 20px;
							width: 240px;
							height: 280px;
							background-image: url(../img/common/introduction_point03.svg);
						}

/* 820px以下 */
@media screen and (max-width:820px) {
	.introduction .title {
		font-size: var(--28px);
	}
		.introduction .worry .list li {
			font-size: var(--20px);
		}
		.introduction .worry figure img {
			width: 220px;
		}
	.introduction .staff {
		width: 90%;
	}
		.introduction .staff .circle {
			font-size: var(--30px);
			width: 120px;
			height: 120px;
			padding-top: var(--16px);
		}
		.introduction .staff .txt {
			text-align: left;
			margin-top: var(--10px);
		}
			.introduction .staff .txt .logo {
				font-size: 4vw;
				font-weight: 600;
			}
				.introduction .staff .txt .logo img {
					width: 290px;
				}
			.introduction .staff .txt .kaiketu {
				font-size: 8.4vw;
				margin-top: 1px;
				line-height: 1;
			}
		.introduction .staff figure {
			width: 28%;
		}
	.introduction .borderBox {
		border: 8px solid var(--color-red);
		padding: var(--20px);
	}
		.introduction .borderBox .catchCopy dt {
			width: 50%;
		}
			.introduction .borderBox .catchCopy dd h3 {
				font-size: 5vw;
			}
		.introduction .borderBox .point li {
			width: 200px;
			height: 200px;
		}
			.introduction .borderBox .point li .num {
				font-size: 4vw;
			}
			.introduction .borderBox .point li .name {
				font-size: 3.4vw;
			}

		.introduction .borderBox .pointBox li.no1 {
			padding-left: 250px;
			margin-bottom: var(--70px);
		}
			.introduction .borderBox .pointBox li.no1::after {
				left: 20px;
				width: 200px;
				height: 280px;
			}
		.introduction .borderBox .pointBox li.no2 {
			padding-right: 250px;
			margin-bottom: var(--70px);
		}
			.introduction .borderBox .pointBox li.no2::after {
				bottom: 30px;
				right: 20px;
				width: 200px;
				height: 280px;
			}
		.introduction .borderBox .pointBox li.no3 {
			padding-left: 250px;
		}
			.introduction .borderBox .pointBox li.no3::after {
				left: 20px;
				width: 210px;
				height: 280px;
			}
}

/*----------------------------------------------------
 お客様の声
----------------------------------------------------*/
.voice {
	margin-bottom: var(--60px);
	position: relative;
	padding-top: 130px;
}
	.voice .title {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
  	right: 0;
		margin: auto;
	}
	.voice .swiper-container {
		position: relative;
		background-color: var(--color-green);
		padding: 130px 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% - 1050px)/2);
			}
			.voice .swiper-button-next {
				right: calc((100% - 1050px)/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);
				}

/* 1024px以下 */
@media screen and (max-width:1024px) {
	.voice .swiper-button-prev {
		left: calc((100% - 360px)/2);
	}
	.voice .swiper-button-next {
		right: calc((100% - 360px)/2);
	}
}

/*----------------------------------------------------
 選ばれる理由
----------------------------------------------------*/
.reason {
	margin-bottom: var(--100px);
}
	.reason .title {
		text-align: center;
		line-height: 1.2;
		margin-bottom: var(--50px);
	}
		.reason .title .logo {
			text-align: center;
		}
			.reason .title .logo img {
				display: inline-block;
				vertical-align: -5px;
				padding-right: var(--05px);
			}
			.reason .title .logo strong {
				font-size: var(--35px);
			}
		.reason .title .text {
			font-size: var(--50px);
		}
			.reason .title .text .num {
				font-size: var(--100px);
				font-family: "Oswald", serif;
				font-weight: 600;
				color: var(--color-red);
			}
			.reason .title .text .riyu {
				font-size: var(--70px);
			}
			.reason .title .text img {
				display: inline-block;
				vertical-align: -5px;
				padding-left: var(--10px);
			}
	.reason .list {
	}
		.reason .list li {
			margin-bottom: var(--60px);
			padding: var(--60px) 0;
			background-repeat: no-repeat;
		}
			.reason .list li.no1 {
				padding-left: calc((100% - 1000px) / 2);
				background-image: url(../img/common/reason_bg01.jpg);
				background-position: center right calc((100% - 1000px) / 2 + 100px);
				background-size: auto 100%;
			}
			.reason .list li.no2 {
				padding-left: calc((100% - 1000px) / 2 + 350px);
				background-image: url(../img/common/reason_bg02.jpg);
				background-position: center left calc((100% - 1000px) / 2 + 100px);
				background-size: auto 100%;
			}
			.reason .list li.no3 {
				padding-left: calc((100% - 1000px) / 2);
				background-image: url(../img/common/reason_bg03.jpg);
				background-position: center right calc((100% - 1000px) / 2 + 100px);
				background-size: auto 100%;
			}
			.reason .list li .box {
				display: flex;
				width: 650px;
				position: relative;
			}
				.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: -90px;
					left: 50px;
					font-size: var(--100px);
					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 {
					width: 450px;
					background-color: var(--color-white);
					border-radius: var(--20px) 0 0 var(--20px);
					padding: var(--60px) var(--40px) var(--40px) var(--40px);
				}
					.reason .list li .box dt h3 {
						color: var(--color-red);
						font-size: var(--28px);
						line-height: 1.4;
						margin-bottom: var(--20px);
					}
				.reason .list li .box dd {
					width: 200px;
					padding: 0 var(--30px);
					background-color: var(--color-light-red);
					border-radius: 0 var(--20px) var(--20px) 0;
					display: flex;
					align-items: center;
					justify-content: center;
				}

/* 1024px以下 */
@media screen and (max-width:1024px) {
	.reason .list li.no1 {
		padding-left: calc((100% - 900px) / 2);
		background-position: center right calc((100% - 900px) / 2 + 100px);
	}
	.reason .list li.no2 {
		padding-left: calc((100% - 900px) / 2 + 250px);
		background-position: center left calc((100% - 900px) / 2 + 100px);
	}
	.reason .list li.no3 {
		padding-left: calc((100% - 900px) / 2);
		background-position: center right calc((100% - 900px) / 2 + 100px);
	}
}

/* 820px以下 */
@media screen and (max-width:820px) {
	.reason .list li.no1 {
		padding-left: calc((100% - 700px) / 2);
		background-position: center right calc((100% - 700px) / 2);
	}
	.reason .list li.no2 {
		padding-left: calc((100% - 700px) / 2 + 50px);
		background-position: center left calc((100% - 700px) / 2);
	}
	.reason .list li.no3 {
		padding-left: calc((100% - 700px) / 2);
		background-position: center right calc((100% - 700px) / 2);
	}
}

/*----------------------------------------------------
 プラン
----------------------------------------------------*/
.planInfo {
	margin-top: var(--60px);
	margin-bottom: var(--100px);
}

/* タイトル */
.planInfo .title {
	text-align: center;
	margin-bottom: var(--60px);
}
	.planInfo .title .subTitle {
		font-size: var(--30px);
		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: var(--30px);
		font-weight: 600;
	}
		.planInfo .title .mainTitle img {
			display: inline-block;
			vertical-align: -5px;
			padding-right: var(--05px);
		}
		.planInfo .title .mainTitle strong {
			font-size: var(--40px);
		}

/* 含まれるもの */
.planInfo .contain {
	background-color: var(--color-white);
	border: 1px solid var(--color-black);
	border-radius: var(--30px);
	padding: var(--30px);
	margin-bottom: var(--20px);
}
	.planInfo .containTitle {
		padding: var(--05px) 0;
		background-color: var(--color-white);
		border-radius: var(--30px);
		border: 1px solid var(--color-black);
		font-size: var(--22px);
		display: block;
		text-align: center;
		margin: -52px auto var(--20px);
		width: 500px;
		z-index: 1;
	}
.planInfo .contain .itemL {
	display: flex;
	gap: var(--30px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemL li {
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
	}
	.planInfo .contain .itemL li figcaption {
		padding: var(--08px) 0;
		text-align: center;
		font-size: var(--16px);
		font-weight: 600;
	}
.planInfo .contain .itemM {
	display: flex;
	flex-wrap: wrap;
	gap: var(--20px) var(--30px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemM li {
		width: calc((100% - 90px) / 4);
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
		padding: var(--08px) 0;
		text-align: center;
	}
		.planInfo .contain .itemM li figure {
			display: flex;
			align-items: center;
		}
			.planInfo .contain .itemM li figure img {
				padding: 0 var(--15px);
			}
			.planInfo .contain .itemM li figure figcaption {
				text-align: left;
				font-size: var(--16px);
				font-weight: 600;
				line-height: 1.4;
			}
.planInfo .contain .itemS {
	display: flex;
	flex-wrap: wrap;
	gap: var(--20px) var(--30px);
	margin-bottom: var(--20px);
}
	.planInfo .contain .itemS li {
		width: calc((100% - 90px) / 4);
		overflow: hidden;
		border-radius: var(--15px);
		background-color: var(--color-light-red);
		padding: var(--08px) 0;
		text-align: center;
		font-size: var(--16px);
		font-weight: 600;
	}
.planInfo .contain .all {
	text-align: center;
	color: var(--color-white);
	font-size: var(--22px);
	font-weight: 600;
	background-color: var(--color-red);
	padding: var(--06px) 0;
	border-radius: var(--30px);
}
.planInfo .attention {
	margin: 0 auto var(--80px);
	width: 320px;
}

/* 820px以下 */
@media screen and (max-width:820px) {
	.planInfo .contain {
		padding: var(--30px) var(--20px) var(--20px) var(--20px);
	}
		.planInfo .contain .itemL {
			gap: var(--20px);
			margin-bottom: var(--20px);
		}
			.planInfo .contain .itemL li figcaption {
				padding: var(--10px);
				line-height: 1.2;
			}
		.planInfo .contain .itemM {
			gap: var(--20px);
			margin-bottom: var(--20px);
		}
			.planInfo .contain .itemM li {
				width: calc((100% - 60px) / 4);
				padding: var(--08px);
			}
				.planInfo .contain .itemM li figure {
					display: block;
				}
					.planInfo .contain .itemM li figure img {
						margin: 0 auto;
					}
					.planInfo .contain .itemM li figure figcaption {
						text-align: center;
						line-height: 1.2;
						padding-top: var(--05px);
					}
		.planInfo .contain .itemS {
			gap: var(--20px);
		}
			.planInfo .contain .itemS li {
				width: calc((100% - 60px) / 4);
				padding: var(--10px) var(--08px);
				line-height: 1.2;
			}
	.planInfo .contain .all {
		font-size: var(--20px);
	}
}

/* ここが違います */
.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(--100px);
	padding: var(--60px) 0 var(--10px);
	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: var(--40px);
		text-align: center;
		margin-bottom: var(--80px);
	}
	.planInfo .difference ul li {
		margin-bottom: var(--60px);
	}
		.planInfo .difference ul li:nth-child(odd) dd {
			order: 1;
		}
		.planInfo .difference ul li:nth-child(even) dt {
			order: 1;
		}
		.planInfo .difference .box {
			display: flex;
			gap: var(--50px);
			align-items: center;
		}
			.planInfo .difference .box dt {
				width: 400px;
			}
				.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 {
				width: calc(100% - 450px);
			}
			.planInfo .difference .box h4 {
				font-size: var(--32px);
				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: -38px;
					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';
					}

/* 820px以下 */
@media screen and (max-width:820px) {
	.planInfo .difference h3 {
		line-height: 1.4;
		width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	.planInfo .difference ul li {
		margin-bottom: var(--80px);
	}
		.planInfo .difference .box dt {
			width: 320px;
		}
		.planInfo .difference .box dd {
			width: calc(100% - 360px);
		}
			.planInfo .difference .box h4 {
				font-size: 3.5vw;
			}
}

/* プラン一覧 */
.planInfo .planList {
	margin-top: -30px;
	margin-bottom: var(--30px);
}
	/* メインプラン */
	.planInfo .mainList {
		display: flex;
		gap: var(--35px);
		margin-bottom: var(--30px);
	}
		.planInfo .mainList li {
			width: calc((100% - 70px) / 3);
			background-color: var(--color-white);
			border-radius: var(--15px);
			padding: var(--20px);
		}
			.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: var(--50px);
					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: 74px;
					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(--10px) var(--15px);
			border-radius: 12px;
			display: flex;
			align-items: 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 {
		display: flex;
		gap: var(--35px);
		margin-bottom: var(--30px);
	}
		.planInfo .subList li {
			width: calc((100% - 35px) / 2);
			background-color: var(--color-white);
			border-radius: var(--15px);
			padding: var(--20px);
		}
			.planInfo .subList li .name {
				display: flex;
				align-items: center;
			}
				.planInfo .subList li .name h3 {
					font-size: var(--50px);
					line-height: 1.2;
					margin: 0 var(--20px);
				}
					.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;
					line-height: 1.4;
				}
			.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 {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
			.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: 74px;
						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;
				line-height: 1;
				text-align: center;
				margin-top: -8px;
			}
				.planInfo .subList li .zeikomi strong {
					font-size: 150%;
				}
			.planInfo .subList li .dayFlow {
				background-color: #F2F2F2;
				padding: var(--10px);
				border-radius: 12px;
			}
				.planInfo .subList li .dayFlow p {
					line-height: 1;
					font-weight: 600;
					text-align: center;
					margin-bottom: var(--05px);
				}
					.planInfo .subList li .dayFlow ul {
						display: flex;
						gap: 20px;
					}
						.planInfo .subList li .dayFlow ul li {
							border-radius: 6px;
							color: var(--color-white);
							font-size: var(--14px);
							font-weight: 600;
							letter-spacing: 2px;
							text-align: center;
							writing-mode: vertical-rl;
							padding: var(--12px) var(--03px);
							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 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--20px);
	background-color: var(--color-red);
	border-radius: var(--30px);
	padding: var(--10px);
	margin-bottom: var(--20px);
}
	.planInfo .creditCard dt {
		color: var(--color-white);
		font-size: var(--22px);
		font-weight: 600;
	}
	.planInfo .creditCard dd {
		padding: var(--05px) var(--20px);
		background-color: var(--color-white);
		border-radius: var(--30px);
	}

/* 820px以下 */
@media screen and (max-width:820px) {
	/* メインプラン */
	.planInfo .mainList {
		gap: var(--20px);
		margin-bottom: var(--20px);
	}
		.planInfo .mainList li {
			width: calc((100% - 40px) / 3);
			padding: var(--15px);
		}
				.planInfo .mainList li .name h3 {
					font-size: 4.8vw;
				}
				.planInfo .mainList li .name p {
					font-size: 1.8vw;
				}
			.planInfo .mainList li .type {
				font-size: 2vw;
				padding: var(--03px) 0;
			}
		.planInfo .mainList li .kakaku {
		}
				.planInfo .mainList li .kakaku dt p {
					padding: var(--10px) var(--03px);
					font-size: var(--10px);
				}
					.planInfo .mainList li .kakaku dt .teigaku {
						margin-left: var(--03px);
					}
					.planInfo .mainList li .kakaku dt .tuika {
						width: 32px;
					}
					.planInfo .mainList li .kakaku dt .mitumori {
						padding: var(--18px) var(--03px);
						width: 32px;
					}
			.planInfo .mainList li .kakaku dd {
				margin-left: var(--05px);
			}
				.planInfo .mainList li .kakaku dd .num {
					font-size: 7.4vw;
				}
				.planInfo .mainList li .kakaku dd .man {
					font-size: 4vw;
				}
				.planInfo .mainList li .kakaku dd .en {
					font-size: 2.8vw;
				}
					.planInfo .mainList li .kakaku dd .en rt {
						font-size: var(--10px);
					}
		.planInfo .mainList li .zeikomi {
			font-size: 1.5vw;
		}
		.planInfo .mainList li .dayFlow {
			padding: var(--10px);
		}
			.planInfo .mainList li .dayFlow p {
				margin-right: var(--10px);
				font-size: 1.5vw;
			}
				.planInfo .mainList li .dayFlow ul {
					gap: 12px;
				}
					.planInfo .mainList li .dayFlow ul li {
						font-size: 1.8vw;
						padding: var(--10px) var(--03px);
					}
							.planInfo .mainList li .dayFlow ul li::after {
								height: calc(tan(60deg) * 10px / 2);
								width: 5px;
								left: -8px;
							}

	/* サブプラン */
	.planInfo .subList {
		gap: var(--20px);
		margin-bottom: var(--20px);
	}
		.planInfo .subList li {
			width: calc((100% - 20px) / 2);
			padding: var(--15px);
		}
				.planInfo .subList li .name h3 {
					font-size: 4.8vw;
				}
				.planInfo .subList li .name p {
					font-size: 1.8vw;
				}
			.planInfo .subList li .type {
				font-size: 2vw;
				padding: var(--03px) 0;
			}
		.planInfo .subList li .box {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
					.planInfo .subList li .kakaku dt p {
						padding: var(--10px) var(--03px);
						font-size: var(--10px);
					}
						.planInfo .subList li .kakaku dt .teigaku {
							margin-left: var(--03px);
						}
						.planInfo .subList li .kakaku dt .tuika {
							width: 32px;
						}
						.planInfo .subList li .kakaku dt .mitumori {
							padding: var(--18px) var(--03px);
							width: 32px;
						}
				.planInfo .subList li .kakaku dd {
					margin-left: var(--05px);
				}
					.planInfo .subList li .kakaku dd .num {
						font-size: 7.4vw;
					}
					.planInfo .subList li .kakaku dd .man {
						font-size: 4vw;
					}
					.planInfo .subList li .kakaku dd .en {
						font-size: 2.8vw;
					}
						.planInfo .subList li .kakaku dd .en rt {
							font-size: var(--10px);
						}
			.planInfo .subList li .zeikomi {
				font-size: 1.5vw;
			}
			.planInfo .subList li .dayFlow {
				padding: var(--10px);
			}
				.planInfo .subList li .dayFlow p {
					font-size: 1.5vw;
				}
					.planInfo .subList li .dayFlow ul {
						gap: 12px;
					}
						.planInfo .subList li .dayFlow ul li {
							font-size: 1.4vw;
							padding: var(--10px) 2px var(--10px) 1px;
						}
								.planInfo .subList li .dayFlow ul li::after {
									height: calc(tan(60deg) * 10px / 2);
									width: 5px;
									left: -8px;
								}

	.planInfo .creditCard dt {
		font-size: var(--20px);
	}
}

/* 式場見積り */
.planInfo .hallEstimate {
}
	.planInfo .hallEstimate .hallEstimate_title {
		text-align: center;
		font-size: var(--28px);
		margin-bottom: var(--30px);
	}
		.planInfo .hallEstimate .hallEstimate_title strong {
			font-size: 160%;
		}
	.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(--05px) var(--15px);
			font-size: var(--14px);
		}
		.planInfo .hallEstimate li .uchiwake dd {
			padding: var(--06px) var(--15px);
		}
	.planInfo .hallEstimate .subList li {
		display: flex;
		align-items: last baseline;
		justify-content: space-between;
		gap: var(--20px);
	}
		.planInfo .hallEstimate .subList li .left {
			flex-grow: 1;
		}

/* 820px以下 */
@media screen and (max-width:820px) {
	.planInfo .hallEstimate li .uchiwake dt {
		font-size: 1.5vw;
	}
	.planInfo .hallEstimate li .uchiwake dd {
		font-size: 1.8vw;
	}
	.planInfo .hallEstimate .subList li {
		gap: var(--10px);
	}
}

/* 式場使用料 */
.planInfo .hallTax {
	margin-bottom: var(--80px);
}
	.planInfo .hallTax h3 {
		font-size: var(--40px);
		text-align: center;
		margin-bottom: var(--20px);
	}

/* 比較表 */
.planInfo .comparisonChart {
}
	.planInfo .comparisonChart .chartTitle {
		text-align: center;
		font-size: var(--40px);
		margin-bottom: var(--24px);
	}

.comparisonTable {
	width: 100%;
}
	.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);
		width: calc(100% / 6);
	}
		.comparisonTable th {
			background-color: var(--color-light-red);
		}
		.comparisonTable thead th {
			padding: var(--20px) var(--15px);
			font-size: var(--22px);
			color: var(--color-white);
		}
			.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 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: 48px;
					}
					.comparisonTable td .kakaku .man {
						font-size: 34px;
					}
					.comparisonTable td .kakaku .en {
						font-size: 22px;
					}
						.comparisonTable td .kakaku .en rt {
							font-size: var(--10px);
							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);
			}

/* 820px以下 */
@media screen and (max-width:820px) {
	.planInfo .comparisonChart .scroll {
		width: 100%;
		overflow-x: scroll;
	}
	.comparisonTable {
		width: 1000px;
	}
}

/*----------------------------------------------------
 流れ
----------------------------------------------------*/
.flow {
	margin-top: 80px;
	margin-bottom: 100px;
}
	.flow .title {
		font-size: var(--24px);
	}
		.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);
		display: flex;
		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 {
			width: 50%;
			border-right: 1px solid var(--color-black);
			display: flex;
			align-items: center;
			background-repeat: no-repeat;
			background-position: right 20px center;
		}
			.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 {
			width: 50%;
			padding-left: var(--30px);
		}

/* 1024px以下 */
@media screen and (max-width:1024px) {
		.flow .step dt {
			padding-right: var(--80px);
			line-height: 1.4;
		}
}

/*----------------------------------------------------
 よくいただくご質問
----------------------------------------------------*/
.faq {
	margin-bottom: 100px;
}
	.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(--20px) var(--20px) 70px;
	}
		.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: 20px;
			margin-top: -17px;
		}
	.faq .accordion__content {
		padding: 0 var(--50px) 0 70px;
		position: relative;
	}
		.faq .accordion__content.is-open {
			padding: 0 var(--50px) var(--20px) 70px;
		}
		.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: 20px;
			margin-top: -17px;
		}

/*----------------------------------------------------
 運営会社
----------------------------------------------------*/
.company {
	padding: var(--80px) 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 72px;
}
	.company .title {
		text-align: center;
		font-size: var(--32px);
	}
	.company .info {
		width: 100%;
		border-collapse: collapse;
		margin-bottom: var(--50px);
	}
		.company .info td,
		.company .info th {
			padding: var(--20px) 0;
			border-bottom: 1px solid var(--color-glay);
		}
		.company .info th {
			vertical-align: top;
			width: 20%;
			text-align: left;
		}

/*----------------------------------------------------
 supportTel
----------------------------------------------------*/
.supportTel {
	border: 1px solid var(--color-glay);
	border-radius: 10px;
	background-color: #FFF;
	text-align: center;
	overflow: hidden;
	margin-bottom: var(--60px);
}
	.supportTel h4 {
		padding: var(--10px) 0;
		background-color: var(--color-green);
		color: var(--color-white);
		font-size: var(--18px);
		border-bottom: 1px solid var(--color-glay);
		margin-bottom: var(--20px);
	}
	.supportTel .telBox {
		margin: 0 auto var(--10px);
		width: 360px;
		display: flex;
		align-items: center;
	}
	.supportTel .telBox .icon {
			width: 46px;
			height: 46px;
			background-color: var(--color-orange);
			border-radius: var(--10px);
			padding: var(--06px);
			margin-right: var(--12px);
		}
		.supportTel .telBox .telNum {
			font-family: "Oswald", serif;
			font-size: var(--50px);
			font-weight: 600;
			line-height: 1;
		}
		.supportTel .telBox .telNum a {
				color: var(--text-color);
			}
	.supportTel .text {
		padding-bottom: var(--20px);
	}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
#foot {
}

/* copyBox */
#foot .copyBox {
	padding: var(--20px) 0 var(--10px);
	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: 2%;
	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;
	}

/*----------------------------------------------------
 modaal
----------------------------------------------------*/
.modal_box {
	display: none;
}

.modaal-container {
	width: auto !important;
	border-radius: 15px !important;
}

.modaal-close {
	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 {
	width: 620px;
	font-size: var(--20px);
	text-align: center;
}
	.emergency_inner h2 {
		color: var(--color-green);
		font-size: var(--32px);
	}
	.emergency_inner h3 {
		text-align: center;
		font-size: var(--24px);
		line-height: 1;
		padding: var(--08px) 0;
		color: var(--color-white);
		background-color: var(--color-orange);
		border-radius: 30px;
		margin-bottom: var(--15px);
	}
	.emergency_inner .telBox {
		margin: 0 auto var(--10px);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.emergency_inner .telBox .icon {
			width: 70px;
			height: 70px;
			background-color: var(--color-orange);
			border-radius: var(--12px);
			padding: var(--08px);
			margin-right: var(--15px);
		}
		.emergency_inner .telBox .telNum {
			font-family: "Oswald", serif;
			font-size: var(--80px);
			font-weight: 600;
			line-height: 1;
		}
		.emergency_inner .telBox .telNum a {
				color: var(--text-color);
			}
	.emergency_inner .only {
		display: inline-block;
		font-size: var(--22px);
		font-weight: 600;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, #F8FF39 60% 100%);
	}

/* その他の追加費用 */
.attOther_inner {
}
	.attOther_inner h2 {
		font-size: var(--24px);
		line-height: 1.4;
		margin-bottom: var(--15px);
		text-align: center;
	}
	.attOther_inner ul {
		margin-left:var(--24px);
	}
		.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 {
	width: 580px;
}
	.popup_inner #popup-open {
		display: none;
	}
	.popup_inner h2 {
		font-size: var(--32px);
		line-height: 1.4;
		margin-bottom: var(--15px);
		font-weight: 1000;
		text-align: center;
	}
		.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: -1em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
				left: 5px;            /* 横方向の表示位置を調整 */
				font-size: var(--20px);
				-webkit-text-stroke: 2px var(--color-orange);
				text-stroke: 2px var(--color-orange);
			}
	.popup_inner .telBox {
		margin-bottom: var(--20px);
	}
		.popup_inner .telBox h3 {
			text-align: center;
			font-size: var(--24px);
			line-height: 1;
			padding: var(--08px) 0;
			color: var(--color-white);
			background-color: var(--color-orange);
			border-radius: 30px;
			margin-bottom: var(--15px);
		}
		.popup_inner .telBox .box {
			display: flex;
			align-items: center;
			justify-content: center;
		}
			.popup_inner .telBox .icon {
				width: 70px;
				height: 70px;
				background-color: var(--color-orange);
				border-radius: var(--12px);
				padding: var(--08px);
				margin-right: var(--15px);
			}
			.popup_inner .telBox .telNum {
				font-family: "Oswald", serif;
				font-size: var(--80px);
				font-weight: 600;
				line-height: 1;
			}
				.popup_inner .telBox .telNum a {
					color: var(--text-color);
				}
	.popup_inner h3 {
		text-align: center;
		margin-bottom: var(--10px);
		color: var(--color-green);
	}
	.popup_inner .mailBtn {
	}
		.popup_inner .mailBtn button {
			margin: 0 auto;
			display: flex;
			align-items: center;
			justify-content: center;
			color: var(--color-white);
			padding: var(--12px) var(--20px);
			border: none;
			border-radius: 15px;
			background-color: var(--color-green);
			box-shadow: 0px 4px 0px 0px #0D6834;
			transition: all 0.3s;
			cursor: pointer;
		}
			.popup_inner .mailBtn button:hover {
				box-shadow: 0px 1px 0px 0px #0D6834;
				transform: translate(0, 2px);
			}
			.popup_inner .mailBtn .pamphlet {
				width: 110px;
			}
			.popup_inner .mailBtn .text {
				margin-left: var(--10px);
			}
				.popup_inner .mailBtn .text .arrow {
					color: #FFF;
					font-size: 38px;
					font-weight: 600;
					text-align: left;
					position: relative;
					padding-right: var(--50px);
				}
					.popup_inner .mailBtn .arrow::before {
						content: '';
						width: 38px;
						height: 38px;
						background-color: #0D6834;
						border-radius: 50%;
						position: absolute;
						top: 50%;
						right: 0;
						margin-top: -19px;
					}
					.popup_inner .mailBtn .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: 16px;
						margin-top: -5px;
						transform: rotate(45deg);
					}
				.popup_inner .mailBtn .text .btn {
					width: 100%;
					color: var(--text-color);
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1;
					padding: var(--08px) var(--20px);
					border-radius: 10px;
					background-color: var(--color-white);
					position: relative;
				}
					.popup_inner .mailBtn .text .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: 16.5px;
						margin-top: -3px;
						transform: rotate(45deg);
					}