/* nagoya-setsuritsu front.css（トップ専用。接頭辞 nstf-）
   ver は NST_ASSET_VER で管理。theme.css のあとに読む。
   色は theme.css の :root の --nst-* だけを使う。Webフォント・アイコンフォントは読み込まない。 */

/* ===== 土台 ===== */
body.home .nst-main { max-width: 100%; padding: 0; }

.nstf-wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; width: 100%; }

.nstf-h2 { font-weight: 700; line-height: 1.5; margin: 0 0 .6rem; }


.nstf-map { width: 100%; height: auto; display: block; }
.nstf-map-credit { font-size: 0.844rem; color: var(--nst-muted); margin: .4rem 0 0; }


/* ===== 2. ヒーロー ===== */
.nstf-hero {
	position: relative; overflow: hidden;
	background: linear-gradient(135deg, var(--nst-navy), var(--nst-navy-deep));
	color: #fff;
	padding: 2.6rem 0 3.4rem;
	isolation: isolate;
}
.nstf-hero-map { position: absolute; inset: 0; overflow: hidden; z-index: -2; pointer-events: none; }
.nstf-hero-map svg {
	position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: min(560px, 47%); height: auto;
}
.nstf-hero-map .nstf-map-line { opacity: .2; }
.nstf-hero-map .nstf-map-heropins text {
	fill: #fff; font-size: 26.5px; font-weight: 700;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.nstf-hero-map .nstf-map-heropins { opacity: .92; }

.nstf-hero-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.nstf-hero-shachi { position: absolute; right: 21%; top: 62%; transform: translateY(-50%) rotate(-6deg); line-height: 0; color: #ffffff; }
.nstf-hero-castle { position: absolute; right: 4%; bottom: 4%; line-height: 0; color: rgba(255,255,255,.38); }

.nstf-hero-title {
	font-size: clamp(1.5rem, 4.4vw, 2.4rem); line-height: 1.45; font-weight: 700; margin: 0 0 .9rem;
	text-shadow: 0 2px 10px rgba(14,32,64,.5);
}
.nstf-hero-lead { color: #efe2cd; max-width: 540px; font-size: 1rem; margin: 0; }

.nstf-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 1rem; margin-top: 1.6rem; max-width: 700px; }
.nstf-route { display: flex; flex-direction: column; gap: .25rem; color: #fff; border-radius: 12px; padding: 1.05rem 1.2rem; }
.nstf-route:hover { text-decoration: none; }
.nstf-route-tag { font-size: 0.844rem; letter-spacing: .05em; color: var(--nst-gold); font-weight: 700; }
.nstf-route-title { font-size: 1.156rem; font-weight: 700; line-height: 1.5; }
.nstf-route-desc { font-size: 0.906rem; color: #ded0bb; }

/* 1枚目：左に太い金の縦線 */
.nstf-route--new { background: rgba(255,255,255,.1); border-left: 6px solid var(--nst-gold); }
.nstf-route--new:hover { background: rgba(255,255,255,.18); }
/* 2枚目：枠線＋右下に矢印（形を変える） */
.nstf-route--after {
	position: relative; background: transparent; border: 1px solid rgba(255,255,255,.45);
	flex-direction: row; align-items: flex-end; justify-content: space-between; gap: .8rem;
}
.nstf-route--after:hover { background: rgba(255,255,255,.1); }
.nstf-route-body { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.nstf-route-arrow {
	flex: 0 0 auto; width: 30px; height: 30px; border-radius: 999px;
	background: var(--nst-gold); color: var(--nst-navy-deep);
	display: flex; align-items: center; justify-content: center; font-weight: 700; line-height: 1;
}

.nstf-hero-wave { position: absolute; left: 0; right: 0; bottom: 0; line-height: 0; opacity: .55; }

/* ヒーロー画像（抽象化した街の地図＋ピン3本＋天守のシルエット。透過WebP）
   PC：文章の右の列に置く。愛知の線画地図は背景のまま残し（画像のまわりに輪郭がのぞく）、
       画像と重なって読めなくなる地図上のピン名・鯱・天守の線画は隠す（ピン名は次の管轄マップに同じ内容がある）。
   1023px 以下：ルートの下に小さく置く（背景の地図・鯱は従来どおり） */
.nstf-hero-img { display: block; width: 100%; max-width: 340px; height: auto; margin: 1.6rem auto 0; filter: drop-shadow(0 10px 18px rgba(20,8,0,.25)); }
@media (min-width: 1024px) {
	.nstf-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 2.4rem; align-items: center; }
	.nstf-hero-inner > * { grid-column: 1; }
	.nstf-hero-inner > .nstf-hero-img { grid-column: 2; grid-row: 1 / span 3; max-width: none; margin: 0; }
	.nstf-hero-map .nstf-map-heropins { display: none; }
	.nstf-hero-art { display: none; }
}

@media (max-width: 860px) {
	.nstf-hero-map svg { right: -22%; width: 128%; }
	.nstf-hero-map .nstf-map-heropins { opacity: .42; }
	.nstf-hero-shachi { right: -14%; top: 4%; transform: rotate(-8deg) scale(.8); opacity: .3; }
	.nstf-hero-castle { display: none; }
	.nstf-route--after { flex-direction: column; align-items: flex-start; }
}

/* ===== 3. 管轄マップ ===== */
.nstf-juri { background: var(--nst-bg); padding: 2.6rem 0 2.4rem; }
.nstf-juri-head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.4rem; }
.nstf-juri-motif { flex: 0 0 auto; color: var(--nst-navy); line-height: 0; }
.nstf-h2--juri { font-size: clamp(1.375rem,3.4vw,1.906rem); border-left: 6px solid var(--nst-red); padding-left: .7rem; }
.nstf-juri-lead { margin: .5rem 0 0; font-size: 1rem; color: var(--nst-text); }

.nstf-juri-grid { display: flex; flex-wrap: wrap; gap: 1.6rem; align-items: flex-start; }
.nstf-juri-map { flex: 1 1 min(100%, 520px); margin: 0; background: #fff; border: 1px solid var(--nst-border); border-radius: 12px; padding: 1rem; }
.nstf-juri-index { flex: 1 1 min(100%, 320px); display: flex; flex-direction: column; gap: 1.1rem; }

.nstf-legend { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; list-style: none; padding: 0; margin: .6rem 0 0; font-size: 0.938rem; }
.nstf-legend li { display: flex; align-items: center; gap: .4rem; }
.nstf-swatch { width: 18px; height: 12px; border-radius: 3px; display: inline-block; }
.nstf-swatch--navy { background: #dcc39c; border: 2px solid var(--nst-navy); }
.nstf-swatch--red { background: #f0d2c2; border: 2px solid var(--nst-red); }

/* 索引の2ブロックは形を変える */
.nstf-office--main { background: #fff; border: 1px solid var(--nst-border); border-top: 4px solid var(--nst-navy); border-radius: 12px; padding: 1rem 1.1rem 1.2rem; }
.nstf-office--branch { background: #f7e6dc; border-left: 4px solid var(--nst-red); border-radius: 0 12px 12px 0; padding: 1rem 1.1rem 1.2rem; }
.nstf-office-title { font-size: 1.125rem; margin: 0 0 .4rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; }
.nstf-pinno { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.844rem; background: var(--nst-navy); color: #fff; border-radius: 999px; padding: .1rem .6rem; }
.nstf-office-eyebrow { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.844rem; color: var(--nst-red); margin: 0; font-weight: 700; }
.nstf-office-title2 { font-size: 1.125rem; margin: .1rem 0 .3rem; }
.nstf-office-addr { font-size: 0.906rem; color: var(--nst-text); margin: 0 0 .7rem; line-height: 1.7; }

.nstf-mlist { list-style: none; padding: 0; margin: 0; font-size: 0.938rem; }
.nstf-mlist li { display: flex; align-items: baseline; gap: .4rem; }
.nstf-mno { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.813rem; color: var(--nst-muted); }
.nstf-mlist--two { columns: 2; column-gap: 1.2rem; }
.nstf-mlist--two li { break-inside: avoid; }
.nstf-mlist--chip { display: flex; flex-wrap: wrap; gap: .3rem .5rem; }
.nstf-mlist--chip li { background: #fff; border: 1px solid #eccfbe; border-radius: 999px; padding: .1rem .6rem; }

.nstf-aftersource { font-size: 0.906rem; color: var(--nst-muted); margin: .5rem 0 0; }

@media (max-width: 420px) { .nstf-mlist--two { columns: 1; } }

/* ===== 4. 公証役場 ===== */
.nstf-kosho { background: #fff; padding: 2.6rem 0; border-top: 1px solid var(--nst-border); }
.nstf-kosho-map { float: right; width: 210px; margin: 0 0 1rem 1.8rem; }
.nstf-h2--kosho { font-size: clamp(1.313rem,3.3vw,1.75rem); border-bottom: 3px solid var(--nst-gold); padding-bottom: .4rem; display: inline-block; }
.nstf-kosho-lead { font-size: 1rem; margin: .7rem 0 0; }

.nstf-kosho-label { font-weight: 700; font-size: 1rem; margin: 1rem 0 .6rem; display: flex; align-items: center; gap: .5rem; }
.nstf-kosho-label-motif { line-height: 0; color: var(--nst-navy); }

/* 路線図 */
.nstf-rosen { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.nstf-rosen-end { flex: 0 0 auto; line-height: 0; color: var(--nst-navy); }
.nstf-rosen-list {
	flex: 1 1 min(100%, 420px); position: relative; list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: .8rem;
}
.nstf-rosen-list::before {
	content: ""; position: absolute; left: 6%; right: 6%; top: 36px; height: 3px;
	background: var(--nst-navy); border-radius: 2px; z-index: 0;
}
.nstf-stop { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .25rem; }
.nstf-jubako { display: block; }
.nstf-stop-name { font-weight: 700; font-size: 1rem; }
.nstf-stop-addr { font-size: 0.875rem; color: var(--nst-muted); line-height: 1.6; }

.nstf-kosho .nstf-source { clear: both; }
.nstf-koshochips { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; padding: 0; margin: 0 0 1.2rem; }
.nstf-koshochips li { background: #f4ece0; color: var(--nst-navy); border-radius: 999px; padding: .25rem .9rem; font-size: 0.938rem; }

@media (max-width: 560px) { .nstf-rosen-list::before { display: none; } }
@media (max-width: 700px) { .nstf-kosho-map { float: none; width: 210px; margin: 0 0 1rem; } }

/* ===== 5. 数字で見る（凡例型） ===== */
.nstf-stats { position: relative; overflow: hidden; background: #f4ece0; padding: 2.6rem 0; margin: 0; }
.nstf-stats .nstf-wrap { position: relative; }
.nstf-stats-art { position: absolute; right: -40px; top: 40%; color: var(--nst-navy); opacity: .1; line-height: 0; pointer-events: none; }
.nstf-h2--stats { font-size: clamp(1.313rem,3.3vw,1.75rem); margin-bottom: 1.2rem; }
.nstf-statrows { list-style: none; margin: 0; padding: 0; position: relative; }
.nstf-statrow {
	display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem;
	padding: .9rem 0; border-bottom: 1px solid var(--nst-border);
}
.nstf-statrow:first-child { border-top: 1px solid var(--nst-border); }
.nstf-statmark { flex: 0 0 auto; color: var(--nst-navy); line-height: 0; }
.nstf-statvalue { flex: 0 0 auto; font-size: 1.656rem; font-weight: 700; color: var(--nst-navy); line-height: 1.2; }
.nstf-statrow--big { padding: 1.4rem 0; }
.nstf-statrow--big .nstf-statvalue { font-size: 2.313rem; }
.nstf-statlabel { flex: 1 1 200px; font-size: 0.969rem; min-width: 0; }
.nstf-statsource { flex: 1 1 100%; }
.nstf-statsource .nstf-source { background: transparent; padding: 0; font-size: 0.844rem; }

/* ===== 6. カテゴリー索引 ===== */
.nstf-cats { background: #fff; padding: 2.6rem 0; border-top: 1px solid var(--nst-border); }
.nstf-cats-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.nstf-h2--cats { font-size: clamp(1.313rem,3.3vw,1.75rem); border-left: 6px solid var(--nst-navy); padding-left: .7rem; margin: 0; }
.nstf-cats-motif { line-height: 0; color: var(--nst-navy); opacity: .8; flex: 0 0 auto; }

.nstf-catgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); grid-auto-flow: row dense; gap: 12px; align-items: start; }
.nstf-catsep { grid-column: 1 / -1; line-height: 0; opacity: .8; }
.nstf-kishimen--sep { height: 18px; }

.nstf-cat { color: var(--nst-text); border-radius: 12px; overflow: hidden; }
.nstf-cat:hover { text-decoration: none; box-shadow: 0 4px 14px rgba(91, 56, 32,.1); }
.nstf-cat-no { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: var(--nst-red); font-weight: 700; white-space: nowrap; flex: 0 0 auto; }
.nstf-cat-name { font-weight: 700; font-size: 1.094rem; line-height: 1.5; }
.nstf-cat-desc { font-size: 1rem; color: var(--nst-muted); line-height: 1.8; }
.nstf-cat-count { font-size: 0.844rem; color: var(--nst-navy); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }
.nstf-cat-icon { color: var(--nst-navy); line-height: 0; display: block; }
.nstf-cat-icon svg { width: 34px; height: 34px; }

/* 変種A：番号を大きく左 */
.nstf-cat--num { display: flex; gap: .9rem; align-items: flex-start; background: #fff; border: 1px solid var(--nst-border); padding: 1rem 1.1rem; }
.nstf-cat--num .nstf-cat-no { font-size: 1.875rem; line-height: 1.1; }
.nstf-cat--num .nstf-cat-main { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }

/* 変種B：アイコンを右端、右揃え、count→name→desc */
.nstf-cat--icon { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: .3rem; background: #f4ece0; border: 1px solid var(--nst-border); padding: 1rem 1.1rem; }

/* 変種C：横長の帯。説明を先に大きく、名前と件数を後ろに小さく */
.nstf-cat--band { position: relative; display: block; background: var(--nst-navy); color: #fff; padding: 1rem 1.2rem; }
.nstf-cat--band .nstf-cat-desc { color: #efe2cd; font-size: 1rem; display: block; max-width: 78%; }
.nstf-cat--band .nstf-cat-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin-top: .5rem; }
.nstf-cat--band .nstf-cat-name { font-size: 0.938rem; color: var(--nst-gold); }
.nstf-cat--band .nstf-cat-count { color: #ded0bb; }
.nstf-cat-motif { position: absolute; right: 10px; bottom: 6px; line-height: 0; color: #fff; opacity: .14; pointer-events: none; }

/* 変種D：上段（番号＋アイコン＋件数）／下段（名前＋説明）の2段組み */
.nstf-cat--stack { display: block; background: #fff; border: 1px solid var(--nst-border); border-bottom: 4px solid var(--nst-gold); padding: 0; }
.nstf-cat--stack .nstf-cat-head { display: flex; align-items: center; gap: .7rem; background: #f4ece0; padding: .55rem 1.1rem; }
.nstf-cat--stack .nstf-cat-no { font-size: 1.094rem; }
.nstf-cat--stack .nstf-cat-count { margin-left: auto; }
.nstf-cat--stack .nstf-cat-main { display: flex; flex-direction: column; gap: .3rem; padding: .8rem 1.1rem 1rem; }

@media (min-width: 760px) { .nstf-cat--wide { grid-column: span 2; } }
@media (max-width: 640px) {
	.nstf-cat--band .nstf-cat-desc { max-width: 100%; }
	.nstf-cat-motif { display: none; }
}

/* ===== 7. 新着記事 ===== */
.nstf-recent { background: var(--nst-bg); padding: 2.6rem 0; }
.nstf-h2--recent { font-size: clamp(1.313rem,3.3vw,1.75rem); margin-bottom: 1.2rem; border-bottom: 3px solid var(--nst-navy); padding-bottom: .4rem; display: inline-block; }
.nstf-recent-grid { grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); align-items: start; }
.nstf-recent-grid .nst-card--img-left .nst-card-media,
.nstf-recent-grid .nst-card--img-right .nst-card-media {
	display: flex; align-items: center; background: #f4ece0;
}
.nstf-recent-grid .nst-card--img-left .nst-card-media img,
.nstf-recent-grid .nst-card--img-right .nst-card-media img {
	height: auto; width: 100%; aspect-ratio: 16/10; object-fit: contain;
}

/* ===== 8. 変わるもの・変わらないもの ===== */
.nstf-compare { background: #fff; padding: 2.6rem 0; border-top: 1px solid var(--nst-border); }
.nstf-h2--compare { font-size: clamp(1.281rem,3.2vw,1.719rem); }
.nstf-compare-lead { font-size: 1rem; margin: 0 0 1.4rem; color: var(--nst-text); }
.nstf-compare-grid { display: flex; flex-wrap: wrap; border: 1px solid var(--nst-border); border-radius: 12px; overflow: hidden; }
.nstf-col { flex: 1 1 min(100%, 400px); padding: 1.2rem 1.4rem 1.4rem; }
.nstf-col--same { background: #ffffff; }
.nstf-col--diff { background: #f4ece0; border-left: 3px solid var(--nst-navy); }
.nstf-col-title { font-size: 1.094rem; margin: 0 0 .8rem; padding-bottom: .4rem; border-bottom: 1px dashed var(--nst-border); }
.nstf-col-list { margin: 0; padding-left: 1.3rem; font-size: 1rem; }
.nstf-col-list li { margin-bottom: .7rem; }
.nstf-catlinks { display: flex; flex-wrap: wrap; gap: .3rem .5rem; margin-top: .3rem; font-size: 0.844rem; align-items: center; }
.nstf-arrow { color: var(--nst-muted); }
.nstf-catlink { background: #fff; border: 1px solid var(--nst-border); border-radius: 999px; padding: .05rem .6rem; }
.nstf-compare-foot { font-size: 0.938rem; color: var(--nst-muted); margin: .9rem 0 0; }

@media (max-width: 860px) {
	.nstf-col--diff { border-left: none; border-top: 3px solid var(--nst-navy); }
}

/* ===== 9. 特定創業支援等事業の順番図 ===== */
.nstf-steps { background: #f4ece0; padding: 2.6rem 0; }
.nstf-steps-head { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; margin-bottom: 1.4rem; }
.nstf-steps-head > div { flex: 1 1 min(100%, 520px); }
.nstf-steps-art { flex: 0 0 auto; width: 160px; height: 120px; background: #f4ece0; border: 1px dashed var(--nst-border); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--nst-navy); }
.nstf-h2--steps { font-size: clamp(1.281rem,3.2vw,1.719rem); }
.nstf-steps-lead { font-size: 1rem; margin: .6rem 0 0; }

.nstf-steplist { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.nstf-step { flex: 1 1 min(100%, 240px); background: #fff; border-radius: 12px; padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; }
.nstf-steparrow { flex: 0 0 auto; align-self: center; color: var(--nst-navy); font-size: 1.656rem; font-weight: 700; }
.nstf-step-label { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.844rem; color: var(--nst-red); font-weight: 700; letter-spacing: .06em; }
.nstf-step-title { font-size: 1.094rem; margin: 0; }
.nstf-step-body { font-size: 0.938rem; color: var(--nst-text); margin: 0; }
/* 3つの箱は同じ形にしない */
.nstf-step--1 { border-left: 6px solid var(--nst-navy); }
.nstf-step--1 .nstf-step-label { font-size: 1.219rem; }
.nstf-step--2 { padding-top: 0; overflow: hidden; }
.nstf-step-office { background: var(--nst-navy); color: #fff; font-size: 0.875rem; margin: 0 -1.1rem .6rem; padding: .4rem 1.1rem; }
.nstf-step--3 { border: 2px solid var(--nst-gold); }
.nstf-step-chips { display: flex; flex-wrap: wrap; gap: .3rem; list-style: none; margin: .3rem 0 0; padding: 0; }
.nstf-step-chips li { background: #f4ece0; color: var(--nst-navy); font-size: 0.844rem; border-radius: 999px; padding: .1rem .6rem; }
.nstf-step-badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .3rem; }
.nstf-badge { background: var(--nst-gold); color: var(--nst-navy-deep); font-size: 0.844rem; font-weight: 700; border-radius: 6px; padding: .15rem .55rem; }
.nstf-caution--steps { background: #f7e6dc; margin-top: 1.3rem; }
.nstf-steps-target { font-size: 0.875rem; color: var(--nst-muted); margin: .8rem 0 0; }

@media (max-width: 860px) {
	.nstf-steparrow { width: 100%; text-align: center; transform: rotate(90deg); }
	.nstf-steps-art { width: 100%; max-width: 160px; }
}

/* ===== 10. タグ索引 ===== */
.nstf-tags { background: #fff; padding: 2.6rem 0; border-top: 1px solid var(--nst-border); }
.nstf-tags-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .9rem; margin-bottom: 1.2rem; }
.nstf-h2--tags { font-size: clamp(1.313rem,3.3vw,1.75rem); margin: 0; }
.nstf-tags-note { font-size: 0.906rem; color: var(--nst-muted); margin: 0; }
.nstf-taggroup { margin-bottom: 1.6rem; }
.nstf-taggroup-title { font-size: 0.938rem; color: var(--nst-muted); font-weight: 700; margin: 0 0 .6rem; letter-spacing: .04em; }

/* グループ1：番号つきの横並びチップ */
.nstf-tagchips { display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; margin: 0; padding: 0; }
.nstf-tagchips a { display: inline-flex; align-items: baseline; gap: .4rem; background: #f4ece0; border-radius: 999px; padding: .25rem .85rem; font-size: 0.938rem; }
.nstf-tagchips a:hover { background: var(--nst-navy); color: #fff; text-decoration: none; }
.nstf-tagno { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 0.813rem; color: var(--nst-red); }
.nstf-tagchips a:hover .nstf-tagno, .nstf-tagchips a:hover .nstf-tagcount { color: var(--nst-gold); }
.nstf-tagcount { font-size: 0.813rem; color: var(--nst-muted); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }

/* グループ2：縦の索引リスト（右に件数） */
.nstf-taglist { margin: 0; columns: 2; column-gap: 2rem; }
.nstf-taglist-row { display: flex; align-items: baseline; gap: .5rem; border-bottom: 1px dotted var(--nst-border); padding: .3rem 0; break-inside: avoid; }
.nstf-taglist dt { font-size: 0.969rem; }
.nstf-taglist dd { margin: 0 0 0 auto; font-size: 0.844rem; color: var(--nst-muted); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }

/* グループ3：大小のサイズ差タイル */
.nstf-tagtiles { display: flex; flex-wrap: wrap; gap: .6rem; }
.nstf-tagtile { display: flex; flex-direction: column; justify-content: center; gap: .1rem; background: var(--nst-navy); color: #fff; border-radius: 10px; padding: .7rem 1rem; }
.nstf-tagtile:hover { background: var(--nst-navy-deep); text-decoration: none; }
.nstf-tagtile strong { font-weight: 700; line-height: 1.4; }
.nstf-tagtile em { font-style: normal; font-size: 0.813rem; color: var(--nst-gold); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }
.nstf-tagtile--lg { flex: 1 1 min(100%, 260px); font-size: 1.156rem; padding: 1.1rem 1.2rem; }
.nstf-tagtile--md { flex: 1 1 min(100%, 190px); font-size: 1rem; }
.nstf-tagtile--sm { flex: 0 1 auto; font-size: 0.938rem; padding: .5rem .9rem; }

@media (max-width: 480px) { .nstf-taglist { columns: 1; } }

/* ===== 11. 名古屋市以外への導線 ===== */
.nstf-mikawa { background: var(--nst-navy); color: #fff; padding: 2rem 0; }
.nstf-mikawa-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.nstf-mikawa-art { flex: 0 0 auto; width: 120px; height: 120px; border-radius: 8px; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; color: var(--nst-gold); }
.nstf-mikawa-text { flex: 1 1 min(100%, 380px); }
.nstf-h2--mikawa { font-size: clamp(1.219rem,3vw,1.594rem); margin: 0 0 .4rem; }
.nstf-mikawa-desc { font-size: 1rem; color: #efe2cd; margin: 0; }
.nstf-mikawa-btn { flex: 0 0 auto; background: var(--nst-gold); color: var(--nst-navy-deep); font-weight: 700; border-radius: 999px; padding: .65rem 1.4rem; font-size: 0.969rem; }
.nstf-mikawa-btn:hover { background: #e2b338; color: var(--nst-navy-deep); text-decoration: none; }

@media (max-width: 720px) {
	.nstf-mikawa-inner { flex-direction: column; align-items: flex-start; }
	.nstf-mikawa-btn { width: 100%; text-align: center; }
}
