/* =========================================
   Fallback Header
   ※ grm-global-menu プラグイン未導入時の簡易表示
========================================= */
.grm-fallback-header{
	padding:20px 0;
	border-bottom:1px solid var(--color-border);
}

.grm-fallback-header a{
	font-size:16px;
	font-weight:400;
	color:inherit;
	text-decoration:none;
}

/* =========================================
   Footer / フッター
========================================= */
.grm-footer{
	padding:64px 0 28px;
	background:var(--color-main);
	color:#fbf6ec;
}

.grm-footer-inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:20px;
}

.grm-footer-sns{
	display:flex;
	gap:20px;
	list-style:none;
	margin:0;
	padding:0;
}

.grm-footer-sns a{
	color:#fff;
	font-size:16px;
	letter-spacing:.05em;
	text-decoration:none;
	opacity:.8;
}

.grm-footer-sns a:hover{
	opacity:1;
	text-decoration:underline;
}

.grm-footer-copyright{
	font-size:16px;
	opacity:.7;
}

/* =========================================
   All Page / 全ページ共通
========================================= */
.head-margin {
	margin-top: 100px;
}
nav.grm-breadcrumb {
	margin: 140px 0 0 !important;
}

@media (max-width: 991px) {
	.head-margin {
		margin-top: 70px;
	}
	nav.grm-breadcrumb {
		margin: 80px 0 0 !important;
	}
}
.site-main article {
	margin-bottom: 60px;
}

/* =========================================
   ログインページ関連
========================================= */
.grm-login-main{
	max-width:500px;
	margin:0 auto;
	padding:60px 20px;
}

.grm-login-logo{
	text-align:center;
	margin-bottom:40px;
}

.grm-login-logo img{
	max-width:240px;
	height:auto;
}

/* =========================================
   Page / 下層ページ共通
========================================= */
.site-main h1 {
	font-size: 1.6em;
	line-height: 1.6;
	margin-bottom: 30px;
}

@media (max-width: 991px) {
	.site-main h1 {
		font-size: 1.2em;
		line-height: 1.2;
		margin-bottom: 30px;
	}
}

/* =========================================
   PDF Thumbnail
========================================= */

.entry-content{
	width:100%;
}

.entry-content .link-to-pdf{
	display:block;
	width:100%;
}

.entry-content .thumb-of-pdf{
	display:block;
	width:100% !important;
	max-width:none !important;
	height:auto !important;
}

/* =========================================
   Content Video
========================================= */

.entry-content iframe{
	width:100%;
}

.entry-content .iframe-wrap{
	position:relative;
	width:100%;
	aspect-ratio:16 / 9;
}

.entry-content .iframe-wrap iframe,
.entry-content .wp-block-embed iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

/* =========================================
   タイトル関係
========================================= */
.grmrc-cat-header {
  max-width: none;
  margin: 0 0 48px;
  text-align: left;
}
.grmrc-cat-label {
  margin: 0 0 5px;
  font-size: 16px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9b7b45;
  font-weight: 400;
}
.grmrc-cat-title {
  margin: 0;
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.04em;
}

/* =========================================
   見出し：英語を大きく／日本語を小さく
   （grm-worksの「Works」用。.grmrc-cat-title を
   　英語側に、.grmrc-cat-label を日本語側に付け替えて使う） */
.grmrc-cat-header.is-title-first .grmrc-cat-title {
  font-size: clamp(25px, 4.05vw, 43px);
  line-height: 1;
  font-weight: 100;
}
.grmrc-cat-header.is-title-first .grmrc-cat-label {
  margin: -15px 0 0;
  font-size: 16px;
  color: #222;
  text-transform: none;
}

.grmrc-cat-description {
  margin: 30px auto 0;
  max-width: 640px;
  font-size: 16px;
  line-height: 1.9;
  color: #666;
}

/* =========================================
   カテゴリーチップ
========================================= */
.grm-cat-chips{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:flex-start;
	margin:0 0 90px;
}

.grm-cat-chip{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:10px 22px;
	border:1px solid var(--color-accent-dark);
	border-radius:999px;
	font-size:14px;
	font-weight:400;
	letter-spacing:.03em;
	color:var(--color-accent-dark);
	text-decoration:none;
	background:#fff;
	transition:.2s;
}

