@charset "utf-8";

/*----------------------------------------------------
 トップページ
----------------------------------------------------*/
/* mv */
.mvTop {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 930px;
	margin: var(--20px) auto var(--70px);
}
	.mvTop .left {
		width: 470px;
		text-align: center;
	}
		.mvTop .left .areaTitle {
			margin-top: -30px;
			margin-bottom: var(--20px);
			font-size: var(--30px);
			font-weight: 600;
			border-bottom: 6px solid var(--color-blue);
			display: inline-block;
			line-height: 1.2;
			letter-spacing: 1px;
		}
			.mvTop .left .areaTitle strong {
				font-size: 140%;
			}
			.mvTop .left .areaTitle strong.blue {
				color: var(--color-blue);
				text-emphasis: circle;
  			-webkit-text-emphasis: circle;
			}
		.mvTop .left .title {
			display: flex;
			justify-content: center;
			align-items: end;
			gap: var(--05px);
			margin-bottom: var(--20px);
		}
			.mvTop .left .title p {
				font-size: var(--30px);
				font-weight: 600;
				line-height: 1;
			}
		.mvTop .left .band {
			text-align: center;
			font-size: var(--28px);
			font-weight: 600;
			background-color: var(--color-red);
			color: var(--color-white);
			transform: skewX(-15deg);
		}
			.mvTop .left .band strong {
				font-size: var(--35px);
				color: var(--color-yellow);
			}
	.mvTop .right {
		width: 400px;
	}
		.mvTop .right .bgText {
			background-color: var(--color-green);
			color: var(--color-white);
			font-size: var(--20px);
			font-weight: 600;
			text-align: center;
			display: block;
			padding: var(--04px);
			border-radius: 30px;
		}
			.mvTop .right .bgText strong span {
				position: relative; /* 基準値とする */
			}
				.mvTop .right .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);
				}
		.mvTop .right .kakaku {
			display: flex;
			align-items: center;
		}
			.mvTop .right .kakaku dt ul {
				display: flex;
			}
				.mvTop .right .kakaku dt ul li {
					border: 1px solid var(--color-black);
					background-color: var(--color-white);
					padding: var(--20px) var(--08px);
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1.2;
					border-radius: 5px;
					margin-left: var(--05px);
				}
					.mvTop .right .kakaku dt ul li strong {
						font-size: 120%;
						color: var(--color-orange);
					}
					.mvTop .right .kakaku dt ul li.tate {
						writing-mode: vertical-rl;
						text-align: center;
						font-size: var(--16px);
						padding: var(--26px) var(--05px) var(--26px) var(--04px);
					}
			.mvTop .right .kakaku dd {
				color: var(--color-orange);
				font-weight: 600;
				line-height: 1;
				margin-left: var(--10px);
				padding-bottom: var(--04px);
			}
				.mvTop .right .kakaku dd .num {
					font-family: "Oswald", serif;
					font-size: 110px;
					letter-spacing: -2px;
				}
				.mvTop .right .kakaku dd .man {
					font-size: 70px;
				}
				.mvTop .right .kakaku dd .en {
					font-size: 42px;
				}
					.mvTop .right .kakaku dd .en rt {
						font-size: var(--16px);
						color: var(--text-color);
						text-align: center;
					}
		.mvTop .right .zeikomi {
			font-size: var(--18px);
			font-weight: 600;
			text-align: right;
			margin-top: -10px;
			padding-right: var(--10px);
		}
			.mvTop .right .zeikomi strong {
				font-size: 150%;
			}

/* 820px以下 */
@media screen and (max-width:820px) {
	.mvTop {
		margin: var(--10px) auto var(--60px);
		width: 92%;
	}
		.mvTop .left{
			width: 47%;
		}
			.mvTop .left .areaTitle {
				font-size: 2.9vw;
			}
				.mvTop .left .title p {
					font-size: 2.5vw;
				}
			.mvTop .left .band {
				font-size: 2vw;
			}
				.mvTop .left .band strong {
					font-size: 3vw;
				}
		.mvTop .right {
			width: 47%;
		}
			.mvTop .right .bgText {
				font-size: var(--18px);
			}
				.mvTop .right .kakaku dd .num {
					font-size: 12vw;
				}
				.mvTop .right .kakaku dd .man {
					font-size: 6vw;
				}
				.mvTop .right .kakaku dd .en {
					font-size: 4vw;
				}
					.mvTop .right .kakaku dd .en rt {
						font-size: var(--12px);
					}
}

/* 768px以下 */
@media screen and (max-width:768px) {
	.mvTop .left{
		margin: 0;
	}
}

/* 年末年始 */
.year-end-new a {
	max-width: 800px;
	width: 90%;
	margin: 0 auto var(--30px);
	border-radius: 10px;
	border: 1px solid var(--color-red);
	background-color: #FDEFF0;
	overflow: hidden;
	display: block;
	padding: var(--20px) 0;
	color: var(--text-color);
	font-size: var(--20px);
	font-weight: 700;
	display: flex;
	justify-content: center;
}
	.year-end-new a .title {
		color: var(--color-red);
		font-size: var(--20px);
		padding-left: var(--30px);
		padding-right: var(--50px);
		position: relative;
	}
		.year-end-new .title:before {
			content: url(../img/common/icon_exclamation_red.svg);
			width: 24px;
			height: 24px;
			position: absolute;
			top: 3px;
			left: 0;
		}
	.year-end-new a p {
		position: relative;
		padding-left: var(--20px);
	}
		.year-end-new a p:after {
			content: '';
			width: 8px;
			height: 8px;
			border: 0;
			border-top: solid 2px var(--text-color);
			border-right: solid 2px var(--text-color);
			position: absolute;
			top: 50%;
			left: 0;
			margin-top: -4px;
			transform: rotate(45deg);
		}

/* お任せください */
.introductionTop {
	margin-top: var(--60px);
	margin-bottom: var(--80px);
	text-align: center;
}
	.introductionTop .staff {
		display: flex;
		justify-content: space-between;
		align-items: top;
		width: 920px;
		margin: 0 auto;
		line-height: 1;
	}
		.introductionTop .staff dl {
			display: flex;
			align-items: end;
			gap: var(--05px);
			margin-bottom: var(--10px);
		}
			.introductionTop .staff .txt dl .circle {
				font-size: var(--22px);
				font-weight: 600;
				color: var(--color-blue);
				text-align: center;
				line-height: 1.1;
				width: 100px;
				height: 100px;
				padding-top: var(--20px);
				border: 5px solid var(--color-blue);
				background-color: var(--color-white);
				border-radius: 50%;
				transform: rotate(-25deg);
			}
			.introductionTop .staff .txt dl dd {
				font-size: 48px;
				font-weight: 600;
			}
				.introductionTop .staff .txt dl dd span {
					position: relative; /* 基準値とする */
				}
					.introductionTop .staff .txt dl dd span::before {
						content: "・";       /* 文字の上に置くものを指定 */
						position: absolute; /* 相対位置とする */
						top: -0.8em;          /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
						left: 5px;            /* 横方向の表示位置を調整 */
						font-size: var(--35px);
					}
		.introductionTop .staff p {
			font-size: 48px;
			font-weight: 600;
			background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, var(--color-yellow) 60% 100%);
		}
	.introductionTop .borderBox {
		background-color: var(--color-white);
		border-radius: var(--30px);
		border: 10px solid var(--color-red);
		padding: var(--30px);
		margin-bottom: var(--30px);
	}
		.introductionTop .borderBox .point {
			display: flex;
			justify-content: space-between;
			gap: var(--30px);
		}
			.introductionTop .borderBox .point li {
				width: calc((100% - 90px) /4);
			}
				.introductionTop .borderBox .point li img {
					border-radius: 50%;
					margin-bottom: var(--20px);
					box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
				}
				.introductionTop .borderBox .point li .txt {
					padding: var(--12px) 0;
					font-size: var(--16px);
					font-weight: 600;
					line-height: 1.4;
					background-color: var(--color-light-red);
					border-radius: var(--10px);
					position: relative;
				}
					.introductionTop .borderBox .point li .txt strong {
						color: var(--color-red);
					}
					.introductionTop .borderBox .point li .txt::after {
						content: "";
						position: absolute;
						height: 12px;
						width: 12px;
						clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
						background-color: var(--color-light-red);
						left: calc(50% - 6px);
						top: -12px;
					}

