@charset "utf-8";
/* CSS Document */
:root {
	--accent: #3967a3;
	--l-accent: #d6e2f1;
}
.fv-catch {
	background: var(--accent);
}
.sec-title span {
	color: var(--accent);
}
.cate {
	padding: 60px 0;
}
.cate-txt {
	font-size: 16px;
	line-height: 1.8;
}
#reason,
#calculation,
#flow,
#related {
	background-color: var(--bg-gray);
}
#faq {
	background-color: #fff;
}

/*=========================
FV直下CTA
=========================*/
.top-cta {
	max-width: 1160px;
	margin: 0 auto;
	padding: 40px 20px 0;
}
.top-cta .inner {
	border-radius: 4px;
	background-color: var(--bg-light);
	border: 1px solid #ddd;
	text-align: center;
	padding: 20px;
}
.top-cta-title {
	font-size: 24px;
	line-height: 1.5;
	letter-spacing: 0.5px;
	margin-bottom: 20px;
}
.top-cta-txt {
	margin-top: 20px;
	font-size: 16px;
	line-height: 1.8;
}
.top-cta-flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px;
}
.top-cta-flexbox > div {
	width: calc(50% - 20px);
}
.top-cta-tel-txt,
.top-cta-price-txt {
	margin: 0 auto 15px;
	display: inline-block;
	padding: 6px 20px;
	background-color: var(--l-accent);
	color: var(--accent);
	font-size: 16px;
	font-weight: 700;
	border-radius: 30px;
}
.top-cta-tel-btn {
	background-color: var(--accent);
	color: #fff;
	border-radius: 4px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 1px;
	text-decoration: none;
}
.top-cta-price-btn {
	background-color: #fff;
	color: var(--accent);
	border: 2px solid var(--accent);
	border-radius: 4px;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}
.top-cta-tel-time {
	margin-top: 10px;
	font-size: 14px;
	color: #555;
}
.top-cta-tel-btn,
.top-cta-price-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 58px;
	box-sizing: border-box;
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.top-cta-tel-btn::after,
.top-cta-price-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 20px;
	height: 20px;
	margin: auto;
	clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	transform: translateY(-50%);
	transition: transform .25s ease;
}
.top-cta-tel-btn::after {
	background-color: #fff;
}
.top-cta-price-btn::after {
	background-color: var(--accent);
}
.top-cta-tel-btn:hover,
.top-cta-price-btn:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 12px rgba(0, 0, 0, .15);
}
.top-cta-tel-btn:hover::after,
.top-cta-price-btn:hover::after {
	transform: translate(5px, -50%);
}
.top-cta-tel-btn:hover {
	background-color: #2d5487;
}
.top-cta-price-btn:hover {
	background-color: var(--l-accent);
}

/*=========================
こんなお悩みありませんか？
=========================*/
#concerns {
	margin-top:40px;
	background-color: #f5f5f5;
}
.concerns-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
.concerns-card {
	width: calc((100% - 60px) / 3);
	padding: 24px 20px;
	border-radius: 4px;
	background-color: #fff;
	transition: .3s;
}
.concerns-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.concerns-icon {
	max-width: 120px;
	margin: 0 auto 15px;
}
.concerns-title {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #555;
	letter-spacing: 0.5px;
}

/*=========================
ご遺体搬送とは
=========================*/
#about .cate-txt {
	text-align: center;
}
.about-box {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #ddd;
}
.about-txt-box {
	flex: 1;
	padding: 40px;
}
.about-box:nth-of-type(2) .about-txt-box {
	order: 2;
}
.about-title {
	font-size: 22px;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 10px;
	margin-bottom: 15px;
}
.about-txt {
	font-size: 16px;
	line-height: 1.8;
	color: #555;
}
.about-img {
	width: 500px;
	flex-shrink: 0;
}
.about-box:nth-of-type(2) .about-img {
	order: 1;
}
.about-img img {
	max-width: 100%;
	height: auto;
	font-variant: bottom;
}

