@charset "UTF-8";
/* ==========================================================================
   新潟再生不動産 サブサイト 統合スタイルシート
   - TOPページ（saisei-fudousan.html）・施工事例詳細ページ（case-detail.html）・
     取扱不動産一覧/投稿一覧ページ（properties-list.html）など、
     このサブサイト配下の全ページから読み込む単一CSS
   - サイト共通の normalize.css / common.css / style.css の読み込みを前提とする
   - コンテンツ幅はデザイン通り1000pxのため、サイト共通の .content-width
     （max-width:1240px）とは別クラス .nsf-content-width を新規定義して使用
   - 構成: 1) 共通コンポーネント 2) TOPページ専用 3) 施工事例詳細ページ専用
     4) 一覧・アーカイブ系ページ専用（一覧ページ/サンクスページ等で共有するFV含む）
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Shippori+Mincho:wght@400;500;600;700;800&family=Inter:wght@400;500&display=swap');

/* ==========================================================================
   1. 共通コンポーネント
   ヘッダー/フッター/見出し(.nsf-ttl-box)/テキストリンク(.link-more)/
   タグ(.property-tag)/お問い合わせセクション(.contact-sec)/
   ページ共通FV(.page-fv-sec)/区切り線(.divider-accent) など、
   複数ページで使い回すものをここに集約
   ========================================================================== */
.nsf {
	--nsf-text: #3c3636;
	--nsf-green: #3a6444;
	--nsf-green-muted: #99a89d;
	--nsf-bg: #f0eeec;
	--nsf-border: #c6c6c6;
	--nsf-footer-bg: #3c3636;
	--nsf-footer-border: #695f5f;
	--font-mincho: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
	--font-garamond: "Cormorant Garamond", "Shippori Mincho", serif;
	--font-sans: "Inter", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;

	background: var(--nsf-bg);
	color: var(--nsf-text);
}

.nsf #wrapper {
	min-width: unset;
}

.nsf .sec-common {
	padding: 100px 0;
}
.nsf .sec-common:first-child {
	padding-top: 0;
}

.nsf .nsf-content-width {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	/* 左右paddingを除いたコンテンツ幅が1000pxになるようにする */
	max-width: 1040px;
	margin: 0 auto;
	padding-right: 20px;
	padding-left: 20px;
}

@media screen and (max-width: 768px) {
	.nsf #main {
		padding-top: 0;
	}

	.nsf .nsf-content-width {
		padding-right: 16px;
		padding-left: 16px;
	}
}

.nsf img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/* 見出し（PROPERTIES/SERVICE/CONTACT/DATABASE/PLAN/INQUIRY などで共通使用）
   ※サイト共通の .sec-ttl-box は中央寄せ+下線仕様のため、
     本サイトの左寄せ大見出しには専用クラスを用意（構造はサイトの sec-ttl 系に準拠）
-------------------------------------------------------------- */
.nsf .nsf-ttl-en {
	margin: 0;
	font-family: var(--font-garamond);
	font-weight: 700;
	font-size: 6.2rem;
	letter-spacing: 2px;
	line-height: 1.3;
}

.nsf .nsf-ttl-jp {
	margin: 6px 0 0;
	font-family: var(--font-mincho);
	font-weight: 600;
	font-size: 1.8rem;
	letter-spacing: 3.6px;
}

.nsf .nsf-ttl-box.light .nsf-ttl-en,
.nsf .nsf-ttl-box.light .nsf-ttl-jp {
	color: #fff;
}

@media screen and (max-width: 768px) {
	.nsf .nsf-ttl-en {
		font-size: 4rem;
	}

	.nsf .nsf-ttl-jp {
		font-size: 1.5rem;
	}
}

/* ページ共通FV（記事詳細以外のページ見出し。取扱不動産一覧・投稿一覧・
   お問い合わせサンクスページなどで共通使用。中身のラベル文言・タイトル文言のみ差し替える） */
.nsf .page-fv-sec {
	overflow: hidden;
	padding: 140px 0 40px;
}

.nsf .page-fv-eyebrow {
	/*margin: 0 0 20px;*/
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	color: #b2b1b1;
}

.nsf .page-fv-ttl {
	margin: 0 0 46px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 5rem;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {
	.nsf .page-fv-sec {
		padding-bottom: 60px;
	}

	.nsf .page-fv-ttl {
		margin-bottom: 30px;
		font-size: 3rem;
	}
}

/* 罫線＋緑アクセント区切り線（記事詳細のタイトル下・一覧ページFVなどで共通使用） */
.nsf .divider-accent {
	position: relative;
	height: 1px;
	margin-bottom: 60px;
	background: var(--nsf-border);
}

.nsf .divider-accent::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100px;
	height: 1px;
	background: var(--nsf-green);
}

@media screen and (max-width: 768px) {
	.nsf .divider-accent {
		margin-bottom: 30px;
	}
}

/* 下層ページFV専用モディファイア: 罫線本体（グレー部分）を画面幅いっぱいに広げる。
   緑のアクセント部分（::before）はcontent-widthの左端に揃えたまま変えないため、
   本体側は div 自体の背景をやめて ::after で画面中央基準の全幅ラインを描画する。
   （.page-fv-sec 側の overflow:hidden で 100vw によるはみ出しを安全に吸収） */
.nsf .divider-accent--full {
	background: none;
}