.grm-cat-chip:hover,
.grm-cat-chip.is-active{
	background:var(--color-accent-dark);
	color:#fff;
}

/* =========================================
   カテゴリー絞り込みチップ（GRM FAQ／GRM Rental共用）
   ・プラグイン側は .grm-subcat-nav / .grm-subcat-pill の
     見た目をテーマに任せているため、ここで定義する。
   ・枠線＋白抜き（ホバーで塗りつぶし）。
   ・.grm-page-content a（下線・文字色）に負けないよう
     .grm-page-content 付きのセレクタも併記している。
========================================= */
.grm-subcat-nav{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:flex-start;
	margin:0 0 20px;
	padding:0;
	list-style:none;
}
.grm-subcat-pill,
.grm-page-content .grm-subcat-pill{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:10px 22px;
	border:1px solid var(--color-accent-dark);
	border-radius:999px;
	font-size:14px;
	font-weight:400;
	letter-spacing:.03em;
	color:var(--color-accent-dark);
	text-decoration:none;
	background:#fff;
	transition:.2s;
}
.grm-subcat-pill:hover,
.grm-page-content .grm-subcat-pill:hover{
	background:var(--color-accent-dark);
	color:#fff;
	text-decoration:none;
}

/* =========================================
   GRM FAQ の配色（ひだまり）
========================================= */
.site-main .grmfaq{
	--grmfaq-color-primary:var(--color-accent-dark);
	--grmfaq-color-primary-soft:var(--color-accent-soft);
	--grmfaq-color-text:var(--color-text);
	--grmfaq-color-text-soft:var(--color-sub);
	--grmfaq-color-border:var(--color-border);
	--grmfaq-color-bg:#fffdf8;
	--grmfaq-color-q:var(--color-accent-dark);
	--grmfaq-color-a:#6f7f55;
	--grmfaq-radius:6px;
}
.site-main .grmfaq .grmfaq-answer-mark{
	background:#e6ebd9;
}

/* =========================================
   カテゴリーアーカイブ全体の上下余白
   ・Works一覧（.grm-works-archive）と同じ上下100pxにして、
   　タイトル上の空きを揃える
========================================= */
.grm-cat-archive{
	padding:100px 0;
}

/* =========================================
   記事詳細ページ（single.php）
   ・Works／Blog一覧ページと同じく、タイトル上に100pxの余白
========================================= */
.grm-single-head{
	padding-top:100px;
}
/* is-title-first の label（Works／Blogページ用に-15pxで詰めている）を
   そのまま使うと、記事タイトルの上に小さく置くこの用途では
   カテゴリー名の文字とラベルの文字が近すぎて重なって見えることが
   あるため、ここだけ余白をあける */
article .grm-single-head.grmrc-cat-header.is-title-first .grmrc-cat-label{
	margin-top:8px;
}

/* 投稿一覧（お知らせ）ページのタイトル
   ・.site-main h1（1.6em）に負けないよう .site-main を付ける
   ・以前より少し大きくし、上はグローバルナビとの空きを
     .grm-single-head の padding-top で確保する */
.site-main .grmrc-cat-header .grm-index-title{
	font-size:32px;
	line-height:1.4;
	font-weight:400;
}
@media (max-width: 991px){
	.site-main .grmrc-cat-header .grm-index-title{
		font-size:24px;
	}
}

/* 一覧に戻るボタン */
.grm-single-back{
	text-align:center;
	margin-top:60px;
}

/* =========================================
   カテゴリー記事一覧グリッド
========================================= */
.grm-cat-grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:40px 30px;
}

@media(max-width:991px){
	.grm-cat-grid{
		grid-template-columns:repeat(2, 1fr);
	}
}

@media(max-width:575px){
	.grm-cat-grid{
		grid-template-columns:1fr;
	}
}

/* =========================================
   Blog一覧ページのカード文字サイズ
   ・トップページのBlogスライダーのカードと同じ大きさに揃える
========================================= */
.grm-cat-grid .grm-card-title{
	font-size:16px;
}
.grm-cat-grid .grm-card-date{
	font-size:16px;
}
.grm-cat-grid .grm-card-excerpt{
	font-size:16px;
}
.grm-cat-grid .grm-card-noimage{
	font-size:16px;
}

