@charset "utf-8";

/*******************************
* 記事の日付
********************************/
.date_time {
	text-align: right;
}

#column .date_time,
.plan_case .date_time {
	text-align: left;
}

.plan_case .date_time {
	margin-bottom: 5px;
}

/*******************************
* 火葬事例
********************************/
.al-start {
	gap: 2.7%;
}

.plan_case {
	margin-bottom: 15px;
	position: relative;
	width: 31.5%;
}

.plan_case.mb_0 {
	margin-bottom: 0;
}

.plan_case .ttl_content_top {
	font-size: 18px;
}

.plan_case .md_inner_space {
	padding: 20px 20px 30px 20px;
}

.plan_case h3,
.plan_case .bg_white {
	position: relative;
	z-index: 10;
}

.plan_case h4 {
	margin-bottom: 20px;
}

.plan_case img {
	margin-bottom: 20px;
	border-radius: 5px;
}

.bg_circle_left::before {
	background: url("../img/bg_circle03.png") no-repeat;
	z-index: initial;
	top: -70px;
}

.bg_circle_right::before {
	background: url("../img/bg_circle04.png") no-repeat;
	z-index: initial;
	bottom: -80px;
}

.joint dd.plan::before {
	background: url("../img/price/icon_menu_joint.png") no-repeat;
	background-size: contain;
}

.single dd.plan::before {
	background: url("../img/price/icon_menu_single.png") no-repeat;
	background-size: contain;
}

.premium dd.plan::before {
	background: url("../img/price/icon_menu_premium.png") no-repeat;
	background-size: contain;
}

.plan_case.premium dd,
.plan_case.memorial dd {
	line-height: 1.2;
}

.plan_case dl {
	margin-bottom: 20px;
}

.plan_case dl:last-of-type {
	margin-bottom: 30px;
}

.example_plice,
.border_bottom {
	padding-bottom: 20px;
	border-bottom: 2px solid #cdcdcd;
}

.plan_case.premium .example_plice dt,
.plan_case.single .example_plice dt,
.plan_case.memorial .example_plice dt,
.example_plice dt {
	background: var(--site-keycolor);
	color: #fff;
}

.plan_case.premium .example_plice dd,
.plan_case.single .example_plice dd,
.example_plice dd {
	font-size: 24px;
	font-weight: bold;
}

.plan_case.memorial dd {
	padding: 0px 30px 0 15px;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 960px) {
	.plan_case dl {
		display: block;
		margin-bottom: 10px;
	}

	.plan_case dt {
		width: 100%;
	}

	.plan_case dd {
		justify-content: center;
		padding: 5px 20px;
	}
}

@media only screen and (max-width: 568px) {

	.bg_circle_left::before,
	.bg_circle_right::before {
		content: none;
	}

	.plan_case {
		width: 100%;
	}

	.plan_case dl {
		display: flex;
	}

	.plan_case dt {
		width: 30%;
	}

	.plan_case dd {
		width: 68%;
		justify-content: left;
	}
}

/*火葬事例詳細*/
.user {
	font-size: 24px;
}

.photo {
	background: #f5f5f5;
	border-radius: 10px;
	padding: 40px 0;
	text-align: center;
	position: relative;
	margin: 25px 0 30px;
}

