@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/* ============================================================
   法泉寺カスタムCSS（2026-08-25 カスタマイザーから移設）
   ・従来は「追加CSS」に入れていたため全ページのHTMLに87KB分が毎回埋め込まれていた
   ・外部ファイル化してブラウザにキャッシュさせるためここへ移動
   ・編集はこのファイルで行う（カスタマイザーの追加CSSは空にしてある）
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600&display=swap");

/* 法泉寺 追加CSS 全文（v63 クリーン版）
   v58→v59「白と墨」→v60-62「造形と色」の全変更を整理統合したもの
   ── 設計の要点 ──
   ・地は純白。本文は墨 #2B2723、罫は #DDD8CC 1px、角丸・影なし
   ・色は【ページ色システム】--pgc のRGBで管理。
     法座・仏事=香色 / 墓・アクセス=生成り / 寺院=藤鼠 / 問合せ=朱 / 記事=藤
   ・強弱：淡い面（帯・有機形）×濃い短帯・短線・朱の電話番号
   ・濃度は【色の強さ】変数で一括調整可
   ・歌・寺紋・寺号・慶讃ロゴ・全文言は不変 */

/* ===== 設計変数 ===== */
:root {
  --hsj-ink: #2B2723;
  --hsj-mut: #6E6656;
  --hsj-line: #DDD8CC;
  --hsj-line-soft: #EFECE4;
  --hsj-acc: #6F5137;
  --hsj-acc-deep: #5C4430;
  --hsj-shu: #8F2E14;
  --hsj-fuji: #8A7A9E;
  --hsj-kou: #B58F63;
  --hsj-card: #FFFFFF;
  --hsj-sec: clamp(96px, 12vh, 160px);
  --hsj-sec-sp: 72px;
  --hsj-w-text: 720px;
  /* 色の強さ（下層ページ色の濃度） */
  --a-title: .24;   /* タイトル帯 */
  --a-h2: .16;      /* h2帯 */
  --a-band: .13;    /* アコーディオン帯 */
  --a-th: .18;      /* 表の頭 */
  --a-hover: .24;   /* hover */
  --a-blob1: .3;    /* 有機形大 */
  --a-blob2: .16;   /* 有機形小 */
}
@media (max-width: 1023px) { :root { --hsj-sec: 88px; } }
/* ページ色（RGB） */
body:not(.home){--pgc:185,166,127}
body.page-id-24{--pgc:181,143,99}
body.page-id-26, body.page-id-28{--pgc:185,166,127}
body.page-id-22{--pgc:150,132,170}
body.page-id-30{--pgc:143,46,20}
body.page-id-13, body.single{--pgc:138,122,158}
body:not(.home){
  --hsj-th: rgba(var(--pgc), var(--a-th));
  --hsj-band: rgba(var(--pgc), var(--a-band));
  --hsj-hover: rgba(var(--pgc), var(--a-hover));
  --hsj-tbl: #FFFFFF;
}
body.home{--hsj-th:#FFFFFF;--hsj-band:#FFFFFF;--hsj-hover:#F7F5EF;--hsj-tbl:#FFFFFF}

/* ===== 基本 ===== */
body {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", serif;
  color: var(--hsj-ink);
  line-height: 1.9;
  letter-spacing: .05em;
  background: #FFFFFF !important;
}
::selection{background:rgba(143,46,20,.14)}
@keyframes hsjPageIn{from{opacity:0}to{opacity:1}}
body{animation:hsjPageIn .5s ease-out}
html, body { overflow-x: hidden; }

/* ===== レイアウト:全幅 ===== */
#container { max-width: none; margin: 0; background: transparent !important; box-shadow: none; }
#container #content-in { max-width: 1160px; margin: 0 auto; }
#header, #header-container, .header-container, .header-container-in,
.header, #navi, .navi, .navi-in, .navi-in > ul,
.wrap, .main-wrap, .main, .sidebar { background: transparent !important; box-shadow: none; }
#container .wrap { width: auto; max-width: 100%; }
#sidebar { display: none; }
.main { width: 100% !important; }

/* ===== 寺院名(共通) ===== */
.header-container-in.hlt-top-menu .tagline,
.tagline { display: block; color: var(--hsj-mut) !important; font-size: 16px; letter-spacing: .3em; margin: 0 0 6px; }
.logo-header .site-name { padding: 0 !important; margin: 0 !important; }
.site-name-text { font-size: 0 !important; letter-spacing: 0; }
.site-name-text::before { content: "明照山"; font-size: 25px; letter-spacing: .25em; color: var(--hsj-mut); margin-right: 16px; }
.site-name-text::after { content: "法泉寺"; font-size: 60px; letter-spacing: .25em; color: var(--hsj-ink); font-weight: 500; }

/* ===== PC(1024px以上):左固定サイドバー ===== */
:root {
  --hsj-side: clamp(210px, 16vw, 300px);
  --hsj-crest-top: clamp(30px, 3.8vh, 38px);
  --hsj-crest: clamp(52px, 10.5vh, 110px);
  --hsj-namefont: clamp(20px, 3.5vh, 42px);
  --hsj-namecol: calc(var(--hsj-namefont) * 8.8);
  --hsj-keisan: clamp(110px, 16vh, 180px);
}
@media (min-width: 1024px) {
  body::before { content: ""; position: fixed; top: 0; left: 0; width: var(--hsj-side); height: 100vh; background: #FFFFFF; border-right: 1px solid var(--hsj-line); z-index: 900; }
  body { background: #FFFFFF !important; }
  #header { background: none !important; padding: 0 !important; }
  .header-in { position: fixed; top: 0; left: 0; width: var(--hsj-side); z-index: 901; display: block !important; min-height: auto !important; height: auto !important; margin: 0; padding: 0; }
  .header-in::before { content: ""; position: fixed; top: var(--hsj-crest-top); left: calc((var(--hsj-side) - var(--hsj-crest)) / 2); width: var(--hsj-crest); height: var(--hsj-crest); background: url('https://howsenji.com/wp-content/uploads/2026/07/fuji-clear.png') no-repeat center / contain; z-index: 902; }
  .tagline { display: none !important; }
  .logo-header { position: fixed !important; top: calc(var(--hsj-crest-top) + var(--hsj-crest)) !important; left: 0 !important; right: auto !important; bottom: auto !important; width: var(--hsj-side) !important; height: calc(var(--hsj-namecol) + 20px) !important; margin: 0 !important; padding: 0 !important; transform: none !important; display: flex !important; flex-direction: row-reverse !important; justify-content: center !important; align-items: flex-start !important; gap: 10px !important; z-index: 902 !important; }
  .logo-header::before { content: ""; flex: 0 0 auto; width: calc(var(--hsj-namecol) * .3); height: calc(var(--hsj-namecol) * .82); margin-top: 6px; transform: translateX(calc(var(--hsj-namefont) * -.55)); background: url('https://howsenji.com/wp-content/uploads/2026/07/jodo_shinshu_honganjiha_vertical_transparent_v2.png') no-repeat top center / contain; }
  .logo-header .site-name { position: static !important; top: auto !important; left: auto !important; margin: 0 !important; padding: 0 !important; display: block !important; flex: 0 0 auto; width: calc(var(--hsj-namecol) * .52); height: var(--hsj-namecol) !important; transform: translateX(calc(var(--hsj-namefont) * .55)) !important; background: url('https://howsenji.com/wp-content/uploads/2026/07/meishozan_housenji_vertical_transparent.png') no-repeat top center / contain; }
  .logo-header .site-name-text { display: none !important; }
  #navi { position: fixed; top: calc(var(--hsj-crest-top) + var(--hsj-crest) + var(--hsj-namecol) + 14px); left: 0; width: var(--hsj-side); z-index: 901; }
  .navi-in > ul { display: block; padding: 0 30px; margin: 0; }
  .navi-in > ul li { width: auto; height: auto; float: none; border-bottom: 1px solid var(--hsj-line-soft); }
  .navi-in > ul li:first-child { border-top: 1px solid var(--hsj-line-soft); }
  .navi-in > ul > li > a { -webkit-writing-mode: horizontal-tb; writing-mode: horizontal-tb; display: block; height: auto !important; line-height: 1.5; padding: clamp(4px, .9vh, 11px) 0; text-align: center; font-size: clamp(11px, 1.4vh, 14px); letter-spacing: .22em; color: var(--hsj-ink) !important; }
  .navi-in > ul > li > a:hover { background: transparent !important; color: var(--hsj-acc) !important; }
  .navi-in::after { content: "〒728-0406\A広島県三次市君田町櫃田772\ATEL 0824-53-2647"; white-space: pre; position: fixed; left: 0; bottom: clamp(12px, 2vh, 22px); width: var(--hsj-side); text-align: center; font-size: clamp(9px, 1.3vh, 11px); line-height: 1.8; letter-spacing: .04em; color: var(--hsj-mut); z-index: 901; }
  .logo-header::after { content: ""; position: fixed; left: calc((var(--hsj-side) - var(--hsj-keisan)) / 2); bottom: clamp(48px, 9vh, 108px); width: var(--hsj-keisan); height: calc(var(--hsj-keisan) / 2.035); background: url('https://howsenji.com/wp-content/uploads/2026/07/%E3%82%AB%E3%83%A9%E3%83%BC%E6%A8%AA%EF%BC%91-768x377.jpg') no-repeat center / contain; z-index: 901; }
  #content { margin-left: var(--hsj-side); }
  .footer { margin-left: var(--hsj-side); }
  #container #content-in { max-width: none; margin: 0; }
}
/* ナビ現在地（朱の短線） */
.navi-in > ul > li.current-menu-item > a,
.navi-in > ul > li.current_page_item > a{color:var(--hsj-ink) !important;font-weight:600}
.navi-in > ul > li.current-menu-item > a::after,
.navi-in > ul > li.current_page_item > a::after{content:'';display:block;width:16px;height:1px;background:var(--hsj-shu);margin:3px auto 0}

@media (min-width: 1024px) {
  body:not(.home) .article { max-width: 1680px; margin: 0 auto; padding-left: 60px; padding-right: 60px; box-sizing: border-box; }
  /* 文章系は約40字幅 */
  body:not(.home) .article .entry-content > p,
  body:not(.home) .article .entry-content > ul,
  body:not(.home) .article .entry-content > ol,
  body:not(.home) .article .entry-content > h3,
  body:not(.home) .article .entry-content > h4,
  body:not(.home) .article .entry-content > blockquote,
  body:not(.home) .article .entry-content > .toc,
  body:not(.home) .article .entry-content > details,
  body:not(.home) .article > header {
    max-width: var(--hsj-w-text);
    margin-left: auto;
    margin-right: auto;
  }
  /* 既定:ブロック類は従来幅で中央 */
  body:not(.home) .article .entry-content > figure,
  body:not(.home) .article .entry-content > .wp-block-table,
  body:not(.home) .article .entry-content > .wp-block-group,
  body:not(.home) .article .entry-content > .wp-block-columns,
  body:not(.home) .article .entry-content > table,
  body:not(.home) .article .entry-content > [class*="hsj-"] {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
  }
  /* 【全幅】 */
  body:not(.home) .article .entry-content > figure.wp-block-image,
  body:not(.home) .article .entry-content > .hsj-onegai,
  body:not(.home) .article .entry-content > .hsj-flow,
  body:not(.home) .article .entry-content > .hsj-wide { max-width: none; }
  /* 【表ブロックの個別幅】新しいブロックはここに1行足す */
  body:not(.home) .article .entry-content > .hsj-gaiyou { max-width: 700px; }
  body:not(.home) .article .entry-content > .hsj-rekidai { max-width: 820px; }
  body:not(.home) .article .entry-content > .hsj-kyosho { max-width: 900px; }
  body:not(.home) .article .entry-content > .hsj-houyou,
  body:not(.home) .article .entry-content > .hsj-fee { max-width: 820px; }
  body:not(.home) .article .entry-content > .hsj-ohl,
  body:not(.home) .article .entry-content > .hsj-yomi,
  body:not(.home) .article .entry-content > .hsj-kata,
  body:not(.home) .article .entry-content > .hsj-fee2,
  body:not(.home) .article .entry-content > .hsj-boti,
  body:not(.home) .article .entry-content > .hsj-prof,
  body:not(.home) .article .entry-content > .hsj-hyo { max-width: 820px; }
  body:not(.home) .article .entry-content > figure.wp-block-table { max-width: 860px; }
  /* 【狭幅】 */
  body:not(.home) .article .entry-content > .hsj-narrow { max-width: var(--hsj-w-text); margin-left: auto; margin-right: auto; }
}
@media (min-width: 1024px) and (max-height: 669px) { .logo-header::after { content: none; } }

/* ===== タブレット以下(1023px以下) ===== */
@media (max-width: 1023px) {
  body { background: transparent !important; }
  body::before { content: ""; position: fixed; inset: 0; z-index: -1; background: #FFFFFF; }
  .header-container-in.hlt-top-menu,
  #header, .header-in, .logo-header { width: 100% !important; max-width: 100% !important; }
  #header, .logo-header, .tagline, .site-name, .header-in { text-align: center !important; }
  .header-in { display: block !important; min-height: auto !important; }
  .logo-header { display: block !important; }
  .logo-header .site-name { display: inline-block; }
  .tagline { font-size: 0 !important; height: 72px; margin: 0 auto 12px; background: url('https://howsenji.com/wp-content/uploads/2026/07/jodo_shinshu_honganjiha_horizontal_transparent.png') no-repeat center / contain; }
  .site-name-text { display: block; width: min(380px, 88vw); height: 72px; margin: 0 auto; background: url('https://howsenji.com/wp-content/uploads/2026/07/meishozan_housenji_horizontal_transparent.png') no-repeat center / contain; }
  .site-name-text::before, .site-name-text::after { content: none; }
  #header::after { content: ""; display: block; width: 200px; height: 98px; margin: 10px auto 0; background: url('https://howsenji.com/wp-content/uploads/2026/07/%E3%82%AB%E3%83%A9%E3%83%BC%E6%A8%AA%EF%BC%91-768x377.jpg') no-repeat center / contain; }
  #navi { display: none; }
  #header { background: url('https://howsenji.com/wp-content/uploads/2026/07/fuji-clear.png') no-repeat center 20px / 56px auto !important; padding: 88px 16px 20px; }
  /* モバイル実機のヘッダー・固定バーは白に */
  #header, .header-container, .header-container-in, .hsj-headrow, .hsj-nameblock,
  .mobile-header-menu-buttons, .mobile-menu-buttons { background-color:#FFFFFF !important; background-image:none !important; }
  .mobile-header-menu-buttons{border-bottom:1px solid var(--hsj-line)}
  .mobile-menu-buttons .menu-button, .mobile-menu-buttons > li{background:transparent !important}
}
.hsj-mbar{background-color:#FFFFFF !important;border-bottom:1px solid var(--hsj-line) !important;box-shadow:none !important}
[class*="hsj-mbar"]:not(.hsj-mbar){background-color:transparent !important}
@media (max-width: 760px) {
  .site-name-text::before { font-size: 14px; margin-right: 11px; }
  .site-name-text::after { font-size: 27px; }
}
#navi-menu-content { width: 260px !important; max-width: 72vw !important; }
@media (hover: none) and (max-width: 1023px), (pointer: coarse) and (max-width: 1023px) {
  #navi { display: none !important; }
  .mobile-menu-buttons { display: flex !important; }
}

/* ===== スライドショー ===== */
#appeal .hsj-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1s ease-in-out; z-index: 0; }
#appeal .hsj-slide.is-active { opacity: 1; }
:root { --hsj-hero-edge: 3%; }
#appeal .hsj-slide {
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 var(--hsj-hero-edge), #000 calc(100% - var(--hsj-hero-edge)), transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 var(--hsj-hero-edge), #000 calc(100% - var(--hsj-hero-edge)), transparent 100%);
  mask-image:
    linear-gradient(to right, transparent 0, #000 var(--hsj-hero-edge), #000 calc(100% - var(--hsj-hero-edge)), transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 var(--hsj-hero-edge), #000 calc(100% - var(--hsj-hero-edge)), transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
/* サムネイル：控えめ・モバイルは横スクロール */
.hsj-thumb{width:66px !important;height:44px !important;border-radius:0 !important;opacity:.45 !important;filter:saturate(.6) contrast(.95);transition:opacity .3s ease}
.hsj-thumb:hover{opacity:.85 !important}
.hsj-thumb.is-current{opacity:1 !important;outline:1px solid var(--hsj-ink);outline-offset:2px;filter:none}
.hsj-thumbs{gap:10px !important;margin-top:16px !important}
@media (max-width: 1023px){
  .hsj-thumbs{overflow-x:auto !important;flex-wrap:nowrap !important;justify-content:flex-start !important;padding:2px 16px 6px !important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hsj-thumbs::-webkit-scrollbar{display:none}
}
@media (max-width: 760px){
  .hsj-thumbs{gap:8px !important;margin-top:12px !important}
  .hsj-thumb{width:48px !important;height:32px !important;flex:0 0 48px !important}
}

/* ===== メインビジュアル ===== */
#appeal { background: transparent !important; max-height: 110vh; margin: 0 auto; aspect-ratio: 3 / 2; height: auto; position: relative; overflow: hidden; }
#appeal .appeal-in { display: block; position: absolute; inset: 0; z-index: 2; pointer-events: none; margin: 0; width: 100%; height: 100%; }
#appeal .appeal-content, #appeal .appeal-title, #appeal .appeal-message { background: transparent !important; }
#appeal .appeal-content { position: absolute; left: 40px; bottom: 32px; width: fit-content; max-width: calc(100% - 80px); margin: 0; padding: 0; text-align: left; --hsj-uta: clamp(15px, 4.2vw, 19px); }
#appeal .appeal-title { font-family: "Noto Serif JP", serif; font-size: var(--hsj-uta); font-weight: 500; letter-spacing: .18em; line-height: 1.9; color: #FBF7EC; text-shadow: 0 1px 3px rgba(30,24,15,.8), 0 2px 14px rgba(30,24,15,.5); margin: 0; }
.hsj-sp-br { display: inline; }
@media (min-width: 1024px) {
  body #appeal { margin: 0 0 0 var(--hsj-side); width: auto; max-width: none; aspect-ratio: auto; height: 100vh; max-height: none; }
  #appeal .appeal-content { left: auto; right: 48px; top: 40px; bottom: auto; -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; max-height: calc(100% - 80px); --hsj-uta: clamp(24px, 3.4vh, 34px); }
  #appeal .appeal-title { line-height: 2.0; letter-spacing: .2em; }
  #appeal .appeal-message { margin: 0 12px 0 0; }
}
#appeal .appeal-message { font-size: calc(var(--hsj-uta) * .8); letter-spacing: .25em; color: #F0EBDE; text-shadow: 0 1px 3px rgba(30,24,15,.8); text-align: right; margin: 8px 0 0; padding: 0; }
@media (max-width: 1023px) {
  #appeal .appeal-content { left: 16px; bottom: 14px; max-width: calc(100% - 32px); }
  #appeal .appeal-title { line-height: 1.8; }
  #appeal .appeal-message { margin-top: 5px; }
}
/* 歌の下地（行ごとの白帯） */
#appeal .appeal-content{ background: transparent !important; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; padding: 0; }
#appeal .appeal-title .hsj-uta-l,
#appeal .appeal-message p{ display: inline; background: rgba(255, 255, 255, .88) !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding-inline: .35em; padding-block: .2em; border-radius: 2px; }
#appeal .appeal-title .hsj-uta-in2{ margin-inline-start: 1.7em; }
#appeal .appeal-title{ color: #3B342B; text-shadow: none; }
#appeal .appeal-message{ color: #4A423A; text-shadow: none; }
/* 白抜き寺紋（写真スライド時のみ・PCのみ） */
#appeal::before{content:'';position:absolute;left:52px;bottom:44px;width:132px;height:132px;background:url('https://howsenji.com/wp-content/uploads/2026/07/fuji-clear.png') center/contain no-repeat;filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(20,15,8,.45));opacity:.92;z-index:3;transition:opacity .8s ease}
#appeal:has(.hsj-slide.is-light.is-active)::before{opacity:0}
@media (max-width:1023px){#appeal::before{content:none !important}}
/* スクロール合図 */
#appeal::after{content:'';position:absolute;left:50%;bottom:0;width:1px;height:72px;background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.95));z-index:3;animation:hsjCue 2.8s ease-in-out infinite}
@keyframes hsjCue{0%{transform:translateY(-24px);opacity:0}35%{opacity:1}75%{opacity:1}100%{transform:translateY(10px);opacity:0}}

/* ===== 写真の体系（v63） =====
   既定: 右下アール48px＋トーン統一（彩度-6%）。縁ぼかしは廃止し class 指定制に
   ブロックの「追加CSSクラス」で選べる:
   .hsj-ph-maru  = 有機的な形（大きな石のような輪郭）
   .hsj-ph-en    = 正円（正方形寄りの写真向き）
   .hsj-ph-kado  = 右下アール大(72px)
   .hsj-ph-fade  = 旧来の縁ぼかし
   .hsj-ph-plain = 加工なしの直角 */
.article figure.wp-block-image img{
  border-radius:0 0 48px 0;
  filter:saturate(.94);
  -webkit-mask-image:none;mask-image:none;
}
.article figure.hsj-ph-maru img{border-radius:58% 42% 52% 48% / 46% 56% 44% 54% !important}
.article figure.hsj-ph-en img{border-radius:50% !important;aspect-ratio:1/1;object-fit:cover}
.article figure.hsj-ph-kado img{border-radius:0 0 72px 0 !important}
.article figure.hsj-ph-plain img{border-radius:0 !important;filter:none}
.article figure.hsj-ph-fade img{
  border-radius:0 !important;
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:
    linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
/* 各下層ページ冒頭の写真は既定で有機形（class指定で上書き可） */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type:not(.hsj-ph-plain):not(.hsj-ph-fade):not(.hsj-ph-kado):not(.hsj-ph-en) img{
  border-radius:58% 42% 52% 48% / 46% 56% 44% 54%;
}
.hsj-fade img{
  -webkit-mask-image:
    linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image:
    linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%),
    linear-gradient(to bottom, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
body:not(.home) .article figure.wp-block-image { width: 100% !important; max-width: 100% !important; margin: 2.4em 0; }
body:not(.home) .article figure.wp-block-image img { width: 100%; height: auto; }
body:not(.home) .article p { margin: 1.5em 0; }
body:not(.home) .article ul, body:not(.home) .article ol { margin: 1.5em 0; }
body:not(.home) .article li { margin: .5em 0; }
body:not(.home) .article figure.wp-block-table { margin: 2.4em auto; }

/* ===== 下層：ページ色の帯と面 ===== */
body:not(.home) .entry-title {
  text-align: center; letter-spacing: .22em; font-family: "Noto Serif JP", serif;
  font-size: 2.1em; font-weight: 500;
  background: rgba(var(--pgc), var(--a-title));
  margin: 0 calc(50% - 50vw) 1.8em;
  padding: 1.5em 24px 1.6em;
  position: relative; z-index: 1;
}
body:not(.home) .entry-title::before{content:'';display:block;width:36px;height:4px;background:rgb(var(--pgc));margin:0 auto .85em}
body:not(.home) .article{position:relative}
body:not(.home) .article::before{content:'';position:absolute;top:-20px;right:2%;width:clamp(220px,26vw,430px);height:clamp(190px,22vw,370px);background:rgba(var(--pgc),var(--a-blob1));border-radius:58% 42% 52% 48% / 46% 56% 44% 54%;z-index:0;pointer-events:none}
body:not(.home) .article::after{content:'';position:absolute;bottom:6%;left:-4%;width:clamp(170px,18vw,320px);height:clamp(150px,16vw,280px);background:rgba(var(--pgc),var(--a-blob2));border-radius:45% 55% 60% 40% / 55% 45% 52% 48%;z-index:0;pointer-events:none}
body:not(.home) .entry-content{position:relative;z-index:1}
@media (max-width: 760px) {
  body:not(.home) .entry-title { font-size: 1.8em; padding:1.2em 16px 1.3em; }
}

/* ===== 見出し ===== */
body:not(.home) .article h2 {
  background: rgba(var(--pgc), var(--a-h2));
  margin: 4.2em calc(50% - 50vw) 1.8em;
  padding: 1em 24px;
  text-align: center; font-size: 1.65em; font-weight: 500; letter-spacing: .24em; color: var(--hsj-ink);
  position: relative;
}
body:not(.home) .article h2::after{content:'' !important;display:block !important;width:44px;height:2px;background:rgba(var(--pgc), .85);margin:.7em auto 0}
.home .article h2 { background: none; padding: .25em 0; margin: 4.2em 0 1.6em; text-align: center; font-size: 1.65em; font-weight: 500; letter-spacing: .24em; color: var(--hsj-ink); }
.home .article h2::after { content: none; }
.article h3 { border: none; border-bottom: 1px solid var(--hsj-line); padding: .2em 0 .55em; margin: 3em 0 1.1em; font-size: 1.2em; font-weight: 600; letter-spacing: .12em; }
@media (max-width: 760px) {
  body:not(.home) .article h2 { font-size: 1.45em; padding:.85em 16px; }
  .article h3 { font-size: 1.15em; margin: 2.4em 0 .9em; }
}
.article h3::first-letter { font-size: 1em; font-weight: 600; color: inherit; }

/* ===== ページタイトル(トップ以外の共通・ホームは非表示) ===== */
.home .entry-title, .home .toc { display: none; }

/* ===== リンクとボタン ===== */
a { color: var(--hsj-acc); }
a:hover { color: var(--hsj-acc-deep); }
.article p > a:only-child { display: inline-block; padding: .1em .1em .35em; border: none; border-bottom: 1px solid var(--hsj-acc); border-radius: 0; color: var(--hsj-acc); letter-spacing: .1em; text-decoration: none; transition: color .25s ease; }
.article p > a:only-child:hover { background-color: transparent; color: var(--hsj-acc-deep); }

/* ===== 表 ===== */
.article table th { background-color: var(--hsj-th); }
.article table th, .article table td { border-color: var(--hsj-line); }
.article figure.wp-block-table th,
.article figure.wp-block-table td { border-left: none; border-right: none; border-top: none; border-bottom: 1px solid var(--hsj-line); background-clip: padding-box; }
.article figure.wp-block-table th { border-bottom: 2px solid var(--hsj-ink); background-color: var(--hsj-th); }
.article figure.wp-block-table table:has(tr > :nth-child(2):last-child) th:first-child,
.article figure.wp-block-table table:has(tr > :nth-child(2):last-child) td:first-child { width: 30%; white-space: nowrap; }
.page-id-24 figure.wp-block-table table th:first-child,
.page-id-24 figure.wp-block-table table td:first-child { width: 30%; white-space: nowrap; }
.article figure.wp-block-table tr:hover td,
.hsj-gy-table tr:hover td,.hsj-fee2-table tr:hover td,
.hsj-boti-table tr:hover td,.hsj-rekidai2-table tr:hover td,
.hsj-kyosho2-table tr:hover td,.hsj-gaiyou tr:hover td,
.hsj-houyou tr:hover td{background:var(--hsj-hover)}
body:not(.home) .article .hsj-rekidai th, body:not(.home) .article .hsj-rekidai td,
body:not(.home) .article .hsj-houyou th, body:not(.home) .article .hsj-houyou td,
body:not(.home) .article .hsj-fee th, body:not(.home) .article .hsj-fee td,
body:not(.home) .article figure.wp-block-table th,
body:not(.home) .article figure.wp-block-table td { text-align: center; vertical-align: middle; font-size: clamp(15px, .95vw, 17px); padding: .8em .8em; line-height: 1.8; }
body:not(.home) .article .hsj-kyosho table th, body:not(.home) .article .hsj-kyosho table td,
body:not(.home) .article .hsj-gaiyou table th, body:not(.home) .article .hsj-gaiyou table td { text-align: center !important; vertical-align: middle !important; }
body:not(.home) .article .hsj-kyosho table th *, body:not(.home) .article .hsj-kyosho table td *,
body:not(.home) .article .hsj-gaiyou table th *, body:not(.home) .article .hsj-gaiyou table td * { text-align: center !important; }
body:not(.home) .article .hsj-kyosho, body:not(.home) .article .hsj-gaiyou { text-align: center !important; }

/* ===== アコーディオン(detailsブロック) ===== */
.article details { border: 1px solid var(--hsj-line); border-radius: 0; background: var(--hsj-card); margin: 1.2em 0; padding: 0; overflow: hidden; }
.article details > summary { list-style: none; cursor: pointer; padding: 1em 3em 1em 1.3em; position: relative; font-size: 1.05em; letter-spacing: .08em; color: var(--hsj-ink); background: var(--hsj-band); }
.article details > summary::-webkit-details-marker { display: none; }
.article details > summary::after { content: ""; position: absolute; right: 1.3em; top: 50%; width: 10px; height: 10px; border-right: 1.5px solid var(--hsj-acc); border-bottom: 1.5px solid var(--hsj-acc); transform: translateY(-70%) rotate(45deg); transition: transform .3s ease; }
.article details[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.article details > summary:hover { background: var(--hsj-hover); }
.article details > *:not(summary) { padding: 0 1.3em; }
.article details > *:last-child { padding-bottom: 1.2em; }
/* アコーディオン見出しの装飾打ち消し */
.article details.hsj-acc > summary h2.hsj-acc-ttl{ background: none !important; background-image: none !important; border: none !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; text-align: left !important; line-height: 1.5 !important; font-size: clamp(18px, 1.35vw, 21px) !important; letter-spacing: .14em !important; }
.article details.hsj-acc > summary h2.hsj-acc-ttl::before,
.article details.hsj-acc > summary h2.hsj-acc-ttl::after{ content: none !important; display: none !important; }
.article details.hsj-acc > summary{ padding: 1.15em 3.2em 1.15em 1.6em !important; }

/* ===== 目次・告知 ===== */
body:not(.home) .article .toc{ max-width: var(--hsj-w-text); background: var(--hsj-card); border: 1px solid var(--hsj-line); border-radius: 0; }
body:not(.home) .article .toc .toc-list ol, body:not(.home) .article .toc .toc-list ul{ display: none; }
.article .hsj-notice { box-sizing: border-box; max-width: 1180px; padding: 28px 34px; }

/* ===== トップ:全幅セクション ===== */
.home .main { padding: 0 !important; }
.home .entry-content { margin: 0; }
.home .article { padding: 0; margin: 0; max-width: none; }

/* ===== トップ:クリード帯（色の面つき） ===== */
.hsj-creed-band{ display: none; position:relative; }
@media (min-width: 1024px){
  .hsj-creed-band{ display: block; margin: 0; padding: clamp(72px, 10vh, 120px) 60px clamp(64px, 9vh, 104px); text-align: center; }
  .article .hsj-creed-band p{ margin: 0; font-family: "Noto Serif JP", serif; font-weight: 500; font-size: clamp(21px,1.9vw,30px); line-height: 2.0; letter-spacing: .2em; color: var(--hsj-ink); position:relative;z-index:1; }
  .article .hsj-creed-band .l2{ margin-top: 1em; font-size: clamp(15px, 1.15vw, 20px); letter-spacing:.16em; color: var(--hsj-acc); }
}
.hsj-creed-band::before{content:'';position:absolute;left:14%;top:8%;width:380px;height:300px;background:rgba(150,132,170,.18);border-radius:62% 38% 55% 45% / 48% 60% 40% 52%;z-index:0;pointer-events:none}
.hsj-creed-band::after{content:'';position:absolute;right:14%;bottom:-6%;width:220px;height:190px;background:rgba(143,46,20,.14);border-radius:45% 55% 60% 40% / 55% 45% 52% 48%;z-index:0;pointer-events:none}
.appeal-message .hsj-appeal-creed{ display: none !important; }

/* ===== トップ:主要導線 hsj-lead ===== */
.hsj-lead { position:relative; padding: 48px 20px var(--hsj-sec-sp); }
@media (min-width: 1024px) { .hsj-lead { padding: clamp(48px, 6vh, 72px) 60px var(--hsj-sec); } }
.hsj-lead::before{content:'';position:absolute;right:-3%;top:-30px;width:clamp(220px,30vw,460px);height:clamp(190px,26vw,400px);background:rgba(216,196,156,.55);border-radius:55% 45% 60% 40% / 50% 58% 42% 50%;z-index:0;pointer-events:none}
.hsj-lead-in { position:relative;z-index:1; max-width: 1120px; }
.hsj-lead-item { border-top-color: var(--hsj-line); }
.hsj-lead-item:last-child { border-bottom-color: var(--hsj-line); }
@media (min-width: 1024px) { .hsj-lead-item + .hsj-lead-item { border-left-color: var(--hsj-line); } }
.hsj-lead-en { font-size: 13px !important; letter-spacing: .44em !important; color: var(--hsj-acc) !important; padding-left: 0 !important; }
.hsj-lead-en::before { content: none !important; }
.hsj-lead .hsj-lead-title { font-size: clamp(19px, 4.2vw, 22px) !important; letter-spacing: .1em !important; color: var(--hsj-ink); }
@media (min-width: 1024px) { .hsj-lead .hsj-lead-title { font-size: 21px !important; } }
.hsj-lead .hsj-lead-text { color: var(--hsj-mut); }
.hsj-lead-btnwrap { padding-left: 0 !important; }
.hsj-lead-btnwrap::before { content: none !important; }
body .article .hsj-lead p > a.hsj-lead-btn{display:inline-flex !important;width:auto !important;max-width:none !important;min-height:0 !important;padding:2px 2px 7px !important;border:0 !important;border-bottom:1px solid var(--hsj-acc) !important;border-radius:0 !important;background:transparent !important;color:var(--hsj-acc) !important;font-size:14.5px !important;letter-spacing:.16em !important;justify-content:flex-start !important}
body .article .hsj-lead p > a.hsj-lead-btn:hover{background:transparent !important;color:var(--hsj-acc-deep) !important}

/* ===== トップ:ご挨拶 hsj-ais ===== */
.hsj-ais { margin-top: 0 !important; padding-top: 8px !important; padding-bottom: var(--hsj-sec-sp) !important; position:relative; overflow:hidden; }
@media (min-width: 1024px) { .hsj-ais { padding-bottom: var(--hsj-sec) !important; } }
.hsj-ais::before{content:'';position:absolute;right:-6%;top:-8%;width:480px;height:480px;background:url('https://howsenji.com/wp-content/uploads/2026/07/fuji-clear.png') center/contain no-repeat;filter:grayscale(1);opacity:.05;pointer-events:none}
.hsj-ais .hsj-ais-acc > summary::after{ position:static !important; right:auto !important; top:auto !important; margin-left:.1em; }

/* ===== トップ:新着3列(hsj-news-v1) ===== */
.hsj-nw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin: 0; padding: 0 20px var(--hsj-sec-sp); }
@media (min-width: 1024px) { .hsj-nw { max-width: 1180px; margin: 0 auto; gap: 56px; padding: 0 60px var(--hsj-sec); } }
.hsj-nw-col { display: flex; flex-direction: column; }
.hsj-nw-head { position: relative; padding: 0 0 12px; margin: 0 0 6px; font-size: clamp(15px, 1.05vw, 17px); letter-spacing: .3em; color: var(--hsj-ink); border-bottom: 2px solid var(--hsj-ink); }
.hsj-nw-head::before { content: none; }
.hsj-nw-col:nth-child(1) .hsj-nw-head{border-bottom-color:var(--hsj-fuji)}
.hsj-nw-col:nth-child(2) .hsj-nw-head{border-bottom-color:var(--hsj-kou)}
.hsj-nw-col:nth-child(3) .hsj-nw-head{border-bottom-color:var(--hsj-shu)}
.hsj-nw-col:nth-child(1) .hsj-nw-list a:hover{color:var(--hsj-fuji)}
.hsj-nw-col:nth-child(3) .hsj-nw-list a:hover{color:var(--hsj-shu)}
.article .hsj-nw a.hsj-nw-more { position: absolute; top: 6px; right: 0; display: inline-block; background: transparent; color: var(--hsj-mut) !important; border: none; border-radius: 0; padding: 0 2px 3px; font-size: 11.5px; letter-spacing: .18em; text-decoration: none; }
.article .hsj-nw a.hsj-nw-more::after{content:" →"}
.article .hsj-nw a.hsj-nw-more:hover { background: transparent; color: var(--hsj-acc) !important; }
.hsj-nw-list { flex: 1 1 auto; background: transparent; border: none; border-radius: 0; padding: 4px 0 0; list-style: none; margin: 0; }
.hsj-nw-list li { border-bottom: 1px solid var(--hsj-line-soft); padding: 18px 0; }
.hsj-nw-list li:last-child { border-bottom: none; }
.hsj-nw-date { display: block; font-size: 12.5px; color: var(--hsj-mut); letter-spacing: .05em; }
.article .hsj-nw .hsj-nw-list a { font-size: clamp(15px, 1.05vw, 17px); line-height: 1.85; text-decoration: none; display: block; transition: color .25s ease; }
.hsj-nw-empty { font-size: 14px; color: var(--hsj-mut); letter-spacing: .05em; }
@media (max-width: 760px) { .hsj-nw { grid-template-columns: 1fr; gap: 32px; } }

/* ===== トップ:ご案内タイル ===== */
.hsj-cards { position:relative; display: grid; grid-template-columns: 1fr 1fr; gap: 56px 48px; margin: 0 auto; max-width: 1160px; padding: 0 20px var(--hsj-sec-sp); }
@media (min-width: 1024px) { .hsj-cards { padding: 0 60px var(--hsj-sec); } }
.hsj-cards::before{content:'';position:absolute;left:-5%;bottom:-30px;width:clamp(200px,26vw,420px);height:clamp(170px,22vw,360px);background:rgba(226,169,124,.4);border-radius:60% 40% 52% 48% / 46% 60% 40% 54%;z-index:0;pointer-events:none}
.hsj-card { position: relative; z-index:1; display: block; background: transparent; border: none; border-radius: 0; overflow: visible; text-decoration: none; color: var(--hsj-ink); }
.hsj-card:hover { color: var(--hsj-ink); box-shadow: none; transform: none; }
.hsj-card-img { display: block; aspect-ratio: 2 / 1; background-size: cover; background-position: center; transition: transform .6s ease, filter .6s ease, border-radius .5s ease; filter: saturate(.97); border-radius:0 0 72px 0; overflow:hidden; }
.hsj-card:hover .hsj-card-img { transform: none; filter: saturate(1.05) brightness(1.02); border-radius:0 0 100px 0; }
.hsj-card-body { position: static; inset: auto; display: block; padding: 20px 0 0; background: transparent; }
.hsj-card:hover .hsj-card-body { background: transparent; }
.hsj-card-title { display: block; border: none; padding: 0; font-size: 18px; letter-spacing: .1em; text-indent: 0; color: var(--hsj-ink); margin: 0 0 .45em; background: transparent; }
.hsj-card-text { display: block; font-size: 13.5px; line-height: 2; color: var(--hsj-mut); margin: 0 0 .9em; }
.hsj-card-more { display: inline-block; font-size: 12.5px; letter-spacing: .14em; color: var(--hsj-acc); border-bottom: 1px solid var(--hsj-acc); padding-bottom: 2px; }
.hsj-card:hover .hsj-card-more { color: var(--hsj-acc-deep); }
@media (max-width: 760px) { .hsj-cards { grid-template-columns: 1fr; gap: 40px; } .hsj-card-img { aspect-ratio: 16 / 9; } }

/* ===== トップ:問い合わせ帯 ===== */
.hsj-cta { background: #FFFFFF; border-top: 1px solid var(--hsj-line); border-bottom: 1px solid var(--hsj-line); border-radius: 0; padding: clamp(56px, 8vh, 88px) 24px; text-align: center; margin: 0; }
@media (min-width: 1024px) { .hsj-cta { padding: clamp(64px, 9vh, 88px) 48px; } }
.hsj-cta-lead { color: var(--hsj-ink); font-size: 14.5px; letter-spacing: .12em; margin: 0 0 28px; }
.hsj-cta-actions { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 24px; flex-wrap: wrap; }
.hsj-cta-tel { color: var(--hsj-shu) !important; font-size: clamp(30px, 2.6vw, 38px); font-weight: 500; letter-spacing: .08em; text-decoration: none; }
.hsj-cta-tel:hover{opacity:.85}
.hsj-cta-btn { display: inline-block; background: transparent; color: var(--hsj-ink) !important; border: 1px solid var(--hsj-ink); padding: 14px 44px; border-radius: 0; text-decoration: none; font-size: 13.5px; letter-spacing: .18em; transition: background-color .25s ease, color .25s ease; }
.hsj-cta-btn:hover { opacity: 1; background: var(--hsj-ink); color: #FFFFFF !important; }
@media (max-width: 760px) { .hsj-cta-tel { font-size: 26px; } }

/* ===== 問い合わせカード ===== */
.hsj-ct { max-width: 960px; margin: 0 auto; }
.hsj-ct-lead { text-align: center; margin: 0 0 28px; }
.hsj-ct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.hsj-ct-card { background: #FFFFFF; border: 1px solid var(--hsj-line); border-radius: 0; padding: 30px 28px 30px; text-align: center; display: flex; flex-direction: column; }
.hsj-ct-title { font-size: 17px; letter-spacing: .15em; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--hsj-acc); }
.hsj-ct-tel { margin: 4px 0 12px; }
.article .hsj-ct .hsj-ct-tel > a { display: inline-block; border: none; border-radius: 0; padding: 0; background: transparent; font-size: 30px; letter-spacing: .05em; color: var(--hsj-shu); text-decoration: none; }
.article .hsj-ct .hsj-ct-tel > a:hover { background: transparent; opacity:.85; }
.hsj-ct-note { font-size: 14px; line-height: 1.9; color: var(--hsj-mut); margin: 0 0 8px; text-align: left; }
.hsj-ct-btnwrap { margin-top: auto; padding-top: 8px; }
.article .hsj-ct a.hsj-ct-btn { display: inline-block; background: transparent; color: var(--hsj-acc) !important; border: 1px solid var(--hsj-acc); border-radius: 0; padding: 12px 30px; letter-spacing: .12em; text-decoration: none; transition: background-color .25s ease, color .25s ease; }
.article .hsj-ct a.hsj-ct-btn:hover { background: var(--hsj-acc); color: #FFFFFF !important; }
@media (max-width: 760px) { .hsj-ct-grid { grid-template-columns: 1fr; gap: 16px; } .hsj-ct-lead br { display: none; } }

/* ===== 旧構成用（新着カラム・冒頭ブロック） ===== */
.home .wp-block-column { position: relative; display:flex; flex-direction:column; }
.home .wp-block-column > .wp-block-heading { border: none; border-bottom: 1px solid var(--hsj-ink); padding: 0 0 12px; margin: 0 0 16px; font-size: 16px; letter-spacing: .3em; position: relative; }
.home .wp-block-column > .wp-block-heading::before { content: none; }
.home .wp-block-column > p:has(> a:only-child) { position: absolute; top: -4px; right: 0; margin: 0; }
.home .wp-block-column > p > a:only-child { display: inline-block; background: transparent; color: var(--hsj-acc) !important; border: none; border-bottom: 1px solid var(--hsj-acc); border-radius: 0; padding: 2px 2px 4px; font-size: 13px; letter-spacing: .15em; text-decoration: none; }
.home .wp-block-column > p > a:only-child:hover { background: transparent; color: var(--hsj-acc-deep) !important; }
.home .entry-content .wp-block-columns { max-width: none !important; width: 100%; }
.home .entry-content > .wp-block-columns { padding: 0 20px; }
@media (min-width: 1024px) { .home .entry-content > .wp-block-columns { max-width: 1280px; margin-left: auto; margin-right: auto; padding: 0 48px; } }
.home .wp-block-columns { align-items: stretch; }
.home .wp-block-column > .wp-block-latest-posts { flex: 1 1 auto; }
.home .wp-block-latest-posts { background: transparent; border: none; border-radius: 0; padding: 8px 0 0; list-style: none; width: 100%; margin: 0 0 16px; }
.home .wp-block-latest-posts li { display: flex; flex-direction: column-reverse; align-items: flex-start; border-bottom: 1px solid var(--hsj-line-soft); padding: 16px 0; margin: 0; }
.home .wp-block-latest-posts li:last-child { border-bottom: none; }
.home .wp-block-latest-posts:not(:has(li))::before { content: "記事はまだありません"; display: block; font-size: 14px; color: var(--hsj-mut); letter-spacing: .05em; padding: 6px 0; }
.home .wp-block-latest-posts a { font-size: 15px; text-decoration: none; }
.home .wp-block-latest-posts .wp-block-latest-posts__post-date { font-size: 12px; color: var(--hsj-mut); letter-spacing: .05em; }
.hsj-top { margin: 0; padding: 44px 20px 0; }
@media (min-width: 1024px) { .hsj-top { padding: 64px 60px 0; } }
.hsj-top-intro { max-width: 1180px; margin: 0 auto; line-height: 2.05; }
.hsj-top-intro p { margin: .7em 0; }
.hsj-top-intro .lead { font-size: 1.08em; color: var(--hsj-acc); font-weight: 500; }
.hsj-top-divider { width: 44px; height: 1px; background: var(--hsj-acc); border: 0; opacity: .8; margin: 1.7em auto; }
.hsj-top-message { max-width: 1180px; margin: 0 auto; box-sizing: border-box; background: var(--hsj-card); border: 1px solid var(--hsj-line); border-radius: 0; padding: 1.4em 1.6em; line-height: 1.95; }
.hsj-top-message p { margin: .4em 0; }
.hsj-top-message .sign { text-align: right; margin-top: .9em; color: var(--hsj-acc); font-weight: 600; letter-spacing: .02em; }
.hsj-top-message .more { text-align: right; margin-top: 1em; }

/* ===== 記事一覧(/blog/) ===== */
.list{max-width:900px;margin:0 auto}
a.entry-card-wrap{display:block;margin:0;padding:34px 8px;border-bottom:1px solid var(--hsj-line-soft);text-decoration:none}
a.entry-card-wrap:first-of-type{border-top:1px solid var(--hsj-line-soft)}
a.entry-card-wrap:hover{background:rgba(var(--pgc), .08)}
.entry-card{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;position:relative}
.entry-card-thumb{flex:0 0 190px;width:190px !important;margin:0 !important;float:none !important}
.entry-card-thumb img{border-radius:0 0 34px 0 !important;filter:saturate(.85);display:block}
.cat-label{background:#FFFFFF !important;border:1px solid var(--hsj-line) !important;color:var(--hsj-mut) !important;font-size:10.5px !important;letter-spacing:.14em;border-radius:0 !important;padding:2px 9px !important;opacity:.95}
.category-6-post .cat-label{color:var(--hsj-fuji) !important;border-color:var(--hsj-fuji) !important}
.category-5-post .cat-label{color:var(--hsj-shu) !important;border-color:var(--hsj-shu) !important}
.entry-card-content{flex:1 1 0 !important;min-width:0;margin:0 !important;width:auto !important}
.entry-card-title{font-size:17.5px !important;font-weight:500 !important;letter-spacing:.06em;line-height:1.7;margin:0 0 10px !important;color:var(--hsj-ink)}
a.entry-card-wrap:hover .entry-card-title{color:var(--hsj-acc)}
.entry-card-snippet{font-size:13px !important;line-height:1.9 !important;color:var(--hsj-mut) !important;margin:0 0 12px !important}
.entry-card .post-date{position:static !important;flex:1 1 100%;margin:10px 0 0 220px;font-size:12px;color:#9A937F;letter-spacing:.06em;text-align:left}
.entry-card .post-date i, .entry-card .post-date .fa{display:none}
@media (max-width:760px){.entry-card .post-date{margin-left:0}.entry-card-thumb{flex-basis:130px;width:130px !important}}
.pagination{margin-top:48px}
.pagination .page-numbers{border-radius:0;border:1px solid var(--hsj-line);color:var(--hsj-acc);background:#FFF}
.pagination .page-numbers.current{background:var(--hsj-ink);border-color:var(--hsj-ink);color:#FFF}

/* ===== フッター ===== */
.footer { background: #FFFFFF !important; border-top: 1px solid var(--hsj-line); position:relative; overflow:hidden; }
.footer::after{content:'';position:absolute;right:-46px;bottom:-70px;width:340px;height:340px;background:url('https://howsenji.com/wp-content/uploads/2026/07/fuji-clear.png') center/contain no-repeat;filter:grayscale(1);opacity:.05;pointer-events:none}
.footer, .footer a { color: #4A443B; }
.footer, .footer-in, .footer .footer-widgets, .footer .textwidget,
.footer aside { color: #4A443B !important; }
.footer-bottom-logo { display: none; }
.footer .site-logo-image { display: none; }
#container .footer-in { max-width: 1080px; margin: 0 auto; padding-top: 32px; }
@media (min-width: 1024px) {
  .footer .footer-left, .footer .footer-center, .footer .footer-right { text-align: center; }
  .footer .footer-left > *, .footer .footer-center > *, .footer .footer-right > * { display: inline-block; text-align: left; vertical-align: top; width: auto; }
}
.hsj-ft, .hsj-ft-nav { font-size: 14px; line-height: 1.9; color: #4A443B !important; }
.hsj-ft-name { font-size: 17px; letter-spacing: .12em; margin-bottom: 10px; color: var(--hsj-ink) !important; }
.hsj-ft-addr { margin-bottom: 6px; }
.hsj-ft-tel a { font-size: 20px; letter-spacing: .06em; color: var(--hsj-ink) !important; text-decoration: none; }
.hsj-ft-nav { list-style: none; margin: 0; padding: 0; }
.hsj-ft-nav li { padding: 2px 0 2px 1em; position: relative; }
.hsj-ft-nav li::before { content: "・"; position: absolute; left: 0; }
.hsj-ft-nav a { color: #4A443B !important; text-decoration: none; }
.hsj-ft-nav a:hover { text-decoration: underline; }
.hsj-ft-lead { margin-bottom: 12px; }
.hsj-ft-btn { display: inline-block; background: transparent; color: var(--hsj-acc) !important; border: 1px solid var(--hsj-acc); padding: 10px 22px; border-radius: 0; text-decoration: none; letter-spacing: .08em; transition: background-color .25s ease, color .25s ease; }
.hsj-ft-btn:hover { opacity: 1; background: var(--hsj-acc) !important; color: #FFFFFF !important; }
.hsj-ft-m { text-align: center; }
.hsj-ft-m .hsj-ft-tel { margin-bottom: 14px; }
.hsj-ft-m .hsj-ft-tel a { font-size: 22px; }
.hsj-ft-nav-m { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; margin-top: 16px; }
.hsj-ft-nav-m li { padding: 0; }
.hsj-ft-nav-m li::before { content: none; }
.hsj-ft-nav-m a { font-size: 13px; }
.hsj-ft-legal{ margin: 1.8em 0 0; font-size: .78em; letter-spacing: .08em; }
.hsj-ft-legal a{ color: var(--hsj-mut) !important; text-decoration: none; transition: color .3s ease; }
.hsj-ft-legal a:hover{ color: var(--hsj-ink) !important; }
.footer-bottom, .footer-bottom a, .footer .copyright,
.footer .footer-bottom-content, .footer-bottom .footer-bottom-content { color: var(--hsj-mut) !important; }

/* ===== 非表示・その他 ===== */
.breadcrumb { display: none; }
.page .date-tags { display: none; }
.post-author, .author-info { display: none; }
.page .sns-share, .page .sns-follow { display: none; }
@media (max-width: 760px) { .article p.has-text-align-center { text-align: left; } }
.go-to-top-button{background:#2B2723 !important;color:#FFFFFF !important;border-radius:50% !important;box-shadow:none !important;opacity:.9}
.go-to-top-button:hover{background:var(--hsj-acc) !important;opacity:1}

/* ===== フェードイン(hsj-fade-v5) ===== */
.hsj-js .hsj-fi { opacity: 0; transform: translateY(28px); transition: none; }
.hsj-js.hsj-fi-ready .hsj-fi { transition: opacity 1.4s ease, transform 1.4s cubic-bezier(.2,.7,.3,1) !important; }
.hsj-js .hsj-fi.hsj-fi-in { opacity: 1; transform: none; }

/* ===== トップ:スプラッシュ初期幕(hsj-splash-v8とセット) ===== */
html:has(> body.home)::after { content: ""; position: fixed; inset: 0; z-index: 2147482998; background: #FFFFFF; pointer-events: none; animation: hsjVeil 5s linear forwards; }
html.hsj-veil-off::after { content: none !important; }
@keyframes hsjVeil { 0%, 88% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }

/* ===== 折りたたみセクション（グループブロック用） ===== */
.article .hsj-foldwrap{ max-width: 900px; margin: 2.4em auto; padding: 0 0 10px; border: 1px solid var(--hsj-line); border-radius: 0; background: #FFFFFF; box-sizing: border-box; }
.article .hsj-foldwrap > *{ max-width: 820px; margin-left: auto; margin-right: auto; }
.article .hsj-foldwrap .hsj-ck{ position: absolute; opacity: 0; width: 1px; height: 1px; }
.article .hsj-foldwrap label.hsj-bar{ display: block; position: relative; cursor: pointer; max-width: none; margin: 0; padding: 1.15em 3.2em 1.15em 1.6em; background: var(--hsj-band); border-bottom: 1px solid var(--hsj-line); border-radius: 0; transition: background .3s ease; }
.article .hsj-foldwrap label.hsj-bar:hover{ background: var(--hsj-hover); }
.article .hsj-foldwrap label.hsj-bar::after{ content: ""; position: absolute; right: 1.6em; top: 50%; width: 11px; height: 11px; border-right: 1.5px solid var(--hsj-acc); border-bottom: 1.5px solid var(--hsj-acc); transform: translateY(-70%) rotate(45deg); transition: transform .3s ease; }
.article .hsj-foldwrap .hsj-ck:checked ~ label.hsj-bar::after{ transform: translateY(-30%) rotate(-135deg); }
.article .hsj-foldwrap .hsj-ck:not(:checked) ~ *:not(label.hsj-bar){ display: none; }
.article .hsj-foldwrap .hsj-ck:checked ~ *:not(label.hsj-bar){ margin-top: 1.8em; }
.article .hsj-bar-ttl{ display: block; font-size: clamp(18px, 1.35vw, 21px); font-weight: 600; letter-spacing: .14em; color: var(--hsj-ink); line-height: 1.5; }
.article .hsj-bar-sub{ display: block; margin-top: .45em; font-size: clamp(12px, .9vw, 14px); letter-spacing: .06em; color: var(--hsj-mut); }
.article .hsj-foldwrap .toc{ display: none; }
@media (max-width: 767px){ .article .hsj-foldwrap label.hsj-bar{ padding: 1em 2.8em 1em 1.2em; } }

/* ===== ヘッダー組み替え(v50)・モバイル ===== */
@media (max-width: 1023px) {
  :root { --hsj-creed-fs: clamp(11.5px, 3.2vw, 16px); }
  #header { position: relative; background-image: none !important; padding-top: clamp(14px, 4vw, 24px) !important; padding-bottom: clamp(14px, 4vw, 24px) !important; }
  .hsj-nameblock { display: none !important; }
  .hsj-headrow { display: block; text-align: center; }
  #hsj-creed-side { text-align: center; font-family: "Noto Serif JP", serif; font-weight: 500; color: var(--hsj-ink); }
  #hsj-creed-side p { margin: 0; font-size: var(--hsj-creed-fs); line-height: 1.95; letter-spacing: .04em; }
  #hsj-creed-side .l2 { margin-top: .45em; color: var(--hsj-acc); }
  #header::after { content: none !important; }
  .hsj-mbar-keisan { display: block; margin-left: auto; margin-right: clamp(8px, 3vw, 20px); height: clamp(26px, 8vw, 38px); width: calc(clamp(26px, 8vw, 38px) * 2.035); background: url('https://howsenji.com/wp-content/uploads/2026/07/%E3%82%AB%E3%83%A9%E3%83%BC%E6%A8%AA%EF%BC%91-768x377.jpg') no-repeat center / contain; flex: 0 0 auto; }
}
@media (max-width: 359px) { .hsj-mbar-keisan { display: none !important; } }
@media (min-width: 1024px) {
  .hsj-crest-el, #hsj-creed-side, .hsj-mbar-keisan { display: none !important; }
  .hsj-headrow, .hsj-nameblock { display: block; }
}


/* ===== v63.1 ヒーローの造形 =====
   スライドショーも右下大アールの語彙に統一し、縁ぼかしを廃止して形で切る */
#appeal{border-radius:0 0 clamp(64px,9vw,160px) 0;overflow:hidden}
#appeal .hsj-slide{-webkit-mask-image:none !important;mask-image:none !important}


/* ===== v64 写真手法：ページ別レパートリー（右下アール一辺倒を撤去） ===== */
.article figure.wp-block-image img{ border-radius:0; filter:saturate(.93); }
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type:not(.hsj-ph-plain):not(.hsj-ph-fade):not(.hsj-ph-kado):not(.hsj-ph-en) img{ border-radius:0; }
#appeal{ border-radius:0; }

/* A 裁ち落とし：墓地ページ先頭 */
body.page-id-26 .article .entry-content > figure.wp-block-image:first-of-type{ margin-left:calc(50% - 50vw)!important; margin-right:calc(50% - 50vw)!important; width:100vw!important; max-width:100vw!important; }
body.page-id-26 .article .entry-content > figure.wp-block-image:first-of-type img{ width:100%!important; height:46vh; object-fit:cover; border-radius:0!important; filter:saturate(.9) contrast(1.02); }
/* C スケール対比：以降の墓地写真 */
body.page-id-26 .article .entry-content > figure.wp-block-image:not(:first-of-type){ width:88%; margin:10px auto 10px 0; }
body.page-id-26 .article .entry-content > figure.wp-block-image:nth-of-type(even){ width:58%; margin:10px 0 10px auto; }

/* B 余白額装＋細罫：永代合同墓 */
body.page-id-24 .article figure.wp-block-image{ width:64%; margin:60px auto 40px; border-bottom:1px solid var(--hsj-line); padding-bottom:14px; }
body.page-id-24 .article figure.wp-block-image img{ border-radius:0; }

/* D 縁ぼかし＋E 正円：とみ教え */
body.page-id-22 .article .entry-content > figure.wp-block-image:first-of-type img{ border-radius:0; -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent); mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 91%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.article figure.hsj-prof-photo{ text-align:center; }
.article figure.hsj-prof-photo img{ border-radius:50%!important; aspect-ratio:1/1; object-fit:cover; max-width:240px; }

/* F トーン統一＋弁柄一点：アクセス */
body.page-id-28 .article figure.wp-block-image img{ filter:grayscale(.32) sepia(.10) saturate(.85) contrast(1.03); border-radius:0; }
body.page-id-28 .article figure.wp-block-image{ border-left:3px solid var(--hsj-shu); padding-left:16px; }

@media (max-width:760px){
  body.page-id-26 .article .entry-content > figure.wp-block-image:not(:first-of-type),
  body.page-id-26 .article .entry-content > figure.wp-block-image:nth-of-type(even){ width:92%!important; margin:12px auto!important; }
  body.page-id-24 .article figure.wp-block-image{ width:90%; }
  body.page-id-26 .article .entry-content > figure.wp-block-image:first-of-type img{ height:34vh; }
}

/* v64.1 hoen B額装を強制（テーマ幅に勝つ） */
body.page-id-24 .article .entry-content figure.wp-block-image{ width:min(64%,700px)!important; max-width:700px!important; margin:60px auto 40px!important; float:none!important; }
body.page-id-24 .article .entry-content figure.wp-block-image img{ width:100%!important; height:auto; }

/* ===== v65 写真の寸法を全ページ共通化（違いは仕上げのみ） =====
   型は3つだけ：①リード帯＝全幅・同一高さ ②単写真＝同一カラム幅 ③2枚組＝同一行幅
   ページごとの寸法差（v64の88%/58%/64%）は撤去。ぼかし・トーン・罫だけで差を出す */
:root{ --ph-lead-h: clamp(280px, 40vh, 460px); --ph-col: min(72%, 760px); --ph-row: min(92%, 1000px); --ph-gap: 24px; }

/* ① リード帯：全サブページ共通（先頭の1枚） */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type{
  margin:0 calc(50% - 50vw) 56px !important; width:100vw !important; max-width:100vw !important; float:none !important; padding:0 !important;
}
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  width:100% !important; height:var(--ph-lead-h) !important; object-fit:cover; border-radius:0 !important;
}
/* ② 単写真：全ページ同一カラム幅 */
body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type){
  width:var(--ph-col) !important; max-width:var(--ph-col) !important; margin:56px auto !important; float:none !important;
}
body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type) img{ width:100% !important; height:auto !important; }
/* ③ 2枚組：全ページ同一行幅・等分 */
body:not(.home) .article .entry-content .wp-block-group:has(figure.wp-block-image){
  width:var(--ph-row) !important; max-width:var(--ph-row) !important; margin:56px auto !important; gap:var(--ph-gap) !important;
}
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image{
  width:auto !important; max-width:none !important; flex:1 1 0 !important; margin:0 !important;
}
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image img{
  width:100% !important; aspect-ratio:4/3; object-fit:cover; height:auto !important;
}
/* 人物の正円だけは役割が異なるため対象外（サイズ固定） */
.article figure.hsj-prof-photo{ width:auto !important; max-width:none !important; margin:0 !important; }
.article figure.hsj-prof-photo img{ width:200px !important; height:200px !important; border-radius:50% !important; object-fit:cover; }

@media (max-width:760px){
  :root{ --ph-lead-h: clamp(200px, 30vh, 300px); --ph-col: 92%; --ph-row: 92%; --ph-gap: 14px; }
  body:not(.home) .article .entry-content .wp-block-group:has(figure.wp-block-image){ flex-wrap:wrap !important; }
  body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image{ flex:1 1 100% !important; }
}

/* ===== v65.1 寸法統一の修正：入れ子（アコーディオン内）でも同寸に =====
   基準を固定値 760px に。順序は「単写真 → 2枚組 → リード帯」で後勝ち */
:root{ --ph-max: 760px; }

/* ① 単写真：どの入れ子でも最大760px・中央 */
body:not(.home) .article .entry-content figure.wp-block-image{
  width:min(100%, var(--ph-max)) !important; max-width:var(--ph-max) !important;
  margin:56px auto !important; float:none !important;
}
body:not(.home) .article .entry-content figure.wp-block-image img{ width:100% !important; height:auto !important; }

/* ② 2枚組：行の合計も760pxに揃える */
body:not(.home) .article .entry-content .wp-block-group:has(figure.wp-block-image){
  width:min(100%, var(--ph-max)) !important; max-width:var(--ph-max) !important;
  margin:56px auto !important; gap:16px !important;
}
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image{
  width:auto !important; max-width:none !important; flex:1 1 0 !important; margin:0 !important;
}
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image img{
  width:100% !important; aspect-ratio:4/3; object-fit:cover; height:auto !important;
}

/* ③ リード帯：本文直下の先頭だけ全幅（最後に書いて上書き） */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type{
  width:100vw !important; max-width:100vw !important; margin:0 calc(50% - 50vw) 56px !important; padding:0 !important;
}
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  width:100% !important; height:var(--ph-lead-h) !important; object-fit:cover; border-radius:0 !important;
}

/* 人物円は対象外 */
.article figure.hsj-prof-photo{ width:auto !important; max-width:none !important; margin:0 !important; }
.article figure.hsj-prof-photo img{ width:200px !important; height:200px !important; border-radius:50% !important; object-fit:cover; }

@media (max-width:760px){
  :root{ --ph-max: 92vw; }
  body:not(.home) .article .entry-content .wp-block-group:has(figure.wp-block-image){ flex-wrap:wrap !important; }
  body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image{ flex:1 1 100% !important; }
}

/* ===== v65.2 寸法の完全一致（vh依存と罫による目減りを解消） ===== */
:root{ --ph-lead-h: 380px; }
@media (max-width:760px){ :root{ --ph-lead-h: 240px; } }
/* アクセス：弁柄罫を各写真から外し、行全体に付ける（画像幅を削らない） */
body.page-id-28 .article .entry-content figure.wp-block-image{ border-left:0 !important; padding-left:0 !important; }
body.page-id-28 .article .entry-content .wp-block-group:has(figure.wp-block-image){
  border-left:3px solid var(--hsj-shu); padding-left:16px;
  width:min(100%, calc(var(--ph-max) + 19px)) !important; max-width:calc(var(--ph-max) + 19px) !important;
}

/* ===== v66 善称寺型：手描き風クリップ／左右交互／有機形／広い行間 =====
   寸法は v65 の統一型（帯380px・単写真760px・2枚組760px）を変えない。
   形と配置と行間だけを変える */

/* ① 写真の輪郭を手描き風に（角丸ではなく不定形） */
body:not(.home) .article .entry-content figure.wp-block-image img{
  -webkit-clip-path:url(#hsjframe); clip-path:url(#hsjframe);
  border-radius:0 !important;
}
body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img,
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image:nth-child(even) img{
  -webkit-clip-path:url(#hsjframe2); clip-path:url(#hsjframe2);
}
/* リード帯は全幅のまま切り抜かない（帯の意味が消えるため） */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  -webkit-clip-path:none !important; clip-path:none !important;
}

/* ② 左右交互（ジグザグ）。寸法は同一のまま位置だけ入れ替える */
body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type){
  margin-left:0 !important; margin-right:auto !important;
}
body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type):nth-of-type(even){
  margin-left:auto !important; margin-right:0 !important;
}

/* ③ 本文の行間を広く（善称寺2.65／現行2.1 → 2.45） */
body:not(.home) .article .entry-content p{ line-height:2.45; }

/* ④ ボタン・バッジを有機形に */
.article .wp-block-button__link,
.hsj-cta a, a.hsj-btn{
  border-radius:48% 52% 45% 55% / 58% 44% 56% 42% !important;
  padding:15px 44px !important;
}
.article .wp-block-button__link:hover, .hsj-cta a:hover{
  border-radius:52% 48% 55% 45% / 44% 58% 42% 56% !important;
}

/* ⑤ 生成りの帯（アコーディオン見出し等の面）を有機形に寄せる */
.hsj-acc > summary{ border-radius:34px 30px 32px 28px / 28px 34px 30px 32px; }

@media (max-width:760px){
  body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type),
  body:not(.home) .article .entry-content figure.wp-block-image:not(:first-of-type):nth-of-type(even){
    margin-left:auto !important; margin-right:auto !important;
  }
}

/* ===== v66.1 手描き風フレームを純CSSで（SVGはテーマに除去されるため不使用） =====
   角を左右非対称にずらし、手で描いた枠のゆらぎを出す。寸法は変えない */
body:not(.home) .article .entry-content figure.wp-block-image img{
  -webkit-clip-path:none !important; clip-path:none !important;
  border-radius:38px 28px 42px 26px / 30px 40px 24px 44px !important;
  overflow:hidden;
}
body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img,
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image:nth-child(even) img{
  border-radius:26px 42px 24px 40px / 44px 22px 38px 28px !important;
}
/* リード帯は矩形のまま（帯の意味を保つ） */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  border-radius:0 !important;
}
/* 人物の正円は維持 */
.article figure.hsj-prof-photo img{ border-radius:50% !important; }
@media (max-width:760px){
  body:not(.home) .article .entry-content figure.wp-block-image img,
  body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img{
    border-radius:24px 18px 26px 16px / 20px 26px 15px 28px !important;
  }
}

/* ===== v67 切り抜き全廃：写真は原寸比のまま。統一するのは「幅」だけ =====
   v65のリード帯（高さ380px固定・cover）とv65の2枚組（4:3 cover）は
   被写体（石碑の文字など）を切るため撤去。幅760pxの統一は維持する */

/* リード帯をやめ、他と同じ幅・原寸比に */
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type{
  width:min(100%, var(--ph-max)) !important; max-width:var(--ph-max) !important;
  margin:56px auto !important;
}
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  width:100% !important; height:auto !important; object-fit:fill !important;
  border-radius:38px 28px 42px 26px / 30px 40px 24px 44px !important;
}
/* 2枚組も原寸比。高さ固定・cover をやめる */
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image img{
  aspect-ratio:auto !important; object-fit:fill !important; height:auto !important; width:100% !important;
}
/* 念のため全figureで切り抜きを無効化 */
body:not(.home) .article .entry-content figure.wp-block-image img{
  object-fit:fill !important; height:auto !important;
}
/* 人物の正円のみ、顔を中心に円へ収めるため cover を維持 */
.article figure.hsj-prof-photo img{
  width:200px !important; height:200px !important; object-fit:cover !important; border-radius:50% !important;
}
/* 2枚組は上端をそろえる（縦横比が違っても崩れないように） */
body:not(.home) .article .entry-content .wp-block-group:has(figure.wp-block-image){
  align-items:flex-start !important;
}

/* ===== v68 メニュー・カード・罫線を善称寺型に揃える ===== */

/* ① アクセスの弁柄の縦罫を撤去（写真が有機形になり、直線が浮くため） */
body.page-id-28 .article .entry-content .wp-block-group:has(figure.wp-block-image){
  border-left:0 !important; padding-left:0 !important;
  width:min(100%, var(--ph-max)) !important; max-width:var(--ph-max) !important;
}

/* ② トップのカード画像：右下72pxアールを廃し、手描き風の枠に（左右で振り分け） */
.hsj-card-img{
  border-radius:38px 28px 42px 26px / 30px 40px 24px 44px !important;
}
.hsj-cards > .hsj-card:nth-child(even) .hsj-card-img{
  border-radius:26px 42px 24px 40px / 44px 22px 38px 28px !important;
}
/* カードは上端をそろえ、左右で高さを変えて律動を出す（善称寺の非対称） */
.hsj-cards{ align-items:start !important; }
.hsj-cards > .hsj-card:nth-child(even){ margin-top:44px; }
.hsj-card-img{ transition:transform .5s ease, border-radius .5s ease; }
.hsj-card:hover .hsj-card-img{
  border-radius:30px 44px 26px 40px / 42px 26px 44px 24px !important;
}

/* ③ サイドバーメニュー：直線の区切りをやめ、有機形の当たりに */
#navi .menu-header li{ border-top:0 !important; border-bottom:0 !important; }
#navi .menu-header li > a{
  display:block; margin:3px 10px; padding:11px 12px !important;
  border-radius:22px 26px 20px 28px / 26px 20px 28px 22px;
  transition:background-color .35s ease, color .35s ease, border-radius .45s ease;
}
#navi .menu-header li > a:hover{
  background:rgba(181,143,99,.16);
  border-radius:28px 20px 26px 22px / 20px 28px 22px 26px;
}
/* 現在地は弁柄の小さな印で示す（下線ではなく） */
#navi .menu-header li.current-menu-item > a,
#navi .menu-header li.current_page_item > a{
  background:rgba(143,46,20,.09); color:var(--hsj-shu) !important; position:relative;
}
#navi .menu-header li.current-menu-item > a::before,
#navi .menu-header li.current_page_item > a::before{
  content:''; position:absolute; left:2px; top:50%; transform:translateY(-50%);
  width:7px; height:7px; background:var(--hsj-shu);
  border-radius:56% 44% 47% 53% / 52% 58% 42% 48%;
}
/* 下線の名残を消す */
#navi .menu-header li > a::after{ display:none !important; }

/* ===== v69-A カードを左右交互の段組みに（善称寺の各ページ紹介） ===== */
.hsj-cards{
  display:block !important; counter-reset:hsjc; max-width:1180px; margin:0 auto; padding:0 32px;
}
.hsj-cards > .hsj-card{
  counter-increment:hsjc;
  display:grid !important; grid-template-columns:1fr 460px; gap:64px; align-items:center;
  width:auto !important; margin:0 !important; padding:72px 0 !important;
  border-bottom:1px solid var(--hsj-line); background:transparent !important;
  box-shadow:none !important; border-radius:0 !important;
}
.hsj-cards > .hsj-card:last-child{ border-bottom:0; }
.hsj-cards > .hsj-card:nth-child(even){ grid-template-columns:460px 1fr; margin-top:0 !important; }
.hsj-cards > .hsj-card:nth-child(even) .hsj-card-img{ order:-1; }
/* 写真：真の有機形に切り抜く */
.hsj-card-img{
  width:100% !important; aspect-ratio:4/3; height:auto !important; display:block;
  border-radius:46% 54% 50% 50% / 52% 46% 54% 48% !important;
  background-size:cover; background-position:center;
  transition:border-radius .8s ease;
}
.hsj-cards > .hsj-card:nth-child(even) .hsj-card-img{
  border-radius:54% 46% 48% 52% / 46% 54% 46% 54% !important;
}
.hsj-card:hover .hsj-card-img{
  border-radius:52% 48% 44% 56% / 48% 52% 50% 50% !important;
}
/* 見出し：番号を有機形のバッジで */
.hsj-card-body{ display:block; }
.hsj-card-title{
  display:flex !important; align-items:center; gap:16px;
  font-size:23px !important; font-weight:600; letter-spacing:.08em; margin-bottom:18px !important;
}
.hsj-card-title::before{
  content:counter(hsjc); flex:0 0 42px;
  display:grid; place-items:center; width:42px; height:36px;
  background:var(--hsj-kou); color:#fff; font-size:13px; letter-spacing:0;
  border-radius:56% 44% 47% 53% / 52% 58% 42% 48%;
}
.hsj-cards > .hsj-card:nth-child(2) .hsj-card-title::before{ background:var(--hsj-fuji); }
.hsj-cards > .hsj-card:nth-child(3) .hsj-card-title::before{ background:var(--hsj-shu); }
.hsj-card-text{
  display:block; font-size:16px !important; line-height:2.5 !important; color:#4A423A;
  max-width:30em; margin-bottom:28px !important;
}
/* 「詳しく見る」を弁柄の有機形ボタンに */
.hsj-card-more{
  display:inline-block !important; padding:15px 52px !important;
  background:var(--hsj-shu); color:#fff !important; font-size:14px; letter-spacing:.14em;
  border:0 !important; text-decoration:none !important;
  border-radius:48% 52% 45% 55% / 58% 44% 56% 42%;
  transition:border-radius .6s ease, background-color .3s ease;
}
.hsj-card-more::after{ display:none !important; }
.hsj-card:hover .hsj-card-more{
  border-radius:52% 48% 55% 45% / 44% 58% 42% 56%;
  background:#7A2711;
}
@media (max-width:900px){
  .hsj-cards > .hsj-card,
  .hsj-cards > .hsj-card:nth-child(even){ grid-template-columns:1fr !important; gap:28px; padding:48px 0 !important; }
  .hsj-cards > .hsj-card .hsj-card-img{ order:-1 !important; }
  .hsj-card-title{ font-size:20px !important; }
}

/* ===== v69-B メニューを役割別に色分け（善称寺の階層） =====
   1 ホーム / 2 とみ教え / 3 法座・仏事 / 4 永代合同墓・墓地 / 5 法話・作法
   6 お問い合わせ（主導線＝弁柄） / 7 アクセス（副導線＝藤鼠） */
#navi .menu-pc{ padding:0 10px; }
#navi .menu-pc > li{ border:0 !important; }
#navi .menu-pc > li > a{
  display:block; margin:4px 0; padding:12px 14px !important;
  border-radius:22px 26px 20px 28px / 26px 20px 28px 22px;
  transition:background-color .35s ease, color .3s ease, border-radius .5s ease;
}
#navi .menu-pc > li > a .item-label{ font-size:12.5px; letter-spacing:.16em; }

/* 2〜5＝寺のご案内。生成りの面で一群に見せる */
#navi .menu-pc > li:nth-child(n+2):nth-child(-n+5) > a{
  background:rgba(247,243,233,.9);
  border-radius:24px 20px 26px 18px / 20px 26px 18px 24px;
}
#navi .menu-pc > li:nth-child(n+2):nth-child(-n+5) > a:hover{
  background:rgba(181,143,99,.22);
  border-radius:20px 26px 18px 24px / 26px 20px 24px 18px;
}
/* 6 お問い合わせ＝主導線（弁柄ベタ） */
#navi .menu-pc > li:nth-child(6) > a{
  background:var(--hsj-shu) !important; color:#fff !important; margin-top:14px;
  border-radius:46% 54% 44% 56% / 56% 46% 54% 44%;
}
#navi .menu-pc > li:nth-child(6) > a .item-label{ color:#fff !important; }
#navi .menu-pc > li:nth-child(6) > a:hover{
  background:#7A2711 !important; border-radius:54% 46% 56% 44% / 44% 56% 46% 54%;
}
/* 7 アクセス＝副導線（藤鼠ベタ） */
#navi .menu-pc > li:nth-child(7) > a{
  background:var(--hsj-fuji) !important; color:#fff !important;
  border-radius:46% 54% 44% 56% / 56% 46% 54% 44%;
}
#navi .menu-pc > li:nth-child(7) > a .item-label{ color:#fff !important; }
#navi .menu-pc > li:nth-child(7) > a:hover{
  background:#7A6B8C !important; border-radius:54% 46% 56% 44% / 44% 56% 46% 54%;
}
/* 1 ホームは文字だけ（控えめ） */
#navi .menu-pc > li:nth-child(1) > a{ background:transparent; }
#navi .menu-pc > li:nth-child(1) > a:hover{ background:rgba(181,143,99,.14); }
/* 現在地：色ベタの項目は印を出さない */
#navi .menu-pc > li.current-menu-item > a,
#navi .menu-pc > li.current_page_item > a{
  background:rgba(143,46,20,.10); color:var(--hsj-shu) !important;
}
#navi .menu-pc > li:nth-child(6).current-menu-item > a,
#navi .menu-pc > li:nth-child(6).current_page_item > a{ background:var(--hsj-shu) !important; }
#navi .menu-pc > li:nth-child(7).current-menu-item > a,
#navi .menu-pc > li:nth-child(7).current_page_item > a{ background:var(--hsj-fuji) !important; }
#navi .menu-pc > li.current-menu-item > a::before,
#navi .menu-pc > li.current_page_item > a::before{ display:none !important; }

/* ===== v69-C 本文の写真も真の有機形に（角丸矩形をやめる） ===== */
body:not(.home) .article .entry-content figure.wp-block-image img{
  border-radius:46% 54% 50% 50% / 52% 46% 54% 48% !important;
}
body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img,
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image:nth-child(even) img{
  border-radius:54% 46% 48% 52% / 46% 54% 46% 54% !important;
}
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  border-radius:46% 54% 50% 50% / 52% 46% 54% 48% !important;
}
.article figure.hsj-prof-photo img{ border-radius:50% !important; }
@media (max-width:760px){
  body:not(.home) .article .entry-content figure.wp-block-image img,
  body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img{
    border-radius:44% 56% 48% 52% / 52% 44% 56% 48% !important;
  }
}

/* ===== v69.1 形の是正（楕円になりすぎ）＋左右交互の並び順を明示 ===== */
/* 並び順：奇数=文左・写真右／偶数=写真左・文右 */
.hsj-cards > .hsj-card{ grid-template-columns:1fr 460px !important; }
.hsj-cards > .hsj-card > .hsj-card-body{ order:1 !important; }
.hsj-cards > .hsj-card > .hsj-card-img{ order:2 !important; }
.hsj-cards > .hsj-card:nth-child(even){ grid-template-columns:460px 1fr !important; }
.hsj-cards > .hsj-card:nth-child(even) > .hsj-card-img{ order:1 !important; }
.hsj-cards > .hsj-card:nth-child(even) > .hsj-card-body{ order:2 !important; }

/* 写真：楕円ではなく「角が不揃いな矩形」に戻す（善称寺の実物に近い） */
.hsj-card-img{
  border-radius:30% 24% 28% 22% / 24% 30% 22% 28% !important;
}
.hsj-cards > .hsj-card:nth-child(even) .hsj-card-img{
  border-radius:24% 30% 22% 28% / 30% 24% 28% 22% !important;
}
.hsj-card:hover .hsj-card-img{
  border-radius:26% 30% 24% 28% / 28% 24% 30% 22% !important;
}
body:not(.home) .article .entry-content figure.wp-block-image img{
  border-radius:30% 24% 28% 22% / 24% 30% 22% 28% !important;
}
body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img,
body:not(.home) .article .entry-content .wp-block-group figure.wp-block-image:nth-child(even) img{
  border-radius:24% 30% 22% 28% / 30% 24% 28% 22% !important;
}
body:not(.home) .article .entry-content > figure.wp-block-image:first-of-type img{
  border-radius:30% 24% 28% 22% / 24% 30% 22% 28% !important;
}
.article figure.hsj-prof-photo img{ border-radius:50% !important; }
@media (max-width:760px){
  body:not(.home) .article .entry-content figure.wp-block-image img,
  body:not(.home) .article .entry-content figure.wp-block-image:nth-of-type(even) img{
    border-radius:26% 22% 24% 20% / 22% 26% 20% 24% !important;
  }
}

/* ボタン・メニュー：楕円をやめ、角の不揃いな矩形に */
.hsj-card-more{ border-radius:26px 20px 28px 18px / 20px 28px 18px 26px !important; }
.hsj-card:hover .hsj-card-more{ border-radius:20px 28px 18px 26px / 28px 20px 26px 18px !important; }
#navi .menu-pc > li:nth-child(6) > a,
#navi .menu-pc > li:nth-child(7) > a{
  border-radius:24px 18px 26px 16px / 18px 26px 16px 24px !important;
}
#navi .menu-pc > li:nth-child(6) > a:hover,
#navi .menu-pc > li:nth-child(7) > a:hover{
  border-radius:18px 26px 16px 24px / 26px 18px 24px 16px !important;
}
.article .wp-block-button__link, .hsj-cta a, a.hsj-btn{
  border-radius:26px 20px 28px 18px / 20px 28px 18px 26px !important;
}
/* 番号バッジは小さいので円寄りのままでよいが少しだけ整える */
.hsj-card-title::before{ border-radius:52% 48% 46% 54% / 50% 54% 46% 50% !important; }

/* v69.2 メニュー下の余白（慶讃ロゴとの間） */
#navi .menu-pc{ margin-bottom:26px !important; }
#navi .menu-pc > li:nth-child(7){ margin-bottom:8px; }

/* ===== v69.3 モバイル復旧＋サイドバーの余白調整 =====
   v69.1の!important指定がメディアクエリより後に来て上書きしていたため、
   ここで最後に上書きし直す */
@media (max-width:900px){
  .hsj-cards{ padding:0 18px !important; }
  .hsj-cards > .hsj-card,
  .hsj-cards > .hsj-card:nth-child(even){
    display:block !important; grid-template-columns:none !important;
    padding:40px 0 !important; gap:0 !important;
  }
  .hsj-cards > .hsj-card > .hsj-card-img,
  .hsj-cards > .hsj-card:nth-child(even) > .hsj-card-img{
    order:0 !important; width:100% !important; max-width:100% !important;
    aspect-ratio:4/3; margin:0 0 22px !important; display:block !important;
  }
  .hsj-cards > .hsj-card > .hsj-card-body,
  .hsj-cards > .hsj-card:nth-child(even) > .hsj-card-body{
    order:0 !important; display:block !important; width:100% !important;
  }
  .hsj-card-title{
    font-size:19px !important; display:flex !important; align-items:center !important;
    writing-mode:horizontal-tb !important; margin-bottom:14px !important;
  }
  .hsj-card-title::before{ flex:0 0 34px !important; width:34px !important; height:30px !important; font-size:12px !important; }
  .hsj-card-text{ font-size:15px !important; line-height:2.2 !important; max-width:none !important; margin-bottom:20px !important; }
  .hsj-card-more{ padding:13px 38px !important; font-size:13px !important; writing-mode:horizontal-tb !important; }
}

/* サイドバー：ボタンと慶讃ロゴが接するのを解消（寺号まわりの余白も詰める） */
#navi .menu-pc{ margin-bottom:44px !important; }
#navi .menu-pc > li:nth-child(7){ margin-bottom:0 !important; }
#navi{ margin-top:8px !important; }

/* v69.4 ネビ直下（慶讃ロゴ）との干渉を解消 */
#navi{ padding-bottom:44px !important; }
#navi .menu-pc{ margin-bottom:0 !important; }

/* v69.5 #naviはposition:fixedのため下余白が効かない。ボタン自体を詰めて慶讃ロゴとの干渉を解消 */
#navi{ padding-bottom:0 !important; }
#navi .menu-pc > li > a{ padding:9px 12px !important; margin:3px 0 !important; }
#navi .menu-pc > li:nth-child(6) > a{ margin-top:10px !important; }
#navi .menu-pc > li > a .item-label{ font-size:12px; letter-spacing:.14em; }

/* ===== v70 PCサイドバーの高さ可変化（重なりの解消） =====
   画面高から 寺紋・メニュー・下端（慶讃ロゴ＋住所）を引いた残りを寺号に割り当てる。
   メニュー項目数を変えたら --m-count を直すこと */
@media (min-width: 1024px) {
  :root{
    --hsj-crest-top: clamp(16px, 2.6vh, 34px);
    --hsj-crest: clamp(40px, 8vh, 100px);
    --sb-gap1: clamp(4px, 1vh, 14px);
    --sb-gap2: clamp(8px, 1.6vh, 22px);

    --m-count: 7;
    --m-fs: clamp(10.5px, 1.35vh, 13px);
    --m-py: clamp(5px, 1.05vh, 12px);
    --m-gap: clamp(2px, .5vh, 6px);
    --m-sep: clamp(6px, 1.2vh, 16px);
    --m-item: calc(var(--m-py) * 2 + var(--m-fs) * 1.5);
    --sb-menu-h: calc(var(--m-item) * var(--m-count) + var(--m-gap) * (var(--m-count) - 1) + var(--m-sep));

    --sb-addr-fs: clamp(9px, 1.2vh, 11px);
    --sb-addr-h: calc(var(--sb-addr-fs) * 1.8 * 3);
    --sb-addr-b: clamp(10px, 1.6vh, 20px);
    --hsj-keisan: clamp(84px, 13vh, 170px);
    --sb-keisan-h: calc(var(--hsj-keisan) / 2.035);
    --sb-keisan-b: calc(var(--sb-addr-b) + var(--sb-addr-h) + clamp(6px, 1.2vh, 16px));
    --sb-foot: calc(var(--sb-keisan-b) + var(--sb-keisan-h) + clamp(8px, 1.6vh, 20px));

    --sb-avail: calc(100vh - var(--hsj-crest-top) - var(--hsj-crest) - var(--sb-gap1) - var(--sb-gap2) - var(--sb-menu-h) - var(--sb-foot));
    --sb-namecap: min(340px, calc((var(--hsj-side) - 24px) / .82));
    --hsj-namecol: clamp(72px, var(--sb-avail), var(--sb-namecap));
    --sb-slack: max(0px, calc(var(--sb-avail) - var(--sb-namecap)));
  }

  /* 寺号（寸法は namecol から自動追従。ずらし量も比例に） */
  .logo-header{
    top: calc(var(--hsj-crest-top) + var(--hsj-crest) + var(--sb-gap1)) !important;
    height: var(--hsj-namecol) !important;
    gap: calc(var(--hsj-namecol) * .03) !important;
  }
  .logo-header::before{ transform: translateX(calc(var(--hsj-namecol) * -.0625)); }
  .logo-header .site-name{ transform: translateX(calc(var(--hsj-namecol) * .0625)) !important; }

  /* メニュー：高さを式どおりに確定させる（margin相殺を避けflexのgapで間隔） */
  #navi{
    top: calc(var(--hsj-crest-top) + var(--hsj-crest) + var(--sb-gap1) + var(--hsj-namecol) + var(--sb-gap2) + var(--sb-slack) * .5);
    margin-top: 0 !important;
  }
  #navi .menu-pc{
    display: flex !important; flex-direction: column; gap: var(--m-gap);
    margin: 0 !important; padding: 0 clamp(10px, 1vw, 22px) !important;
  }
  #navi .menu-pc > li{ margin: 0 !important; }
  #navi .menu-pc > li > a{
    font-size: var(--m-fs) !important; line-height: 1.5 !important;
    padding: var(--m-py) clamp(8px, .8vw, 14px) !important; margin: 0 !important;
  }
  #navi .menu-pc > li > a .item-label{ font-size: 1em !important; }
  #navi .menu-pc > li:nth-child(6){ margin-top: var(--m-sep) !important; }
  #navi .menu-pc > li:nth-child(6) > a{ margin-top: 0 !important; }

  /* 下端 */
  .logo-header::after{
    content: "" !important;
    left: calc((var(--hsj-side) - var(--hsj-keisan)) / 2);
    bottom: var(--sb-keisan-b);
    width: var(--hsj-keisan); height: var(--sb-keisan-h);
  }
  .navi-in::after{ bottom: var(--sb-addr-b); font-size: var(--sb-addr-fs); line-height: 1.8; }
}

/* ===== v70 モバイルの見出しを可変サイズに（改行を避ける） =====
   ①まずCSSで画面幅に連動させる ②収まらない分はJSが1行に収まるまで縮める（footerコード） */
@media (max-width:900px){
  .entry-title,
  .article h1.entry-title{
    font-size:clamp(17px, 5.4vw, 27px) !important;
    line-height:1.5 !important; letter-spacing:.06em !important;
  }
  .article h2.wp-block-heading{
    font-size:clamp(15px, 4.6vw, 22px) !important;
    line-height:1.5 !important; letter-spacing:.05em !important;
  }
  .article h3.wp-block-heading, .article h3.hsj-heading{
    font-size:clamp(14px, 4.1vw, 19px) !important;
    line-height:1.55 !important; letter-spacing:.04em !important;
  }
  .hsj-acc-ttl, .hsj-ohl-boxttl{
    font-size:clamp(13.5px, 3.9vw, 18px) !important; letter-spacing:.04em !important;
  }
  .hsj-fq-q > summary{
    font-size:clamp(13px, 3.7vw, 17px) !important; letter-spacing:.03em !important;
  }
  .hsj-card-title{ font-size:clamp(15px, 4.4vw, 20px) !important; }
  /* JSが1行化した見出しがはみ出さないよう保険 */
  .hsj-fit{ white-space:nowrap; overflow:hidden; text-overflow:clip; }
}

/* v70.1 長い見出し向けにもう一段縮める（360px幅で折り返していた2件の対策） */
@media (max-width:900px){
  .article h2.wp-block-heading{ font-size:clamp(13.5px, 4.05vw, 22px) !important; letter-spacing:.02em !important; }
  .hsj-ohl-boxttl, .hsj-acc-ttl{ font-size:clamp(12.5px, 3.55vw, 18px) !important; letter-spacing:.01em !important; }
  .hsj-fq-q > summary{ font-size:clamp(12.5px, 3.5vw, 17px) !important; letter-spacing:.01em !important; }
}
@media (max-width:400px){
  .entry-title, .article h1.entry-title{ font-size:clamp(16px, 5.0vw, 24px) !important; letter-spacing:.03em !important; }
}

/* v70.2 入れ子Qの見出し幅を稼ぐ（モバイル） */
@media (max-width:900px){
  .hsj-acc-in{ padding-left:12px !important; padding-right:12px !important; }
  .hsj-ohl-accin{ padding-left:12px !important; padding-right:12px !important; }
  .hsj-fq-q > summary{ padding-left:10px !important; padding-right:26px !important; font-size:clamp(11.5px, 3.35vw, 17px) !important; }
}

/* v70.3 最長の設問（22字）も入るよう最終調整 */
@media (max-width:900px){
  .hsj-fq-q > summary{ padding-left:8px !important; padding-right:22px !important; font-size:clamp(10.5px, 3.1vw, 17px) !important; letter-spacing:0 !important; }
}
@media (min-width:901px){
  .hsj-fq-q > summary{ letter-spacing:.02em; }
}

/* ===== v71 写真で見る法泉寺（とみ教えページのギャラリー） ===== */
.hsj-gal{ max-width:1080px; margin:96px auto 72px; padding:0 24px; }
.hsj-gal-h{ font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:.16em; color:var(--hsj-shu); text-align:center; margin-bottom:10px; }
.hsj-gal-h::after{ content:''; display:block; width:28px; height:1px; background:var(--hsj-shu); margin:14px auto 0; }
.hsj-gal-lead{ text-align:center; font-size:14px; color:var(--hsj-mut,#6E6656); margin:14px 0 40px !important; line-height:2; }
.hsj-gal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px 24px; }
.hsj-gal-i{ margin:0 !important; width:auto !important; max-width:none !important; }
.hsj-gal-i img{ width:100% !important; aspect-ratio:4/3; object-fit:cover; display:block; filter:saturate(.94);
  border-radius:30% 24% 28% 22% / 24% 30% 22% 28% !important; transition:border-radius .8s ease; }
.hsj-gal-i:nth-child(even) img{ border-radius:24% 30% 22% 28% / 30% 24% 28% 22% !important; }
.hsj-gal-i:hover img{ border-radius:26% 30% 24% 28% / 28% 24% 30% 22% !important; }
.hsj-gal-i figcaption{ text-align:center; margin-top:12px; }
.hsj-gal-t{ display:block; font-size:14px; letter-spacing:.06em; color:var(--hsj-ink); }
.hsj-gal-s{ display:block; font-size:11.5px; letter-spacing:.12em; color:var(--hsj-kou); margin-top:4px; }
@media (max-width:900px){
  .hsj-gal{ margin:64px auto 48px; padding:0 16px; }
  .hsj-gal-grid{ grid-template-columns:repeat(2,1fr); gap:20px 14px; }
  .hsj-gal-t{ font-size:12.5px; }
  .hsj-gal-s{ font-size:10.5px; }
}

/* ===== v72 納骨のようす（お墓ページの5枚列） ===== */
.hsj-nk{ max-width:820px; margin:8px auto 40px; }
.hsj-nk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px 18px; }
.hsj-nk-i{ margin:0 !important; width:auto !important; max-width:none !important; }
.hsj-nk-i img{ width:100% !important; aspect-ratio:4/3; object-fit:cover; display:block; filter:saturate(.94);
  border-radius:30% 24% 28% 22% / 24% 30% 22% 28% !important; transition:border-radius .8s ease; }
.hsj-nk-i:nth-child(even) img{ border-radius:24% 30% 22% 28% / 30% 24% 28% 22% !important; }
.hsj-nk-i:hover img{ border-radius:26% 30% 24% 28% / 28% 24% 30% 22% !important; }
.hsj-nk-i figcaption{ text-align:center; margin-top:10px; }
.hsj-nk-t{ display:block; font-size:13.5px; letter-spacing:.06em; color:var(--hsj-ink); }
.hsj-nk-s{ display:block; font-size:11px; letter-spacing:.08em; color:var(--hsj-kou); margin-top:3px; line-height:1.7; }
@media (max-width:900px){
  .hsj-nk-grid{ grid-template-columns:repeat(2,1fr); gap:16px 12px; }
  .hsj-nk-t{ font-size:12px; }
  .hsj-nk-s{ font-size:10px; }
}

/* ===== v73 ギャラリーの最終行を中央寄せに ===== */
.hsj-nk-grid, .hsj-gal-grid{ display:flex !important; flex-wrap:wrap; justify-content:center; }
.hsj-nk-grid{ gap:22px 18px !important; }
.hsj-gal-grid{ gap:28px 24px !important; }
.hsj-nk-i{ flex:0 0 calc((100% - 36px)/3); max-width:calc((100% - 36px)/3) !important; }
.hsj-gal-i{ flex:0 0 calc((100% - 48px)/3); max-width:calc((100% - 48px)/3) !important; }
@media (max-width:900px){
  .hsj-nk-grid{ gap:16px 12px !important; }
  .hsj-gal-grid{ gap:20px 14px !important; }
  .hsj-nk-i{ flex:0 0 calc((100% - 12px)/2); max-width:calc((100% - 12px)/2) !important; }
  .hsj-gal-i{ flex:0 0 calc((100% - 14px)/2); max-width:calc((100% - 14px)/2) !important; }
}

/* ===== v74 ヒーローの一文を有機形の切り抜きに（善称寺型） =====
   行ごとの白帯を廃し、右上に白い有機形を置いて縦書きを載せる */
#appeal .appeal-title .hsj-uta-l,
#appeal .appeal-message p{ background:transparent !important; padding:0 !important; border-radius:0 !important; }
#appeal .appeal-message{ display:none !important; }
@media (min-width:1024px){
  #appeal .appeal-content{
    right:56px !important; top:52px !important; left:auto !important; bottom:auto !important;
    width:300px; height:344px; display:grid !important; place-items:center;
    background:rgba(255,255,255,.93);
    border-radius:54% 46% 43% 57% / 46% 52% 48% 54%;
    padding:0 !important; max-height:none !important;
  }
  #appeal .appeal-title{
    -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl;
    font-size:clamp(20px,2.3vh,26px) !important; line-height:2.2 !important; letter-spacing:.22em !important;
    color:var(--hsj-ink) !important; text-shadow:none !important; margin:0 !important;
  }
}
@media (max-width:1023px){
  #appeal .appeal-content{
    left:auto !important; right:14px !important; top:14px !important; bottom:auto !important;
    width:150px; height:176px; display:grid !important; place-items:center;
    background:rgba(255,255,255,.93);
    border-radius:54% 46% 43% 57% / 46% 52% 48% 54%;
    max-width:none !important;
  }
  #appeal .appeal-title{
    -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl;
    font-size:13px !important; line-height:2.1 !important; letter-spacing:.18em !important;
    color:var(--hsj-ink) !important; text-shadow:none !important;
  }
}