/* 820px以下 */
@media screen and (max-width:820px) {
	.introductionTop .staff {
		width: 89%;
	}
		.introductionTop .staff .txt dl dd {
			font-size: 4.4vw;
		}
		.introductionTop .staff p {
			font-size: 4.4vw;
		}
		.introductionTop .staff figure {
			width: 27%;
		}
	.introductionTop .borderBox .point {
		flex-wrap: wrap;
	}
		.introductionTop .borderBox .point li {
			width: calc((100% - 30px) /2);
		}
			.introductionTop .borderBox .point li img {
				width: 80%;
				margin-left: auto;
				margin-right: auto;
			}
			.introductionTop .borderBox .point li .txt {
				font-size: 3vw;
			}
}

/* 3つの理由 */
.reasonTop {
	margin-bottom: var(--80px);
}
	.reasonTop .title {
		text-align: center;
		line-height: 1.2;
		margin-bottom: var(--50px);
	}
		.reasonTop .title .logo {
			text-align: center;
		}
			.reasonTop .title .logo img {
				display: inline-block;
				vertical-align: -5px;
				padding-right: var(--05px);
			}
			.reasonTop .title .logo strong {
				font-size: var(--35px);
			}
		.reasonTop .title .text {
			font-size: var(--50px);
		}
			.reasonTop .title .text .num {
				font-size: var(--100px);
				font-family: "Oswald", serif;
				font-weight: 600;
				color: var(--color-red);
			}
			.reasonTop .title .text .riyu {
				font-size: var(--70px);
			}
			.reasonTop .title .text img {
				display: inline-block;
				vertical-align: -5px;
				padding-left: var(--10px);
			}
	.reasonTop .point {
		display: flex;
		gap: var(--20px);
		justify-content: center;
		margin-bottom: var(--80px);
	}
		.reasonTop .point li {
			width: 220px;
			height: 220px;
			padding-top: var(--08px);
			background-color: var(--color-red);
			border-radius: 50%;
			text-align: center;
			position: relative;
		}
			.reasonTop .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;
			}
			.reasonTop .point li .num {
				font-size: var(--40px);
				font-family: "Oswald", serif;
				font-weight: 600;
				color: var(--color-yellow);
			}
			.reasonTop .point li .name {
				font-size: var(--30px);
				font-weight: 600;
				line-height: 1.2;
				color: var(--color-white);
			}
	.reasonTop .pointBox {
		width: 920px;
		margin: 0 auto;
	}
		.reasonTop .pointBox li {
			border: 1px solid var(--color-black);
			background-color: var(--color-white);
			border-radius: var(--30px);
			padding: var(--40px);
			text-align: left;
			position: relative;
		}
			.reasonTop .pointBox li h4 {
				font-size: var(--26px);
			}
				.reasonTop .pointBox li h4 strong {
					font-size: 120%;
				}
			.reasonTop .pointBox li::before {
				font-size: var(--100px);
				font-family: "Oswald", serif;
				font-weight: 600;
				color: var(--color-red);
				position: absolute;
				top: -90px;
			}
			.reasonTop .pointBox li::after {
				content: '';
				position: absolute;
				bottom: 0;
				background-repeat: no-repeat;
				background-size: 100% auto;
				background-position: bottom left;
			}
				.reasonTop .pointBox li.no1 {
					padding-left: 300px;
					margin-bottom: var(--80px);
				}
					.reasonTop .pointBox li.no1::before {
						content: '01';
						right: 20px;
					}
					.reasonTop .pointBox li.no1::after {
						left: 40px;
						width: 220px;
						height: 280px;
						background-image: url(../img/common/introduction_point01.svg);
					}
				.reasonTop .pointBox li.no2 {
					padding-right: 300px;
					margin-bottom: var(--80px);
				}
					.reasonTop .pointBox li.no2::before {
						content: '02';
						left: 20px;
					}
					.reasonTop .pointBox li.no2::after {
						bottom: 10px;
						right: 20px;
						width: 260px;
						height: 280px;
						background-image: url(../img/common/introduction_point02.png);
					}
				.reasonTop .pointBox li.no3 {
					padding-left: 300px;
				}
					.reasonTop .pointBox li.no3::before {
						content: '03';
						right: 20px;
					}
					.reasonTop .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) {
	.reasonTop .pointBox {
		width: 94%;
	}
}


/* 東京23区の葬儀場一覧 */
.hallTokyo {
	margin-top: var(--60px);
}
	.hallTokyo .title {
		text-align: center;
		line-height: 1.4;
		margin-bottom: var(--40px);
	}
		.hallTokyo .title .logo {
			text-align: center;
		}
			.hallTokyo .title .logo img {
				display: inline-block;
				vertical-align: -5px;
				padding-right: var(--05px);
			}
			.hallTokyo .title .logo strong {
				font-size: var(--35px);
			}
		.hallTokyo .title .text {
			font-size: var(--50px);
		}


/* 市区町村から探す */
.citySearch {
	margin-bottom: var(--80px);
	background-color: var(--color-white);
	border-radius: var(--20px);
	padding: var(--30px);
}
	.citySearch .citySearchTitle {
		font-size: var(--28px);
		text-align: center;
		margin-bottom: var(--20px);
	}
	.citySearch .list {
		overflow: hidden;
		border-bottom: 1px solid var(--color-black);
		padding-bottom: var(--10px);
	}
		.citySearch .list li {
			float: left;
			margin-right: var(--20px);
			margin-bottom: var(--12px);
		}
			.citySearch .list li a {
				display: block;
				color: var(--text-color);
				border-radius: var(--05px);
				border: 1px solid var(--color-black);
				padding: var(--03px) var(--26px) var(--03px) var(--12px);
				transition: all 0.3s;
				position: relative;
			}
				.citySearch .list li a:hover {
					color: var(--color-white);
					background-color: var(--color-red);
				}
				.citySearch .list li a::after {
					content: '';
					width: 6px;
					height: 6px;
					border: 0;
					border-top: solid 2px var(--color-black);
					border-right: solid 2px var(--color-black);
					position: absolute;
					top: 50%;
					right: 12px;
					margin-top: -3px;
					transform: rotate(45deg);
				}
	.citySearch .searchBox {
		padding: var(--20px) 0 0 0 !important;
	}

