@charset "UTF-8";
/* ==========================================================================
   POCHIROOM main.css — レイアウト・ヘッダー・一覧・トップページなど
   スマホ(〜767px)を基準に、PCでは中央に760px幅の「アプリ画面」を表示します
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--pc-bg);
	color: var(--pc-text);
	font-family: var(--pc-font-base);
	font-size: 15px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body.has-bottom-nav { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--pc-deep); }
button { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--pc-deep); outline-offset: 2px; }
.pochi-icon { flex: none; width: 1em; height: 1em; }
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.skip-link:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 999;
	width: auto;
	height: auto;
	padding: 8px 16px;
	clip: auto;
	background: #fff;
	border-radius: 8px;
}

/* ---------- アプリ枠 ---------- */
.pochi-app { position: relative; max-width: 760px; min-height: 100vh; margin: 0 auto; background: var(--pc-bg); }
.pochi-main { padding: 0 16px 24px; }

/* ---------- ヘッダー ---------- */
.pochi-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .94);
	border-bottom: 1px solid var(--pc-border);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	transition: transform .28s ease;
}
.pochi-header.is-hidden { transform: translateY(-100%); }
.admin-bar .pochi-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .pochi-header { top: 32px; } }
.pochi-header__inner {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 48px;
	align-items: center;
	height: 56px;
	padding: 0 4px;
}
.pochi-header__btn {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	color: var(--pc-text);
	-webkit-tap-highlight-color: transparent;
}
.pochi-header__btn:active { background: var(--pc-pale); }
.pochi-header__btn .pochi-icon { width: 22px; height: 22px; }
.pochi-logo { margin: 0; text-align: center; font: 700 1.2rem/1.2 var(--pc-font-round); letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pochi-logo a { color: var(--pc-deep); text-decoration: none; }
.pochi-logo__text { position: relative; }
.pochi-logo__text::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-left: 3px;
	border-radius: 50%;
	background: var(--pc-main);
	vertical-align: .6em;
}
.pochi-logo .custom-logo { width: auto; max-height: 36px; }

