@charset "UTF-8";

/* CSS Document */
.main_visual {
	max-width: 1352px;
	height: 775px;
	position: relative;
	width: 100%;
}

.fv_movie {
	border-radius: 30px;
	overflow: hidden;
	position: absolute;
	left: 0%;
	max-width: 1352px;
	min-height: 775px;
	width: 100%;
	z-index: -1;
}

/*.fv_movie::after {
	content: '';
	background-image: linear-gradient(0deg, transparent, #66b7bc99);
	width: 100%;
	height: 100%;
	position: absolute;
}*/

.fv_movie video {
	position: absolute;
	top: -6%;
	left: 50%;
	transform: translateX(-50%);
}

.mv_txt {
	position: relative;
}

/*.mv_txt::before {
	content: '';
	background: url(../img/top/icon_mvtxt_before.png)no-repeat;
	background-size: contain;
	position: absolute;
	left: 14vw;
	top: 1vw;
	width: 13%;
	height: 52%;
}*/

.mv_txt h2 {
	margin-top: 20px;
	padding-top: 30px;
	max-width: 539px;
	margin-left: 20px;
}


.bottom_content {
	margin: 230px auto 0;
	align-items: end;
}

.bottom_content .visit {
	font-size: 32px;
}

.visit {
	border-bottom: 4px solid #fff;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.7);
	padding-right: 20px;
}

.visit span {
	position: relative;
	padding-left: 140px;
}

.visit small {
	font-size: 20px;
}

.visit span::before {
	content: '';
	background: url(../img/common/fv-car.png)no-repeat;
	position: absolute;
	width: 116px;
	height: 56px;
	top: 60%;
	transform: translateY(-50%);
	left: 20px;

}

.bottom_content .mv-point ul li {
	background: url(../img/common/medal.png)no-repeat;
	background-position: center top;
	font-size: clamp(18px, 2vw, 24px);
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
	position: relative;
	width: 190px;
	line-height: 1.3;
	padding: 50px 0 65px;
}

.mv-point ul {
	margin-right: 40px;
	gap: 20px;
}

.mv-point ul li em {
	font-size: clamp(22px, 2.5vw, 30px);
}

.mv-point ul li span {
	position: relative;
}

.fv_point {
	margin: 30px auto -40px;
	padding: 20px 0;
	background: #f9dcdc;
}

.fv_point .btn_wrapper {
	margin-top: 0;
}

.fv_point .btn {
	max-width: 550px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0px 5px 1px var(--site-main-color);
}

.fv_point .btn a {
	padding: 20px 0;
	font-size: 24px;
	color: var(--site-main-color);
}

.fv_point .btn a::after {
	background: url(../img/common/arrow_pink_down.svg) center no-repeat;
	width: 26px;
	height: 22.5px;
}

/*.fv_point ul {
	gap: 20px;
}

.fv_point ul li {
	background: #fff8da;
	border-radius: 10px;
	font-size: clamp(18px, 2vw, 26px);
	position: relative;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	padding: 5px 20px 5px 10px;
}

.fv_point ul li span.ribbon {
	display: inline-block;
	position: absolute;
	top: -6px;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 80px;
	text-align: center;
	color: white;
	font-size: 14px;
	background: linear-gradient(#66b7bc 0%, #66b7bc 100%);
	border-radius: 2px 0 0 0;
	line-height: 1;
}

.fv_point ul li span.ribbon:before {
	position: absolute;
	content: '';
	top: 0;
	right: -6px;
	border: none;
	border-bottom: solid 6px #43888b;
	border-right: solid 6px transparent;
}

.fv_point ul li span.ribbon:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 40px solid #66b7bc;
	border-right: 40px solid #66b7bc;
	border-bottom: 10px solid transparent;
}


.fv_point ul li em {
	font-size: clamp(22px, 2.5vw, 36px);
}

.fv_point ul li em.num {
	font-size: clamp(22px, 2.5vw, 51px);
}

.fv_point ul li span.pdl {
	padding-left: 100px;
	display: inline-block;
	line-height: 1.2;
	text-align: center;
}*/

@media screen and (max-width:1024px) {
	.main_visual {
		height: 645px;
	}

	.fv_movie {
		min-height: 655px;
		border-radius: 30px 0 0 30px;
	}

	.mv_txt h2 {}

	.mv-point ul li {
		padding: 15px 20px;
	}

	.mv_txt::before {
		left: 11vw;
	}

	.mv_txt h2 {
		margin-top: 15px;
		max-width: 389px;
	}

	.bottom_content .visit {
		font-size: 20px;
	}

	.mv-point ul {
		margin-right: 20px;
	}

	.bottom_content .mv-point ul li {
		background-size: contain;
		max-width: 150px;
		padding: 40px 0 55px;
		font-size: 18px;
	}

	.mv-point ul li em {
		font-size: 22px;
	}

	.visit span::before {
		background-size: contain;
		width: 76px;
		height: 38px;
		left: 10px;
	}

	.visit span {
		padding-left: 90px;
	}

}

@media screen and (max-width:960px) {
	.main_visual {
		max-width: 100%;
		width: 100%;
		margin-top: 95px;
	}

	.fv_movie {
		border-radius: 0;
	}

	.fv_movie video {
		top: -35%;
		left: 40%;
	}

	.mv_txt::before {
		left: 14vw;
		top: 3vw;
	}

	.mv_txt {
		max-width: 100%;
	}

	.mv_txt h2 {
		font-size: clamp(28px, 6vw, 48px);
	}

	.mv_txt h2 span {
		font-size: clamp(32px, 7vw, 56px);
	}

	.fv_point {
		margin: 0 auto;
	}

	.fv_point .btn a {
		padding: 15px 0;
		font-size: 20px;
	}
}

@media screen and (max-width:568px) {
	.main_visual {
		margin-top: -45px;
		height: 424px;
	}

	.mv_txt h2 {
		font-size: 36px;
		letter-spacing: 4px;
		margin-top: 0;
	}

	.mv_txt h2 span {
		font-size: 42px;
	}

	.fv_movie {
		min-height: 424px;
	}

	.fv_movie video {
		top: -33%;
		left: 50%;
		width: 100%;
	}

	.mv_txt h2 {
		padding-top: 15px;
	}

	.mv_txt::before {
		left: 3vw;
		top: 30px;
		width: 92px;
		height: 81px;
	}

	.bottom_content {
		margin: 215px auto 0;
	}

	.mv_txt {
		max-width: 70%;
	}

	.bottom_content {
		margin: 40% auto 0;
	}

	.visit span::before,
	.visit span {
		display: block;
	}

	.visit p {
		line-height: 1.3;
	}

	.visit span {
		font-size: 14px;
		padding-left: 0;
		border-bottom: 2px solid #fff;
		padding-left: 50px;
		line-height: 2;
	}

	.visit span::before {
		width: 46px;
		height: 22px;
		left: 0;
	}

	.bottom_content .visit {
		border-bottom: none;
		font-size: 22px;
		padding-right: 0;
		margin-left: 10px;
	}

	.visit small {
		font-size: 10px;
	}

	.bottom_content .mv-point ul li {
		font-size: 13px;
		max-width: 95px;
		padding: 25px 0 30px;
		letter-spacing: 0;
	}

	.mv-point ul {
		gap: 10px;
		margin-right: 10px;
	}

	.mv-point ul li em {
		font-size: 15px;
	}


	.fv_point {
		margin: 0 auto;
	}

	.fv_point .btn {
		border-radius: 10px;
		width: 94%;
	}

	.fv_point .btn a {
		font-size: 20px;
		padding: 10px 0;
	}

	.fv_point .btn a::after {
		width: 20px;
		height: 18.5px;
	}

	/*.fv_point ul {
		gap: 20px 10px;
	}

	.fv_point ul li {
		width: 48.5%;
		font-size: 12px;
		padding: 7px 0;
	}

	.fv_point ul li em {
		font-size: 16px;
	}

	.fv_point ul li span.ribbon {
		width: 40px;
		font-size: 8px;
		left: 5px;
		padding: 5px 0;
	}

	.fv_point ul li em.num {
		font-size: 24px;
	}


	.fv_point ul li span.ribbon:after {
		border-left: 20px solid #66b7bc;
		border-right: 20px solid #66b7bc;
	}

	.fv_point ul li span.pdl {
		padding-left: 52px;
	}*/

}


/*---------------abテスト用旧FV-----------------*/
.main_visual_ab{
	background: url(../img/top/mv_bg.png)no-repeat;
	background-size: contain;
	max-width: 1352px;
	height: auto;
	margin-top: 50px;
	position: relative;
	margin-bottom: 60px;
}
.main_visual_ab .mv_txt{
	max-width: 45vw;
	margin: 0 auto;
	padding-top: 2vw;
	padding-bottom: 19.5vw;
}
.main_visual_ab .mv-point{
	max-width: 739px;
	position: absolute;
	bottom: -5%;
	left: 50%;
 	transform: translateX(-50%);
}
@media screen and (max-width:1024px){
	.main_visual_ab{
		margin-bottom: 0;
	}
}
@media screen and (max-width:768px){
	.main_visual_ab{
		background: url(../img/top/mv_bg_sp.png)no-repeat;
		background-size: cover;
		max-width: 100%;
	}
	.main_visual_ab .mv_txt{
		max-width: 100%;
		padding-bottom: 66vw;
	}
	.main_visual_ab .mv-point{
		width: 94%;
		bottom: 10px;
	}
}
@media screen and (max-width:568px){
	.main_visual_ab{
	margin-top:-60px;
}
	.main_visual_ab .mv_txt{
	padding-bottom: 135vw;
	padding-top: 25px;
	}
}


/*-----------	HeadLine  ----------------*/

h1 {
	font-weight: bold;
}


@media screen and (min-width: 1025px) {}

@media only screen and (max-width: 1024px) {
	#hd-main {
		margin: 40px 0 0;
	}
}

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

@media only screen and (max-width: 768px) {
	#hd-main {
		margin: 0;
	}
}

@media only screen and (max-width: 568px) {
	#hd-main {
		padding: 15px 0 20px;
	}


	.f-18 {
		font-size: 15px;
		text-align: left;
	}
}

/*-----------------------------------------------
251029追加　飼い主様に知ってほしい大切なこと
-----------------------------------------------*/
.difference .intro h3 {
	font-size: clamp(22px, 1.5vw, 32px);
}

.area-difference .intro h3 {
	margin-bottom: 15px;
}

.area-difference .intro img {
	max-width: 417px;
}

@media only screen and (max-width: 1024px) {
	.area-difference .intro img {
		width: 100%;
	}

	.area-difference .intro .txt {
		width: 70%;
	}
}

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

@media only screen and (max-width: 568px) {
	.area-difference .intro .txt {
		width: 100%;
	}

	.difference .intro h3 {
		font-size: 20px;
	}
}

/*------------------------------------------------
* 民間と自治体の違い table
--------------------------------------------------*/
.difference_table {
	width: 100%;
	margin: 40px 0 20px;
}

.difference_table th,
.difference_table td {
	border: 1px solid #ccc;
	text-align: center;
}

.difference_table thead th {
	font-size: 20px;
	padding: 0.75em 0;
	text-align: center;
	border: 1px solid #ccc;
	width: 40%;
}

.difference_table thead th:first-of-type {
	width: 20%;
	background: #f2f2f2;
}

.difference_table thead th:nth-of-type(2) {
	background: #e2ecec;
}

.difference_table tbody th {
	background: #fffeef;
}

.difference_table tbody td {
	padding: 0.5em;
}

.difference_table tbody td img {
	width: 20px;
	display: block;
	margin: 0 auto 3px;
}

@media only screen and (max-width: 960px) {
	.difference_table thead th {
		font-size: 16px;
	}
}

@media only screen and (max-width: 568px) {
	.difference_table {
		white-space: nowrap;
		table-layout: initial;
		margin: 25px 0 15px;
	}

	.difference_table thead th {
		line-height: 1.35;
		padding: 0.5em 0;
	}

	.difference_table tbody th {
		font-size: 14px;
		padding: 0.75em 0.5em;
		line-height: 1.35;
	}

	.difference_table tbody td {
		font-size: 14px;
		line-height: 1.35;
		padding: .5em 0 .5em 35px;
		position: relative;

	}

	.difference_table tbody td img {
		position: absolute;
		left: 10px;
		align-items: center;
		top: 50%;
		transform: translateY(-50%);
	}

	.difference_table_wrapper .simplebar-track.simplebar-horizontal {
		background: #dfe1e2;
		height: 7px;
		border-radius: 7px;
	}

	.difference_table_wrapper .simplebar-track .simplebar-scrollbar::before {
		background: #9a9c9e;
		height: 7px;
		border-radius: 7px;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
}



/*------------------------------------------------
*選ばれる３つの理由
--------------------------------------------------*/

.intro {
	position: relative;
	margin-bottom: 50px;
	gap: 2vw;
}

.intro-box {
	gap: 3vw;
}

.intro-box .txt {
	max-width: 660px;
	width: 100%;
}

#reason_01 .intro h3,
#reason_02 .intro h3,
#reason_03 .intro h3 {
	font-size: clamp(32px, 2.5vw, 38px);
	margin-bottom: 40px;
	letter-spacing: 0;
	border-bottom: 5px solid #28979f;
}

.intro h3 .number {
	font-size: clamp(28px, 2.5vw, 34px);
	margin: 0 20px 0 10px;
}

.intro h3 .number em {
	font-size: clamp(42px, 4vw, 66px);
}

.txt h4 {
	font-size: clamp(18px, 1.5vw, 24px);
	margin-bottom: 20px;
}

.reason_btn ul {
	margin: 40px 0;
	gap: 1vw;
}

.reason_btn ul li {
	width: 32%;
	box-shadow: 0px 5px 0px 0px #17545b;
}

.reason_btn ul li:hover {
	opacity: .7;
	transition: all 0.5s ease 0s;
}

.reason_btn ul li a {
	width: 100%;
	background: #28979f;
	font-size: clamp(14px, 1.1vw, 22px);
	position: relative;
	box-shadow: 0px 5px 0px 0px #17545b;
	padding: 15px 0;
	display: block;
}

.reason_btn ul li a span {
	position: relative;
	font-size: clamp(16px, 1.3vw, 24px);
	padding-left: 105px;
	text-align: center;
	display: inline-block;
	line-height: 1.3;
}

.reason_btn ul li a span::before {
	content: '';
	position: absolute;
	left: 10px;
	top: -20px;
	background: url(../img/top/reason-number01.png)no-repeat;
	background-size: contain;
	width: 70px;
	height: 82px;
}

.reason_btn ul li:nth-child(2) a span::before {
	background: url(../img/top/reason-number02.png)no-repeat;
	background-size: contain;
}

.reason_btn ul li:nth-child(3) a span::before {
	background: url(../img/top/reason-number03.png)no-repeat;
	background-size: contain;
}

.reason_btn ul li a::after {
	content: '';
	background: url(../img/common/arrow_white_down.svg)no-repeat;
	background-size: contain;
	width: 15px;
	height: 13px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}