/* 葬儀場を探す */
.hallSelect {
	margin-top: var(--80px);
	margin-bottom: var(--100px);
}
	.hallSelect .title {
		font-size: var(--30px);
		line-height: 1.4;
		font-weight: 600;
		text-align: center;
		margin-bottom: var(--40px);
	}
		.hallSelect .title img {
			display: inline-block;
			vertical-align: -5px;
			padding-right: var(--05px);
		}
		.hallSelect .title strong {
			font-size: var(--40px);
		}
		.hallSelect .title .text {
			font-size: var(--50px);
		}

	.hallSelect .mapBtn {
		margin: 0 auto var(--50px);
		width: 660px;
		height: 520px;
		background-image: url(../img/home/map.svg);
		background-position: center center;
		background-repeat: no-repeat;
	}
		.hallSelect .mapBtn .btn {
			position: relative;
		}
			.hallSelect .mapBtn .btn li {
				position: absolute;
			}
				.hallSelect .mapBtn .btn li.tokyo {
					top: 190px;
					left: 150px;
				}
				.hallSelect .mapBtn .btn li.kanagawa {
					top: 300px;
					left: 100px;
				}
				.hallSelect .mapBtn .btn li.chiba {
					top: 280px;
					left: 400px;
				}
				.hallSelect .mapBtn .btn li.saitama {
					top: 80px;
					left: 140px;
				}
			.hallSelect .mapBtn .btn li a {
				display: inline-block;
				background-color: var(--color-white);
				border: 1px solid var(--color-black);
				border-radius: var(--10px);
				padding: var(--10px) var(--40px) var(--10px) var(--26px);
				font-size: var(--24px);
				font-weight: 600;
				color: var(--color-black);
				position: relative;
			}
				.hallSelect .mapBtn .btn li a:hover {
					background-color: var(--color-red);
					color: var(--color-white);
					border: 1px solid var(--color-red);
				}
					.hallSelect .mapBtn .btn li a::after {
						content: '';
						width: 10px;
						height: 10px;
						border: 0;
						border-top: solid 3px var(--color-black);
						border-right: solid 3px var(--color-black);
						position: absolute;
						top: 50%;
						right: 20px;
						margin-top: -5px;
						transform: rotate(45deg);
					}
						.hallSelect .mapBtn .btn li a:hover::after {
							border-top: solid 3px var(--color-white);
							border-right: solid 3px var(--color-white);
						}


/*----------------------------------------------------
 検索
----------------------------------------------------*/
/* 検索フォーム */
.searchBox {
	border-radius: var(--15px);
	background-color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--20px);
}
	.searchBox .searchTitle {
		font-size: var(--18px);
		line-height: 1.2;
		position: relative;
		padding-left: var(--50px);
	}
		.searchBox .searchTitle::before {
			content: url(../img/common/icon_search.svg);
			position: absolute;
			width: 42px;
			height: 42px;
			top: calc(50%- 21px);
			left: 0;
			background: var(--color-green);
			padding: var(--10px);
			border-radius: 50%;
		}
	.searchBox .searchInput {
		width: calc(100% - 360px);
		border: 1px solid var(--color-glay);
		padding: var(--10px) var(--15px);
		border-radius: var(--06px);
		font-size: var(--18px);
		background-color: #FBFBDE;
	}
		.searchBox .searchInput::placeholder {
			color: var(--color-glay);
		}
	.searchBox .searchBtn {
		padding: var(--10px) var(--15px);
		background-color: var(--color-green);
		border-radius: var(--06px);
		color: var(--color-white);
		font-size: var(--18px);
		font-weight: 600;
		border: none;
		cursor: pointer;
		outline: none;
		transition: 0.3s;
	}
		.searchBox .searchBtn:hover {
			background-color: var(--color-red);
		}

/* 検索結果ページ */
.searchPage {
	padding-bottom: var(--80px);
}
	.searchPage .searchTitle {
		text-align: center;
		line-height: 1.4;
		margin-bottom: var(--30px);
		font-size: var(--28px);
	}
		.searchPage .searchTitle .logo {
			text-align: center;
		}
			.searchPage .searchTitle .logo img {
				display: inline-block;
				vertical-align: -5px;
				padding-right: var(--05px);
			}
			.searchPage .searchTitle .logo strong {
				font-size: var(--35px);
			}
		.searchPage .searchTitle .text {
			font-size: var(--50px);
		}

/*----------------------------------------------------
 市区町村
----------------------------------------------------*/
.areaPage {
	margin-top: -30px;
}

/*----------------------------------------------------
 ちゃんとしたお葬式とは
----------------------------------------------------*/
.whatIs {
	margin-top: var(--30px);
	margin-bottom: -30px;
	position: relative;
	z-index: 2;
}
	.whatIs .title {
		text-align: center;
		font-size: var(--32px);
		margin-bottom: var(--30px);
	}
		.whatIs .title .logo {
			display: inline-block;
			margin-right: var(--05px);
		}
		.whatIs .title span {
			vertical-align: -60%;
		}
	.whatIs .box {
		margin: 0 auto;
		width: 750px;
		border: 6px solid var(--color-red);
		background-color: var(--color-white);
		border-radius: var(--20px);
		box-shadow: 5px 7px 0 3px #9B1D09;
		font-size: var(--22px);
		font-weight: 600;
		display: flex;
		align-items: end;
	}
		.whatIs .box p {
			padding: var(--20px) var(--10px) var(--20px) var(--30px);
		}
		.whatIs .box p strong {
			font-size: 150%;
		}

.preface {
	width: 100%;
	background: url(../img/about/bg.svg) no-repeat bottom center;
	background-size: cover;
}
	.preface .bgTop {
		overflow: hidden;
		position: relative;
		width: 100%;
		height: 120px;
	}
		.preface .bgTop::before {
			display: block;
			content: "";
			position: absolute;
			bottom: 0;
			left: 50%;
			z-index: 1;
			-webkit-transform: translateX(-50%);
							transform: translateX(-50%);
			width: 400vw;
			height: 400vw;
			border-radius: 100%;
			background-color: var(--bg-color-yellow);
		}
	.preface .text {
		padding: 80px 0 210px;
		font-size: var(--20px);
		font-family: "Zen Old Mincho", serif;
		font-weight: 500;
		font-style: normal;
		line-height: 2.5;
	}

.aboutCompany {
	margin-top: -60px;
	margin-bottom: var(--80px);
	padding: var(--80px) 0;
	background-color: var(--color-white);
}
	.aboutCompany .exclamation {
		margin: 0 auto var(--60px);
		max-width: 900px;
		width: 92%;
		border-radius: var(--20px);
		padding: var(--30px) var(--40px) var(--30px);
		border: 1px solid var(--color-red);
		background: var(--color-light-red) url(../img/about/operator.png) no-repeat;
		background-size: 210px auto;
		background-position: bottom right 30px;
		position: relative;
	}
		.aboutCompany .exclamation::before {
			position: absolute;
			content: url(../img/about/exclamation.svg);
			top: -36.5px;
			left: calc(50% - 38px);
		}
		.aboutCompany .exclamation h3 {
			text-align: center;
			font-size: var(--30px);
			color: var(--color-red);
			border-bottom: 1px solid var(--color-red);
			margin-bottom: var(--26px);
		}
		.aboutCompany .exclamation .check li {
			font-size: var(--24px);
			font-weight: 600;
			margin-bottom: var(--10px);
			padding-left: var(--40px);
			position: relative;
		}
			.aboutCompany .exclamation .check li::after {
				position: absolute;
				content: '';
				top: 2px;
				left: 0;
				width: 30px;
				height: 30px;
				background: url(../img/common/icon_checkbox.svg) no-repeat;
			}
	.aboutCompany .title {
		text-align: center;
		font-size: var(--32px);
	}
	.aboutCompany .info {
		width: 100%;
		border-collapse: collapse;
	}
		.aboutCompany .info td,
		.aboutCompany .info th {
			padding: var(--20px) 0;
			border-bottom: 1px solid var(--color-glay);
		}
		.aboutCompany .info th {
			vertical-align: top;
			width: 35%;
			text-align: left;
		}

/* 820px以下 */
@media screen and (max-width:820px) {
	.aboutCompany .exclamation {
		background-size: 190px auto;
		background-position: bottom right 20px;
	}
		.aboutCompany .exclamation h3 {
			line-height: 1.4;
			padding-bottom: var(--10px);
		}
		.aboutCompany .exclamation .check li {
			width: 76%;
			line-height: 1.4;
		}
}

/*----------------------------------------------------
 個人情報の取り扱いについて
----------------------------------------------------*/
.privacyPage h2 {
	font-size: var(--40px);
}
.privacyPage .text {
	background-color: var(--color-white);
	border-radius: var(--30px);
	padding: var(--50px);
	margin-bottom: var(--100px);
}

