@charset "UTF-8";
/* ==========================================================================
   POCHIROOM content.css
   記事本文とブロック・商品ボックス・吹き出し・目次などのパーツ
   公開ページ(.pochi-content)とブロックエディター(.editor-styles-wrapper)で共通
   ========================================================================== */

:root {
	--pc-main: #e7849b;
	--pc-main-rgb: 231, 132, 155;
	--pc-deep: #b84c6e;
	--pc-deep-dark: #973e5a;
	--pc-light: #f3c1cd;
	--pc-pale: #fcecf0;
	--pc-pale2: #fef6f8;
	--pc-bg: #fff8f9;
	--pc-text: #4a3b40;
	--pc-sub: #776c70;
	--pc-border: #f9dde4;
	--pc-rakuten: #bf0000;
	--pc-rakuten-dark: #950000;
	--pc-gold: #b8903a;
	--pc-mint: #357a6a;
	--pc-font-base: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif;
	--pc-font-round: "Zen Maru Gothic", var(--pc-font-base);
	--pc-radius: 16px;
	--pc-shadow: 0 6px 20px rgba(var(--pc-main-rgb), .18);
	--pc-shadow-s: 0 2px 10px rgba(var(--pc-main-rgb), .13);
}

/* ---------- 本文のベース ---------- */
:is(.pochi-content, .editor-styles-wrapper) {
	font-family: var(--pc-font-base);
	font-size: 16px;
	line-height: 1.9;
	letter-spacing: .02em;
	color: var(--pc-text);
	overflow-wrap: anywhere;
}
:is(.pochi-content, .editor-styles-wrapper) :where(p) { margin: 0 0 1.6em; }
:is(.pochi-content, .editor-styles-wrapper) :where(a) {
	color: var(--pc-deep);
	text-decoration: underline;
	text-decoration-color: var(--pc-light);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
:is(.pochi-content, .editor-styles-wrapper) :where(strong, b) { font-weight: 700; }
:is(.pochi-content, .editor-styles-wrapper) :where(img) { max-width: 100%; height: auto; border-radius: 12px; }
:is(.pochi-content, .editor-styles-wrapper) :where(figure) { margin: 0 0 1.8em; }
:is(.pochi-content, .editor-styles-wrapper) :where(figcaption) { font-size: .75rem; color: var(--pc-sub); text-align: center; margin-top: .5em; }
:is(.pochi-content, .editor-styles-wrapper) :where(iframe, video) { max-width: 100%; }

/* 見出し */
:is(.pochi-content, .editor-styles-wrapper) :where(h2, h3, h4) {
	font-family: var(--pc-font-round);
	font-weight: 700;
	line-height: 1.55;
	color: var(--pc-text);
	scroll-margin-top: 72px;
}
:is(.pochi-content, .editor-styles-wrapper) :where(h2) {
	position: relative;
	font-size: 1.28rem;
	margin: 2.8em 0 1.3em;
	padding: .8em 1em .8em 1.25em;
	background: var(--pc-pale);
	border-radius: 14px;
}
:is(.pochi-content, .editor-styles-wrapper) :where(h2)::before {
	content: "";
	position: absolute;
	left: 0;
	top: .75em;
	bottom: .75em;
	width: 5px;
	border-radius: 0 4px 4px 0;
	background: var(--pc-main);
}
:is(.pochi-content, .editor-styles-wrapper) :where(h3) {
	position: relative;
	font-size: 1.12rem;
	margin: 2.4em 0 1em;
	padding: 0 0 .5em;
	border-bottom: 2px solid var(--pc-border);
}
:is(.pochi-content, .editor-styles-wrapper) :where(h3)::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 3.5em;
	height: 2px;
	background: var(--pc-main);
}
:is(.pochi-content, .editor-styles-wrapper) :where(h4) {
	position: relative;
	font-size: 1rem;
	margin: 2em 0 .8em;
	padding-left: 1.3em;
}
:is(.pochi-content, .editor-styles-wrapper) :where(h4)::before {
	content: "";
	position: absolute;
	left: .15em;
	top: .55em;
	width: .55em;
	height: .55em;
	border-radius: 50%;
	background: var(--pc-main);
	box-shadow: 0 0 0 3px var(--pc-pale);
}
:is(.pochi-content, .editor-styles-wrapper) :is(h2, h3, h4).is-style-plain {
	background: none;
	padding: 0;
	border: 0;
}
:is(.pochi-content, .editor-styles-wrapper) :is(h2, h3, h4).is-style-plain::before,
:is(.pochi-content, .editor-styles-wrapper) :is(h2, h3, h4).is-style-plain::after { display: none; }