@media only screen and (max-width: 1024px) {
	#reasons h2 em {
		font-size: 42px;
		line-height: 1;
	}

	#reasons h2 .icon::before {
		width: 50px;
		height: 52px;
		vertical-align: sub;
	}

	.reason_btn ul li .icon::before,
	.reason_btn ul li:nth-child(2) .icon::before,
	.reason_btn ul li:nth-child(3) .icon::before {
		width: 41px;
		height: 38px;

	}

	.reason_btn ul li a {
		padding: 10px;
		padding: 10px 0;
	}

	.reason_btn ul li a span::before {
		width: 50px;
		height: 57px;
		top: -10px;
		left: 10px;
	}

	.reason_btn ul li a span {
		font-size: 14px;
		padding-left: 65px;
	}

	.reason_btn ul li {
		font-size: 16px;
	}

	.reason_btn ul li a::after {
		right: 10px;
		width: 10px;
		height: 9px;
	}

	#reason_01 .intro h3,
	#reason_02 .intro h3,
	#reason_03 .intro h3 {
		font-size: clamp(22px, 1.5vw, 32px);
	}
}

@media only screen and (max-width: 568px) {
	#reasons h2 {
		font-size: 22px;
		position: relative;
	}

	#reasons h2 em {
		font-size: 42px;
	}

	#reasons h2 .icon::before {
		width: 36px;
		height: 35px;
		position: absolute;
		left: 18%;
		top: 15.5vw;
	}

	.reason_btn ul {
		flex-direction: column;
		gap: 20px;
		margin: 30px 0;
	}

	.reason_btn ul li {
		width: 100%;
		font-size: 16px;
	}

	.reason_btn ul li a {
		padding: 20px 0;
	}

	.reason_btn ul li a span {
		padding-left: 68px;
		font-size: 14px;
	}

	.reason_btn ul li a span::before {
		top: -22px;
	}

	.reason01 .intro h3 {
		font-size: 24px;
		text-align: left;
		position: relative;
		padding: 10px 0;
	}

	.reason01 .intro h3 span {
		display: inline-block;
		line-height: 1.3;
		margin-left: 0;
	}

	.intro-box {
		flex-direction: column;
	}

	.intro .md_radius_photo {
		width: 100%;
	}

	.intro-box .txt {
		width: 100%;
	}

	.intro {
		margin-bottom: 20px;
		flex-direction: column;
	}



	.reason01 .intro h3 span {
		font-size: 12px;
		display: flex;
		flex-direction: column;

	}

	.intro h3 .number em {
		font-size: 40px;
		line-height: .8;
	}

	#reason_01 .intro h3,
	#reason_02 .intro h3,
	#reason_03 .intro h3 {
		display: flex;
		align-items: center;
		line-height: 1.3;
		margin-bottom: 20px;
		border-bottom: 2px solid #28979f;
		font-size: 20px;
	}

	#reason_01 .intro h3 span,
	#reason_02 .intro h3 span,
	#reason_03 .intro h3 span {

		font-size: 12px;
		display: flex;
		flex-direction: column;
	}

	#reason_01 .intro h3 span em,
	#reason_02 .intro h3 span em,
	#reason_03 .intro h3 span em {
		font-size: 40px;
		line-height: .8;
	}

	.intro h3 .number {
		margin: 0 10px 8px 0;
	}
}

.plan {
	width: 100%;
}

.plan_txt {
	font-size: clamp(18px, 2vw, 28px);
}

.plan_txt span {
	font-size: clamp(22px, 1.8vw, 32px)
}

.plan_table,
.plan_table table {
	width: 100%;
	margin-bottom: 10px;
}

.plan_table .joint {
	background: var(--site-secondary);
}

.plan_table .single {
	background: var(--site-primary);
}

.plan_table .premium {
	background: var(--site-tertiary);
}

.plan_table .ceremony {
	background: var(--site-quaternary);
}

.plan_table thead th {
	font-size: clamp(16px, 1.8vw, 22px);
	width: 20%;
	text-align: center;
	border-right: 1px solid #fff;
	padding: 15px 0 18px;
}

.plan_table thead th:last-child {
	border-right: none;
}

.plan_table thead th:first-child {
	width: 18%;
}

.plan_table .price {
	font-size: clamp(18px, 1.8vw, 28px);
	text-align: center;
	padding: 15px 18px;
}

.plan_table tbody th {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	border: 1px solid #ccc;
}

.plan_table tbody td {
	text-align: center;
	border: 1px solid #ccc;
	padding: 20px 0 23px;
	font-size: 18px;
	font-weight: bold;
}

.plan_table tbody td .maru {
	width: 20px;
	height: 20px;
}

.plan_table tbody td .batsu {
	width: 17px;
	height: 17px;
}

.plan .annotation_txt {
	font-size: 14px;
	color: #9f9f9f;
}

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

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

@media only screen and (max-width: 568px) {
	.plan_txt {
		font-size: 16px;
	}

	.plan_txt span {
		font-size: 19px;
	}

	.plan_table .price {
		padding: 10px;
	}

	.plan_table {
		white-space: nowrap;
		table-layout: initial;
		margin-bottom: 20px;
		margin: 0 -5.3vw 10px;
		width: 100vw;
	}

	.plan_table table {
		width: 100vw;
	}

	.simplebar-content:after {
		padding-top: 10px;
	}

	.plan_table thead th {
		font-size: 14px;
		line-height: 1.2;
		padding: 7px 0 8px;
	}

	.plan_table thead th:first-child {
		position: sticky;
		left: 0;
		top: 0;
		z-index: 10;
		background: #fff;

	}

	.plan_table tbody th {
		font-size: 14px;
		width: initial;
		padding: 12px 8px;
		position: sticky;
		left: 0;
		top: 0;
		z-index: 10;
		padding: 5px 10px;
		background: #fff;
		border-left: none;
		border-right: 1px solid #999;
		line-height: 1.2;
	}

	.plan_table tbody th span {
		font-size: 11px;
	}

	.plan_table .price {
		font-size: 16px;
	}

	.plan_table .premium {
		border-right: none;
	}

	.plan_table tbody td {
		font-size: 14px;
		padding: 10px;
	}
}

.feature {
	margin: 60px 0 0;
}

.two-area {
	position: relative;
	display: flex;
	width: 90%;
	margin: 0 auto;
	overflow: hidden;
	background: #f8dcdc;
	;
}

.two-area .left {

	color: #fff;
	padding: 10px;
	position: relative;
	z-index: 2;
}

.two-area .right {
	flex: 1;

	padding: 10px;
	position: relative;
	z-index: 1;
}

.two-area::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 53%;
	height: 100%;
	background: inherit;
	transform: skewX(-20deg);
	transform-origin: top;
	background: #6abec3;
	z-index: 2;
	padding-bottom: 1px;
}

.feature ul li {
	width: 50%;
	padding: 30px 40px;
}

.feature ul li img {
	width: 30%;
	max-width: 137px;
}

.feature-txt {
	width: 72%;
	text-align: center;
}

.feature-txt p.big-txt {
	font-size: clamp(18px, 1.8vw, 38px);
	line-height: 1.3;

}

.feature-txt p.big-txt span {
	font-size: clamp(24px, 2.7vw, 56px);
}

.feature-txt p.sub-txt {
	font-size: clamp(16px, 1.2vw, 24px);
	background: #fff;
	border-radius: 50px;

}

.orizuru {
	background: #eafefa;
	padding: 30px 40px;
	display: grid;
	grid-template-columns: 49% 47%;
	grid-template-rows: auto 1fr;
	gap: 0 2vw;
	margin-bottom: 60px;
	width: 90%;
	margin: 0 auto;
}

.orizuru h4 {
	grid-column: 1;
	grid-row: 1;
	font-size: clamp(18px, 1.2vw, 28px);
	margin-bottom: 30px;
	line-height: 1.4;
	position: relative;
	color: #999;
	padding-left: 90px;
}