/*----------------------------------------------------
 特定商取引法に基づく表記
----------------------------------------------------*/
.tokushohoPage .box {
	background-color: var(--color-white);
	border-radius: var(--30px);
	padding: var(--50px);
	margin-bottom: var(--100px);
}


/*----------------------------------------------------
 プラン
----------------------------------------------------*/
/* mv */
.mv.plan {
	margin-bottom: var(--100px);
}
	.mv.plan .logo {
		width: 90%;
		margin: 0 auto var(--15px);
	}
	.mv.plan .planTitle {
		color: var(--color-white);
		font-size: var(--35px);
		line-height: 1;
		text-align: center;
		padding: var(--14px) 0 var(--10px);
		border-radius: var(--12px);
		margin-bottom: var(--10px);
	}
		.mv.plan .planTitle span {
			font-size: 76%;
		}
		.mv.plan .planTitle.oneday {
			background-color: var(--plan-oneday);
		}
		.mv.plan .planTitle.twoday {
			background-color: var(--plan-twoday);
		}
		.mv.plan .planTitle.flower {
			background-color: var(--plan-flower);
		}
		.mv.plan .planTitle.kasou {
			background-color: var(--plan-kasou);
		}
		.mv.plan .planTitle.chokusou {
			background-color: var(--plan-chokusou);
		}
		.mv.plan .planTitle.basic {
			background-color: var(--plan-basic);
		}
	.mv.plan .text .normal {
		text-align: center;
		line-height: 1;
	}
		.mv.plan .text .normal strong span {
			font-size: 125%;
		}
		.mv.plan .text .normal strong ruby {
			font-size: 80%;
		}
	.mv.plan .text .kakaku dt img {
		width: 100px;
	}
	.mv.plan .photo {
		position: relative;
	}
		.mv.plan .photo img {
			height: 620px;
		}
		.mv.plan .photo figcaption {
			position: absolute;
			bottom: 10px;
			right: 20px;
			z-index: 1;
			color: var(--color-white);
			font-size: var(--14px);
			text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.8);
		}

/* このような方に選ばれています！ */
.chosen {
	margin-top: var(--60px);
	margin-bottom: var(--60px);
}
	.chosen .titleBox {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: var(--50px);
	}
		.chosen .titleBox .title {
			font-size: var(--35px);
			line-height: 1.4;
		}
			.chosen .titleBox .title .logo {
				display: inline-block;
				margin-right: var(--05px);
			}
			.chosen .titleBox .title .plan {
				color: var(--color-white);
				padding: var(--10px) var(--15px);
				border-radius: var(--10px);
				vertical-align: 20%;
				margin: 0 var(--05px);
			}
				.chosen .titleBox .title .plan.oneday {
					background-color: var(--plan-oneday);
				}
				.chosen .titleBox .title .plan.twoday {
					background-color: var(--plan-twoday);
				}
				.chosen .titleBox .title .plan.flower {
					background-color: var(--plan-flower);
				}
				.chosen .titleBox .title .plan.kasou {
					background-color: var(--plan-kasou);
				}
				.chosen .titleBox .title .plan.chokusou {
					background-color: var(--plan-chokusou);
				}
				.chosen .titleBox .title .plan.basic {
					background-color: var(--plan-basic);
				}
			.chosen .titleBox .title strong {
				font-size: var(--50px);
			}
	.chosen .list {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		margin-bottom: var(--50px);
	}
		.chosen .list li {
			width: calc(100% / 3);
			position: relative;
		}
			.chosen .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;
			}
				.chosen .list li:first-child:before {
					content: '01';
				}
				.chosen .list li:nth-child(2):before {
					content: '02';
				}
				.chosen .list li:last-child:before {
					content: '03';
				}
			.chosen .list li .circle {
				border-radius: 100%;
				display: flex;
				justify-content: center;
				position: relative;
				background-color: var(--color-white);
			}
				.chosen .list li .circle:before {
					content: '';
					display: block;
					padding-top: 100%;
				}
				.chosen .list li .circle .text {
					text-align:center;
					padding-top: 45px;
				}
					.chosen .list li .circle .text img {
						height: 110px;
					}
					.chosen .list li .circle .text h3 {
						font-size: var(--22px);
						line-height: 1.3;
						margin-top: var(--20px);
					}
	.chosen .planAbout {
		display: flex;
		padding: var(--20px) var(--30px);
		border: 6px solid var(--color-red);
		background-color: var(--color-white);
		border-radius: var(--20px);
		justify-content: space-between;
		align-items: center;
	}
		.chosen .planAbout dt {
			width: 220px;
		}
			.chosen .planAbout dt img {
				width: auto;
				height: 170px;
				margin: 0 auto;
			}
		.chosen .planAbout dd {
			width: calc(100% - 260px);
		}
		.chosen .planAbout dd h3 {
			font-size: var(--35px);
			line-height: 1.2;
			margin-bottom: var(--10px);
			display: inline-block;
			background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, var(--color-yellow) 50% 100%);
		}
			.chosen .planAbout dd .attention {
				background-color: var(--color-light-red);
				border-radius: var(--10px);
				padding: var(--10px) var(--20px);
				margin-top: var(--10px);
			}
				.chosen .planAbout dd .attention h4 {
					font-size: var(--20px);
					background: url(../img/common/icon_exclamation_red.svg) no-repeat left center;
					padding-left: var(--28px);
				}

/* 820px以下 */
@media screen and (max-width:820px) {
	.chosen .titleBox {
	}
		.chosen .titleBox .title {
			font-size: var(--28px);
		}
			.chosen .titleBox dt {
				width: 120px;
			}
			.chosen .titleBox .title .logo {
				display: inline-block;
				margin-right: var(--05px);
				width: 250px;
			}
			.chosen .titleBox .title strong {
				font-size: var(--38px);
			}
	.chosen .list li .circle {
	}
		.chosen .list li .circle .text {
			text-align:center;
			padding-top: var(--40px);
		}
			.chosen .list li .circle .text figure img {
				height: 70px;
			}
			.chosen .list li .circle .text h3 {
				font-size: var(--18px);
			}
	.chosen .planAbout dt {
		width: 170px;
	}
	.chosen .planAbout dd {
		width: calc(100% - 200px);
	}
}