.nsf .divider-accent--full::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
	background: var(--nsf-border);
}

/* テキストリンク＋下線＋矢印（複数ページで繰り返し登場する共通コンポーネント） */
.nsf .link-more {
	position: relative;
	display: inline-block;
	align-self: flex-start;
	/* 中央寄せの親要素からの text-align 継承を断ち、テキストは常に左寄せにする */
	text-align: left;
	min-width: 290px;
	box-sizing: border-box;
	padding-bottom: 20px;
	padding-right: 26px;
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: 0.32px;
}

.nsf .link-more--wide {
	min-width: 353px;
}

/* SPではnsf-content-widthの実効幅(343px)より353pxの方が広く、右paddingに食い込むため縮小 */
@media screen and (max-width: 768px) {
	.nsf .link-more--wide {
		min-width: 0;
		width: 100%;
	}
}

.nsf .link-more::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
}

.nsf .link-more::after {
	content: "";
	position: absolute;
	right: 0;
	/* padding-bottom(20px)分を差し引き、テキスト行に対して上下中央になるよう補正 */
	top: calc(50% - 10px);
	width: 9px;
	height: 8px;
	transform: translateY(-50%);
	background: url(../images/nsf/icon-arrow-right.svg) center / contain no-repeat;
}

.nsf .link-more--dark::after {
	background-image: url(../images/nsf/icon-form-arrow.svg);
}

.nsf .link-more:hover {
	opacity: 0.7;
}

/* 丸ボタン（送信・問い合わせなどの主要CTAで共通使用） */
.nsf .btn-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 70px;
	padding: 0 40px;
	box-sizing: border-box;
	border-radius: 90px;
	background: var(--nsf-green);
	color: #fff;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	letter-spacing: 0.7px;
}

.nsf .btn-pill::after {
	content: "";
	flex: none;
	width: 9px;
	height: 8px;
	background: url(../images/nsf/icon-arrow-right.svg) center / contain no-repeat;
}

.nsf .btn-pill:hover {
	opacity: 0.85;
}

/* タグ（物件カテゴリ表示。背景色に応じて枠線・文字色を変える） */
.nsf .property-tags {
	display: flex;
	gap: 8px;
}

.nsf .property-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 27px;
	padding: 0 14px;
	border: 1px solid var(--tag-border-color, #fff);
	color: var(--tag-text-color, inherit);
	font-family: var(--font-sans);
	font-size: 1.1rem;
	letter-spacing: 0.55px;
	white-space: nowrap;
}

/* 明るい背景の上でタグを使う場合の色違いモディファイア
   （記事詳細ページの物件タイトル横・一覧ページのカードなどで使用） */
.nsf .property-tags--outline .property-tag {
	--tag-border-color: #c4c2bf;
	color: var(--nsf-text);
}

/* = Header（このサイト専用。サイト共通 #header とは切り離した独立ヘッダー）
   既定はコンテンツページ用（白背景に濃色ロゴ・緑ボタン）。
   TOPページのヒーロー重ね表示は .nsf-header--overlay で上書きする。
-------------------------------------------------------------- */
.nsf .nsf-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	padding: 26px 0;
	background: transparent;
	transition: background-color 0.3s ease, padding 0.3s ease;
}

.nsf .nsf-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nsf .nsf-logo {
	color: var(--nsf-text);
	text-align: center;
	transition: color 0.3s ease;
}

.nsf .nsf-logo-main {
	margin: 0;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 2.6rem;
	letter-spacing: 1.2px;
	line-height: 1.5;
}

.nsf .nsf-logo-sub {
	margin: 4px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--font-mincho);
	font-weight: 800;
	font-size: 1rem;
	letter-spacing: -0.2px;
}

.nsf .nsf-logo-sub::before,
.nsf .nsf-logo-sub::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 1px;
	background: currentColor;
}

.nsf .nsf-nav {
	display: flex;
	align-items: center;
	gap: 40px;
}

.nsf .nsf-nav-link {
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 1.4rem;
	color: var(--nsf-text);
	letter-spacing: 0.7px;
	transition: color 0.3s ease;
}

.nsf .nsf-nav-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 160px;
	height: 46px;
	padding: 0 20px;
	border-radius: 90px;
	background: var(--nsf-green);
	color: #fff;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.7px;
	transition: background-color 0.3s ease;
}

.nsf .nsf-nav-btn::after {
	content: "";
	display: inline-block;
	flex: none;
	width: 9px;
	height: 8px;
	background: url(../images/nsf/icon-arrow-right.svg) center / contain no-repeat;
}

@media screen and (max-width: 768px) {
	.nsf .nsf-header {
		padding: 16px 0;
	}

	.nsf .nsf-header-inner {
		/*flex-direction: column;*/
		align-items: center;
		gap: 12px;
	}

	.nsf .nsf-logo-main {
		font-size: 2rem;
	}

	.nsf .nsf-nav {
		flex-direction: column-reverse;
		gap: 10px;
		padding-top: 0;
	}

	.nsf .nsf-nav-link {
		font-size: 1.2rem;
	}

	.nsf .nsf-nav-btn {
		width: 100px;
		height: 40px;
		font-size: 1.2rem;
	}
}

