/*
 * 納骨先検討サポート専用CSS(page-templates/template-noukotsu.php = /noukotsu/)
 * 値は旧サイト https://family-hall.com/noukotsu/ の computed style を PC1440 / SP390 で実測したもの。
 * 見出し・式場カード・FAQ・プランカード・お急ぎの箱・末尾 CTA は site.css / home.css を共用する。
 */

.ns-nou {
	overflow-x: clip;
}

/* ------------------------------------------------------------------
 * サービスの説明
 * ------------------------------------------------------------------ */

.ns-nou__hero {
	padding: 40px 0 60px;
}

.ns-nou__catch {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto 30px;
	padding: 10px 25px;
	background: #f6f6ff;
	border: 1px dashed var(--fh-navy);
	border-radius: 5px;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

/* 旧サイトのマーカー(黄色の下敷き)。装飾ではなく本文の強調なのでそのまま再現する */
.ns-nou__marker {
	padding: 0 4px 2px;
	background-image: linear-gradient(transparent 48%, #fff2a7 48%);
}

.ns-nou__marker--big,
.ns-nou__marker--red {
	color: #e62626;
	font-weight: 700;
}

.ns-nou__marker--big {
	font-size: 35px;
}

.ns-nou__about {
	display: flex;
	justify-content: space-between;
	gap: 35px;
}

.ns-nou__aboutimg {
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
}

.ns-nou__aboutimg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ns-nou__aboutbox {
	position: relative;
	flex: 0 0 700px;
	max-width: 700px;
	margin-top: 30px;
	padding: 50px 20px 40px;
	background: #ffffff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.ns-nou__abouttit {
	position: absolute;
	top: -25px;
	left: 20px;
	padding: 10px 25px;
	background: var(--fh-navy);
	border-radius: 5px;
	color: #ffffff;
	font-family: var(--fh-sans);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
}

.ns-nou__abouttxt {
	line-height: 1.7;
}

/* ------------------------------------------------------------------
 * 3 つの特徴
 * ------------------------------------------------------------------ */

.ns-nou__features {
	padding: 60px 0;
	background: url(../../img/common/bg01.png);
}

.ns-nou__features .ns-tit2 {
	margin-bottom: 20px;
	line-height: 1.2;
}

.ns-nou .ns-nou__list {
	display: flex;
	gap: 30px;
	margin-top: 30px;
}

.ns-nou__item {
	position: relative;
	width: calc((100% - 60px) / 3);
	padding: 30px;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.ns-nou__clip {
	position: absolute;
	top: -5px;
	left: -5px;
	padding: 15px 10px;
	background: var(--fh-navy);
	border-radius: 0 0 20px 20px;
	color: #ffffff;
	font-family: var(--fh-num);
	font-size: 18px;
	line-height: 1.2;
	text-align: center;
}

.ns-nou__clip span {
	display: block;
	font-size: 38px;
	line-height: 1.2;
}

.ns-nou__itembody {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ns-nou__itembody img {
	width: 50%;
	height: auto;
	margin-inline: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 300px;
}

.ns-nou__itemtit {
	color: var(--fh-navy);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}

.ns-nou__itemtxt {
	line-height: 1.7;
}

/* ------------------------------------------------------------------
 * ご利用条件
 * ------------------------------------------------------------------ */

.ns-nou__terms {
	padding: 60px 0 40px;
	text-align: center;
}

.ns-nou__terms .ns-tit {
	display: inline-block;
	position: relative;
}

/* 見出しの両脇の細い罫線(旧サイトの擬似要素を実要素で) */
.ns-nou__rule {
	position: absolute;
	top: 50%;
	left: -140px;
	width: 120px;
	height: 1px;
	background: #d2d2cb;
}

.ns-nou__rule--r {
	right: -140px;
	left: auto;
}

.ns-nou__termsbox {
	max-width: 1034px;
	margin: 0 auto 20px;
	padding: 50px 30px;
	background: rgba(247, 247, 240, 0.5);
	font-weight: 600;
	line-height: 1.7;
	text-align: center;
}

.ns-nou__termsbox p {
	font-size: 17px;
	line-height: 1.7;
}

.ns-nou__big {
	font-size: 27px;
	line-height: 1.7;
}

/* 旧の利用条件の「無料」は PC 30px/51px・SP 20px/34px(本文の 27px/18px より大きい) */
.ns-nou__termsbox .ns-nou__marker--red {
	font-size: 30px;
}

/* ------------------------------------------------------------------
 * 新たな納骨先の提案
 * ------------------------------------------------------------------ */

.ns-nou__suggest {
	padding: 60px 0;
	background: #f6f6ff;
}

.ns-nou__frame {
	display: inline-block;
	margin: 0 5px;
	padding: 5px 10px;
	background: #fcfcff;
	border: 1px solid var(--fh-navy);
	color: var(--fh-navy);
}

.ns-nou__lead {
	margin-bottom: 30px;
	font-weight: 600;
	line-height: 1.7;
	text-align: center;
}

.ns-nou__bnrwrap {
	max-width: 95%;
	margin-inline: auto;
	padding: 0 40px;
}

.ns-nou__kaiyou {
	margin-bottom: 20px;
}

.ns-nou__kaiyou img {
	width: 100%;
	height: auto;
}

.ns-nou .ns-nou__plans {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.ns-nou__plan {
	position: relative;
	width: calc((100% - 20px) / 2);
	padding: 20px;
	background: #ffffff;
	border: 1px solid #d5d5d5;
	border-top: 5px solid var(--fh-navy);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.04);
}

.ns-nou__plantit {
	display: flex;
	align-items: center;
	color: var(--fh-navy);
	font-family: var(--fh-sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.44px;
}

.ns-nou__small {
	font-size: 16px;
}

.ns-nou__square {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	background: var(--fh-navy);
	border-radius: 5px;
}

.ns-nou__planprice {
	display: flex;
	align-items: center;
	padding-top: 8px;
}

.ns-nou__planlabel {
	flex: 0 0 auto;
	padding: 0 10px;
	background: var(--fh-red);
	border-radius: 5px;
	color: #ffffff;
	font-size: 20px;
	line-height: 1.7;
}

.ns-nou__planmember {
	color: var(--fh-red);
	font-size: 57.6px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1px;
}

.ns-nou__planmember .ns-nou__num {
	margin-left: 5px;
	font-size: 57.6px;
}

.ns-nou__num {
	font-family: var(--fh-num);
	font-weight: 600;
}

.ns-nou__yen {
	font-family: var(--fh-sans);
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
}

.ns-nou__plangeneral {
	font-size: 18px;
	line-height: 1;
}

.ns-nou__plangeneral .ns-nou__num {
	margin-left: 5px;
	font-size: 18px;
	font-weight: 400;
}

.ns-nou__plangeneral .ns-nou__yen {
	font-size: 18px;
	font-weight: 400;
}

.ns-nou__plandesc {
	margin-top: 20px;
	padding: 5px;
	background: #eff4fb;
	line-height: 1.7;
}

.ns-nou__footnote {
	margin: 20px 0;
	line-height: 1.7;
	text-align: right;
}

.ns-nou__comment {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}

/* ------------------------------------------------------------------
 * よくある質問・式場一覧
 * ------------------------------------------------------------------ */

.ns-nou__cta {
	padding: 60px 0 0;
}

.ns-nou__faq {
	display: flow-root;
	padding: 60px 0 0;
}

.ns-nou__halls {
	position: relative;
	padding: 80px 0 60px;
}

.ns-nou__frametxt {
	position: absolute;
	top: 30px;
	left: 50%;
	padding: 3px 10px;
	background: #ffffff;
	border: 1px solid #b3d0e0;
	color: var(--fh-navy);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 2.1px;
	line-height: 1.7;
	transform: translateX(-50%);
	white-space: nowrap;
}

.ns-nou__plansec {
	padding: 60px 0;
}

/* ------------------------------------------------------------------
 * SP(767px 以下)
 * ------------------------------------------------------------------ */

@media (max-width: 767px) {

	.ns-nou .ns-inner {
		width: min(1300px, 100% - 30px);
	}

	.ns-nou__catch {
		width: auto;
		padding: 10px;
		font-size: 18px;
		line-height: 1.3;
	}

	.ns-nou__marker--big {
		font-size: 22px;
	}

	.ns-nou__about {
		flex-direction: column;
		gap: 40px;
	}

	/* 縦並びの flex で flex: 1 1 0 のままだと高さ 0 になり写真が消える */
	.ns-nou__aboutimg {
		flex: 0 0 auto;
	}

	.ns-nou__aboutimg img {
		height: 220px;
	}

	.ns-nou__aboutbox {
		flex: 0 0 auto;
		width: 100%;
	}

	.ns-nou__abouttit {
		top: -20px;
		padding: 5px 10px;
		font-size: 18px;
		line-height: 30px;
	}

	.ns-nou .ns-nou__list {
		flex-direction: column;
		gap: 30px;
	}

	.ns-nou__item {
		width: 100%;
	}

	.ns-nou__clip {
		padding: 15px 10px;
		font-size: 13px;
	}

	.ns-nou__clip span {
		font-size: 30px;
	}

	.ns-nou__itembody img {
		width: 150px;
	}

	.ns-nou__termsbox {
		padding: 40px 20px;
		font-size: 14px;
	}

	.ns-nou__big {
		font-size: 18px;
	}

	.ns-nou__termsbox .ns-nou__marker--red {
		font-size: 20px;
	}

	.ns-nou__frame {
		padding: 5px 10px;
		font-size: 23px;
	}

	.ns-nou__bnrwrap {
		max-width: 600px;
		padding: 0;
	}

	.ns-nou .ns-nou__plans {
		flex-direction: column;
		gap: 20px;
	}

	.ns-nou__plan {
		width: 100%;
	}

	/* flex のままだと br で折り返せない(旧は 2 行) */
	.ns-nou__plantit {
		display: block;
		font-size: 18px;
		letter-spacing: 0.36px;
	}

	.ns-nou__small {
		font-size: 14px;
	}

	.ns-nou__planlabel {
		padding: 0 10px;
		font-size: 13px;
	}

	.ns-nou__planmember,
	.ns-nou__planmember .ns-nou__num {
		font-size: 35px;
	}

	.ns-nou__yen {
		font-size: 14px;
	}

	.ns-nou__comment {
		font-size: 18px;
		text-align: left;
	}

	.ns-nou__frametxt {
		font-size: 16px;
		letter-spacing: 1.6px;
	}
}

/* 旧サイトの納骨先検討サポートでは「ご危篤・お亡くなりの方」の開閉ボタンを出さず、バナーの箱だけを出す */
.ns-nou .ns-hurry__open,
.ns-nou .ns-hurry__detail {
	display: none;
}

.ns-nou .ns-hurry {
	margin-bottom: 0;
}

/* 旧 .schem-faq は下に 60px の外側余白 */
.ns-nou__faq .ns-faq__list {
	margin-bottom: 60px;
}

/* 旧 .column_consultation はこのページだけ内側余白なし */
.ns-nou .ns-consult {
	padding: 0;
}

@media (max-width: 767px) {
	.ns-nou__halls {
		padding: 80px 0 30px;
	}

	/* 旧 SP の利用条件の箱は左右 4px まで広がり(382px)、本文は 16px/27.2px */
	.ns-nou__terms .ns-inner {
		width: calc(100% - 8px);
	}

	.ns-nou__termsbox p {
		font-size: 16px;
		line-height: 27.2px;
	}
}