/* 他社との違い */
.otherCompany {
	background-color: var(--color-light-red);
	border-radius: var(--30px);
	border: 5px solid var(--color-red);
	padding: var(--40px);
	margin-top: var(--60px);
	margin-bottom: var(--80px);
}
	.otherCompany .title {
		text-align: center;
		font-size: var(--32px);
		border-bottom: 2px dotted var(--color-black);
		margin-bottom: var(--30px);
		padding-bottom: var(--10px);
	}
		.otherCompany .title .chanto {
			color: var(--color-red);
			padding: var(--10px) var(--15px);
			border: 1px solid var(--color-red);
			background-color: var(--color-white);
			vertical-align: 20%;
			margin: 0 var(--05px);
		}
		.otherCompany .title .other {
			color: var(--color-blue);
			padding: var(--10px) var(--15px);
			border: 1px solid var(--color-blue);
			background-color: var(--color-white);
			vertical-align: 20%;
			margin: 0 var(--05px);
		}
		.otherCompany .title strong {
			font-size: 140%;
		}
	.otherCompany .list li {
		background-color: var(--color-white);
		border-radius: var(--15px);
		padding: var(--26px) var(--20px);
		box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.2);
	}
		.otherCompany .list li:not(:last-child) {
			margin-bottom: var(--30px);
		}
		.otherCompany .list li > dl {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
			.otherCompany .list li > dl > dt{
				width: 150px;
			}
				.otherCompany .list li > dl > dt figure {
					position: relative;
				}
					.otherCompany .list li > dl > dt figure::before {
						position: absolute;
						bottom: -10px;
						left: 0;
						content: url(../img/plan/difference_icon.svg);
					}
				.otherCompany .list li > dl > dt img {
					border-radius: 50%;
				}
			.otherCompany .list li > dl > dd {
				width: calc(100% - 180px);
			}
				.otherCompany .list li > dl > dd h3 {
					font-size: var(--26px);
					margin-bottom: var(--08px);
					position: relative;
					padding-left: 108px;
					line-height: 1.2;
				}
					.otherCompany .list li > dl > dd h3::before {
						position: absolute;
						left: 0;
						top: 4px;
						content: 'ココが違う!';
						font-size: var(--14px);
						color: var(--color-white);
						padding: var(--03px) var(--08px);
						background-color: var(--color-red);
						transform: rotate(-4deg);
					}
				.otherCompany .list li > dl > dd .att {
					border: 1px solid var(--color-blue);
					font-size: var(--16px);
					font-weight: 600;
					color: var(--color-blue);
				  padding: var(--10px) var(--20px);
					border-radius: var(--10px);
					margin-top: var(--10px);
				}

/* 820px以下 */
@media screen and (max-width:820px) {
	.otherCompany .title {
		font-size: var(--30px);
	}
}

/* 直葬プランのご注意点 */
.chokusouAttention {
	background-color: #def1fc;
	border-radius: var(--30px);
	border: 5px solid var(--color-blue);
	padding: var(--30px) var(--40px);
	margin-top: var(--60px);
	margin-bottom: var(--80px);
}
	.chokusouAttention .title {
		text-align: center;
		font-size: var(--32px);
		border-bottom: 2px dotted var(--color-black);
		margin-bottom: var(--30px);
		padding-bottom: var(--10px);
	}
		.chokusouAttention .title span {
			color: var(--color-white);
			padding: var(--10px) var(--15px);
			border-radius: var(--10px);
			vertical-align: 20%;
			margin: 0 var(--05px);
			line-height: 1;
			background-color: var(--plan-chokusou);
		}
		.chokusouAttention .title strong {
			font-size: 130%;
		}
	.chokusouAttention .list {
		display: flex;
		gap: var(--30px);
	}
	.chokusouAttention .list li {
		width: calc((100% - 60px) / 3);
		background-color: var(--color-white);
		border-radius: var(--15px);
		padding: var(--20px);
	}

/* 他社比較表 */
.otherComparison {
	margin-bottom: var(--60px);
}
	.otherComparison .title {
		text-align: center;
		font-size: var(--40px);
		margin-bottom: var(--20px);
	}
.otherComparisonTable {
	width: 100%;
	position: relative;
}
	.otherComparisonTable::before {
		content: "";
    width: calc(100% / 5);
    border: 7px solid var(--color-orange);
    border-radius: var(--10px);
    height: calc(100% + 12px);
    position: absolute;
    top: -6px;
    left: calc(100% / 5);
	}
	.otherComparisonTable,.otherComparisonTable td,.otherComparisonTable th {
		border-collapse: collapse;
		border: 1px solid var(--color-black);
		background-color: var(--color-white);
		text-align: center;
	}
	.otherComparisonTable td,.otherComparisonTable th {
		padding: var(--15px);
		width: calc(100% / 5);
		line-height: 1.2;
	}
		.otherComparisonTable th {
			background-color: var(--color-light-red);
		}
		.otherComparisonTable thead th {
			padding: var(--15px);
			font-size: var(--22px);
			color: var(--color-white);
		}
			.otherComparisonTable thead th.chanto {
				background-color: var(--color-red);
			}
			.otherComparisonTable thead th.otherC {
				background-color: var(--plan-twoday);
			}
			.otherComparisonTable thead th.otherY {
				background-color: var(--plan-oneday);
			}
			.otherComparisonTable thead th.otherM {
				background-color: var(--plan-kasou);
			}
		.otherComparisonTable tbody {
		}
			.otherComparisonTable tbody th {
			}
			.otherComparisonTable td.our {
				background-color: #fcf5d9;
				font-weight: 600;
			}
			.otherComparisonTable td.lookUp {
				background-color: #d9f4fc;
				border: 3px solid var(--color-blue);
				font-weight: 600;
			}
			.otherComparisonTable td.flower img {
				border-radius: 50%;
				width: 80px;
				margin: 0 auto;
			}
			.otherComparisonTable td.maru {
				font-size: var(--30px);
				line-height: 1;
			}
			.otherComparisonTable td .kakaku {
				color: var(--color-orange);
				font-weight: 600;
				line-height: 1;
				padding-bottom: var(--04px);
			}
				.otherComparisonTable td .kakaku .num {
					font-family: "Oswald", serif;
					font-size: 48px;
				}
				.otherComparisonTable td .kakaku .man {
					font-size: 34px;
				}
				.otherComparisonTable td .kakaku .en {
					font-size: 22px;
				}
					.otherComparisonTable td .kakaku .en rt {
						font-size: var(--10px);
						color: var(--text-color);
						text-align: center;
					}

/* 820px以下 */
@media screen and (max-width:820px) {
	.otherComparison .scroll {
		width: 100%;
		overflow-x: scroll;
	}
	.otherComparisonTable {
		width: 1000px;
	}
}

/* 流れ */
.flowDetails {
	margin-bottom: var(--100px);
}
	.flowDetails .title {
		font-size: var(--30px);
		margin-bottom: var(--30px);
		text-align: center;
	}
		.flowDetails .title strong {
			font-size: 150%;
		}
	.flowDetails .list {
		display: flex;
		gap: 22px;
		margin-bottom: var(--50px);
	}
		.flowDetails .list li {
			position: relative;
		}
			.flowDetails .list li figure {
				border-radius: 8px;
				overflow: hidden;
				background-color: var(--color-white);
			}
				.flowDetails .list li figcaption {
					height: 150px;
					font-weight: 600;
					text-align: left;
					writing-mode: vertical-rl;
					margin-left: auto;
					margin-right: auto;
					padding-top: var(--15px);
				}
			.flowDetails .list li.off figure {
				background-color: #ddd;
			}
				.flowDetails .list li.off figure img {
					filter: grayscale(100%);
					opacity: 0.5;
				}
				.flowDetails .list li.off figcaption {
					color: var(--color-white);
				}
			.flowDetails .list 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;
			}
			.flowDetails .list li:first-child::after {
				content: none;
			}
	.flowDetails .day {
		display: flex;
		gap: var(--40px);
	}
		.flowDetails .day h3 {
			padding: var(--30px) var(--35px);
			background-color: var(--color-red);
			color: var(--color-white);
			font-size: var(--26px);
			letter-spacing: 2px;
			text-align: left;
			writing-mode: vertical-rl;
			border-bottom: 2px solid var(--bg-color-yellow);
		}
		.flowDetails .day .step {
			display: flex;
			margin-bottom: var(--40px);
			position: relative;
		}
			.flowDetails .day .step.end {
				margin-bottom: 0;
			}
				.flowDetails .day .step::after {
					position: absolute;
					content: '';
					background: var(--color-black);
					height: calc(tan(60deg) * 10px / 2);
					width: 30px;
					clip-path: polygon(50% 100%, 0 0, 100% 0);
					bottom: -24px;
					left: calc(50% - 15px);
					}
					.flowDetails .day .step.end::after {
						content: none;
					}
			.flowDetails .day .step > dl {
				width: 100%;
				display: flex;
				overflow: hidden;
				background-color: var(--color-white);
				border-radius: var(--15px);
			}
				.flowDetails .day .step > dl > dt {
					width: 200px;
					height: 100%;
					min-height: 200px;
					text-indent:100%;
					white-space:nowrap;
					overflow:hidden;
					background-repeat: no-repeat;
					background-size: cover;
				}
					.flowDetails .day .step > dl > dt.step01 {
						background-image: url(../img/plan/flow_step01.jpg);
					}
					.flowDetails .day .step > dl > dt.step02 {
						background-image: url(../img/plan/flow_step02.jpg);
					}
					.flowDetails .day .step > dl > dt.step03 {
						background-image: url(../img/plan/flow_step03.jpg);
					}
					.flowDetails .day .step > dl > dt.step04 {
						background-image: url(../img/plan/flow_step04.jpg);
					}
					.flowDetails .day .step > dl > dt.step05 {
						background-image: url(../img/plan/flow_step05.jpg);
					}
					.flowDetails .day .step > dl > dt.step06 {
						background-image: url(../img/plan/flow_step06.jpg);
					}
					.flowDetails .day .step > dl > dt.step07 {
						background-image: url(../img/plan/flow_step07.jpg);
					}
					.flowDetails .day .step > dl > dt.step08 {
						background-image: url(../img/plan/flow_step08.jpg);
					}
					.flowDetails .day .step > dl > dt.step09 {
						background-image: url(../img/plan/flow_step09.jpg);
					}
					.flowDetails .day .step > dl > dt.step10 {
						background-image: url(../img/plan/flow_step10.jpg);
					}
					.flowDetails .day .step > dl > dt.step11 {
						background-image: url(../img/plan/flow_step11.jpg);
					}
					.flowDetails .day .step > dl > dt.step12 {
						background-image: url(../img/plan/flow_step12.jpg);
					}
				.flowDetails .day .step > dl > dd {
					width: 650px;
					padding: var(--20px) var(--30px);
				}
					.flowDetails .day .step > dl > dd .stepTitle {
						font-size: var(--26px);
						line-height: 1.2;
						margin-bottom: var(--08px);
					}
					.flowDetails .day .step > dl > dd .item {
						background-color: var(--bg-color-glay);
						padding: var(--05px);
						display: flex;
						flex-wrap: wrap;
						font-size: var(--16px);
					}
						.flowDetails .day .step > dl > dd .item li {
							list-style-type: disc;
							width: 220px;
							margin-left: var(--30px);
						}
					.flowDetails .day .step > dl > dd .program {
						display: flex;
						gap: 22px;
					}
						.flowDetails .day .step > dl > dd .program 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;
							background-color: var(--color-green);
						}
							.flowDetails .day .step > dl > dd .program 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;
							}
							.flowDetails .day .step > dl > dd .program li:first-child::after {
								content: none;
							}
					.flowDetails .day .step > dl > dd .card {
						border: 1px solid var(--color-black);
						padding: var(--08px) var(--30px);
						border-radius: var(--50px);
						display: inline-block;
						font-size: var(--14px);
						font-weight: 600;
						text-align: center;
					}
					.flowDetails .day .step > dl > dd .telBox {
						display: flex;
						align-items: center;
						margin-right: var(--08px);
					}
						.flowDetails .day .step > dl > dd .telBox .icon {
							width: var(--32px);
							height: var(--32px);
							background-color: var(--color-orange);
							border-radius: var(--06px);
							padding: var(--04px);
							margin-right: var(--08px);
						}
						.flowDetails .day .step > dl > dd .telBox .telNum {
							font-family: "Oswald", serif;
							font-size: var(--32px);
							font-weight: 600;
							line-height: 1;
						}
							.flowDetails .day .step > dl > dd .telBox .telNum a {
								color: var(--text-color);
							}

