/**
 * kappa-guide 共通スタイル v0.5.0
 * デザイントークン: 「Field Notes in Ink」= 紙×インク×深緑×朱(1色のみ)
 * 注意: 親テーマがhtml{font-size:62.5%}のためremは使わない(px/em)。
 */
:root {
	--kp-paper:    #f6f1e6; /* 地の紙(=bodyと同値) */
	--kp-paper-2:  #fdfaf1; /* 浮かせる面(ピル・カード) */
	--kp-paper-3:  #f0ead9; /* 沈める面(表ヘッダ) */
	--kp-ink:      #403d33;
	--kp-ink-mute: #6c6759; /* AA(5.0:1)を満たす控えめ文字 */
	--kp-rule:     #d8cfba; /* 罫線は1種 */
	--kp-green:    #2e5e4e;
	--kp-green-deep: #234a3c;
	--kp-seal:     #c84434; /* 朱はこの1色のみ */
	--kp-indigo:   #165E83; /* 藍。地図のお気に入りピン専用（本文とUIには出さない） */
	/* 朱の上に載せる文字。地の紙(#f6f1e6)だと朱に対して4.31:1でAA(4.5:1)に
	   届かないため、いちばん白い紙を使う(4.64:1)。色は増やしていない */
	--kp-on-seal:  #fdfaf1;
	--kp-r: 6px;            /* カード角丸 */
	--kp-r-pill: 999px;
}

/* ============================================================
   基本部品
   ============================================================ */
.kappa-icon { vertical-align: -5px; }
.kappa-icon--group { color: var(--kp-green); margin: 0 3px 0 2px; vertical-align: -4px; }

.kappa-badge { display: inline-flex; align-items: center; min-height: 24px; font-size: 12px; padding: 1px 10px; border-radius: var(--kp-r-pill); line-height: 1.3; }
/* あり＝実線／休み＝破線／未確認＝無印。サービス欄の押印と同じ語彙。
   塗りをやめて墨と紙だけにし、朱は「選択中の絞り込み」と「お気に入り」に取っておく */
.kappa-badge--open { background: transparent; border: 1px solid var(--kp-green); color: var(--kp-green-deep); }
.kappa-badge--closed { background: transparent; border: 1px dashed var(--kp-ink-mute); color: var(--kp-ink-mute); }
.kappa-badge--unknown { background: transparent; border: 1px solid transparent; color: var(--kp-ink-mute); padding-left: 0; }

/* ピル型の操作部品(リンク/ボタン共通・44px) */
.kappa-pill,
.kappa-share a,
.kappa-shop button.kappa-share__copy,
.kappa-side button.kappa-fav-btn,
.kappa-shop button.kappa-fav-btn {
	display: inline-flex; align-items: center; gap: 7px;
	width: auto; min-height: 40px; padding: 0 16px; line-height: 1.2;
	background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r-pill);
	font-size: 13.5px; color: var(--kp-ink) !important; text-decoration: none; cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.kappa-pill:hover,
.kappa-share a:hover,
.kappa-shop button.kappa-share__copy:hover,
.kappa-side button.kappa-fav-btn:hover,
.kappa-shop button.kappa-fav-btn:hover { border-color: var(--kp-green); }
.kappa-share .kappa-icon, .kappa-fav-btn .kappa-icon { color: var(--kp-green); vertical-align: 0; }

/* ============================================================
   今日の営業(トップ)・カテゴリ入口
   ============================================================ */
.kappa-today { padding: 12px 16px; background: var(--kp-paper-3); border-radius: var(--kp-r); margin: 0 0 16px; }
.kappa-group-links { margin: 0 0 18px; }
.kappa-group-links h3 { margin: 0 0 10px; font-size: 16px; }
.kappa-group-links__nav { display: flex; flex-wrap: wrap; gap: 8px; }
.kappa-group-links__nav a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 15px; background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r-pill); font-size: 13.5px; color: var(--kp-ink) !important; text-decoration: none; transition: border-color .15s ease; }
.kappa-group-links__nav a:hover { border-color: var(--kp-green); }
.kappa-group-links__nav .kappa-icon { color: var(--kp-green); vertical-align: 0; }

/* ============================================================
   店舗一覧(/shops/)
   ============================================================ */
/* 絞り込みは押せる札。素のfieldset＋既定チェックボックスだと、この紙の上で
   ブラウザの部品にしか見えず、サイトのピル／朱印の語彙から外れていた。
   選択中は朱を塗って「押した」ことを示す（朱印と同じ意味づけ）。 */
.kappa-shops__filters { margin: 0 0 26px; }
.kappa-shops__filters fieldset {
	border: 0; border-top: 1px solid var(--kp-rule);
	margin: 0; padding: 13px 0 3px; border-radius: 0; min-width: 0;
}
/* 見出しは札の上に置く。以前の float:left; width:8.2em は390pxで約110pxを
   常時占有し、折り返さない札（white-space:nowrap）を右へ押し出して文書幅
   そのものが画面を超えていた——本文の説明文まで右端が切れていた原因。 */
.kappa-shops__filters legend {
	display: block; float: none; width: auto; padding: 0 0 8px;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 12.5px; letter-spacing: .12em; line-height: 1.6; color: var(--kp-ink-mute);
}
.kappa-shops__filters label {
	display: inline-flex; align-items: center; gap: 7px;
	margin: 0 8px 8px 0; padding: 7px 14px; white-space: nowrap;
	background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r-pill);
	font-size: 13.5px; color: var(--kp-ink); cursor: pointer;
	transition: border-color .15s, background .15s, color .15s;
}
.kappa-shops__filters label:hover { border-color: var(--kp-green); }
/* 部品は隠すが取り除かない。ラベルを押せばよく、フォーカスは輪郭で示す */
.kappa-shops__filters input[type="checkbox"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
/* hidden 属性は UA の display:none だが、上の display:inline-flex が勝ってしまう */
.kappa-shops__filters label[hidden] { display: none; }
.kappa-shops__filters label:has(input:focus-visible) { outline: 2px solid var(--kp-green); outline-offset: 2px; }
.kappa-shops__filters label:has(input:checked) {
	background: var(--kp-seal); border-color: var(--kp-seal); color: var(--kp-on-seal);
}
.kappa-shops__filters label:has(input:checked) .kappa-icon,
.kappa-shops__filters label:has(input:checked) svg { color: var(--kp-on-seal); }
.kappa-shops__count {
	margin: 0 0 14px; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 14px; letter-spacing: .04em; color: var(--kp-ink-mute);
}
.kappa-shops__count #kappa-count {
	font-family: "Crimson Pro", Georgia, serif; font-size: 22px; font-weight: 600;
	color: var(--kp-ink); margin-right: 2px;
}
.kappa-filter__opt { display: inline-flex; align-items: center; gap: 2px; }
.kappa-filter__fav .kappa-icon { color: var(--kp-seal); }
/* 一覧は2列の台帳。1列だと143行がひたすら縦に伸びて見比べられない */
.kappa-shops, .kappa-card__name, .kappa-card__desc, .kappa-card__hours { overflow-wrap: anywhere; }
.kappa-shops__list {
	list-style: none; padding: 0; margin: 0;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 36px;
	border-top: 1px solid var(--kp-rule);
}
.kappa-card { border-bottom: 1px solid var(--kp-rule); padding: 0; }
/* 行全体をリンクにするとテーマが説明文や営業時間まで下線を引く。
   下線は店名のhoverだけに戻す */
.main_content .kappa-card__link,
.main_content .kappa-card__link * { text-decoration: none !important; }
.kappa-card__link {
	display: block; padding: 15px 4px 16px;
	text-decoration: none; color: var(--kp-ink) !important;
}
.main_content .kappa-card__link:hover .kappa-card__name,
.kappa-card__link:hover .kappa-card__name { text-decoration: underline !important; text-underline-offset: 3px; }
.kappa-card__head { display: flex; align-items: center; gap: 7px; }
.kappa-card__name {
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 16.5px; font-weight: 700; letter-spacing: .02em; line-height: 1.45;
}
.kappa-card__meta { display: flex; align-items: center; gap: 10px; margin-top: 5px; flex-wrap: wrap; }
.kappa-card__cat { font-size: 11.5px; letter-spacing: .04em; color: var(--kp-ink-mute); }
/* 説明は2行で頭打ちにする。文字数で切ると文の途中で「…」が出て壊れて見える */
.kappa-card__desc {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2;
	overflow: hidden; margin-top: 7px;
	font-size: 13.5px; line-height: 1.8; color: var(--kp-ink-mute);
}
.kappa-card__hours {
	display: block; margin-top: 6px;
	font-variant-numeric: tabular-nums; font-feature-settings: "tnum";
	font-size: 12.5px; color: var(--kp-ink);
}
.kappa-card--unknown { opacity: .82; }
.kappa-card__fav { color: var(--kp-seal); display: inline-flex; }
@media (max-width: 700px) { .kappa-shops__list { grid-template-columns: 1fr; } }

/* ---- 街区（Kappa_Shops_View / shops-filter.js） ----
   143件はサーバーが全件描く。街区で分節し、JSが動くとき（.kappa-js）だけ
   最初の街区以外を畳む。JS無しでは全街区が開き、ボタンは出ない。 */
.kappa-shops__lead { margin: 0 0 22px; max-width: 42em; font-size: 14.5px; line-height: 1.9; color: var(--kp-ink); }
.kappa-shops__search input[type="search"] {
	width: min(100%, 22em); min-height: 40px; padding: 6px 14px; margin: 0 0 8px;
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r-pill); background: var(--kp-paper-2);
	font-size: 14px; color: var(--kp-ink); -webkit-appearance: none; appearance: none;
}
.kappa-shops__search input[type="search"]:focus-visible { outline: 2px solid var(--kp-green); outline-offset: 2px; }
.kappa-shops__count b {
	font-family: "Crimson Pro", Georgia, serif; font-size: 22px; font-weight: 600;
	color: var(--kp-ink); margin: 0 2px;
}
.kappa-block { margin: 0 0 36px; }
/* テーマは .main_content の h2 に帯や罫を着せる。街区の見出しは台帳の耳なので素に戻す */
.main_content h2.kappa-block__h, .kappa-block__h {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px;
	margin: 0 0 10px !important; padding: 0 0 8px !important;
	background: none !important; border: 0 !important; border-bottom: 2px solid var(--kp-ink) !important;
	border-radius: 0; box-shadow: none; color: var(--kp-ink) !important; font-size: inherit; line-height: 1.4;
}
.main_content h2.kappa-block__h::before, .main_content h2.kappa-block__h::after { display: none !important; content: none !important; }
.kappa-block__name { font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 22px; font-weight: 700; letter-spacing: .08em; }
.kappa-block__sub { font-size: 12.5px; letter-spacing: .04em; color: var(--kp-ink-mute); font-weight: 400; }
.kappa-block__n { margin-left: auto; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 13px; color: var(--kp-ink-mute); font-weight: 400; white-space: nowrap; }
.kappa-block__n b { font-family: "Crimson Pro", Georgia, serif; font-size: 20px; font-weight: 600; color: var(--kp-ink); margin-right: 2px; }
.kappa-block .kappa-shops__list { border-top: 0; }
.kappa-block__more { display: none; margin: 14px 0 0; text-align: center; }
.kappa-shops.kappa-js .kappa-block:not(.is-open) > .kappa-shops__list { display: none; }
.kappa-shops.kappa-js .kappa-block:not(.is-open) > .kappa-block__more { display: block; }
.kappa-block__open { min-height: 44px; padding: 0 22px; }
.kappa-block--undetermined .kappa-block__h,
.main_content h2.kappa-block--undetermined { border-bottom: 1px dashed var(--kp-ink-mute) !important; }
.kappa-block--undetermined .kappa-block__name { font-size: 17px; color: var(--kp-ink-mute); }
.kappa-card__area { display: block; margin-top: 5px; font-size: 12px; letter-spacing: .03em; color: var(--kp-ink-mute); }
.kappa-card__favslot { display: inline-flex; color: var(--kp-seal); }
.kappa-card[hidden] { display: none; }

