/* ==========================================================================
   モック由来の固定ページ（tenku_raw_html = 1）をモックどおりに表示する
   - .tnk-page  本文：親テーマの本文用CSSを打ち消し、モックの基本スタイルを再現
   - .tnk-hero  ページヘッダー：モックのヒーロー（全幅写真＋白抜き見出し＋パンくず）
   ========================================================================== */

/* --------------------------------------------------------------------------
   本文：親テーマ .p-entry__body の装飾を打ち消す
   モックの要素はほぼすべてインラインCSSで整えられているので、
   「テーマのCSSが無い状態（ブラウザ既定＋インライン）」に戻すのが最も忠実。
   ショートコードの出力（プランカード・ポップアップ・一覧表）は打ち消しの対象外。
   -------------------------------------------------------------------------- */

.p-entry__body .tnk-page
	:where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, thead, tbody, tr, th, td,
		blockquote, figure, figcaption, img, a, span, strong, em, small, details, summary,
		section, article, main, nav, header, footer, div, button)
	:not(.p-tenku-plan *, .p-tenku-pop *, .p-tenku-table__wrap *) {
	all: revert;
}

/* モックの基本スタイル（helmet の <style> 相当） */
.p-entry__body .tnk-page {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
		"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 16px;
	line-height: 1.9;
	color: #23262b;
	-webkit-font-smoothing: antialiased;
}

.p-entry__body .tnk-page a:not(.p-tenku-plan *, .p-tenku-pop *) {
	color: #23262b;
	text-decoration: none;
}

.p-entry__body .tnk-page a:not(.p-tenku-plan *, .p-tenku-pop *):hover {
	color: #660000;
	text-decoration: none;
}

.p-entry__body .tnk-page summary::-webkit-details-marker {
	display: none;
}