/* 820px以下 */
@media screen and (max-width:1024px) {
	.flowDetails .day .step > dl > dd {
		width: calc(100% - 200px);
	}
}
/* 820px以下 */
@media screen and (max-width:820px) {
	.flowDetails .day {
		display: flex;
		gap: var(--20px);
	}
		.flowDetails .day h3 {
			padding: var(--30px) var(--10px);
		}
			.flowDetails .day .step > dl > dd .program li {
				padding: var(--12px) 1px;
			}
}

/* オプションプラン */
.optionPlanList {
	margin-top: -30px;
	margin-bottom: var(--30px);
}
	/* メインプラン */
	.optionPlanList .list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--35px);
		margin-bottom: var(--30px);
	}
		.optionPlanList .list > li {
			width: calc((100% - 70px) / 3);
			background-color: var(--color-white);
			border-radius: var(--15px);
			overflow: hidden;
		}
			.optionPlanList .list > li .inner {
				padding: var(--20px);
			}
			.optionPlanList .list > li h3 {
				font-size: var(--40px);
				line-height: 1;
				text-align: center;
			}
				.optionPlanList .list > li.oneday h3 {
					color: var(--plan-oneday);
				}
				.optionPlanList .list > li.twoday h3 {
					color: var(--plan-twoday);
				}
				.optionPlanList .list > li.flower h3 {
					color: var(--plan-flower);
				}
				.optionPlanList .list > li.kasou h3 {
					color: var(--plan-kasou);
				}
				.optionPlanList .list > li.chokusou h3 {
					color: var(--plan-chokusou);
				}
			.optionPlanList .list > li .type {
				font-size: var(--22px);
				font-weight: 600;
				text-align: center;
				color: var(--color-white);
				margin: var(--10px) 0 var(--08px);
				border-radius: var(--30px);
				padding-top: var(--03px);
			}
				.optionPlanList .list > li.oneday .type {
					background-color: var(--plan-oneday);
				}
				.optionPlanList .list > li.twoday .type {
					background-color: var(--plan-twoday);
				}
				.optionPlanList .list > li.flower .type {
					background-color: var(--plan-flower);
				}
				.optionPlanList .list > li.kasou .type {
					background-color: var(--plan-kasou);
				}
				.optionPlanList .list > li.chokusou .type {
					background-color: var(--plan-chokusou);
				}
			.optionPlanList .list > li .normal {
				text-align: center;
				line-height: 1;
			}
				.optionPlanList .list > li .normal strong span {
					font-size: 125%;
				}
				.optionPlanList .list > li .normal strong ruby {
					font-size: 80%;
				}
		.optionPlanList .list > li .kakaku {
			display: flex;
			align-items: center;
			justify-content: center;
			margin: var(--05px) 0;
		}
			.optionPlanList .list > li .kakaku dt {
			}
			.optionPlanList .list > li .kakaku dd {
				color: var(--color-orange);
				font-weight: 600;
				line-height: 1;
				padding-bottom: var(--04px);
			}
				.optionPlanList .list > li .kakaku dd .num {
					font-family: "Oswald", serif;
					font-size: 74px;
					letter-spacing: -1px;
				}
				.optionPlanList .list > li .kakaku dd .man {
					font-size: 42px;
				}
				.optionPlanList .list > li .kakaku dd .en {
					font-size: 30px;
				}
					.optionPlanList .list > li .kakaku dd .en rt {
						font-size: var(--12px);
						color: var(--text-color);
						text-align: center;
					}
		.optionPlanList .list > li .zeikomi {
			font-size: var(--16px);
			font-weight: 600;
			text-align: center;
			margin-top: -15px;
			margin-bottom: var(--05px);
		}
			.optionPlanList .list > li .zeikomi strong {
				font-size: 150%;
				font-weight: normal;
			}
		.optionPlanList .list > li .text {
			font-weight: 600;
		}
		.optionPlanList .list > li .linkBtn a {
			border: 1px solid var(--color-black);
			border-radius: var(--06px);
			padding: var(--05px) var(--20px);
			text-align: center;
			color: var(--text-color);
			font-size: var(--14px);
			font-weight: 600;
			margin-top: var(--15px);
			transition: all 0.3s;
			position: relative;
			display: block;
		}
			.optionPlanList .list > li .linkBtn a::after {
				content: '';
				width: 6px;
				height: 6px;
				border: 0;
				border-top: solid 2px var(--color-black);
				border-right: solid 2px var(--color-black);
				position: absolute;
				top: 50%;
				right: 12px;
				margin-top: -3px;
				transform: rotate(45deg);
			}
				.optionPlanList .list > li .linkBtn a:hover {
					color: var(--color-white);
				}
				.optionPlanList .list > li.oneday .linkBtn a:hover {
					background-color: var(--plan-oneday);
				}
				.optionPlanList .list > li.twoday .linkBtn a:hover {
					background-color: var(--plan-twoday);
				}
				.optionPlanList .list > li.flower .linkBtn a:hover {
					background-color: var(--plan-flower);
				}
				.optionPlanList .list > li.kasou .linkBtn a:hover {
					background-color: var(--plan-kasou);
				}
				.optionPlanList .list > li.chokusou .linkBtn a:hover {
					background-color: var(--plan-chokusou);
				}
		.optionPlanList .list > li .otsutome {
			display: flex;
			justify-content: space-between;
			background-color: var(--bg-color-glay);
			border-radius: var(--10px);
			padding: var(--10px);
			margin: var(--05px) 0;
		}
			.optionPlanList .list > li .otsutome h4,
			.optionPlanList .list > li .otsutome li {
				text-align: center;
				writing-mode: vertical-rl;
			}
				.optionPlanList .list > li .otsutome li {
					background-color: var(--color-white);
					border-radius: var(--06px);
					padding: var(--05px);
					font-size: var(--14px);
				}
		.optionPlanList .list > li .otsutomeDokyo {
			background-color: var(--bg-color-glay);
			border-radius: var(--10px);
			padding: var(--10px) var(--15px);
			margin: var(--05px) 0;
			line-height: 1.2;
		}
			.optionPlanList .list > li .otsutomeDokyo li {
				background-color: var(--color-white);
				border-radius: var(--06px);
				padding: var(--05px) var(--10px);
				font-size: var(--14px);
				margin: var(--05px) 0;
			}