/* ============================================================
   店舗詳細: 全体・扉
   ============================================================ */
.single-shop .main_content, .single-post .main_content { max-width: 880px; margin-left: auto; margin-right: auto; }
/* 紙の空気(ごく薄い方眼) + 背景の道具スケッチ(fixed・超低透明度) */
html:has(body.single-shop) { background: var(--kp-paper); }
body.single-shop { background: transparent; }
body.single-shop::before, body.single-shop::after {
	content: ""; position: fixed; z-index: -1; pointer-events: none;
	background-repeat: no-repeat; background-size: contain;
}
body.single-shop::before {
	top: 90px; right: -40px; width: min(24vw, 380px); aspect-ratio: 56 / 76;
	background-image: url(/wp-content/uploads/2026/08/deco-tools-1.png);
	opacity: .07; transform: rotate(2deg);
}
body.single-shop::after {
	bottom: -30px; left: -50px; width: min(30vw, 460px); aspect-ratio: 76 / 52;
	background-image: url(/wp-content/uploads/2026/08/deco-tools-2.png);
	opacity: .06; transform: rotate(-3deg);
}
@media (max-width: 1099px) { body.single-shop::before, body.single-shop::after { display: none; } }
body.single-shop .l-contents, body.single-post .l-contents {
	background:
		repeating-linear-gradient(0deg, transparent 0 23px, rgba(64, 61, 51, .028) 23px 24px),
		repeating-linear-gradient(90deg, transparent 0 23px, rgba(64, 61, 51, .028) 23px 24px);
}
/* テーマ左端のSNS縦バーは共有行に一本化するため非表示 */
body.single-shop .sns_side, body.single-post .sns_side, body.single-shop .sns_share_fixed, body.single-shop .l-sns_share { display: none !important; }
/* テーマ共通キービジュアルは出さない */
.single-shop .l-keyvisual, .single-post .l-keyvisual { display: none; }

/* 扉(タイトルブロック) */
.kappa-door { padding: 8px 0 0; }
.kappa-door h1 { font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 800; font-size: clamp(34px, 4.6vw, 52px); letter-spacing: .08em; line-height: 1.25; margin: 0 0 2px; color: var(--kp-ink); }
/* 英語ページの店名併記（h1内、Kappa_Name::for_post_html()）。看板と照合できる添え書きなので、
   主役の英語名より控えめに（h1の巨大なフォントを継承させない） */
.kappa-door h1 .kappa-ja-name { font-family: "Hiragino Mincho ProN", serif; font-weight: 500; font-size: 0.45em; letter-spacing: .04em; color: var(--kp-ink-mute); }
.kappa-door__romaji { font-family: "Crimson Pro", Georgia, serif; font-size: 13px; letter-spacing: .32em; color: var(--kp-ink-mute); text-transform: uppercase; margin: 0 0 14px; }
.kappa-door__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 0; border-top: 1px solid var(--kp-rule); border-bottom: 1px solid var(--kp-rule); }
.kappa-door__meta .kappa-shop__cat { margin: 0; font-size: 14px; color: var(--kp-ink-mute); }

/* 決定パネル(1画面で判断できる要点) */
.kappa-decide { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; background: var(--kp-rule); border: 1px solid var(--kp-rule); border-radius: var(--kp-r); overflow: hidden; margin: 18px 0 8px; }
@media (max-width: 600px) {
	.kappa-decide { grid-template-columns: repeat(2, 1fr); }
	.kappa-decide__cell:first-child { grid-column: span 2; }
}
.kappa-decide__cell { background: var(--kp-paper-2); padding: 12px 14px 10px; }
.kappa-decide__label { display: flex; align-items: center; gap: 6px; font-size: 11.5px; letter-spacing: .1em; color: var(--kp-ink-mute); margin-bottom: 4px; }
.kappa-decide__label .kappa-icon { color: var(--kp-green); vertical-align: -4px; }
.kappa-decide__value { font-size: 15px; font-weight: 700; color: var(--kp-ink); line-height: 1.45; }
.kappa-decide__value small { display: block; font-weight: 400; font-size: 12px; color: var(--kp-ink-mute); }
.kappa-decide__value .kappa-yes { color: #1c6b38; }
.kappa-decide__value .kappa-tbc { color: var(--kp-ink-mute); font-weight: 400; }
.kappa-decide__value .kappa-no { color: var(--kp-ink-mute); }
.kappa-decide__link { color: var(--kp-green-deep) !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 700; }
/* 項目が奇数のとき、余った升目に地の罫色（灰色）が出て未完成に見えた。地を紙にし、罫は升ごとに引く */
.kappa-decide { background: var(--kp-paper-2); gap: 0; }
.kappa-decide__cell { box-shadow: inset 0 0 0 0.5px var(--kp-rule); }
.kappa-decide__note { margin: 6px 0 14px; font-size: 12.5px; line-height: 1.75; color: var(--kp-ink-mute); }

/* 目次チップ */
.kappa-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 6px; }
.kappa-chips a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 14px; border: 1px solid var(--kp-rule); border-radius: var(--kp-r-pill); background: transparent; font-size: 12.5px; color: var(--kp-ink-mute) !important; text-decoration: none; }
.kappa-chips a:hover { border-color: var(--kp-green); color: var(--kp-green-deep) !important; }

/* ============================================================
   固定ページの扉
   借り物テーマの既定ページヘッダは深緑のベタ塗り。サイトの言語と無関係で、
   ページ内で一番声の大きい要素がサイト外のものになっていた。紙に置き換える。
   紙はTOPの章から引き継ぐ（探す=方眼／日々の台帳=横罫）ので、ページは
   その章の続きとして読める。
   ============================================================ */
/* 緑を塗っているのは要素本体ではなく .keyvisual__bg::after。
   本体だけ消しても帯は緑のままだった */
body.type-page .l-keyvisual_common .keyvisual__bg,
body.type-page .l-keyvisual_common .keyvisual__bg::before,
body.type-page .l-keyvisual_common .keyvisual__bg::after {
	background: none !important; border: 0 !important; content: none !important;
}
body.type-page .l-keyvisual_common {
	background-color: var(--kp-paper);
	border-bottom: 1px solid var(--kp-rule);
}
body.type-page .l-keyvisual_common .keyvisual { min-height: 0 !important; padding: 0; background: none; }
body.type-page .l-keyvisual_common .keyvisual__contents { padding: 0; }
body.type-page .l-keyvisual_common .keyvisual__text_area,
body.type-page .l-keyvisual_common .keyvisual__text_area__inner { padding: 0; text-align: left; }
/* 帯の高さはテーマの .c-keyvisual{min-height:340px}。題字1行に340pxは要らない */
body.type-page .l-keyvisual_common .c-keyvisual {
	display: block; min-height: 0 !important; padding-top: 46px; padding-bottom: 34px;
}
/* 340pxの下限は .c-keyvisual ではなく帯そのものに付いている */
body.type-page .l-keyvisual_common { min-height: 0 !important; padding-bottom: 0 !important; }
body.type-page .l-keyvisual_common h1.heading {
	margin: 0; padding: 0; background: none; border: 0;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 32px; font-weight: 700; letter-spacing: .07em; line-height: 1.4;
	color: var(--kp-ink) !important; text-align: left;
}
body.type-page .l-keyvisual_common .phrase { margin: 10px 0 0; font-size: 13.5px; color: var(--kp-ink-mute); }
/* 章の紙を引き継ぐ */
body.kappa-page-shops .l-keyvisual_common {
	background-image:
		repeating-linear-gradient(0deg, rgba(64, 61, 51, .055) 0 1px, transparent 1px 26px),
		repeating-linear-gradient(90deg, rgba(64, 61, 51, .055) 0 1px, transparent 1px 26px);
}
body.kappa-page-open .l-keyvisual_common {
	background-image: repeating-linear-gradient(0deg, rgba(64, 61, 51, .07) 0 1px, transparent 1px 34px);
}
@media (max-width: 600px) {
	body.type-page .l-keyvisual_common .c-keyvisual { padding-top: 30px; padding-bottom: 22px; }
	body.type-page .l-keyvisual_common h1.heading { font-size: 23px; }
}

/* ============================================================
   店舗詳細: 章立て(野帳の章)
   ============================================================ */
.kappa-shop { counter-reset: kp-chapter; }
.kappa-shop h2.wp-block-heading, .kappa-shop .kappa-h2 {
	counter-increment: kp-chapter;
	position: relative;
	display: flex; align-items: center; gap: 12px;
	margin: 72px 0 22px; padding: 0 0 11px;
	border-bottom: 1px solid var(--kp-rule);
	/* 本文と同じ明朝で組む（見出しだけゴシックだと血統が切れる） */
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 22px; font-weight: 700; letter-spacing: .06em; color: var(--kp-ink);
}
/* 仮ブランド（マッチ学園の子テーマ）が .main_content h2 に赤ペン下線
   （廃止色 #d9483b の 56x3px グラデ）と太字ゴシックを当てており、角印と
   競合するため打ち消す。テーマCSSが後読みなので特異度を上げる */
.kappa-shop .main_content h2.wp-block-heading,
.main_content .kappa-shop h2.wp-block-heading {
	background: none;
	font-weight: 700;
	color: var(--kp-ink);
}

/* 章番号は朱の角印。サービス表の押印(輪郭=陰刻)と対になる陽刻で、
   小さくても番号が読めるようベタ地に紙色を抜く */
.kappa-shop h2.wp-block-heading::before, .kappa-shop .kappa-h2::before {
	content: counter(kp-chapter, decimal-leading-zero);
	flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px;
	background: var(--kp-seal); color: var(--kp-on-seal);
	border-radius: 3px;
	transform: rotate(-3deg);
	box-shadow: 0 0 0 1px rgba(200, 68, 52, .22);
	font-family: "Crimson Pro", Georgia, serif;
	font-size: 13px; font-weight: 600; letter-spacing: .04em;
}
@media (max-width: 600px) {
	.kappa-shop h2.wp-block-heading, .kappa-shop .kappa-h2 { font-size: 19px; gap: 10px; }
	.kappa-shop h2.wp-block-heading::before, .kappa-shop .kappa-h2::before { width: 23px; height: 23px; font-size: 12px; }
}

/* ============================================================
   店舗詳細: コンテンツ部品
   ============================================================ */
.kappa-rich .kappa-hero-illust { margin: 22px 0 26px; }
.kappa-rich .kappa-hero-illust img { width: 100%; height: auto; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); }