.p-entry__body .tnk-page > main {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   固定ページ内のショートコード出力を、親テーマの .p-entry__body ルールから守る
   親の「.p-entry__body h2」「.p-entry__body ul li」「.p-entry__body th」「.p-entry__body a:hover」は
   plan.css の単一クラス（0,1,0）より強いので、body .p-entry__body … （0,2,x）で上書きする。
   値は plan.css と同じ。
   -------------------------------------------------------------------------- */

/* 見出し */
body .p-entry__body .p-tenku-plan__heading { margin: 0; font-size: clamp(22px, 2.8vw, 28px); line-height: 1.5; }
body .p-entry__body .p-tenku-plan__group-name { margin: 0; font-size: clamp(16px, 2vw, 19px); line-height: 1.6; }
body .p-entry__body .p-tenku-plan__title { margin: 0; font-size: clamp(16px, 2vw, 18.5px); line-height: 1.8; }
body .p-entry__body .p-tenku-pop__title { margin: 0; font-size: clamp(17px, 2.4vw, 22px); line-height: 1.8; }

/* 段落 */
body .p-entry__body .p-tenku-plan__desc { margin: 10px 0 0; font-size: 14px; line-height: 2; }
body .p-entry__body .p-tenku-plan__meta { margin: 10px 0 0; font-size: 13px; line-height: 1.9; }
body .p-entry__body .p-tenku-plan__link { margin: 8px 0 0; font-size: 13px; line-height: 1.9; }
body .p-entry__body .p-tenku-plan__note { margin: 16px 0 0; font-size: 12.5px; line-height: 2; }
body .p-entry__body .p-tenku-plan__bonus p { margin: 0; line-height: 1.9; }

/* ポップアップ内の段落・見出し：親の「.p-entry__body p / h3 / h4」（0,1,1）を打ち消す。
   :where() で要素名の分を 0 にし、下の各クラスの指定（0,2,1）が勝つようにする */
body .p-entry__body .p-tenku-pop :where(p) { margin: 0; font-size: inherit; line-height: inherit; }
body .p-entry__body .p-tenku-pop :where(h3, h4) { margin: 0; line-height: inherit; }
body .p-entry__body .p-tenku-pop__price { margin: 14px 0 0; font-size: 15px; line-height: 1.8; }
body .p-entry__body .p-tenku-pop__notice { margin: 2px 0 0; font-size: 13px; }
body .p-entry__body .p-tenku-pop__perks-label { font-size: 12px; }
body .p-entry__body .p-tenku-pop__perk { margin: 8px 0 0; font-size: 13px; line-height: 1.9; }
body .p-entry__body .p-tenku-pop__menu-note { margin: 0 2px 4px; font-size: 13px; }
body .p-entry__body .p-tenku-pop__menu-foot { margin: 10px 2px 0; font-size: 12.5px; }
body .p-entry__body .p-tenku-pop__options-title { margin: 0 2px 4px; font-size: 14px; }
body .p-entry__body .p-tenku-pop__options-foot { margin: 8px 2px 0; font-size: 12px; }
body .p-entry__body .p-tenku-pop__drinks-colhead { margin: 0; font-size: 14px; }
body .p-entry__body .p-tenku-pop__drinks-foot { margin: 12px 2px 0; font-size: 12px; }
body .p-entry__body .p-tenku-pop__h4 { margin: 18px 0 6px; font-size: 14px; }
body .p-entry__body .p-tenku-pop__foot .p-tenku-pop__h4:first-child { margin-top: 0; }
body .p-entry__body .p-tenku-pop__policybox p + p { margin-top: 8px; }
body .p-entry__body .p-tenku-pop__title { font-size: clamp(17px, 2.4vw, 22px); line-height: 1.8; }

/* リスト（価格グレードの横並び） */
body .p-entry__body .p-tenku-plan__grades { margin: 18px 0 0; padding: 0; list-style: none; }
body .p-entry__body .p-tenku-plan__grade { margin: 0; list-style: none; line-height: 1.4; }

/* 表（一覧表） */
body .p-entry__body .p-tenku-table { margin: 0; }
body .p-entry__body .p-tenku-table th,
body .p-entry__body .p-tenku-table td { padding: 12px 14px; border: 1px solid #e0dcd4; font-size: 14.5px; line-height: 1.8; }
body .p-entry__body .p-tenku-table thead th { background: transparent; text-align: center; }
body .p-entry__body .p-tenku-table tbody th { background: transparent; text-align: left; }
body .p-entry__body .p-tenku-table td.p-tenku-table__desc { font-size: 13.5px; }
body .p-entry__body .p-tenku-table td.p-tenku-table__price { text-align: right; white-space: nowrap; }
body .p-entry__body .p-tenku-table td.p-tenku-table__price .p-tenku-table__notice { white-space: normal; width: 12.5em; }
body .p-entry__body .p-tenku-table td.p-tenku-table__capacity { white-space: nowrap; }
body .p-entry__body .p-tenku-table--plain tbody th { font-weight: 400; }
body .p-entry__body .p-tenku-table--plain td.p-tenku-table__desc { font-size: 14.5px; }
body .p-entry__body .p-tenku-table--hand .p-tenku-table__btn { display: inline-block; }
body .p-entry__body .p-tenku-table td.p-tenku-table__reserve { text-align: center; white-space: nowrap; }
body .p-entry__body .p-tenku-table__btn,
body .p-entry__body .p-tenku-table__btn:hover { color: #fff; text-decoration: none; }

/* 画像（親は max-width だけ。念のため） */
body .p-entry__body .p-tenku-plan__img img,
body .p-entry__body .p-tenku-pop__img img { margin: 0; }

/* ボタン（親の develop.css は .p-entry__body a を臙脂にする） */
body .p-entry__body .p-tenku-pop__reserve { color: #fff; }
body .p-entry__body .p-tenku-pop__reserve:hover { color: #fff; }
body .p-entry__body .p-tenku-pop__tel { color: #3e4266; }
body .p-entry__body .p-tenku-pop__tel:hover { color: #660000; }
body .p-entry__body .p-tenku-pop__policylink,
body .p-entry__body .p-tenku-pop__cancel a { color: #660000; }

/* リンク（親は a:hover に下線を付ける） */
body .p-entry__body .p-tenku-plan a:hover,
body .p-entry__body .p-tenku-pop a:hover { text-decoration: none; }
body .p-entry__body .p-tenku-plan__link a,
body .p-entry__body .p-tenku-plan__gift-link,
body .p-entry__body .p-tenku-pop__policylink,
body .p-entry__body .p-tenku-pop__cancel a { text-decoration: underline; }

/* 背景画像から変換した写真（個室ミニ・ガイドなど）は枠の幅いっぱいに */
body .p-entry__body .tnk-page img[style*="object-fit:cover"] { width: 100%; display: block; }

/* --------------------------------------------------------------------------
   よくあるご質問（<details> 方式。モックの ＋／− とホバー色を再現）
   .tnk-page 内の要素は all: revert（0,3,0）なので、それより強い詳細度で指定する
   -------------------------------------------------------------------------- */

body .p-entry__body .tnk-page .tnk-faq__q { list-style: none; }
body .p-entry__body .tnk-page .tnk-faq__q::-webkit-details-marker { display: none; }
body .p-entry__body .tnk-page .tnk-faq__q::marker { content: ""; }
body .p-entry__body .tnk-page .tnk-faq__q:hover { background: #f9f7f3; }
body .p-entry__body .tnk-page .tnk-faq__item[open] .tnk-faq__plus { display: none !important; }
body .p-entry__body .tnk-page .tnk-faq__item[open] .tnk-faq__minus { display: inline !important; }

/* アクセス・営業時間の電話番号（モック：マウスオーバーで臙脂） */
.tnk-access__tel:hover { color: #660000 !important; }

/* --------------------------------------------------------------------------
   ヒーロー（パーツ_ヒーロー の再現）
   -------------------------------------------------------------------------- */

.tnk-hero {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "YuMincho",
		"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	color: #23262b;
}

.tnk-hero__visual {
	position: relative;
	height: clamp(280px, 38vw, 400px);
	display: flex;
	align-items: center;
	justify-content: center;
	background: #0c0c0c;
	overflow: hidden;
}

.tnk-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tnk-hero__shade {
	position: absolute;
	inset: 0;
	background: rgba(12, 12, 12, 0.28);
	pointer-events: none;
}

.tnk-hero__title {
	position: relative;
	margin: 0;
	max-width: 920px;
	padding: 0 24px;
	text-align: center;
	color: #fff;
	font-size: clamp(20px, 3vw, 30px);
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.06em;
	text-shadow: 1px 1px 2px #0c0c0c;
	pointer-events: none;
}

.tnk-hero__sub {
	font-size: inherit;
}

/* 3行目（モックの <span style="font-size:0.72em">） */
.tnk-hero__note {
	font-size: 0.72em;
}

/* 大きいヒーロー（接待・会食。モックは高さ最大420px・見出し最大32px） */
.tnk-hero--l .tnk-hero__visual {
	height: clamp(300px, 42vw, 420px);
}

.tnk-hero--l .tnk-hero__title {
	max-width: 900px;
	font-size: clamp(21px, 3.2vw, 32px);
}

.tnk-hero__crumb {
	max-width: 1100px;
	margin: 0 auto;
	padding: 14px clamp(16px, 3vw, 28px);
	font-size: 12.5px;
	color: #6b7078;
}

.tnk-hero__crumb a {
	color: #6b7078;
	text-decoration: none;
}

.tnk-hero__crumb a:hover {
	color: #660000;
}

/* 親テーマの page.php は本文の直前にパンくずを出す。ヒーロー側にパンくずがあるので二重にしない */
body.tnk-mock-page .p-breadcrumb {
	display: none;
}

body.tnk-mock-page .p-entry {
	margin-top: 0;
}
