/*
Theme Name: Hidamari Lite
Theme URI: https://u-hidamari.org/
Author: クレスコム
Description: NPO法人ほっとスペースひだまり 公式サイト用の軽量ブロックテーマ（脱Elementor）。既存デザイン画像を流用して同等の見た目を再現。
Version: 0.3
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hidamari-lite
*/

:root{
  --hd-accent:#F6AC1D;    /* ひだまりゴールド */
  --hd-primary:#783F0B;   /* 濃茶：見出し・文字強 */
  --hd-text:#555555;
  --hd-cream:#FFF8E8;
  --hd-side:#FFFDF8;      /* サイドバー背景（本番 ffd8e30） */
  --hd-bg:#FFFDF7;        /* 本番 body 背景 */
  --hd-red:#CC3333;
  --hd-link:#CC3366;      /* 本番グローバルリンク色（kit）。本文中リンク・tap発信tel等 */
  --hd-sidebar-w:280px;
  --hd-content:1140px;
  --hd-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  position:relative; margin:0;
  padding-left:var(--hd-sidebar-w);
  color:var(--hd-text);
  font-family:var(--hd-serif); font-size:15.5px; font-weight:500;
  line-height:1.8; letter-spacing:0.03em;
  background:var(--hd-bg);
}
/* 左250pxをサイドバー色で塗り、ページ全高まで伸ばす（疑似要素で固定背景） */
body::before{
  content:""; position:fixed; top:0; left:0; width:var(--hd-sidebar-w); height:100vh;
  background:var(--hd-side); z-index:-1;
}
img{ max-width:100%; height:auto; vertical-align:middle; }
a{ color:var(--hd-link); text-decoration:none; }
a:hover{ opacity:.85; }
h1,h2,h3,h4{ color:var(--hd-primary); font-family:var(--hd-serif); font-weight:700; line-height:1.5; }

/* ===== 左サイドバー（ロゴ＋縦ナビ＋アクションボタン） ===== */
.hd{
  position:fixed; top:0; left:0; width:var(--hd-sidebar-w);
  max-height:100vh; overflow-y:auto;
  padding:18px 28px 30px;
}
.hd-inner{ display:flex; flex-direction:column; align-items:center; gap:5px; }
.hd-toggle{ display:none; }  /* PCでは非表示（スマホのみハンバーガー） */
.hd-logo{ margin-bottom:10px; }
.hd-logo img{ width:auto; height:66px; }
.hd-nav{ display:flex; flex-direction:column; align-items:center; gap:5px; width:100%; }
.hd-nav a{ display:block; width:100%; line-height:0; }
.hd-nav a img{ width:100%; height:auto; display:block; }
/* ナビ5枚とアクション2枚の間に余白（本番踏襲） */
.hd-nav a:nth-child(6){ margin-top:11px; }
/* スマホ用テキストナビ／スクリムはPC非表示（スマホのみ本番準拠ドロワーで使用） */
.hd-nav-m{ display:none; }
.hd-scrim{ display:none; }