/* 820px以下 */
@media screen and (max-width:820px) {
	.planInfo .title.optionPlan .mainTitle {
		font-size: var(--26px);
		font-weight: 600;
	}
		.planInfo .title.optionPlan .mainTitle img {
			width: 280px;
		}
		.planInfo .title.optionPlan .mainTitle strong {
			font-size: var(--35px);
		}
	.optionPlanList .list > li {
		width: calc((100% - 35px) / 2);
	}
}

/*----------------------------------------------------
 コラム・お知らせ single
----------------------------------------------------*/
.singlePage {
	margin-bottom: var(--100px);
}
	.sectionBox {
		background-color: var(--color-white);
		border-radius: var(--20px);
		padding: var(--30px) var(--40px);
	}
		.sectionBox h3.subTitle {
			margin-bottom: var(--10px);
			font-size: var(--20px);
			color: var(--color-green);
			padding-bottom: var(--06px);
			border-bottom: 1px solid var(--color-glay);
		}

/* contents */
.singlePage .contents .infoData {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--10px);
}
	.singlePage .contents .infoData .categories {
		display: flex;
		gap: var(--15px);
		margin-bottom: var(--10px);
	}
		.singlePage .contents .infoData .categories > li {
			font-size: var(--14px);
			border: 1px solid var(--color-black);
			padding: var(--03px) var(--14px) var(--03px) var(--32px);
			background-image: url(../img/common/icon_tag.svg);
			background-size: 18px 18px;
			background-position: left 8px center;
			background-repeat: no-repeat;
		}
	.singlePage .contents .infoData .data {
		font-size: var(--16px);
	}
.singlePage .contents h1 {
	margin-bottom: var(--15px);
	color: var(--color-red);
	font-size: var(--30px);
	line-height: 1.4;
}
.singlePage .contents h2.wp-block-heading {
	margin-bottom: var(--15px);
	color: var(--color-red);
	font-size: var(--24px);
	background-color: var(--color-light-red);
	padding:var(--08px) var(--15px);
}
.singlePage .contents h3.wp-block-heading {
	margin-bottom: var(--10px);
	font-size: var(--20px);
	padding-bottom: var(--06px);
	border-bottom: 1px solid var(--color-glay);
}
.singlePage .contents h4.wp-block-heading {
	margin-bottom: var(--05px);
	font-size: var(--18px);
	color: var(--color-green);
}
.singlePage .contents p {
	margin-bottom: var(--30px);
}
	.singlePage .contents p:last-child {
		margin-bottom: 0;
	}
.singlePage .contents ul.wp-block-list {
}
	.singlePage .contents ul.wp-block-list > li {
		list-style: disc;
		margin-left: var(--20px);
	}
.singlePage .contents ol.wp-block-list {
}
	.singlePage .contents ol.wp-block-list > li {
		list-style: decimal;
		margin-left: var(--30px);
	}
.singlePage .contents .wp-block-column {
	background-color: var(--bg-color-glay);
	padding: var(--15px) var(--20px);
	border-radius: var(--10px);
}
	.singlePage .contents .wp-block-column h3 {
		color: var(--color-green);
	}
.singlePage .contents .wp-block-image {
	width: 90%;
	margin: 0 auto var(--30px);
}
.wp-block-table {
	margin-bottom: var(--30px);
}
	.wp-block-table th,
	.wp-block-table td {
		padding: var(--10px) var(--20px) !important;
	}
	.wp-block-table th {
		background-color: var(--color-light-red);
		text-align: left;
	}

/* 関連記事 */
.sectionBox .singleRecommend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--20px);
	margin-top: var(--20px);
}
	.sectionBox .singleRecommend li {
		width: calc((100% - 60px) / 4);
	}
		.sectionBox .singleRecommend li a {
			display: block;
			text-decoration: underline;
			font-size: var(--16px);
		}

/* カテゴリーリスト */
.sectionBox .categoryList {
	display: flex;
	flex-wrap: wrap;
	gap: var(--20px);
	margin-top: var(--20px);
}
	.sectionBox .categoryList li {
		width: calc((100% - 60px) / 4);
	}
		.sectionBox .categoryList li a {
			display: block;
			color: var(--text-color);
			border-radius: var(--05px);
			border: 1px solid var(--color-black);
			padding: var(--08px) var(--26px) var(--08px) var(--26px);
			transition: all 0.3s;
			position: relative;
		}
			.sectionBox .categoryList li a:hover {
				color: var(--color-white);
				background-color: var(--color-red);
			}
			.sectionBox .categoryList li a::after {
				content: '';
				width: 6px;
				height: 6px;
				border: 0;
				border-top: solid 2px var(--color-black);
				border-right: solid 2px var(--color-black);
				position: absolute;
				top: 50%;
				right: 12px;
				margin-top: -3px;
				transform: rotate(45deg);
			}