.orizuru h4::before {
	content: '';
	background: url(../img/top/icon-orizuru.svg)no-repeat;
	background-size: contain;
	width: 81px;
	height: 81px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.orizuru h4 span {
	font-size: clamp(24px, 1.2vw, 38px);
}

.orizuru-photo {
	grid-column: 2;
	grid-row: 1 / 3;
	height: fit-content;
}

.orizuru_txt {
	grid-column: 1;
	grid-row: 2;
}

.orizuru_txt .sub {
	background: #fff;
	padding: 15px 20px;
	margin-top: 20px;
	border-radius: 10px;
}


@media only screen and (max-width: 1024px) {
	.feature ul li {
		padding: 20px;
	}

	.feature-txt p.big-txt {
		padding-left: 10%;
	}

	.orizuru {
		padding: 25px;
	}

	.orizuru-photo {
		grid-column: 2;
		grid-row: 1;
		height: fit-content;
	}

	.orizuru_txt {
		grid-column: 1 / 3;
		grid-row: 2;
		margin-top: 10px;
	}

	.orizuru_txt .sub {
		background: #fff;
		padding: 15px 20px;
		margin-top: 20px;
		border-radius: 10px;
	}
}

@media only screen and (max-width: 960px) {
	.feature {
		margin: 30px 0;
	}

	.two-area::before {
		transform: skewX(-10deg);
	}
}

@media only screen and (max-width: 568px) {
	.feature {
		margin: 25px 0;
	}

	.feature-txt p.big-txt span {
		font-size: 20px;
		letter-spacing: 0;
	}

	.feature-txt p.big-txt {
		font-size: 14px;
		padding-left: 0;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.feature-txt p.sub-txt {
		font-size: 12px;
	}

	.two-area {
		width: 100%;
	}

	.two-area .left,
	.two-area .right {
		flex-direction: column;
		padding: 10px 0;
		gap: 10px;
	}

	.feature ul li {
		width: 50%;
	}

	.two-area::before {
		width: 54%;
	}

	.orizuru {
		display: block;
		width: 100vw;
		margin: 0 -5.3vw;
		padding: 20px;
		border-radius: none;
	}

	.orizuru h4 {
		font-size: 16px;
		padding-left: 70px;
		margin: 0 auto 20px;
		width: 90%;
	}

	.orizuru h4::before {
		width: 60px;
		height: 60px;
	}

	.orizuru h4 span {
		font-size: 24px;
	}

	.orizuru_txt .sub {
		font-size: 14px;
		text-indent: -1em;
		padding-left: 2em;
	}
}


.reason01_btns {
	width: 100%;
	margin-bottom: 60px;
}

.reason01_btns li {
	max-width: 308px;
	width: 23.5%;
}

.reason01_btns li a {
	border-radius: 10px;
	font-size: clamp(16px, 1.2vw, 24px);
	width: 100%;
	padding: 15px 0 20px;
	position: relative;
	line-height: 1.2;
	height: 80px;
	align-items: center;
	justify-content: center;
	display: flex;
}

.reason01_btns li a:hover {
	opacity: .7;
	transition: all 0.5s ease 0s;
}

.reason01_btns li:nth-child(1) a span::after {
	background: url(../img/common/icon-link-arrow04.svg)no-repeat;
}

.reason01_btns li:nth-child(1) a {
	background: var(--site-quaternary);
	border: 2px solid #eb9c71;
	text-align: center;
}


.reason01_btns li a span::after {
	content: "";
	background-size: contain;
	width: 30px;
	height: 30px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.reason01_btns li:nth-child(2) a {
	background: var(--site-tertiary);
	border: 2px solid #ac884a;
	text-align: center;
}

.reason01_btns li:nth-child(2) a span::after {
	background: url(../img/common/icon-link-arrow03.svg)no-repeat;
}


.reason01_btns li:nth-child(3) a {
	background: var(--site-primary);
	border: 2px solid #da6272;
}

.reason01_btns li:nth-child(3) a span::after {
	background: url(../img/common/icon-link-arrow02.svg)no-repeat;
}

.reason01_btns li:nth-child(4) a {
	background: var(--site-secondary);
	border: 2px solid #5ab926;
}

.reason01_btns li:nth-child(4) a span::after {
	background: url(../img/common/icon-link-arrow01.svg)no-repeat;
}



.plan-title {
	margin-bottom: 25px;
	align-items: center;
}

.plan-title h5 {
	font-size: clamp(28px, 2vw, 36px);
	margin-left: 3%;
}

.plan-title p {
	font-weight: bold;
	background: #fff;
	padding: 15px 40px;
	font-size: clamp(16px, 1.2vw, 20px);
}

.plan-box {
	padding: 30px 40px;
	margin-bottom: 40px;
	gap: 2vw;
}

.plan-content {
	max-width: 577px;
	width: 100%;
}

.plan-content h6 {
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.3;
	margin-bottom: 20px;
}

.plan-content h6 span {
	font-size: clamp(28px, 2vw, 36px);
	margin-bottom: 10px;
}

.plan-plice {
	font-size: clamp(16px, 1.5vw, 24px);
	width: 100%;
	margin-bottom: 30px;
}

.plan-plice dt {
	border: 3px solid var(--site-primary-keycolor);
	font-weight: bold;
	width: 20%;
	text-align: center;
	padding: 4px 0 5px;
}

.plan-plice dd {
	border-bottom: 3px solid var(--site-primary-keycolor);
	font-size: clamp(26px, 2vw, 48px);
	width: 85%;
	text-align: center;
	line-height: 1.3;
}

.plan-plice dd span {
	font-size: clamp(16px, 1.5vw, 22px);
}

.plan-content ul {
	border: 3px solid var(--site-primary-keycolor);
}

.plan-content ul li {
	font-weight: bold;
}

.plan-content ul li:first-child {
	width: 32%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(14px, 1.5vw, 22px);
}

.plan-content ul li:nth-child(2) {
	width: 68%;
}

.plan-content ul li:nth-child(2) dl {
	align-items: center;
	padding: 20px;
}

.plan-content ul li:nth-child(2) dl dd p {
	text-align: center;
	font-weight: bold;
	font-size: clamp(12px, .8vw, 18px);
}

.plan-content .omiokuri img {
	margin: 9px 0 10px;
}

.plan-content .kasou img {
	margin: 0 auto 5px;
	max-width: 55px;
	display: block;
}

.plan-content .maisou img {
	margin-bottom: 6px;
	max-width: 84px;
}

.plan-box .plan-photo {
	max-width: 544px;
	width: 100%;
}

.plan-box .plan-photo p {
	font-size: clamp(14px, 1.1vw, 18px);
	letter-spacing: 0;
	padding: 15px 0 17px;
	margin-top: 15px;
	font-weight: bold;
}

.plan-flow h5 {
	background: #b3da99;
	font-size: clamp(20px, 1.5vw, 30px);
	border-radius: 50px;
	max-width: 282px;
	margin: 0 auto -25px;
	position: relative;
	z-index: 2;
	padding: 15px 0;
}

.plan-flow .flow-box {
	padding: 80px 0 20px;

}

.plan-flow ul {
	max-width: 880px;
	width: 94%;
	margin: 0 auto;
}

.plan-flow ul li {
	max-width: 216px;
	position: relative;
}

.plan-flow ul li.number::before {
	content: '';
	background-size: contain;
	width: 3.6vw;
	height: 3.6vw;
	position: absolute;
	left: -15px;
	top: -26px;
}

.number:first-child:before {
	background: url(../img/top/flow-01.png)no-repeat;
	background-size: contain;
	width: 69px;
	height: 69px;
}

.number:nth-child(3):before {
	background: url(../img/top/flow-02.png)no-repeat;
	background-size: contain;
	width: 69px;
	height: 69px;
}

.number:nth-child(5):before {
	background: url(../img/top/flow-03.png)no-repeat;
	background-size: contain;
	width: 69px;
	height: 69px;
}

.plan-flow ul li.number img {
	margin-bottom: 20px;
}

.plan-flow ul li .flow-sub {
	font-size: clamp(18px, 1.5vw, 24px);
	line-height: 1.4;
	margin-bottom: 10px;
}

.plan-flow ul li.arrow {
	position: relative;
	top: 110px;
}



/*---合同火葬---*/

.goudou .plan-title .icon::before {
	background: url(../img/common/icon-goudou.svg)no-repeat;
	width: 71px;
	height: 43px;
	vertical-align: middle;
}



.goudou .btn {
	background: #66b7bc;
	max-width: 400px;
}

.goudou .btn:hover {
	background: #92d0d3;
}

.goudou .btn a {
	padding: 25px 20px;
}

/*---個別火葬---*/

.kobetsu .plan-title .icon::before {
	background: url(../img/common/icon-kobetsu.svg)no-repeat;
	width: 49px;
	height: 61px;
	vertical-align: middle;
}

.kobetsu .plan-plice dt {
	border: 3px solid var(--site-secondary-keycolor);
}

.kobetsu .plan-plice dd {
	border-bottom: 3px solid var(--site-secondary-keycolor);
}

.kobetsu .plan-content ul {
	border: 3px solid var(--site-secondary-keycolor);
}

.kobetsu .plan-content ul li:nth-child(2) dl dd.choice p {
	font-size: 12px;
}

.kobetsu .plan-content ul li:nth-child(2) dl dd.choice img {
	max-width: 133px;
	margin: 0 auto;
	display: block;
}

.kobetsu .plan-content ul li:nth-child(2) dl {
	padding: 10px 0;
}

.kobetsu .plan-content .omiokuri img {
	max-width: 70px;
	display: block;
	margin: 0 auto 15px;
}

.kobetsu .plan-content .kasou-single img {
	max-width: 61px;
	display: block;
	margin: 0 auto 15px;
}

.kobetsu .plan-content ul li:first-child {
	width: 30%;
}

.kobetsu .plan-content .annotation_txt {
	font-size: 14px;
	font-weight: 400;
	color: #939393;
}

.kobetsu .plan-content ul {
	margin-bottom: 10px;
}

.kobetsu .plan-flow h5 {
	background: #ff8f8f;
}

.kobetsu .number:first-child:before {
	background: url(../img/top/flow-kobetsu-01.png)no-repeat;
	background-size: contain;
}

.kobetsu .number:nth-child(3):before {
	background: url(../img/top/flow-kobetsu-02.png)no-repeat;
	background-size: contain;
}

.kobetsu .number:nth-child(5):before {
	background: url(../img/top/flow-kobetsu-03.png)no-repeat;
	background-size: contain;
}

.kobetsu .number:nth-child(7):before {
	background: url(../img/top/flow-kobetsu-04.png)no-repeat;
	background-size: contain;
}

.kobetsu .plan-flow ul {
	max-width: 1040px;
	width: 94%;
}

.plan-flow ul li.number {
	width: 94%;
}

.kobetsu .btn {
	background: #da6272;
	max-width: 400px;
}

.kobetsu .btn:hover {
	background: #db7b88;
}

.kobetsu .btn a {
	padding: 25px 20px;
}

/*---プレミアム---*/

.premium .plan-title .icon::before {
	background: url(../img/common/icon-premium.svg)no-repeat;
	width: 58px;
	height: 70px;
	vertical-align: middle;
}

.premium .plan-plice dt {
	border: 3px solid var(--site-tertiary-keycolor);
}

.premium .plan-plice dd {
	border-bottom: 3px solid var(--site-tertiary-keycolor);
}

.premium .plan-content ul {
	border: 3px solid var(--site-tertiary-keycolor);
	margin-bottom: 10px;
	justify-content: flex-start;
}

.premium .plan-content ul li:nth-child(2) {
	max-width: 80%;
	width: 100%;
}

.premium .plan-content ul li:nth-child(2) dl dd {
	width: 19%;
}

.premium .plan-content ul li:nth-child(2) dl dd.choice {
	width: 40%;
}

.premium .plan-content ul li:nth-child(2) dl dd.choice p {
	font-size: 12px;
}

.premium .plan-content ul li:nth-child(2) dl dd.choice img {
	max-width: 133px;
	margin: 0 auto;
	display: block;
}

.premium .plan-content ul li:nth-child(2) dl {
	padding: 15px 10px;
}

.premium .plan-content .omiokuri img {
	max-width: 70px;
	display: block;
	margin: 0 auto 15px;
}

.premium .plan-content .kasou-single img {
	max-width: 61px;
	display: block;
	margin: 0 auto 15px;
}

.premium .plan-content .tachiai img {
	max-width: 50px;
	margin: 0 auto;
	display: block;
}

.premium .plan-content ul li:first-child {
	width: 20%;
	text-align: center;
}

.premium .plan-content .annotation_txt {
	font-size: 14px;
	font-weight: 400;
	color: #939393;
}

.premium .plan-flow h5 {
	background: #cfac91;
}

.premium .flow-box ul {
	max-width: 94%;
}

.premium .flow-box ul li {
	max-width: 175px;
}

.premium .number:first-child:before {
	background: url(../img/top/flow-premium-01.png)no-repeat;
	background-size: contain;
}

.premium .number:nth-child(3):before {
	background: url(../img/top/flow-premium-02.png)no-repeat;
	background-size: contain;
}

.premium .number:nth-child(5):before {
	background: url(../img/top/flow-premium-03.png)no-repeat;
	background-size: contain;
}

.premium .number:nth-child(7):before {
	background: url(../img/top/flow-premium-04.png)no-repeat;
	background-size: contain;
}

.premium .number:nth-child(9):before {
	background: url(../img/top/flow-premium-05.png)no-repeat;
	background-size: contain;

}

.premium .btn {
	background: #a88c76;
	max-width: 400px;
}

.premium .btn:hover {
	background: #b8a598;
}

.premium .btn a {
	margin-left: -30px;
	padding: 25px 20px;
}

.premium .plan-photo {
	position: relative;
}

.premium .plan-photo::after {
	content: '';
	position: absolute;
	right: 10px;
	bottom: 85px;
	z-index: 2;
	background: url(../img/top/icon-popularity.png)no-repeat;
	background-size: contain;
	width: 141px;
	height: 144px;
}

/*-------自宅セレモニー葬---------*/
.ceremony .plan-title .icon::before {
	background: url(../img/common/icon-ceremony.svg)no-repeat;
	background-size: contain;
	width: 53px;
	height: 51px;
	vertical-align: middle;
}

.ceremony .plan-plice dt {
	border: 3px solid #ea8548;
}

.ceremony .plan-plice dd {
	border-bottom: 3px solid #ea8548;
}

.ceremony .plan-content ul {
	border: 3px solid #ea8548;
	margin-bottom: 10px;
}

.ceremony .plan-box .plan-photo p {
	font-size: clamp(16px, 1.5vw, 18px);
}

.ceremony .plan-content .home-ceremony img,
.ceremony .plan-content .kasou-single img {
	max-width: 50px;
	display: block;
	margin: 0 auto 15px;
}

.ceremony .plan-content ul li:nth-child(2) {
	max-width: 80%;
	width: 100%;
}

.ceremony .plan-content ul li:first-child {
	width: 20%;
}

.ceremony .plan-content ul li:nth-child(2) dl dd.choice {
	width: 36%;
}

.ceremony .plan-content ul li:nth-child(2) dl dd.choice p {
	font-size: 12px;
}

.ceremony .plan-content ul li:nth-child(2) dl dd.choice img {
	max-width: 133px;
	margin: 0 auto;
	display: block;
}

.ceremony .plan-content .tachiai img {
	max-width: 50px;
	margin: 0 auto;
	display: block;
}

.ceremony .plan-content ul li:nth-child(2) dl {
	padding: 20px 15px;
}

.ceremony .plan-content .annotation_txt {
	font-size: 14px;
	font-weight: 400;
	color: #939393;
}

.ceremony .plan-flow h5 {
	background: #ea9664;
}

.ceremony .number:first-child:before {
	background: url(../img/top/flow-ceremony01.png)no-repeat;
	background-size: contain;
}

.ceremony .number:nth-child(3):before {
	background: url(../img/top/flow-ceremony02.png)no-repeat;
	background-size: contain;
}

.ceremony .number:nth-child(5):before {
	background: url(../img/top/flow-ceremony03.png)no-repeat;
	background-size: contain;
}

.ceremony .number:nth-child(7):before {
	background: url(../img/top/flow-ceremony04.png)no-repeat;
	background-size: contain;
}

.ceremony .number:nth-child(9):before {
	background: url(../img/top/flow-ceremony05.png)no-repeat;
	background-size: contain;

}

.ceremony .flow-box ul li {
	max-width: 175px;
}

.ceremony .flow-box ul {
	max-width: 94%;
}

.ceremony .btn {
	background: #ea8548;
	max-width: 400px;
}

.ceremony .btn a {
	margin-left: -30px;
	padding: 25px 20px;
}





@media only screen and (max-width: 1024px) {
	.reason01_btns {
		margin-bottom: 30px;
	}

	.reason01_btns li a {
		padding: 10px 0;
		height: 65px;
	}

	.reason01_btns li a span::after {
		right: 10px;
	}

	.reason01_btns li:nth-child(3) a,
	.reason01_btns li:nth-child(4) a {
		font-size: 14px;
	}

	.reason01_btns li:nth-child(3) a span,
	.reason01_btns li:nth-child(4) a span {
		margin-left: -10px;
	}

	#goudou .inner,
	#kobetsu .inner,
	#premium .inner,
	#ceremony .inner {
		width: 100%;
		padding: 20px 30px 30px;
	}

	.plan-box {
		padding: 20px 30px;
	}


	.plan-content ul li:nth-child(2) dl {
		padding: 15px;
	}

	.plan-box .plan-photo {
		width: 70%;
	}

	.plan-content ul li:nth-child(2) dl dd p {
		font-size: 12px;
	}

	.plan-flow ul li {
		width: 30%;
		position: relative;
	}

	.plan-flow ul li.arrow {
		width: 7%;
		top: 124px;
	}

	#kobetsu .plan-flow ul li.arrow {
		width: 7%;
		top: 110px;
	}

	.plan-flow .flow-box {
		padding: 70px 15px 30px;
	}

	.plan-flow ul li.number::before,
	.kobetsu .number:first-child:before {
		width: 50px;
		height: 50px;
		left: -10px;
		top: -18px;
	}

	#goudou,
	#kobetsu,
	#premium {
		margin-bottom: 30px;
	}

	.reason01_btns li:nth-child(3) a {
		line-height: 1.2;
		padding: 10px 0 13px;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd.choice p {
		font-size: 12px;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd.choice img {
		width: 80%;
	}

	.kobetsu .number:first-child:before {
		background-size: contain;
	}

	.kobetsu .number:nth-child(3):before {
		background-size: contain;
	}

	.kobetsu .number:nth-child(5):before {
		background-size: contain;
	}

	.kobetsu .number:nth-child(7):before {
		background-size: contain;
	}

	.premium .plan-content ul li:nth-child(2) dl {
		gap: .5vw;
	}

	.premium .plan-content ul li:nth-child(2) dl dd.choice img {
		width: 80%;
	}

	.premium .plan-content ul li:nth-child(2) dl dd.choice p {
		font-size: 12px;
	}

	.premium .flow-box ul li {
		width: 17.5%;
	}

	.premium .flow-box ul li.arrow,
	.ceremony .flow-box ul li.arrow {
		width: 2%;
		top: 95px;
	}

	.premium .flow-box ul li .flow-sub,
	.ceremony .flow-box ul li .flow-sub {
		font-size: 14px;
		letter-spacing: 0;
	}

}

@media only screen and (max-width: 960px) {
	.plan-content {
		max-width: 287px;
		width: 100%;
	}

	.premium .flow-box ul li.arrow {
		width: 2%;
		top: 95px;
	}

	.ceremony .flow-box ul li.arrow {
		width: 10%;
		top: 95px;
	}
}

@media only screen and (max-width: 568px) {
	.plan-content {
		max-width: 100%;
	}

	#goudou,
	#kobetsu,
	#premium,
	#ceremony {
		margin: 0 -5.3vw 20px;
	}

	#goudou .inner,
	#kobetsu .inner,
	#premium .inner,
	#ceremony .inner {
		padding: 20px;
		border-radius: 0;
	}

	.reason01_btns {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		margin-bottom: 20px;
	}

	.reason01_btns li {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
	}

	.reason01_btns li a,
	.reason01_btns li:nth-child(3) a {
		font-size: 17px;
		padding: 10px 0 13px;
		border-radius: 10px;
		line-height: 1.5;
	}

	.reason01_btns li:nth-child(4) a {
		font-size: 17px;
	}

	.reason01_btns li a span::after {
		width: 30px;
		height: 30px;
	}

	.reason01_btns li:nth-child(3) a span,
	.reason01_btns li:nth-child(4) a span {
		margin-left: 0;
	}

	.plan-title {
		flex-direction: column;
		width: 100%;
	}

	.plan-title h5 {
		text-align: center;
		font-size: 24px;
		margin-bottom: 10px;
	}

	.goudou .plan-title .icon::before {
		width: 42px;
		height: 25px;
	}

	.goudou .plan-title span {
		margin-left: -30px;
	}

	.goudou.md_inner_space,
	.kobetsu.md_inner_space,
	.premium.md_inner_space {
		padding: 20px 5.3vw;
	}

	.plan-title p {
		text-align: center;
		padding: 5px;
		display: block;
		width: 100%;
	}

	.plan-box .plan-photo p {
		font-size: 16px;
	}

	.plan-box {
		flex-direction: column;
		padding: 20px;
		gap: 15px;
		margin-bottom: 20px;
	}

	.plan-box .plan-photo {
		width: 100%;
		border-radius: 20px;
	}

	.plan-content h6 {
		font-size: 18px;
	}

	.plan-content h6 span {
		font-size: 21px;
	}

	.plan-plice dt {
		padding: 5px 0 7px;
	}

	.plan-plice dd {
		font-size: 29px;
		letter-spacing: 0;
		width: 80%;
	}

	.plan-plice dd span {
		font-size: 14px;
	}

	.plan-content ul {
		flex-direction: column;
	}

	.plan-plice {
		margin-bottom: 20px;
	}

	.plan-content ul li:first-child {
		width: 100%;
		padding: 10px 0;
		font-size: 19px;
	}

	.plan-content ul li:nth-child(2) {
		width: 100%;
	}

	.plan-content ul li:nth-child(2) dl {
		justify-content: space-around;
	}

	.plan-content ul li:nth-child(2) dl dd {
		width: 28%;
	}

	.plan-flow ul li.arrow {
		top: 88px;
	}

	.plan-flow ul li .flow-sub {
		font-size: 16px;
	}

	#kobetsu .plan-flow ul li.arrow {
		width: 5%;
		top: 87px;
	}

	.plan-content .omiokuri img {
		width: 35px;
		height: 37px;
		margin: 0 auto 10px;
		display: block;
	}

	.plan-content .kasou img {
		width: 27px;
		height: 32px;
		margin: 0 auto 15px;
		display: block;
	}

	.plan-content .maisou img {
		width: 41px;
		height: 31px;
		margin: 0 auto 16px;
		display: block;
	}

	.plan-flow {
		position: relative;
	}

	.plan-flow h5 {
		width: 75%;
		padding: 5px;
		margin: 0 auto -22px;
	}

	.plan-flow ul {
		max-width: 100%;
		flex-wrap: wrap;
		justify-content: center;
		gap: 1vw;
	}

	.plan-flow ul li {
		width: 45%;
		margin-bottom: 20px;
	}

	.plan-flow ul li.number img {
		margin-bottom: 15px;
	}

	.plan-flow ul li.arrow {
		width: 5%;
	}

	.plan-flow ul li:nth-child(4).arrow {
		display: none;
	}

	.plan-flow ul li.number::before,
	.kobetsu .number:first-child:before {
		width: 40px;
		height: 40px;
	}

	.plan-flow .flow-box {
		padding: 50px 15px 20px;
	}

	.goudou .plan-flow .flow-box {
		background: url(../img/top/goudou_bg.svg)no-repeat;
		background-size: 80%;
		background-color: #fff;
		background-position: center center;
	}

	.kobetsu .plan-flow .flow-box {
		background: url(../img/top/kobetsu_bg.svg)no-repeat;
		background-size: 80%;
		background-color: #fff;
		background-position: center center;
	}

	.goudou .plan-flow ul li,
	.kobetsu .plan-flow ul li {
		width: 45%;
	}

	.premium .plan-flow .flow-box {
		background: url(../img/top/premium_bg.svg)no-repeat;
		background-size: 80%;
		background-color: #fff;
		background-position: center center;
	}

	.ceremony .plan-flow .flow-box {
		background: url(../img/top/ceremony_bg.svg)no-repeat;
		background-size: 80%;
		background-color: #fff;
		background-position: center center;
	}

	.goudou .btn a {
		padding: 10px 20px;
	}

	.goudou .btn a,
	.kobetsu .btn a,
	.premium .btn a {
		padding: 10px 20px;
	}

	.premium .btn a {
		font-size: 15px;
	}

	.goudou .btn a::after,
	.kobetsu .btn a::after,
	.premium .btn a::after {
		width: 30px;
		height: 30px;
	}

	.kobetsu .plan-title .icon::before {
		width: 25px;
		height: 32px;
	}

	.plan-title h5 span {
		margin-left: -30px;
	}

	.kobetsu .plan-plice dd {
		font-size: 27px;
	}

	.kobetsu .plan-content ul li:first-child {
		width: 100%;
	}

	.plan-content .kasou-single img {
		width: 30px;
		height: 34px;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl,
	.premium .plan-content ul li:nth-child(2) dl,
	.ceremony .plan-content ul li:nth-child(2) dl {
		flex-wrap: wrap;
		padding: 15px;
		gap: 10px 0;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd {
		width: 49%;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd:last-child {
		width: 100%;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd:last-child img {
		width: 100%;
		max-width: 100%;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd.choice p,
	.premium .plan-content ul li:nth-child(2) dl dd.choice p,
	.ceremony .plan-content ul li:nth-child(2) dl dd.choice p {
		margin-bottom: 10px;
	}

	.kobetsu .plan-content ul li:nth-child(2) dl dd p.f15,
	.premium .plan-content ul li:nth-child(2) dl dd p.f15 {
		font-size: 15px;
	}

	.kobetsu .plan-content .annotation_txt {
		font-size: 11px;
	}

	.kobetsu .number:nth-child(5):before {
		top: -18px;
	}

	.premium .plan-photo::after {
		width: 71px;
		height: 85px;
	}

	.premium .plan-title .icon::before {
		width: 29px;
		height: 35px;
	}

	.premium .plan-content ul li:first-child,
	.ceremony .plan-content ul li:first-child {
		width: 100%;
	}

	.premium .plan-content ul li:nth-child(2) dl dd:last-child,
	.ceremony .plan-content ul li:nth-child(2) dl dd:last-child {
		width: 100%;
	}

	.premium .plan-content ul li:nth-child(2),
	.ceremony .plan-content ul li:nth-child(2) {
		max-width: 100%;
	}

	.premium .plan-content ul li:nth-child(2) dl dd {
		width: 32%;
	}

	.premium .plan-content ul li:nth-child(2) dl dd:last-child img,
	.ceremony .plan-content ul li:nth-child(2) dl dd:last-child img {
		width: 100%;
		max-width: 100%;
	}

	.premium .plan-content .tachiai img {
		width: 28px;
		height: 35px;
		margin: 0 auto 20px;
	}

	.premium .flow-box ul li,
	.ceremony .flow-box ul li {
		width: 45%;
	}

	.premium .flow-box ul li.arrow,
	.goudou .plan-flow ul li.arrow,
	.kobetsu .plan-flow ul li.arrow,
	.ceremony .plan-flow ul li.arrow {
		width: 5%;
	}

	.premium .flow-box ul li:nth-child(8).arrow,
	.ceremony .flow-box ul li:nth-child(8).arrow {
		display: none;
	}

	.ceremony .plan-title .icon::before {
		width: 38px;
		height: 45px;
	}

}

/*------*/
.attention_box {
	padding: 25px 0px 25px 30px;
	letter-spacing: 0;
}

.attention_box::before {
	content: '';
	background: url(../img/top/icon-attention.svg)no-repeat;
	background-size: contain;
	width: 71px;
	height: 71px;
	display: inline-block;
	margin-top: 7px;
	margin-right: 20px;
}

.attention_box ul {
	width: 90%;
}

.attention_box ul li {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}

.payment {
	margin: 40px auto;
}

@media only screen and (max-width: 1024px) {
	.attention_box {
		padding: 20px;
		letter-spacing: 0;
		width: 100%;
		margin-top: 30px;
	}
}

@media only screen and (max-width: 568px) {
	.attention_box {
		display: block;
		padding: 20px;
	}

	.attention_box::before {
		float: left;
	}

	.attention_box ul {
		width: 100%;
	}

	.attention_box ul li {
		display: block;
	}

	.payment {
		margin: 20px auto;
	}
}


/*--火葬事例--*/
.case h2 .icon::before {
	background: url(../img/top/icon-case.svg)no-repeat;
	width: 60px;
	height: 60px;
	background-size: contain;
	vertical-align: sub;
}

.case ul {
	margin-bottom: 20px;
	gap: 1vw;
}

.case ul li {
	max-width: 420px;
	width: 32%;
}

.case ul li a {
	padding: 20px 30px 10px;
	display: block;
}

.case ul li h3 {
	font-size: clamp(15px, 2vw, 18px);
	margin-bottom: 5px;
}

.case ul li h5 {
	font-size: clamp(16px, 1.2vw, 20px);
	font-weight: bold;
	padding: 10px 0;
	display: inline-block;
	width: 85%;
	margin-top: -25px;
	position: relative;
	top: 0%;
	left: 50%;
	transform: translateX(-50%);
}

.case ul li dl {
	display: flex;
	margin-top: 15px;
}

.case ul li dl dt {
	width: 30%;
	text-align: center;
	font-size: clamp(15px, 1.2vw, 18px);
	font-weight: bold;
}

.case ul li dl dd {
	font-weight: bold;
	font-size: clamp(15px, 1.2vw, 18px);
	padding: 5px 0 5px 20px;
	letter-spacing: 0;
}

.case .ceremony {
	background: var(--site-quaternary);
}

.case .premium {
	background: var(--site-tertiary);
}

.case .single {
	background: var(--site-primary);
}

.case .joint {
	background: var(--site-secondary);
}

.date_time {
	margin-bottom: 20px;
}

.date_time::before {
	content: '';
	background: url(../img/common/icon-clock.svg)no-repeat;
	width: 16px;
	height: 16px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	margin-top: -3px;
}

.place_name {
	font-size: 18px;
}

.case .ceremony h5 {
	background: var(--site-quaternary-keycolor);
}

.case .premium h5 {
	background: var(--site-tertiary-keycolor);
}

.case .single h5 {
	background: var(--site-secondary-keycolor);
}

.case .joint h5 {
	background: var(--site-primary-keycolor);
}

.case ul li dl dd.case_plice {
	font-size: clamp(24px, 1.6vw, 32px);
	line-height: 1.2;
}

.case ul li dl dd.case_plice span {
	font-size: clamp(14px, 1.1vw, 24px);
}

.case ul li dl dt {
	padding: 5px 0;
}

.case ul li dl.example_plice dt {
	padding: 10px 0;
}

.case_btn {
	font-size: clamp(14px, 1.2vw, 20px);
}

.case_btn p {
	font-weight: bold;
	text-align: center;
	margin: 10px 0;
}

.case_btn p::after {
	content: '';
	background: url(../img/common/right-arrow-black.svg)no-repeat;
	background-size: contain;
	width: 36px;
	height: 36px;
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
}

.case .annotation_txt {
	font-size: 16px;
	color: #676767;
}

@media only screen and (max-width: 1024px) {
	.case ul li a {
		padding: 20px 15px 10px;
		width: 100%;
	}

	.case ul li dl dd.case_plice {
		text-align: center;
	}

	.case_btn p::after {
		width: 25px;
		height: 25px;
	}
}

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

@media only screen and (max-width: 568px) {
	.case h2 .icon::before {
		width: 30px;
		height: 30px;
		background-size: contain;
		vertical-align: sub;
	}

	.case ul li a:first-child div {
		flex-direction: column;
	}

	.date_time,
	.place_name {
		margin-bottom: 10px;
	}

	.case ul {
		margin: 20px -5.7vw;
	}

	.slider_sp {
		width: 100vw;
		margin: 20px auto;
		position: relative;
	}

	.slider_sp li {
		height: auto;
		opacity: .3;
		transform: scale(.92);
		transition: opacity .5s, transform .5s;
		width: 100%;
	}

	.slide-arrow {
		width: 30px;
		height: 30px;
	}

	.slider_sp button.arrow-common {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background-size: contain;
		background-repeat: no-repeat;
		width: 30px;
		height: 30px;
		cursor: pointer;
		z-index: 5;
	}


	.slider_sp button.arrow-next {
		background: url(../img/common/slider-next.svg)no-repeat !important;
		background-size: contain !important;
		position: absolute;
		top: 43%;
		right: 5%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		z-index: 10;
	}

	.slider_sp button.arrow-prev {
		background: url(../img/common/slider-prev.svg)no-repeat !important;
		background-size: contain !important;
		position: absolute;
		top: 43%;
		left: 5%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		z-index: 10;
	}

	.slider_sp button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0;
		border: none;
		background-color: transparent;
	}

	.slider_sp button:focus {
		outline: none;
	}

	.slider_sp .slick-center {
		opacity: 1;
		transform: scale(1);
	}
}

/*---------------理由02----------------*/

.reason02 .sub-title {
	font-size: clamp(24px, 2.51vw, 48px);
}

.service {
	margin-bottom: 60px;
}

.service h3 {
	margin-bottom: 40px;
}

.service-grid01,
.service-grid02 {
	display: grid;
}

.service-grid01 {
	grid-template-columns: 50% 40%;
	grid-template-rows: 0fr auto;
	gap: 0 2vw;
	margin-bottom: 60px;
}

.service-grid02 {
	grid-template-columns: 40% 55%;
	grid-template-rows: 0fr auto;
	gap: 0 2vw;
	margin-bottom: 80px;
}

.service-grid01 .service-ttl {
	grid-column: 1;
	grid-row: 1;
	margin-bottom: 10px;
	padding-top: 2vw;
}

.service-grid01 .service-txt {
	grid-column: 1;
	grid-row: 2;
	padding-bottom: 2vw;
}

.service-grid01 .md_radius_photo {
	grid-column: 2;
	grid-row: 1 / 3;
	height: fit-content;
}

.service-grid02 .service-ttl {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 10px;
}

.service-grid02 .service-txt {
	grid-column: 2;
	grid-row: 2;
	position: relative;
}

.service-grid02 .service-txt::after {
	content: '';
	position: absolute;
	background: url(../img/top/sougishi-stecker.png)no-repeat;
	background-size: contain;
	right: 0;
	top: -110px;
	width: 170px;
	height: 171px;
}


.service-grid02 .md_radius_photo {
	grid-column: 1;
	grid-row: 1 / 3;
	height: fit-content;
}

.service-ttl {
	grid-row: 1;
	grid-column: 1;
}

.service-ttl p {
	font-size: clamp(20px, 2.2vw, 30px);
}


.service-txt .point01 span,
.service-txt .point02 span {
	font-size: clamp(24px, 2.2vw, 40px);
}

.service-txt .point01,
.service-txt .point02 {
	position: relative;
	background: #ff8f8f;
	border-radius: 50px;
	font-size: clamp(16px, 1.5vw, 22px);
	display: inline-block;
	padding: 0 40px 0 80px;
	margin-bottom: 20px;
}

.service-txt .point02 {
	padding: 0 80px;
}

.service-txt .point01::before {
	content: '';
	background: url(../img/top/icon-medal.svg)no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 62px;
	height: 62px;
}


.service-ttl h4 span::before {
	content: '';
	background: url(../img/common/icon-license.svg)no-repeat;
	background-size: contain;
	width: 50px;
	height: 47px;
	display: inline-block;
	vertical-align: sub;
}

.service-ttl h4 {
	font-size: clamp(28px, 1.8vw, 42px);
}

.service-ttl h4 em {
	font-size: clamp(24px, 2vw, 48px);
}

.comparison h3 {
	margin-bottom: 30px;
}


table.compare_table {
	width: 100%;
	table-layout: fixed;
	margin: 45px 0 60px;
}

table.compare_table .ttl {
	width: 20%;
}

table.compare_table th,
table.compare_table td {
	font-size: clamp(16px, 2vw, 20px);
	text-align: center;
}

table.compare_table tbody th {
	font-weight: bold;
	border: 1px solid #ccc;
}

table.compare_table tbody td {
	padding: 18px 0;
	border: 1px solid #ccc;
	font-size: clamp(15px, 2vw, 18px);
}

table.compare_table .none {
	background: #fff;
}

table.compare_table .color {
	color: #28979f;
	font-weight: bold;
	font-size: clamp(18px, 1.5vw, 24px);
}

table.compare_table .color span {
	font-size: 14px;
}

table.compare_table thead th.color {
	padding: 20px 0;
}

table.compare_table thead th img {
	width: 86%;
}

table.compare_table thead th.gray {
	vertical-align: bottom;
}

table.compare_table thead th.gray div {
	background: #e7e7e7;
	padding: 17px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
}

table.compare_table .on {
	border: 4px solid #28979f;
	border-radius: 10px 10px 0 0;
	background: #fff7f2;
}

.attention_box_pink {
	background: #ffe3e3;
	padding: 30px;
	border-radius: 100px;
}

.attention_box_pink p {
	display: flex;
	align-items: center;
}

.attention_box_pink p::before {
	content: '';
	background: url(../img/top/icon-attention02.svg)no-repeat;
	background-size: contain;
	width: 94px;
	height: 94px;
	display: inline-block;
	margin-right: 30px;

}

.support h4 {
	font-size: clamp(24px, 2vw, 32px);
	margin-bottom: 30px;
}

.support h4 span.txt_color {
	font-size: clamp(32px, 2.5vw, 40px);
	color: #ff8f8f;
}

.support .txt {
	max-width: 645px;
	width: 100%;
}

.support .txt h5 {
	font-size: clamp(22px, 2vw, 32px);
	letter-spacing: 0;
	line-height: 1.3;
	margin-bottom: 20px;
}

.support-arrow {
	background: url(../img/top/big-arrow.png)no-repeat;
	background-size: contain;
	background-position: center;
	width: 100%;
}

.support-arrow h5 {
	font-size: clamp(32px, 2.5vw, 42px);
	padding: 20px 0 40px;
	line-height: 1.3;
}

.support_box {
	gap: 2vw;
}

.nds-box {
	border: 4px solid #66b8bc77;
	align-items: center;
	padding: 20px 40px;
	gap: 2vw;
}

.nds-box a {
	max-width: 432px;
}

.nds-box p {
	max-width: 755px;
}

.certificate {
	margin: 60px 0;
	padding: 40px;
	background: #f7f7f7;
	border-radius: 10px;
	display: grid;
	grid-template-columns: 20% 78%;
	grid-template-rows: auto auto;
	gap: 0 2vw;
}

.certificate h4 {
	font-size: clamp(32px, 2.2vw, 42px);
	grid-column: 2;
	grid-row: 1;
	display: inline-block;
	padding-left: 70px;
	position: relative;
	line-height: 1.3;
	margin-bottom: 10px;
}

.certificate h4 span::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/common/icon-license02.svg)no-repeat;
	width: 53px;
	height: 55px;
}

.certificate a {
	grid-column: 1;
	grid-row: 1 / 3;
}

.certificate-txt {
	grid-column: 2;
	grid-row: 2;
}

.certificate h4 em {
	font-size: clamp(32px, 2.2vw, 48px);
}

.certificate a.modaal-btn {
	max-width: 203px;
	position: relative;
	height: fit-content;
}

.certificate a.modaal-btn::after {
	content: '';
	background: url(../img/top/icon-zoom.png) no-repeat;
	width: 41px;
	height: 41px;
	position: absolute;
	right: 0px;
	bottom: 0px;
}

.original-service {
	margin-bottom: 60px;
}

.original-service h3 {
	margin-bottom: 30px;
}

.original-service h4 {
	font-size: clamp(18px, 2.2vw, 28px);
	margin-bottom: 30px;
}

.service-content {
	margin-top: 40px;
	gap: 1vw;
}

.service-content li {
	width: 32%;
}

.service-content li img {
	margin-top: auto;
}

.service-content li .border {
	border: 3px solid #ffebeb;
	border-radius: 10px;
	padding: 20px 30px;
	min-height: 582px;
	justify-content: space-between;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 10px;
}

.service-content li h5 {
	font-size: 24px;
	position: relative;
	display: inline-block;
	line-height: 1.2;
	padding-left: 55px;
	margin-bottom: 20px;
}

.service-content li h5::before {
	content: '';
	background: url(../img/top/icon-memorial.png)no-repeat;
	background-size: contain;
	width: 51px;
	height: 51px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.service-content li:nth-child(2) h5::before {
	background: url(../img/top/icon-photograph.png)no-repeat;
}

.service-content li:nth-child(3) h5::before {
	background: url(../img/top/icon-urn.png)no-repeat;
}

.service-content li h5 span {
	font-size: 18px;
	color: #999;
}

.service-content li img {
	border-radius: 20px;
	margin-top: 20px;
}

.service-content li:nth-child(2) img {
	margin-top: 40px;
}

.service-content li dl {
	width: 100%;
	border: 3px solid var(--site-primary-keycolor);
	margin-top: 30px;
}

.service-content li dl dt {
	font-size: 20px;
	width: 50%;
	padding: 12px 0 13px;
}

.service-content li dl dd {
	font-size: 18px;
	width: 50%;
	padding: 12px 0 13px;
}


.service-content li .btn_border {
	margin: 30px auto 0;
	width: 100%;
}

.service-content .annotation_txt {
	font-size: 12px;
	color: #999;
}

.supporting h4 {
	font-size: clamp(18px, 2.2vw, 28px);
	margin-bottom: 30px;
}


.support-contents {
	margin-top: 40px;
}

.support-contents .supporting-ttl {
	font-size: clamp(22px, 2.2vw, 32px);
	position: relative;
	padding-left: 50px;
}

.support-contents .supporting-ttl::before {
	background: url(../img/top/icon-cemetery.svg)no-repeat;
	background-size: contain;
	width: 44px;
	height: 50px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.support-contents .supporting-ttl span {
	font-size: clamp(16px, 2.2vw, 22px);
}


.support-contents .supporting-ttl::before {
	content: '';
	color: #ff8f8f;
	font-size: clamp(18px, 1.5vw, 24px);
	margin-right: 5px;
	vertical-align: text-bottom;
}

.support-contents p {
	letter-spacing: 0;
}

.cemetery-content {
	display: grid;
	grid-template-columns: 25% 70%;
	grid-template-rows: 0fr auto auto auto;
	gap: 0 2vw;
	background: #fff4f4;
	border-radius: 20px;
	padding: 40px;
}

.cemetery-content .supporting-ttl {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 10px;
}

.cemetery-content .md_radius_photo {
	grid-column: 1;
	grid-row: 1 / 3;
}

.cemetery-content p {
	grid-column: 2;
	grid-row: 2;
	padding-bottom: 30px;
}

.cemetery-content .place {
	grid-column: 1 / 3;
	grid-row: 3;
	border-radius: 20px;
	overflow: hidden;
}

.cemetery-content .btn_border {
	grid-column: 1 / 3;
	grid-row: 4;
	width: 100%;
	margin: 30px auto 0px;
}

.cemetery-content .place {
	background: #fff;
	margin-top: 30px;
}

.cemetery-content h6 {
	font-size: clamp(16px, 1.5vw, 22px);
	line-height: 1;
	padding: 15px 0 17px;
}

.place-detail {
	padding: 15px 30px;
}

.place-detail dl,
.place-detail {
	gap: 2vw;
	align-items: center;
}

.place-detail dl {
	padding: 20px 10px;
	align-items: center;
}

.place-txt {
	width: 75%;
}
/*
.place-detail dl:first-child {
	border-bottom: 2px dotted #999;
}
*/
.place-detail dl dt {
	font-size: clamp(16px, 1.5vw, 24px);
	border: 3px solid var(--site-main-color);
	display: block;
	width: 18%;
	padding: 10px 0;
}

.place-detail dl dd {
	width: 80%;
}

.place-detail .md_radius_photo {
	height: fit-content;
}



.other .support-contents {
	background: #fff4f4;
	border-radius: 20px;
	padding: 20px 40px;
}

.other .support-contents .supporting-ttl {
	font-size: clamp(20px, 1.5vw, 30px);
	line-height: 1.2;
	letter-spacing: 0;
	margin-bottom: 20px;
}

.other .support-contents .supporting-ttl span {
	font-size: clamp(14px, 1.5vw, 18px);
	color: #999;
}

.other li .support-contents .supporting-ttl::before {
	background-size: contain;
}

.other li .support-contents .supporting-ttl::before {
	background: url(../img/top/icon-other01.png)no-repeat;
	background-size: contain;
	width: 52px;
	height: 56px;
}

.other li:nth-child(2) .support-contents .supporting-ttl::before {
	background: url(../img/top/icon-other02.png)no-repeat;
	background-size: contain;
	width: 63px;
	height: 58px;
}

.other li:nth-child(3) .support-contents .supporting-ttl::before {
	background: url(../img/top/icon-other03.png)no-repeat;
	background-size: contain;
	width: 58px;
	height: 50px;
}

.other li:nth-child(3) .support-contents {
	margin-bottom: 10px;
}

.other li .support-contents .md_radius {
	margin-bottom: 10px;
	height: fit-content;
}

.other .annotation_txt {
	font-size: 14px;
	color: #929292;
}

.supporting ul li {
	width: 32%;
}


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

	.intro h3 .number {
		font-size: 22px;
	}

	.intro h3 .number em {
		font-size: 32px;
	}

	.service-txt .point01,
	.service-txt .point02 {
		text-align: center;
	}

	.service-grid02 .service-txt::after {
		width: 100px;
		height: 100px;
	}

	.service-ttl p {
		font-size: 18px;
	}

	.service-grid02 {
		margin-bottom: 40px;
	}

	.certificate {
		grid-template-columns: 30% 65%;
		gap: 0 20px;
		padding: 30px;
		margin: 30px 0;
	}

	.certificate .btn_border {
		margin-bottom: 0;
	}

	.service-content li .border {
		padding: 20px 10px;
	}

	.service-content li h5 {
		font-size: 20px;
		line-height: 1.2;
	}

	.service-content li h5 span {
		font-size: 14px;
		line-height: 1;
		padding-bottom: 5px;
	}

	.service-content li p {
		font-size: 14px;
	}

	.service-content li .btn_border a {
		font-size: 15px;
		padding: 7px 0;
	}

	.btn_border a::after {
		width: 25px;
		height: 25px;
	}

	.service-content li dl {
		align-items: center;
	}

	.service-content li dl dt {
		font-size: 16px;
		line-height: 1.2;
	}

	.service-content li dl dd {
		font-size: 14px;
	}

	.cemetery-content {
		padding: 30px 20px;
	}

	.cemetery-content .md_radius_photo {
		border-radius: 20px;
		height: fit-content;
	}

	.place-detail dl dt {
		width: 30%;
	}

	.other .support-contents {
		padding: 20px;
	}

	.support-contents .supporting-ttl {
		padding-left: 40px;
	}

	.other .support-contents .supporting-ttl span {
		font-size: 12px;
		letter-spacing: 0;
	}

	.other li .support-contents .supporting-ttl::before {
		width: 37px;
		height: 40px;
	}

	.other li:nth-child(2) .support-contents .supporting-ttl::before {
		width: 37px;
		height: 34px;
	}

	.other li:nth-child(3) .support-contents .supporting-ttl::before {
		width: 37px;
		height: 32px;
	}
}




@media only screen and (max-width: 960px) {
	.cemetery-content {
		gap: 0 4vw;
	}

	.support-contents {
		margin-top: 30px;
	}



}

@media only screen and (max-width: 568px) {
	.reason02 {
		background-size: 60%;
		background-position: top 13% right;
	}

	.service {
		margin-bottom: 30px;
	}

	.service h3,
	.comparison h3 {
		margin-bottom: 18px;
		padding: 0 30px;
		font-size: 18px;
		text-align: center;
		line-height: 1.5;
	}

	.service .top-sub-title:before,
	.service .top-sub-title:after,
	.comparison .top-sub-title:before,
	.comparison .top-sub-title:after {
		width: 25px;
	}

	.service-grid01,
	.service-grid02 {
		display: block;
	}

	.service-grid01 {
		margin-bottom: 20px;
	}

	.service-grid01 .service-ttl {
		text-align: center;
	}

	.service-grid01 .md_radius_photo,
	.service-grid02 .md_radius_photo {
		border-radius: 10px;
		margin-bottom: 20px;
	}

	.service-txt .point01 {
		padding: 5px 10px 9px 50px;
	}

	.service-txt .point01,
	.service-txt .point02 {
		text-align: left;
		font-size: 14px;
	}

	.service-txt .point01 span,
	.service-txt .point02 span {
		font-size: 20px;
	}

	.service-txt .point01::before {
		width: 45px;
		height: 45px;
	}

	.service-txt .point02 {
		padding: 5px 20px 9px;
	}

	.service-grid02 .service-txt::after {
		top: -50px;
	}

	.service-grid02 {
		margin-bottom: 20px;
	}


	.reason02 .sub-title {
		background: #28979f;
		color: #fff;
		margin: 20px -5.7vw;
		font-size: 22px;
		text-align: left;
		color: #ffe7ac;
		position: relative;
		padding: 10px 0;
	}

	.reason02 .sub-title::after {
		content: none;
	}

	.reason02 .sub-title::before {
		background: url(../img/top/icon-number-reason02.png)no-repeat;
		background-size: contain;
		width: 51px;
		height: 50px;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);

	}

	.reason02 .sub-title span {
		margin-left: 50px;
		display: block;
	}

	.reason02 .sub-title span.bg_white {
		background: none;
	}

	.reason02 .txt h4 {
		text-align: center;
	}

	.reason02 .point-ttl {
		font-size: 24px;
	}

	.reason02 .point-ttl span {
		background: #da6272;
		color: #fff;
		border-radius: 10px;
		padding: 0 10px;
	}

	.point_box .point_bg {
		padding: 20px;
	}

	.point_box .point_number {
		text-align: center;
		margin-bottom: 10px;
	}

	.point_txt_box h5 {
		font-size: 20px;
		margin-bottom: 20px;
		margin-left: 55%;
		margin-bottom: 30px;
	}

	.point_box .point_bg {
		margin-left: 0;
	}

	.point_txt_box {
		margin-left: 0;
	}

	.point_txt_box h6 {
		text-align: center;
		font-size: 18px;
	}

	.point_box:nth-child(even) .point_number {
		margin-left: 0;
		width: 50%;
		margin-bottom: 10px;
	}

	.point_box:nth-child(even) .point_txt_box {
		width: 100%;
		padding: 20px;
	}

	.point_box:nth-child(even) .point_txt_box h5 {
		margin-left: 0;
		margin-right: 55%;
		font-size: 19px;
	}

	.point_box:nth-child(even) .point_bg {
		margin-right: 0;
		padding: 0;
	}

	.point_box:last-child h6 {
		padding-top: 20px;
	}

	.point-contents .point_box:last-child {
		margin-bottom: 30px;
	}

	.cemetery-content {
		display: block;
	}

	.supporting-ttl {
		text-align: center;
		line-height: 1.2;
	}

	.dioxin_box {
		padding: 20px;
	}

	.dioxin_box {
		display: block;
	}

	.dioxin_box a {
		float: left;
		margin: 0 10px 10px 0;
	}

	.dioxin_box .ttl {
		position: relative;
		font-size: 20px;
		padding: 0;
	}

	.dioxin_box .ttl span::before {
		position: absolute;
		left: 0;
		top: 0;
		width: 43px;
		height: 50px;
	}

	.dioxin_box .ttl span {
		margin-left: 46px;
		display: block;
	}

	.certificate {
		display: block;
	}

}


/*---------------理由03----------------*/

.reason03 .sub-title {
	font-size: clamp(32px, 2.5vw, 40px);
}

.point-ttl {
	font-size: clamp(32px, 2.5vw, 40px);
	margin-bottom: 60px;
}

.point-contents {
	gap: 2vw;
}

.point-contents li {
	width: 48%;
}

.point-contents li .point_box {
	background: #fff8fb;
	border-radius: 20px;
	overflow: hidden;
}

.point-contents .point_box:last-child {
	margin-bottom: 60px;
}

.point_box .point_number {
	font-size: clamp(32px, 2.5vw, 48px);
	line-height: .8;

}

.point_box .point_number span {
	font-size: clamp(14px, 2vw, 20px);
	vertical-align: top;
}

.point_box .point_bg {
	padding: 20px 30px 40px 30px;
}

.point_box h5 {
	font-size: clamp(16px, 1.5vw, 24px);
	display: flex;
	align-items: center;
	gap: 1vw;
}

.point_box h5 span {
	font-size: clamp(12px, 2vw, 20px);
	display: flex;
	align-items: center;
	width: 20%;
	justify-content: center;
}

.point_box h5 span em {
	font-size: clamp(20px, 2vw, 48px);
}

.point-contents li .annotation_txt {
	font-size: 14px;
	color: #979797;
	font-weight: normal;
	margin-top: 10px;
}

.point_photo {
	width: 100%;
}

.point_box h5 span {
	width: 30%;
}

.point-ttl {
	margin-bottom: 30px;
}

.point-contents li:nth-child(2) .point_box h5 {
	font-size: 15px;
}

.point_box .point_bg {
	padding: 15px 20px;
}

.point_txt_box {
	font-size: 14px;
}



.dioxin_box {
	padding: 30px 40px;
	display: grid;
	grid-template-columns: 12% 85%;
	grid-template-rows: auto 1fr;
	column-gap: 4%;
	background: #fff7f2;
}

.dioxin_box .ttl {
	font-size: clamp(22px, 1.5vw, 32px);
	padding: 13px 0;
	margin-bottom: 20px;
	grid-column: 2;
	grid-row: 1;
}

.dioxin_box .ttl span::before {
	content: '';
	background: url(../img/common/icon-dioxin.svg) no-repeat;
	background-size: contain;
	width: 44px;
	height: 51px;
	display: inline-block;
	vertical-align: bottom;
	margin-right: 15px;
}

.dioxin_box a {
	position: relative;
	border: 2px solid #dfdfdf;
	grid-column: 1;
	grid-row: 1 / -1;
	height: fit-content;
	max-width: 149px;
}

.dioxin_box a::after {
	content: '';
	background: url(../img/top/icon-zoom.png) no-repeat;
	width: 41px;
	height: 41px;
	position: absolute;
	right: -2px;
	bottom: -3px;
}

.dioxin_box .txt {
	grid-column: 2;
	grid-row: 2;
}

.dioxin_box .annotation_txt {
	text-indent: 0;
	padding-left: 0;
	font-size: 14px;
	color: #979797;
	font-weight: normal;
	display: block;
	margin-top: 20px;
	padding-left: 1em;
	text-indent: -1em;
}



/*------------------------------------------*/



@media only screen and (max-width: 1024px) {
	.reason03 {
		background-position: top 2% left;
	}

	.reason03 .sub-title::before,
	.reason03 .sub-title::after {
		width: 16.6vw;
	}

	.attention_box_pink p::before {
		margin-right: 20px;
	}

	.reason03 .sub-title {
		font-size: clamp(16px, 2vw, 24px);
	}

	.director_content .txt h5 {
		position: relative;
	}

	.director_content .txt h5 span {
		display: block;
		margin-left: 60px;
	}

	.director_content .txt h5 span::before {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.nds-box {
		flex-direction: column;
		padding: 20px;
		border: 2px solid #66b8bc77;
		border-radius: 10px;
		margin-bottom: 20px;
	}

	.omiokuri-goods h5 span::before {
		display: block;
		margin: 0 auto 10px;
	}

	.omiokuri-goods ul li .sub_txt {
		position: static;
		height: 41%;
	}

	.goods-list ul li {
		width: 31%;
	}

	.goods-list .popular::before,
	.goods-list .rest::before {
		width: 35%;
		height: 35%;
	}

	.dioxin_box {
		grid-template-columns: 25% 75%;
	}


	.dioxin_box {
		grid-template-columns: 30% 70%;
		column-gap: 0%;
	}

	.dioxin_box .ttl {
		font-size: 20px;
		padding: 0;
	}

	.dioxin_box .ttl span::before {
		margin-right: 7px;
	}

}

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

	.reason03 .sub-title::before,
	.reason03 .sub-title::after {
		width: 26vw;
	}

}

@media only screen and (max-width: 568px) {
	.point_box .point_number {
		margin-bottom: 0;
	}

	.reason03 .sub-title {
		background: #28979f;
		color: #fff;
		margin: 20px -5.7vw;
		font-size: 22px;
		text-align: left;
		color: #ffe7ac;
		position: relative;
		padding: 10px 0;
	}

	.reason03 .sub-title::after {
		content: none;
	}

	.reason03 .sub-title::before {
		background: url(../img/top/icon-number-reason03.png)no-repeat;
		background-size: contain;
		width: 51px;
		height: 50px;
		position: absolute;
		left: 10px;
		top: 50%;
		transform: translateY(-50%);
	}

	.reason03 .sub-title span {
		margin-left: 50px;
		line-height: 1.2;
		display: block;
	}

	.reason03 .sub-title span.bg_white {
		background: none;
	}

	.reason03 .txt h4 {
		text-align: center;
	}


	table.compare_table {
		margin: 20px -5.7vw;
		width: 100vw;
		line-height: 1.2;
	}

	table.compare_table tbody th,
	table.compare_table .color,
	table.compare_table tbody td {
		font-size: 14px;
	}

	table.compare_table .color span,
	table.compare_table tbody td span {
		font-size: 11px;
	}

	table.compare_table .ttl {
		width: 23%;
	}

	.attention_box_pink {
		border-radius: 20px;
	}

	.attention_box_pink p {
		display: block;
	}

	.attention_box_pink p::before {
		float: left;
		width: 50px;
		height: 50px;
		margin-right: 10px;
	}

	.support h4 {
		font-size: 19px;
		margin-bottom: 10px;
	}

	.support h4 span.txt_color {
		font-size: 24px;
	}

	.support_box {
		flex-direction: column;
		gap: 5vw;
	}

	.support .txt h5 {
		font-size: 20px;
		text-align: center;
	}

	.director_content {
		flex-direction: column;
		margin-top: 0;
		gap: 15px 0;
	}

	.director_content .txt h5 em {
		font-size: 23px;
	}

	.director_content .txt h5 {
		font-size: 20px;
		margin-bottom: 5px;
	}

	.director_content .txt h5 span {
		margin-left: 30px;
		position: relative;
		display: inline-block;
	}

	.director_content .txt h5 span::before {
		width: 25px;
		height: 23px;
		left: -38px;
	}

	.director_content .txt h6 {
		font-size: 18px;
		text-align: center;
		margin-bottom: 10px;
	}

	.director_content .btn_border a {
		width: 100%;
		margin: 0 auto;
	}

	.director_content .btn_border a::after {
		width: 25px;
		height: 25px;
	}

	.certificate {
		margin: 30px 0;
		padding: 20px;
	}

	.certificate h4 span::before {
		width: 25px;
		height: 27px;
	}

	.certificate h4 em {
		font-size: 23px;
		letter-spacing: 0;
	}

	.certificate h4 {
		font-size: 20px;
		letter-spacing: 0;
		padding-left: 40px;
	}

	.certificate-txt h5 {
		font-size: 18px;
	}

	.certificate div {
		display: contents;
	}

	.certificate a.modaal-btn {
		float: left;
		max-width: 101px;
		width: 100%;
		margin-right: 10px;
	}

	.original-service {
		margin-bottom: 30px;
	}

	.original-service h3 {
		padding: 0 30px;
		margin-bottom: 10px;
	}

	.original-service h4 {
		margin-bottom: 10px;
	}

	.original-service .top-sub-title:before,
	.original-service .top-sub-title:after {
		width: 20px;
	}

	.service-content {
		flex-direction: column;
		margin-top: 20px;
	}

	.service-content li {
		width: 100%;
	}

	.service-content li h5 {
		margin: 0 auto 20px;
	}

	.service-content li .border {
		min-height: auto;
	}

	.service-content li .btn_border a {
		margin: 0 auto;
	}

	.service-content li .btn_border {
		margin: 20px auto 0;
	}

	.service-content li dl {
		margin-top: 10px;
	}

	.service-content li dl dt {
		padding: 13px 0 16px;
	}

	.service-content li .border {
		padding: 20px;
	}

	.supporting h4,
	.support-contents {
		margin-bottom: 20px;
	}

	.cemetery-content {
		padding: 20px;
	}

	.cemetery-content .md_radius_photo {
		margin-bottom: 20px;
	}

	.cemetery-content p {
		margin-bottom: 0px;
		padding-bottom: 0;
	}

	.place-detail dl {
		padding: 0 0 10px 0;
	}

	.place-detail dl,
	.place-detail {
		display: block;
	}

	.place-detail {
		padding: 20px;
	}

	.place-txt {
		width: 100%;
	}


	.place-detail dl dd {
		width: 100%;
	}

	.place-detail dl dt {
		margin-bottom: 10px;
		width: 50%;
		margin: 0 auto 20px;
	}

	.place-txt dl:nth-child(2) {
		padding-top: 20px;
		padding-bottom: 0;
	}

	.cemetery-content .btn_border a {
		margin: 0 auto;
	}

	.other {
		width: 100%;
		display: block;
	}

	.supporting ul li {
		width: 100%;
	}

	.other .support-contents .supporting-ttl {
		width: 77%;
		margin: 0 auto 15px;
	}

	.supporting ul li .btn_border,
	.supporting ul li .btn_border a {
		margin: 15px auto 10px;
	}

	.reason03 h4.top-sub-title {
		padding: 0 25px;
		font-size: 20px;
	}

	.reason03 h4.top-sub-title:before,
	.reason03 h4.top-sub-title:after {
		width: 20px;
	}

	.point-contents li,
	.point_photo {
		width: 100%;
	}

	.point_box h5 {
		font-size: 17px;
	}

	.point_box h5 span {
		font-size: 12px;
		width: 23%;
	}

	.point_box h5 span em {
		font-size: 22px;
	}

	.point_box .point_bg {
		padding: 15px 20px;
	}

	.point_box {
		margin-bottom: 20px;
	}

	.point-contents .point_box:last-child {
		margin-bottom: 20px;
	}

	.point-contents li .annotation_txt {
		margin-top: 0;
		margin-bottom: 10px;
	}

	.dioxin_box {
		display: block;
		padding: 20px;
	}


}









/*-----お客様の声-----*/
.voice {
	margin-bottom: 60px;
}

.voice .txt_green {
	font-size: clamp(16px, 2vw, 24px);
	margin-bottom: 60px;
}

.voice-title {
	background: #ffc9c9;
	width: 32%;
	padding: 50px 30px;
}

.voice-title .sub {
	position: relative;
	font-size: clamp(16px, 2vw, 20px);
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
	padding: 0 30px;
	margin-bottom: 10px;
}

.voice-title .sub::before,
.voice-title .sub::after {
	content: '';
	background-size: contain;
	width: 21px;
	height: 50px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.voice-title .sub::before {
	left: 0;
	background: url(../img/common/sub_left02.png)no-repeat;
}

.voice-title .sub::after {
	right: 0;
	background: url(../img/common/sub_right02.png)no-repeat;
}

.voice-title h3 {
	font-size: clamp(16px, 2.5vw, 40px);
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
	position: relative;
	padding-left: 90px;
	display: inline-block;
	margin: 0 auto 50px;
}

.voice-title h3::before {
	content: '';
	background: url(../img/common/icon-voice.png)no-repeat;
	background-size: contain;
	width: 76px;
	height: 76px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}


.voice-content {
	width: 100%;
	gap: 2vw;
}

.ribbon-box {
	width: 100%;
	height: auto;
	padding: 15px 0;
	background-color: #da6272;
	position: relative;
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 50%, 100% 100%, 0 100%, 20px 50%);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.ribbon-box::before {
	content: '';
	position: absolute;
	top: 3px;
	right: 3px;
	bottom: 3px;
	left: 3px;
	background-color: #fffce0;
	z-index: 1;
	clip-path: polygon(1% 1%, 99% 1%, calc(99.5% - 20px) 50%, 99% 99%, 1% 99%, 21px 50%);
}

.content-text {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 0 30px;
	color: #333;
	font-size: 20px;
	font-weight: bold;
}

.content-text span {
	font-size: 32px;
	background: linear-gradient(transparent 70%, #ffc9c9 70%);
}

.voice-customer {
	width: 70%;

}

.voice-customer p:first-child {
	margin-bottom: 20px;
}

.voice-customer ul li {
	width: 48%;
	display: grid;
	grid-template-columns: 45% 48%;
	grid-template-rows: auto auto;
	border: 3px solid #ffc9c9;
	border-radius: 20px;
	padding: 30px;
	gap: 1vw;
}

.voice-customer ul li img {
	grid-column: 1;
	grid-row: 1;
}

.voice-customer ul li .name {
	grid-column: 2;
	grid-row: 1;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}

.voice-customer ul li .comment {
	grid-column: 1 / 3;
	grid-row: 2;
}

/*-----------------------------------*/


@media only screen and (max-width: 1024px) {
	.voice {
		margin-bottom: 40px;
	}

	.voice .top_title {
		margin-bottom: 40px;
		padding: 8px 30px;
	}

	.voice-title {
		width: 50%;
		padding: 20px;
	}

	.voice .txt_green {
		margin-bottom: 30px;
	}

	.voice-title h3 {
		padding-left: 60px;
		margin: 0 auto 20px;
	}

	.voice-title h3::before {
		width: 50px;
		height: 50px;
	}

	.content-text {
		font-size: 16px;
	}

	.content-text span {
		font-size: 24px;
	}

	.voice-customer ul {
		flex-direction: column;
		gap: 15px;
	}

	.voice-customer ul li {
		width: 100%;
		display: block;
		padding: 20px;
	}

	.voice-customer ul li img {
		width: 30%;
		float: left;
		margin: 0 10px 10px 0;
	}

	.voice-customer ul li .comment {
		font-size: 14px;
	}

	.voice-customer ul li .name {
		margin-bottom: 10px;
	}
}

@media only screen and (max-width: 960px) {
	.voice-title {
		width: 56%;
	}


}

@media only screen and (max-width: 568px) {
	.voice {
		margin-bottom: 30px;
	}

	.voice-content {
		display: block;
	}

	.voice .top_title {
		margin-bottom: 20px;
	}

	.voice .txt_green {
		margin-bottom: 20px;
	}

	.voice .voice-title {
		width: 100%;
		padding: 20px 10px;
		margin-bottom: 20px;
	}

	.voice-title .sub {
		font-size: 14px;
		padding: 0 10px;
		letter-spacing: 0;
		text-shadow: -1.5px -1.5px 0 #fff, 1.5px -1.5px 0 #fff, -1.5px 1.5px 0 #fff, 1.5px 1.5px 0 #fff;

	}

	.voice-title .sub::before,
	.voice-title .sub::after {
		height: 20px;
		width: 10px;
		background-size: contain;
	}

	.voice-title .sub::before {
		left: -5px;
	}

	.voice-title .sub::after {
		right: -5px;
	}

	.voice-title h3 {
		font-size: 24px;
		width: 70%;
		text-align: center;
		display: block;
		padding-left: 50px;
	}

	.voice-customer {
		width: 100%;
	}
}

/*-------火葬可能なペットちゃん一覧------*/
#readMoreBlock {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	gap: 35px;
}

.readMoreInner {
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.readMoreContainer {
	position: relative;
	height: auto;
	max-height: 400px;
	overflow: hidden;
	transition: max-height 0.6s;
	padding-bottom: 10px;
}

.readMoreInner .readMoreContainer::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	transition: 1s;
	background: linear-gradient(to bottom, transparent 60%, #fff 100%);
	pointer-events: none;
}

.readMoreBtn {
	display: block;
	max-width: 350px;
	width: 100%;
	color: var(--site-main-color);
	letter-spacing: 0;
	background: #fff;
	border: 2px solid var(--site-main-color);
	border-radius: 50px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding: 12px 0 13px;
	position: relative;
	transition: 0.2s;
	cursor: pointer;
	border-radius: 100px;
	margin: 20px auto 40px;
}

.readMoreBtn span.open::after {
	content: '';
	background: url(../img/common/arrow-down.svg)no-repeat;
	background-size: contain;
	width: 39px;
	height: 39px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}

.readMoreBtn span.close::after {
	content: '';
	background: url(../img/common/arrow-up.svg)no-repeat;
	background-size: contain;
	width: 39px;
	height: 39px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}

.pet_list {
	gap: 1vw 1.8vw;
	margin: 40px 0;
}

.pet_list li {
	max-width: 300px;
	width: 23%;
	background: #ffe7d8;
}

.pet_list li img {
	max-width: 130px;
	width: 43%;
}

.pet_list li div {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 56%;
}

.pet_list li p {
	font-size: clamp(20px, 1.2vw, 32px);
}

.pet-list li .size_small {
	font-size: 28px;
}

.pet-type .annotation_txt {
	font-size: 16px;
}

.pet-lists .btn a {
	font-size: 17px;
	letter-spacing: 0;
	margin-left: -20px
}

.readMoreInner .readMoreContainer.show::after {
	background: none;
}

@media only screen and (max-width: 1024px) {
	.pet_list li {
		width: 31%;
		display: flex;
	}

	.pet_list li img {
		width: 100%;
		max-width: 35%;
	}
}

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

@media only screen and (max-width: 568px) {
	.pet-lists .sec_title span::before {
		width: 32px;
		height: 31px;
	}

	.pet-lists .sec_title {
		line-height: 1.2;
		padding: 7px 0;
	}

	.pet_list {
		margin: 20px 0;
		gap: 3vw;
	}

	.pet_list li {
		width: 48%;
		display: flex;
	}

	.pet_list li img {
		width: 100%;
		max-width: 35%;
	}

	.pet_list li div {
		width: 62%;
	}

	.pet_list li div p {
		font-size: 19px;
	}

	.pet_list li div p.size_small {
		font-size: 16px;
	}

	.pet-lists .btn a {
		font-size: 15px;
	}

	.pet-type .annotation_txt {
		font-size: 11px;
	}

	.readMoreContainer {
		max-height: 220px;
	}

	.readMoreBtn {
		margin-bottom: 10px;
	}


}

/*---確認方法---*/

#enshrinement .intro h3 {
	font-size: clamp(22px, 2vw, 32px);
	margin-bottom: 20px;
}

#enshrinement .intro {
	gap: 2vw;
}

#enshrinement .intro .md_radius_photo {
	max-width: 45%;
	width: 100%;
	height: fit-content;
}

