@charset "UTF-8";

main {
	background: #F5F5FA;
	padding-bottom: 10rem;
}

@media only screen and (max-width: 768px) {
	main {
		background: #FFFFFF;
		padding-bottom: 8rem;
	}
}

/* mv
----------------------------------------*/
.mv {
	background: #B963A4;
	padding: 19.4rem 0 20rem;
}

.mv .inner {
	max-width: 114rem;
	margin: 0 auto;
}

.mv h2 {
	color: #FFFFFF;
	font-size: 5rem;
	line-height: 1.45;
}

.mv h2 small {
	display: block;
	font-size: 2rem;
	letter-spacing: -.05em;
}

@media only screen and (max-width: 768px) {
	.mv {
		padding: 10.4rem 0 17rem;
	}

	.mv .inner {
		width: 33.5rem;
		margin: 0 auto;
	}

	.mv h2 {
		font-size: 3rem;
	}
}

/* content
----------------------------------------*/
.content {
	max-width: 134rem;
	padding-bottom: 5rem;
	margin: -30rem auto 0;
	position: relative;
}

.content::after {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 15rem);
	background: #FFFFFF;
	position: absolute;
	top: 15rem;
	left: 0;
	z-index: 0;
}

.content .inner {
	max-width: 114rem;
	margin: 0 auto;
	z-index: 2;
}

.content .inner .plan_style {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-end;
	column-gap: 2rem;
	margin-bottom: 3rem;
}

.content .inner .plan_style figure {
	width: 56rem;
}

.content .inner .plan_style .plan_block {
	max-width: 56rem;
	background: #F5F5FA;
}

.content .inner .plan_style .plan_block h4 {
	color: #FFFFFF;
	background: #B963A4;
	padding: 1.8rem 8rem;
	position: relative;
}

.content .inner .plan_style .plan_block h4::before {
	content: "";
	width: 10rem;
	height: 10rem;
	position: absolute;
	left: -3rem;
	top: -3rem;
}