/* CV */
.singleCV {
	background-color: var(--color-red);
	padding: var(--20px) var(--30px) var(--30px) var(--30px);
	border-radius: var(--15px);
	margin-bottom: var(--40px);
}
	.singleCV .title {
		font-size: var(--22px);
		text-align: center;
		color: var(--color-white);
		margin-bottom: var(--10px);
	}
		.singleCV .title strong {
			font-size: 120%;
		}
	.singleCV .inner {
		display: flex;
		justify-content: space-between;
	}
		.singleCV .inner p {
			margin: 0;
		}
		.singleCV .telBtn {
			padding: var(--12px) var(--20px);
			border-radius: 15px;
			background-color: var(--color-white);
		}
			.singleCV .telBtn .telTitle {
				color: var(--color-orange);
				font-size: var(--18px);
				font-weight: 600;
				padding-bottom: var(--03px);
				text-align: center;
				border-bottom: 1px solid var(--color-black);
				margin-bottom: var(--05px);
			}
			.singleCV .telBtn .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);
			}
				.singleCV .telBtn .num a {
					color: var(--text-color);
				}
			.singleCV .telBtn .item {
				display: flex;
				justify-content: space-between;
			}
				.singleCV .telBtn .item li {
					border: 1px solid var(--color-black);
					padding: var(--04px) var(--12px);
					font-size: var(--14px);
					line-height: 1;
					border-radius: 5px;
				}

	.singleCV .mailBtn {
	}
		.singleCV .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;
		}
			.singleCV .mailBtn button:hover {
				box-shadow: 0px 1px 0px 0px #0D6834;
				transform: translate(0, 2px);
			}
		.singleCV .mailBtn dl {
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
			.singleCV .mailBtn .pamphlet {
				padding-right: var(--15px);
			}
			.singleCV .mailBtn .text {
			}
				.singleCV .mailBtn .text .mailTitle {
					font-size: var(--18px);
					font-weight: 600;
					padding-bottom: var(--03px);
					text-align: center;
					border-bottom: 1px solid var(--color-white);
				}
				.singleCV .mailBtn .text .arrow {
					color: #FFF;
					font-size: 38px;
					font-weight: 600;
					text-align: left;
					position: relative;
					padding-right: var(--50px);
				}
					.singleCV .mailBtn .arrow::before {
						content: '';
						width: 38px;
						height: 38px;
						background-color: #0D6834;
						border-radius: 50%;
						position: absolute;
						top: 50%;
						right: 0;
						margin-top: -19px;
					}
					.singleCV .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);
					}
				.singleCV .mailBtn .text .btn {
					width: 100%;
					color: var(--text-color);
					font-size: var(--14px);
					font-weight: 600;
					line-height: 1;
					padding: var(--08px) var(--20px) var(--08px) var(--10px);
					border-radius: 10px;
					background-color: var(--color-white);
					position: relative;
				}
					.singleCV .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) {
	.singleCV .inner {
		justify-content: center;
		gap: var(--30px);
	}
		.singleCV .title {
			font-size: 2.2vw;
		}
			.singleCV .telBtn .telTitle {
				font-size: 1.6vw;
			}
			.singleCV .telBtn .num {
				font-size: 4.2vw;
				padding-left: 36px;
				background-size: 30px auto;
			}
				.singleCV .telBtn .item li {
					font-size: 1.1vw;
				}
			.singleCV .mailBtn .pamphlet {
				width: 110px;
			}
			.singleCV .mailBtn .text .mailTitle {
				font-size: 1.6vw;
			}
			.singleCV .mailBtn .text .arrow {
				font-size: 3.2vw;
				padding-right: var(--30px);
			}
				.singleCV .mailBtn .arrow::before {
					content: '';
					width: 28px;
					height: 28px;
					margin-top: -14px;
				}
				.singleCV .mailBtn .arrow::after {
					right: 11px;
				}
			.singleCV .mailBtn .text .btn {
				font-size: 1.2vw;
				text-align: left;
			}
}

/* 820px以下 */
@media screen and (max-width:820px) {
	.sectionBox {
		padding: var(--30px);
	}
	.singleCV {
		padding: var(--10px) var(--20px) var(--20px) var(--20px);
	}
}

/* 768px以下 */
@media screen and (max-width:768px) {
		.singleCV .inner {
			justify-content: space-between;
			gap: 0;
		}
}

/*----------------------------------------------------
 コラム・お知らせ archive
----------------------------------------------------*/
.archivePage {
	margin-bottom: var(--100px);
}
	.archivePage .archiveList > li {
		background-color: var(--color-white);
		border-radius: var(--20px);
		padding: var(--30px);
		margin-bottom: var(--30px);
	}
		.archivePage .archiveList > li a {
			display: block;
			color: var(--text-color);
		}
			.archivePage .archiveList > li h2 {
				margin-bottom: var(--20px);
				font-size: var(--24px);
				color: var(--color-red);
				padding-bottom: var(--10px);
				border-bottom: 1px solid var(--color-glay);
				line-height: 1.2;
			}
			.archivePage .archiveList > li dl {
				display: flex;
				justify-content: space-between;
			}
				.archivePage .archiveList > li dl dt {
					width: 30%;
				}
				.archivePage .archiveList > li dl dd {
					width: 67%;
				}
					.archivePage .archiveList > li dl dd .data {
						color: #666;
						font-size: var(--16px);
					}
					.archivePage .archiveList > li dl dd .abr {
						margin-bottom: var(--10px);
						display: -webkit-box;
						-webkit-box-orient: vertical;      /* 垂直方向に配置 */
						overflow: hidden;                  /* 溢れた部分を隠す */
						text-overflow: ellipsis;           /* 溢れた部分に「...」を表示 */
						-webkit-line-clamp: 2;             /* 最大行数を2行に設定 */
					}
					.archivePage .archiveList > li dl dd .categories {
						display: flex;
						gap: var(--15px);
						margin-bottom: var(--10px);
					}
						.archivePage .archiveList > li dl dd .categories > li {
							font-size: var(--14px);
							border: 1px solid var(--color-black);
							padding: var(--03px) var(--14px) var(--03px) var(--32px);
							background-image: url(../img/common/icon_tag.svg);
							background-size: 18px 18px;
							background-position: left 8px center;
							background-repeat: no-repeat;
						}
					.archivePage .archiveList > li dl dd .link {
						text-align: right;
					}
						.archivePage .archiveList > li dl dd .link span {
							display: inline-block;
							border-bottom: 1px solid var(--text-color);
							position: relative;
							padding-left: var(--16px);
							line-height: 1.3;
						}
							.archivePage .archiveList > li dl dd .link span::after {
								content: '';
								width: 6px;
								height: 6px;
								border: 0;
								border-top: solid 2px var(--color-black);
								border-right: solid 2px var(--color-black);
								position: absolute;
								top: 50%;
								left: 0;
								margin-top: -3px;
								transform: rotate(45deg);
							}

/*----------------------------------------------------
 ページナビ
----------------------------------------------------*/
.wp-pagenavi {
	display: flex;
	justify-content: center;
	margin-bottom: var(--30px);
}
	.wp-pagenavi span,
	.wp-pagenavi a {
		display: block;
		height: 40px;
		text-align: center;
		line-height: 40px;
	}
		.wp-pagenavi a:hover {
			color: var(--color-white);
			background-color: var(--color-red);
		}
		.wp-pagenavi .current {
			border-radius: 50%;
			width: 40px;
			background-color: var(--color-green);
			border: none;
			color: var(--color-white);
			padding: 0;
		}
		.wp-pagenavi .page {
			border-radius: 50%;
			width: 40px;
			background-color: var(--color-white);
			border: 1px solid var(--color-black);
			color: var(--text-color);
			padding: 0;
		}
		.wp-pagenavi .first,
		.wp-pagenavi .last,
		.wp-pagenavi .previouspostslink,
		.wp-pagenavi .nextpostslink {
			border-radius: 20px;
			background-color: var(--color-white);
			border: 1px solid var(--color-black);
			color: var(--text-color);
			padding: 0 var(--10px);
			font-size: var(--14px);
		}

.singlePagenavi {
	clear: both;
	display: flex;
	justify-content: space-between;
}
	.singlePagenavi a {
		display: block;
		border: 1px solid var(--color-black);
		padding: var(--05px) var(--16px);
		border-radius: 30px;
		position: relative;
	}
		.singlePagenavi .prev a {
			padding-left: var(--30px);
		}
			.singlePagenavi .prev a::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: 14px;
				margin-top: -4px;
				transform: rotate(225deg);
			}
		.singlePagenavi .next a {
			padding-right: var(--30px);
		}
			.singlePagenavi .next a::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%;
				right: 14px;
				margin-top: -4px;
				transform: rotate(45deg);
			}