.entry-date {
	font-size: 16px;
	line-height: 1.4;
	margin-bottom: 5px;
}

/* =========================================
   Search Page
========================================= */

/* =========================
	 Search Header START
========================= */
.page-header{
	margin-bottom:30px;
}

.page-title{
	margin:0 0 10px;
	font-size:32px;
	font-weight:300;
	letter-spacing:.04em;
	line-height:1.4;
}
/* Search Header END */


/* =========================
	 Search Card START
========================= */
.card{
	height:100%;
	border:none;
	border-radius:0;
	overflow:hidden;
	background:#fff;
	transition:0.3s;
}

.card:hover{
	transform:translateY(-3px);
	box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.card a{
	display:flex;
	flex-direction:column;
	height:100%;
	color:inherit;
	text-decoration:none;
}
/* Search Card END */


/* =========================
	 Search Image START
========================= */
.card-image{
	position:relative;
	aspect-ratio:1 / 1;
	overflow:hidden;
}

.card-image img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
/* Search Image END */


/* =========================
	 Search Body START
========================= */
.card-body{
	padding:15px;
	background:#fff;
}
/* Search Body END */


/* =========================
	 Search Date START
========================= */
.card-body .small{
	font-size:16px;
	line-height:1.5;
}
/* Search Date END */


/* =========================
	 Search Title START
========================= */
.card-body h2{
	margin:0 0 10px;
	font-size:16px;
	font-weight:400;
	line-height:1.6;
}
/* Search Title END */


/* =========================
	 Search Taxonomy START
========================= */
.search-taxonomy{
	display:flex;
	flex-wrap:wrap;
	gap:5px;
	margin-bottom:10px;
}

.search-taxonomy .badge{
	display:inline-block;
	padding:4px 10px;
	background:#f5f5f5;
	color:#333;
	font-size:16px;
	font-weight:400;
	line-height:1.4;
	border-radius:20px;
}
/* Search Taxonomy END */


/* =========================
	 Search Post Type START
========================= */
.card-body .text-muted{
	color:#999;
}
/* Search Post Type END */


/* =========================
	 Pagination START
========================= */
.nav-links{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px;
	margin-top:50px;
}

.page-numbers{
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:40px;
	height:40px;
	padding:0 10px;
	border:1px solid var(--color-border);
	border-radius:var(--radius-full);
	text-decoration:none;
	color:var(--color-main);
	background:#fffdf8;
}

.page-numbers.current{
	color:#fff;
	background:var(--color-accent-dark);
	border-color:var(--color-accent-dark);
}

.page-numbers:hover{
	color:#fff;
	background:var(--color-accent-dark);
	border-color:var(--color-accent-dark);
}
/* Pagination END */


/* =========================
	 SP START
========================= */
@media(max-width:575px){

	.page-title{
		font-size:24px;
	}

	.card-body{
		padding:10px;
	}

	.card-body h2{
		font-size:16px;
	}

}
/* SP END */

/* =========================================
   固定ページ本文 / GRM Page Content
   ・Gutenbergの標準ブロック（見出し／段落／リスト等）
   　だけで組んでも、プライバシーポリシーのような
   　長文ページの体裁が自動で整うようにするための
   　共通タイポグラフィ。page.phpの<?php the_content(); ?>を
   　.grm-page-contentで囲って使用する。
========================================= */
.grm-page-content{
	color:var(--color-text);
}

.grm-page-content > *:first-child{
	margin-top:0;
}

.grm-page-content > *:last-child{
	margin-bottom:0;
}

/* =========================================
   固定ページ用 2カラム（左右分割）レイアウト
   ・Contactページ（.grm-cf-page）と同じ比率
   　「左320px固定・右は残り全部」をGutenbergだけで
   　再現するための汎用クラス。
   ・使い方：グループブロックを1つ作り、
   　「追加CSSクラス」に grm-split を指定。
   　その中にさらにグループブロックを2つ（左用・右用）
   　配置すると、自動的にグリッドの1列目・2列目になる。
   ・見出し(h2/h3)などブロックの先頭要素が持つ
   　margin-topのせいで片方のカラムだけ開始位置が
   　下にズレるのを防ぐため、各カラムの先頭要素の
   　margin-topも合わせて0にしている。
========================================= */
.grm-split{
	display:grid;
	grid-template-columns:1fr;
	gap:60px;
}
@media(min-width:768px){
	.grm-split{
		grid-template-columns:320px 1fr;
		gap:100px;
	}
}

.grm-split > * > *:first-child{
	margin-top:0;
}

/* =========================================
   Google Map埋め込み（カスタムHTMLブロックの<iframe>）
   ・widthやheightをHTML属性で指定していない場合、
   　ブラウザ標準サイズ（300×150px）のまま表示され、
   　カラム幅いっぱいに広がらない。
   ・幅は常に親要素いっぱい（100%）にし、高さはaspect-ratioで
   　16:9に自動追従させる。
   　※ heightをpx指定したままaspect-ratioを追加しても、
   　　widthとheightの両方が確定値になっている場合
   　　aspect-ratioは無視される仕様のため効かない。
   　　heightはautoにして、aspect-ratio側だけで
   　　高さを決めるようにする。
========================================= */
.grm-page-content iframe[src*="google.com/maps"]{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16 / 9;
	border:0;
}

.grm-page-content p{
	font-size: 16px;
	margin:0 0 24px;
	line-height:1.8;
	font-weight:300;
}

.grm-page-content h2{
	margin:40px 0 16px;
	font-size:24px;
	font-weight:400;
	color:var(--color-main);
}

.grm-page-content h3{
	margin:32px 0 14px;
	font-size:18px;
	font-weight:400;
	color:var(--color-main);
}

.grm-page-content a{
	color:var(--color-main);
	text-decoration:underline;
}

.grm-page-content strong,
.grm-page-content b{
	font-weight:600;
}

.grm-page-content ol,
.grm-page-content ul{
	margin:0 0 24px;
	padding-left:1.6em;
	font-size:16px;
	line-height:1.8;
	font-weight:300;
}

.grm-page-content ol{
	list-style:decimal;
}

.grm-page-content ul{
	list-style:disc;
}

.grm-page-content li{
	margin-bottom:8px;
}

.grm-page-content li:last-child{
	margin-bottom:0;
}

.grm-page-content li ol,
.grm-page-content li ul{
	margin:8px 0 0;
	padding-left:1.6em;
}

/* 親項目（例：「撮影・スタイリング」）だけ少し太く。
   ※「.grm-page-content > ul > li」だと効かなかった。
   　Gutenbergの「カラム」ブロック（.grm-splitの2カラム等）を
   　挟んでいる場合、ulは.grm-page-contentの直接の子ではなく
   　wp-block-columns > wp-block-column の下に入るため、
   　直接子セレクタ（>）だと一致しなかった。
   　どんな入れ子のブロック構造でも「親項目 or 子項目」を
   　正しく区別できるよう、li同士の入れ子関係
   　（子項目は必ずliの中のul/olのさらに中のli）で判定する。 */
.grm-page-content li{
	font-weight:300;
}
.grm-page-content li li{
	font-weight:300;
}

.grm-page-content blockquote{
	margin:0 0 24px;
	padding:16px 20px;
	border-left:3px solid var(--color-border);
	color:var(--color-sub);
	line-height:1.8;
}

.grm-page-content table{
	width:100%;
	margin:0 0 24px;
	border-collapse:collapse;
}

.grm-page-content table th,
.grm-page-content table td{
	padding:12px 14px;
	border:1px solid var(--color-border);
	text-align:left;
	line-height:1.7;
}

.grm-page-content figure{
	margin:0 0 24px;
}

.grm-page-content img{
	border-radius:var(--radius-sm);
}


/* =========================================
   ひだまりについて（/about/）
   ・写真＋文章の2カラム、本文は大きめ
========================================= */
.grm-page-content .hd-about-split{
	display:grid;
	grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);
	gap:48px;
	align-items:center;
	margin:0 0 72px;
}
.grm-page-content .hd-about-split > .wp-block-group__inner-container{
	display:contents;
}
.grm-page-content .hd-about-split.is-reverse{
	grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
}
.grm-page-content .hd-about-split.is-reverse .hd-about-photo{
	order:2;
}
.grm-page-content .hd-about-split.is-top{
	align-items:start;
}
.grm-page-content .hd-about-photo{
	margin:0;
}
.grm-page-content .hd-about-photo img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
}
.grm-page-content .hd-about-split p{
	font-size:16px;
	line-height:2;
	font-weight:400;
}
.grm-page-content .hd-about-split > div > :last-child{
	margin-bottom:0;
}
.grm-page-content .hd-about-split h2{
	margin-top:0;
}
.grm-page-content .hd-about-name{
	margin:0 0 20px;
	font-size:22px;
}
@media (max-width:768px){
	.grm-page-content .hd-about-split,
	.grm-page-content .hd-about-split.is-reverse{
		grid-template-columns:1fr;
		gap:24px;
		margin-bottom:56px;
	}
	.grm-page-content .hd-about-split.is-reverse .hd-about-photo{
		order:0;
	}
	.grm-page-content .hd-about-split p{
		font-size:16px;
	}
}