/* 買えるもの=目録 */
.kappa-rich ul.kappa-goods { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.kappa-rich ul.kappa-goods li { padding: 12px 2px 10px 26px; border-bottom: 1px dotted var(--kp-rule); position: relative; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 17px; font-weight: 700; color: var(--kp-ink); background: transparent; border-radius: 0; }
.kappa-rich ul.kappa-goods li::before { content: ""; position: absolute; left: 2px; top: 23px; width: 13px; height: 1px; background: var(--kp-ink-mute); opacity: .8; }
.kappa-rich ul.kappa-goods li small { display: block; font-family: inherit; font-weight: 400; font-size: 12.5px; color: var(--kp-ink-mute); margin-top: 2px; font-family: sans-serif; }
@media (max-width: 600px) { .kappa-rich ul.kappa-goods { grid-template-columns: 1fr; } }

/* サービス表 */
.kappa-rich table.kappa-services { width: 100%; border-collapse: collapse; font-size: 15px; }
.main_content .kappa-rich table.kappa-services th { width: 10em; text-align: left; padding: 12px 12px; background: var(--kp-paper-3) !important; color: var(--kp-green-deep) !important; border-bottom: 1px solid var(--kp-rule); font-weight: 700; }
.main_content .kappa-rich table.kappa-services td { padding: 12px 14px; border-bottom: 1px solid var(--kp-rule); background: transparent; }
.kappa-rich .kappa-services th .kappa-icon { color: var(--kp-green); margin-right: 7px; vertical-align: -6px; }
.kappa-rich .kappa-yes { color: #1c6b38; font-weight: 700; }
.kappa-rich .kappa-tbc { color: var(--kp-ink-mute); }
@media (max-width: 600px) {
	.kappa-rich table.kappa-services th, .kappa-rich table.kappa-services td { display: block; width: 100%; box-sizing: border-box; }
	.kappa-rich table.kappa-services th { padding: 8px 12px 4px; border-bottom: 0; }
	.kappa-rich table.kappa-services td { padding: 2px 12px 12px; }
}

/* 写真枠(取材まで) */
.kappa-rich .kappa-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.kappa-rich .kappa-ph { margin: 0; position: relative; }
.kappa-rich .kappa-ph__frame { aspect-ratio: 3 / 2; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); background: var(--kp-paper-2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--kp-ink-mute); }
.kappa-rich .kappa-ph__frame .kappa-icon { color: var(--kp-rule); }
.kappa-rich .kappa-ph__frame span { font-size: 14px; letter-spacing: .06em; }
.kappa-rich .kappa-ph__tag { position: absolute; top: -10px; right: 14px; transform: rotate(-2deg); background: var(--kp-seal); color: var(--kp-on-seal); font-size: 11.5px; letter-spacing: .08em; padding: 4px 10px; border-radius: 3px; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.kappa-rich .kappa-ph figcaption { font-size: 12px; color: var(--kp-ink-mute); margin-top: 6px; text-align: center; }
.kappa-rich .kappa-ph img { width: 100%; height: auto; border-radius: var(--kp-r); border: 1px solid var(--kp-rule); }

/* 店主のことば(写真とセット・小さく) */
.kappa-rich .kappa-owner-unit { display: flex; gap: 18px; align-items: flex-start; }
.kappa-rich .kappa-owner-unit .kappa-ph--portrait { flex: 0 0 150px; }
.kappa-rich .kappa-owner-unit .kappa-ph--portrait .kappa-ph__frame { aspect-ratio: 3 / 4; }
.kappa-rich .kappa-owner { flex: 1; margin: 0; padding: 16px 20px 14px 52px; background: transparent; border: 1px dashed var(--kp-rule); border-radius: var(--kp-r); position: relative; font-size: 15px; }
.kappa-rich .kappa-owner::before { content: "\201C"; position: absolute; left: 16px; top: 4px; font-size: 40px; line-height: 1; color: var(--kp-seal); font-family: Georgia, serif; }
.kappa-rich .kappa-owner--tbd p { color: var(--kp-ink-mute); margin: 0; }
.kappa-rich .kappa-owner cite { display: block; margin-top: 10px; font-style: normal; font-size: 13px; color: var(--kp-ink-mute); }
@media (max-width: 600px) {
	.kappa-rich .kappa-owner-unit { flex-direction: column; }
	.kappa-rich .kappa-owner-unit .kappa-ph--portrait { flex-basis: auto; width: 150px; }
}

/* おすすめ */
/* こんな人におすすめ = 該当の印を朱ペンで付けた確認リスト。
   目録(買えるもの)と同じ「左に記号／右に内容」の構造で page 全体の秩序を揃える */
.kappa-rich ul.kappa-reco { list-style: none; padding: 0; margin: 0; }
.kappa-rich ul.kappa-reco li {
	position: relative;
	margin: 0;
	padding: 14px 2px 14px 40px;
	border-bottom: 1px dotted var(--kp-rule);
	background: transparent; border-radius: 0;
}
.kappa-rich ul.kappa-reco li:last-child { border-bottom: 0; }
.kappa-rich ul.kappa-reco .kappa-reco__check {
	position: absolute; left: 0; top: 13px;
	width: 24px; height: 24px;
	color: var(--kp-seal);
	transform: rotate(-4deg);
}
/* 見出し=明朝で1行独立。説明は改行してぶら下げ、淡墨で沈める */
.kappa-rich ul.kappa-reco strong {
	display: block;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 16.5px; font-weight: 700; color: var(--kp-ink);
	letter-spacing: .03em; line-height: 1.6;
}
.kappa-rich ul.kappa-reco span {
	display: block;
	margin-top: 3px;
	font-size: 13.5px; color: var(--kp-ink-mute); line-height: 1.85;
}
@media (max-width: 600px) {
	.kappa-rich ul.kappa-reco li { padding-left: 34px; }
	.kappa-rich ul.kappa-reco .kappa-reco__check { width: 21px; height: 21px; top: 14px; }
	.kappa-rich ul.kappa-reco strong { font-size: 15.5px; }
}

/* SNS埋め込み */
.kappa-rich .kappa-sns-embed { display: flex; justify-content: center; }
/* 店内VR（Matterport等）。店が公開している一次情報なので大きく見せる */
.kappa-rich .kappa-vr { margin: 20px 0 8px; }
.kappa-rich .kappa-vr iframe {
	display: block; width: 100%; height: 480px;
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r); background: var(--kp-paper-3);
}
.kappa-rich .kappa-vr figcaption {
	margin-top: 8px; font-size: 13px; color: var(--kp-ink-mute); line-height: 1.8;
}
@media (max-width: 600px) { .kappa-rich .kappa-vr iframe { height: 320px; } }

.kappa-rich .kappa-sns-embed iframe { width: 100%; max-width: 540px; height: 460px; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); background: #fff; }
.kappa-sns a { display: inline-flex; align-items: center; gap: 5px; margin-right: 14px; text-decoration: none; }
.kappa-sns .kappa-icon { color: var(--kp-green); }

/* 注記(小さな文字) — 親テーマの色上書きに勝つ */
.kappa-shop .kappa-note, .kappa-shop p.kappa-note { font-size: 12.5px; color: var(--kp-ink-mute); }

/* ============================================================
   店舗詳細: 基本情報・地図([kappa_info])
   ============================================================ */
.kappa-info table { width: 100%; border-collapse: collapse; font-size: 15px; }
.main_content .kappa-info table :is(th, td) { border: 0 !important; border-bottom: 1px dashed var(--kp-rule) !important; }
.main_content .kappa-info table th { width: 9.5em; text-align: left; padding: 11px 8px 11px 2px; background: transparent !important; color: var(--kp-ink-mute) !important; font-size: 13px; letter-spacing: .08em; font-weight: 700; border-bottom: 1px dashed var(--kp-rule); vertical-align: top; }
.main_content .kappa-info table td { padding: 11px 2px; border-bottom: 1px dashed var(--kp-rule); background: transparent; }
.kappa-map { margin: 18px 0 10px; }
.kappa-map-gl { height: 400px; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); overflow: hidden; background: var(--kp-paper); }
@media (max-width: 767px) { .kappa-map-gl { height: 320px; } }
ul.kappa-map__links { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; margin: 10px 0 0; font-size: 14px; }
.kappa-marker { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.kappa-marker__label { background: var(--kp-paper); color: var(--kp-ink); border: 1px solid var(--kp-rule); padding: 2px 9px; font-size: 12.5px; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.14); white-space: nowrap; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; }
.kappa-marker__seal { width: 26px; height: 26px; background: var(--kp-seal); border-radius: 6px; transform: rotate(-3deg); border: 2px solid #f6f0e2; box-shadow: 0 1px 3px rgba(0,0,0,.25); position: relative; }
.kappa-marker__seal::after { content: ""; position: absolute; inset: 8px; border-radius: 50%; background: #f6f0e2; }
.maplibregl-ctrl-attrib { font-size: 10px; background: rgba(246, 241, 230, .85) !important; }

/* ============================================================
   店舗詳細: お気に入り・共有・近くの店・CTA
   ============================================================ */
.kappa-fav-btn__seal { width: 20px; height: 20px; border-radius: 5px; border: 2px solid var(--kp-seal); transform: rotate(-3deg); position: relative; opacity: .55; transition: opacity .15s ease, background .15s ease; flex: none; }
.kappa-fav-btn__seal::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--kp-seal); opacity: 0; transition: opacity .15s ease; }
.kappa-side button.kappa-fav-btn.is-on, .kappa-shop button.kappa-fav-btn.is-on { border-color: var(--kp-seal); background: #fbf3ef; }
.kappa-fav-btn.is-on .kappa-fav-btn__seal { background: var(--kp-seal); opacity: 1; }
.kappa-fav-btn.is-on .kappa-fav-btn__seal::after { background: #f6f0e2; opacity: 1; }
@keyframes kappa-stamp { 0% { transform: rotate(-3deg) scale(2.1); opacity: 0; } 55% { transform: rotate(-3deg) scale(.92); opacity: 1; } 100% { transform: rotate(-3deg) scale(1); } }
.kappa-fav-btn.is-stamping .kappa-fav-btn__seal { animation: kappa-stamp .38s cubic-bezier(.2, .8, .3, 1.2); }
@media (prefers-reduced-motion: reduce) { .kappa-fav-btn.is-stamping .kappa-fav-btn__seal { animation: none; } }

.kappa-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 26px 0 6px; }
.kappa-share__label { font-size: 13px; color: var(--kp-ink-mute); margin-right: 2px; }
.kappa-shop button.kappa-share__copy.is-copied { border-color: var(--kp-seal); color: var(--kp-seal) !important; }

/* 近くの店 */
.kappa-nearby { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.kappa-nearby a { display: block; padding: 14px 16px; background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r); text-decoration: none; color: var(--kp-ink) !important; transition: border-color .15s ease; }
.kappa-nearby a:hover { border-color: var(--kp-green); }
.kappa-nearby__name { display: block; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.kappa-nearby__meta { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--kp-ink-mute); }
.kappa-nearby__walk { color: var(--kp-green-deep); font-weight: 700; }

/* SP固定CTA */
.kappa-cta { display: none; }
@media (max-width: 767px) {
	.kappa-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; gap: 1px; background: var(--kp-rule); border-top: 1px solid var(--kp-rule); padding-bottom: env(safe-area-inset-bottom); transform: translateY(110%); transition: transform .25s ease; }
	.kappa-cta.is-visible { transform: translateY(0); }
	.kappa-cta a, .kappa-cta button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 54px; background: var(--kp-paper-2); border: 0; font-size: 11px; color: var(--kp-ink) !important; text-decoration: none; cursor: pointer; }
	.kappa-cta .kappa-icon { color: var(--kp-green); }
	body.single-shop { padding-bottom: 60px; }
}

/* ============================================================
   用語注記(野帳の注記) v2 — button+外部tip・JS制御
   ============================================================ */