/*=========================
選ばれる理由
=========================*/
.reason-box-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}
.reason-box-card {
	display: flex;
	align-items: center;
	gap:20px;
	padding: 30px;
	border-radius: 4px;
	border: 1px solid #ddd;
	background-color: #fff;
}
.reason-icons {
	max-width: 100px;
	width: 100%;
}
.reason-txt-box {
	width: calc(100% - 120px);
}
.reason-title {
	padding-bottom: 10px;
	border-bottom: 2px solid var(--accent);
}
.reason-txt {
	font-size: 15px;
	color: #555;
	line-height: 1.8;
}

/*=========================
料金について
=========================*/
#price .cate-txt {
	text-align: center;
}
.price-main-box {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px;
}
.price-main-txt-box {
	width: calc(60% - 20px);
	padding: 20px;
	border-radius: 4px;
	background-color: var(--l-accent);
}
.price-main-box-txt {
	text-align: center;
	color: var(--accent);
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 1px;
	line-height: 1.2;
}
.price-main-box-txt2 {
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 1px solid #fff;
}
.price-red {
	font-size: 2em;
	padding: 0 3px;
	color: #d9534f;
}
.price-main-box-sub-txt {
	margin-top: 10px;
	padding: 15px 15px 15px 35px;
	border-radius: 4px;
	background: #fff;
	color: #555;
	font-size: 15px;
	line-height: 1.7;
	position: relative;
}
.price-main-box-sub-txt::before {
	content: "※";
	position: absolute;
	top: 15px;
	left: 15px;
}
.price-main-img {
	width: 40%;
	border-radius: 4px;
	overflow: hidden;
}
#price .cate-box {
	margin-top: 40px;
	padding: 24px 20px;
	border-radius: 4px;
	border: 1px solid #ddd;
	background-color: #fff;
}
#price .cate-box h3 {
	font-size: 22px;
	font-weight: bold;
	color: var(--main-color);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--accent);
}
.fluctuation-list {
	margin-top: 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.fluctuation-card {
	padding: 20px;
	border-radius: 4px;
	border: 1px solid #ddd;
	background-color: #fff;
}
.fluctuation-title {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	color: var(--main-color);
	text-align: center;
}
.price-icon {
	max-width: 120px;
	width: 100%;
	margin: 20px auto;
}
.fluctuation-txt {
	font-size: 15px;
	line-height: 1.7;
	color: #555;
}
#price .box-txt {
	margin-top: 20px;
	line-height: 1.8;
}
.price-option-list {
	margin-top: 20px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:20px;
}
.price-option-card {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px;
	border-radius: 4px;
	border: 1px solid #ddd;
	background-color: #fff;
}
.price-option-icon {
	width: 90px;
}
.price-option-txt-box {
	width: calc(100% - 110px);
}
.price-option-title {
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
}
.price-option-txt {
	font-weight: bold;
}
.box-caution-list {
	margin-top: 10px;
}
.box-caution-list li {
	font-size: 14px;
	line-height: 1.7;
	color: #555;
	padding-left: 16px;
	position: relative;
}
.box-caution-list li:first-child {
	padding-bottom: 5px;
}
.box-caution-list li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
#price .flexbox {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px;
}
.price-pay-box {
	width: calc(50% - 20px);
	padding: 20px;
	border-radius: 4px;
	border: 1px solid #ddd;
}
.price-pay-title {
	font-size: 20px;
	font-weight: bold;
	color: var(--main-color);
	text-align: center;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--accent);
	margin-bottom: 15px;
}
.price-pay-txt {
	font-size: 16px;
	line-height: 1.8;
}