/* スクロール時のコンパクト固定ヘッダー（全ページ共通・JSで.nsf-headerに.is-scrolledを付与）
   ページ最上部での見た目（TOPは.nsf-header--overlayで白文字、他ページは既定の濃色）に関わらず、
   約300pxスクロールすると背景#f0eeec・文字#3c3636・上下余白を縮めた同一の見た目に収束させる。
   .nsf-header--overlay より詳細度を上げるため、必ず「.nsf-header.is-scrolled」の複合セレクタで書くこと
   （書く場所は本セクションでなくても、詳細度が上回るのでカスケード順に依存しない） */
.nsf .nsf-header.is-scrolled {
	padding: 10px 0;
	background: var(--nsf-bg);
}

.nsf .nsf-header.is-scrolled .nsf-logo,
.nsf .nsf-header.is-scrolled .nsf-nav-link {
	color: var(--nsf-text);
}

.nsf .nsf-header.is-scrolled .nsf-nav-btn {
	background: var(--nsf-green);
	color: #fff;
}

@media screen and (max-width: 768px) {
	.nsf .nsf-header.is-scrolled {
		padding: 10px 0;
	}
}

/* 緑背景セクション＋装飾コラージュ（PROPERTIES/DATABASEなど暗色セクションで共通使用） */
.nsf .sec-dark {
	position: relative;
	overflow: hidden;
	padding: 100px 0 130px;
	background: var(--nsf-green);
	color: #fff;
}

.nsf .deco-bg-collage {
	position: absolute;
	inset: 0;
	background-image: url(../images/nsf/properties-bg-collage.jpg);
	background-size: cover;
	background-position: center;
	mix-blend-mode: multiply;
	opacity: 0.8;
	pointer-events: none;
}

@media screen and (max-width: 768px) {
	.nsf .sec-dark {
		padding: 60px 0;
	}
}

/* = Contact（CTA。全ページ共通のお問い合わせセクション）
-------------------------------------------------------------- */
.nsf .contact-sec {
	position: relative;
	overflow: hidden;
	padding: 130px 0;
	background: var(--nsf-green);
	color: #fff;
}

.nsf .deco-bg-photo {
	position: absolute;
	inset: 0;
	background-image: url(../images/nsf/bg-texture-overlay.jpg);
	background-size: cover;
	background-position: center;
	mix-blend-mode: multiply;
	pointer-events: none;
}

.nsf .contact-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.nsf .contact-body {
	flex: none;
	width: 440px;
}

.nsf .contact-desc {
	margin: 24px 0 40px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.7px;
}

.nsf .contact-links {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* ラベルと電話番号を1つの塊として扱うためのラッパー。
   .contact-links の flex gap(40px) がラベル・番号の間にまで入ってしまわないよう分離する */
.nsf .contact-tel-label {
	margin: 0 0 8px;
	font-family: var(--font-sans);
	font-size: 1.1rem;
	letter-spacing: 0.55px;
}

.nsf .contact-tel-num {
	margin: 0;
	padding-bottom: 20px;
	position: relative;
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 2.2rem;
	letter-spacing: 1.1px;
}

.nsf .contact-tel-num::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 353px;
	max-width: 100%;
	height: 1px;
	background: #fff;
}

.nsf .contact-tel-note {
	margin-left: 10px;
	font-family: var(--font-sans);
	font-weight: 400;
	font-size: 1.1rem;
	letter-spacing: normal;
	white-space: nowrap;
}

.nsf .contact-photos {
	position: relative;
	flex: none;
	aspect-ratio: 1/1;
	width: 460px;
	border: 1px solid #707070;
	overflow: hidden;
}

.nsf .contact-photo-slide {
	position: absolute;
	inset: 0;
	display: none;
}

.nsf .contact-photo-slide.is-active {
	display: block;
}

@media screen and (max-width: 768px) {
	.nsf .contact-sec {
		padding: 60px 0;
	}

	.nsf .contact-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 40px;
	}

	.nsf .contact-body {
		width: 100%;
	}

	.nsf .contact-photos {
		width: 100%;
	}
}

/* = Footer（このサイト専用。サイト共通 #footer とは切り離した独立フッター）
-------------------------------------------------------------- */
.nsf .nsf-footer {
	padding: 60px 0 36px;
	background: var(--nsf-footer-bg);
	color: #a39999;
}

.nsf .nsf-footer-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: 34px;
	margin-bottom: 34px;
	border-bottom: 1px solid var(--nsf-footer-border);
}

.nsf .nsf-footer-logo {
	text-align: center;
	color: #fff;
}

.nsf .nsf-footer-logo .nsf-logo-main {
	font-size: 2.2rem;
}

.nsf .nsf-footer-logo .nsf-logo-sub {
	color: #fff;
}

.nsf .nsf-footer-nav-link {
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 1.4rem;
	color: #fff;
	letter-spacing: 0.7px;
}

.nsf .nsf-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: var(--font-sans);
	font-size: 1.2rem;
}

.nsf .nsf-footer-links {
	display: flex;
	align-items: center;
	gap: 20px;
}

.nsf .nsf-footer-links a {
	letter-spacing: 0.28px;
}

.nsf .nsf-footer-links span {
	width: 1px;
	height: 12px;
	background: #a39999;
}

.nsf .nsf-footer-copyright {
	font-family: "Cormorant Garamond", serif;
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: 0.24px;
}

@media screen and (max-width: 768px) {
	.nsf .nsf-footer-top {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		text-align: center;
	}

	.nsf .nsf-footer-bottom {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}
}