/* =========================================
   文字サイズ：全体で16px未満を作らない
   ・プラグイン側（パンくず・SPメニュー・FAQマーク）の指定を上書き
========================================= */
.grm-mobile-menu .menu-item a{
	font-size:16px;
}
.site-main .grmfaq .grmfaq-question-mark,
.site-main .grmfaq .grmfaq-answer-mark{
	font-size:16px;
}
.site-main .grmfaq .grmfaq-question-text,
.site-main .grmfaq .grmfaq-answer-body{
	font-size:16px;
}
.grm-page-content .hd-about-split.is-reverse h2{
	font-size:20px;
}


/* =========================================
   メタトロン（/metatron/）
   ・.hd-mt 内で完結。文字は16px以上
========================================= */
.grm-page-content .hd-mt{
	--mt-card:#fff;
	margin:0 0 40px;
}
.grm-page-content .hd-mt img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;
}
.grm-page-content .hd-mt figure{
	margin:0;
}
.grm-page-content .hd-mt section{
	margin:0 0 88px;
}
.grm-page-content .hd-mt h2{
	position:relative;
	margin:0 0 32px;
	padding-bottom:16px;
	font-size:26px;
	text-align:center;
}
.grm-page-content .hd-mt h2::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	width:48px;
	height:3px;
	margin-left:-24px;
	border-radius:2px;
	background:var(--color-accent);
}
.grm-page-content .hd-mt h3{
	margin:0 0 12px;
	font-size:20px;
	color:var(--color-main);
}
.grm-page-content .hd-mt p{
	font-size:16px;
	line-height:2;
	font-weight:400;
}