/*=========================
概算お見積もりシミュレーション
=========================*/
#calculation .cate-txt {
	text-align: center;
}
/* 全体
--------------------------------- */
.rough-estimate-form {
	margin-top:40px;
	padding:40px;
	border:2px solid var(--accent);
	border-radius:8px;
	background:#fff;
}
.rough-estimate-form form {
	width:100%;
}
/* 入力・結果共通
--------------------------------- */
.r-est-input-form {
	width:100%;
}
.r-est-hidden-select {
	display:none;
}
/* table reset
--------------------------------- */
.r-est-if-parent,
.r-est-rf-parent {
	width:100%;
	border-collapse:collapse;
}
/* 入力フォーム
--------------------------------- */
.r-est-if-parent tr {
	border-bottom: 1px dashed #ddd;
}
.r-est-if-parent th {
	width:260px;
	padding:20px;
	text-align:left;
	font-weight:bold;
	vertical-align:middle;
}
.r-est-if-parent td {
	padding:20px;
	background:#fff;
}
.r-est-if-title p {
	margin:0;
	font-size:16px;
	color: var(--main-color);
}
/* input select
--------------------------------- */
.r-est-if-form input,
.r-est-if-form select {
	width:100%;
	height:48px;
	padding:0 15px;
	border:1px solid #ddd;
	border-radius:6px;
	background:#fff;
	font-size:16px;
	box-sizing:border-box;
}
.r-est-if-form select {
	cursor:pointer;
}
/* 高速料金リンク */
.r-est-if-title a {
	margin-left:10px;
	color:var(--accent);
	font-size:14px;
	text-decoration:underline;
}
/* 日時選択
--------------------------------- */
.r-est-datetime {
	display:flex;
	gap:15px;
}
.r-est-date-picker,
.r-est-time-picker {
	position:relative;
	flex:1;
}
.r-est-datetime input {
	width:100%;
	height:50px;
	padding-left:45px;
	border:1px solid #ddd;
	border-radius:8px;
	font-size:16px;
	background:#fff;
	cursor:pointer;
	box-sizing:border-box;
}
.r-est-icon {
	position:absolute;
	left:15px;
	top:50%;
	transform:translateY(-50%);
	font-size:20px;
	z-index:2;
}
/* ボタン
--------------------------------- */
.button-box {
	margin-top:30px;
	text-align:center;
}
.r-est-if-button button {
	width:320px;
	height:60px;
	border:none;
	border-radius:30px;
	background:var(--accent);
	color:#fff;
	font-size:18px;
	font-weight:bold;
	cursor:pointer;
}
.r-est-if-button button:hover {
	opacity:.85;
}
/* エラー
--------------------------------- */
#r-est-if-error {
	margin-top:15px;
	text-align:center;
	font-size:18px;
	font-weight:bold;
	color:red;
}
/* =================================
   見積結果
================================= */
/* 初期非表示 */
#in_form2 {
	display:none;
	margin-top:40px;
}
/* 概算合計金額 */
.r-est-total-box {
	padding:35px 20px;
	margin-bottom:30px;
	background:#f1fbfd;
	border:2px solid var(--accent);
	border-radius:12px;
	text-align:center;
}
.r-est-total-title {
	margin:0 0 15px;
	font-size:22px;
	font-weight:bold;
}
.r-est-total-price {
	margin:0;
	font-size:48px;
	font-weight:bold;
	color:var(--accent);
	line-height:1.2;
}
/* 内訳テーブル */
.r-est-rf-parent {
	width:100%;
	border-collapse:collapse;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 5px 20px rgba(0,0,0,.08);
}
.r-est-rf-parent th {
	width:40%;
	padding:18px;
	background:#f7f7f7;
	text-align:left;
	font-weight:bold;
	border-bottom:1px solid #eee;
}
.r-est-rf-parent td {
	padding:18px;
	text-align:right;
	border-bottom:1px solid #eee;
	background:#fff;
}
.r-est-rf-parent p {
	margin:0;
	font-size:18px;
	font-weight:bold;
}
/* 最後の行 */
.r-est-rf-parent tr:last-child th,
.r-est-rf-parent tr:last-child td {
	border-bottom:none;
}
#calculation .box-caution-list {
	margin-top: 20px;
	padding: 20px;
	border-radius: 4px;
	background: #f5f5f5;
	border: 1px solid #ddd;
}
#calculation .box-caution-list li {
	padding: 10px 0 10px 20px;
	border-bottom: 1px dashed #ddd;
}
#calculation .box-caution-list li:first-child {
	padding-top: 0;
}
#calculation .box-caution-list li::before {
	top: 10px;
}
#calculation .box-caution-list li:first-child::before {
	top: 0;
}