/* ==========================================================================
   2. TOPページ専用（saisei-fudousan.html）
   ========================================================================== */

/* ヘッダーをヒーロー写真に重ねる場合の上書き（TOPページのみ・画面上部固定は共通） */
.nsf .nsf-header--overlay {
	background: transparent;
}

.nsf .nsf-header--overlay .nsf-logo,
.nsf .nsf-header--overlay .nsf-nav-link {
	color: #fff;
}

.nsf .nsf-header--overlay .nsf-nav-btn {
	background: rgba(255, 255, 255, 0.2);
}

/* = MV（ヒーロー）
-------------------------------------------------------------- */
.nsf .nsf-mv {
	position: relative;
	height: 750px;
	overflow: hidden;
}

.nsf .nsf-mv-photo {
	position: absolute;
	inset: 0;
}

.nsf .nsf-mv::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(25, 23, 23, 0.32) 0%, rgba(25, 23, 23, 0.32) 55%, rgba(60, 54, 54, 0.65) 100%);
}

.nsf .nsf-mv-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 60px;
	z-index: 2;
	color: #fff;
}

.nsf .nsf-mv-catch {
	margin: 0;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 3.4rem;
	line-height: 1.65;
	letter-spacing: 2.7px;
}

.nsf .nsf-mv-lead {
	margin: 18px 0 0;
	font-family: var(--font-sans);
	font-size: 1.6rem;
	line-height: 1.9;
}

/* = Concept（2nd）
-------------------------------------------------------------- */
.nsf .concept-sec {
	position: relative;
	overflow: hidden;
	padding: 100px 0 130px;
}

.nsf .concept-bg-texture {
	position: absolute;
	inset: 0;
	background-image: url(../images/nsf/bg-texture-overlay.jpg);
	/* セクションが縦長のため cover だと画像全体（上部の白飛び部分含む）がそのまま収まってしまう。
	   縦方向を意図的に拡大し、模様のある下部だけを切り出して表示する */
	background-size: auto 220%;
	background-position: center bottom;
	background-repeat: no-repeat;
	mix-blend-mode: multiply;
	opacity: 0.3;
	pointer-events: none;
}

.nsf .concept-inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 60px;
}

.nsf .concept-photos {
	position: relative;
	width: 258px;
	flex: none;
	height: 774px;
}

.nsf .concept-photo {
	position: absolute;
	box-shadow: 0 10px 30px rgba(60, 54, 54, 0.12);
}

.nsf .concept-photo-1 {
	top: 0;
	left: 0;
	width: 258px;
	height: 258px;
}

.nsf .concept-photo-2 {
	top: 275px;
	left: 94px;
	width: 164px;
	height: 121px;
}

.nsf .concept-photo-3 {
	top: 416px;
	left: -92px;
	width: 255px;
	height: 358px;
}

.nsf .concept-body {
	flex: 1 1 auto;
	/* 見出し（縦書き）は写真ブロックの上端近くから始まる一方、本文はそこから大きく下げた位置から始まる非対称レイアウト */
	padding-top: 200px;
}

.nsf .concept-text {
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 3;
	letter-spacing: 0.7px;
}

.nsf .concept-vtitle {
	flex: none;
	margin: 48px 0 0;
	writing-mode: vertical-rl;
	text-orientation: upright;
	color: var(--nsf-green);
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 3.4rem;
	letter-spacing: 12px;
	line-height: 1.25;
}

/* 縦書き見出しは2行が同じ高さで揃うのではなく、段違い（2行目が下にずれる）が正解。
   罫線は各行に1本ずつ（右側に添える）で、2行目の罫線の方が上下のはみ出しが大きい。 */
.nsf .concept-vtitle-col {
	display: block;
	/* writing-mode:vertical-rl下ではdisplay:blockのheight:autoが
	   「文字数ぶんの自然な高さ」ではなく親要素いっぱいに伸びてしまうため、
	   コンテンツに合わせて縮む高さに明示的に固定する */
	height: max-content;
	position: relative;
	padding-right: 20px;
}

.nsf .concept-vtitle-col::after {
	content: "";
	position: absolute;
	right: 0;
	top: -15px;
	bottom: -15px;
	width: 1px;
	background: #d5cfca;
}

.nsf .concept-vtitle-col--1 {
	/* 2行目の罫線は1行目の文字に直接くっつくのではなく、間にもう少し余白を挟む */
	padding-left: 26px;
}

.nsf .concept-vtitle-col--2 {
	margin-top: 57px;
}

/* = Properties（3rd）
-------------------------------------------------------------- */
.nsf .properties-head {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 60px;
}

.nsf .properties-desc {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 1.9;
}

.nsf .property-list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-bottom: 70px;
}

.nsf .property-card {
	display: block;
}

.nsf .property-photo {
	height: 310px;
	margin-bottom: 20px;
}

.nsf .property-card .property-tags {
	margin-bottom: 20px;
}

.nsf .property-title {
	margin: 0 0 16px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.7;
	letter-spacing: 0.4px;
}

.nsf .property-price {
	margin: 0 0 14px;
	font-family: var(--font-sans);
	font-size: 1.2rem;
}

.nsf .property-comment-label {
	margin: 0 0 6px;
	font-family: var(--font-sans);
	font-size: 1.2rem;
	color: var(--nsf-green-muted);
}

.nsf .property-comment {
	margin: 0;
	max-width: 480px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.7px;
}