/* ---------- カテゴリタブ ---------- */
.pochi-chips { background: #fff; border-bottom: 1px solid var(--pc-border); }
.pochi-chips__list {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 10px 16px;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.pochi-chips__list::-webkit-scrollbar { display: none; }
.pochi-chips__list li { flex: none; }
.pochi-chips__list a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 14px;
	border: 1px solid var(--pc-border);
	border-radius: 999px;
	background: var(--pc-pale2);
	color: var(--pc-text);
	font-size: .8rem;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}
.pochi-chips__list a .pochi-icon { width: 14px; height: 14px; color: var(--pc-gold); }
.pochi-chips__list .current-menu-item a { border-color: var(--pc-deep); background: var(--pc-deep); color: #fff; }
.pochi-chips__list .current-menu-item a .pochi-icon { color: #fff3c4; }
.pochi-chips--inline { margin: 0 -16px 14px; background: none; border: 0; }
.pochi-chips--inline .pochi-chips__list { padding: 2px 16px 4px; }

/* ---------- パンくず ---------- */
.pochi-breadcrumb ol {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 12px 0 0;
	overflow-x: auto;
	list-style: none;
	color: var(--pc-sub);
	font-size: .7rem;
	white-space: nowrap;
	scrollbar-width: none;
}
.pochi-breadcrumb ol::-webkit-scrollbar { display: none; }
.pochi-breadcrumb li { display: flex; align-items: center; gap: 4px; }
.pochi-breadcrumb li + li::before { content: "›"; color: var(--pc-light); }
.pochi-breadcrumb a { display: inline-flex; align-items: center; gap: 3px; color: var(--pc-sub); text-decoration: none; }
.pochi-breadcrumb .pochi-icon { width: 12px; height: 12px; }
.pochi-breadcrumb li[aria-current] span { display: block; max-width: 14em; overflow: hidden; text-overflow: ellipsis; }

/* ---------- セクション見出し ---------- */
.pochi-sec { margin: 32px 0; }
.pochi-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.pochi-sec-head__title { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.pochi-sec-head__en { display: flex; align-items: center; gap: 5px; color: var(--pc-main); font-size: .68rem; font-weight: 700; letter-spacing: .18em; }
.pochi-sec-head__en .pochi-icon { width: 13px; height: 13px; }
.pochi-sec-head__ja { color: var(--pc-text); font: 700 1.2rem/1.4 var(--pc-font-round); }
.pochi-sec-head__more { display: flex; flex: none; align-items: center; gap: 2px; padding: 4px 0; color: var(--pc-deep); font-size: .76rem; font-weight: 700; text-decoration: none; }
.pochi-sec-head__more .pochi-icon { width: 14px; height: 14px; }

/* ---------- セールバナー ---------- */
.pochi-sale {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 16px 0 0;
	padding: 14px;
	overflow: hidden;
	border-radius: 18px;
	background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .06) 0 8px, transparent 8px 16px), var(--pc-deep);
	box-shadow: var(--pc-shadow);
	color: #fff;
	text-decoration: none;
}
.pochi-sale__badge {
	display: grid;
	flex: none;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #fff;
	color: var(--pc-rakuten);
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .05em;
	transform: rotate(-8deg);
}
.pochi-sale__body { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.4; }
.pochi-sale__label { font: 700 1rem/1.4 var(--pc-font-round); }
.pochi-sale__text { font-size: .72rem; opacity: .95; }
.pochi-sale__count { align-self: flex-start; margin-top: 5px; padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .2); font-size: .72rem; }
.pochi-sale__count b { font-size: .85rem; font-variant-numeric: tabular-nums; }
.pochi-sale__arrow { width: 20px; height: 20px; }
.pochi-article .pochi-sale { margin: 16px 0 0; }

/* ---------- ピックアップ（横スクロール） ---------- */
.pochi-pickup {
	display: flex;
	gap: 12px;
	margin: 0 -16px;
	padding: 4px 16px 14px;
	overflow-x: auto;
	list-style: none;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 16px;
	scrollbar-width: none;
}
.pochi-pickup::-webkit-scrollbar { display: none; }
.pochi-pickup__item { flex: 0 0 84%; max-width: 340px; scroll-snap-align: start; }
.pochi-pickup__link { display: block; height: 100%; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-pickup__thumb { position: relative; aspect-ratio: 1200 / 630; background: var(--pc-pale); }
.pochi-pickup__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pochi-pickup__body { padding: 10px 14px 14px; }
.pochi-pickup__cat { display: inline-block; margin-bottom: 4px; padding: 1px 9px; border-radius: 999px; background: var(--pc-pale); color: var(--pc-deep); font-size: .66rem; font-weight: 700; }
.pochi-pickup__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 0;
	overflow: hidden;
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.55;
	min-height: calc(1.55em * 2);
}

/* ---------- カテゴリアイコン ---------- */
.pochi-catgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 8px; margin: 0; padding: 0; list-style: none; }
.pochi-catgrid a { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--pc-text); text-decoration: none; }
.pochi-catgrid__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 1px solid var(--pc-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--pc-shadow-s);
	font-size: 27px;
	line-height: 1;
}
.pochi-catgrid__name { font-size: .68rem; font-weight: 700; line-height: 1.3; text-align: center; }
.pochi-catgrid.is-compact .pochi-catgrid__icon { width: 50px; height: 50px; border-radius: 16px; font-size: 23px; }