/* ヒーロー画像 + リード */
.hd-mt-hero{
	margin-bottom:56px !important;
}
.hd-mt-lead{
	max-width:980px;
	margin:-64px auto 0;
	padding:32px 40px;
	position:relative;
	border-radius:12px;
	background:#fff;
	box-shadow:0 10px 32px rgba(90,61,40,.12);
	text-align:center;
}
.grm-page-content .hd-mt-lead p{
	margin:0;
	font-size:20px;
	line-height:1.9;
	color:var(--color-main);
}
.grm-page-content .hd-mt-lead .hd-mt-sub{
	margin:0 0 12px;
	font-size:16px;
	color:var(--color-accent-dark);
	letter-spacing:.08em;
}

/* 2カラム（文章＋写真） */
.hd-mt-split{
	display:grid;
	grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
	gap:48px;
	align-items:center;
}
.hd-mt-split > div > :last-child{
	margin-bottom:0;
}
.hd-mt-label{
	display:inline-block;
	margin:0 0 16px;
	padding:4px 18px;
	border-radius:999px;
	background:var(--color-accent-soft);
	font-size:16px;
	color:var(--color-accent-dark);
}

/* チェック */
.hd-mt-two{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:24px;
}
.hd-mt-card{
	padding:32px 36px;
	border:1px solid var(--color-border);
	border-radius:12px;
	background:#fff;
}
.grm-page-content .hd-mt-card h3{
	margin-bottom:16px;
	padding-bottom:12px;
	border-bottom:1px dashed var(--color-border);
}
.grm-page-content .hd-mt-checks{
	margin:0;
	padding:0;
	list-style:none;
}
.grm-page-content .hd-mt-checks li{
	position:relative;
	margin:0;
	padding:8px 0 8px 36px;
	font-size:16px;
	line-height:1.8;
}
.grm-page-content .hd-mt-checks li::before{
	content:"";
	position:absolute;
	left:0;
	top:12px;
	width:22px;
	height:22px;
	border-radius:50%;
	background:var(--color-accent);
}
.grm-page-content .hd-mt-checks li::after{
	content:"";
	position:absolute;
	left:7px;
	top:17px;
	width:8px;
	height:12px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(40deg) scale(.8);
	transform-origin:center;
}