#enshrinement .intro .txt {
	max-width: 50%;
	width: 100%;
}

#enshrinement .flow li {
	width: 31.5%;
	background: #fffce0;
	border-radius: 10px;
	padding: 20px 30px;
	position: relative;
}

#enshrinement .flow li::after {
	content: '';
	background: url(../img/common/arrow_green_right.svg)no-repeat;
	width: 53px;
	height: 46px;
	position: absolute;
	right: -13%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

#enshrinement .flow li:last-child::after {
	content: none;
}

#enshrinement .flow li h3 {
	position: relative;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.5;
	padding-left: 70px;
	margin-bottom: 20px;
	letter-spacing: 0;
}

#enshrinement .flow li h3::before {
	content: '';
	background: url(../img/top/icon-flow01.svg)no-repeat;
	background-size: contain;
	width: 66px;
	height: 66px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

#enshrinement .flow li:nth-child(2) h3::before {
	background: url(../img/top/icon-flow02.svg)no-repeat;
}


#enshrinement .flow li:nth-child(3) h3::before {
	background: url(../img/top/icon-flow03.svg)no-repeat;
}

#enshrinement .flow li img {
	border-radius: 10px;
	margin-bottom: 20px;
}

.enshrinement-link {
	background: #28979f;
	display: grid;
	grid-template-columns: 70% 25%;
	gap: 5%;
	grid-template-rows: auto auto;
	padding: 30px;
	width: 80%;
	margin: 40px auto 0;
}