/* テーマのbutton{width:100%}に勝つ特異度で書く */
.main_content button.kappa-term, button.kappa-term { display: inline; width: auto; min-height: 0; padding: 1px 2px; background: transparent; border: 0; border-bottom: 1.5px dotted var(--kp-seal); border-radius: 0; font: inherit; font-size: inherit; line-height: inherit; color: inherit; cursor: help; }
button.kappa-term:hover, button.kappa-term:focus-visible { background: #f2ead6; }
button.kappa-term::after { content: "?"; display: inline-flex; align-items: center; justify-content: center; width: 13px; height: 13px; margin-left: 2px; border: 1px solid var(--kp-seal); border-radius: 50%; font-size: 9.5px; line-height: 1; color: var(--kp-seal); vertical-align: 4px; }
.kappa-term__tip { position: absolute; width: 300px; max-width: calc(100vw - 32px); background: #fbf7ec; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); box-shadow: 0 4px 14px rgba(60, 50, 30, .16); padding: 12px 14px 10px; font-size: 13px; line-height: 1.65; color: var(--kp-ink); z-index: 95; transform: rotate(-.4deg); }
.kappa-term__tip[hidden] { display: none; }
.kappa-term__tip b { display: block; font-size: 13.5px; margin-bottom: 3px; color: var(--kp-green-deep); }
.kappa-term__tip i { display: block; margin-top: 6px; font-style: normal; font-size: 11px; color: var(--kp-seal); text-align: right; }
.kappa-term-wrap { position: relative; display: inline; }
.kappa-term-wrap .kappa-term__tip { left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%) rotate(-.4deg); }
@media (max-width: 600px) { .kappa-term-wrap .kappa-term__tip { left: 0; transform: rotate(-.4deg); } }
/* 写真1枠集約(ワイド) */
.kappa-rich .kappa-photos--single { grid-template-columns: 1fr; }
.kappa-rich .kappa-ph__frame--wide { aspect-ratio: 21 / 9; }
@media (max-width: 600px) { .kappa-rich .kappa-ph__frame--wide { aspect-ratio: 3 / 2; } }
/* screen-reader-text(親テーマに無い場合の保険) */
.kappa-shop .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* ---- 店舗詳細: 右サイドバー(PCのみ) ---- */
.kappa-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; width: 100%; }
@media (min-width: 1100px) {
	.kappa-layout { grid-template-columns: minmax(0, 1fr) 300px; } /* asideをstretchさせてsticky可動域を全高に */
	.single-shop .main_content, .single-post .main_content { max-width: 880px; margin: 0; }
}
.kappa-side { display: none; }
@media (min-width: 1100px) {
	/* レールは自然にスクロールさせる（内部スクロールはスクロール泥棒になるため廃止）。
	   末尾のクイックカードだけがstickyで静かに追従する */
	.kappa-side { display: block; }
}
.kappa-side__card { background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r); padding: 18px 18px 16px; margin-bottom: 16px; }
.kappa-side__sticky { position: sticky; top: 92px; }
.kappa-side__title { margin: 0 0 6px; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 800; font-size: 18px; }
.kappa-side__hours { margin: 0 0 12px; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.kappa-side__actions { display: flex; flex-direction: column; gap: 8px; }
.kappa-side__actions .kappa-pill, .kappa-side__actions .kappa-fav-btn { justify-content: center; width: 100%; box-sizing: border-box; }
.kappa-side__heading { margin: 0 0 10px; font-size: 13px; letter-spacing: .1em; color: var(--kp-ink-mute); }
.kappa-side__groups { display: flex; flex-direction: column; gap: 2px; }
.kappa-side__groups a { display: flex; align-items: center; gap: 8px; padding: 8px 6px; border-bottom: 1px dotted var(--kp-rule); font-size: 13.5px; color: var(--kp-ink) !important; text-decoration: none; }
.kappa-side__groups a:last-child { border-bottom: 0; }
.kappa-side__groups a:hover { color: var(--kp-green-deep) !important; }
.kappa-side__groups .kappa-icon { color: var(--kp-green); }
.kappa-side__today .kappa-today { margin: 0; padding: 0; background: transparent; font-size: 14px; }
/* お店のSNSカード（ライブなものはここに一本化・紙に馴染むようセピア調整） */
.kappa-side__x iframe, .kappa-side__x .twitter-timeline { max-width: 100% !important; }
.kappa-side__x { overflow: hidden; }
.kappa-side__x iframe { filter: sepia(.22) saturate(.85) contrast(.97); border-radius: 6px; }
.kappa-side__x .kappa-note { margin: 8px 0 0; }
.kappa-side__sns-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.kappa-pill--sm { min-height: 32px; padding: 0 12px; font-size: 12.5px; }

/* ============================================================
   セクション演出 v0.7.0 — 同じ野帳の「ページの使い方」を変える
   ============================================================ */
/* (2) 行き方・地図 = 旅のしおり(切符) */
.kappa-rich .kappa-sec-ticket { position: relative; margin-top: 72px; padding: 6px 28px 26px; background: var(--kp-paper-2); border: 2px dashed var(--kp-rule); border-radius: 10px; }
.kappa-rich .kappa-sec-ticket::before, .kappa-rich .kappa-sec-ticket::after { content: ""; position: absolute; top: 50%; margin-top: -12px; width: 24px; height: 24px; border-radius: 50%; background: var(--kp-paper); border: 2px dashed var(--kp-rule); }
.kappa-rich .kappa-sec-ticket::before { left: -14px; }
.kappa-rich .kappa-sec-ticket::after { right: -14px; }
.kappa-shop .kappa-sec-ticket h2.wp-block-heading { margin: 14px 0 18px; }
.kappa-ticket-stamp { position: absolute; top: 20px; right: 26px; transform: rotate(-5deg); border: 2px solid var(--kp-ink-mute); border-radius: 8px; padding: 5px 12px; font-size: 12.5px; letter-spacing: .08em; color: var(--kp-ink-mute); background: transparent; }
@media (max-width: 700px) { .kappa-ticket-stamp { position: static; display: inline-block; margin: 0 0 8px; } }

/* (3) サービス = スタンプカード */
.main_content .kappa-rich table.kappa-services td { display: flex; align-items: center; gap: 14px; }
.kappa-stamp { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 48px; height: 48px; padding: 2px 6px; border: 2.5px solid var(--kp-seal); border-radius: 9px; transform: rotate(-5deg); font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 700; font-size: 13.5px; color: var(--kp-seal); background: radial-gradient(rgba(200, 68, 52, .09), transparent 72%); box-shadow: inset 0 0 0 1.5px rgba(200, 68, 52, .3); }
.kappa-stamp--tbc { border: 2.5px dashed var(--kp-rule); color: var(--kp-ink-mute); background: none; box-shadow: none; transform: rotate(-2deg); font-size: 12px; }
.kappa-svc { flex: 1; }

/* (4) 店構え・店内/店主 = アルバム(ポラロイド+テープ留め) */
.kappa-rich .kappa-ph { transform: rotate(-1.1deg); }
.kappa-rich .kappa-ph--portrait { transform: rotate(1.6deg); }
.kappa-rich .kappa-ph__frame { background: #fffdf8; border: 1px solid #e6dfcc; border-radius: 2px; box-shadow: 0 3px 10px rgba(60, 50, 30, .13); }
.kappa-rich .kappa-photos--single .kappa-ph__frame { aspect-ratio: auto; min-height: 300px; padding-bottom: 40px; }
.kappa-rich .kappa-ph::before { content: ""; position: absolute; top: -11px; left: 50%; width: 96px; height: 24px; margin-left: -48px; transform: rotate(-2.4deg); background: rgba(213, 200, 167, .55); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); z-index: 2; }
.kappa-rich .kappa-ph__tag { z-index: 3; }

/* (7) 近くの店 = 付箋 */
.kappa-nearby a { position: relative; border: 0; border-radius: 2px; background: #fbf6e2; box-shadow: 0 2px 7px rgba(60, 50, 30, .15); padding: 18px 16px 14px; transform: rotate(-1.1deg); transition: transform .16s ease, box-shadow .16s ease; }
.kappa-nearby a:nth-child(2) { transform: rotate(.9deg); }
.kappa-nearby a:nth-child(3) { transform: rotate(-.5deg); }
.kappa-nearby a::before { content: ""; position: absolute; top: 0; left: 14px; width: 36px; height: 5px; border-radius: 0 0 3px 3px; background: var(--kp-seal); }
.kappa-nearby a:nth-child(2)::before { background: var(--kp-green); }
.kappa-nearby a:nth-child(3)::before { background: var(--kp-ink-mute); }
.kappa-nearby a:hover { transform: rotate(0deg) translateY(-2px); box-shadow: 0 6px 14px rgba(60, 50, 30, .18); }
@media (prefers-reduced-motion: reduce) { .kappa-nearby a, .kappa-nearby a:hover { transition: none; transform: none; } }

/* ============================================================
   ガイド記事・DB差し込み部品 v0.8.0
   ============================================================ */
.kappa-article .kappa-door h1 { font-size: clamp(28px, 3.6vw, 42px); }
.kappa-side__toc { display: flex; flex-direction: column; }
.kappa-side__toc a { padding: 7px 4px; border-bottom: 1px dotted var(--kp-rule); font-size: 13px; color: var(--kp-ink) !important; text-decoration: none; }
.kappa-side__toc a:last-child { border-bottom: 0; }
.kappa-side__toc a:hover { color: var(--kp-green-deep) !important; }

/* 記事内 店舗カード(付箋の親戚) */
.kappa-rich .kappa-shopcard, .kappa-shopcard { display: block; position: relative; margin: 18px 0; padding: 18px 18px 14px; background: #fbf6e2; border-radius: 2px; box-shadow: 0 2px 7px rgba(60, 50, 30, .15); text-decoration: none; color: var(--kp-ink) !important; transform: rotate(-.6deg); transition: transform .16s ease, box-shadow .16s ease; }
.kappa-shopcard::before { content: ""; position: absolute; top: 0; left: 16px; width: 36px; height: 5px; border-radius: 0 0 3px 3px; background: var(--kp-seal); }
.kappa-shopcard:hover { transform: rotate(0deg) translateY(-2px); box-shadow: 0 6px 14px rgba(60, 50, 30, .18); }
.kappa-shopcard__name { display: block; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-weight: 800; font-size: 19px; margin-bottom: 6px; }
.kappa-shopcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12.5px; color: var(--kp-ink-mute); }
.kappa-shopcard__note { display: block; margin-top: 8px; font-size: 14px; }
.kappa-shopcard__cta { display: block; margin-top: 8px; font-size: 13px; color: var(--kp-green-deep); }

/* 曜日営業リスト */
/* 今日開いている店＝その日の台帳。主語は「いつ開いているか」なので、
   店名の下に営業時間を等幅で敷き、行を罫で区切る。素のulのままだと
   テーマの「・」が出て、ブラウザの既定リストにしか見えなかった。 */
.kappa-openlist { margin: 6px 0 0; }
.kappa-front .kappa-openlist__lead,
.kappa-openlist__lead {
	display: flex; align-items: baseline; gap: 6px;
	margin: 0 0 6px; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
}
.kappa-openlist__count {
	font-family: "Crimson Pro", Georgia, serif;
	font-size: 46px; font-weight: 600; line-height: 1; color: var(--kp-seal);
}
.kappa-openlist__unit { font-size: 16px; color: var(--kp-ink); }
.kappa-openlist__label { font-size: 19px; letter-spacing: .04em; color: var(--kp-ink); }
.kappa-front .kappa-openlist__note,
.kappa-openlist__note { margin: 0 0 20px; font-size: 13px; line-height: 1.9; color: var(--kp-ink-mute); }

.kappa-openlist .kappa-map-gl { margin: 0 0 26px; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); }

.kappa-openlist__list {
	list-style: none; padding: 0; margin: 0;
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px;
	border-top: 1px solid var(--kp-rule);
}
.kappa-openlist__row { border-bottom: 1px dotted var(--kp-rule); }
/* 行全体をリンクにするとテーマが営業時間にまで下線を引く。
   下線は店名のhoverだけに戻す */
.main_content .kappa-openlist__row a,
.main_content .kappa-openlist__row a * { text-decoration: none !important; }
.kappa-openlist__row a {
	display: block; padding: 11px 2px;
	text-decoration: none; color: var(--kp-ink) !important;
}
.main_content .kappa-openlist__row a:hover .kappa-openlist__name,
.kappa-openlist__row a:hover .kappa-openlist__name { text-decoration: underline !important; text-underline-offset: 3px; }
.kappa-openlist__name {
	display: block;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 15px; font-weight: 700; letter-spacing: .02em; line-height: 1.4;
}
.kappa-openlist__cat { display: block; margin-top: 2px; font-size: 11.5px; color: var(--kp-ink-mute); letter-spacing: .04em; }
/* 時間は行の右で縦に揃える。等幅数字にしないと桁がばらけて台帳に見えない */
.kappa-openlist__hours {
	display: block; margin-top: 4px;
	font-variant-numeric: tabular-nums; font-feature-settings: "tnum";
	font-size: 12.5px; line-height: 1.6; color: var(--kp-ink);
}
.kappa-openlist__hours--tbc { color: var(--kp-ink-mute); }
@media (max-width: 1000px) { .kappa-openlist__list { grid-template-columns: repeat(2, 1fr); gap: 0 24px; } }
@media (max-width: 640px) { .kappa-openlist__list { grid-template-columns: 1fr; } }

/* 複数ピン地図（開いてる店ページ等） */
.kappa-map-multi { height: 480px; margin: 16px 0 22px; }
@media (max-width: 767px) { .kappa-map-multi { height: 380px; } }
.kappa-marker__seal--sm { display: block; width: 16px; height: 16px; border-radius: 4px; border-width: 2px; cursor: pointer; }
.kappa-marker__seal--sm::after { inset: 4px; }
/* お気に入りの店は藍。朱との差だけでは小さい印を見分けにくいので少し大きくする */
.kappa-marker__seal.is-fav { background: var(--kp-indigo); }
.kappa-marker__seal--sm.is-fav { width: 21px; height: 21px; z-index: 1; }
.kappa-marker__seal--sm.is-fav::after { inset: 6px; }

/* 地図の凡例。お気に入りが地図上にあるときだけ JS が出す */
.kappa-map-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; font-size: 13px; color: var(--kp-ink-mute); }
.kappa-map-legend[hidden] { display: none; }
.kappa-map-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.kappa-map-legend__dot { width: 11px; height: 11px; border-radius: 50%; background: var(--kp-seal); border: 1.5px solid var(--kp-paper-2); box-shadow: 0 0 0 1px var(--kp-rule); }
.kappa-map-legend__dot--fav { background: var(--kp-indigo); }
.maplibregl-popup-content { background: #fbf7ec; border: 1px solid var(--kp-rule); border-radius: 6px; padding: 10px 14px; font-size: 13.5px; box-shadow: 0 4px 12px rgba(60, 50, 30, .18); font-family: inherit; }
.maplibregl-popup-content a { color: var(--kp-green-deep); font-weight: 700; text-decoration: none; }
.maplibregl-popup-content small { color: var(--kp-ink-mute); }
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip { border-top-color: var(--kp-rule); }
.maplibregl-popup-anchor-top .maplibregl-popup-tip { border-bottom-color: var(--kp-rule); }

/* 関連動画 = 映写フィルム（左寄せ。2本=横並び・1本=430px上限で巨大化しない） */
.kappa-videos { display: flex; flex-wrap: wrap; gap: 24px 22px; align-items: flex-start; }
.kappa-videos .kappa-film { flex: 0 1 calc(50% - 11px); min-width: 280px; max-width: 460px; }
@media (max-width: 700px) { .kappa-videos .kappa-film { flex-basis: 100%; min-width: 0; } }
.kappa-film { margin: 0; }
.kappa-videos .kappa-film:nth-child(odd) { transform: rotate(-.5deg); }
.kappa-videos .kappa-film:nth-child(even) { transform: rotate(.4deg); }
.kappa-shop button.kappa-film__screen, .kappa-film__iframe { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 1px solid #4a463c; border-radius: 6px; overflow: hidden; background: #2c2a24; cursor: pointer; box-shadow: 0 3px 10px rgba(60, 50, 30, .2); }
.kappa-film__iframe { border: 1px solid #4a463c; cursor: default; }
.kappa-film__screen img { position: absolute; top: 0; bottom: 0; left: 22px; width: calc(100% - 44px); height: 100%; object-fit: cover; filter: sepia(.3) saturate(.75) contrast(.95); transition: filter .25s ease; }
.kappa-film__screen:hover img, .kappa-film__screen:focus-visible img { filter: none; }
/* フィルムの送り穴 */
.kappa-film__screen::before, .kappa-film__screen::after { content: ""; position: absolute; top: 0; bottom: 0; width: 22px; background-color: #2c2a24; background-image: radial-gradient(circle, rgba(246, 241, 230, .85) 0 3px, transparent 3.6px); background-size: 22px 15px; background-position: center 4px; background-repeat: repeat-y; z-index: 2; }
.kappa-film__screen::before { left: 0; }
.kappa-film__screen::after { right: 0; }
/* 朱印の再生ボタン */
.kappa-film__play { position: absolute; top: 50%; left: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; background: var(--kp-seal); border: 2px solid #f6f0e2; border-radius: 12px; transform: rotate(-3deg); box-shadow: 0 2px 8px rgba(0, 0, 0, .35); transition: transform .18s ease; z-index: 3; }
.kappa-film__play::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -11px 0 0 -7px; border-left: 18px solid #f6f0e2; border-top: 11px solid transparent; border-bottom: 11px solid transparent; }
.kappa-film__screen:hover .kappa-film__play, .kappa-film__screen:focus-visible .kappa-film__play { transform: rotate(-3deg) scale(1.12); }
/* フィルム缶ラベル（左寄せ・REELチップ+2行clamp） */
.main_content .kappa-film figcaption.kappa-film__label { display: flex; align-items: flex-start; gap: 10px; padding: 10px 2px 0; margin: 0; text-align: left; font-size: inherit; }
.kappa-film__no { flex: none; display: inline-flex; align-items: center; height: 22px; margin-top: 1px; padding: 0 8px; border: 1.5px solid var(--kp-seal); border-radius: 4px; transform: rotate(-2deg); font-family: "Crimson Pro", Georgia, serif; font-size: 11.5px; letter-spacing: .14em; color: var(--kp-seal); background: rgba(200, 68, 52, .06); }
.kappa-film__text { min-width: 0; }
.kappa-film__text b { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 14.5px; font-weight: 700; line-height: 1.5; }
.kappa-film__ch { display: block; font-size: 12px; color: var(--kp-ink-mute); margin-top: 3px; }
.kappa-film__ch i { font-style: normal; opacity: .75; }
@media (prefers-reduced-motion: reduce) { .kappa-videos .kappa-film { transform: none; } .kappa-film__play { transition: none; } }

/* シェア行の公式ロゴ（各社ブランドカラー） */
.kappa-share .kappa-brand { vertical-align: -3px; }
.kappa-brand--x { color: #0f1419; }
.kappa-brand--facebook { color: #0866ff; }
.kappa-brand--line { color: #06c755; }
.kappa-brand--hatena { color: #00a4de; }

/* ============================================================
   TOPページ（Field Notes: 紙×インク×朱1色×明朝）
   親テーマが html{font-size:62.5%} のため rem は使わない
   ============================================================ */
.kappa-front { counter-reset: kp-front; }
/* wp:group は .wp-block-group__inner-container を1枚挟むので子セレクタは使えない */
/* 章は全幅の「紙」。中身だけを1080pxに戻す。
   紙は3種類しか使わない——無地(地)・方眼・横罫——で、色は増やさない。
   罫の種類はその章が何をする場所かを表す:
     方眼 = 探す/歩く（実務の面。地図は方眼の上にある）
     横罫 = 日々の記録（この章だけ毎日中身が変わる）
     沈めた無地 = 読み物（罫を引かず落ち着かせる） */
.kappa-front .kappa-front__sec {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	padding: 62px 20px;
}
.kappa-front .kappa-front__sec > * { max-width: 1080px; margin-left: auto; margin-right: auto; }
/* KVだけ紙面から出して全幅にする。100vwは縦スクロールバーの幅を含むため
   Windowsでは数pxはみ出す。overflow-x:clip なら横スクロールを作らずに刈れる
   （hiddenと違いスクロールコンテナ化しないので、内側のstickyを壊さない）。
   刈る場所は2つの条件を同時に満たす必要がある。
   (1) KVより外側であること。.kappa-front 自身に置くとその要素の幅(1080px)で
       子が刈られ、全幅が効かない——一度踏んだ。
   (2) レイアウトと同じ幅であること。body/html に置くとビューポートへ伝播し、
       ページがビューポートより広い状況では横スクロールごと殺して内容を
       閉じ込めてしまう。テーマの全幅ラッパ .l-contents はレイアウト幅そのもの
       なので、KVが100vwではみ出した分だけを刈れる。
   テーマ側のクラス名に依存するが、外れても「Windowsで数px横スクロールが出る」
   だけで内容は失われない。 */
.l-contents:has(.kappa-front__kv) { overflow-x: clip; }

/* --- 章見出し: 店舗ページと同じ朱の角印＋欧文番号でサイトを一つに保つ --- */
.kappa-front__h2 {
	counter-increment: kp-front;
	display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px;
	margin: 0 0 22px; padding: 0 0 12px;
	border-bottom: 1px solid var(--kp-rule);
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-weight: 700; color: var(--kp-ink);
}
.kappa-front__h2::before {
	content: counter(kp-front, decimal-leading-zero);
	flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	width: 27px; height: 27px;
	background: var(--kp-seal); color: var(--kp-on-seal);
	border-radius: 3px; transform: rotate(-3deg);
	box-shadow: 0 0 0 1px rgba(200, 68, 52, .22);
	font-family: "Crimson Pro", Georgia, serif;
	font-size: 13px; font-weight: 600; letter-spacing: .04em;
}
/* 仮ブランドの子テーマが .main_content h2 に廃止色の下線と太字ゴシックを
   当ててくる。テーマCSSが後読みなので特異度を上げて打ち消す */
.main_content .kappa-front__h2 { background: none; color: var(--kp-ink); font-weight: 700; }
.kappa-front__h2-ja { font-size: 23px; letter-spacing: .06em; }
.kappa-front__h2-en {
	font-family: "Crimson Pro", Georgia, serif;
	font-size: 11.5px; letter-spacing: .18em; color: var(--kp-ink-mute);
}
.kappa-front__sec { margin-top: 0; margin-bottom: 0; }

/* --- 章ごとの紙 --- */
/* 方眼: 目的から探す / 合羽橋を歩く */
.kappa-groups, .kappa-access {
	background-color: var(--kp-paper);
	background-image:
		repeating-linear-gradient(0deg, rgba(64, 61, 51, .055) 0 1px, transparent 1px 26px),
		repeating-linear-gradient(90deg, rgba(64, 61, 51, .055) 0 1px, transparent 1px 26px);
}
/* 横罫: 今日開いている店 */
.kappa-open {
	background-color: var(--kp-paper);
	background-image: repeating-linear-gradient(0deg, rgba(64, 61, 51, .07) 0 1px, transparent 1px 34px);
}
/* 沈めた無地: じっくり読む店 */
.kappa-featured { background: var(--kp-paper-3); }
.kappa-front__note { margin: -10px 0 20px; font-size: 14px; color: var(--kp-ink-mute); }
.kappa-front__more { margin-top: 22px; text-align: center; }

/* 基底の .kappa-pill が color:var(--kp-ink)!important を持つため、
   修飾子側も !important でないと墨のまま朱に載って2.24:1になる */
.kappa-pill--seal { background: var(--kp-seal); border-color: var(--kp-seal); color: var(--kp-on-seal) !important; }
.kappa-pill--seal:hover { background: #b93c2d; border-color: #b93c2d; color: var(--kp-on-seal) !important; }

/* --- 01 KV ---
   絵は全幅。枠(罫線と角丸)は付けない——絵の地とページの紙が同じ生成りなので、
   枠がないほうが通りがそのまま続いて見える。
   帯は絵に重ねない。重ねると通りの線と文字が喧嘩して両方死ぬ。絵は絵として
   見せ、下の紙にコピーと朱印を置く（Field Notesの「絵＋註」の作法）。
   比率は3.4:1。全幅では絵の高さも画面幅に比例するので、2.5:1のままだと
   「今日N店営業中」がノートPCのファーストビューから落ちる。 */
.kappa-front__kv {
	margin: 0 0 44px;
	width: 100vw;
	margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}
/* KVはヘッダーに接して始める。テーマは l-contents_top に 60px の余白を持つが、
   全幅の絵が宙に浮いて見えるので TOP だけ殺す。
   このクラスはTOPページ専用（店舗ページは l-contents_common で 0px）なので
   他ページの余白には触れない */
.l-contents_top { margin-top: 0; }
.kappa-kv__pic { display: block; }
.kappa-kv__img {
	display: block; width: 100%; height: auto;
	/* 超ワイド画面で絵だけが伸びて朱印を押し出さないよう上限をかける。
	   刈るときは店先(下側)を残す */
	max-height: 56vh; object-fit: cover; object-position: 50% 72%;
}
/* 題字ブロックは店舗Heroの下辺（欧文の店名＋plate番号＋右下の朱印）と同じ組み方。
   TOPは通り全体の扉なので、同じ作法で「街の題字」を置く。
   箱で囲わない——囲うと中身の少なさがそのまま空白として見える。紙に直に組み、
   細い罫で図版から切るほうが野帳の作法に合う。 */
.kappa-kv__overlay {
	display: flex; align-items: flex-start; gap: 40px;
	max-width: 1080px; margin: 0 auto; padding: 26px 20px 0;
	border-top: 1px solid var(--kp-rule);
}
/* 題字・欧文・リード・導線を1本の柱にして左で通す。行長は日本語が
   読みやすい40字前後に収める */
.kappa-kv__text { flex: 1; min-width: 0; max-width: 660px; }
.kappa-front .kappa-kv__copy {
	margin: 0; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif;
	font-size: 36px; font-weight: 700; letter-spacing: .06em; line-height: 1.45; color: var(--kp-ink);
}
.kappa-front .kappa-kv__en {
	margin: 10px 0 0; font-family: "Crimson Pro", Georgia, serif;
	font-size: 12px; letter-spacing: .22em; color: var(--kp-ink-mute);
}
/* 「今日開いている店」は1語として読ませる。行末で割れると導線に見えない */
.kappa-front .kappa-kv__lead strong { white-space: nowrap; }
/* 「今日N店営業中」は数えた結果を紙に押した印。章番号の角印・店舗Heroの
   「道具の街」と同じ語彙（朱ベタ／紙色を抜く／わずかに傾ける／細い輪郭）で
   そろえる。四角い判子なので正方形に近づける——縦長の板にすると
   ページで一番大きな色面になり、題字より強く出てしまう。 */
/* 朱印はリンク。テーマ側のリンク色(深緑#234a3c)が当たると朱に対して2.05:1
   まで落ちる。出所のルールが特定できなかったので確実に勝たせる */
.kappa-front a.kappa-kv__seal,
.kappa-front a.kappa-kv__seal span { color: var(--kp-on-seal) !important; }
.kappa-kv__seal {
	flex: none;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	width: 112px; height: 112px; margin-left: auto; margin-top: 4px;
	background: var(--kp-seal); color: var(--kp-on-seal);
	border-radius: var(--kp-r);
	box-shadow: 0 0 0 1px rgba(200, 68, 52, .22);
	transform: rotate(-2.5deg);
	text-decoration: none; text-align: center;
	transition: background .15s, transform .15s;
}
.kappa-front a.kappa-kv__seal:hover { color: var(--kp-on-seal); }
.kappa-kv__seal:hover { background: #b93c2d; transform: rotate(-2.5deg) scale(1.03); }
.kappa-kv__seal-date { font-size: 12px; letter-spacing: .04em; }
.kappa-kv__seal-count {
	font-family: "Crimson Pro", Georgia, serif;
	font-size: 40px; font-weight: 600; line-height: 1.05;
}
.kappa-kv__seal-unit { font-size: 12px; letter-spacing: .06em; }
/* テーマの .main_content p が margin:24px 0 を当てて auto を潰すため、
   クラス2つで特異度を上げる（全幅化してから左端に貼りついていた） */
/* テーマの .main_content p が margin:24px 0 を当てて auto を潰すため、
   クラス2つで特異度を上げる（全幅化してから左端に貼りついていた） */
.kappa-front .kappa-kv__lead {
	margin: 20px 0 0; padding: 0; text-align: left;
	font-size: 16px; line-height: 1.95; color: var(--kp-ink);
}
.kappa-front .kappa-kv__cta {
	margin: 24px 0 0; display: flex; gap: 12px; justify-content: flex-start; flex-wrap: wrap;
}

/* --- 02 目的から探す --- */
.kappa-groups__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr);
}
.kappa-groups__item a {
	display: flex; flex-direction: column;
	height: 100%; overflow: hidden;
	background: var(--kp-paper-2);
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
	text-decoration: none; color: var(--kp-ink);
	transition: border-color .15s, transform .15s;
}
.kappa-groups__item a:hover { border-color: var(--kp-seal); transform: translateY(-2px); color: var(--kp-ink); }
.kappa-groups__thumb { display: block; line-height: 0; border-bottom: 1px solid var(--kp-rule); }
.kappa-groups__img { display: block; width: 100%; height: auto; }
.kappa-groups__body {
	display: flex; flex-direction: column; align-items: center; gap: 5px;
	padding: 12px 10px 14px;
}
.kappa-groups__icon { color: var(--kp-green); line-height: 0; }
.kappa-groups__item a:hover .kappa-groups__icon { color: var(--kp-seal); }
.kappa-groups__label { font-size: 15px; font-weight: 700; letter-spacing: .04em; text-align: center; }
.kappa-groups__count { font-family: "Crimson Pro", Georgia, serif; font-size: 20px; color: var(--kp-ink-mute); }
.kappa-groups__count i { font-style: normal; font-size: 11px; margin-left: 2px; }

/* --- 03 今日開いている店 --- */
.kappa-open__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr);
}
.kappa-open__item a {
	display: flex; flex-direction: column; align-items: flex-start; gap: 5px;
	height: 100%; padding: 16px 18px;
	background: var(--kp-paper-2);
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
	text-decoration: none; color: var(--kp-ink);
	transition: border-color .15s;
}
.kappa-open__item a:hover { border-color: var(--kp-seal); color: var(--kp-ink); }
.kappa-open__name { font-size: 16px; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; }
.kappa-open__cat, .kappa-open__hours { font-size: 12.5px; color: var(--kp-ink-mute); }
.kappa-open__hours { display: inline-flex; align-items: center; gap: 5px; }
.kappa-open__hours .kappa-icon { color: var(--kp-seal); }

/* --- 04 じっくり読む店 --- */
.kappa-featured__list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 20px; grid-template-columns: repeat(2, 1fr);
}
.kappa-featured__item a {
	display: block; height: 100%; text-decoration: none; color: var(--kp-ink);
	background: var(--kp-paper-2);
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
	overflow: hidden; transition: border-color .15s;
}
.kappa-featured__item a:hover { border-color: var(--kp-seal); color: var(--kp-ink); }
.kappa-featured__thumb { display: block; line-height: 0; border-bottom: 1px solid var(--kp-rule); }
.kappa-featured__img { display: block; width: 100%; height: auto; }
.kappa-featured__body { display: block; padding: 16px 20px 18px; }
.kappa-featured__name {
	display: block; font-size: 19px;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .04em;
}
.kappa-featured__cat { display: block; margin-top: 3px; font-size: 12.5px; color: var(--kp-ink-mute); }
.kappa-featured__cta { display: block; margin-top: 10px; font-size: 13px; color: var(--kp-seal); }

/* --- 05 合羽橋を歩く --- */
.kappa-access__body { display: grid; gap: 26px; grid-template-columns: 1.25fr 1fr; align-items: start; }
.kappa-access__map { margin: 0; }
.kappa-access__map .kappa-map-gl {
	height: 400px; border: 1px solid var(--kp-rule); border-radius: var(--kp-r); overflow: hidden;
}
.kappa-access__map figcaption { margin-top: 8px; font-size: 12px; color: var(--kp-ink-mute); }
.kappa-access__facts { list-style: none; margin: 0; padding: 0; }
.kappa-access__fact { display: flex; gap: 13px; padding: 15px 0; border-bottom: 1px dotted var(--kp-rule); }
.kappa-access__fact:first-child { padding-top: 0; }
.kappa-access__icon { flex: none; color: var(--kp-seal); line-height: 0; }
.kappa-access__text strong {
	display: block; font-size: 15.5px;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .03em;
}
.kappa-access__text span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.8; color: var(--kp-ink-mute); }

/* --- 狭い画面 --- */
@media (max-width: 900px) {
	.kappa-groups__list { grid-template-columns: repeat(3, 1fr); }
	.kappa-open__list { grid-template-columns: repeat(2, 1fr); }
	.kappa-access__body { grid-template-columns: 1fr; }
	.kappa-front .kappa-kv__copy { font-size: 27px; }
	.kappa-kv__overlay { gap: 26px; }
}
/* 狭い画面では朱印を柱の上に置く。横に並べたままだと題字の行長が
   200px前後まで痩せて、題字が3〜4行に割れる */
@media (max-width: 700px) {
	.kappa-kv__overlay { flex-direction: column-reverse; align-items: stretch; gap: 16px; padding-top: 20px; }
	.kappa-kv__text { max-width: none; }
	.kappa-kv__seal { margin-left: 0; align-self: flex-start; width: 96px; height: 96px; }
	.kappa-front .kappa-kv__copy { font-size: 24px; }
	.kappa-kv__seal-count { font-size: 34px; }
}
@media (max-width: 600px) {
	.kappa-front__sec { margin: 48px 0; }
	.kappa-front__h2-ja { font-size: 19px; }
	.kappa-groups__list { grid-template-columns: repeat(2, 1fr); }
	.kappa-open__list { grid-template-columns: 1fr; }
	/* じっくり読む店は狭い画面でも2列。1列だと絵が大きくなりすぎて
	   スクロールばかりになり、店を見比べられない */
	.kappa-featured__list { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.kappa-featured__body { padding: 10px 12px 12px; }
	.kappa-featured__name { font-size: 15px; letter-spacing: .02em; line-height: 1.45; }
	.kappa-featured__cat { margin-top: 2px; font-size: 11.5px; }
	.kappa-featured__cta { margin-top: 7px; font-size: 11.5px; }
	/* 帯と朱印を縦に積む。朱印は横長にして高さを食わせない */
	.kappa-kv__overlay { flex-direction: column; gap: 10px; }
	.kappa-kv__copy { font-size: 20px; }
	.kappa-kv__band { padding: 14px 17px 12px; }
	.kappa-kv__seal {
		width: auto; flex-direction: row; align-items: baseline;
		justify-content: center; gap: 9px; padding: 12px 18px;
	}
	.kappa-kv__seal-count { font-size: 27px; }
	.kappa-kv__lead { margin-top: 20px; font-size: 15px; text-align: left; }
	.kappa-access__map .kappa-map-gl { height: 300px; }
}

/* TOPのテーマKV（仮ブランドの深緑ベタ）を殺す。店舗ページと同じ考え方。
   静的フロントページなので body には .home ではなく .page-id-NNN が付く */
.home .l-keyvisual, .page-id-649 .l-keyvisual { display: none; }
/* サイドバーはウィジェットを空にしただけでは aside が残り、その分の横幅を
   予約したままになる。要素ごと畳んで本文を全幅で使う */
.home .l-side_main, .page-id-649 .l-side_main { display: none; }
.home .l-wrapper .l-main.have-is-side,
.page-id-649 .l-wrapper .l-main.have-is-side { width: 100%; max-width: none; flex: 1 1 100%; }

/* TOPの横あふれ対策。
   .l-main は .l-wrapper の flex アイテムで、既定の min-width:auto により
   中身の min-content 幅（長い英字の店名や地図）まで縮まず、狭い画面で
   ページ全体が横スクロールしていた。 */
.home .l-wrapper .l-main.have-is-side,
.page-id-649 .l-wrapper .l-main.have-is-side { min-width: 0; }
.kappa-front .kappa-front__sec,
.kappa-front .kappa-front__kv,
.kappa-front__h2,
.kappa-groups__item a,
.kappa-open__item a,
.kappa-featured__item a { min-width: 0; }
/* 「MUSASHI JAPAN 南合羽橋店」「KEVIN.MC.COMPANY」のような欧字の連なりは
   単語で折れず、カードの最小幅を押し上げる */
.kappa-open__name, .kappa-featured__name, .kappa-groups__label,
.kappa-front__h2-en, .kappa-open__cat, .kappa-featured__cat { overflow-wrap: anywhere; }
.kappa-access__map, .kappa-access__map .kappa-map-gl { max-width: 100%; }

/* 目録（買えるもの）。本文手書きから[kappa_goods]へ移した分の受け皿 */
.kappa-rich ul.kappa-goods { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 8px; }
.kappa-rich ul.kappa-goods li {
	padding: 11px 14px; background: var(--kp-paper-2);
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
	font-weight: 700;
}
.kappa-rich ul.kappa-goods li small { display: block; margin-top: 3px; font-weight: 400; font-size: 13px; color: var(--kp-ink-mute); }
@media (min-width: 720px) { .kappa-rich ul.kappa-goods { grid-template-columns: repeat(2, 1fr); } }

/* 店舗Hero。テーマKVは殺してあるので、ここが記事の入口の絵になる */
.kappa-shop .kappa-hero { margin: 0 0 26px; }
.kappa-shop .kappa-hero__img {
	display: block; width: 100%; height: auto;
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
}

/* ============================================================
   ロゴ
   ============================================================ */
/* 親テーマは site_title をテキストで出し、custom-logo に対応していない。
   PHPを触らずに済むよう画像で置き換える。リンクの読み上げ名は
   テキストのまま残る（text-indentで画面外へ送るだけ）。 */
.site_title__link {
	display: block;
	width: 218px; height: 42px;
	background: url("/wp-content/uploads/2026/08/logo-header-20260828.png") no-repeat left center;
	background-size: contain;
	text-indent: -9999px; white-space: nowrap; overflow: hidden;
}
.l-header .site_title { margin: 0; line-height: 0; }
@media (max-width: 900px) { .site_title__link { width: 178px; height: 34px; } }
@media (max-width: 600px) { .site_title__link { width: 152px; height: 30px; } }

/* フッターは深緑なので、黒インクのロゴがそのままでは沈む。
   ロゴが看板の意匠なので、紙の板を敷いて掲げる形にする。 */
.mg-foot__logo {
	display: block; margin: 0 auto 14px;
	width: min(330px, 80%); height: auto;
	background: var(--kp-paper);
	padding: 16px 24px 14px;
	border-radius: var(--kp-r);
	box-sizing: content-box;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
.mg-foot .mg-foot-rule { display: none; }

/* 狭い画面のヘッダー。
   親テーマの .global_navi__list は width:max-content で縮まないため、
   ロゴの隣に置かれたナビが行を画面幅より広げる。body に overflow-x:hidden が
   効いているので、あふれた分は実機でも切れて見える（SHARE/SEARCH/メニューに
   届かなくなる）。ナビを独立した行へ落として横スクロールさせる。 */
@media (max-width: 900px) {
	.l-header .c-header { flex-wrap: wrap; row-gap: 4px; }
	.l-header .global_navi-is-header {
		order: 9; width: 100%;
		overflow-x: auto; -webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.l-header .global_navi-is-header::-webkit-scrollbar { display: none; }
	.l-header .global_navi-is-header .global_navi__list { width: max-content; }
	.l-header .site_title { margin-right: 12px; }
}

/* 親テーマは .l-main に min-width:375px を置いている。コンテナの左右余白
   （clamp(30px,8vw,80px)）と合わせると狭い画面で約405px必要になり、
   390px級の端末では収まらずに右側が切れる。下限を外す。 */
@media (max-width: 767px) {
	.l-wrapper { flex-wrap: wrap; }
	.l-main { min-width: 0; }
}

/* 出所の印。公式サイトで確かめた値であることを示す */
.kappa-src {
	display: inline-block; margin-left: 8px;
	padding: 1px 8px; border-radius: var(--kp-r-pill);
	background: var(--kp-paper-3); border: 1px solid var(--kp-rule);
	font-size: 11.5px; letter-spacing: .04em; color: var(--kp-ink-mute);
	vertical-align: 1px; white-space: nowrap;
}

/* 絵地図。MapLibreの地図は「正確な位置」、こちらは「街の姿」の役 */
.kappa-access__pictmap { margin: 0 0 26px; }
.kappa-access__pictmap-img {
	display: block; width: 100%; height: auto;
	border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
}
.kappa-access__pictmap figcaption { margin-top: 8px; font-size: 12.5px; color: var(--kp-ink-mute); }

/* 区切り帯。文字が続く区間の息継ぎ */
.kappa-divider { margin: 44px auto; max-width: 1080px; opacity: .55; }
.kappa-divider__img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) { .kappa-divider { margin: 30px auto; } }

/* 言語切替。ナビの他項目と同じ大きさで、色だけ朱にして見つけやすくする */
.kappa-lang { display: inline-flex; align-items: center; gap: 4px; padding: 4px 12px; border: 1px solid var(--kp-seal); border-radius: var(--kp-r-pill); color: var(--kp-seal); font-size: 13px; letter-spacing: .04em; text-decoration: none; }
.kappa-lang:hover { background: var(--kp-seal); color: var(--kp-on-seal); }

/* 英語版の見出しは Crimson Pro。しおり明朝はラテン文字のために作られていない。
   Hero画像の英字と同じ書体なので、同じ出版物の英語版として揃う */
.kappa-en .kappa-front__h2,
.kappa-en .kappa-h2,
.kappa-en .kappa-shop h1,
.kappa-en .kappa-kv__copy {
	font-family: "Crimson Pro", "Iowan Old Style", Georgia, serif;
	font-weight: 600;
	letter-spacing: 0;
}
.kappa-lang__bar { margin: 12px 0; text-align: right; }

/* ---- 丁数（001〜143）と押せる感。矢印もバッジも足さず、番号と罫が朱に変わる ---- */
.kappa-card__no {
	font-family: "Crimson Pro", Georgia, serif; font-size: 12px; font-weight: 600; letter-spacing: .04em;
	color: var(--kp-ink-mute); font-variant-numeric: tabular-nums; margin-right: 8px; align-self: baseline;
	transition: color .14s ease;
}
.kappa-card { transition: border-color .14s ease; }
.kappa-card:hover, .kappa-card:focus-within { border-bottom-color: var(--kp-seal); }
.kappa-card:hover .kappa-card__no, .kappa-card:focus-within .kappa-card__no { color: var(--kp-seal); }

/* ---- 「地図で見る」＝切符。行き方セクションの破線＋パンチ穴と同じ語彙 ---- */
.kappa-shops__mapbtn { margin: -4px 0 22px; }
.kappa-ticket {
	display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 0 18px;
	border: 1.5px dashed var(--kp-ink-mute); border-radius: 6px; background: var(--kp-paper-2);
	font: inherit; font-size: 14px; letter-spacing: .04em; color: var(--kp-ink); cursor: pointer;
	transition: border-color .14s ease, background .14s ease;
}
.kappa-ticket:hover { border-color: var(--kp-ink); background: var(--kp-paper); }
.kappa-ticket:focus-visible { outline: 2px solid var(--kp-green); outline-offset: 2px; }
.kappa-ticket__hole { width: 9px; height: 9px; border-radius: 50%; background: var(--kp-paper); border: 1.5px dashed var(--kp-ink-mute); }
.main_content button.kappa-ticket { width: auto; }

/* ---- 地図シート ---- */
.kappa-sheet {
	/* 親テーマの固定部品（フロートメニュー等）が z-index 999999 を持つ。その上に載せる */
	position: fixed; inset: 0; z-index: 1000001; display: flex; flex-direction: column;
	background: var(--kp-paper); color: var(--kp-ink);
}
.kappa-sheet[hidden] { display: none; }
html.kappa-sheet-open, html.kappa-sheet-open body { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
	.kappa-sheet { animation: kappa-sheet-rise .26s ease; }
	@keyframes kappa-sheet-rise { from { transform: translateY(18px); opacity: 0; } to { transform: none; opacity: 1; } }
}
.kappa-sheet__bar {
	display: flex; align-items: center; gap: 10px; padding: 10px 14px;
	border-bottom: 1px solid var(--kp-rule); background: var(--kp-paper-2);
}
.kappa-sheet__title { font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 17px; letter-spacing: .08em; }
.kappa-sheet__count { font-size: 12.5px; color: var(--kp-ink-mute); margin-right: auto; }
.kappa-sheet__bar .kappa-pill { min-height: 36px; }
.kappa-sheet__msg { margin: 0; padding: 8px 14px; font-size: 13px; background: var(--kp-paper-3); border-bottom: 1px solid var(--kp-rule); }
.kappa-sheet__msg[hidden] { display: none; }
.kappa-sheet__map { flex: 1; min-height: 0; }
.kappa-sheet__card {
	border-top: 1px solid var(--kp-rule); background: var(--kp-paper-2);
	padding: 8px 14px; max-height: 42vh; overflow: auto;
}
.kappa-sheet__card[hidden] { display: none; }
.kappa-sheet__card-h { margin: 4px 0 6px; font-size: 12.5px; color: var(--kp-ink-mute); }
.kappa-sheet__row {
	display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name go" "meta go";
	gap: 4px 12px; align-items: center; padding: 10px 2px; border-bottom: 1px solid var(--kp-rule);
	color: var(--kp-ink) !important; text-decoration: none !important;
}
.kappa-sheet__row:last-child { border-bottom: 0; }
.kappa-sheet__row:hover .kappa-sheet__name, .kappa-sheet__row:focus-visible .kappa-sheet__name { text-decoration: underline; text-underline-offset: 3px; }
.kappa-sheet__name { grid-area: name; font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; font-size: 15.5px; font-weight: 700; }
.kappa-sheet__meta { grid-area: meta; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kappa-sheet__go { grid-area: go; color: var(--kp-ink-mute); font-size: 16px; }
/* 現在地。朱の小三角ひとつだけ。円も精度の輪も描かない */
.kappa-here { display: block; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 16px solid var(--kp-seal); filter: drop-shadow(0 1px 1px rgba(0,0,0,.25)); }
.kappa-sheet__help { padding: 10px 14px 12px; background: var(--kp-paper-3); border-bottom: 1px solid var(--kp-rule); font-size: 13px; line-height: 1.75; }
.kappa-sheet__help-steps { margin: 0 0 6px; color: var(--kp-ink); }
.kappa-sheet__help-note { margin: 0 0 8px; color: var(--kp-ink-mute); font-size: 12px; }
.kappa-sheet__help-btns { margin: 0; display: flex; gap: 8px; flex-wrap: wrap; }

/* ---- 初回訪問者レビュー A 群（2026-09-01） ---- */
/* 店舗ページ: 親テーマのフロートメニュー（HOME/検索/メニュー/目次）が自前の CTA バー
   （経路案内/電話/公式/保存）の真上に重なり、一番押してほしいボタンが押せなかった */
.single-shop .l-footer_menu { display: none !important; }
/* 「目次」は TubeAffi の残骸（#taffi-toc）。目次の無いページで誤導するので全ページで消す */
.float_menu__item:has(a[href="#taffi-toc"]) { display: none; }
/* SP 幅で見える言語ピル。PC ではナビに EN があるので出さない */
.kappa-lang--pill {
	display: none; align-items: center; min-height: 32px; padding: 0 12px; margin-right: 8px;
	border: 1px solid var(--kp-ink); border-radius: var(--kp-r-pill);
	font-family: "Crimson Pro", Georgia, serif; font-size: 13px; font-weight: 600; letter-spacing: .06em;
	color: var(--kp-ink) !important; text-decoration: none !important; white-space: nowrap;
}
@media (max-width: 1099px) {
	.c-header .kappa-lang--pill { display: inline-flex; min-height: 30px; padding: 0 10px; margin-right: 6px; }
	/* SP のヘッダーは ロゴ＋EN＋SEARCH＋≡ で幅いっぱい。SHARE のピルまで置くと2段に折れる。
	   共有は本文のシェア行（各ページ末尾）にあるので、ヘッダーの SHARE は SP では畳む */
	.c-header .panel_link-is-primary { display: none; }
	/* ピルを出す幅では、親テーマのグローバルナビ（全幅で表示される）に差し込んだ EN 項目が
	   ピルと二重になるので隠す。PC（1100px〜）はピルを出さずナビの EN だけを使う。フッターナビの EN は残す */
	.c-header .global_navi .kappa-lang__item, .l-header .global_navi-is-header .kappa-lang__item { display: none; }
}
/* 360px 級の小型端末では SEARCH のピルまで置くと ≡ が折り返す。検索はハンバーガーと下部バーにもある */
@media (max-width: 380px) { .c-header .panel_link-is-secondary { display: none; } }

/* ---- 一覧に埋め込む地図（2026-09-01・ユーザー判断で「本物を埋め込み」） ---- */
.kappa-shops__mapbox { margin: 0 0 26px; }
.kappa-shops__mapbox[hidden] { display: none; }
.kappa-shops__maptools { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; }
.kappa-shops__maptools .kappa-sheet__count { margin-right: auto; }
.kappa-shops__mapbox .kappa-mapdock { border: 1px solid var(--kp-rule); border-radius: var(--kp-r); overflow: hidden; background: var(--kp-paper); }
.kappa-shops__mapbox .kappa-sheet__map { height: 460px; }
@media (max-width: 767px) { .kappa-shops__mapbox .kappa-sheet__map { height: 320px; } }
.kappa-shops__mapbox .kappa-sheet__card { max-height: none; }
/* 全画面ではドックが縦いっぱいに伸びる */
.kappa-sheet__slot { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.kappa-sheet__slot .kappa-mapdock { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.kappa-sheet__slot .kappa-sheet__map { flex: 1; min-height: 0; height: auto; }

/* ---- TOP ファーストビュー（初回訪問者レビュー C群・2026-09-01） ---- */
/* 第一CTA: 「いま96店 開いています／開いている店を見る →」。朱ベタ・全幅・水平・動詞つき */
.kappa-front a.kappa-kv__band, .kappa-front a.kappa-kv__band * { color: var(--kp-on-seal) !important; text-decoration: none !important; }
.kappa-kv__band {
	display: grid; grid-template-columns: auto 1fr; grid-template-areas: "date count" "go go";
	gap: 2px 12px; align-items: baseline; margin: 22px 0 0; padding: 14px 18px 12px;
	max-width: 560px; background: var(--kp-seal); border-radius: var(--kp-r);
	box-shadow: 0 0 0 1px rgba(200, 68, 52, .22); transition: background .15s;
}
.kappa-kv__band:hover { background: #b93c2d; }
.kappa-kv__band-date { grid-area: date; font-size: 12.5px; letter-spacing: .04em; }
.kappa-kv__band-count { grid-area: count; font-size: 15px; letter-spacing: .02em; }
.kappa-kv__band-count b { font-family: "Crimson Pro", Georgia, serif; font-size: 32px; font-weight: 600; line-height: 1; margin: 0 3px; }
.kappa-kv__band-go { grid-area: go; font-size: 14px; font-weight: 700; letter-spacing: .04em; margin-top: 4px; }
/* 第二CTA: 白地。主従をつける */
.kappa-front a.kappa-kv__second { color: var(--kp-ink) !important; text-decoration: none !important; }
.kappa-kv__second {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 10px 0 0; padding: 12px 18px;
	max-width: 560px; background: var(--kp-paper-2); border: 1px solid var(--kp-rule); border-radius: var(--kp-r);
	transition: border-color .15s;
}
.kappa-kv__second:hover { border-color: var(--kp-ink); }
.kappa-kv__second-q { font-weight: 700; font-size: 14.5px; }
.kappa-kv__second-list { font-size: 13px; color: var(--kp-ink-mute); }
/* 行き方の要点。最下段（7画面目）から1画面目へ */
.kappa-front ul.kappa-kv__facts {
	list-style: none; margin: 14px 0 0; padding: 0; max-width: 560px;
	font-size: 12.5px; line-height: 1.9; letter-spacing: .02em; color: var(--kp-ink-mute);
}
/* 文として流す（項目ごとに折れると区切りが行頭に来る） */
.kappa-front ul.kappa-kv__facts li { display: inline; margin: 0; }
.kappa-front ul.kappa-kv__facts li + li::before { content: "／"; margin: 0 5px; color: var(--kp-rule); }
.kappa-front .kappa-kv__en { margin: 0 0 8px; }
.kappa-front .kappa-kv__copy { font-size: 30px; line-height: 1.5; text-wrap: balance; }
@media (max-width: 900px) { .kappa-front .kappa-kv__copy { font-size: 24px; } }
@media (max-width: 700px) {
	/* 最初の1画面に「押せるもの」を入れる。絵は 200px に */
	.kappa-kv__img { max-height: 200px; }
	.kappa-kv__overlay { flex-direction: column; padding-top: 16px; }
	.kappa-front .kappa-kv__copy { font-size: 20px; }
	.kappa-kv__band { margin-top: 14px; max-width: none; padding: 12px 16px 10px; }
	.kappa-kv__second { max-width: none; }
}

/* ---- /open-today（初回訪問者レビュー D群） ---- */
.kappa-openlist__filters { margin: 0 0 10px; }
.kappa-openlist__order { margin: 0 0 12px; font-size: 12.5px; letter-spacing: .06em; color: var(--kp-ink-mute); font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; }
.kappa-openlist__walk { margin-left: 10px; font-size: 11.5px; color: var(--kp-ink-mute); letter-spacing: .02em; }
.kappa-openlist__until { margin-left: 10px; font-size: 11.5px; color: var(--kp-ink-mute); font-variant-numeric: tabular-nums; }
.kappa-openlist__until--soon { color: var(--kp-seal); font-weight: 700; }
.kappa-openlist__row[hidden] { display: none; }

/* ---- 店構え写真（D群・イラストの直下に併置。無い店には何も出ない） ---- */
.kappa-storefront { margin: 10px 0 0; }
.kappa-storefront__img { display: block; width: 100%; height: auto; border-radius: var(--kp-r); border: 1px solid var(--kp-rule); }
.kappa-storefront__cap { margin: 6px 0 0; font-size: 12px; letter-spacing: .08em; color: var(--kp-ink-mute); font-family: "Shippori Mincho", "Hiragino Mincho ProN", serif; }
.kappa-card__link--photo { position: relative; padding-right: 88px; }
.kappa-card__thumb { position: absolute; right: 4px; top: 16px; width: 72px; height: 72px; object-fit: cover; border-radius: 4px; border: 1px solid var(--kp-rule); }

/* 動画記事 */
.kappa-vpost__embed{position:relative;aspect-ratio:16/9;margin:1rem 0}
.kappa-vpost__embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kappa-vpost__source{font-size:.85rem;color:#666;margin:.25rem 0 1.5rem}
.kappa-vpost__points li{margin:.4rem 0}
.kappa-vpost__t{font-size:.85rem;white-space:nowrap;text-decoration:none;border:1px solid currentColor;border-radius:999px;padding:0 .5em;margin-left:.25em}
.kappa-vpost__shops{list-style:none;padding:0;margin:0 0 1rem}
.kappa-vpost__shop{border:1px solid #e5e0d8;border-radius:8px;padding:.75rem 1rem;margin:.5rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.kappa-vpost__cat,.kappa-vpost__hours{font-size:.85rem;color:#666}
.kappa-vpost__more{margin-left:auto;font-size:.9rem}
.kappa-vpost__disclaimer{font-size:.8rem;color:#777;border-top:1px solid #eee;padding-top:.75rem;margin-top:2rem}
.kappa-vpost__jump{margin:-.35rem 0 .75rem;font-size:.9rem}

/* 記事カード（読みもの＝動画で読む／ガイド）。--stories は朱、--post は緑で印を分ける */
.kappa-artgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:12px 0}
.kappa-artcard{display:flex;flex-direction:column;background:#fffdf7;border:1px solid var(--kp-rule);border-top:3px solid var(--kp-green);border-radius:var(--kp-r);color:var(--kp-ink);text-decoration:none;overflow:hidden}
.kappa-artcard--stories{border-top-color:var(--kp-seal)}
.kappa-artcard:hover .kappa-artcard__title{text-decoration:underline}
.kappa-artcard__thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--kp-paper)}
.kappa-artcard__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.kappa-artcard__body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}
.kappa-artcard__label{align-self:flex-start;font-size:11px;letter-spacing:.08em;color:var(--kp-green);border:1px solid currentColor;border-radius:var(--kp-r-pill);padding:0 8px}
.kappa-artcard--stories .kappa-artcard__label{color:var(--kp-seal)}
.kappa-artcard__title{font-weight:600;line-height:1.5}
.kappa-artcard__date{font-size:12px;color:var(--kp-ink-mute)}
.kappa-artmore{margin:4px 0 16px;text-align:right;font-size:14px}
.kappa-reading__heading{margin:24px 0 4px}