/* 特徴4つ */
.hd-mt-flow{
	margin-bottom:32px !important;
}
.hd-mt-features{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:24px;
	margin-bottom:32px;
}
.hd-mt-feature{
	position:relative;
	padding:32px 32px 28px;
	border-radius:12px;
	background:#fff;
	border:1px solid var(--color-border);
}
.hd-mt-num{
	display:block;
	margin:0 0 4px;
	font-size:16px;
	letter-spacing:.14em;
	color:var(--color-accent-dark);
}
.grm-page-content .hd-mt-feature p{
	margin:0;
}
.hd-mt-shots{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
}

/* 認証 */
.hd-mt-certs{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:20px;
}
.hd-mt-certs-imgs{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 360px));
	gap:20px;
}
.hd-mt-certs-imgs img{
	box-shadow:0 6px 20px rgba(90,61,40,.15);
}
.grm-page-content .hd-mt-note{
	max-width:760px;
	margin:0 auto;
	font-size:16px;
	line-height:1.9;
	color:var(--color-sub);
}

/* 料金 */
.hd-mt-price{
	width:100%;
	max-width:860px;
	margin:0 auto 20px;
	border-collapse:collapse;
	background:#fff;
	border:1px solid var(--color-border);
	border-radius:12px;
	overflow:hidden;
}
.hd-mt-price th,
.hd-mt-price td{
	padding:20px 24px;
	border-bottom:1px solid var(--color-border);
	font-size:16px;
	line-height:1.7;
	text-align:left;
	vertical-align:middle;
	font-weight:400;
}
.hd-mt-price tr:last-child th,
.hd-mt-price tr:last-child td{
	border-bottom:0;
}
.hd-mt-price th{
	width:64%;
	color:var(--color-main);
}
.hd-mt-price th small,
.hd-mt-price td small{
	display:block;
	margin-top:4px;
	font-size:14px;
	color:var(--color-sub);
}
.hd-mt-price td{
	white-space:nowrap;
	text-align:right;
	font-size:20px;
	color:var(--color-accent-dark);
}
.grm-page-content .hd-mt-price-notes{
	max-width:860px;
	margin:0 auto;
	padding:0;
	list-style:none;
	font-size:16px;
}
.grm-page-content .hd-mt-price-notes li{
	margin:0 0 6px;
	padding-left:1.2em;
	text-indent:-1.2em;
	font-size:16px;
	line-height:1.8;
	color:var(--color-sub);
}
.grm-page-content .hd-mt-price-notes li::before{
	content:"※";
}