/* v74.1 切り抜きの白地を強制（既存の transparent を上書き） */
#appeal .appeal-content{ background:rgba(255,255,255,.93) !important; -webkit-backdrop-filter:none; backdrop-filter:none; }
@media (min-width:1024px){ #appeal .appeal-content{ right:64px !important; } }

/* ===== v75 十九世住職の歌（とみ教えページ） ===== */
.hsj-uta{ max-width:820px; margin:44px auto 56px !important; padding:38px 32px 34px; text-align:center;
  background:var(--hsj-nari,#F7F3E9);
  border-radius:34px 26px 38px 24px / 26px 36px 22px 40px; }
.hsj-uta-body{ margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
.hsj-uta .hsj-uta-l{ display:block; font-size:clamp(17px,1.6vw,23px); line-height:2.2; letter-spacing:.16em; color:var(--hsj-ink); }
.hsj-uta .hsj-uta-in2{ margin-top:2px; }
.hsj-uta-cap{ display:block; margin-top:18px; font-size:12.5px; letter-spacing:.14em; color:var(--hsj-kou); }
.hsj-uta-note{ margin:22px auto 0 !important; max-width:34em; font-size:13.5px !important; line-height:2.1 !important; color:var(--hsj-mut,#6E6656); text-align:left; }
@media (max-width:900px){
  .hsj-uta{ padding:28px 20px 26px; margin:32px auto 40px !important; }
  .hsj-uta .hsj-uta-l{ font-size:15px; line-height:2.1; letter-spacing:.1em; }
  .hsj-uta-note{ font-size:12.5px !important; }
}

/* ===== v76 本文と見出しで書体を変える =====
   本文＝明朝（Noto Serif JP）のまま／見出し・ラベル・ボタン＝ゴシック（Noto Sans JP）
   →字面が軽くなり、白地とのコントラストで明るい印象になる */
:root{ --hsj-sans: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif; }
.entry-title,
.article h1, .article h2, .article h3, .article h4,
.hsj-acc-ttl, .hsj-ohl-boxttl, .hsj-fq-q > summary, .hsj-fq-ttl,
.hsj-card-title, .hsj-card-more, .hsj-gal-h, .hsj-gal-t, .hsj-gal-s,
.hsj-nk-t, .hsj-nk-s, .hsj-uta-cap,
.sechead h2, .sechead h3,
#navi .menu-pc > li > a .item-label,
.article .wp-block-button__link, .hsj-cta a, a.hsj-btn,
.hsj-ohl-cardttl, .hsj-ohl-spec dt, .hsj-kata-ttl, .hsj-kata-unitttl{
  font-family: var(--hsj-sans) !important;
  font-weight: 500;
}
/* 見出しはゴシックだと詰まって見えるので、字間を少し広げる */
.article h2, .article h3, .entry-title{ letter-spacing:.08em; }
.hsj-card-title, .hsj-gal-h{ letter-spacing:.1em; }
/* 歌・寺号・ヒーローの一文は明朝のまま（和の顔） */
#appeal .appeal-title, .hsj-uta .hsj-uta-l, .hsj-creed-band p,
.logo-header, .site-name-text{
  font-family: "Noto Serif JP", serif !important;
}

/* v76.1 見出しをしっぽり明朝へ（ゴシックは撤回） */
:root{ --hsj-sans: "Shippori Mincho", "Noto Serif JP", serif !important; }


/* v76.2 見出しをメイリオへ
   Windows専用のため、MacはHiragino Sans、その他はNoto Sans JPで代替する */
:root{ --hsj-sans: "Meiryo", "メイリオ", "Hiragino Sans", "Noto Sans JP", sans-serif !important; }


/* ===== v74.2 ヒーローの切り抜きを透かす（善称寺実測：白 opacity .85） =====
   .93のベタ白→背景がうっすら透ける .82 へ。
   文字の可読性を保つため、弱いぼかしを重ねる */
#appeal .appeal-content{
  background:rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
}
#appeal .appeal-title{ color:#2B2723 !important; }


/* ===== v77 ヒーローの一文を左上へ（写真の被写体が右寄りのため） ===== */
@media (min-width:1024px){
  #appeal .appeal-content{ left:64px !important; right:auto !important; }
}
@media (max-width:1023px){
  #appeal .appeal-content{ left:14px !important; right:auto !important; }
}


/* v77.1 縦書き3行を切り抜きの中央へ（左寄せにしたことで左側の余白が目立つため） */
#appeal .appeal-title{ margin:0 auto !important; }
#appeal .appeal-content{ place-items:center !important; }


/* ===== v78 信条の重複を解消（モバイル） =====
   ヘッダー内 #hsj-creed-side にも同じ一文が出ており、
   ヒーローの切り抜きと二重になっていたのでヘッダー側の2行目を隠す。
   1行目（六百七十余年〜）は残す。 */
#hsj-creed-side .l2{ display:none !important; }


/* ===== v79 主要導線（法縁・お墓・寺院情報）を中央揃えに =====
   見出しだけ中央で、ラベル・説明・ボタンが左寄せのままだったため揃える。PC・モバイル共通 */
.hsj-lead-item{ text-align:center !important; }
.hsj-lead-en, .hsj-lead-title, .hsj-lead-text, .hsj-lead-btnwrap{ text-align:center !important; }
.hsj-lead-text{ margin-left:auto !important; margin-right:auto !important; }