.photo::before {
	content: '';
	background: url("../img/column/flowers.png") no-repeat bottom center;
	background-size: contain;
	width: 100%;
	height: 263px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.photo div {
	width: 100%;
	max-width: 490px;
	overflow: hidden;
	border-radius: 10px;
	margin: 0 auto;
	position: relative;
}

.photo div::before {
	content: '';
	display: block;
	padding-top: 61.84%;
}

.photo img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.example_plan li {
	width: 50%;
	margin-bottom: 20px;
}

.example_plan dl {
	display: flex;
	align-items: center;
}

.example_plan dt {
	background: #cbaa7d;
	color: #fff;
	width: 150px;
	font-size: 20px;
	text-align: center;
	min-height: 40px;
	align-items: center;
	display: flex;
	justify-content: center;
}

.example_plan dd {
	padding-left: 10px;
}

.example_plan dd.plan {
	display: flex;
	align-items: center;
}

.example_plan dd::before {
	background: url("../img/price/icon_premium.png") no-repeat;
	background-size: contain;
	content: '';
	width: 40px;
	height: 40px;
	margin-right: 10px;
}

.memorial .example_plan dd::before {
	background: url("../img/price/icon_memorial.png") no-repeat;
	background-size: contain;
	content: '';
	width: 40px;
	height: 40px;
	margin-right: 10px;
}

.example_plan .time dt {
	background-color: #f2ebe3;
	color: #cbaa7d;
}

.example_plan .plice dt,
.single .example_plan .plice dt,
.joint .example_plan .plice dt,
.memorial .example_plan .plice dt {
	background: var(--site-keycolor);
	color: #fff;
}

.example_plan .plice dd {
	font-weight: bold;
	font-size: 28px;
}

.example_txt h4 {
	font-size: 24px;
	margin-bottom: 12px;
}

.single .example_plan dt {
	background: #31865a;
	color: #fff;
	width: 150px;
	font-size: 20px;
	text-align: center;
	min-height: 40px;
	align-items: center;
	display: flex;
	justify-content: center;
}

.single .example_plan .time dt {
	background-color: #d2ffe8;
	color: #31865a;
}

.joint .example_plan dt {
	background: var(--site-primary);
	color: #fff;
	width: 150px;
	font-size: 20px;
	text-align: center;
	min-height: 40px;
	align-items: center;
	display: flex;
	justify-content: center;
}

.joint .example_plan .time dt {
	background-color: #e9feff;
	color: var(--site-primary);
}

.memorial .example_plan dt {
	background: #f4887d;
	color: #fff;
	width: 150px;
	font-size: 20px;
	text-align: center;
	min-height: 40px;
	align-items: center;
	display: flex;
	justify-content: center;
}

.memorial .example_plan .time dt {
	background-color: #ffebe9;
	color: #f4887d;
}

.content_wrap {
	margin-bottom: 15px;
}

/* ページネーション */
.post_under_nav {
	margin: 40px auto 70px;
}

.post_under_nav ul {
	display: flex;
	justify-content: center;
	gap: 0 20px;
}

.post_under_nav li a {
	font-size: 18px;
	font-weight: bold;
	display: block;
	width: 200px;
	color: var(--site-primary);
	background: #fff;
	border-radius: 5px;
	border: 2px solid var(--site-primary);
	padding: 12px 0 14px;
	text-align: center;
	position: relative;
	transition: 0.2s;
}

.post_under_nav li a:hover {
	background: var(--site-primary);
	color: #fff;
}

.post_under_nav li.nav-left a::after {
	content: '';
	background: url("../img/common/icon_arrow_left_green.svg") no-repeat;
	width: 10px;
	height: 16px;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.post_under_nav li.nav-left a:hover::after {
	background: url("../img/common/icon_arrow_left_white.svg") no-repeat;
}

.post_under_nav li.nav-center a {
	background: var(--site-primary);
	color: #fff;
	width: 250px;
}

.post_under_nav li.nav-center a:hover {
	background: #48a6ad;
	border: 2px solid #48a6ad;
}

.post_under_nav li.nav-right a::after {
	content: '';
	background: url("../img/common/icon_arrow_right_green.svg") no-repeat;
	width: 10px;
	height: 16px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.post_under_nav li.nav-right a:hover::after {
	background: url("../img/common/icon_arrow_right_white.svg") no-repeat;
}

@media only screen and (max-width: 960px) {

	.example_plan dt,
	.single .example_plan dt,
	.joint .example_plan dt {
		width: 120px
	}
}

@media only screen and (max-width: 568px) {
	.ttl_content_top {
		font-size: 18px;
		margin: 0 -5.3vw;
		text-align: center;
		padding: 10px;
	}

	.user {
		font-size: 17px;
	}

	.md_inner_space {
		margin: 0 -5.3vw;
	}

	.photo {
		margin: 10px -5.3vw 14px;
		padding: 20px;
		border-radius: 0;
	}

	.photo div {
		width: 89.4vw;
	}

	.example_plan {
		display: block;
		margin-bottom: 20px;
	}

	.example_plan li {
		width: 100%;
		margin-bottom: 10px;
	}

	.example_plan dt,
	.single .example_plan dt,
	.joint .example_plan dt {
		font-size: 16px;
		min-height: 35px;
	}

	.example_plan .plice dd {
		font-size: 24px;
	}

	.example_txt h4 {
		font-size: 22px;
		margin-bottom: 12px;
	}

	.post_under_nav {
		margin: 20px auto 50px;
	}

	.post_under_nav ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
		width: 74.7vw;
		column-gap: 4vw;
		margin: 0 auto;
	}

	.post_under_nav li.nav-center {
		grid-column: 1 / -1;
		grid-row: 1;
		margin-bottom: 15px;
	}

	.post_under_nav li.nav-center a {
		font-size: 17px;
		width: 100%;
		padding: 7px 0;
	}

	.post_under_nav li.nav-left {
		grid-column: 1;
		grid-row: 2;
	}

	.post_under_nav li.nav-left a,
	.post_under_nav li.nav-right a {
		width: 100%;
		font-size: 15px;
		padding: 7px 0;
	}

	.post_under_nav li.nav-right {
		grid-column: 2;
		grid-row: 2;
	}

	.post_under_nav li.nav-right a::after {
		content: '';
		background: url(../img/icon_arrow_right_green.svg) no-repeat;
		width: 10px;
		height: 16px;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
	}

	.post_under_nav li.nav-left a::after {
		content: '';
		background: url(../img/icon_arrow_left_green.svg) no-repeat;
		width: 10px;
		height: 16px;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
	}

	.post_under_nav li.nav-right a span {
		position: relative;
		left: -6px;
	}

	.post_under_nav li.nav-left a span {
		position: relative;
		right: -6px;
	}
	.content_wrap .bg_white {
		padding-top: 15px;
	}
}

/*******************************
* カテゴリ分け
********************************/
.example_category_nav {
  margin: 30px 0;
  text-align: center;
}

.example_category_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  list-style: none;
  padding: 0;
}

.example_category_list li a {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 30px;
  background: #eee;
  font-size: 14px;
  text-decoration: none;
  color: #333;
}

.example_category_list li a.active {
  background: #56b37f; /* ハピネスの緑系 */
  color: #fff;
}


/*=============================================== *
	種別カテゴリ選択
===============================================*/
.filter_box{
	background: #f5f5f5;
	padding: 2rem 2rem 1.5rem;
	margin-bottom: 40px;
}
.case-count{
	background-color: var(--site-primary);;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 5px 0;
	margin-top: 10px;
	text-align: center;
}
.search_ttl {
	position: relative;
	padding: 0 2.5em;
	font-size: 1.5rem;
	margin: 0 auto 1.5rem;
	text-align: center;
	width: 30%;
}
.search_ttl::before,
.search_ttl::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	width: 45px;
	height: 3px;
	background-color: var(--site-primary);;
}
.search_ttl::before {
	left: 0;
}
.search_ttl::after {
	right: 0;
}
.case-category-nav li {
	width: 16%;
}
.case-category-nav a {
	background: #fff;
	display: block;
	align-items: center;
	position: relative;
	margin-bottom: .4em;
	padding: .5em 0;
	border: 1px solid var(--site-primary);;
	border-radius: 3px;
	cursor: pointer;
	text-align: center;
  box-shadow: 0 3px 0 0 #2f7479;
}
.case-category-nav a:hover {
	background: #d9fbfd;
}
.case-category-nav a.active {
	background-color: var(--site-primary);;
	color: #fff;
}

@media (max-width: 960px) {
	.search_ttl {
    width: 45%;
	}
}
@media (max-width: 568px) {
	.filter_box {
		padding: 1rem 1rem 1rem;
		margin-top: -15px;
		margin-bottom: 30px;
	}
	.search_ttl {
		font-size: 1.25rem;
		line-height: 1.4;
		margin: 0 auto 1rem;
    width: 100%;
	}
	.case-category-nav {
		justify-content: space-around;
	}
	.case-category-nav li{
    margin-bottom: 5px;
		width: 48%;
	}
}