.enshrinement-link h3 {
	grid-column: 1;
	grid-row: 1;
	font-size: clamp(24px, 2vw, 38px);
	color: #fffce0;
}

.enshrinement-link img {
	grid-column: 2;
	grid-row: 1 / 3;
	max-width: 241px;
}

.enshrinement-link .btn {
	grid-column: 1;
	grid-row: 2;
	background: #fff;
	width: 100%;
	height: fit-content;
	max-width: 400px;
}

.enshrinement-link .btn a {
	color: #28979f;
	padding: 15px 0;
}

.enshrinement-link .btn a::after {
	background: url(../img/common/icon_arrow_under_green.svg)no-repeat;
	transform: rotate(-90deg);
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}





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

	#enshrinement .intro {
		margin-bottom: 30px;
	}

	#enshrinement .flow li h3::before {
		width: 40px;
		height: 40px;
	}

	#enshrinement .flow li h3 {
		padding-left: 45px;
		font-size: 16px;
	}

	#enshrinement .flow li::after {
		width: 33px;
		height: 38px;
	}

	#enshrinement .flow li {
		padding: 20px;
	}

	#enshrinement .flow li .btn_border {
		margin: 20px 0 0;
	}

	#enshrinement .flow li .btn_border a {
		font-size: 14px;
		padding: 7px 0 8px;
	}

	.enshrinement-link h3 {
		font-size: 20px;
	}

}

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

