.nst-satei-land {
	max-width: 640px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
	color: #222;
	line-height: 1.6;
}
.nst-satei-form { display: flex; flex-direction: column; gap: 18px; }
.nst-field { display: flex; flex-direction: column; gap: 6px; }
.nst-field-row { display: flex; gap: 16px; flex-wrap: wrap; }
.nst-field-row .nst-field { flex: 1; min-width: 180px; }
.nst-field label { font-weight: 600; font-size: 0.92rem; }
.nst-required, .nst-optional {
	display: inline-block;
	margin-left: 6px;
	font-size: 0.68rem;
	font-weight: 700;
	padding: 1px 7px;
	border-radius: 999px;
	vertical-align: middle;
}
.nst-required { background: #fde8e6; color: #a8433a; }
.nst-optional { background: #eef1e9; color: #5b675c; }
.nst-satei-form input[type="text"],
.nst-satei-form input[type="number"],
.nst-satei-form select {
	font-size: 1rem;
	padding: 9px 10px;
	border: 1px solid #ccd2c8;
	border-radius: 7px;
	background: #fff;
	color: #222;
	width: 100%;
	box-sizing: border-box;
}
.nst-address-row { display: flex; gap: 8px; flex-wrap: wrap; }
.nst-address-row input { flex: 1; min-width: 160px; }
.nst-hint { font-size: 0.82rem; color: #667; margin: 0; }
#nst-map {
	width: 100%;
	height: 320px;
	border-radius: 8px;
	border: 1px solid #ccd2c8;
}
.nst-btn-primary, .nst-btn-secondary {
	font-family: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	border: none;
	border-radius: 7px;
	cursor: pointer;
	padding: 11px 16px;
}
.nst-btn-primary { background: #1f6f5c; color: #fff; }
.nst-btn-primary:hover { filter: brightness(1.07); }
.nst-btn-secondary { background: #eef1e9; color: #1f6f5c; white-space: nowrap; }
.nst-btn-secondary:hover { background: #e0e6d9; }

.nst-result {
	margin-top: 26px;
	border: 1px solid #ccd2c8;
	border-radius: 10px;
	padding: 20px;
	background: #f7f8f5;
}
.nst-result-price { font-size: 0.9rem; color: #556; margin: 0 0 4px; }
.nst-result-price strong {
	display: block;
	font-size: 2rem;
	color: #1f6f5c;
	font-weight: 700;
	margin-top: 2px;
}
.nst-result-table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
	font-size: 0.88rem;
}
.nst-result-table th, .nst-result-table td {
	text-align: left;
	padding: 6px 4px;
	border-bottom: 1px solid #e2e6da;
}
.nst-result-table th { width: 45%; color: #556; font-weight: 500; }
.nst-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 999px;
	margin-left: 6px;
}
.nst-badge-high { background: #dcece5; color: #1f6f5c; }
.nst-badge-medium { background: #f2e6cd; color: #a1701f; }
.nst-badge-low, .nst-badge-fixed { background: #f4dcd7; color: #a8433a; }
.nst-caveat {
	font-size: 0.82rem;
	background: #fdf3e3;
	border-left: 3px solid #d9a750;
	padding: 8px 12px;
	margin: 8px 0;
	border-radius: 4px;
}
.nst-error {
	font-size: 0.85rem;
	color: #a8433a;
	background: #f4dcd7;
	padding: 8px 12px;
	border-radius: 6px;
}
.nst-disclaimer {
	font-size: 0.78rem;
	color: #667;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #e2e6da;
}
.nst-cta {
	margin-top: 14px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.nst-cta a {
	display: inline-block;
	background: #1f6f5c;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	padding: 10px 16px;
	border-radius: 7px;
	font-size: 0.9rem;
}
@media (max-width: 480px) {
	#nst-map { height: 260px; }
	.nst-result-price strong { font-size: 1.6rem; }
}

/**
 * house-form.css
 * 戸建て査定フォーム専用の追加スタイル。共通のクラス(.nst-field, .nst-btn-primary, .nst-result 等)は
 * land-form.css で定義済みのものをそのまま再利用する(このプラグインは両CSSを常に併せて読み込む)。
 * ここでは、土地査定フォームの ".nst-satei-land" ルート・"#nst-map" に対応する
 * 戸建てフォーム側の要素にのみ、同じ見た目を与えるための最小限のルールを追加する。
 */
.nst-satei-house {
	max-width: 640px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
	color: #222;
	line-height: 1.6;
}
#nst-house-map {
	width: 100%;
	height: 320px;
	border-radius: 8px;
	border: 1px solid #ccd2c8;
}
@media (max-width: 480px) {
	#nst-house-map { height: 260px; }
}

/**
 * mansion-form.css
 * マンション(区分建物)査定フォーム専用の追記スタイル。共通のクラス(.nst-field, .nst-btn-primary,
 * .nst-result 等)は land-form.css の定義をそのまま再利用する(このフォームには地図がないため
 * 追加は最小限のコンテナ幅指定のみ)。
 */
.nst-satei-mansion {
max-width: 640px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
color: #222;
line-height: 1.6;
}
