/*
 * 無料会員ページ専用CSS(page-templates/template-member.php = /member/)
 * 値は旧サイト https://family-hall.com/member/ の computed style を PC1440 / SP390 で実測したもの。
 * 共通見出し・お知らせカード・末尾 CTA・末尾 h1 は site.css / home.css を共用する。
 */

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

.ns-club__mv {
	padding-bottom: 25px;
}

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

.ns-club__intro {
	padding-bottom: 30px;
}

.ns-club__lead {
	font-weight: 600;
	line-height: 1.7;
	text-align: center;
}

/* ------------------------------------------------------------------
 * 申し込み口(ページ内に 4 回出る)
 * ------------------------------------------------------------------ */

.ns-club__contact {
	padding: 20px 0 30px;
	background: #f1f9f8;
}

.ns-club__catch {
	position: relative;
	font-family: var(--fh-sans);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.ns-club__catchwrap {
	position: relative;
}

/* 有料会員の申し込み口では割引キャッチを出さない(旧サイトと同じ) */
.ns-club__contact--paid .ns-club__catch {
	display: none;
}

/* 旧は申し込み口の下が PC 80px(内側 30 ＋ section 50)・SP 60px(30 ＋ 30) */
.ns-club__contact--paid {
	padding-bottom: 80px;
}

/* 旧の有料会員の申し込み口はキャッチが無く、ul に上余白が付かない */
.ns-club .ns-club__contact--paid .ns-club__ways {
	margin-top: 0;
}

.ns-club__slash {
	position: absolute;
	top: -3px;
	left: -39px;
	width: 4px;
	height: 40px;
	background: #13a89c;
	transform: rotate(-40deg);
}

.ns-club__slash--r {
	right: -39px;
	left: auto;
	transform: rotate(40deg);
}

.ns-club__accent {
	font-size: 30px;
	color: var(--fh-red);
}

.ns-club__big {
	font-family: var(--fh-num);
	font-size: 40px;
	font-weight: 600;
	color: var(--fh-red);
}

.ns-club .ns-club__ways {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 30px;
}

.ns-club__way {
	width: calc((100% - 60px) / 3);
}

.ns-club__ways--two {
	justify-content: center;
}

.ns-club__ways--two .ns-club__way {
	width: 413px;
	max-width: calc((100% - 30px) / 2);
}

.ns-club__waytit {
	position: relative;
	margin-bottom: 20px;
	padding: 5px 0;
	background: #13a89c;
	border-radius: 5px 5px 0 0;
	color: #ffffff;
	font-size: 22px;
	line-height: 1.7;
	text-align: center;
}

.ns-club__waybody {
	margin-top: -20px;
	padding: 35px 20px 20px;
	background: #ffffff;
	text-align: center;
}

.ns-club__tel {
	display: block;
	width: 100%;
	color: #333333;
}

.ns-club__tellead {
	display: block;
	margin-bottom: 3px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7;
}

.ns-club__telnum {
	display: block;
	color: var(--fh-red);
	font-size: 28px;
	font-weight: 600;
	/* 旧サイトの tel_num_wrap は 41.2px の 1 行(アイコンは文字の横) */
	line-height: 41.2px;
}

.ns-club__telnum .ns-ico-tel2 {
	display: inline-block;
	margin-right: 4px;
	vertical-align: middle;
}

.ns-club__telnum .ns-ico-chev {
	margin-left: 2px;
	vertical-align: -1px;
}

.ns-club__telnote {
	display: block;
	padding: 3px 0;
	background: var(--fh-red);
	border-radius: 30px;
	color: #ffffff;
	font-size: 18px;
	line-height: 1.7;
}

.ns-club__btn {
	position: relative;
	display: block;
	max-width: 380px;
	padding: 15px;
	background: #fc6308;
	border: 1px solid #fc6308;
	border-radius: 10px;
	color: #ffffff;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
}

.ns-club__btn .ns-ico-chev {
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -8px;
}

.ns-club__btnsmall {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.ns-club__btn--outline {
	background: #ffffff;
	border: 2px solid var(--fh-navy);
	color: var(--fh-navy);
	font-size: 23px;
}

.ns-club__waytxt {
	margin: 10px 0;
	font-weight: 600;
	line-height: 1.7;
}

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

/* ------------------------------------------------------------------
 * 会員価格表
 * ------------------------------------------------------------------ */

.ns-club__table {
	padding: 40px 0 60px;
	background: #fbfdec;
}

.ns-club__tabletit {
	margin-bottom: 30px;
	font-family: var(--fh-sans);
	font-size: 35px;
	font-weight: 600;
	line-height: 1.4;
	color: #333333;
	text-align: center;
}

.ns-club__tableaccent {
	font-size: 40px;
	color: var(--fh-navy);
}

/* 旧 .member_catch は PC も 40px、SP は 30px */
.ns-club__tablemc {
	font-size: 40px;
}

.ns-club__dot {
	color: var(--fh-red);
	text-emphasis: filled dot var(--fh-red);
	-webkit-text-emphasis: filled dot var(--fh-red);
}

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

.ns-club__pricetable {
	width: 100%;
	margin-bottom: 10px;
	border-collapse: collapse;
	text-align: center;
}

.ns-club__pricetable th {
	padding: 15px 0;
	background: #4f5173;
	border: 1px solid var(--fh-line);
	color: #ffffff;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.7;
}

.ns-club__pricetable .ns-club__thmember {
	background: #ff6666;
}

.ns-club__pricetable td {
	padding: 20px 0;
	background: #ffffff;
	border: 1px solid var(--fh-line);
	font-weight: 600;
	line-height: 1.2;
}

.ns-club__pricetable .ns-club__tdmember {
	background: #faeeee;
	border-color: #e7e2e2;
}

.ns-club__pair {
	display: inline-block;
	text-align: right;
}

.ns-club__untax,
.ns-club__taxin {
	display: block;
	line-height: 1.2;
}

.ns-club__taxin {
	margin-top: 4px;
}

.ns-club__untax .ns-club__num {
	font-size: 40px;
	line-height: 1.2;
}

.ns-club__taxin .ns-club__num {
	font-size: 24px;
	line-height: 1.2;
}

/* 旧は税込ラベルに font-size を書かず親から継承している(価格セル 11px・割引セル 10px) */
.ns-club__taxlabel {
	font-size: inherit;
}

.ns-club__off {
	display: inline-block;
	color: var(--fh-red);
	text-align: left;
}

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

/* 一般価格が式場で違う行(一般葬・2026-10-23)。式場の組の名前を額の上に出す */
.ns-club__halls {
	display: block;
	margin-bottom: 8px;
	color: #4f5173;
	font-size: 15px;
	line-height: 1.4;
}

.ns-club__nw {
	display: inline-block;
	white-space: nowrap;
}

.ns-club__note + .ns-club__note {
	margin-top: 4px;
}

.ns-club__thblank {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.ns-club__table + .ns-tri--down {
	display: block;
	margin: 0 auto 30px;
	color: #fbfdec;
}

/* ------------------------------------------------------------------
 * 有料会員(ファミリー倶楽部)
 * ------------------------------------------------------------------ */

.ns-club__family {
	margin-top: 60px;
	padding: 60px 0;
	background: #f5f6fd;
}

.ns-club__family .ns-club__lead {
	margin-bottom: 30px;
}

.ns-club__fee {
	margin-bottom: 10px;
	text-align: center;
}

.ns-club__feebox {
	display: inline-block;
	padding: 10px 50px;
	background: #ffffff;
	border: 1px solid var(--fh-red);
	color: var(--fh-red);
	font-size: 23px;
	font-weight: 600;
	line-height: 1.3;
}

.ns-club__feebox .ns-club__num {
	margin-left: 5px;
	font-size: 30px;
}

.ns-club__feesmall {
	display: block;
	font-size: 16px;
}

.ns-club .ns-club__perks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 12px;
	margin-top: 70px;
}

.ns-club__perk {
	position: relative;
	width: 315px;
	text-align: center;
}

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

.ns-club__perkmark {
	position: absolute;
	top: -30px;
	left: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 60px;
	height: 60px;
	background: var(--fh-navy);
	border-radius: 100px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -1px;
	line-height: 1.7;
}

.ns-club__perkmark .ns-club__num {
	font-size: 24px;
	line-height: 1.3;
}

.ns-club__perktit {
	margin: 5px 0;
	font-family: var(--fh-sans);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	color: #333333;
	text-align: center;
}

.ns-club__perklink {
	display: block;
	color: var(--fh-red);
	line-height: 1.7;
}

.ns-club__perksmall {
	display: block;
	font-size: 15px;
	line-height: 1.7;
}

.ns-club__perkoff {
	display: block;
	color: var(--fh-red);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.7;
}

.ns-club__perkoff .ns-club__num {
	font-size: 24px;
	line-height: 1.3;
}

.ns-club__perkmore {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	margin-top: 5px;
	padding: 0;
	color: var(--fh-red);
	letter-spacing: 0.8px;
	line-height: 1.7;
}

.ns-modal--perk .ns-modal__box {
	max-width: 700px;
	padding: 40px 30px 20px;
	text-align: center;
}

.ns-club__modallead {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.7;
}

.ns-club__modalrows {
	max-width: 420px;
	margin: 0 auto 15px;
	text-align: left;
}

.ns-club__modalrows dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px dashed #cccccc;
}

.ns-club__modalrows dt {
	font-weight: 600;
}

.ns-club__modalnote {
	display: block;
	font-size: 14px;
	line-height: 1.7;
}

/* 有料会員の申し込み案内 */

/* 旧は案内文と申し込み口が同じ section の中にあり、案内文の下は 30px だけ。
   下余白を 0 にすると案内文の下余白がそのまま次のブロックとの間隔になる(旧と同じ 30px) */
.ns-club__paid {
	padding-bottom: 0;
}

.ns-club__paid .ns-tri--down {
	display: block;
	margin: 0 auto 30px;
	color: #f5f6fd;
}

.ns-club__paid .ns-club__lead {
	margin-bottom: 30px;
}

/* ------------------------------------------------------------------
 * 事前相談
 * ------------------------------------------------------------------ */

.ns-club__consult {
	padding-bottom: 50px;
}

.ns-club__consulttit {
	margin-bottom: 20px;
	font-family: var(--fh-sans);
	font-size: 45px;
	font-weight: 600;
	line-height: 1.4;
	color: #333333;
	text-align: center;
}

/* 旧の「事前相談」は PC 60px/84px・SP 35px/49px */
.ns-club__consulttit .ns-club__accent {
	font-size: 60px;
}

.ns-club__consultbadge {
	display: block;
	width: 350px;
	margin: 0 auto 10px;
	padding: 10px 0;
	background: var(--fh-navy);
	border-radius: 80px;
	color: #ffffff;
	font-family: var(--fh-sans);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
}

.ns-club__consult .ns-club__lead {
	margin-bottom: 30px;
}

.ns-club__consultbnr {
	text-align: center;
}

.ns-club__consultbnr img {
	margin-inline: auto;
	max-width: 100%;
	height: auto;
}

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

@media (max-width: 767px) {

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

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

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

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

	.ns-club__big {
		font-size: 25px;
	}

	.ns-club__slash {
		top: 50%;
		left: 10px;
		height: 30px;
		margin-top: -15px;
	}

	.ns-club__slash--r {
		right: 10px;
		left: auto;
	}

	.ns-club .ns-club__ways {
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
		margin-top: 15px;
	}

	.ns-club__contact--paid {
		padding-bottom: 60px;
	}

	.ns-club__way,
	.ns-club__ways--two .ns-club__way {
		width: 100%;
		max-width: none;
	}

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

	.ns-club__waybody {
		padding: 20px 10px 10px;
	}

	.ns-club__telnum {
		font-size: 20px;
	}

	.ns-club__btn {
		max-width: none;
		font-size: 18px;
	}

	.ns-club__btn--outline {
		font-size: 18px;
	}

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

	.ns-club__table {
		padding: 40px 0;
	}

	.ns-club__tabletit {
		margin-bottom: 10px;
		font-size: 21px;
	}

	.ns-club__tableaccent {
		font-size: 21px;
	}

	.ns-club__tablemc {
		font-size: 30px;
	}

	.ns-club__tablecatch {
		margin-bottom: 10px;
		font-size: 14px;
	}

	.ns-club__pricetable th {
		padding: 5px 2px;
		border: 0;
		border-bottom: 1px solid var(--fh-line);
		font-size: 12px;
		line-height: 1.2;
	}

	.ns-club__pricetable td {
		padding: 10px 2px;
		font-size: 11px;
	}

	.ns-club__untax,
	.ns-club__taxin {
		white-space: nowrap;
	}

	.ns-club__taxin {
		margin-top: 2px;
		font-size: 9px;
	}

	.ns-club__untax .ns-club__num {
		font-size: 13px;
	}

	/* 旧 SP の税込の数字は 11px/13.2px(PC の 24px が残っていて 1 行あたり 9.2px 高かった) */
	.ns-club__taxin .ns-club__num {
		font-size: 11px;
	}

	.ns-club__off {
		font-size: 10px;
		text-align: center;
	}

	/* 旧は割引セルの中の価格の組だけ SP でブロックにしている(行の数え方が変わる) */
	.ns-club__off .ns-club__pair {
		display: block;
	}

	.ns-club__note {
		font-size: 12px;
	}

	/* 列の幅は 390px で約 87px・320px で約 77px＝8 文字のかたまりが 1 行に入る大きさ */
	.ns-club__halls {
		margin-bottom: 4px;
		font-size: clamp(8px, 2.6vw, 10px);
		line-height: 1.3;
		letter-spacing: 0;
	}

	.ns-club__table + .ns-tri--down {
		width: 120px;
		height: 35px;
	}

	.ns-club__family {
		margin-top: 20px;
		padding: 30px 0;
	}

	.ns-club .ns-club__perks {
		gap: 50px 10px;
		margin-top: 40px;
	}

	.ns-club__perk {
		width: 170px;
	}

	.ns-club__perkmark {
		width: 50px;
		height: 50px;
		font-size: 14px;
		letter-spacing: 1px;
	}

	.ns-club__perkmark .ns-club__num {
		font-size: 20px;
	}

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

	.ns-club__perkoff {
		font-size: 15px;
	}

	.ns-club__perkoff .ns-club__num {
		font-size: 18px;
	}

	.ns-club__perksmall {
		font-size: 10px;
		line-height: 17px;
	}

	.ns-club__perklink {
		font-size: 13px;
	}

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

	.ns-club__paid {
		padding-bottom: 0;
	}

	.ns-club__paid .ns-tri--down {
		width: 120px;
		height: 35px;
	}

	.ns-club__consulttit {
		font-size: 20px;
	}

	.ns-club__consulttit .ns-club__accent {
		font-size: 35px;
	}

	/* 旧の事前相談セクションは SP の下余白が 30px(新は PC の 50px が残っていた) */
	.ns-club__consult {
		padding-bottom: 30px;
	}

	.ns-club__consultbadge {
		width: 100%;
		max-width: 350px;
	}
}

@media (max-width: 767px) {
	/* 旧 SP の入会金の数字は 20px/26px(30px だと箱の中で 2 行に折れる) */
	.ns-club__fee .ns-club__num {
		font-size: 20px;
		line-height: 26px;
	}

	/* 旧 SP の割引表は 4 列が等幅 */
	.ns-club__pricetable th,
	.ns-club__pricetable td {
		width: 25%;
	}

	/* 旧 SP の注記は本文と同じ 16px/27.2px */
	.ns-club__note {
		font-size: 16px;
		line-height: 27.2px;
	}
}