.nsf .properties-more {
	position: relative;
	text-align: center;
}

/* = Service（4th）
-------------------------------------------------------------- */
.nsf .service-sec {
	padding: 100px 0 110px;
}

.nsf .service-ttl-box {
	margin-bottom: 90px;
}

.nsf .service-row {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 60px;
}

.nsf .service-row::before {
	content: "";
	position: absolute;
	/* カード間の20px程度の余白の上下中央に区切り線を置く */
	top: -11px;
	left: 400px;
	width: 600px;
	height: 1px;
	background: var(--nsf-border);
}

.nsf .service-row + .service-row {
	margin-top: 20px;
}

.nsf .service-row:last-child::after {
	content: "";
	position: absolute;
	bottom: -11px;
	left: 400px;
	width: 600px;
	height: 1px;
	background: var(--nsf-border);
}

.nsf .service-photo {
	flex: none;
	width: 340px;
	height: 419px;
}

.nsf .service-body {
	flex: 1 1 auto;
}

.nsf .service-label {
	margin: 0 0 40px;
	font-family: var(--font-garamond);
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.9px;
}

.nsf .service-ttl {
	margin: 0 0 48px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 3.4rem;
	line-height: 1.4;
	letter-spacing: 0.68px;
	color: var(--nsf-green);
}

.nsf .service-subttl {
	margin: 0 0 30px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.4px;
}

.nsf .service-desc {
	margin: 0;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.7px;
}

/* = About link（5th）
-------------------------------------------------------------- */
.nsf .about-link-sec {
	padding: 0 0 150px;
	text-align: center;
}

.nsf .about-link-ttl {
	margin: 0 0 40px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 3.8rem;
	letter-spacing: 0.76px;
}

.nsf .about-link-text {
	margin: 0 auto 64px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.7px;
}

/* = TOPページ Responsive
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	.nsf .nsf-mv {
		height: 560px;
	}

	.nsf .nsf-mv-content {
		bottom: 30px;
	}

	.nsf .nsf-mv-catch {
		font-size: 2.2rem;
		letter-spacing: 1px;
	}

	.nsf .nsf-mv-lead {
		font-size: 1.3rem;
		line-height: 1.8;
	}

	.nsf .concept-sec {
		padding: 60px 0 60px;
	}

	.nsf .concept-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 40px;
	}

	.nsf .concept-vtitle {
		order: -1;
		margin-top: 0;
		writing-mode: horizontal-tb;
		font-size: 2.4rem;
		letter-spacing: 2px;
	}

	/* SPは横書きの通常見出しに戻すため、デスクトップ専用の段違い・罫線を解除 */
	.nsf .concept-vtitle-col {
		padding-right: 0;
	}

	.nsf .concept-vtitle-col--1 {
		padding-left: 0;
	}

	.nsf .concept-vtitle-col::after {
		display: none;
	}

	.nsf .concept-vtitle-col--2 {
		margin-top: 0;
	}

	.nsf .concept-body {
		order: 0;
		padding-top: 0;
	}

	.nsf .concept-photos {
		order: 1;
		width: 258px;
		height: 774px;
		margin: 0 auto;
	}

	.nsf .service-sec {
		padding: 60px 0;
	}

	.nsf .properties-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 30px;
	}

	.nsf .property-list {
		grid-template-columns: 1fr;
		gap: 50px;
		margin-bottom: 40px;
	}

	.nsf .service-ttl-box {
		margin-bottom: 40px;
	}

	.nsf .service-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.nsf .service-row::before,
	.nsf .service-row:last-child::after {
		left: 0;
		width: 100%;
	}

	.nsf .service-row + .service-row {
		margin-top: 40px;
	}

	.nsf .service-photo {
		width: 100%;
		height: 240px;
	}

	.nsf .service-ttl {
		font-size: 2.4rem;
	}

	.nsf .about-link-sec {
		padding-bottom: 60px;
	}

	.nsf .about-link-ttl {
		font-size: 2.4rem;
	}
}

/* ==========================================================================
   3. 施工事例詳細ページ専用（case-detail.html）
   ========================================================================== */

/* = パンくず
-------------------------------------------------------------- */
.nsf .breadcrumb-sec {
	/* padding-left/rightはnsf-content-widthの値を維持するため、ショートハンドで上書きしない */
	padding-top: 18px;
	padding-bottom: 18px;
}

.nsf .breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
}

.nsf .breadcrumb-list li {
	display: flex;
	align-items: center;
	gap: 14px;
}

.nsf .breadcrumb-list li:not(:last-child)::after {
	content: "";
	width: 5px;
	height: 7px;
	background: url(../images/nsf/icon-breadcrumb-chevron.svg) center / contain no-repeat;
}