/* オプション（耳つぼ） */
.hd-mt-option{
	max-width:860px;
	margin:56px auto 0;
	padding:36px 40px;
	border:2px solid var(--color-accent);
	border-radius:16px;
	background:linear-gradient(180deg, #fffaf0, #fff);
}
.hd-mt-option-head{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:16px;
	flex-wrap:wrap;
	margin-bottom:16px;
}
.grm-page-content .hd-mt-option-head h3{
	margin:0;
	font-size:24px;
}
.grm-page-content .hd-mt-option-head p{
	margin:0;
	font-size:16px;
	color:var(--color-sub);
}
.hd-mt-option-price{
	display:inline-block;
	margin:8px 0 24px;
	padding:10px 24px;
	border-radius:999px;
	background:var(--color-accent-dark);
	color:#fff;
	font-size:20px;
	letter-spacing:.06em;
}
.hd-mt-ear{
	display:grid;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
	gap:32px;
	align-items:start;
}
.hd-mt-ear-list{
	margin:0;
	padding:0;
}
.hd-mt-ear-list div{
	padding:10px 0;
	border-bottom:1px dashed var(--color-border);
}
.hd-mt-ear-list dt{
	margin:0;
	font-size:16px;
	font-weight:400;
	color:var(--color-main);
}
.hd-mt-ear-list dd{
	margin:2px 0 0;
	font-size:14px;
	color:var(--color-sub);
}

@media (max-width:768px){
	.grm-page-content .hd-mt section{ margin-bottom:64px; }
	.grm-page-content .hd-mt h2{ font-size:22px; }
	.hd-mt-lead{ margin-top:-32px; padding:24px 20px; }
	.grm-page-content .hd-mt-lead p{ font-size:18px; }
	.hd-mt-split,
	.hd-mt-two,
	.hd-mt-features,
	.hd-mt-ear{ grid-template-columns:1fr; gap:24px; }
	.hd-mt-shots{ grid-template-columns:1fr; }
	.hd-mt-card,
	.hd-mt-feature{ padding:24px 20px; }
	.hd-mt-certs-imgs{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.hd-mt-price th,
	.hd-mt-price td{ display:block; width:auto; padding:12px 16px 0; text-align:left; border-bottom:0; white-space:normal; }
	.hd-mt-price td{ padding:0 16px 16px; border-bottom:1px solid var(--color-border); }
	.hd-mt-price tr:last-child td{ border-bottom:0; }
	.hd-mt-option{ padding:24px 20px; }
}
.grm-page-content .hd-mt table.hd-mt-price{
	display:table;
	width:100%;
	max-width:860px;
	margin:0 auto 20px;
	border-collapse:separate;
	border-spacing:0;
}
.grm-page-content .hd-mt table.hd-mt-price th,
.grm-page-content .hd-mt table.hd-mt-price td{
	border-left:0;
	border-right:0;
	background:none;
}

/* メタトロン：雑誌掲載 */
.hd-mt-mags{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:24px;
}
.hd-mt-mag{
	padding:20px 16px 20px;
	border:1px solid var(--color-border);
	border-radius:12px;
	background:#fff;
}
.grm-page-content .hd-mt-mag h3{
	margin:0 0 14px;
	font-size:18px;
}
.grm-page-content .hd-mt-mag h3 span{
	display:block;
	margin:4px 0 0;
	font-size:16px;
	color:var(--color-accent-dark);
}
@media (max-width:768px){
	.hd-mt-mags{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
}
.grm-page-content .hd-mt-mag img{
	aspect-ratio:3 / 4;
	object-fit:cover;
	border-radius:4px;
	box-shadow:0 6px 18px rgba(90,61,40,.18);
}

/* メタトロン：POINTごとの写真 */
.grm-page-content .hd-mt-feature{
	padding:0 0 28px;
	overflow:hidden;
}
.grm-page-content .hd-mt-feature figure{
	margin:0 0 24px;
}
.grm-page-content .hd-mt-feature figure img{
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:0;
}
.grm-page-content .hd-mt-feature .hd-mt-num,
.grm-page-content .hd-mt-feature h3,
.grm-page-content .hd-mt-feature p{
	margin-left:32px;
	margin-right:32px;
}
@media (max-width:768px){
	.grm-page-content .hd-mt-feature{ padding:0 0 24px; }
	.grm-page-content .hd-mt-feature .hd-mt-num,
	.grm-page-content .hd-mt-feature h3,
	.grm-page-content .hd-mt-feature p{ margin-left:20px; margin-right:20px; }
}

/* メタトロン：POINT バッジ（写真の左下に重ねる） */
.grm-page-content .hd-mt-feature figure{
	position:relative;
	margin:0 0 64px;
}
.grm-page-content .hd-mt-feature .hd-mt-num{
	position:absolute;
	left:28px;
	bottom:-44px;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:92px;
	height:92px;
	margin:0;
	border-radius:50%;
	background:var(--color-accent-dark);
	border:4px solid #fff;
	box-shadow:0 6px 16px rgba(90,61,40,.25);
	color:#fff;
	line-height:1;
	letter-spacing:0;
}
.grm-page-content .hd-mt-num small{
	font-size:16px;
	letter-spacing:.12em;
	line-height:1;
}
.grm-page-content .hd-mt-num b{
	margin-top:4px;
	font-family:var(--font-mincho);
	font-size:34px;
	font-weight:500;
	line-height:1;
}
.grm-page-content .hd-mt-feature h3{
	margin-top:0;
	margin-bottom:12px;
	font-size:22px;
}
@media (max-width:768px){
	.grm-page-content .hd-mt-feature .hd-mt-num{ left:20px; }
}

/* ゴッドクリーナー：使用前 → 15分後 → 30分後 */
.hd-mt-steps{
	display:grid;
	grid-template-columns:minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr);
	gap:12px;
	align-items:center;
	margin-bottom:20px;
}
.hd-mt-steps figure{
	text-align:center;
}
.grm-page-content .hd-mt-steps figcaption{
	margin-top:12px;
	font-size:18px;
	color:var(--color-main);
}
.hd-mt-steps .hd-mt-arrow{
	width:0;
	height:0;
	margin:0 auto 40px;
	border-style:solid;
	border-width:14px 0 14px 20px;
	border-color:transparent transparent transparent var(--color-accent);
}
@media (max-width:768px){
	.hd-mt-steps{ grid-template-columns:1fr; gap:16px; }
	.hd-mt-steps .hd-mt-arrow{ margin:0 auto; border-width:20px 14px 0 14px; border-color:var(--color-accent) transparent transparent transparent; }
}

/* メタトロン／ゴッドクリーナー：YouTube動画 */
.grm-page-content .hd-mt-video{
	position:relative;
	aspect-ratio:16 / 9;
	overflow:hidden;
	border-radius:8px;
	background:#000;
	box-shadow:0 8px 24px rgba(90,61,40,.18);
}
.grm-page-content .hd-mt-video iframe{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}

/* テレビ放映実績（文字）・掲載が1誌のとき */
.hd-mt-tv{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:24px;
}
.grm-page-content .hd-mt-tv h3{
	margin:0 0 16px;
	padding-bottom:12px;
	border-bottom:1px dashed var(--color-border);
	font-size:20px;
}
.hd-mt-tv dl{
	margin:0;
}
.hd-mt-tv dl div{
	padding:12px 0;
	border-bottom:1px dashed var(--color-border);
}
.hd-mt-tv dl div:last-child{
	border-bottom:0;
}
.hd-mt-tv dt{
	margin:0;
	font-size:16px;
	font-weight:500;
	color:var(--color-main);
}
.hd-mt-tv dd{
	margin:4px 0 0;
	font-size:16px;
	line-height:1.8;
	color:var(--color-sub);
}
.hd-mt-mags.is-single{
	display:block;
}
.hd-mt-mags.is-single .hd-mt-mag{
	width:calc((100% - 72px) / 4);
	margin:0 auto;
}
@media (max-width:768px){
	.hd-mt-tv{ grid-template-columns:1fr; }
	.hd-mt-mags.is-single .hd-mt-mag{ width:calc((100% - 16px) / 2); }
}

/* =========================================
   サイトマップ：項目ごとにライン＋アイコン
========================================= */
.grm-page-content .grm-sitemap > ul{
	border-top:1px solid var(--color-border);
}
.grm-page-content .grm-sitemap li{
	margin:0 !important;
	padding:0;
}
.grm-page-content .grm-sitemap a{
	position:relative;
	display:block;
	padding:16px 12px;
	border-bottom:1px solid var(--color-border);
	color:var(--color-main);
	text-decoration:none;
	transition:background .2s;
}
.grm-page-content .grm-sitemap a:hover{
	background:var(--color-accent-soft);
}
.grm-page-content .grm-sitemap ul ul a{
	padding-left:36px;
}
.grm-page-content .grm-sitemap ul ul{
	margin:0 !important;
	padding:0 !important;
}

/* ゴッドクリーナー：POINT図解はバッジが図に重ならないよう、バッジをほぼ図の下に出す */
.page-id-34 .grm-page-content .hd-mt-feature figure{
	margin-bottom:88px;
}
.page-id-34 .grm-page-content .hd-mt-feature .hd-mt-num{
	bottom:-68px;
}

/* single：カテゴリー名はタイトル下の小さなチップ */
.grm-single-meta{
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:12px;
}
.grm-single-chip{
	display:inline-block;
	padding:2px 14px;
	border-radius:999px;
	background:#fdecd0;
	color:#b85f08;
	font-size:14px;
	line-height:1.6;
	letter-spacing:.08em;
}
.grm-single-head{
	row-gap:0;
}
