/* ============================================================
 * TOP（front-page）専用 CSS — style.css から分離
 * is_front_page() のときだけ読み込む（他ページに影響させない）
 * 共有(top-section / top-owner-cta)は style.css 側に残す
 * ============================================================ */

/* ============================================================
 * TOP（Figma TOP セクション）
 * ============================================================ */.top-hero {
	background: var(--grad-page);
	padding: 40px 16px 56px;
}.top-hero__head { text-align: center; margin-bottom: 24px; }.top-hero__eyebrow { color: var(--c-primary); font-size: 12px; letter-spacing: 0.2em; margin: 0 0 4px; }.top-hero__title { font-size: clamp(22px, 3vw, 30px); margin: 0; color: var(--c-text); }.top-hero__title strong { color: var(--c-primary-dark); }.top-search {
	max-width: 640px;
	margin: 0 auto 36px;
	display: flex;
	background: #fff;
	border: 1.5px solid var(--c-primary);
	border-radius: 999px;
	overflow: hidden;
}.top-search input {
	flex: 1;
	border: none;
	padding: 13px 22px;
	font-size: 14px;
	outline: none;
}.top-search button {
	background: var(--grad-cta);
	color: #fff;
	border: none;
	padding: 0 28px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}.top-map-area {
	max-width: 1040px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}@media (max-width: 800px) {.top-map-area { grid-template-columns: 1fr; }
}.top-map-illust {
	background: #fff;
	border: 1.5px solid var(--c-primary);
	border-radius: var(--radius-md);
	padding: 24px;
	text-align: center;
}.region-list { display: flex; flex-direction: column; gap: 10px; }.region-list__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: 1.5px solid var(--c-primary);
	border-radius: 999px;
	padding: 10px 22px;
	color: var(--c-text);
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
}.region-list__item:hover { background: var(--c-primary-light); }.region-list__item .arrow { color: var(--c-primary); }.top-about {
	background:
		repeating-linear-gradient(135deg, rgba(255,255,255,0.22) 0 22px, rgba(255,255,255,0) 22px 44px),
		linear-gradient(90deg, #e2cdf2 0%, #f0cfeb 55%, #f8d2ec 100%);
	color: #fff;
	padding: 40px 16px;
	text-align: center;
}.top-about__title { font-size: 24px; margin: 0 0 12px; }.top-about__lead { color: #FFF; text-align: center; text-shadow: 0 0 5px #A32CB7; font-family: "Noto Sans JP", "Noto Sans", sans-serif; font-size: 18px; font-style: normal; font-weight: 600; line-height: 36px; letter-spacing: -0.984px; max-width: 720px; margin: 0 auto 28px; }.top-steps {
	max-width: 960px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}.top-step {
	background: #fff;
	color: var(--c-text);
	border-radius: var(--radius-md);
	padding: 22px 18px;
	text-align: left;
}.top-step__num { color: var(--c-primary); font-size: 22px; font-weight: 800; margin: 0 0 6px; }.top-step__title { font-size: 15px; font-weight: 700; margin: 0 0 6px; }.top-step__desc { font-size: 12.5px; color: var(--c-text-sub); margin: 0; }.top-pr-grid {
	max-width: var(--w-content);
	margin: 0 auto 24px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}.top-more { text-align: center; }.top-more a {
	display: inline-block;
	background: var(--grad-cta);
	color: #fff;
	padding: 11px 34px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}.top-news {
	max-width: 860px;
	margin: 0 auto 24px;
	background: #fff;
	border: 1.5px solid var(--c-primary);
	border-radius: var(--radius-md);
	padding: 8px 24px;
}.top-news__row {
	display: flex;
	gap: 16px;
	align-items: baseline;
	padding: 12px 0;
	border-bottom: 1px dashed var(--c-border);
	font-size: 13.5px;
}.top-news__row:last-child { border-bottom: none; }.top-news__date { color: var(--c-text-sub); font-size: 12px; flex: 0 0 auto; }.top-news__cat {
	flex: 0 0 auto;
	background: var(--c-primary-light);
	color: var(--c-primary-dark);
	font-size: 11px;
	padding: 2px 10px;
	border-radius: 999px;
}.top-news__row a { color: var(--c-text); text-decoration: none; flex: 1; }.top-news__row a:hover { color: var(--c-accent); }.top-guide {
	max-width: 1340px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 40px;
}.top-guide__card {
	border: none;
	border-radius: 10px;
	box-shadow: 0 0 2.5px #604b5e;
	padding: 30px 32px;
	min-height: 225px;
}
.top-guide__card:nth-child(1) { background: linear-gradient(90deg, #f7e7ff 0%, #e8ccff 100%); }
.top-guide__card:nth-child(2) { background: linear-gradient(90deg, #fbd5e5 0%, #ffc3d8 100%); }
.top-guide__card h3 { margin: 0 0 14px; font-size: clamp(20px, 2.2vw, 28px); font-weight: 700; color: #604b5e; letter-spacing: -0.03em; }.top-guide__card p { margin: 0 0 16px; font-size: clamp(14px, 1.25vw, 16px); line-height: 1.65; color: #a569af; }.top-guide__card a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	color: #604b5e;
	padding: 0;
	border-radius: 0;
	font-size: clamp(15px, 1.3vw, 18px);
	font-weight: 700;
	text-decoration: none;
}/* 公式SNS（Figma 28:10013 実値）: グラデ背景・白見出し30px・白アイコン40px */.top-sns { background: linear-gradient(-90deg, #ffc3d9 0%, #e9c7ff 100%); text-align: center; padding: 60px 16px; }.top-sns h2 { font-size: clamp(20px, 2.2vw, 28px); color: #fff; font-weight: 700; margin: 0 0 23px; letter-spacing: -0.02em; }.top-sns__icons { display: flex; gap: clamp(24px, 3vw, 40px); justify-content: center; align-items: center; }.top-sns__icons a {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	transition: opacity .2s, transform .2s;
}.top-sns__icons a:hover { opacity: .82; transform: translateY(-2px); }.top-sns__icons svg { width: 100%; height: 100%; display: block; }/* ============================================================
 * 素材画像（三好氏デザイン素材 / Google Drive 受領）
 * ============================================================ */.top-search { position: relative; }.top-search__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; pointer-events: none; }.top-search input { padding-left: 46px; }.top-map-illust { display: flex; flex-direction: column; align-items: center; gap: 8px; }.top-map-illust__logo { max-width: 220px; height: auto; }.top-map-illust__map { max-width: 100%; height: auto; }.top-about { position: relative; overflow: hidden; }.top-about__row { display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; }.top-about__head { flex: 0 1 646px; min-width: 0; }.top-about__side { position: relative; flex: 0 0 auto; }.top-about__side--l { margin-right: -25px; }.top-about__side--r { margin-left: -25px; }.top-about__chara { display: block; width: clamp(120px, 13vw, 200px); height: auto; }.top-about__chara--l { transform: scaleX(-1); }.top-about__chara--r { width: clamp(144px, 15.5vw, 240px); }.top-about__heart { position: absolute; width: clamp(44px, 4.6vw, 72px); height: auto; z-index: 1; }.top-about__heart--purple { left: -30px; top: 48px; }.top-about__heart--pink { right: -38px; top: 58px; }.top-about__title, .top-about__lead, .top-steps { position: relative; z-index: 2; }@media (max-width: 860px) {.top-about__side { display: none; }
}/* ご案内カード・プランカードのキャラ */.top-guide__card--chara { position: relative; overflow: hidden; }.top-guide__chara { position: absolute; right: 0; bottom: 0; height: clamp(150px, 16vw, 195px); width: auto; opacity: 1; z-index: 1; }.top-guide__card--chara h3, .top-guide__card--chara p, .top-guide__card--chara a { position: relative; z-index: 2; }.top-guide__card--chara { padding-right: clamp(150px, 15vw, 205px); }/* 女(キャラ)は高さ基準で両方大きく。横余白だけカード別 */.top-guide__card:nth-child(2).top-guide__card--chara { padding-right: clamp(175px, 20vw, 280px); }/* とは 見出しにも装飾 */.top-about__title { position: relative; display: inline-block; padding: 0 56px; }.top-about__title::before, .top-about__title::after {
	content: ""; position: absolute; top: 50%; transform: translateY(-50%);
	width: 40px; height: 40px; background-size: contain; background-repeat: no-repeat;
}.top-about__title::before { left: 0; background-image: url(assets/images/deco-ribbon-pink.png); }.top-about__title::after  { right: 0; background-image: url(assets/images/deco-ribbon-purple.png); }/* ヒーローに散らす装飾 */.top-hero { position: relative; overflow: hidden; }.top-hero__deco { position: absolute; pointer-events: none; z-index: 0; opacity: 0.9; }.top-hero__head, .top-search, .top-map-area { position: relative; z-index: 1; }/* 装飾：デザイナー支給のストリップ画像（左=装飾.png / 右=装飾2.png）をコンテンツ幅内に配置。上に余白を取る */.top-hero__decos { position: absolute; top: 44px; left: 50%; transform: translateX(-50%); width: calc(100% - 32px); max-width: 1080px; height: auto; pointer-events: none; z-index: 0; }.top-hero__strip { position: absolute; top: 0; height: auto; }.top-hero__strip--left  { left: 0;  width: clamp(220px, 24vw, 322px); }.top-hero__strip--right { right: 0; width: clamp(220px, 24vw, 322px); }@media (max-width: 640px) {.top-hero__decos { top: 30px; }.top-hero__strip--left, .top-hero__strip--right { width: 150px; }.top-hero__strip--right { right: 0; }
}/* 地図ボックス修正（stretch 停止・キャラで充填） */.top-map-area { align-items: start; }.top-map-illust { padding: 20px 16px 0; }.top-map-illust__logo { max-width: 200px; }.top-map-illust__stage { position: relative; width: 100%; min-height: 340px; display: flex; align-items: flex-end; justify-content: center; }.top-map-illust__map { position: absolute; inset: 0; margin: auto; width: 86%; height: auto; opacity: 0.5; object-fit: contain; }.top-map-illust__chara { position: relative; z-index: 1; max-width: 230px; height: auto; }/* ============================================================
 * TOP ヒーロー Figma 厳密版（上書き・後勝ち）
 * ============================================================ */.top-hero {
	position: relative; overflow: hidden;
	background:
		repeating-linear-gradient(90deg, rgba(255,255,255,0.0) 0 18px, rgba(255,255,255,0.25) 18px 19px),
		linear-gradient(180deg, #fbd9ea 0%, #f3d2ef 55%, #e7dbf7 100%);
	padding: 40px 16px 56px;
}.top-hero__head { text-align: center; margin-bottom: 20px; position: relative; z-index: 2; }.top-hero__title-img { margin: 0; line-height: 0; }.top-hero__title-img img { display: block; margin: 0 auto; width: clamp(190px, 20vw, 240px); height: auto; }@media (max-width: 640px) {.top-hero__title-img img { width: 170px; }
}.top-hero__eyebrow { color: #fff; background: var(--c-primary); display:inline-block; letter-spacing:0.25em; font-size: 11px; padding: 3px 14px; border-radius: 999px; margin: 0 0 8px; }.top-hero__title { font-size: clamp(24px, 3.2vw, 34px); margin: 0; color: var(--c-text); }.top-hero__title strong { color: var(--c-primary); }.top-hero__chara { position: absolute; top: 0; right: max(8px, calc(50% - 560px)); width: clamp(150px, 15vw, 215px); height: auto; z-index: 2; }@media (max-width: 640px) {.top-hero__chara { width: 92px; right: 2px; top: 4px; }
}.top-search { position: relative; z-index: 2; max-width: 640px; margin: 0 auto 32px; border: 2px solid var(--c-primary); background:#fff; }.top-search__icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; }.top-search input { padding-left: 62px; padding-top: 15px; padding-bottom: 15px; }.top-map-area { position: relative; z-index: 2; max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }@media (max-width: 800px) {.top-map-area { grid-template-columns: 1fr; }
}/* 地図ボックス: ピンク背景＋ストライプ＋リボン */.top-map-illust {
	position: relative; border: 2px solid var(--c-primary); border-radius: 18px; padding: 22px 18px 8px;
	background:
		repeating-linear-gradient(90deg, rgba(255,255,255,0) 0 16px, rgba(255,255,255,0.35) 16px 17px),
		linear-gradient(160deg, #fbe2f0, #f1d9f5);
	overflow: hidden; min-height: 420px;
}.top-map-illust__ribbon { position: absolute; width: 90px; height: auto; z-index: 3; }.top-map-illust__ribbon--tl { top: -6px; left: -6px; }.top-map-illust__ribbon--br { bottom: -6px; right: -6px; width: 78px; }.top-map-illust__logo { display:block; max-width: 180px; height: auto; margin: 0 auto 8px; position: relative; z-index: 2; }.top-map-illust__stage { position: relative; min-height: 320px; display: flex; align-items: center; justify-content: center; }.top-map-illust__map { position: absolute; inset: 0; margin: auto; width: 92%; height: auto; opacity: 0.85; filter: brightness(0.92) saturate(1.4); z-index: 1; }.top-map-illust__chara { position: relative; z-index: 2; max-width: 200px; height: auto; }/* 地方リスト: ピンクバー＋件数 */.region-list { display: flex; flex-direction: column; gap: 12px; }.region-item { background: #fff; border: 2px solid var(--c-primary); border-radius: 999px; overflow: hidden; }.region-item[open] { border-radius: 18px; }.region-item__bar { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 13px 22px; font-size: 15px; font-weight: 600; }.region-item__bar::-webkit-details-marker { display: none; }.region-item__name { display: inline-flex; align-items: center; gap: 8px; color: var(--c-text); }.region-item__glass { width: 16px; height: 16px; }.region-item__count { color: var(--c-accent); font-weight: 700; font-size: 13px; margin-left: 4px; }.region-item__arrow { color: var(--c-primary); transition: transform .2s; }.region-item[open] .region-item__arrow { transform: rotate(180deg); }.region-item__prefs { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 20px 16px; }.region-item__empty { font-size: 12.5px; color: var(--c-text-sub); padding: 4px 0 12px; }/* 地図ボックス = Figma 抽出の1枚絵。外枠・影は削除（画像のみ・角丸だけ）※ユーザー指示 2026-06-24 */.top-map-illust {
	border: none; border-radius: 18px; overflow: hidden;
	padding: 0 !important; background: none !important; min-height: 0 !important;
	box-shadow: none;
}.top-map-illust__full { display: block; width: 100%; height: auto; }/* 地図クリック領域（各地方→都道府県リストへ） */.top-map-illust { position: relative; }.map-hotspot {
	position: absolute; transform: translate(-50%, -50%);
	width: 16%; height: 9%; border-radius: 8px;
	display: block; cursor: pointer; z-index: 3;
}.map-hotspot:hover { background: rgba(211,107,166,0.18); box-shadow: 0 0 0 2px rgba(211,107,166,0.4); }.map-hotspot:focus-visible { outline: 2px solid var(--c-accent); }/* 地図クリックで開いた地方をハイライト */.region-item.is-active { box-shadow: 0 0 0 3px rgba(211,107,166,0.35); }/* ============================================================
 * TOP 検索バー — Figma 28:10305 厳密実装（実値・後勝ち）
 *  SearchBar: flex / gap 8px / drop-shadow 0 0 2px #a569af
 *  Field:  bg #ffeef7 / radius 100px / padding 8px 12px / icon 46px
 *  Button: 独立 / bg #ff9fc6 / radius 100px / padding 12px 16px / 白Bold16 / letter-spacing .8px
 * ============================================================ */.top-search {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 640px;
	margin: 0 auto 32px;
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: visible;
	filter: drop-shadow(0 0 2px #a569af);
	position: relative;
	z-index: 2;
}.top-search__field {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	background: #ffeef7;
	border-radius: 100px;
	padding: 8px 12px;
	overflow: hidden;
}.top-search__icon {
	position: static;
	transform: none;
	left: auto;
	top: auto;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	pointer-events: none;
}.top-search input {
	flex: 1 1 0;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: var(--c-text);
	outline: none;
}.top-search input::placeholder { color: #d9b6cf; opacity: 1; }.top-search button {
	flex: 0 0 auto;
	min-width: 100px;
	background: #ff9fc6;
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 12px 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.8px;
	cursor: pointer;
}@media (max-width: 640px) {.top-search button { min-width: 84px; padding: 10px 12px; font-size: 14px; }.top-search__icon { width: 38px; height: 38px; }
}/* ============================================================
 * TOP 地方リスト（area saerch）— Figma 28:10298 厳密実装（実値・後勝ち）
 *  角丸8px / bg #ffeef7 / border 1px #ff83bb / shadow 0 0 2.5px #604b5e
 *  名前 Bold 18px #4d4d4d / 件数 Medium 14px #b087b5 / 虫眼鏡SVG / chevron 14x9
 * ============================================================ */.region-list { display: flex; flex-direction: column; gap: 5px; }/* マップ列とリスト列の高さを揃える（リストを均等配置でマップ下端に合わせる） */.top-map-area { align-items: stretch; }.region-list { justify-content: space-between; }@media (max-width: 800px) {.region-list { justify-content: flex-start; }
}.region-item {
	background: #ffeef7;
	border: 1px solid #ff83bb;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 0 2.5px #604b5e;
}.region-item[open] { border-radius: 8px; }.region-item__bar {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 52px;
	padding: 1px 20px 1px 10px;
}.region-item__bar::-webkit-details-marker { display: none; }.region-item__bar::marker { content: ""; }.region-item__name { display: inline-flex; align-items: center; gap: 14px; min-width: 0; }.region-item__glass { flex: 0 0 auto; width: 34px; height: 34px; }.region-item__text { display: inline-flex; align-items: baseline; gap: 15px; min-width: 0; }.region-item__label { font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 18px; line-height: 1.4; color: #4d4d4d; }.region-item__count { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 14px; line-height: 1.4; color: #b087b5; }.region-item__arrow { flex: 0 0 auto; width: 14px; height: 9px; transition: transform .2s; }.region-item[open] .region-item__arrow { transform: rotate(180deg); }/* こんかふぇch. とは 見出し（画像／Frame2.png） */.top-about__title--img { padding: 0; display: block; text-align: center; margin: 0 auto 16px; line-height: 0; }.top-about__title--img::before, .top-about__title--img::after { display: none; }.top-about__title--img img { display: inline-block; width: clamp(260px, 30vw, 380px); height: auto; }/* こんかふぇch.とは 3ステップ＝画像3枚（Figma 28:10122 / gap58 / 373px / shadow 0 0 10px #a569af） */.top-steps { display: flex; gap: 40px; justify-content: center; align-items: flex-start; flex-wrap: nowrap; max-width: 1235px; margin: 0 auto; }.top-step-img { flex: 1 1 0; min-width: 0; width: auto; max-width: 373px; height: auto; filter: drop-shadow(0 0 10px #a569af); }@media (max-width: 900px) {.top-steps { flex-wrap: wrap; gap: 24px; } .top-step-img { flex: 0 1 320px; }
}

/* 注目のお店（PR）見出し＝画像（FEATURED SHOP / 注目のお店） */
.top-section__eyebrow-img { display: block; margin: 0 auto 8px; height: clamp(13px, 1.5vw, 18px); width: auto; }
.top-section__title-img { margin: 0; line-height: 0; }
.top-section__title-img img { display: block; margin: 0 auto; height: clamp(46px, 5.2vw, 64px); width: auto; }

/* 注目のお店 見出し帯：装飾ストリップ＋女の子2人＋タイトルを1行に連結（中央寄せ） */
.top-pr-head { display: flex; align-items: center; justify-content: center; gap: clamp(8px, 1.6vw, 28px); flex-wrap: nowrap; max-width: 1500px; margin: 0 auto; }
.top-pr-head__strip { flex: 0 1 auto; width: clamp(150px, 17vw, 300px); height: auto; }
.top-pr-head__titles { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; }
.top-pr-head__titles .top-section__eyebrow-img { margin: 0 auto 8px; }
.top-pr-head__titles .top-section__title-img { margin: 0; }
.top-pr-head__chara { flex: 0 0 auto; width: clamp(88px, 10vw, 128px); height: auto; }
.top-pr-head__chara--r { width: clamp(110px, 12.5vw, 160px); }
/* 注目のお店 見出しだけ 80%（共有クラスを PR スコープで上書き・CONCEPT等は据え置き） */
.top-pr-head .top-section__eyebrow-img { height: clamp(10px, 1.2vw, 14px); margin: 0 auto 6px; }
.top-pr-head .top-section__title-img img { height: clamp(37px, 4.16vw, 51px); }
.top-section__head--concept .top-section__eyebrow-img { height: clamp(10px, 1.2vw, 14px); margin: 0 auto 6px; }
.top-section__head--concept .top-section__title-img img { height: clamp(37px, 4.16vw, 51px); }
.top-section__head--concept { position: relative; }
.top-section__head--concept .top-section__eyebrow-img, .top-section__head--concept .top-section__title-img { position: relative; z-index: 1; }
.top-concept-strip { position: absolute; top: 50%; transform: translateY(-50%); width: clamp(170px, 19vw, 330px); height: auto; z-index: 0; pointer-events: none; }
.top-concept-strip--l { left: 17%; }
.top-concept-strip--r { right: 17%; }
.top-section--concept { background: #ece1f8; } /* ラベンダー背景。hexは要Figma実値確認 */
/* 注目のお店(PR) と 最新のブログ(NEWS) の背景を CONCEPT と同じラベンダーに統一（ユーザー指示 2026-06-25） */
body.home .top-section--alt { background: #ece1f8; }
/* NEWS見出し画像化（2026-06-25）: 星＋キラキラを<img>で見出し両脇に配置 */
.top-section__head--news { position: relative; }
.top-section__head--news .top-section__eyebrow-img, .top-section__head--news .top-section__title-img { position: relative; z-index: 1; }
.top-news-strip { position: absolute; top: 50%; transform: translateY(-50%); width: clamp(170px, 19vw, 330px); height: auto; z-index: 0; pointer-events: none; }
.top-news-strip--l { left: 17%; }
.top-news-strip--r { right: 17%; }
@media (max-width: 860px) { .top-news-strip { display: none; } }
/* 見出しを他セクション（PR/CONCEPT）と同じ80%サイズに */
.top-section__head--news .top-section__eyebrow-img { height: clamp(10px, 1.2vw, 14px); margin: 0 auto 6px; }
.top-section__head--news .top-section__title-img img { height: clamp(37px, 4.16vw, 51px); }
@media (max-width: 860px) { .top-concept-strip { display: none; } }
@media (max-width: 860px) { .top-pr-head__strip, .top-pr-head__chara { display: none; } }

/* 注目のお店 カード — Figma 19:5263 厳密（白カード/3px枠#ff83bb/画像/PR/店名/コンセプト/地名/タグ） */
.top-pr-card { display: block; background: #fff; border: 3px solid #ff83bb; border-radius: 8px; overflow: hidden; filter: drop-shadow(0 0 2.5px #a569af); text-decoration: none; color: inherit; }
.top-pr-card__image { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 360 / 200; background: linear-gradient(-64deg, #ffe3f2 1%, #f4ccff 99%); overflow: hidden; }
.top-pr-card__img { width: 100%; height: 100%; object-fit: cover; }
.top-pr-card__noimg { color: #e3a6d4; display: flex; align-items: center; justify-content: center; }
.top-pr-card__badge { position: absolute; top: 12px; left: 12px; background: #ff83bb; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1.5px; line-height: 1; padding: 4px 10px; border-radius: 100px; }
.top-pr-card__body { display: flex; flex-direction: column; gap: 12px; padding: 15px 15px 20px; }
.top-pr-card__namewrap { display: flex; flex-direction: column; }
.top-pr-card__title { font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 18px; line-height: 30px; letter-spacing: -0.56px; color: #4d4d4d; margin: 0; }
.top-pr-card__concept { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 15px; line-height: 20px; letter-spacing: -0.82px; color: #b087b5; margin: 0; }
.top-pr-card__loc { display: flex; align-items: center; gap: 5px; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 14px; line-height: 1.4; letter-spacing: 0.1px; color: #604b5e; margin: 0; }
.top-pr-card__pin { flex: 0 0 auto; }
.top-pr-card__tags { display: flex; flex-wrap: wrap; gap: 7px; }
.top-pr-card__tag { display: inline-flex; align-items: center; height: 20px; padding: 0 10px; border-radius: 100px; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; font-size: 12px; line-height: 1; }
.top-pr-card__tag--area { background: #ffeef7; color: #e0558d; }
.top-pr-card__tag--concept { background: #ffd9f8; color: #a569af; }

/* オーナーCTA: 覗き2人(P&P) 帯の上端から覗かせる */
body.home .top-owner-cta--chara { overflow: visible; }
body.home .top-owner-cta__chara { right: 20%; bottom: auto; top: 0; transform: translateY(-78%); width: clamp(150px, 16vw, 240px); z-index: 1; }
/* オーナーCTA 背景をFigma実値に（node 28:10046, 2026-06-25） */
body.home .top-owner-cta { background: linear-gradient(90deg, #F581B5 0%, #DF8CCA 100%); }
/* GUIDE(2種類のご案内) 背景 薄ピンク（ユーザー選択 2026-06-25） */
body.home .top-section--guide { background: #F4C4DD; }

/* GUIDE見出し画像化（2026-06-25） */
.top-section__head--guide { position: relative; }
.top-section__head--guide .top-section__title-img, .top-section__head--guide .top-section__lead-img { position: relative; z-index: 1; }
.top-section__head--guide .top-section__title-img img { height: clamp(37px, 4.16vw, 51px); }
.top-section__lead-img { display: block; margin: 10px auto 0; height: clamp(20px, 2.4vw, 30px); width: auto; }
.top-guide-strip { position: absolute; top: clamp(18px, 2.1vw, 26px); transform: translateY(-50%); width: clamp(170px, 19vw, 330px); height: auto; z-index: 0; pointer-events: none; }
.top-guide-strip--l { left: 17%; }
.top-guide-strip--r { right: 17%; }
@media (max-width: 860px) { .top-guide-strip { display: none; } }