.nsf .breadcrumb-list a {
	color: var(--nsf-green);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.nsf .breadcrumb-list span {
	color: var(--nsf-text);
}

/* = 物件タイトルエリア
-------------------------------------------------------------- */
.nsf .case-head-sec {
	/* position:fixed のヘッダー分の高さを確保 */
	overflow: hidden;
	padding: 120px 0 90px;
}

.nsf .case-label {
	margin: 0 0 12px;
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	color: #b2b1b1;
}

.nsf .case-ttl {
	margin: 0 0 20px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 4.2rem;
	letter-spacing: 0.84px;
}

.nsf .case-head-sec .property-tags {
	margin-bottom: 22px;
}

.nsf .case-subttl {
	margin: 0 0 24px;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.44px;
}

/* = 写真スライダー（ギャラリー）
   サイト本体のSlick（scripts/slick/）+ myscripts.js の slickSetting() をそのまま流用。
   スクリプト側が `.js-slick-gallery` / `.js-slick-gallery-nav` を対象にslick初期化し、
   矢印要素（.gallery-btn-prev等）もスクリプトが自動生成するため、HTML側で用意する必要はない。
   ここで指定するクラス名（.case-slider-*）はレイアウト用の独自クラスで、
   サイト本体が使っている .case-gallery* とは別名にして衝突を避けている。
   矢印クラス（.gallery-btn-prev等）はmyscripts.js内にハードコードされておりサイト本体のstyle.cssにも
   同名のルールがあるため、詳細度で確実に上書きできるよう必ず `.page-saisei-fudousan` を付けて上書きする。
-------------------------------------------------------------- */
.nsf .case-slider {
	position: relative;
	margin-bottom: 40px;
}

/* slick.jsは.gallery-btn-prev/.slick-list/.gallery-btn-nextの3つを.case-slider-mainの
   直接の子要素（この順番）として生成するため、.case-slider-main自体をflex行にして
   矢印ぶんのスペースを常にレイアウト上で確保する。
   こうすることで、画像側の余白の有無に関わらず矢印は必ず画像の外側・画面内に収まる
   （画面幅が足りない時は矢印を欠けさせず、画像側(.slick-list)が先に縮む）。 */
.nsf .case-slider-main {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	width: 992px;
	max-width: 100%;
	margin: 0 auto;
}

.nsf .case-slider-main .slick-list {
	flex: 1 1 auto;
	min-width: 0;
}

/* slick.jsは新しくラップ要素を作らず、この.case-slider-slide自体に直接.slick-slide等のクラスを付与する */
.nsf .case-slider-main .case-slider-slide {
	height: 516px;
	background: var(--nsf-bg);
}

/* 写真を切り抜かず、枠内に全体が収まるように表示する（はみ出す余白は背景色で埋める） */
.nsf .case-slider-main .case-slider-slide img {
	object-fit: contain;
}

/* slick.jsは独自クラス(.gallery-btn-prev等)にも内部的に.slick-arrow/.slick-prev/.slick-nextを
   付与するため、slick-theme.cssの既定の矢印アイコン（:beforeの文字アイコン）を明示的に打ち消す */
.nsf .gallery-btn-prev:before,
.nsf .gallery-btn-next:before,
.nsf .gallery-nav-btn-prev:before,
.nsf .gallery-nav-btn-next:before {
	content: none;
}

/* サイト本体style.cssの無印.gallery-btn-prev/.gallery-btn-nextルールが
   top:50%とtransform:translateY(-50%)を持っており、
   本来position:absolute前提の値がposition:relativeの当ルールにも一部残ってしまい、
   矢印の上下位置がズレる原因になっていた。top/transformを明示的にリセットする。 */
.nsf .gallery-btn-prev,
.nsf .gallery-btn-next {
	position: relative;
	top: auto;
	transform: none;
	flex: none;
	z-index: 5;
	width: 80px;
	height: 80px;
	background: url(../images/nsf/icon-arrow-circle.svg) center / contain no-repeat;
	border: none;
	cursor: pointer;
}

.nsf .gallery-btn-next {
	transform: rotate(180deg);
}

.nsf .gallery-btn-prev:hover,
.nsf .gallery-btn-next:hover {
	opacity: 0.7;
}

.nsf .case-slider-nav {
	position: relative;
	width: 450px;
	max-width: 100%;
	margin: 20px auto 0;
}

.nsf .case-slider-thumb {
	height: 64px;
	margin: 0 5px;
	cursor: pointer;
	opacity: 0.5;
	border: 2px solid transparent;
	box-sizing: border-box;
}

/* slick.jsは新しくラップ要素を作らず、既存の要素に直接.slick-slide/.slick-current等のクラスを付与する */
.nsf .case-slider-nav .case-slider-thumb.slick-current {
	opacity: 1;
	border-color: var(--nsf-green);
}

/* サムネイル行に矢印は出さない（デザイン上、常に全件表示のシンプルな並びのため） */
.nsf .gallery-nav-btn-prev,
.nsf .gallery-nav-btn-next {
	display: none;
}

.nsf .case-desc {
	margin: 0 0 60px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.7px;
}

.nsf .case-head-sec .btn-pill {
	display: flex;
	width: 430px;
	max-width: 100%;
	margin: 0 auto;
}

/* = DATABASE（基本情報）
-------------------------------------------------------------- */
.nsf .database-sec .nsf-ttl-box {
	margin-bottom: 85px;
}

.nsf .spec-table {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 60px;
	margin-bottom: 60px;
}

.nsf .spec-item {
	/*position: relative;*/
	display: flex;
	align-items: baseline;
	font-family: var(--font-sans);
	font-size: 1.4rem;
}

/*.nsf .spec-item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #44714a;
}

.nsf .spec-item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 158px;
	height: 1px;
	background: #2f5234;
}*/

.nsf .spec-item dt,
.nsf .spec-item dd {
	padding: 15px 0;
	border-top-width: 1px;
	border-top-style: solid;
}

.nsf .spec-item dt {
	flex: none;
	width: 168px;
	margin: 0;
	letter-spacing: 0.42px;
	border-color: #2f5234;
}

.nsf .spec-item dd {
	flex-grow: 1;
	margin: 0;
	border-color: #44714a;
}

.nsf .spec-item:nth-last-child(-n+2) dt,
.nsf .spec-item:nth-last-child(-n+2) dd {
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.nsf .case-map {
	margin-bottom: 40px;
}

.nsf .case-map iframe {
	width: 100%;
	height: 400px;
}

.nsf .architect-comment {
	position: relative;
	padding: 30px 30px 34px;
	border-radius: 10px;
	background: #2f5234;
}

.nsf .architect-comment-label {
	margin: 0 0 10px;
	font-family: var(--font-sans);
	font-size: 1.8rem;
}

.nsf .architect-comment ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsf .architect-comment li {
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
}

/* = PLAN（プランシミュレーション）
-------------------------------------------------------------- */
.nsf .plan-sec {
	padding: 130px 0 150px;
}

.nsf .plan-block + .plan-block {
	margin-top: 90px;
}

.nsf .plan-block-ttl {
	margin: 0 0 40px;
	padding-top: 40px;
	border-top: 1px solid var(--nsf-border);
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 3.4rem;
	letter-spacing: 0.68px;
	color: var(--nsf-green);
}

.nsf .floorplan-img {
	margin-bottom: 0;
}

.nsf .plan-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.nsf .plan-card {
	position: relative;
	overflow: hidden;
	border: 1px solid #c4c2bf;
	border-radius: 10px;
	background: #fff;
}

.nsf .plan-card::before {
	content: "";
	position: absolute;
	top: 26px;
	left: 0;
	width: 6px;
	height: 40px;
	border-radius: 0 10px 10px 0;
	background: var(--nsf-green);
}

.nsf .plan-card-header {
	padding: 14px 26px 20px;
}

.nsf .plan-card-name {
	margin: 0;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.44px;
	color: var(--nsf-green);
}

.nsf .plan-card-price {
	margin: 20px 0 0;
	text-align: right;
	font-family: var(--font-mincho);
	font-weight: 500;
	font-size: 3.4rem;
	letter-spacing: 0.68px;
	color: #253e29;
}

.nsf .plan-card-price span {
	margin-left: 6px;
	font-weight: 700;
	font-size: 1.8rem;
}

.nsf .plan-card-divider {
	border-top: 1px solid #e6e6e6;
}

.nsf .plan-card-photo {
	height: 260px;
	margin: 26px 26px 0;
	width: auto;
}

.nsf .plan-card-desc {
	margin: 0;
	padding: 20px 26px 26px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	line-height: 2.15;
	letter-spacing: 0.28px;
	color: #253e29;
}

/* = INQUIRY（物件問い合わせフォーム）
-------------------------------------------------------------- */
.nsf .inquiry-sec {
	position: relative;
	padding: 130px 0;
	border-top: 1px solid var(--nsf-border);
}

.nsf .inquiry-sec .nsf-content-width {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 40px;
}

.nsf .inquiry-sec .nsf-ttl-box {
	flex: none;
	margin-bottom: 0;
}

.nsf .inquiry-form {
	/* flex:noneだと兄弟の.nsf-ttl-box分を考慮せず600pxを維持しようとして、
	   画面幅1000px前後でコンテナからはみ出していた。
	   flex-shrinkを許可し、狭い時は.nsf-ttl-boxを優先してこちらが先に縮むようにする */
	flex: 1 1 auto;
	min-width: 0;
	width: 600px;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 60px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 10px 40px rgba(60, 54, 54, 0.08);
}

.nsf .form-row + .form-row {
	margin-top: 30px;
}

.nsf .form-label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	color: #3c3f45;
}

.nsf .form-required,
.nsf .form-optional {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 21px;
	padding: 0 10px;
	border-radius: 4px;
	font-size: 1.1rem;
	line-height: 1;
}

.nsf .form-required {
	background: var(--nsf-text);
	color: #fff;
}

.nsf .form-optional {
	background: #d9d9d9;
	color: #adadad;
}

.nsf .inquiry-form input[type="text"],
.nsf .inquiry-form input[type="tel"],
.nsf .inquiry-form input[type="email"],
.nsf .inquiry-form textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 18px 20px;
	border: 1px solid #ebebeb;
	border-radius: 4px;
	background: #fff;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	color: var(--nsf-text);
}