/* ---------- ランキング ---------- */
.pochi-ranklist { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pochi-rank__link { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 16px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-rank.rank-1 .pochi-rank__link { box-shadow: 0 0 0 2px #ecdcb2, var(--pc-shadow-s); }
.pochi-rank__thumb { position: relative; flex: 0 0 38%; max-width: 180px; aspect-ratio: 1200 / 630; }
.pochi-rank__thumb img, .pochi-rank__thumb .pochi-noimage { display: grid; width: 100%; height: 100%; border-radius: 10px; object-fit: cover; }
.pochi-rank__num {
	position: absolute;
	top: -7px;
	left: -7px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--rk, var(--pc-sub));
	box-shadow: 0 2px 5px rgba(0, 0, 0, .15);
	color: #fff;
	font-size: .82rem;
	font-weight: 800;
}
.pochi-rank__num .pochi-icon { position: absolute; top: -13px; width: 16px; height: 16px; color: #c9a14a; }
.pochi-rank.rank-2 .pochi-rank__num .pochi-icon { color: #9aa1ad; }
.pochi-rank.rank-3 .pochi-rank__num .pochi-icon { color: #c08a5c; }
.pochi-rank__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pochi-rank__cat { color: var(--pc-deep); font-size: .66rem; font-weight: 700; }
.pochi-rank__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0; overflow: hidden; font-size: .88rem; font-weight: 700; line-height: 1.5; }
.pochi-rank__price { color: var(--pc-deep); font-size: .85rem; font-weight: 800; }

/* ---------- アイテム（ROOM風グリッド） ---------- */
.pochi-item-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pochi-icard__link { display: block; height: 100%; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-icard__img { position: relative; aspect-ratio: 1; background: #fff; }
.pochi-icard__img img, .pochi-icard__img .pochi-noimage { display: grid; width: 100%; height: 100%; object-fit: cover; }
.pochi-icard__heart {
	position: absolute;
	right: 8px;
	bottom: 8px;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
	color: var(--pc-main);
}
.pochi-icard__heart .pochi-icon { width: 16px; height: 16px; }
.pochi-icard__rank {
	position: absolute;
	top: 8px;
	left: 8px;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--rk, var(--pc-sub));
	color: #fff;
	font-size: .8rem;
	font-weight: 800;
}
.pochi-icard__body { padding: 8px 10px 10px; }
.pochi-icard__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-height: 3em; margin: 0; overflow: hidden; font-size: .78rem; font-weight: 600; line-height: 1.5; }
.pochi-icard__meta { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin: 4px 0 0; }
.pochi-icard__price { color: var(--pc-deep); font-size: .95rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.pochi-icard__rate { color: #8f5f00; font-size: .7rem; font-weight: 700; }

/* ---------- 記事カード（リスト） ---------- */
.pochi-cardlist { display: flex; flex-direction: column; gap: 12px; }
.pochi-card-list__link { display: flex; gap: 12px; padding: 10px; border-radius: 16px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-card-list__thumb { position: relative; flex: 0 0 42%; max-width: 220px; align-self: flex-start; aspect-ratio: 1200 / 630; overflow: hidden; border-radius: 12px; background: var(--pc-pale); }
.pochi-card-list__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pochi-card-list__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 2px 0; }
.pochi-card-list__cat { align-self: flex-start; padding: 1px 8px; border-radius: 999px; background: var(--pc-pale); color: var(--pc-deep); font-size: .64rem; font-weight: 700; }
.pochi-card-list__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0; overflow: hidden; font-size: .88rem; font-weight: 700; line-height: 1.5; }
.pochi-card-list__body .pochi-date { margin-top: auto; }
.pochi-card-list__price { margin-top: auto; color: var(--pc-deep); font-weight: 800; }
.pochi-badge-new { position: absolute; top: 6px; left: 6px; padding: 1px 6px; border-radius: 4px; background: #fff; color: var(--pc-deep); font-size: .58rem; font-weight: 800; letter-spacing: .08em; }

/* 2カラムカード（関連記事） */
.pochi-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pochi-card-grid a { display: block; height: 100%; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-card-grid__thumb { aspect-ratio: 1200 / 630; background: var(--pc-pale); }
.pochi-card-grid__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pochi-card-grid__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin: 0; padding: 8px 10px 10px; overflow: hidden; font-size: .8rem; font-weight: 700; line-height: 1.5; }

/* NO IMAGE */
.pochi-noimage { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, var(--pc-pale), var(--pc-border)); color: #fff; }
.pochi-noimage .pochi-icon { width: 30%; max-width: 44px; height: auto; aspect-ratio: 1; }

/* 日付 */
.pochi-date { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--pc-sub); font-size: .7rem; }
.pochi-date time { display: inline-flex; align-items: center; gap: 4px; }
.pochi-date .pochi-icon { width: 12px; height: 12px; }

/* ---------- 記事ページ ---------- */
.pochi-article { margin: 12px -16px 0; padding: 22px 20px 26px; border-radius: 24px; background: #fff; }
.pochi-article__cat { display: inline-flex; align-items: center; gap: 4px; padding: 3px 12px; border-radius: 999px; background: var(--pc-pale); color: var(--pc-deep); font-size: .72rem; font-weight: 700; text-decoration: none; }
.pochi-article__title { margin: 10px 0 8px; font: 700 1.42rem/1.5 var(--pc-font-round); letter-spacing: .02em; }
.pochi-article--page .pochi-article__title { margin-top: 0; }
.pochi-article__eyecatch { margin: 16px 0 0; overflow: hidden; border-radius: 16px; background: var(--pc-pale); }
.pochi-article__eyecatch img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; }
.pochi-article .pochi-content { margin-top: 22px; }
.pochi-article .pochi-content > :first-child { margin-top: 0; }
.pochi-article__foot { margin-top: 28px; }
.pochi-price-note { margin: 18px 0 0; color: var(--pc-sub); font-size: .7rem; line-height: 1.6; }
.pochi-widgets { margin: 16px 0; }
.pochi-widget + .pochi-widget { margin-top: 12px; }
.pochi-widget__title { margin: 0 0 8px; font-size: .9rem; font-weight: 700; }

/* タグ */
.pochi-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; padding: 0; list-style: none; }
.pochi-tags a { display: inline-block; padding: 4px 12px; border: 1px solid var(--pc-border); border-radius: 999px; background: var(--pc-pale2); color: var(--pc-deep); font-size: .76rem; text-decoration: none; }
.pochi-tags--sub { justify-content: center; margin-top: -4px; }

/* シェア */
.pochi-share { margin: 24px 0; text-align: center; }
.pochi-share__title { margin: 0 0 8px; color: var(--pc-sub); font-size: .74rem; font-weight: 700; letter-spacing: .05em; }
.pochi-share__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pochi-share__list a, .pochi-share__list button { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; border-radius: 12px; color: #fff; font-size: .8rem; font-weight: 800; text-decoration: none; }
.pochi-share__list .pochi-icon { width: 18px; height: 18px; }
.pochi-share .is-x { background: #111; }
.pochi-share .is-line { background: #06c755; }
.pochi-share .is-hatena { background: #00a4de; font-family: Arial, sans-serif; }
.pochi-share .is-copy { background: var(--pc-pale); color: var(--pc-deep); }
.pochi-share .is-copy.is-done::after {
	content: "コピーしました";
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--pc-text);
	color: #fff;
	font-size: .66rem;
	font-weight: 700;
	white-space: nowrap;
	transform: translateX(-50%);
}

/* SNS */
.pochi-sns { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pochi-sns a { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--pc-border); border-radius: 50%; background: #fff; color: var(--pc-text); text-decoration: none; }
.pochi-sns .pochi-icon { width: 16px; height: 16px; }
.pochi-sns__at { font-size: .95rem; font-weight: 800; }

/* プロフィール */
.pochi-profile { position: relative; margin-top: 30px; padding: 20px 16px 16px; border: 1px solid var(--pc-border); border-radius: 18px; background: var(--pc-pale2); }
.pochi-profile__label { position: absolute; top: -11px; left: 16px; margin: 0; padding: 2px 12px; border-radius: 999px; background: var(--pc-deep); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .06em; }
.pochi-profile__head { display: flex; align-items: center; gap: 12px; }
.pochi-profile__img { width: 66px; height: 66px; border: 3px solid #fff; border-radius: 50%; background: #fff; box-shadow: var(--pc-shadow-s); object-fit: cover; }
.pochi-profile__name { margin: 0 0 6px; font: 700 1.05rem/1.4 var(--pc-font-round); }
.pochi-profile__text { margin: 12px 0 0; font-size: .83rem; line-height: 1.8; }
.pochi-profile__more { display: flex; align-items: center; justify-content: center; gap: 2px; margin-top: 10px; color: var(--pc-deep); font-size: .78rem; font-weight: 700; text-decoration: none; }
.pochi-profile__more .pochi-icon { width: 14px; height: 14px; }
.pochi-sec--profile .pochi-profile { margin-top: 12px; }

/* 前後の記事 */
.pochi-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0; }
.pochi-postnav a { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 14px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-postnav .is-next { grid-column: 2; text-align: right; }
.pochi-postnav small { display: flex; align-items: center; gap: 2px; color: var(--pc-deep); font-size: .68rem; font-weight: 700; }
.pochi-postnav .is-next small { justify-content: flex-end; }
.pochi-postnav small .pochi-icon { width: 12px; height: 12px; }
.pochi-postnav span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: .78rem; font-weight: 600; line-height: 1.5; }

/* ---------- アーカイブ見出し ---------- */
.pochi-archive-head {
	position: relative;
	margin: 12px 0 16px;
	padding: 24px 16px 20px;
	overflow: hidden;
	border-radius: 22px;
	background: radial-gradient(circle at 8% 0, var(--pc-pale) 0 44px, transparent 45px) no-repeat, radial-gradient(circle at 96% 100%, var(--pc-pale) 0 56px, transparent 57px) no-repeat, #fff;
	box-shadow: var(--pc-shadow-s);
	text-align: center;
}
.pochi-archive-head__icon { display: block; margin-bottom: 4px; font-size: 34px; line-height: 1.2; }
.pochi-archive-head__en { margin: 0; color: var(--pc-main); font-size: .68rem; font-weight: 700; letter-spacing: .2em; }
.pochi-archive-head__title { margin: 2px 0 4px; font: 700 1.35rem/1.45 var(--pc-font-round); }
.pochi-archive-head__count { margin: 0; color: var(--pc-sub); font-size: .75rem; }
.pochi-archive-head__desc { margin-top: 12px; font-size: .82rem; line-height: 1.8; text-align: left; }
.pochi-archive-head__desc p { margin: 0 0 .6em; }
.pochi-archive-head__desc p:last-child { margin-bottom: 0; }
.pochi-archive-head .pochi-searchform { margin-top: 14px; }

/* 代表記事（ピラー） */
.pochi-pillar { position: relative; display: block; margin: 0 0 18px; overflow: hidden; border: 2px solid var(--pc-light); border-radius: 18px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); text-decoration: none; }
.pochi-pillar__label { position: absolute; top: 10px; left: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 4px; padding: 3px 12px; border-radius: 999px; background: var(--pc-deep); color: #fff; font-size: .72rem; font-weight: 700; }
.pochi-pillar__label .pochi-icon { width: 13px; height: 13px; }
.pochi-pillar__thumb { display: block; aspect-ratio: 1200 / 630; background: var(--pc-pale); }
.pochi-pillar__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pochi-pillar__title { display: block; padding: 12px 14px 14px; font: 700 1rem/1.55 var(--pc-font-round); }

/* ページ送り */
.pochi-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 24px 0; padding: 0; list-style: none; }
.pochi-pagination :is(a, span) { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 8px; border-radius: 12px; background: #fff; box-shadow: var(--pc-shadow-s); color: var(--pc-text); font-size: .85rem; font-weight: 700; text-decoration: none; }
.pochi-pagination .current { background: var(--pc-deep); color: #fff; }
.pochi-pagination .dots { background: none; box-shadow: none; }
.pochi-pagination .pochi-icon { width: 18px; height: 18px; }

/* 検索フォーム */
.pochi-searchform { display: flex; align-items: center; gap: 6px; padding: 4px 4px 4px 14px; border: 2px solid var(--pc-border); border-radius: 999px; background: #fff; }
.pochi-searchform:focus-within { border-color: var(--pc-main); }
.pochi-searchform__icon { width: 18px; height: 18px; color: var(--pc-sub); }
.pochi-searchform__input { flex: 1; min-width: 0; padding: 6px 0; border: 0; outline: 0; background: none; color: var(--pc-text); font-size: 16px; -webkit-appearance: none; appearance: none; }
.pochi-searchform__input::-webkit-search-cancel-button { display: none; }
.pochi-searchform__btn { padding: 8px 16px; border-radius: 999px; background: var(--pc-deep); color: #fff; font-size: .82rem; font-weight: 700; }

.pochi-empty { padding: 32px 0; color: var(--pc-sub); font-size: .86rem; text-align: center; }

/* ---------- ドロワー ---------- */
.pochi-drawer { position: fixed; inset: 0; z-index: 100; visibility: hidden; pointer-events: none; }
.pochi-drawer.is-open { visibility: visible; pointer-events: auto; }
.pochi-drawer__overlay { position: absolute; inset: 0; background: rgba(70, 40, 50, .42); opacity: 0; transition: opacity .25s; }
.pochi-drawer.is-open .pochi-drawer__overlay { opacity: 1; }
.pochi-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	width: min(86vw, 360px);
	overflow: hidden;
	border-radius: 0 24px 24px 0;
	background: var(--pc-bg);
	transform: translateX(-102%);
	transition: transform .32s cubic-bezier(.2, .8, .2, 1);
}
.pochi-drawer.is-open .pochi-drawer__panel { transform: none; }
.pochi-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 56px; padding: 0 6px 0 20px; background: #fff; border-bottom: 1px solid var(--pc-border); }
.pochi-drawer__site { margin: 0; color: var(--pc-deep); font: 700 1.05rem/1.3 var(--pc-font-round); }
.pochi-drawer__body { display: flex; flex: 1; flex-direction: column; gap: 16px; padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
.pochi-drawer__body .pochi-room-cta { margin: 0; }
.pochi-drawer__label { margin: 4px 0 6px 4px; color: var(--pc-main); font-size: .68rem; font-weight: 700; letter-spacing: .15em; }
.pochi-drawer__menu, .pochi-drawer__menu .sub-menu { margin: 0; padding: 0; list-style: none; }
.pochi-drawer__menu { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: var(--pc-shadow-s); }
.pochi-drawer__menu + .pochi-drawer__label { margin-top: 14px; }
.pochi-drawer__menu li + li { border-top: 1px solid var(--pc-pale); }
.pochi-drawer__menu a { display: flex; align-items: center; gap: 10px; padding: 12px 14px; color: var(--pc-text); font-size: .9rem; font-weight: 600; text-decoration: none; }
.pochi-drawer__menu a .pochi-icon { width: 18px; height: 18px; color: var(--pc-main); }
.pochi-drawer__menu a small { margin-left: auto; padding: 0 8px; border-radius: 999px; background: var(--pc-pale2); color: var(--pc-sub); font-size: .7rem; }
.pochi-drawer__menu .sub-menu a { padding-left: 30px; font-size: .84rem; font-weight: 500; }
.pochi-drawer__emoji { width: 1.4em; font-size: 1.1rem; text-align: center; }
.pochi-drawer .pochi-sns { justify-content: center; }

/* ---------- 検索オーバーレイ ---------- */
.pochi-search {
	position: fixed;
	inset: 0;
	z-index: 110;
	display: flex;
	flex-direction: column;
	max-width: 760px;
	margin: 0 auto;
	background: var(--pc-bg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .22s, transform .22s, visibility .22s;
}
.pochi-search.is-open { opacity: 1; visibility: visible; transform: none; }
.pochi-search__head { display: flex; align-items: center; gap: 8px; padding: calc(10px + env(safe-area-inset-top)) 12px 10px; background: #fff; border-bottom: 1px solid var(--pc-border); }
.pochi-search__head .pochi-searchform { flex: 1; }
.pochi-search__close { padding: 8px; color: var(--pc-sub); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.pochi-search__body { flex: 1; padding: 16px 16px 40px; overflow-y: auto; }
.pochi-search__label { display: flex; align-items: center; gap: 6px; margin: 8px 0 10px; font-size: .82rem; font-weight: 700; }
.pochi-search__label .pochi-icon { width: 16px; height: 16px; color: var(--pc-main); }
.pochi-search .pochi-tags { margin-bottom: 20px; }

/* ---------- 下部固定ナビ ---------- */
.pochi-bnav {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 60;
	max-width: 760px;
	margin: 0 auto;
	padding-bottom: env(safe-area-inset-bottom);
	background: rgba(255, 255, 255, .96);
	border-top: 1px solid var(--pc-border);
	box-shadow: 0 -4px 18px rgba(var(--pc-main-rgb), .12);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.pochi-bnav__list { display: grid; grid-template-columns: repeat(5, 1fr); align-items: end; height: 60px; margin: 0; padding: 0 4px; list-style: none; }
.pochi-bnav__list :is(a, button) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	width: 100%;
	height: 60px;
	color: var(--pc-sub);
	font-size: .62rem;
	font-weight: 700;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
.pochi-bnav__list .pochi-icon { width: 22px; height: 22px; }
.pochi-bnav__list .is-current :is(a, button) { color: var(--pc-deep); }
.pochi-bnav__list .is-center :is(a, button) { justify-content: flex-end; padding-bottom: 7px; color: var(--pc-deep); }
.pochi-bnav__list .is-center .pochi-icon {
	width: 56px;
	height: 56px;
	margin-top: -26px;
	padding: 14px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--pc-deep);
	box-shadow: 0 6px 16px rgba(var(--pc-main-rgb), .5);
	color: #fff;
}

/* トップへ戻る */
.pochi-totop {
	position: fixed;
	right: max(14px, calc(50vw - 366px));
	bottom: calc(78px + env(safe-area-inset-bottom));
	z-index: 55;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--pc-shadow);
	color: var(--pc-deep);
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity .2s, transform .2s, bottom .25s;
}
.pochi-totop.is-show { opacity: 1; pointer-events: auto; transform: none; }
.pochi-totop .pochi-icon { width: 20px; height: 20px; }
body:not(.has-bottom-nav) .pochi-totop { bottom: calc(18px + env(safe-area-inset-bottom)); }
body.has-buybar .pochi-totop { bottom: calc(146px + env(safe-area-inset-bottom)); }

/* ---------- アイテム詳細 ---------- */
.pochi-item { margin: 12px -16px 0; padding: 16px 20px 24px; border-radius: 24px; background: #fff; }
.pochi-item .pochi-pr { margin: 0 0 12px; }
.pochi-item__img { aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid #f3e9ec; border-radius: 18px; background: #fff; }
.pochi-item__img img, .pochi-item__img .pochi-noimage { display: grid; width: 100%; height: 100%; object-fit: contain; }
.pochi-item__head { margin-top: 16px; }
.pochi-item__catch { margin: 10px 0 0; color: var(--pc-deep); font-size: .8rem; font-weight: 700; }
.pochi-item__title { margin: 4px 0 12px; font: 700 1.22rem/1.55 var(--pc-font-round); }
.pochi-item__nums { display: flex; flex-direction: column; gap: 5px; padding: 12px 0; border-top: 1px dashed var(--pc-border); border-bottom: 1px dashed var(--pc-border); }
.pochi-item__nums p { margin: 0; }
.pochi-item__price { color: var(--pc-deep); font-size: 1.65rem; font-weight: 800; line-height: 1.2; font-variant-numeric: tabular-nums; }
.pochi-item__price small { margin-left: 6px; color: var(--pc-sub); font-size: .7rem; font-weight: 500; }
.pochi-item__review { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .85rem; }
.pochi-item__review b { font-weight: 800; }
.pochi-item__review small { color: var(--pc-sub); font-size: .72rem; }
.pochi-item__shop { display: flex; align-items: center; gap: 4px; color: var(--pc-sub); font-size: .76rem; }
.pochi-item__shop .pochi-icon { width: 13px; height: 13px; }
.pochi-item__btns { display: grid; gap: 10px; margin-top: 16px; }
.pochi-item__btns .pochi-btn { min-height: 54px; font-size: 1rem; }
.pochi-item__comment { margin-top: 24px; padding: 14px 16px; border-radius: 18px; background: var(--pc-pale2); }
.pochi-item__comment-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pochi-item__comment-head img { width: 44px; height: 44px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.pochi-item__comment-head p { display: flex; flex-direction: column; margin: 0; line-height: 1.3; }
.pochi-item__comment-head b { font-size: .86rem; }
.pochi-item__comment-head small { color: var(--pc-sub); font-size: .7rem; }
.pochi-item__myrate { margin-left: auto; font-size: .95rem; }
.pochi-item__comment .pochi-content { font-size: .93rem; }
.pochi-item__comment .pochi-content > :last-child { margin-bottom: 0; }
.pochi-item__pc { margin-top: 12px; }

/* 購入バー */
.pochi-buybar {
	position: fixed;
	right: 0;
	bottom: calc(64px + env(safe-area-inset-bottom));
	left: 0;
	z-index: 58;
	max-width: 760px;
	margin: 0 auto;
	padding: 8px 12px;
	background: rgba(255, 255, 255, .97);
	border-top: 1px solid var(--pc-border);
	transform: translateY(calc(100% + 80px));
	transition: transform .28s ease;
}
body:not(.has-bottom-nav) .pochi-buybar { bottom: 0; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
.pochi-buybar.is-show { transform: none; }
.pochi-buybar__inner { display: flex; align-items: center; gap: 10px; }
.pochi-buybar__info { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.3; }
.pochi-buybar__title { overflow: hidden; color: var(--pc-sub); font-size: .7rem; white-space: nowrap; text-overflow: ellipsis; }
.pochi-buybar__info b { color: var(--pc-deep); font-size: 1rem; }
.pochi-buybar .pochi-btn { flex: none; min-height: 44px; padding: 0 22px; font-size: .86rem; }
.pochi-buybar .pochi-btn::after { display: none; }

/* ---------- タブ ---------- */
.pochi-tabs__nav { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 16px; padding: 4px; border-radius: 999px; background: #fff; box-shadow: var(--pc-shadow-s); }
.pochi-tabs__nav button { display: flex; align-items: center; justify-content: center; gap: 6px; height: 40px; border-radius: 999px; color: var(--pc-sub); font-size: .86rem; font-weight: 700; }
.pochi-tabs__nav button .pochi-icon { width: 16px; height: 16px; }
.pochi-tabs__nav [aria-selected="true"] { background: var(--pc-deep); color: #fff; }

/* ---------- 404 ---------- */
.pochi-404 { padding: 40px 8px 8px; text-align: center; }
.pochi-404__num { margin: 0; color: var(--pc-main); font: 700 4rem/1 var(--pc-font-round); }
.pochi-404__title { margin: 10px 0 6px; font-size: 1.1rem; }
.pochi-404__text { color: var(--pc-sub); font-size: .84rem; }
.pochi-404 .pochi-searchform { margin: 18px 0; }
.pochi-404 .pochi-btn { display: inline-flex; padding: .6em 1.6em; }

/* ---------- コメント ---------- */
.pochi-comments { margin: 24px 0; padding: 20px 16px; border-radius: 20px; background: #fff; }
.pochi-comments__title { margin: 0 0 12px; font: 700 1.05rem/1.4 var(--pc-font-round); }
.pochi-comments__list { margin: 0 0 16px; padding: 0; list-style: none; }
.pochi-comments__list .comment-body { padding: 12px 0; border-bottom: 1px solid var(--pc-pale); font-size: .86rem; }
.pochi-comments__list .children { margin: 0; padding-left: 16px; list-style: none; }
.pochi-comments .comment-reply-title { font-size: 1rem; }
.pochi-comments :is(input[type="text"], input[type="email"], input[type="url"], textarea) { width: 100%; padding: 10px 12px; border: 2px solid var(--pc-border); border-radius: 12px; font-size: 16px; }
.pochi-comments .submit { padding: 10px 24px; border: 0; border-radius: 999px; background: var(--pc-deep); color: #fff; font-weight: 700; }
.pochi-comments__note { color: var(--pc-sub); font-size: .76rem; }

/* ---------- フッター ---------- */
.pochi-footer { margin-top: 40px; padding: 28px 16px 24px; border-top: 1px solid var(--pc-border); border-radius: 26px 26px 0 0; background: #fff; text-align: center; }
.pochi-footer__widgets { margin-bottom: 20px; text-align: left; }
.pochi-footer__logo { margin: 0; }
.pochi-footer__logo a { color: var(--pc-deep); font: 700 1.1rem/1.4 var(--pc-font-round); text-decoration: none; }
.pochi-footer__desc { margin: 4px 0 12px; color: var(--pc-sub); font-size: .76rem; }
.pochi-footer .pochi-sns { justify-content: center; margin-bottom: 16px; }
.pochi-footer__nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: 0 0 12px; padding: 0; list-style: none; }
.pochi-footer__nav a { color: var(--pc-text); font-size: .76rem; text-decoration: none; }
.pochi-footer__note { margin: 8px 0; color: var(--pc-sub); font-size: .7rem; }
.pochi-footer__credit { margin: 4px 0; font-size: .66rem; }
.pochi-footer__credit a { color: var(--pc-sub); }
.pochi-footer__copy { margin: 12px 0 0; color: var(--pc-sub); font-size: .68rem; }

/* ---------- PC（中央にアプリ画面） ---------- */
@media (min-width: 800px) {
	body { background: var(--pc-pale2) radial-gradient(var(--pc-border) 1.3px, transparent 1.6px) 0 0 / 22px 22px; }
	.pochi-app { box-shadow: 0 0 48px rgba(var(--pc-main-rgb), .16); }
	.pochi-main { padding: 0 24px 32px; }
	.pochi-article, .pochi-item { margin-right: 0; margin-left: 0; padding: 28px 32px 32px; }
	.pochi-item-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pochi-pickup { margin: 0 -24px; padding: 4px 24px 14px; }
	.pochi-pickup__item { flex-basis: 46%; }
	.pochi-chips--inline { margin: 0 -24px 14px; }
	.pochi-chips--inline .pochi-chips__list { padding: 2px 24px 4px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- ウィジェット（フッター・ドロワー） ---------- */
.pochi-footer__widgets .pochi-widget, .pochi-drawer__widgets .pochi-widget { margin-bottom: 18px; }
.pochi-footer__widgets :is(h2, h3, .pochi-widget__title), .pochi-drawer__widgets :is(h2, h3, .pochi-widget__title) { margin: 0 0 8px; font: 700 .9rem/1.4 var(--pc-font-round); }
.pochi-footer__widgets ul, .pochi-drawer__widgets ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pochi-footer__widgets li a, .pochi-drawer__widgets li a { display: inline-block; padding: 3px 12px; border: 1px solid var(--pc-border); border-radius: 999px; background: var(--pc-pale2); color: var(--pc-text); font-size: .75rem; text-decoration: none; }
.pochi-footer__widgets li ul, .pochi-drawer__widgets li ul { display: contents; }