@media only screen and (max-width: 568px) {
	#enshrinement .intro {
		flex-direction: column;
	}

	#enshrinement .intro .md_radius_photo,
	#enshrinement .intro .txt {
		max-width: 100%;
	}

	#enshrinement .intro h3 {
		font-size: 20px;
		text-align: center;

	}

	#enshrinement .flow {
		flex-direction: column;
		gap: 30px 0;
	}

	#enshrinement .flow li {
		width: 100%;
	}

	#enshrinement .flow li::after {
		background: url(../img/common/arrow_green_down_harf.svg)no-repeat;
		right: 0;
		left: 0;
		bottom: -65px;
		top: auto;
		margin: 0 auto;
	}

	#enshrinement .flow li h3 {
		font-size: 18px;
		margin-bottom: 15px;
	}

	#enshrinement .flow li .btn_border {
		margin: 15px auto 0;
	}

	#enshrinement .flow li .btn_border a {
		margin: 20px auto 0;
	}

	.enshrinement-link {
		width: 100vw;
		margin: 20px -5.3vw 0;
		border-radius: 0;
		padding: 20px 10px;
		grid-template-columns: 65% 30%;
		gap: 20px 10px;
	}

	.enshrinement-link h3 {
		font-size: 18px;
	}

	.enshrinement-link h3 span {
		text-indent: -1em;
		padding-left: 1em;
		display: inline-block;
	}

	.enshrinement-link .btn {
		grid-column: 1 / 3;
		width: 90%;
	}

	.enshrinement-link .btn a {
		padding: 10px;
		font-size: 15px;
	}
}