/* ===== メイン本文（サイドバー右側） ===== */
.site-main{ max-width:var(--hd-content); margin:0 auto; padding:24px 20px 8px; }
.site-main .entry-title{ margin:0 0 18px; font-size:26px; border-bottom:2px solid var(--hd-accent); padding-bottom:10px; }
.post-date{ color:#999; font-size:13px; }

/* ===== ギャラリー（本番Elementorのmasonry配置を3列で忠実再現） ===== */
.gallery{ margin:0; padding:0 2px 0 0; }
.gallery-grid{ display:flex; gap:0; align-items:flex-start; }
.gcol{ flex:1 1 0; display:flex; flex-direction:column; gap:0; min-width:0; }
.gcol img{ width:100%; display:block; }
/* スクロール連動フェードイン（JS有効時のみ。js-anim は wp_head で即時付与） */
.js-anim .gcol img{ opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
.js-anim .gcol img.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .js-anim .gcol img{ opacity:1; transform:none; transition:none; } }

/* ===== ヒーロー ===== */
.hero{ text-align:center; padding:80px 60px; }
.hero h1{ font-size:29px; font-weight:700; line-height:1.5; letter-spacing:0.05em; margin:0 0 14px; color:var(--hd-primary); }
.hero .lead{ font-size:17px; font-weight:900; line-height:1.8; letter-spacing:0; color:#555555; margin:0; }

/* ===== 下層ページ共通（ページヘッダー／サブナビ／セクション／ジグザグ） ===== */
/* margin-top:0 = WordPressのブロックギャップ(:where(.wp-site-blocks)>*)がmainに付ける24px上マージンを打ち消し、ヒーローを上端フラッシュに（本番準拠） */
.site-main-full{ width:100%; margin-top:0; }
.page-hero{ min-height:230px; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; padding:0 40px; }
.page-hero h1{ margin:0; color:#fff; font-size:38px; font-weight:900; letter-spacing:.03em; text-shadow:0 0 4px rgba(0,0,0,.71); text-align:center; }
.subnav{ display:flex; justify-content:center; flex-wrap:wrap; gap:6px; padding:24px 16px 8px; max-width:1026px; margin:0 auto; }
.subnav a{ background:var(--hd-primary); color:#fff; padding:6px 10px; border-radius:8px; font-size:15px; font-weight:600; line-height:1.5;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; }
.subnav a.active,.subnav a:hover{ background:var(--hd-accent); opacity:1; }
.psec{ max-width:1026px; margin:0 auto; padding:22px 24px 48px; }
.sec-title{ text-align:center; font-size:28px; font-weight:900; color:var(--hd-primary); line-height:1.5; letter-spacing:0.03em; padding-bottom:7px; margin:0 0 34px; border-bottom:1px solid var(--hd-primary); }
.zz{ display:flex; gap:15px; align-items:flex-start; justify-content:space-between; margin:0 0 38px; }
.zz.rev{ flex-direction:row-reverse; }
.zz-img{ flex:0 0 49%; }
.zz-img img{ width:100%; height:auto; border-radius:4px; display:block; }
/* intro画像のクロップ（本番Elementorと同じページ別固定高さ・object-fit:cover） */
.zz-img img.ic{ object-fit:cover; object-position:center center; }
.zz-img img.ic-fuku{ height:350px; }
.zz-img img.ic-hida{ height:300px; }
.zz-img img.ic-noel{ height:350px; }
/* 日替わり弁当メニュー写真：全体を見せる（contain＋黒背景・固定高さ360px） */
.zz-img.menu img,.pgal.menu a img{ background:#000; object-fit:contain; width:100%; height:360px; }
@media(max-width:1024px){ .zz-img.menu img,.pgal.menu a img{ height:250px; } }
@media(max-width:767px){ .zz-img.menu img,.pgal.menu a img{ height:200px; } }
.zz-txt{ flex:1; font-size:15.5px; font-weight:500; line-height:1.8; letter-spacing:0.03em; text-align:justify; }
.zz.rev .zz-txt{ text-align:right; }
.zz-txt p{ margin:0; }
.zz-txt h3{ font-size:18px; margin:0 0 10px; }
.lead-text{ font-size:15.5px; line-height:2; margin:0 0 28px; }
.sec-sub{ text-align:center; font-size:20px; color:var(--hd-primary); font-weight:700; margin:0 0 30px; }
/* 概要テーブル（本番table02準拠＝横罫線#abababのみ・th無背景） */
.ptable{ width:100%; border-collapse:collapse; margin:0 0 28px; font-size:14.5px; }
.ptable th,.ptable td{ border:none; border-bottom:1px solid #ababab; padding:12px 14px; text-align:left; vertical-align:middle; line-height:1.8; }
.ptable th{ background:none; color:var(--hd-primary); white-space:nowrap; width:25%; font-weight:800; }
.ptable td{ font-weight:600; line-height:1.7; }
/* 価格表など全格子タイプ（本番bento等：4辺罫線・th紺#1b1e55・th30%） */
.ptable.grid th,.ptable.grid td{ border:1px solid #ababab; vertical-align:middle; font-weight:600; padding:10px 15px; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; }
.ptable.grid th{ color:#1b1e55; width:30%; font-weight:bold; }
/* 団体概要テーブル＝本番 .table01（全格子1px #ababab・th30%/td70%・padding20・15.5px/600・th色は文字色#555継承） */
.gtable{ width:100%; border-collapse:collapse; background:#fff; color:var(--hd-text); margin:0 0 28px; }
.gtable th,.gtable td{ border:1px solid #ababab; font-size:15.5px; font-weight:600; padding:20px; text-align:left; vertical-align:middle; line-height:1.8; }
.gtable th{ width:30%; }
.gtable td{ width:70%; }
.gtable .tbl-hl01{ font-size:1.06em; font-weight:800; }
@media(max-width:767px){ .gtable th,.gtable td{ display:block; width:100%; padding:10px 15px; } }
/* ダウンロード／リンクボタン */
.dlrow{ display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 24px; }
.dlbtn{ display:inline-block; background:var(--hd-primary); color:#fff; padding:9px 18px; border-radius:5px; font-size:14px; }
.dlbtn:hover{ background:var(--hd-accent); opacity:1; }
.bnr-link{ display:block; max-width:320px; margin:8px 0; }
.bnr-link img{ width:100%; }
.note{ font-size:13.5px; color:#777; margin:4px 0 20px; }
.imgrow{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; margin:6px 0 26px; }
.imgrow img{ flex:1 1 300px; max-width:48%; width:100%; height:auto; border-radius:4px; }
/* 1枚だけの行は本番同様 左寄せ48%（例: about03 ご寄付） */
.imgrow.imgrow-left{ justify-content:flex-start; }
@media(max-width:600px){ .imgrow.imgrow-left img{ max-width:100%; } }
.img-single{ display:block; max-width:600px; width:100%; height:auto; margin:6px auto 26px; border-radius:4px; }
/* 作業内容＋タイムスケジュール＝横2列（各600x500画像） */
.ws2{ display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; margin:10px 0 30px; }
.ws2 img{ width:100%; height:auto; display:block; border-radius:4px; }
@media(max-width:600px){ .ws2{ grid-template-columns:1fr; } }
/* 利用者・スタッフの声＝横長バナー(700x160)を縦積み・中央 */
.voice img{ display:block; width:100%; max-width:700px; height:auto; margin:0 auto 16px; border-radius:4px; }
/* 事業ページ：写真ギャラリー（5列グリッド・隙間0・3:2クロップ） */
.pgal{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:6px 0 30px; }
.pgal.c4{ grid-template-columns:repeat(4,1fr); }
.pgal a,.pgal img{ display:block; width:100%; }
.pgal a{ position:relative; aspect-ratio:3/2; overflow:hidden; }
.pgal img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.pgal a:hover img{ transform:scale(1.06); }
/* ⚠️ .pgal.c4(特異度0,2,0) がモバイル .pgal を上書きしてしまうため c4 も併記して本番列数に揃える */
@media(max-width:1024px){ .pgal, .pgal.c4{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:600px){ .pgal, .pgal.c4{ grid-template-columns:repeat(2,1fr); } }
/* 中央寄せ単独ボタン（intro後の「現在の募集情報」など） */
.btn-center{ text-align:center; margin:2px 0 30px; }
.btn-center a{ display:inline-block; background:#E2211C; color:#fff; padding:11px 30px; border-radius:5px; font-size:15px; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.btn-center a:hover{ background:#c41812; opacity:1; }
.btn-center.brown a{ background:var(--hd-primary); box-shadow:none; }
.btn-center.brown a:hover{ background:var(--hd-accent); }
/* 募集情報：3カラム横並びカード */
.rcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin:14px 0 20px; align-items:stretch; }
.rcard{ text-align:center; display:flex; flex-direction:column; }
.rcard-ttl{ font-size:21px; color:var(--hd-primary); font-weight:900; margin:0 0 12px; line-height:1.4; letter-spacing:.03em; }
.rcard-ttl .rc-svc{ display:block; font-size:0.7em; font-weight:900; }
.rcard img{ width:100%; height:auto; display:block; border-radius:4px; margin:0 0 12px; }
.rcard-lead{ font-size:16px; font-weight:600; line-height:1.5; letter-spacing:.03em; color:var(--hd-text); text-align:center; margin:0 0 6px; }
.rcard-txt{ font-size:15.5px; line-height:1.6; font-weight:500; text-align:justify; margin:0 0 14px; }
.rcard-list{ list-style:disc; text-align:left; padding-left:1.4em; margin:0 0 14px; }
.rcard-list li{ font-size:15.5px; line-height:1.6; font-weight:500; margin:0 0 8px; letter-spacing:.02em; }
.rcard-list .em-red{ color:var(--hd-red); }
.rcard-btn{ display:inline-block; margin-top:auto; align-self:center; background:var(--hd-red); color:#fff; padding:6px 20px; border-radius:0; font-size:18px; font-weight:600; line-height:1.5;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; }
.rcard-btn:hover{ background:var(--hd-accent); opacity:1; }
@media(max-width:767px){ .rcards{ grid-template-columns:1fr; gap:30px; } }
/* 事業ページ intro 直下の「現在の募集情報」赤グラデ・アイコン付き・右寄せボタン */
.btn-recruit{ margin:20px 0 4px; }
.btn-recruit a{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; box-sizing:border-box;
  padding:20px 25px; border-radius:6px; color:#fff; font-size:23px; font-weight:600; line-height:1.6;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  background:linear-gradient(180deg,#ED7950 0%,#E50012 100%); box-shadow:0 3px 8px rgba(0,0,0,.15); }
.btn-recruit a:hover{ background:linear-gradient(180deg,#e06840 0%,#c40010 100%); opacity:1; }
.btn-recruit svg{ width:23px; height:23px; fill:#fff; flex:0 0 auto; }
.sec-h3{ font-size:19px; color:var(--hd-primary); margin:6px 0 14px; padding-left:12px; border-left:5px solid var(--hd-accent); }
.sec-h4{ font-size:16px; color:var(--hd-primary); margin:18px 0 8px; }
.bankbox{ background:var(--hd-cream); border-radius:6px; padding:14px 18px; margin:0 0 16px; font-size:15px; line-height:1.9; }
@media(max-width:600px){ .imgrow img{ max-width:100%; } }
/* 事業ページ：H1 2段／最近の◯◯カード／施設アクセス地図 */
.page-hero h1 .pre{ display:block; font-size:0.55em; font-weight:900; margin-bottom:6px; letter-spacing:0; }
/* 最近の◯◯ カード = 本番Elementor postsウィジェット(skin-cards/post-card01)再現:
   白カード・box-shadow 0 0 10px rgba(0,0,0,.15)・角丸3px・画像3:2クロップ・
   タイトルNotoSans17/600/#54595F・日付NotoSans14/#555右寄せ(bottom) */
.works{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:6px 0 24px; }
.work{ display:flex; flex-direction:column; background:#fff; border-radius:3px; overflow:hidden;
  box-shadow:0 0 10px 0 rgba(0,0,0,.15); transition:box-shadow .25s; min-height:100%; }
.work:hover{ box-shadow:0 0 30px 0 rgba(0,0,0,.15); opacity:1; }
.work-img{ display:block; width:100%; padding-bottom:66%; background:#eee center/cover no-repeat; }
.work-body{ display:flex; flex-direction:column; flex:1; padding:0 1em; }
.work-ttl{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:17px; font-weight:600;
  line-height:1.5; letter-spacing:.03em; color:#54595F; margin:16px 0 0; }
.work-date{ margin-top:auto; padding:10px 0; text-align:right; font-family:"Noto Sans JP",sans-serif;
  font-size:14px; font-weight:400; color:var(--hd-text); line-height:1.5; }
.works-more{ text-align:center; margin:18px 0 24px; }
/* 「一覧を見る」= 本番element-f2843df: 透明背景・茶枠1px・茶文字・» 後置・hover茶塗り */
.more-btn{ display:inline-block; background:transparent; color:var(--hd-primary); border:1px solid var(--hd-primary);
  border-radius:0; padding:6px 30px; font-family:"Noto Sans JP",sans-serif; font-size:15px; font-weight:500;
  line-height:1.5; transition:background .2s,color .2s; }
.more-btn::after{ content:" »"; }
.more-btn:hover{ background:var(--hd-primary); color:#fff; opacity:1; }
.map-embed{ width:100%; height:500px; border:0; border-radius:6px; margin:6px 0 24px; }
@media(max-width:767px){ .works{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .works{ grid-template-columns:1fr; } }
/* アーカイブ／単記事 */
.arc-sec{ padding-bottom:0; margin-bottom:6px; }
.arc-head{ background:var(--hd-cream); border-bottom:3px solid var(--hd-accent); padding:26px 20px; margin:0 0 8px; }
.arc-title{ text-align:center; font-size:26px; font-weight:900; color:var(--hd-primary); margin:0; }
.arc-grid .wp-block-post-template{ gap:40px 35px; }
.arc-thumb img{ width:100%; aspect-ratio:3/2; object-fit:cover; }
.arc-ttl{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:18px; font-weight:700; line-height:1.5; letter-spacing:.03em; margin:10px 0 5px; }
.arc-ttl a{ color:var(--hd-primary); }
.arc-date{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:14px; font-weight:400; line-height:1.5; color:#555555; margin:0 0 5px; }
.arc-pager{ margin-top:60px; gap:10px; }
.arc-pager a,.arc-pager span{ color:var(--hd-primary); font-weight:700; padding:4px 8px; }
/* 投稿詳細の本文コンテナ。クラスは sgl（WordPressがbodyに付与する .single と衝突させないため。
   .single だと body.single にも当たり body 全体が max-width:1026 に潰れてレイアウトが壊れる） */
.sgl{ width:100%; max-width:1026px; margin-left:auto; margin-right:auto; box-sizing:border-box; }
.single-title{ font-size:24px; font-weight:900; color:var(--hd-primary); text-align:center; padding-bottom:0; margin:0 0 14px; line-height:1.6; }
.single-thumb img{ width:100%; border-radius:6px; margin:14px 0; }
.single-date{ margin:0 0 20px; }
.sgl .wp-block-post-content{ width:100%; font-size:15.5px; line-height:2; }
.sgl .wp-block-post-content img{ border-radius:6px; height:auto; }
.single-nav{ margin-top:40px; padding-top:20px; border-top:1px solid #e7dcc8; font-size:14px; }
.single-nav a{ color:var(--hd-primary); }
/* フォーム（Contact Form 7） */
.cf7wrap{ max-width:680px; margin:10px auto 0; }
.cf7-row{ margin:0 0 18px; }
.cf7-row label{ display:block; font-weight:700; color:var(--hd-primary); margin:0 0 6px; font-size:15px; }
.cf7-row .req{ background:var(--hd-red); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:3px; margin-left:6px; vertical-align:middle; }
.cf7-row input[type=text],.cf7-row input[type=email],.cf7-row input[type=tel],.cf7-row textarea,.cf7-row select{
  width:100%; padding:11px 12px; border:1px solid #d8ccb6; border-radius:5px; font-size:15px;
  font-family:inherit; background:#fffdf9; box-sizing:border-box; }
.cf7-row textarea{ min-height:130px; }
.wpcf7-list-item{ display:block; margin:4px 0; }
.cf7-submit{ text-align:center; margin-top:26px; }
.cf7-submit input[type=submit]{ background:var(--hd-accent); color:#fff; border:0; border-radius:999px;
  padding:14px 56px; font-size:16px; font-weight:700; cursor:pointer; font-family:inherit; }
.cf7-submit input[type=submit]:hover{ background:var(--hd-primary); }
.wpcf7-not-valid-tip{ color:var(--hd-red); font-size:13px; }
.wpcf7-response-output{ border-radius:5px; margin:18px 0 0 !important; }
.form-lead{ max-width:680px; margin:0 auto 18px; }

/* ===== バナー（フッター上・全ページ共通／本番=PC6列・タブレット3列・スマホ2列） ===== */
.bnr{ display:flex; flex-wrap:wrap; justify-content:space-around; align-items:flex-start;
      column-gap:5px; row-gap:18px; margin:0; padding:60px; }
.bnr a{ flex:0 0 15.6%; max-width:15.6%; display:block; }
.bnr a img{ width:100%; border-radius:4px; }
@media(max-width:1024px){ .bnr{ padding:40px; row-gap:5px; column-gap:5px; } .bnr a{ flex-basis:32%; max-width:32%; } }
@media(max-width:767px){ .bnr{ padding:30px; row-gap:8px; column-gap:8px; } .bnr a{ flex-basis:48%; max-width:48%; } }

/* ===== お知らせ ===== */
.news{ max-width:var(--hd-content); margin:8px auto; padding:0 20px; }
.news-head h2{ font-size:20px; border-left:6px solid var(--hd-accent); padding-left:10px; }

/* ===== フッター ===== */
.ft{ background:var(--hd-cream); margin-top:24px; }
.ft-inner{ max-width:var(--hd-content); margin:0 auto; padding:28px 20px; text-align:center; }
.ft-org{ font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:18px; font-weight:800; color:var(--hd-primary); margin:0 0 6px; }
.ft-addr{ font-size:14px; margin:0 0 8px; }
.ft-addr a{ color:var(--hd-primary); font-weight:700; }
.ft-links{ font-size:14px; margin:0 0 10px; }
.ft-links a{ color:var(--hd-primary); font-weight:500; }
.ft-copy{ font-size:12px; color:#9a8e7c; margin:0; }

/* ===== レスポンシブ：1024px以下はサイドバー → 上部バー（ハンバーガー式） ===== */
@media(max-width:1024px){
  body{ padding-left:0; background:var(--hd-bg); }
  body::before{ display:none; }                 /* サイドバー背景（クリーム帯）は消す */
  /* 本番準拠：上部バーを廃し、左オフキャンバスのドロワー＋浮くハンバーガー */
  .hd{ position:fixed; top:0; left:0; height:100vh; width:250px; max-width:82vw;
       z-index:200; background:var(--hd-side); padding:0; overflow-y:auto;
       transform:translateX(-100%); transition:transform .3s ease; }
  .hd.open{ transform:translateX(0); box-shadow:0 0 24px rgba(0,0,0,.25); }
  .hd-inner{ flex-direction:column; align-items:stretch; gap:0; padding:16px 0 30px; }
  .hd-logo{ margin:0 0 8px; padding:0 18px; text-align:left; }
  .hd-logo img{ height:52px; }
  /* 画像ナビはスマホ非表示、本番同様テキストナビを表示 */
  .hd-nav{ display:none; }
  .hd-nav-m{ display:flex; flex-direction:column; }
  .hd-nav-m a{ display:block; padding:11px 22px; font-family:var(--hd-serif);
       font-size:16px; line-height:1.4; color:var(--hd-text); text-decoration:none; }
  .hd-nav-m a:hover{ color:var(--hd-primary); }
  /* 浮くハンバーガー（ドロワー外・固定） */
  .hd-toggle{ display:flex; position:fixed; top:8px; right:10px; z-index:210;
    align-items:center; justify-content:center;
    width:46px; height:42px; border:0; border-radius:8px; cursor:pointer;
    background:var(--hd-accent); color:#fff; font-size:22px; line-height:1; }
  /* スクリム（ドロワー背後） */
  .hd-scrim{ position:fixed; inset:0; z-index:190; background:rgba(0,0,0,.35); }
  .hd-scrim.show{ display:block; }
  /* タブレット：本番段階値に合わせる */
  .sec-title{ font-size:24px; }
  .page-hero{ min-height:200px; padding:0 30px; }
  .page-hero h1{ font-size:30px; }
  .map-embed{ height:400px; }
  .rcards{ gap:15px; }
  /* intro画像クロップのモバイル高さ（本番準拠） */
  .zz-img img.ic-fuku{ height:200px; }
  .zz-img img.ic-hida{ height:200px; }
  .zz-img img.ic-noel{ height:250px; object-position:top center; }
}
@media(max-width:767px){
  .sec-title{ font-size:21px; padding-bottom:4px; }
  .page-hero{ min-height:160px; padding:0 20px; }
  .page-hero h1{ font-size:23px; }
  .map-embed{ height:350px; }
  /* intro 2列をスマホで縦積み（本番767pxブレーク） */
  .zz,.zz.rev{ flex-direction:column; gap:16px; }
  .zz-img{ flex-basis:auto; width:100%; }
  .zz-txt,.zz.rev .zz-txt{ text-align:justify; }
  /* 本番(table01/table02)同様、スマホは th/td を縦積み(block化) */
  .ptable th,.ptable td{ display:block; width:100%; }
  .ptable th{ text-align:left; white-space:normal; }
  /* home ヒーロー */
  .hero{ padding:30px 25px; }
  .hero h1{ font-size:20px; letter-spacing:0; }
  .hero .lead{ font-size:14px; }
  .rcards{ gap:40px; }
}

/* ===== チームドラえもん第3陣 ページ別本番忠実再現 (v2.0) ===== */
/* ===== about02 (page-id-172) 団体理念 副題 = 本番 .elementor-element-85a22c2 再現 ===== */
/* 出典: post-172.css … font-family:"Noto Serif JP",serif; font-size:32px; font-weight:700;
   line-height:1.5em; letter-spacing:0.05em; color:var(--e-global-color-text)=#555555; text-align:center
   1024px:26px/letter-spacing:0  767px:20px/letter-spacing:0 */
.page-id-172 .idea-lead{
  font-family:"Noto Serif JP",serif;
  font-size:32px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.05em;
  color:#555555;
  text-align:center;
  margin:0 0 40px;
}
@media(max-width:1024px){
  .page-id-172 .idea-lead{ font-size:26px; letter-spacing:0; }
}
@media(max-width:767px){
  .page-id-172 .idea-lead{ font-size:20px; letter-spacing:0; }
}
/* 貸借対照表ボタンは年度+ファイル名の2行(本番踏襲)。改行が入るボタン用に行間調整 */
.page-id-172 .dlrow.bs .dlbtn{ line-height:1.45; text-align:center; }/* ===== about03 (page-id-175) ご支援のお願い — 本番Elementor忠実再現 ===== */
/* 塗りラベル型見出し (本番 748a568 / 7bee0f2): primary茶背景 / 白 / Noto Sans JP 19px(SP17) / 700 / 中央 / padding7px 5px */
.page-id-175 .label-h{
  background-color:var(--hd-primary);
  color:#FFFFFF;
  font-family:"Noto Sans JP",sans-serif;
  font-size:19px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
  text-align:center;
  padding:7px 5px;
  margin:30px 0 16px;
  border:0;
  border-radius:0;
}

/* クリームカード (本番 de9e51d / 31bcec5): bg #EBE2DA80, padding 40px 50px, 中央, width90%(SP95%), 中央寄せ */
.page-id-175 .creambox{
  background-color:rgba(235,226,218,.5); /* #EBE2DA80 */
  width:90%;
  max-width:90%;
  margin:10px auto 0;
  padding:40px 50px;
  text-align:center;
  box-sizing:border-box;
}
.page-id-175 .creambox + .creambox{ margin-top:24px; }

/* 銀行見出し (本番 b260974 / 967cc57): Noto Serif JP 22px / 900 / 中央 */
.page-id-175 .bank-h{
  font-family:"Noto Serif JP",serif;
  font-size:22px;
  font-weight:900;
  line-height:1.5;
  letter-spacing:0.03em;
  text-align:center;
  color:inherit;
  margin:0 0 10px;
  padding:0;
  border:0;
}

/* 銀行明細テキスト (本番 8049f9d / ac2e224): Noto Serif JP 15.5px / 500 / 中央 / 行間1.8 */
.page-id-175 .bank-detail{
  font-family:"Noto Serif JP",serif;
  font-size:15.5px;
  font-weight:500;
  line-height:1.8;
  letter-spacing:0.03em;
  text-align:center;
}

/* 本文 lead 行間 本番準拠 1.8 (本番 line-height:1.8em) */
.page-id-175 .lead-text{ line-height:1.8; }

/* 締めの一文 (本番 94ec775): クリームカード外・中央寄せ */
.page-id-175 .bank-note{ text-align:center; margin-top:28px; }

@media(max-width:600px){
  .page-id-175 .label-h{ font-size:17px; padding:5px; }
  .page-id-175 .creambox{ width:95%; max-width:95%; padding:28px 22px; }
}/* ===== page-id-3590 bento-thanks (ふくふく亭 注文完了) 本番Elementor忠実再現 ===== */
/* 出典: /wp-content/uploads/elementor/css/post-3590.css + global color 28ef5e2(#CC3333) post-6.css */

/* 見出し: 下線なしプレーン Noto Serif 24/900 中央 (elem 6a37012) */
.page-id-3590 .thx-ttl{
  text-align:center;
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:24px; font-weight:900; line-height:1.6em; letter-spacing:0;
  color:var(--hd-primary);
  border-bottom:0; padding-bottom:0; margin:0 0 9px;
}

/* 通常本文 Noto Sans 16/400 中央 line1.8 (elem 04b1253 / 16df97c) */
.page-id-3590 .thx-lead{
  text-align:center;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:16px; font-weight:400; line-height:1.8em;
  margin:0;
}

/* 赤注意文 Noto Sans 18/600 #CC3333 中央 上下padding20 (elem 6931f08) */
.page-id-3590 .thx-note{
  text-align:center;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:18px; font-weight:600; line-height:1.8em;
  color:#CC3333;
  margin:0; padding:20px 0;
}

/* お問い合わせ電話ブロック Noto Sans 16/400 中央、strongで強調 (elem f871892) */
.page-id-3590 .thx-tel{
  text-align:center;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:16px; font-weight:400; line-height:1.8em;
  margin:15px 0 20px;
}
.page-id-3590 .thx-tel strong{ font-weight:700; }

/* トップページに戻る ボタン Noto Serif 17/900 pad13 30 茶 (elem 689ca52) */
.page-id-3590 .thx-back{ text-align:center; margin:0; }
.page-id-3590 .thx-backbtn{
  display:inline-block;
  background:var(--hd-primary); color:#fff;
  font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  font-size:17px; font-weight:900; line-height:1.6em; letter-spacing:0;
  padding:13px 30px; border-radius:5px;
}
.page-id-3590 .thx-backbtn:hover{ background:var(--hd-accent); opacity:1; }

/* モバイル: 本番 @media(max-width:767px) で見出し18px */
@media(max-width:767px){
  .page-id-3590 .thx-ttl{ font-size:18px; }
}/* ===== bento (page-id-3960) — 本番Elementor(post-3960.css)忠実再現 ===== */
/* 本番bento見出しは全ページ共通の中央下線型(.sec-title)と同一(center/下線#783F0B/28-24-21/900/Noto Serif/primary色)。上書き不要。 */
.page-id-3960 .psec .sec-title:first-child{ margin-top:0; }

/* 本番H4小見出し（19px/Noto Sans JP/600） */
.page-id-3960 .bento-h4{
  font-family:"Noto Sans JP",sans-serif; font-size:19px; font-weight:700;
  color:var(--hd-primary,#783F0B); line-height:1.5; letter-spacing:0.03em;
  margin:24px 0 8px; padding:0; border:none;
}

/* 注文弁当一覧：本番=2列(46%幅)・画像上＋H3＋説明文 */
.page-id-3960 .bento-intro{ text-align:center; }
.page-id-3960 .bento-intro p{ margin:0 0 4px; }
.page-id-3960 .bento-grid{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:40px 4%;
  margin:0 0 38px;
}
.page-id-3960 .bento-item{ flex:0 0 46%; max-width:46%; }
/* 本番bento写真：背景黒＋contain＋固定高さ360/250/200（.zz-img.menu流用） */
.page-id-3960 .bento-item .zz-img.menu img{ border-radius:0; }
.page-id-3960 .bento-h3{
  font-family:"Noto Sans JP",sans-serif; font-size:19px; font-weight:600;
  color:var(--hd-text,#555555); line-height:1.5; letter-spacing:0.03em;
  margin:14px 0 8px; padding:0; border:none;
}
.page-id-3960 .bento-item p{
  font-size:14.5px; line-height:1.9; text-align:justify; margin:0;
}

/* 主菜一覧：中華/洋食=2列、和風その他=全幅（本番flex-row構成） */
.page-id-3960 .shusai-row{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 4%;
  margin:0 0 8px;
}
.page-id-3960 .shusai-col{ flex:0 0 48%; max-width:48%; }
.page-id-3960 .shusai-row p,
.page-id-3960 .shusai-full p{
  font-size:14.5px; line-height:1.9; margin:0 0 8px;
}

/* ご確認事項=本番は2列グリッド(項目が左右に流れ行揃え): 受付期限(L)/大量数(R)/配達(L)/お受け渡し(R)/支払い(L)/キャンセル(R) */
.page-id-3960 .cfm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px 40px; margin:0 0 28px; }
.page-id-3960 .cfm-item .bento-h4{ margin-top:0; }
.page-id-3960 .cfm-item .lead-text{ margin-bottom:18px; }

/* お電話番号（本番=強調表示） */
.page-id-3960 .bento-tel{
  font-family:var(--hd-serif); font-size:43px; font-weight:900; color:var(--hd-primary,#783F0B);
  text-align:center; margin:18px 0 14px; line-height:1.3;
}
.page-id-3960 .tel-sec{ text-align:center; }
.page-id-3960 .tel-sec .lead-text{ text-align:center; font-family:"Noto Sans JP",sans-serif; }

@media(max-width:767px){
  .page-id-3960 .psec .sec-title{ font-size:21px; }
  .page-id-3960 .bento-grid{ gap:28px 0; }
  .page-id-3960 .bento-item,
  .page-id-3960 .shusai-col{ flex:0 0 100%; max-width:100%; }
  .page-id-3960 .bento-h3,
  .page-id-3960 .bento-h4{ font-size:18px; }
  .page-id-3960 .cfm-grid{ grid-template-columns:1fr; gap:0; }
  .page-id-3960 .tel-sec .bento-tel{ font-size:35px; }
}/* ===== blog (page-id-198) : 本番 Elementor posts(classic skin/thumbnail-left)再現 ===== */
/* 出典: /wp-content/uploads/elementor/css/post-198.css (element-40fde4a) */
.bloglist{
  display:block;
  margin:6px 0 24px;
}
.blogitem{
  display:flex;
  align-items:flex-start;
  margin-bottom:18px;           /* 本番のリスト縦間隔 18px */
}
.blogitem:last-child{ margin-bottom:0; }
.blogitem-thumb{
  flex:0 0 18%;                 /* post-198.css: post__thumbnail__link width:18% */
  width:18%;
  margin-right:12px;            /* post-198.css: thumbnail-left margin-right:12px */
  display:block;
  position:relative;
  padding-bottom:calc(18% * 0.7);/* aspect 1:0.7 を 18%幅基準で確保（高さ＝幅×0.7）*/
  height:0;
  overflow:hidden;
  background:#eee;
  border-radius:0;              /* 角丸なし */
}
.blogitem-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.blogitem-body{
  flex:1 1 auto;
  min-width:0;
}
.blogitem-ttl{
  margin:0 0 5px;
  font-family:"Noto Sans JP", sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.5em;
  letter-spacing:0;
  color:#783F0B;               /* --e-global-color-primary */
}
.blogitem-ttl a{
  color:#783F0B;
  text-decoration:none;
}
.blogitem-ttl a:hover{ text-decoration:underline; }
.blogitem-date{
  font-family:"Noto Sans JP", sans-serif;
  font-size:14px;
  font-weight:400;
  line-height:1.5em;
  color:#555555;               /* --e-global-color-text */
}
/* ページャ（コア paginate_links を Elementor 風に） */
.blog-pagination{
  margin:28px 0 8px;
  text-align:center;
}
.blog-pagination .page-numbers{
  display:inline-block;
  padding:6px 12px;
  margin:0 3px;
  color:#783F0B;
  text-decoration:none;
  line-height:1;
}
.blog-pagination a.page-numbers:hover{ text-decoration:underline; }
.blog-pagination .page-numbers.current{
  font-weight:700;
  color:#555555;
}
.blog-pagination .page-numbers.dots{ color:#555555; }
@media(max-width:600px){
  .blogitem-thumb{ flex-basis:30%; width:30%; padding-bottom:calc(30% * 0.7); }
}/* ===== contact (page-id-188) : 本番Elementor Proフォーム再現 ===== */
/* 出典: /wp-content/uploads/elementor/css/post-188.css (.elementor-element-bab8b10 フォーム widget)
   + kit post-6.css (--e-global-color-text:#555555 / accent:#F6AC1D / primary:#783F0B) */

/* フォーム幅 760px (本番 form widget 90%/content-width 900px ≒ 約760-810px。指示値760px採用) */
.page-id-188 .cf7wrap{ max-width:760px; }

/* ② ラベル色 #555 / 600 (現行=primary茶 700 を上書き)。本番: Noto Sans JP 15px/600/1.8em/.03em */
.page-id-188 .cf7-row label{
  color:#555; font-weight:600;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px; line-height:1.8; letter-spacing:.03em;
}

/* ④ 入力枠: 白背景 / 枠グレー #919191 (現行=#fffdf9 / #d8ccb6 を上書き)。
   本番フィールド: Noto Sans JP 15px/400/1.7em/.03em */
.page-id-188 .cf7-row input[type=text],
.page-id-188 .cf7-row input[type=email],
.page-id-188 .cf7-row input[type=tel],
.page-id-188 .cf7-row textarea,
.page-id-188 .cf7-row select{
  background:#ffffff; border-color:#919191;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px; font-weight:400; line-height:1.7; letter-spacing:.03em;
}

/* ③ ラジオ(お問い合わせ項目) も本番フィールドフォントに揃える */
.page-id-188 .cf7-row .wpcf7-list-item label{
  font-weight:400; color:#555;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px; line-height:1.7;
}
.page-id-188 .wpcf7-list-item{ display:block; margin:4px 0; }
.page-id-188 .wpcf7-list-item input[type=radio]{ margin-right:6px; vertical-align:middle; }

/* ① 送信ボタン: 背景#555 / 白 / 角丸3px / padding 10 20 / 17px / 500 / Noto Sans
   (現行=accent金ピル radius999px 14px/700 を上書き)。本番: hover も #555 維持 */
.page-id-188 .cf7-submit input[type=submit]{
  background:#555555; color:#fff; border:0; border-radius:3px;
  padding:10px 20px; font-size:17px; font-weight:500; line-height:1.5;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  cursor:pointer;
}
.page-id-188 .cf7-submit input[type=submit]:hover{ background:#555555; opacity:.9; }/* ===== page-id-196 (プライバシーポリシー) 本番Elementor忠実再現 ===== */
/* 本番: コンテンツ列幅 750px / 上80px・下60px パディング (post-196.css: el-6fd5095/2d60c55) */
.page-id-196 .psec{ max-width:750px; padding:80px 24px 60px; }

/* 本番見出し: 中央寄せ Noto Sans JP 21px/700/primary#783F0B・下線なし (post-196.css: el-b1e220e text-align:center) */
.page-id-196 .sec-title{
  text-align:center;
  font-family:"Noto Sans JP", sans-serif;
  font-size:21px;
  font-weight:700;
  line-height:1.5em;
  letter-spacing:0.03em;
  color:var(--hd-primary);
  border-bottom:none;
  padding-bottom:0;
  margin:0 0 5px;            /* 本番: 見出し→本文間 gap 5px */
}
/* 2番目以降の見出しブロック前に本番のブロック間 gap 60px を確保 */
.page-id-196 .lead-text + .sec-title{ margin-top:60px; }

/* 本番本文: Noto Sans JP 15px/400/両端揃え/line-height 2em (post-196.css: el-d1e3216 / el-c50ab93) */
.page-id-196 .lead-text{
  font-family:"Noto Sans JP", sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:2em;
  letter-spacing:0.03em;
  text-align:justify;
  color:#555;
  margin:0;
}
/* 本番は段落間に空 <p> 相当の余白あり → 連続 lead-text 間に余白付与 */
.page-id-196 .lead-text + .lead-text{ margin-top:1.6em; }

/* 本番リンク装飾 (d-underline 相当): 下線付き */
.page-id-196 .lead-text a{ text-decoration:underline; color:inherit; }

/* レスポンシブ: 本番 1024-768px=90% / 767以下=フル幅・見出し18px */
@media(max-width:1024px) and (min-width:768px){
  .page-id-196 .psec{ max-width:90%; padding:50px 24px 40px; }
}
@media(max-width:767px){
  .page-id-196 .psec{ max-width:100%; padding:40px 20px 30px; }
  .page-id-196 .sec-title{ font-size:18px; }
}/* ===== thanks (page-id-190) 本番Elementor忠実再現 ===== */
/* 本文枠: 本番container 2b969e08 content-width:900px / padding 100/140/80/80 (PC) */
.page-id-190 .thanks-psec{
  max-width:900px;
  padding:100px 80px 140px;
}
/* H2: 本番heading 647e86a0 = Noto Serif 24/900 中央・下線なし・茶なし(text色) */
.page-id-190 .sec-title{
  font-family:"Noto Serif JP", serif;
  font-size:24px;
  font-weight:900;
  line-height:1.6;
  letter-spacing:0;
  color:var(--hd-primary);
  text-align:center;
  border-bottom:none;
  padding-bottom:0;
  margin:0 0 9px;
}
/* lead: 本番text 1fb6acd5 = Noto Sans 16/400/lh1.8 中央 #555 */
.page-id-190 .lead-text{
  font-family:"Noto Sans JP", sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.8;
  color:#555555;
  margin:0;
  letter-spacing:normal;
}
.page-id-190 .lead-text + .lead-text{
  margin-top:1.8em;
}
/* 連絡先ブロック: 本番text bf2768d = 左揃え・中央配置(width auto)・margin 15/0/20 */
.page-id-190 .thanks-contact{
  width:auto;
  align-self:center;
  text-align:left;
  margin:15px auto 20px;
  font-family:"Noto Sans JP", sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.8;
  color:#555555;
}
.page-id-190 .thanks-contact p{ margin:0; }
.page-id-190 .thanks-contact p + p{ margin-top:1.8em; }
.page-id-190 .thanks-contact strong{ font-weight:700; }
/* 戻るボタン: 本番button 33ff746b = Noto Serif 17/900・pad13/30・radius3・primary(#783F0B) */
.page-id-190 a.tp-back{
  display:inline-block;
  background:#783F0B;
  color:#fff;
  font-family:"Noto Serif JP", serif;
  font-size:17px;
  font-weight:900;
  line-height:1.6;
  letter-spacing:0;
  text-decoration:none;
  padding:13px 30px;
  border-radius:3px;
}
.page-id-190 a.tp-back:hover{ opacity:.85; }
/* SP: 本番ブレークポイント (heading 18px / container padding 縮小) */
@media (max-width:767px){
  .page-id-190 .thanks-psec{ padding:40px 25px 30px; }
  .page-id-190 .sec-title{ font-size:18px; }
}
@media (min-width:768px) and (max-width:1024px){
  .page-id-190 .thanks-psec{ padding:60px 60px 80px; }
}/* ===== volunteer (page-id-194) 準備中 見出し: 本番Elementor忠実 =====
   本番 .elementor-194 .elementor-element-590a5c2: text-align:center / Noto Sans JP / 24px / 700 / line-height:1.5em / letter-spacing:0.03em / color:#555 (global text)
   汎用 .sec-title の茶色+下線+900 を打ち消す。 */
.page-id-194 .sec-title.prep-title{
  font-family:"Noto Sans JP", sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1.5em;
  letter-spacing:0.03em;
  color:#555555;
  text-align:center;
  border-bottom:0;
  padding-bottom:0;
  margin:0 0 16px;
}
@media (max-width:600px){
  .page-id-194 .sec-title.prep-title{ font-size:24px; padding-bottom:0; }
}/* ===== welfare (page-id-192) 本番Elementor忠実再現 ===== */
/* 本番H2: 左寄せ Noto Sans JP 24px/700, 下線#783F0B, padding 0 0 5px 5px (出典: post-192.css .elementor-element-a7e5ddd) */
body.page-id-192 .psec .sec-title{
  text-align:center;
  font-family:"Noto Sans JP",sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:0.03em;
  color:var(--hd-primary); /* 本番は見出し色指定なし=primary#783F0B継承 */
  padding:0 0 7px;
  margin:0 0 18px;
  border-bottom:1px solid #783F0B;
}
@media(max-width:1024px){
  body.page-id-192 .psec .sec-title{ font-size:22px; }
}
@media(max-width:767px){
  body.page-id-192 .psec .sec-title{ font-size:21px; }
}
/* 2つ目以降の見出し前に余白(本番はセクション間に間隔あり) */
body.page-id-192 .psec .sec-title{ margin-top:34px; }
body.page-id-192 .psec .sec-title:first-child{ margin-top:0; }

/* 本番リスト c-list-sign: 標準disc・段落と同等の本文サイズ・行間 */
body.page-id-192 .psec .c-list-sign{
  list-style:disc;
  margin:18px 0 0;
  padding-left:1.6em;
  font-family:"Noto Sans JP",sans-serif;
}
body.page-id-192 .psec .c-list-sign li{
  font-size:15.5px;
  line-height:2;
  color:#555555;
  margin:0 0 14px;
}
body.page-id-192 .psec .c-list-sign li:last-child{ margin-bottom:0; }

/* ===== fuku_menu(日替わり弁当メニュー)投稿詳細: 写真を本文幅いっぱいに（他ページと横幅・見栄えを統一） ===== */
.single-fuku_menu .sgl .wp-block-post-content img{ width:100%; height:auto; display:block; margin:18px 0; }

/* bento 主菜一覧（本番準拠：中央見出し＋点線下線・右列に和風その他） */
.shusai-sec{ margin:30px 0 0; background:#fff; box-shadow:0 1px 7px 0 rgba(141,126,72,.2); padding:25px 30px 40px; }
.shusai-title{ text-align:center; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:21px; font-weight:700; color:var(--hd-primary); margin:0 0 14px; }
.shusai-lead{ text-align:center; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:15.5px; font-weight:400; color:var(--hd-text); line-height:1.8; margin:0 auto 26px; }
.shusai-row{ display:flex; gap:40px; align-items:flex-start; }
.shusai-col{ flex:1 1 0; min-width:0; }
.shusai-cat{ text-align:center; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif; font-size:19px; font-weight:600; color:var(--hd-primary); border-bottom:1px dotted var(--hd-primary); padding:0 0 5px; margin:0 0 16px; }
.shusai-col .shusai-cat + .shusai-list + .shusai-cat{ margin-top:30px; }
.shusai-list{ font-size:15.5px; line-height:1.9; font-weight:500; text-align:left; margin:0; }
.shusai-note{ border-top:1px dotted #000; padding-top:15px; margin-top:26px; }
@media(max-width:767px){ .shusai-row{ flex-direction:column; gap:24px; } }

/* ===== 微調整バッチ (2.28) 本番照合 ===== */
/* #5 一覧ページャ：現在ページ/hover を本番のリンク色に・前後ナビ強調 */
.arc-pager a:hover,.arc-pager .page-numbers.current{ color:#CC3366; }
.arc-pager .page-numbers.dots{ color:#999; font-weight:500; }

/* #4 about02 PDFダウンロード：本番準拠のPDFアイコンカード（2列） */
.dlgrid{ display:grid; grid-template-columns:1fr 1fr; gap:18px 18px; margin:8px 0 24px; }
.pdf-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; text-decoration:none; }
.pdf-ico{ width:46px; height:58px; display:block; }
.pdf-name{ font-size:14px; color:var(--hd-text); line-height:1.5; word-break:break-all; }
.pdf-dl{ display:inline-flex; align-items:center; gap:6px; border:1px solid #cfc6b4; border-radius:4px;
  padding:8px 18px; font-size:14px; color:var(--hd-text); background:#fff; }
.pdf-dl:hover{ background:#f6f1e6; }
.pdf-card.guide .pdf-name{ font-weight:600; color:var(--hd-primary); }

/* #6 contact：説明文を中央寄せ＋法人事業本部/TELブロック */
.page-id-188 .form-lead{ text-align:center; }
.contact-honbu{ text-align:center; font-weight:700; color:var(--hd-primary); margin:34px 0 6px; }
.contact-tel{ text-align:center; font-family:var(--hd-serif); font-size:32px; font-weight:900;
  color:var(--hd-primary); margin:0 0 24px; line-height:1.3; }
@media(max-width:767px){ .contact-tel{ font-size:27px; } }