/*=========================
ご遺体搬送の4つのケース
=========================*/
#cases .cate-txt {
	text-align: center;
}
.cases-list {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}
.case-card {
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.case-title {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: var(--main-color);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--accent);
}
.case-flow {
	margin-top: 15px;
	display: flex;
	justify-content: center;
	gap: 0 20px;
}
.case-flow li {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 4px;
	border: 1px solid var(--accent);
	font-size: 13px;
	color: var(--accent);
	font-weight: bold;
	position: relative;
}
.case-flow li::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -17px;
	margin: auto;
	background-color: var(--accent);
	width: 15px;
	height: 15px;
	clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	transform: translateY(-50%);
	transition: transform .25s ease;
}
.case-flow li:last-child::before {
	background-color: transparent;
}
.case-img {
	margin: 15px auto 0;
	width: 100%;
	border-radius: 4px;
	overflow: hidden;
}
.case-img img {
	width: 100%;
}
.case-txt {
	margin-top: 15px;
	line-height: 1.8;
}
.case-want {
	margin-top: 15px;
	padding: 15px;
	border-radius: 4px;
	background: var(--l-accent);
}
.case-want dt {
	font-size: 15px;
	font-weight: bold;
	color: var(--accent);
}
.case-want dd ul li {
	padding: 5px 0 5px 20px;
	position: relative;
	font-size: 14px;
	color: #555;
	border-bottom: 1px dashed #ddd;
}
.case-want dd ul li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.case-want dd ul li::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: var(--accent);
	position: absolute;
	top: 14px;
	left: 5px;
}


/*=========================
ご利用の流れ
=========================*/
.flow-list {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 20px;
}
.flow-card {
	border-radius: 4px;
	border: 1px solid #ddd;
	background-color: #fff;
	padding: 20px;
	text-align: center;
	position: relative;
}
.flow-card::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -20px;
	width: 20px;
	height: 1px;
	background: #ddd;
	transform: translateY(-50%);
}
.flow-card:last-child::after {
	background: transparent;
}
.flow-card .step-txt {
	display: inline-block;
	padding: 3px 10px;
	background-color: var(--accent);
	border-radius: 999px;
	font-weight: bold;
	font-size: 13px;
	color: #fff;
	letter-spacing: 1px;
	margin-bottom: 8px;
}
.flow-card .flow-title {
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.flow-card .flow-icon {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: var(--bg-light);
	margin: 0 auto 10px;
	line-height: 90px;
}
.flow-card .flow-icon img {
	width: 80px;
}
.flow-card:nth-child(-n+3) .flow-icon {
	line-height: 85px;
}
.flow-card:nth-child(-n+3) .flow-icon img {
	width: 70px;
}
.flow-card .flow-txt {
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.5px;
	color: #555;
}

/*=========================
搬送時に確認しておきたいこと
=========================*/
#points .cate-txt {
	text-align: center;
}
.point-list {
	max-width: 1000px;
	width: 100%;
	margin: 40px auto 0;
	padding: 30px 60px;
	border-radius: 4px;
	border: 1px solid #ddd;
}
.point-card {
	padding: 30px 0;
	border-bottom: 1px solid #ddd;
}
.point-card:first-of-type {
	padding-top: 0;
}
.point-card:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}
.point-title {
	font-size: 22px;
	letter-spacing: 1px;
	font-weight: bold;
	color: var(--main-color);
	padding-left: 32px;
	position: relative;
}
.point-title::before {
	content: "✓";
	font-weight: bold;
	font-size: 26px;
	color: var(--accent);
	position: absolute;
	top: -3px;
	left: 0;
}
.point-txt {
	margin-top: 10px;
	line-height: 1.8;
	padding-left: 32px;
	color: #555;
}