.content .inner .plan_style .plan_block.general h4::before {
	background: url(../../img/plan/icon_plan01.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_style .plan_block.family2day h4::before {
	background: url(../../img/plan/icon_plan02.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_style .plan_block.family1day h4::before {
	background: url(../../img/plan/icon_plan03.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_style .plan_block.cremation h4::before {
	background: url(../../img/plan/icon_plan04.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_style .plan_block h4 strong {
	font-size: 3rem;
	margin-right: 1rem;
}

.content .inner .plan_style .plan_block>div {
	padding: 2rem 2rem 3rem 3rem;
}

.content .inner .plan_style .plan_block ul {
	display: flex;
	column-gap: 1rem;
	margin: 1.5rem 0 3.2rem;
}

.content .inner .plan_style .plan_block li {
	font-size: 2rem;
	line-height: 1.44;
	color: #FFFFFF;
	background: #B963A4;
	border-radius: .5rem;
	padding: .2rem .5rem;
}

.content .inner .plan_style .plan_block div div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.content .inner .plan_style .plan_block div div p.price {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.45;
	margin-bottom: 0;
}

.content .inner .plan_style .plan_block div div p.price strong {
	font-size: 4rem;
	font-weight: 600;
	color: #B963A4;
	margin: 0 .5rem;
}

.content .inner .plan_style .plan_block div div p.detail {
	display: flex;
	align-items: center;
	column-gap: 1rem;
	font-size: 2rem;
	color: #B963A4;
	letter-spacing: 0;
	border-bottom: 1px solid #B963A4;
}

.content .inner .plan_style .plan_block div div p.detail::after {
	content: "";
	width: .95rem;
	height: .95rem;
	background: url(../../img/common/arrow-up-right.svg) no-repeat left top / 100% auto;
	margin-top: .4rem;
}

.content .inner .plan_style+ul {
	padding-bottom: 5rem;
	margin-bottom: 5rem;
	border-bottom: .1rem solid #AAAAAA;
}

.content .inner .plan_style+ul li {
	text-indent: -1em;
	padding-left: 1em;
}

@media only screen and (max-width: 768px) {
	.content {
		max-width: 100%;
		padding-bottom: 0;
		margin: -15rem auto 0;
	}

	.content::after {
		display: none;
	}

	.content .inner {
		max-width: 33.5rem;
	}

	.content .inner .plan_style {
		display: block;
		margin-bottom: 2rem;
	}

	.content .inner .plan_style figure {
		width: 35.5rem;
		margin: 0 0 5rem;
	}

	.content .inner .plan_style .plan_block {
		max-width: 100%;
	}

	.content .inner .plan_style .plan_block.general h4 {
		line-height: 1.46;
		padding: 1.8rem 0 1.8rem 8rem;
	}

	.content .inner .plan_style .plan_block:not(.general) h4 {
		padding: .6rem 0 .5rem 8rem;
	}

	.content .inner .plan_style .plan_block:not(.general) h4 strong {
		display: block;
		margin-bottom: -.5rem;
	}

	.content .inner .plan_style .plan_block h4::before {
		width: 9rem;
		height: 9rem;
		left: -2rem;
		top: -3rem;
	}

	.content .inner .plan_style .plan_block a>div {
		padding: 2rem 2rem 3rem;
	}

	.content .inner .plan_style .plan_block ul {
		flex-wrap: wrap;
		gap: 1rem;
		margin: 2rem 0;
	}

	.content .inner .plan_style .plan_block div div {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		row-gap: 2rem;
	}

	.content .inner .plan_style .plan_block div div p.price strong {
		margin: 0 .8rem 0 .5rem;
	}

	.content .inner .plan_style+ul li {
		text-indent: 0;
		padding-left: 0;
	}

	.content .inner .plan_style+ul li+li {
		margin-top: 2rem;
	}
}

/* plan_flow
----------------------------------------*/
.plan_flow {}

.plan_flow h3 {
	font-size: 4rem;
	color: #B963A4;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	margin-bottom: 2.8rem;
}

.plan_flow h3 span.num {
	color: #FFFFFF;
	background: #B963A4;
	width: 6.5rem;
	height: 6.5rem;
	text-align: center;
	line-height: 6.5rem;
	border-radius: 50%;
}

.plan_flow_list {
	display: flex;
	column-gap: 2rem;
	margin-bottom: 3rem;
}

.plan_flow_list ul {
	width: 56rem;
}

.plan_flow_list ul li {
	display: flex;
	margin: 2.5rem 0 0 1rem;
	column-gap: 1.5rem;
}

.plan_flow_list ul li::before {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background: #B963A4;
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 1.5rem;
}

.plan_flow_list figure {
	width: 56rem;
}

.plan_included {
	background: #F5F5FA;
	margin-bottom: 8rem;
}

.plan_included dt {
	font-size: 2.6rem;
	font-weight: 600;
	color: #B963A4;
	text-align: center;
	padding: 4rem 0 3rem;
}

.plan_included dd {
	padding: 0 5.5rem 4rem;
}

.plan_included dd ul.included_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3rem 5rem;
}

.plan_included dd ul.included_list.jc-fs {
	justify-content: flex-start;
}

.plan_included dd ul.included_list li {
	width: 13rem;
	flex-shrink: 0;
}

.plan_included dd ul.included_list li.member_discount::after {
	content: "会員割引有";
	font-size: 1.8rem;
	color: #ffffff;
	letter-spacing: -.05em;
	text-align: center;
	line-height: 3rem;
	width: 11.6rem;
	height: 3rem;
	background: #D2982A;
	border-radius: 1.5rem;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}

.plan_included dd ul.included_list li figcaption {
	color: #B963A4;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	width: calc(100% + 5rem);
	left: 50%;
	transform: translateX(-50%);
	margin-top: 1rem;
}

.plan_included dd ul.included_list li .fs17 {
	font-size: 1.7rem;
}

.plan_included dd ul.included_list li .fs15 {
	font-size: 1.5rem;
}

.plan_included dd ul.included_list li .ls-00 {
	letter-spacing: 0;
}

.plan_included dd ul.included_list li .ls-50 {
	letter-spacing: -.05em;
}

.plan_included dd ul.included_list li .ls-75 {
	letter-spacing: -.075em;
}

.plan_included dd ul.included_list li span {
	display: block;
}

.plan_included dd ul.included_list li figcaption small {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
}

.plan_included dd ul.included_list li figcaption sup {
	font-size: .5em;
}

.plan_included dd ul:not(.included_list) {
	margin-top: 2rem;
}

.plan_included dd ul:not(.included_list) li {
	text-indent: -1em;
	padding-left: 1em;
}

@media only screen and (max-width: 768px) {
	.plan_flow h3 {
		font-size: 2.4rem;
		letter-spacing: 0;
		margin-bottom: 2rem;
	}

	.plan_flow h3 span.num {
		width: 5rem;
		height: 5rem;
		line-height: 5rem;
	}

	.plan_flow_list {
		flex-direction: column-reverse;
		margin-bottom: 2rem;
	}

	.plan_flow_list ul {
		width: 100%;
	}

	.plan_flow_list ul li {
		display: flex;
		margin: 2rem 0 0 1rem;
	}

	.plan_flow_list ul li::before {
		margin-top: .9rem;
	}

	.plan_flow_list figure {
		width: 100%;
	}

	.plan_included {
		margin-bottom: 6rem;
	}

	.plan_included dt {
		font-size: 1.8rem;
		padding: 1.3rem 0 1.2rem;
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: .5rem;
	}

	.plan_included dt span {
		width: 3rem;
		height: 3rem;
		background: #B963A4;
		border-radius: 50%;
		position: relative;
	}

	.plan_included dt span::before,
	.plan_included dt span::after {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%);
		content: "";
		display: block;
		width: 1.5rem;
		height: 0.1rem;
		background: #FFFFFF;
	}

	.plan_included dt span::after {
		transform: translateX(-50%) rotate(-90deg);
		transition: transform .3s;
	}

	.plan_included dt.open span::after {
		transform: translateX(-50%) rotate(0deg);
	}

	.plan_included dd {
		padding: 3.8rem 3.8rem 4rem;
	}

	.plan_included dd ul.included_list {
		justify-content: flex-start;
		gap: 2rem 5.3rem;
	}

	.plan_included dd ul.included_list.jc-c {
		justify-content: center;
	}

	.plan_included dd ul.included_list li {
		width: 10.2rem;
	}

	.plan_included dd ul.included_list li.member_discount::after {
		font-size: 1.4rem;
		line-height: 2.4rem;
		width: 9rem;
		height: 2.4rem;
		border-radius: 1.2rem;
	}

	.plan_included dd ul.included_list li figcaption {
		font-size: 2rem;
	}

	.plan_included dd ul.included_list li .fs17 {
		font-size: 1.6rem;
	}

	.plan_included dd ul.included_list li .fs15 {
		font-size: 1.4rem;
	}

	.plan_included dd ul.included_list li figcaption small {
		font-size: 1.6rem;
	}
}


/* plan
----------------------------------------*/
.content .inner .plan_wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 1.5rem;
	margin-bottom: 3rem;
}

.content .inner .plan_block {
	max-width: 37rem;
	background: #F5F5FA;
}

.content .inner .plan_block h4 {
	color: #FFFFFF;
	background: #B963A4;
	padding: 1.8rem 0 1.8rem 8rem;
	position: relative;
	letter-spacing: 0;
}

.content .inner .plan_block h4::before {
	content: "";
	width: 10rem;
	height: 10rem;
	position: absolute;
	left: -3rem;
	top: -3rem;
}

.content .inner .plan_block.general h4::before {
	background: url(../../img/index/icon_plan01.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_block.family2day h4::before {
	background: url(../../img/index/icon_plan02.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_block.family1day h4::before {
	background: url(../../img/index/icon_plan03.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_block.cremation h4::before {
	background: url(../../img/index/icon_plan04.svg) no-repeat left top / 100% auto;
}

.content .inner .plan_block h4 strong {
	font-size: 3rem;
	margin-right: 1rem;
	letter-spacing: .05em;
}

.content .inner .plan_block a {
	display: block;
	height: 100%;
}

.content .inner .plan_block a>div {
	display: flex;
	flex-direction: column;
	padding: 2rem 2rem 3rem;
	height: calc(100% - 9rem);
	box-sizing: border-box;
}

.content .inner .plan_block ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 1.5rem 0 3.2rem;
}

.content .inner .plan_block li {
	font-size: 2rem;
	line-height: 1.44;
	letter-spacing: 0;
	color: #FFFFFF;
	background: #B963A4;
	border-radius: .5rem;
	padding: .2rem .5rem;
}

.content .inner .plan_block div div {
	margin: auto 0 0;
}

.content .inner .plan_block div p.price {
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1.45;
	margin-bottom: 2.4rem;
}

.content .inner .plan_block div p.price strong {
	font-size: 4rem;
	font-weight: 600;
	color: #B963A4;
	margin: 0 .5rem;
}

.content .inner .plan_block div p.detail {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	column-gap: 1rem;
	font-size: 2rem;
	color: #B963A4;
	letter-spacing: 0;
}

.content .inner .plan_block div p.detail span {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	column-gap: 1rem;
	border-bottom: 1px solid #B963A4;
}

.content .inner .plan_block div p.detail span::after {
	content: "";
	width: .95rem;
	height: .95rem;
	background: url(../../img/common/arrow-up-right.svg) no-repeat left top / 100% auto;
	margin-top: .4rem;
}

.content .inner .plan_block div div+p {
	margin-top: 1.5rem;
	line-height: 1.4;
}

.content .inner .plan_block div div+p small {
	display: block;
}

@media only screen and (max-width: 768px) {
	.plan .inner .plan_wrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		row-gap: 5rem;
		margin-bottom: 3rem;
	}

	.plan .inner .plan_block {
		max-width: 100%;
	}

	.plan .inner .plan_block.general h4 {
		line-height: 1.46;
		padding: 1.8rem 0 1.8rem 8rem;
	}

	.plan .inner .plan_block:not(.general) h4 {
		padding: .6rem 0 .5rem 8rem;
	}

	.plan .inner .plan_block:not(.general) h4 strong {
		display: block;
		margin-bottom: -.5rem;
	}

	.plan .inner .plan_block h4::before {
		width: 9rem;
		height: 9rem;
		left: -2rem;
		top: -3rem;
	}

	.plan .inner .plan_block a>div {
		padding: 2rem 2rem 3rem;
	}

	.plan .inner .plan_block ul {
		flex-wrap: wrap;
		gap: 1rem;
		margin: 2rem 0;
	}

	.plan .inner .plan_block div div {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		row-gap: 2rem;
	}

	.plan .inner .plan_block div div p.price strong {
		margin: 0 .8rem 0 .5rem;
	}
}