/* リスト */
:is(.pochi-content, .editor-styles-wrapper) :where(ul, ol) { margin: 0 0 1.6em; padding-left: 1.5em; }
:is(.pochi-content, .editor-styles-wrapper) :where(li) { margin: .35em 0; }
:is(.pochi-content, .editor-styles-wrapper) :where(li)::marker { color: var(--pc-main); font-weight: 700; }
:is(.pochi-content, .editor-styles-wrapper) :where(li > ul, li > ol) { margin: .3em 0; }

/* チェックリスト */
:is(.pochi-content, .editor-styles-wrapper) :is(ul, ol).is-style-check,
:is(.pochi-content, .editor-styles-wrapper) :is(ul, ol).is-style-good,
:is(.pochi-content, .editor-styles-wrapper) :is(ul, ol).is-style-bad,
.pochi-item__pc :is(ul).is-style-good,
.pochi-item__pc :is(ul).is-style-bad { list-style: none; padding-left: 0; }
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) :is(.is-style-check, .is-style-good, .is-style-bad) > li {
	position: relative;
	padding-left: 1.9em;
	margin: .5em 0;
}
:is(.pochi-content, .editor-styles-wrapper) .is-style-check > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .38em;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: var(--pc-main);
}
:is(.pochi-content, .editor-styles-wrapper) .is-style-check > li::after {
	content: "";
	position: absolute;
	left: .42em;
	top: .56em;
	width: .34em;
	height: .62em;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .is-style-good > li::before {
	content: "";
	position: absolute;
	left: .1em;
	top: .45em;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	border: 3px solid #4f9f8c;
	box-sizing: border-box;
}
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .is-style-bad > li::before {
	content: "";
	position: absolute;
	left: .05em;
	top: .4em;
	width: 1.1em;
	height: 1em;
	background: #8a93a6;
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% 28%, 22% 82%, 78% 82%, 50% 28%);
}
:is(.pochi-content, .editor-styles-wrapper) ol.is-style-num { list-style: none; padding-left: 0; counter-reset: pnum; }
:is(.pochi-content, .editor-styles-wrapper) ol.is-style-num > li { counter-increment: pnum; position: relative; padding-left: 2.1em; margin: .6em 0; }
:is(.pochi-content, .editor-styles-wrapper) ol.is-style-num > li::before {
	content: counter(pnum);
	position: absolute;
	left: 0;
	top: .3em;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	background: var(--pc-deep);
	color: #fff;
	font-size: .82em;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
}

/* 引用 */
:is(.pochi-content, .editor-styles-wrapper) :where(blockquote) {
	position: relative;
	margin: 0 0 1.8em;
	padding: 1em 1.2em 1em 2.8em;
	background: #f8f5f6;
	border: 0;
	border-radius: 14px;
	color: var(--pc-sub);
	font-size: .92rem;
}
:is(.pochi-content, .editor-styles-wrapper) :where(blockquote)::before {
	content: "“";
	position: absolute;
	left: .45em;
	top: .05em;
	font: 700 2.8em/1 Georgia, serif;
	color: var(--pc-light);
}
:is(.pochi-content, .editor-styles-wrapper) :where(blockquote p:last-of-type) { margin-bottom: 0; }
:is(.pochi-content, .editor-styles-wrapper) :where(blockquote cite) { display: block; font-size: .75rem; margin-top: .5em; font-style: normal; }