/*=========================
関連サービス
=========================*/
#related .cate-txt {
	text-align: center;
}
.related-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 40px;
}
.related-card {
	background: #fff;
	padding: 15px;
	border-radius: 4px;
}
.related-img {
	overflow: hidden;
	border-radius: 4px;
}
.related-title {
	margin-top: 15px;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 10px;
	color: var(--main-color);
}
.related-txt {
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.7;
	color: #555;
}
.more-btn {
	margin-top: 20px;
	text-align: center;
}
.more-btn a {
	display: block;
	padding: 10px 15px;
	border-radius: 4px;
	border: 2px solid var(--accent);
	font-weight: bold;
	color: var(--accent);
	position: relative;
	transition: .25s ease;
}
.more-btn a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	margin: auto;
	background-color: var(--accent);
	width: 15px;
	height: 15px;
	clip-path: polygon(40% 0, 90% 50%, 40% 100%, 30% 90%, 70% 50%, 30% 10%);
	transform: translateY(-50%);
	transition: transform .25s ease;
}
.more-btn a:hover::before {
	transform: translate(4px, -50%);
}


/*=========================
よくある質問
=========================*/
.faq-icon::before,
.faq-icon::after {
	background-color: var(--accent);
}
.faq-item summary::before {
	color: var(--accent);
}

/*=========================
CTA
=========================*/
.cta {
	padding: 40px 0 0 0;
}
#faq + .cta {
	padding-top: 0;
	padding-bottom: 60px;
}