.nsf .inquiry-form textarea {
	height: 90px;
	resize: vertical;
}

.nsf .form-address-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.nsf .form-postal-mark {
	font-family: var(--font-sans);
	font-size: 1.4rem;
}

.nsf .form-postal-input {
	width: 200px !important;
}

.nsf .form-check-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nsf .form-check-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	color: #3c3f45;
}

.nsf .form-check-item input {
	width: 20px;
	height: 20px;
	margin: 0;
	border: 1px solid #ebebeb;
	border-radius: 4px;
}

.nsf .btn-submit {
	display: block;
	width: 100%;
	margin-top: 40px;
	padding: 18px 0;
	border: none;
	border-radius: 4px;
	background: var(--nsf-green);
	color: #fff;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	letter-spacing: 0.7px;
	cursor: pointer;
}

.nsf .btn-submit:hover {
	opacity: 0.85;
}

/* = 施工事例詳細ページ Responsive
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	.nsf .case-head-sec {
		padding-bottom: 60px;
	}

	.nsf .case-ttl {
		font-size: 2.6rem;
	}

	.nsf .case-subttl {
		font-size: 1.8rem;
	}

	.nsf .case-slider-main {
		width: 100%;
		gap: 8px;
	}

	.nsf .case-slider-main .slick-slide {
		height: 280px;
	}

	/* SPは矢印を小さくするのみ。矢印ぶんのスペースはflexで確保済みなので、
	   常に画面内・画像とも非重複のまま縮小できる */
	.nsf .gallery-btn-prev,
	.nsf .gallery-btn-next {
		width: 32px;
		height: 32px;
	}

	.nsf .case-slider-nav {
		width: 100%;
		max-width: 390px;
	}

	.nsf .case-slider-thumb {
		height: 52px;
		margin: 0 3px;
	}

	.nsf .case-head-sec .btn-pill {
		width: 100%;
		height: 56px;
	}

	.nsf .database-sec .nsf-ttl-box {
		margin-bottom: 40px;
	}

	.nsf .spec-table {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.nsf .spec-item dt {
		width: 120px;
	}

	.nsf .spec-item:nth-last-child(2) dt,
	.nsf .spec-item:nth-last-child(2) dd {
		border-bottom: none;
	}

	.nsf .case-map iframe {
		height: 240px;
	}

	.nsf .plan-sec {
		padding: 60px 0;
	}

	.nsf .plan-block + .plan-block {
		margin-top: 60px;
	}

	.nsf .plan-cards {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.nsf .plan-card-header {
		padding: 14px 20px 16px;
	}

	.nsf .plan-card-price {
		font-size: 2.8rem;
	}

	.nsf .plan-card-photo {
		margin: 20px 20px 0;
	}

	.nsf .plan-card-desc {
		padding: 16px 20px 20px;
	}

	.nsf .inquiry-sec {
		padding: 60px 0;
	}

	.nsf .inquiry-sec .nsf-content-width {
		flex-direction: column;
		gap: 30px;
	}

	.nsf .inquiry-sec .nsf-ttl-box {
		margin-bottom: 0;
	}

	.nsf .inquiry-form {
		width: 100%;
		padding: 30px 20px;
	}

	.nsf .form-postal-input {
		width: 140px !important;
	}
}

/* ==========================================================================
   4. 一覧・アーカイブ系ページ専用（properties-list.html＝取扱不動産一覧。
      投稿一覧ページ・お問い合わせサンクスページ等も .page-fv-sec を共用する）
   ========================================================================== */

/* = 一覧カード（TOPページの.property-cardを白背景カードとして再構成。
     写真/タグ/タイトル/価格/コメントの各パーツはTOPページと共通のクラスをそのまま使用） */
.nsf .archive-sec {
	padding: 0 0 150px;
}

.nsf .archive-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-bottom: 70px;
}