/*------------------------------------------------
*Q&A
--------------------------------------------------*/
#faq .sec_title span::before {
	background: url(../img/top/icon-qa.svg)no-repeat;
	background-size: contain;
	width: 74px;
	height: 70px;
}

.faq-content ul {
	margin: 40px 0;
}

.faq-content li {
	margin-bottom: 60px;
}

.faq-content li:last-child {
	margin-bottom: 0;
}

.faq-content dt {
	background: #74b4b9;
	border-radius: 50px;
	font-size: 24px;
	padding: 15px;
}

.faq-content dd {
	padding: 20px 15px;
	display: flex;
}

.faq-content dt::before {
	content: '';
	background: url(../img/top/icon-q.svg)no-repeat;
	background-size: contain;
	width: 42px;
	height: 42px;
	display: inline-block;
	vertical-align: bottom;
	margin-right: 20px;
}

.faq-content dd::before {
	content: '';
	background: url(../img/top/icon-a.svg)no-repeat;
	background-size: contain;
	width: 100%;
	height: 42px;
	max-width: 42px;
	display: inline-block;
	margin-right: 20px;
}

@media only screen and (max-width: 1024px) {
	#faq .sec_title span::before {
		width: 50px;
		height: 47px;
	}
}

@media only screen and (max-width: 568px) {
	#faq .sec_title span::before {
		width: 37px;
		height: 35px;
		vertical-align: middle;
	}

	#faq .sec_title span {
		font-size: 29px;
	}

	.faq-content {
		margin-top: 30px;
	}

	.faq-content li {
		margin-bottom: 0;
	}

	.faq-content dt {
		border-radius: 17.5px;
		font-size: 18px;
		position: relative;
	}

	.faq-content dt::before {
		position: absolute;
		left: 15px;
		top: 15px;
		width: 35px;
		height: 35px;
	}

	.faq-content dd::before {
		width: 100%;
		height: 35px;
		max-width: 35px;
	}

	.faq-content dt span {
		display: block;
		margin-left: 50px;
		line-height: 1.3;
	}

	.faq-content ul {
		margin-bottom: 20px;
	}
}


/*-----------------------------
悪徳業者にご注意ください
-----------------------------*/
.caveat {
	margin-bottom: 60px;
	background: #f9f7b3;
	border-radius: 20px;
	padding: 30px;
}

.caveat h3 {
	margin-bottom: 20px;
	font-size: clamp(30px, 2vw, 48px);
}

.caveat h3 .icon::before {
	background: url(../img/top/icon-caveat.svg)no-repeat;
	width: 49px;
	height: 43px;
	vertical-align: middle;
}

.caveat h4 {
	font-size: clamp(24px, 1.4vw, 32px);
	padding: 0 20px;
	width: 65%;
	margin: 0 auto 40px;
}

.caveat .intro {
	gap: 2vw;
	margin-bottom: 0;
}

.caveat .txt {
	width: 60%;
}

.caveat .caveat-point {
	margin-top: 20px;
	padding: 20px;
	gap: 1.5vw;
	border-radius: 10px;
}

.caveat-point-ttl {
	background-image: repeating-linear-gradient(135deg, #f6ff00, #f6ff00 10px, #d6de00 10px, #d6de00 20px);
	padding: 10px 25px;
	border-radius: 10px;
}

.caveat-point-ttl img {
	max-width: 70px;
	display: block;
	margin: 0 auto;
}

.caveat .caveat-point h5 {
	font-size: clamp(16px, 1vw, 24px);
	padding: 5px 0;
	color: #ed1818;
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

.caveat .caveat-point ul {
	display: block;
	width: 69%;
}

.caveat .caveat-point ul li {
	border-bottom: 2px dotted #d8d8d8;
	font-size: clamp(16px, 1.5vw, 24px);
	display: block;
	line-height: 2.4;

}

.countermeasure .txt_green {
	font-size: clamp(16px, 2vw, 24px);
	margin-bottom: 30px;
}

.countermeasure ul {
	margin-top: 40px;
}

.countermeasure ul li {
	background: #f9cec1;
	padding: 15px 0;
	width: 19%;
}

.countermeasure ul li img {
	max-width: 110px;
	margin: 0 auto;
	display: block;
	margin-bottom: 10px;
}

.countermeasure h3 {
	font-size: clamp(30px, 2vw, 40px);
	margin-bottom: 40px;
}

.countermeasure ul li p {
	font-size: clamp(20px, 1.4vw, 28px);
}

.countermeasure .countermeasure-point {
	font-size: clamp(24px, 2.2vw, 40px);
	position: relative;
	width: 50vw;
	margin: 20px auto;
}

.countermeasure .countermeasure-point::before,
.countermeasure .countermeasure-point::after {
	position: absolute;
	width: 30px;
	height: 30px;
	transition: .3s;
	content: '';
}

.countermeasure .countermeasure-point::before {
	top: -20px;
	left: 0px;
	border-top: 10px solid #74b4b9;
	border-left: 10px solid #74b4b9;
}

.countermeasure .countermeasure-point::after {
	bottom: -20px;
	right: 0px;
	border-right: 10px solid #74b4b9;
	border-bottom: 10px solid #74b4b9;
}

@media only screen and (max-width: 1024px) {
	.caveat {
		margin-bottom: 40px;
	}

	.caveat h3 .icon::before {
		background: url(../img/top/icon-caveat.svg)no-repeat;
		width: 45px;
		height: 40px;
		vertical-align: middle;
	}

	.caveat h4 {
		width: 94%;
		margin: 0 auto 30px;
	}

	#difference .intro .txt {
		width: 100%;
	}

	.caveat .caveat-point {
		margin-left: -31.6vw;
	}

	.caveat .caveat-point ul li .icon::before {
		background-size: contain;
		width: 29px;
		height: 28px;
	}

	.caveat .caveat-point ul {
		width: 80%;
	}

	.countermeasure .countermeasure-point {
		font-size: clamp(20px, 2vw, 40px);
		position: relative;
		width: 70%;
		margin: 20px auto;
	}

	.countermeasure ul {
		margin: 40px 0 0px;
	}

	.countermeasure h3 {
		margin-bottom: 30px;
	}
}

@media only screen and (max-width: 960px) {
	.caveat .caveat-point {
		margin-left: -42.6vw;
		margin-top: 70px;
	}

	.countermeasure .txt_green {
		font-size: 22px;
	}
}

@media only screen and (max-width: 568px) {
	.caveat {
		margin: 20px -5.3vw;
		border-radius: 0px;
		padding: 10px 20px;
	}

	.caveat h3 .icon::before {
		width: 55px;
		height: 48px;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.caveat h3 {
		text-align: left;
		position: relative;
		font-size: 24px;
		padding-left: 60px;
		line-height: 1.3;
		letter-spacing: 0;
	}

	.caveat {
		margin-bottom: 20px;
	}

	.caveat h4 {
		margin: 20px 0;
		width: 100%;
		font-size: 20px;
	}

	.caveat .intro {
		display: block;
	}

	.caveat .intro .md_radius {
		width: 100%;
		margin-bottom: 10px;
	}

	.caveat .intro .caveat-point-ttl {
		width: 32%;
		padding: 5px 10px;
		text-align: center;
	}

	.caveat .caveat-point {
		margin: 10px 0;
		padding: 15px;
	}

	.caveat .caveat-point ul li {
		font-size: 16px;
	}

	.countermeasure .top-sub-title {
		font-size: 24px;
		margin-bottom: 10px;
		padding: 0 40px;
		line-height: 1.3;
	}

	.countermeasure .top-sub-title:before,
	.countermeasure .top-sub-title:after {
		width: 30px;
	}

	.countermeasure .txt_green {
		font-size: 20px;
		margin-bottom: 20px;
	}

	.countermeasure ul {
		flex-wrap: wrap;
		gap: 3vw 2vw;
	}

	.countermeasure ul li {
		width: 48%;
	}

	.countermeasure ul li p {
		font-size: 18px;
	}

	.countermeasure ul {
		margin: 20px 0 0;
		justify-content: center;
	}

	.countermeasure ul li img {
		max-width: 70px;
	}


}

/*------------------------------------------------
*民間と自治体の違い
--------------------------------------------------*/



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

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

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


.situation h3 {
	font-size: clamp(32px, 3vw, 48px);
}

.situation ul {
	margin: 60px 0;
	gap: 1vw 1vw;
}

.situation ul li {
	width: 49%;
	border: 4px solid #ff8f8f;
	overflow: hidden;
	border-radius: 30px;
	display: inline-block;
}

.situation ul li p {
	position: relative;
	padding: 20px 20px 20px 80px;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: bold;
}

.situation ul li .icon::before {
	background: url(../img/top/icon-check.svg)no-repeat;
	width: 40px;
	height: 40px;
	position: absolute;
	left: 20px;
	top: 25px;
	font-weight: bold;
}

@media only screen and (max-width: 568px) {
	.situation h3 {
		font-size: 22px;
	}

	.situation ul {
		margin: 20px 0;
	}

	.situation ul li {
		width: 100%;
		border-radius: 15px;
	}

	.situation ul li .icon::before {
		width: 40px;
		height: 40px;
		left: 15px;
	}

	.situation ul li p {
		font-size: 17px;
		padding: 20px 15px 20px 70px;
	}

	.situation ul {
		gap: 4vw;
	}

	.support-arrow {
		background-position: center top;
	}

	.support-arrow h5 {
		font-size: 24px;
		padding: 20px 0;
	}

}





/*------------------------------------------------
*会社概要
--------------------------------------------------*/

#company .sub-title {
	font-size: clamp(24px, 2.5vw, 42px);
	margin-bottom: 30px;
}

.company .row {
	gap: 2vw;
}

.greeting h3 {
	margin-bottom: 40px;
}

.greeting .txt {
	width: 60%;
}

.greeting .txt p {
	padding: 20px;
}

.map-box {
	border: 4px solid #f9cec1;
	border-radius: 30px;
	padding: 50px 40px 40px;
}

h4.map_ttl {
	font-size: clamp(28px, 2vw, 36px);
	max-width: 450px;
	background: #fff;
	margin: 0px auto -25px;
	position: relative;
	z-index: 1;
}

.map-box iframe {
	margin-bottom: 30px;
}

.map-box table {
	width: 100%;
}

.map-box table th {
	background: #f9cec1;
	border: 1px solid #acacac;
	border-collapse: collapse;
	width: 30%;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	padding: 20px 0;
}

.map-box table td {
	border: 1px solid #acacac;
	border-collapse: collapse;
	width: 70%;
	padding: 20px 0 20px 20px;
}

.bnr {
	margin: 40px auto 0;
}

@media only screen and (max-width: 1024px) {
	#company .sec_title .icon::before {
		width: 40px;
		height: 40px;
	}

	.greeting .txt {
		width: 100%;
	}

	.greeting .txt p {
		margin-bottom: 0px;
	}

	h4.map_ttl {
		margin: 0px auto -25px;
		max-width: 38vw;
	}
}