/* 表 */
:is(.pochi-content, .editor-styles-wrapper) .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.8em; }
:is(.pochi-content, .editor-styles-wrapper) :where(table) { width: 100%; border-collapse: collapse; font-size: .86rem; line-height: 1.6; background: #fff; }
:is(.pochi-content, .editor-styles-wrapper) :where(th, td) { border: 1px solid var(--pc-border); padding: .65em .75em; vertical-align: top; }
:is(.pochi-content, .editor-styles-wrapper) :where(thead th, th) { background: var(--pc-pale); font-weight: 700; text-align: left; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-table :where(thead) { border-bottom: 0; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-pochi-compare table { min-width: 560px; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-pochi-compare :is(th, td):first-child {
	position: sticky;
	left: 0;
	z-index: 1;
	background: var(--pc-pale2);
	font-weight: 700;
	min-width: 6.5em;
}
:is(.pochi-content, .editor-styles-wrapper) .is-style-pochi-compare thead th:first-child { background: var(--pc-pale); }

/* 区切り線 */
:is(.pochi-content, .editor-styles-wrapper) :where(hr) { border: 0; border-top: 2px dashed var(--pc-border); margin: 2.6em auto; }
:is(.pochi-content, .editor-styles-wrapper) hr.is-style-dots {
	border: 0;
	width: 40%;
	height: 8px;
	background: radial-gradient(circle, var(--pc-light) 2.5px, transparent 3px) center / 18px 8px repeat-x;
}

/* 段落スタイル */
:is(.pochi-content, .editor-styles-wrapper) p.is-style-note { font-size: .8rem; line-height: 1.75; color: var(--pc-sub); }
:is(.pochi-content, .editor-styles-wrapper) p.is-style-lead { padding: 1em 1.2em; background: var(--pc-pale2); border-radius: 14px; font-size: 1rem; }

/* 画像スタイル */
:is(.pochi-content, .editor-styles-wrapper) .is-style-frame img { border: 6px solid #fff; box-shadow: var(--pc-shadow-s); }
:is(.pochi-content, .editor-styles-wrapper) .is-style-shadow img { box-shadow: var(--pc-shadow); }

/* マーカー・強調（ツールバーの書式） */
.pochi-marker { background: linear-gradient(transparent 58%, rgba(var(--pc-main-rgb), .38) 58%); padding: 0 .1em; }
.pochi-marker-yellow { background: linear-gradient(transparent 58%, #ffec8a 58%); padding: 0 .1em; }
.pochi-em { color: var(--pc-deep); font-weight: 700; }

/* ---------- ボックス（グループブロックのスタイル） ---------- */
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .wp-block-group[class*="is-style-box-"] {
	--bx-bd: var(--pc-light);
	--bx-bg: var(--pc-pale2);
	--bx-label: var(--pc-deep);
	position: relative;
	margin: 2.2em 0 1.8em;
	padding: 1.7em 1.2em 1.1em;
	border: 2px solid var(--bx-bd);
	border-radius: 16px;
	background: var(--bx-bg);
}
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .wp-block-group[class*="is-style-box-"]::before {
	position: absolute;
	top: -.95em;
	left: 1em;
	padding: .25em 1em;
	border-radius: 999px;
	background: var(--bx-label);
	color: #fff;
	font: 700 .78rem/1.5 var(--pc-font-round);
	letter-spacing: .06em;
}
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .wp-block-group[class*="is-style-box-"] > :last-child { margin-bottom: 0; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-point::before { content: "ポイント"; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-group.is-style-box-check { --bx-bd: var(--pc-border); --bx-bg: #fff; border-style: dashed; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-check::before { content: "チェック"; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-group.is-style-box-conclusion { --bx-bd: var(--pc-deep); --bx-bg: #fff; box-shadow: var(--pc-shadow-s); }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-conclusion::before { content: "結論"; }
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .wp-block-group.is-style-box-good { --bx-bd: #bfe3d8; --bx-bg: #f2faf7; --bx-label: var(--pc-mint); }
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .is-style-box-good::before { content: "良いところ"; }
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .wp-block-group.is-style-box-bad { --bx-bd: #d9dde7; --bx-bg: #f5f6f9; --bx-label: #6b7385; }
:is(.pochi-content, .editor-styles-wrapper, .pochi-item__pc) .is-style-box-bad::before { content: "気になるところ"; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-group.is-style-box-caution { --bx-bd: #f3d9a8; --bx-bg: #fffaf0; --bx-label: #9c5f0f; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-caution::before { content: "注意"; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-group.is-style-box-memo { --bx-bd: #e6dccf; --bx-bg: #fbf8f3; --bx-label: #8a6f4e; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-memo::before { content: "メモ"; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-group.is-style-box-simple { --bx-bd: var(--pc-border); --bx-bg: #fff; padding-top: 1.1em; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-box-simple::before { display: none; }

/* ---------- ボタン（コアのボタンブロック） ---------- */
:is(.pochi-content, .editor-styles-wrapper) .wp-block-buttons { gap: .7em; margin: 1.6em 0; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-button__link {
	border-radius: 999px;
	padding: .85em 2.2em;
	background: var(--pc-deep);
	color: #fff;
	font-weight: 700;
	font-size: .95rem;
	text-decoration: none;
	box-shadow: 0 3px 0 var(--pc-deep-dark);
	transition: transform .12s, box-shadow .12s;
}
:is(.pochi-content, .editor-styles-wrapper) .wp-block-button__link:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--pc-deep-dark); }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-button:is(.is-style-rakuten, .is-style-room) { flex: 1 1 220px; }
:is(.pochi-content, .editor-styles-wrapper) .wp-block-button:is(.is-style-rakuten, .is-style-room) .wp-block-button__link { display: block; width: 100%; text-align: center; min-height: 50px; }
:is(.pochi-content, .editor-styles-wrapper) .is-style-rakuten .wp-block-button__link { background: var(--pc-rakuten); box-shadow: 0 3px 0 var(--pc-rakuten-dark); }
:is(.pochi-content, .editor-styles-wrapper) .is-style-room .wp-block-button__link { background: var(--pc-deep); }
:is(.pochi-content, .editor-styles-wrapper) .is-style-soft .wp-block-button__link { background: var(--pc-pale); color: var(--pc-deep); box-shadow: none; border: 1px solid var(--pc-light); }
:is(.pochi-content, .editor-styles-wrapper) .is-style-outline .wp-block-button__link { background: #fff; color: var(--pc-deep); border: 2px solid currentColor; box-shadow: none; }

/* ==========================================================================
   パーツ（テーマが出力するHTML）
   ========================================================================== */

/* PR表記 */
.pochi-pr {
	display: flex;
	align-items: center;
	gap: .55em;
	margin: .9em 0 0;
	padding: .5em .8em;
	border-radius: 8px;
	background: #f6f2f3;
	color: #5f5559;
	font-size: .75rem;
	line-height: 1.5;
}
.pochi-pr__badge {
	flex: none;
	padding: .1em .5em;
	border-radius: 4px;
	background: #6f6468;
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .06em;
}

/* 星 */
.pochi-stars { position: relative; display: inline-block; line-height: 1; letter-spacing: .06em; color: #e8dfe2; white-space: nowrap; font-family: var(--pc-font-base); }
.pochi-stars__fg { position: absolute; top: 0; left: 0; overflow: hidden; color: #f0a81c; }

/* ボタン（商品ボックス・アイテムページ） */
.pochi-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45em;
	min-height: 50px;
	padding: .6em 2.4em;
	border-radius: 999px;
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	transition: transform .12s, box-shadow .12s;
	-webkit-tap-highlight-color: transparent;
}
.pochi-btn .pochi-icon { width: 18px; height: 18px; }
.pochi-btn::after {
	content: "";
	position: absolute;
	right: 1.2em;
	top: 50%;
	width: .42em;
	height: .42em;
	margin-top: -.21em;
	border: solid currentColor;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
	opacity: .85;
}
.pochi-btn:active { transform: translateY(2px); }
.pochi-btn--rakuten { background: var(--pc-rakuten); box-shadow: 0 3px 0 var(--pc-rakuten-dark); }
.pochi-btn--rakuten:active { box-shadow: 0 1px 0 var(--pc-rakuten-dark); }
.pochi-btn--room { background: var(--pc-deep); box-shadow: 0 3px 0 var(--pc-deep-dark); }
.pochi-btn--room:active { box-shadow: 0 1px 0 var(--pc-deep-dark); }
.pochi-btn--soft { background: var(--pc-pale); color: var(--pc-deep); border: 1px solid var(--pc-light); }
.pochi-btn--soft::after { display: none; }
/* キラッと光る演出（楽天ボタン） */
.pochi-btn--rakuten::before {
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
	transform: skewX(-20deg);
	animation: pochi-shine 3.6s ease-in-out infinite;
}
@keyframes pochi-shine {
	0%, 70% { left: -60%; }
	100% { left: 130%; }
}

/* ---------- 商品ボックス ---------- */
.pochi-itembox {
	position: relative;
	margin: 2em 0;
	padding: 1em;
	border: 1px solid var(--pc-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--pc-shadow-s);
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: .01em;
}
.pochi-itembox.has-rank { padding-top: 2.9em; }
.pochi-itembox__rank {
	position: absolute;
	top: -1px;
	left: -1px;
	display: flex;
	align-items: center;
	gap: .3em;
	margin: 0;
	padding: .35em 1.1em .35em .9em;
	border-radius: 18px 0 16px 0;
	background: var(--rk, var(--pc-sub));
	color: #fff;
	font: 700 .95rem/1.4 var(--pc-font-round);
	letter-spacing: .04em;
}
.pochi-itembox__rank .pochi-icon { width: 18px; height: 18px; color: #fff3c4; }
.rank-1 { --rk: linear-gradient(135deg, #c9a14a, #8f6b1e); }
.rank-2 { --rk: linear-gradient(135deg, #9aa1ad, #5f6672); }
.rank-3 { --rk: linear-gradient(135deg, #c08a5c, #83522d); }
.rank-4 { --rk: var(--pc-sub); }
.pochi-itembox__main { display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); gap: .9em; align-items: start; }
.pochi-itembox__img {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid #f3e9ec;
	border-radius: 12px;
	background: #fff;
}
.pochi-itembox__img img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.pochi-itembox__info > p { margin: 0; }
.pochi-itembox__catch {
	display: inline-block;
	margin-bottom: .35em !important;
	padding: .15em .6em;
	border-radius: 6px;
	background: var(--pc-pale);
	color: var(--pc-deep);
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.5;
}
.pochi-itembox__title { font-size: .9rem; font-weight: 700; line-height: 1.5; }
.pochi-itembox__title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: var(--pc-text);
	text-decoration: none;
}
.pochi-itembox__rate,
.pochi-itembox__review { display: flex; flex-wrap: wrap; align-items: center; gap: .1em .45em; margin-top: .35em !important; font-size: .78rem; }
.pochi-itembox__review b { font-weight: 800; }
.pochi-itembox__review small { color: var(--pc-sub); font-size: .7rem; }
.pochi-itembox__label { color: var(--pc-sub); font-size: .66rem; }
.pochi-itembox__price { margin-top: .35em !important; color: var(--pc-deep); font-size: 1.22rem; font-weight: 800; line-height: 1.3; font-variant-numeric: tabular-nums; }
.pochi-itembox__price small { margin-left: .35em; color: var(--pc-sub); font-size: .62rem; font-weight: 500; }
.pochi-itembox__shop { display: flex; align-items: center; gap: .3em; margin-top: .3em !important; color: var(--pc-sub); font-size: .7rem; line-height: 1.4; }
.pochi-itembox__shop .pochi-icon { width: 12px; height: 12px; }
.pochi-itembox__pc { display: grid; gap: .5em; margin-top: .9em; font-size: .8rem; }
@media (min-width: 520px) { .pochi-itembox__pc { grid-template-columns: 1fr 1fr; } }
.pochi-itembox__pros,
.pochi-itembox__cons { padding: .6em .8em; border-radius: 10px; }
.pochi-itembox__pros { background: #f2faf7; }
.pochi-itembox__cons { background: #f5f6f9; }
.pochi-itembox__pc p { margin: 0 0 .2em; font-size: .7rem; font-weight: 700; }
.pochi-itembox__pros p { color: var(--pc-mint); }
.pochi-itembox__cons p { color: #6b7385; }
.pochi-itembox__pc ul { margin: 0; padding: 0; list-style: none; }
.pochi-itembox__pc li { position: relative; margin: .15em 0; padding-left: 1.2em; line-height: 1.55; }
.pochi-itembox__pros li::before { content: "◯"; position: absolute; left: 0; color: #4f9f8c; font-size: .8em; top: .15em; }
.pochi-itembox__cons li::before { content: "△"; position: absolute; left: 0; color: #8a93a6; font-size: .8em; top: .15em; }
.pochi-itembox__btns { display: grid; gap: .6em; margin-top: 1em; }
.pochi-itembox-empty { padding: 1em; border: 2px dashed var(--pc-border); border-radius: 12px; color: var(--pc-sub); font-size: .85rem; }

/* ---------- 吹き出し ---------- */
.pochi-balloon { display: flex; align-items: flex-start; gap: .9em; margin: 1.8em 0; }
.pochi-balloon.is-right { flex-direction: row-reverse; }
.pochi-balloon__who { flex: 0 0 64px; text-align: center; }
.pochi-balloon__who img {
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 auto;
	border: 2px solid var(--pc-light);
	border-radius: 50% !important;
	background: var(--pc-pale);
	object-fit: cover;
}
.pochi-balloon__who span { display: block; margin-top: .3em; color: var(--pc-sub); font-size: .66rem; line-height: 1.3; }
.pochi-balloon__text {
	position: relative;
	flex: 1;
	min-width: 0;
	padding: .85em 1.1em;
	border: 2px solid var(--pc-border);
	border-radius: 16px;
	background: var(--pc-pale2);
	font-size: .94rem;
	line-height: 1.8;
}
.pochi-balloon__text::before {
	content: "";
	position: absolute;
	top: 22px;
	left: -8px;
	width: 12px;
	height: 12px;
	background: inherit;
	border: solid var(--pc-border);
	border-width: 0 0 2px 2px;
	transform: rotate(45deg);
}
.pochi-balloon.is-right .pochi-balloon__text { background: #f7f7fa; border-color: #e6e6ee; }
.pochi-balloon.is-right .pochi-balloon__text::before { left: auto; right: -8px; border-color: #e6e6ee; border-width: 2px 2px 0 0; }
.pochi-balloon__text p { margin: 0 0 .6em; }
.pochi-balloon__text p:last-child { margin-bottom: 0; }

/* ---------- 目次 ---------- */
.pochi-toc {
	margin: 2em 0;
	overflow: hidden;
	border: 2px solid var(--pc-border);
	border-radius: 16px;
	background: #fff;
}
.pochi-toc__title {
	display: flex;
	align-items: center;
	gap: .5em;
	padding: .85em 1.1em;
	background: var(--pc-pale2);
	cursor: pointer;
	font: 700 1rem/1.5 var(--pc-font-round);
	list-style: none;
	-webkit-tap-highlight-color: transparent;
}
.pochi-toc__title::-webkit-details-marker { display: none; }
.pochi-toc__title .pochi-icon { width: 18px; height: 18px; color: var(--pc-main); }
.pochi-toc__toggle { margin-left: auto; color: var(--pc-deep); font: 700 .72rem/1 var(--pc-font-base); }
.pochi-toc__toggle::after { content: "ひらく ▼"; }
.pochi-toc[open] .pochi-toc__toggle::after { content: "とじる ▲"; }
.pochi-toc__list { margin: 0; padding: .7em 1.1em 1em; list-style: none; counter-reset: toc; }
.pochi-toc__list > li { position: relative; margin: .55em 0; padding-left: 2em; font-size: .92rem; line-height: 1.6; counter-increment: toc; }
.pochi-toc__list > li::before {
	content: counter(toc);
	position: absolute;
	left: 0;
	top: .1em;
	width: 1.55em;
	height: 1.55em;
	border-radius: 50%;
	background: var(--pc-deep);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1.55em;
	text-align: center;
}
.pochi-toc__list > li.is-orphan { padding-left: 0; counter-increment: none; }
.pochi-toc__list > li.is-orphan::before { display: none; }
.pochi-toc__list ol { margin: .3em 0 0; padding: 0; list-style: none; }
.pochi-toc__list ol li { position: relative; margin: .3em 0; padding-left: 1em; font-size: .84rem; }
.pochi-toc__list ol li::before { content: ""; position: absolute; left: 0; top: .7em; width: .38em; height: .38em; border-radius: 50%; background: var(--pc-light); }
.pochi-toc a { color: var(--pc-text); text-decoration: none; }
.pochi-toc a:hover { color: var(--pc-deep); text-decoration: underline; }

/* ---------- ROOMフォロー ---------- */
.pochi-room-cta {
	position: relative;
	display: flex;
	align-items: center;
	gap: .8em;
	margin: 1.2em 0 0;
	padding: .9em 1em;
	overflow: hidden;
	border-radius: 16px;
	background: radial-gradient(circle at 92% 20%, rgba(255, 255, 255, .16) 0 28px, transparent 29px), radial-gradient(circle at 78% 110%, rgba(255, 255, 255, .1) 0 34px, transparent 35px), var(--pc-deep);
	box-shadow: var(--pc-shadow);
	color: #fff !important;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
}
.pochi-room-cta__icon { display: grid; flex: none; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: rgba(255, 255, 255, .2); }
.pochi-room-cta__icon .pochi-icon { width: 22px; height: 22px; }
.pochi-room-cta__body { flex: 1; font-size: .98rem; }
.pochi-room-cta__body small { display: block; font-size: .7rem; font-weight: 500; opacity: .92; }
.pochi-room-cta__arrow { width: 18px; height: 18px; }
.pochi-room-cta.is-inline { margin: 1.6em 0; }

@media (prefers-reduced-motion: reduce) {
	.pochi-btn--rakuten::before { animation: none; display: none; }
}

/* ---------- お問い合わせフォーム ---------- */
.pochi-contact { margin: 1.6em 0; padding: 20px 16px; border-radius: 20px; background: #fff; box-shadow: var(--pc-shadow-s); }
.pochi-contact form { margin: 0; }
.pochi-contact__row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; }
.pochi-contact__row > label { font-size: .88rem; font-weight: 700; }
.pochi-contact .is-req { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--pc-pale); color: var(--pc-deep); font-size: .66rem; font-weight: 700; vertical-align: 2px; }
.pochi-contact :is(input[type="text"], input[type="email"], select, textarea) { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 2px solid var(--pc-border); border-radius: 12px; background: var(--pc-pale2); color: var(--pc-text); font: inherit; font-size: 16px; }
.pochi-contact :is(input, select, textarea):focus { border-color: var(--pc-main); outline: none; background: #fff; }
.pochi-contact textarea { min-height: 9em; resize: vertical; }
.pochi-contact__row.is-agree label { display: flex; align-items: center; gap: 8px; font-size: .88rem; font-weight: 500; }
.pochi-contact__row.is-agree input { width: 20px; height: 20px; accent-color: var(--pc-deep); }
.pochi-contact__err { margin: 0; padding: 8px 12px; border-radius: 10px; background: #fff0f0; color: #b3261e; font-size: .8rem; font-weight: 700; }
.pochi-contact > .pochi-contact__err { margin-bottom: 16px; }
.pochi-contact__submit { margin: 0; }
.pochi-contact__submit .pochi-btn { width: 100%; border: 0; cursor: pointer; font-family: inherit; }
.pochi-contact__note { margin: 12px 0 0; color: var(--pc-sub); font-size: .74rem; }
.pochi-contact__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pochi-contact__done { padding: 8px 4px; text-align: center; }
.pochi-contact__done p { margin: 0 0 .6em; }
.pochi-contact__done b { color: var(--pc-deep); font-size: 1.1rem; }