/* =====================================
SP
===================================== */
@media screen and (max-width:768px){
	ul.breadcrumb {
		width: 100%;
	}
	.sec-title {
		font-size: 24px;
	}
	.top-cta-title {
		font-size: 20px;
	}
	.top-cta-txt {
		font-size: 15px;
		text-align: left;
	}
	.top-cta-flexbox {
		gap: 25px;
	}
	.top-cta-flexbox > div {
		width: 100%;
	}
	.top-cta-tel-btn {
		font-size: 22px;
	}
	.concerns-list {
		justify-content: flex-start;
		gap: 20px;
	}
	.concerns-card {
		width: calc(50% - 10px);
	}
	.concerns-title {
		font-size: 14px;
		letter-spacing: 0;
	}
	#about .cate-txt {
		text-align: left;
	}
	.about-txt-box {
		padding: 20px 20px 0 20px;
	}
	.about-box:nth-of-type(2) .about-txt-box {
		order: 1;
	}
	.about-img {
		width: 100%;
		padding: 20px;
	}
	.about-box:nth-of-type(2) .about-img {
		order: 2;
	}
	.reason-box-list {
		grid-template-columns: 1fr;
	}
	.reason-box-card {
		display: block;
	}
	.reason-icons {
		max-width: 120px;
		margin: 0 auto;
	}
	.reason-txt-box {
		margin-top: 20px;
		width: 100%;
	}
	.reason-title {
		text-align: center;
	}
	#price .cate-txt {
		text-align: left;
	}
	.price-main-txt-box {
		width: 100%;
	}
	.price-main-img {
		width: 100%
	}
	.fluctuation-list,
	.price-option-list {
		grid-template-columns: 1fr;
	}
	#price .flexbox {
		gap: 20px;
	}
	.price-pay-box {
		width: 100%;
	}
	#calculation .cate-txt {
		text-align: left;
	}
	.rough-estimate-form {
		margin:30px 15px;
		padding:25px 15px;
	}
	/* table縦化 */
	.r-est-if-parent th,
	.r-est-if-parent td,
	.r-est-rf-parent th,
	.r-est-rf-parent td {
		display:block;
		width:100%;
		box-sizing:border-box;
	}
	.r-est-if-parent th {
		padding:18px 0 8px;
		background:#fff;
	}
	.r-est-if-parent td {
		padding:0 0 15px;
	}
	.r-est-if-title p {
		font-size:15px;
	}
	.r-est-if-form input,
	.r-est-if-form select {
		height:48px;
		font-size:15px;
	}
	/* 日時 */
	.r-est-datetime {
		display:block;
	}
	.r-est-date-picker,
	.r-est-time-picker {
		margin-bottom:10px;
	}
	/* ボタン */
	.r-est-if-button button {
		width:100%;
		height:58px;
		font-size:17px;
	}
	/* 結果 */
	.r-est-rf-parent {
		border-radius:10px;
	}
	.r-est-rf-parent th {
		padding:12px 15px 5px;
	}
	.r-est-rf-parent td {
		padding:10px 15px 15px;
	}
	.r-est-rf-title {
		font-size:14px;
	}
	.r-est-rf-value p {
		font-size:15px;
	}
	/* 合計 */
	.total-price th {
		text-align:center;
		padding:15px;
	}
	.total-price td {
		text-align:center;
		padding:20px 15px;
	}
	.r-est-rf-total-value p {
		font-size:32px;
	}
	.r-est-total-box {
		padding:25px 15px;
	}
	.r-est-total-title {
		font-size:18px;
	}
	.r-est-total-price {
		font-size:36px;
	}
	.r-est-rf-parent th,
	.r-est-rf-parent td {
		display:block;
		width:100%;
		box-sizing:border-box;
	}
	.r-est-rf-parent th {
		padding:12px 15px 5px;
	}
	.r-est-rf-parent td {
		padding:8px 15px 15px;
		text-align:right;
	}
	.r-est-rf-parent p {
		font-size:16px;
	}
	#cases .cate-txt {
		text-align: left;
	}
	.cases-list {
		grid-template-columns: 1fr;
	}
	.case-flow li {
		display: flex;
		align-items: center;
		line-height: 1.2;
	}
	.case-card:nth-of-type(3) .case-flow {
		flex-wrap: wrap;
	}
	.case-card:nth-of-type(3) .case-flow li:nth-child(4),
	.case-card:nth-of-type(3) .case-flow li:nth-child(5) {
		margin-top: 10px;
	}
	.flow-list {
		grid-template-columns: 1fr;
	}
	#flow .flow-card:not(:last-child)::after {
		right: 50%;
		top: auto;
		bottom: -20px;
		width: 1px;
		height: 20px;
		transform: translateY(0);
	}
	#points .cate-txt {
		text-align: left;
	}
	.point-list {
		margin-top: 30px;
		padding: 25px 20px;
	}
	.point-card {
		padding: 25px 0;
	}
	.point-card:first-of-type {
		padding-top: 0;
	}
	.point-card:last-of-type {
		padding-bottom: 0;
	}
	.point-title {
		font-size: 18px;
		line-height: 1.6;
		letter-spacing: 0;
		padding-left: 27px;
	}
	.point-title::before {
		font-size: 22px;
		top: -1px;
	}
	.point-txt {
		margin-top: 8px;
		padding-left: 27px;
		font-size: 14px;
		line-height: 1.8;
	}
	#related .cate-txt {
		text-align: left;
	}
	.related-list {
		grid-template-columns: 1fr;
	}
	.related-img {
		aspect-ratio: 16 / 9;
		overflow:hidden;
	}
	.related-img img {
		width:100%;
		height:100%;
		object-fit:cover;
	}
}

/* 小型スマホ
--------------------------------- */
@media screen and (max-width:480px){
	.rough-estimate-form {
		margin:25px 10px;
		padding:20px 12px;
	}
	.r-est-rf-total-value p {
		font-size:28px;
	}
}