.nsf .archive-card {
	display: block;
	overflow: hidden;
	border: 1px solid #c4c2bf;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(60, 54, 54, 0.06);
	transition: box-shadow 0.2s ease;
}

.nsf .archive-card:hover {
	box-shadow: 0 14px 36px rgba(60, 54, 54, 0.12);
}

.nsf .archive-card .property-photo {
	height: 280px;
	margin-bottom: 0;
}

.nsf .archive-card-body {
	padding: 26px 30px 30px;
}

.nsf .archive-card .property-tags {
	margin-bottom: 18px;
}

/* = ページャー
-------------------------------------------------------------- */
.nsf .pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.nsf .pager-list {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsf .pager-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	box-sizing: border-box;
	border-radius: 50%;
	font-family: var(--font-mincho);
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--nsf-text);
	transition: opacity 0.2s ease;
}

.nsf .pager-num:hover {
	opacity: 0.6;
}

.nsf .pager-num.is-current {
	background: var(--nsf-green);
	color: #fff;
}

.nsf .pager-ellipsis {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	font-family: var(--font-sans);
	color: var(--nsf-green-muted);
}

.nsf .pager-arrow {
	position: relative;
	flex: none;
	width: 42px;
	height: 42px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 1px solid var(--nsf-border);
	transition: opacity 0.2s ease;
}

.nsf .pager-arrow::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 9px;
	height: 8px;
	background: url(../images/nsf/icon-arrow-right.svg) center / contain no-repeat;
}

.nsf .pager-arrow--prev::after {
	transform: rotate(180deg);
}

.nsf .pager-arrow:hover {
	opacity: 0.6;
}

.nsf .pager-arrow.is-disabled {
	opacity: 0.3;
	pointer-events: none;
}

/* = 一覧・アーカイブ系ページ Responsive
-------------------------------------------------------------- */
@media screen and (max-width: 768px) {
	.nsf .archive-sec {
		padding-bottom: 60px;
	}

	.nsf .archive-list {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-bottom: 50px;
	}

	.nsf .archive-card .property-photo {
		height: 220px;
	}

	.nsf .archive-card-body {
		padding: 20px;
	}

	.nsf .pager {
		gap: 14px;
	}

	.nsf .pager-list {
		gap: 8px;
	}

	.nsf .pager-num,
	.nsf .pager-arrow,
	.nsf .pager-ellipsis {
		width: 36px;
		height: 36px;
		font-size: 1.4rem;
	}
}