@media only screen and (max-width: 960px) {
	h4.map_ttl {
		max-width: 46vw;
	}
}

@media only screen and (max-width: 568px) {
	#company .sec_title .icon::before {
		width: 30px;
		height: 30px;
		margin-bottom: 5px;
	}

	.company .row {
		gap: 4vw;
	}

	#company .sub-title {
		margin-bottom: 20px;
	}

	h4.map_ttl {
		font-size: 22px;
		max-width: 100%;
		background: none;
		margin: 0 auto 20px;
	}

	.map-box {
		margin: 0 -5.7vw;
		border-radius: 0;
		border-left: none;
		border-right: none;
		padding: 20px;
	}

	.map-box iframe {
		height: 225px;
	}

	.map-box table {
		width: 100%;
		border-collapse: collapse;
		box-sizing: border-box;
		border-bottom: 1px solid #acacac;
	}

	.map-box table th,
	.map-box table td {
		display: block;
		width: 100%;
	}

	.map-box table th {
		padding: 10px 0;
	}

	.map-box table td {
		border-top: none;
		border-bottom: none;
		padding: 10px;
	}

	.bnr {
		margin-bottom: 20px;
	}
}


/*----------------------------------------
*cvエリア
----------------------------------------*/
.cv-area {
	position: relative;
}

.cv-title {
	background: var(--site-tertiary);
}

.cv-title h2 {
	font-size: clamp(22px, 1.9vw, 42px);
	padding: 15px 0 15px 40px;
	text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}

.cv-title h2.center {
	font-size: clamp(22px, 3vw, 48px);
}

.cv-title h2 span {
	background: #fff;
	border: 3px solid var(--site-tertiary-keycolor);
	box-sizing: border-box;
	padding: 0 20px;
	margin-right: 20px;
}


.cv-box {
	background: url(../img/common/cv_bg.jpg)no-repeat;
	background-size: cover;
	gap: 1vw;
	position: relative;
}

.cv-content {
	max-width: 1040px;
	width: 75%;
	padding: 30px 0 30px 40px;
}


.tel-txt dt {
	background: #da6272;
	font-size: clamp(20px, 1.8vw, 32px);
	color: #fff;
	font-weight: bold;
	width: 40%;
}

.tel-txt dd {
	background: var(--site-primary);
	font-size: clamp(20px, 1.8vw, 34px);
	font-weight: bold;
	width: 60%;
}

.cv_tel {
	font-size: clamp(50px, 6.5vw, 126px);
	font-weight: bold;
	line-height: 1;
}

.cv_tel span::before {
	content: '';
	background: url(../img/common/cv_dial.png)no-repeat;
	background-size: contain;
	width: 7vw;
	height: 4vw;
	display: inline-block;
}

.btn-box div {
	gap: 1vw;
	margin-top: 30px;
}

.btn-box .cv_mail {
	width: 48.5%;
}

.btn-box .cv_line {
	width: 48.5%;
}

.cv-staff {
	position: absolute;
	bottom: 0;
	right: 20px;
	width: 16.5vw;
}

.sp_tel {
	display: none;
}

@media only screen and (max-width: 1024px) {
	.cv-content {
		padding: 20px 0 30px 30px;
	}

	.tel-txt dt,
	.tel-txt dd {
		font-size: 18px
	}

	.cv_tel {
		font-size: 68px;
	}

	.cv_tel span::before {
		width: 6.8vw;
		height: 4vw;
	}

	.btn-box div {
		margin-top: 15px
	}

	.cv-staff {
		margin-top: 0;
		width: 17vw;
		right: 0
	}

	.sp_tel {
		display: none;
	}
}

@media only screen and (max-width: 960px) {
	.cv-title h2 {
		text-align: center;
	}

	.cv-content h3 {
		margin-bottom: 10px;
	}

	.cv-content {
		padding: 20px 0 20px 30px;
	}

	.cv-staff {
		margin-top: 0;
		width: 22vw;
	}

	.sp_tel {
		display: none;
	}

	.cv-title h2.center {
		font-size: 32px;
		padding: 10px 0;
	}
}

@media only screen and (max-width: 568px) {
	.cv-title h2.center {
		font-size: 24px;
		line-height: 1.45;
	}

	.cv-title h2 {
		font-size: 22px;
		text-align: left;
		padding: 10px;
		z-index: 1;
		position: relative;
		min-height: auto;
		text-align: center;
		margin-left: -70px;
	}

	.cv-title h2 span {
		font-size: 17px;
		padding: 5px 10px;
		display: inline-block;
		text-shadow: none;
	}

	.cv-box {
		position: static;
	}

	.cv-staff {
		position: absolute;
		top: 18px;
		right: 10px;
		max-width: 80px;
		width: 38.5vw;
		z-index: 0;
		height: fit-content;
	}

	.cv-content {
		padding: 12px 0 20px;
		max-width: 94%;
		margin: 0 auto;
		width: 100%;
	}



	.cv-content .tel-txt {
		display: none;
	}

	.cv_tel {
		display: none;
	}

	.cv_tel span::before {
		width: 45px;
		height: 30px;
		vertical-align: middle;
		margin-right: 10px;
	}

	.btn-box div {
		margin-top: 10px;
		gap: 10px;
		display: flex;
		flex-direction: row;
	}

	.sp_tel {
		width: 48.5%;
		display: inline-block;
	}

	.mens {
		top: 4vw;
	}

	.area-cta {
		margin-top: 20px;
	}

	.area-cta .cv-staff {
		top: -8px;
	}
}

.lg_inner_space {
	padding-bottom: 0;
}

.btn_border a {
	margin-left: 0;
}

/*------------------------------------------------
* 自治体コンテンツ（タブ）
--------------------------------------------------*/
.area-title {
	font-size: clamp(32px, 2.3vw, 48px);
	text-align: center;
	margin-bottom: 40px;
	position: relative;
	z-index: 2;
}

.area-title span {
	z-index: 1;
	position: relative;
	padding: 0 20px;
	display: inline-block;
}

.area-title::before {
	content: "";
	width: 100%;
	height: 10px;
	background: #28979f;
	background-size: 5px 5px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
}

.area-pattern {
	margin-top: 50px;
}

.area-pattern table {
	width: 100%;
	margin-bottom: 30px;
	border: 1px solid #ccc;
	border-bottom: none;
}

.area-pattern table:last-child {
	margin-bottom: 0;
}

.area-pattern table th {
	background: #e3ecec;
	font-weight: bold;
	width: 30%;
	max-width: 450px;
	border-bottom: 1px solid #ccc;
	padding: 20px 4%;
}

.area-pattern table td {
	background: #fff;
	border-bottom: 1px solid #ccc;
	padding: 20px 4%;
}

.area-pattern table td a {
	text-decoration: underline;
	color: #64b4ba;
}

.area-pattern table td a:hover {
	text-decoration: none;
}

@media only screen and (max-width: 568px) {
	.area-title {
		font-size: 24px;
		text-align: center;
		margin-bottom: 40px;
		position: relative;
		z-index: 2;
	}

	.area-pattern {
		margin-top: 30px;
	}

	.area-pattern table th {
		width: 27%;
	}

	.area-pattern table td {
		word-break: break-all;
		padding: 10px 4%;
		font-size: 14px;
	}

	.area-pattern table th {
		padding: 10px 4%;
		font-size: 14px;
	}
}

.tabs {
	margin: 0 auto;
}

.tab-list {
	display: flex;
	gap: 0 7px;
}

.tab-item {
	border-radius: 5px 5px 0 0;
	background-color: #fff;
	border: solid 1px var(--site-main-color);
	border-bottom: none;
	padding: 0.5em 1em;
	cursor: pointer;
}

.tab-content {
	background-color: #f5f5f5;
}

.tab-panel {
	display: none;
}

.tab-item.active {
	background-color: var(--site-main-color);
	color: #fff;
	font-weight: bold;
}

.tab-panel.active {
	display: block;
}

@media only screen and (max-width: 568px) {
	.tab-item {
		display: flex;
		align-items: center;
		padding: 0.5em;
	}

	.tab-list {
		gap: 0 4px;
	}
}

/*-------------------------------
亡くなった後の手続き
---------------------------------*/
.procedure table {
	width: 100%;
	margin: 40px 0 10px;
}

.procedure thead th.none {
	border: none;
}

.procedure thead th {
	border: 1px solid #ccc;
	text-align: center;
	padding: 15px 10px;
	font-size: 20px;
	font-weight: bold;
}

.procedure thead .government {
	background: #d4eaec;
}

.procedure thead .registration {
	background: #f8e0e3;
}

.procedure tbody th {
	background: #fffce0;
	border: 1px solid #ccc;
	width: 20%;
	text-align: center;
	padding: 15px 0;
	font-size: 20px;
	font-weight: bold;
}

.procedure tbody td {
	border: 1px solid #ccc;
	width: 40%;
	padding: 20px;
}

.procedure table td a {
	color: #28979f;
	position: relative;
	padding-right: 20px;
}

.procedure table td a:hover {
	border-bottom: 1px solid #28979f;
}

.procedure table td a::after {
	content: '';
	background: url(../img/common/icon-link.svg)no-repeat;
	background-size: contain;
	width: 16px;
	height: 16px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.procedure table .type td {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.tel_app {
	font-size: 22px;
	font-weight: bold;
	margin-left: 15px;
	line-height: 1;
}

.procedure tbody td .tel_app a {
	color: #333;
}

.procedure tbody td .tel_app a::after {
	content: none;
}

.institution {
	margin: 60px 0;
}

.procedure tbody td {
	vertical-align: baseline;
}

.institution .annotation_txt {
	font-size: 14px;
	color: #979797;
	font-weight: normal;
	margin-top: 20px;
}

.revocation {
	margin-top: 40px;
}

.revocation-content {
	display: grid;
	grid-template-columns: 48% 48%;
	grid-template-rows: auto auto;
	gap: 10px 2vw;
	margin-top: 40px;

}

.revocation-content h4 {
	grid-column: 2;
	grid-row: 1;
	margin-top: auto;
	font-size: clamp(22px, 1.5vw, 32px);
}

.revocation-img {
	grid-column: 1;
	grid-row: 1/3;
}

.revocation-content .txt {
	grid-column: 2;
	grid-row: 2;
}

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

	.procedure thead th,
	.procedure tbody th {
		font-size: 18px;
	}
}

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

	.procedure thead th,
	.procedure tbody th {
		font-size: 16px;
	}

	.procedure thead th {
		padding: 10px 5px;
	}

	.procedure tbody th {
		width: 30%;
		padding: 10px 0;
	}

	.procedure tbody td {
		padding: 10px;
		font-size: 14px;
		padding: 10px 5px;
	}

	.procedure table td a::after {
		top: auto;
		bottom: 0;
		transform: translateY(0)
	}

	.tel_app {
		margin-left: 0;
		font-size: 14px;
		letter-spacing: 0
	}

	.procedure tbody td .tel_app a {
		font-size: 15px;
	}

	.institution {
		margin: 30px 0;
	}

	.procedure table {
		margin-top: 20px;
	}

	.revocation {
		margin-top: 20px;
	}

	.revocation-content {
		display: block;
		margin-top: 20px;
	}

	.revocation-content h4 {
		text-align: center;
		font-size: 20px;
	}

	.revocation-img {
		width: 50%;
		float: left;
		margin: 20px 10px 10px 0;
	}

	.revocation-content .txt {
		margin-top: 20px;
	}
}



.breadcrumbs.area_bread {
	margin: 70px 0 30px;
}

@media only screen and (max-width: 1024px) {
	.breadcrumbs.area_bread {
		margin: 50px 0 20px;
	}
}

@media only screen and (max-width: 960px) {
	.breadcrumbs.area_bread {
		margin: 10px 0 10px;
	}
}