/*
Theme Name: nobishou-theme
Template: twentytwentyfive
Author: Nobishou
Description: のびしょう専用カスタム子テーマ（王道ヘッダー版）
Version: 1.1
License: GNU GPL v2 or later
Text Domain: nobishou-theme


/* ===============================
   0) タイポグラフィ（流体）
=============================== */
html{ font-size: clamp(16px, 1.3vw + 14px, 18.5px); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ line-height: 1.8; }
h1,.wp-block-post-title{ font-size: clamp(26px, 4.5vw, 36px); line-height:1.3; font-weight:700; }
h2,.entry-content h2{     font-size: clamp(20px, 3.2vw, 28px); line-height:1.35; font-weight:700; }
h3,.entry-content h3{     font-size: clamp(18px, 2.6vw, 24px); line-height:1.4;  font-weight:700; }
.entry-content p,.wp-block-post-excerpt p{ line-height: 1.8; }

/* ===============================
   1) 画像・表・リンク崩れ防止
=============================== */
.entry-content img,
.wp-block-image img,
.wp-block-post-featured-image img { max-width:100%; height:auto; display:block; }
.wp-block-post-featured-image img { aspect-ratio:16/9; object-fit:cover; }
.entry-content table{ width:100%; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.entry-content a{ word-break:break-word; overflow-wrap:anywhere; }

/* ===============================
   2) ヘッダー（>=768px 固定 / <768px 非固定）
=============================== */
@media (min-width:768px){ :root{ --header-h: 180px; } } /* 実寸に合わせて数値だけ調整 */

@media (min-width:768px){
  header.wp-block-template-part > .wp-block-group:first-of-type,
  header.wp-block-template-part > .wp-block-group.alignfull{
    position:fixed !important; top:0; left:0; right:0; z-index:1100;
    width:100%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06);
  }
  .wp-site-blocks{ padding-top: var(--header-h, 150px) !important; }
  .admin-bar header.wp-block-template-part > .wp-block-group:first-of-type,
  .admin-bar header.wp-block-template-part > .wp-block-group.alignfull{ top:32px !important; }
  .admin-bar .wp-site-blocks{ padding-top: calc(var(--header-h,150px) + 32px) !important; }
}
@media (max-width:767.98px){
  header.wp-block-template-part > .wp-block-group:first-of-type,
  header.wp-block-template-part > .wp-block-group.alignfull{
    position:static !important; box-shadow:none !important;
  }
  .wp-site-blocks{ padding-top:0 !important; }
}
header.wp-block-template-part{ padding-block:8px; }


/* ===============================
   3) ナビ
=============================== 
*//* 1025px〜：ロゴ中央、右にナビ */
@media (min-width:1025px){
  /* ヘッダー本体（header-inner）をGrid化 */
  header.wp-block-template-part > .wp-block-group.alignfull.header-inner{
    display:grid !important;
    grid-template-columns:1fr auto auto 1fr;
    align-items:center !important;
    column-gap:clamp(16px,2vw,32px);
  }
  /* 中間ラッパーはフラット化 */
  header .header-inner > .wp-block-group:has(> .wp-block-site-logo),
  header .header-inner > .wp-block-group:has(> nav.wp-block-navigation){
    display:contents !important;
  }
  /* ロゴ＝中央列 */
  header :is(.wp-block-site-logo,.custom-logo-link){
    grid-column:2 !important;
    justify-self:center !important;
    margin:0 !important;
  }
  /* ナビ＝ロゴ右 */
  header nav.wp-block-navigation{
    grid-column:3 !important;
    justify-self:start !important;
    margin:0 !important;
    position:relative; z-index:2;
  }
  /* WPナビのオーバーレイ殻は無力化 */
  header nav.wp-block-navigation
  :is(.wp-block-navigation__responsive-container,
      .wp-block-navigation__responsive-dialog,
      .wp-block-navigation__responsive-container-content){
    display:contents !important;
    position:static !important;
    transform:none !important;
    inset:auto !important;
    width:auto !important; height:auto !important;
    opacity:1 !important; pointer-events:auto !important;
  }
  /* デスクトップではトグル類を隠す（RMPはモバイル用） */
  header .wp-block-navigation__responsive-container-open,
  header .wp-block-navigation__responsive-container-close,
  [id^="rmp_menu_trigger-"], .rmp_menu_trigger{ display:none !important; }
}

/* 〜1024px：WPナビは非表示（RMPを使用） */
@media (max-width:1024.98px){
  header nav.wp-block-navigation{ display:none !important; }
}



/* ベース：下線消し・通常500・やさしいブラウン */
header nav.wp-block-navigation a.wp-block-navigation-item__content{
  color:#8B5E3C !important;
  text-decoration:none !important;
  box-shadow:none !important;
  font-weight:500 !important;
  transition:color .3s ease, font-weight .2s ease;
}

/* ホバー */
header nav.wp-block-navigation a.wp-block-navigation-item__content:hover{
  color:#6E3F24 !important;
}

/* クリック中だけ太字 */
header nav.wp-block-navigation .wp-block-navigation__container > li > a.wp-block-navigation-item__content:active{
  font-weight:800 !important;
}

/* 現在ページ（Home を含め確実に太字）— 詳細度を上げて勝たせる */
header nav.wp-block-navigation .wp-block-navigation__container > li.current-menu-item > a.wp-block-navigation-item__content,
header nav.wp-block-navigation .wp-block-navigation__container > li.current_page_item > a.wp-block-navigation-item__content,
header nav.wp-block-navigation .wp-block-navigation__container > li.wp-block-navigation-item--active > a.wp-block-navigation-item__content,
header nav.wp-block-navigation .wp-block-navigation__container > li > a.wp-block-navigation-item__content[aria-current],
header nav.wp-block-navigation .wp-block-navigation__container > li > .wp-block-navigation-item__content[aria-current]{
  font-weight:800 !important;
}


/* ===============================
   4) Responsive Menu（最小上書き）
=============================== */
:root{
  --brand-brown:#4E3629; --accent-pink:#F2E9E3; --page-bg:#f9f8f7; --card-bg:#fff; --text:#222;
  --milk-10: color-mix(in srgb, white 96%, var(--brand-brown) 4%);
  --milk-press: color-mix(in srgb, white 92%, var(--brand-brown) 8%);
  --trigger-active:#EEE5DF; --trigger-active-press:#E6DBD3;
}
@supports (background: color-mix(in srgb, white, black)){
  :root{ --accent-pink: color-mix(in srgb, white 94%, var(--brand-brown) 6%);
         --trigger-active: color-mix(in srgb, white 93%, var(--brand-brown) 7%);
         --trigger-active-press: color-mix(in srgb, white 88%, var(--brand-brown) 12%); }
}
div[id^="rmp-container-"].rmp-container{ width:100vw !important; max-width:100vw !important; min-width:100vw !important; }
div[id^="rmp-container-"].rmp-container,
div[id^="rmp-container-"] .rmp-menu,
div[id^="rmp-container-"] .rmp-menu-inner{
  background-color: rgba(255,255,255,.94) !important; background-image:none !important;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
html.rmp-menu-open div[id^="rmp-container-"].rmp-container{ background-color: var(--milk-10) !important; }
/* トグル */
[id^="rmp_menu_trigger-"], .rmp_menu_trigger{
  top:10px !important; height:45px !important; width:45px !important;
  background:var(--brand-brown) !important; color:#fff !important;
  -webkit-tap-highlight-color:transparent; transition:background-color .18s, transform .18s, opacity .18s;
}
[id^="rmp_menu_trigger-"] .rmp-trigger-box,
[id^="rmp_menu_trigger-"] .rmp-trigger-box::before,
[id^="rmp_menu_trigger-"] .rmp-trigger-box::after,
[id^="rmp_menu_trigger-"] span,[id^="rmp_menu_trigger-"] span::before,[id^="rmp_menu_trigger-"] span::after{ background:#fff !important; }

html.rmp-menu-open [id^="rmp_menu_trigger-"]{
  /* background:var(--trigger-active) !important; ← 旧 */
  background: var(--press-milk) !important;   /* 開いている間の色 */
  box-shadow: 0 6px 20px rgba(0,0,0,.10) !important;
}

/* 優先度で負ける場合は、さらにこちらに差し替え（最小変更） */
[id^="rmp_menu_trigger-"].is-active{
  background: var(--press-milk) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.10) !important;
}
[id^="rmp_menu_trigger-"].is-active:active{
  background: color-mix(in srgb, white 86%, var(--brand-brown) 14%) !important;
}



html.rmp-menu-open [id^="rmp_menu_trigger-"] .rmp-trigger-box{ background:var(--brand-brown) !important; }
@media (hover:none),(pointer:coarse){
  [id^="rmp_menu_trigger-"]:active{ transform:scale(.98); }
  html.rmp-menu-open [id^="rmp_menu_trigger-"]:active{ background:var(--trigger-active-press) !important; }
}
#rmp-container-245,.rmp-container{ font-size:16px !important; line-height:1.7 !important; font-family:Manrope, sans-serif !important; }
#rmp-container-245 a,.rmp-container a{ display:block; padding:12px 20px; }
#rmp-container-245 .rmp-menu a.rmp-menu-item-link,
#rmp-container-245 .rmp-menu li.current-menu-item > a.rmp-menu-item-link{
  position:relative !important; display:block !important; padding:14px 16px !important; min-height:44px !important;
  line-height:1.3 !important; background:transparent !important; border:0 !important; box-shadow:none !important;
}
#rmp-container-245 .rmp-menu a.rmp-menu-item-link::before,
#rmp-container-245 .rmp-menu a.rmp-menu-item-link::after{ content:none !important; }
.rmp-menu li > a:hover,
.rmp-menu li > a:focus,
.rmp-menu li > a:focus-visible{
  background:transparent !important;
  color:#4E3629 !important; /* 文字色はそのまま運用でOK */
  outline:none;
}
/* ===============================
   5) 記事一覧（カード揃え）
=============================== */
.wp-block-query .wp-block-post{ display:flex !important; flex-direction:column !important; height:100% !important; }
.wp-block-query .wp-block-post .wp-block-post-featured-image{ margin-top:auto; }
.wp-block-query .wp-block-post .wp-block-post-title a{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4;
}
/* スマホ1列 */
@media (max-width:768px){
  .wp-block-post-template{ display:grid; grid-template-columns:1fr !important; row-gap:24px; }
}
/* 任意のグリッド（必要箇所だけ使う） */
.post-grid .wp-block-post-template{ display:grid !important; gap:20px !important; }






/* 5-a) 一覧の日付を小さく薄めに */
.home .wp-block-post-date,
.blog .wp-block-post-date,
.archive .wp-block-post-date{
  font-size: clamp(11px,1vw,12px);
  color: color-mix(in srgb, var(--brand-brown-dark) 75%, white 25%);
  margin-top: 6px;
}

/* （非表示にしたい派はこっちに差し替え）
.home .wp-block-post-date,
.blog .wp-block-post-date,
.archive .wp-block-post-date{ display:none; }
*/




/* 固定ページ（page）内のクエリループに出る投稿日を非表示 */
body.page .wp-block-query .wp-block-post-date,
body.page .wp-block-post-template .wp-block-post-date{
  display: none !important;
}

/* フロントページだけ狙い撃ちにしたいならこちらでもOK（どちらか一方で） */
/* body.front-page .wp-block-query .wp-block-post-date{ display:none !important; } */




/* ===============================
   6) ページネーション不要UIを隠す
=============================== */
.wp-block-query-pagination-more,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next{ display:none !important; }

/* ===============================
   7) ボタンとリスト
=============================== */
.wp-block-button__link, button, .button{
  min-height:44px; padding:12px 18px; border-radius:999px;
}
@media (max-width:768px){
  .wp-block-button{ width:100%; }
  .wp-block-button__link{ width:100%; text-align:center; }
}
.entry-content ul,.entry-content ol{ padding-left:1.2em; }
.entry-content li{ margin:.3em 0; }


/* ===== 変数（既にあるならそのままでOK） ===== */
:root{
  --brand-brown:#4E3629;
  /* 押下時にだけ使うミルクブラウン（サイトの雰囲気に寄せた色） */
  --press-milk: color-mix(in srgb, white 90%, var(--brand-brown) 10%);
}

/* ===== フォーム/CTAボタン：通常はそのまま、押している間だけ色変更 ===== */
.wp-block-button__link,
button,
.button,
input[type="submit"]{
  background: var(--brand-brown); color:#fff;
  transition: background-color .08s ease, transform .06s ease, filter .12s ease;
}

/* ホバーは薄い手触りだけ（色は変えない） */
@media (hover:hover){
  .wp-block-button__link:hover,
  button:hover,
  .button:hover,
  input[type="submit"]:hover{
    filter: brightness(.98);
  }
}

/* 押下中だけミルクブラウンに */
.wp-block-button__link:active,
button:active,
.button:active,
input[type="submit"]:active{
  background: var(--press-milk);
  transform: translateY(1px);
}

/* キーボード操作の見やすいリング */
.wp-block-button__link:focus-visible,
button:focus-visible,
.button:focus-visible,
input[type="submit"]:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--brand-brown) 40%, white 60%);
  outline-offset: 2px;
}

/* ===== ハンバーガー（RMP）も押下中だけ色変更 ===== */
[id^="rmp_menu_trigger-"]:active{
  background: var(--press-milk) !important;
  transform: scale(.98);
}

/* ===============================
   8) フロント導入文（中央寄せ）
=============================== */
.home h1,
.home .wp-site-blocks > *:first-child,
.home main > .wp-block-group:first-of-type{
  max-width:960px; margin-inline:auto;
  padding-inline:clamp(16px, 3vw, 32px);
}

/* ===============================
   9) フッター
=============================== */


:root{
  --brand-brown:#8B5E3C;
  --brand-brown-dark:#6E3F24;
}

/* フッター上端の細線（欲しければ残す） */
footer{ border-top:1px solid rgba(139,94,60,.25); }

/* テーマの下線風を打消し（必要最小限） */
footer a{ box-shadow:none !important; }

/* ===== フル幅の帯 ===== */
footer .footer-links{
  background: color-mix(in srgb, white 96%, var(--brand-brown) 4%);
  padding:20px clamp(16px,3vw,32px);
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}

/* 中身：中央寄せ＆タイポをここに限定 */
footer .footer-links p{
  display:flex; justify-content:center; align-items:center;
  flex-wrap:wrap; gap:10px 16px; margin:0 auto; text-align:center; width:100%;
  max-width:840px;
  color:var(--brand-brown);
  font-weight:500;
  font-size:clamp(12px,1.3vw,14px);
  line-height:1.7;
}
footer .footer-links a{
  color:var(--brand-brown);
  text-decoration:none;
}
footer .footer-links a:hover{ color:var(--brand-brown-dark); }

@media (max-width:767.98px){
  footer .footer-links p{ flex-direction:column; gap:8px; }
  footer .footer-links a{ display:block; }
}


footer .footer-links{
  background:#FFF7F2; /* fallback */
  background: color-mix(in srgb, white 96%, var(--brand-brown) 4%);
}

/* ===============================
   10) ロゴ（ラッパーで幅制御 → 画像は100%）
=============================== */
header .wp-block-site-logo, header .custom-logo-link{
  display:inline-block !important; max-width:none !important; line-height:0; width:auto !important;
  margin:0 auto; text-align:center;
}
header .wp-block-site-logo img, header .custom-logo-link img, img.custom-logo[width], img.custom-logo[height]{
  width:100% !important; height:auto !important; max-width:100% !important; object-fit:contain; display:block;
}
/* ラッパー幅を画面幅に応じて */
@media (max-width:767.98px){
  header .wp-block-site-logo, header .custom-logo-link{ width: clamp(150px, 48vw, 160px) !important; }
}
@media (min-width:768px) and (max-width:1024.98px){
  header .wp-block-site-logo, header .custom-logo-link{ width: clamp(165px, 20vw, 180px) !important; }
}
@media (min-width:1025px){
  header .wp-block-site-logo, header .custom-logo-link{ width: clamp(180px, 18vw, 246px) !important; }
}

/* ===============================
   11) 本文リンク色（ブランド寄せ）
=============================== */
.entry-content a:not(.wp-element-button),
.wp-block-post-content a:not(.wp-element-button){
  color:#6A4436 !important; text-decoration:underline; text-underline-offset:.15em;
}
.entry-content a:not(.wp-element-button):hover,
.wp-block-post-content a:not(.wp-element-button):hover{ color:#8B5E3C !important; }

/* ===============================
   12) 単一記事：余白・区切り・前/次ナビ
=============================== */
:root{ --v: clamp(10px, 2.8vw, 16px); --v-sm: calc(var(--v)*0.7); --v-lg: calc(var(--v)*1.6); }
body.single .entry-content > *{ margin-block: var(--v); }
body.single .entry-content h2, body.single .entry-content h3{ margin-block-start:var(--v-lg); margin-block-end:var(--v-sm); line-height:1.35; font-weight:700; }
body.single .entry-content h2{ font-size:clamp(20px,5.2vw,28px); }
body.single .entry-content h3{ font-size:clamp(18px,4.6vw,24px); }
body.single .entry-content hr, body.single .entry-content .wp-block-separator{
  display:block; height:1px; border:0; background:#e8e0db; margin:1.2rem 0;
}
.wp-block-post-navigation,.post-navigation{ border-top:1px solid #e8e0db; }
body.single .entry-content .wp-block-columns:last-of-type{
  margin-top:var(--v); margin-bottom:0 !important; padding-top:var(--v); border-top:1px solid #e8e0db;
  display:flex; gap:10px; flex-wrap:wrap;
}
body.single .entry-content .wp-block-columns:last-of-type .wp-block-column{ flex:1 1 100%; }
@media (min-width:768px) and (max-width:1024.98px){
  body.single .entry-content .wp-block-columns:last-of-type .wp-block-column{ flex:1 1 calc(50% - 6px); }
}
body.single .entry-content .wp-block-columns:last-of-type a{
  display:block; width:100%; padding:12px 14px; border:1px solid #e8e0db; border-radius:10px;
  background:#fff; color:#4E3629; text-decoration:none; line-height:1.7;
}
body.single .entry-content .wp-block-columns:last-of-type .wp-block-column:first-child a::before{ content:"← "; }
body.single .entry-content .wp-block-columns:last-of-type .wp-block-column:last-child a::after{ content:" →"; }
body.single .entry-content > :is(p,ul,ol,blockquote,.wp-block-group,.wp-block-list):last-child{ margin-bottom:.35rem !important; }
.single .wp-block-group.has-small-font-size{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem; }
.single .wp-block-group.has-small-font-size > p{ display:none !important; margin:0 !important; }
.single .wp-block-group.has-small-font-size :is(.wp-block-post-author-name,.wp-block-post-terms){ margin:0 !important; }
.single .wp-block-group.has-small-font-size .wp-block-post-author-name::after{ content:"｜"; margin:0 .4rem; opacity:.6; }
.single .entry-content strong, .single .entry-content b{ font-weight:700 !important; }
body.page .entry-content strong, body.page .entry-content b,
body.home .entry-content strong, body.home .entry-content b,
body.home .wp-block-query strong, body.home .wp-block-query b,
body.home .wp-block-post-excerpt strong, body.home .wp-block-post-excerpt b,
body.home .wp-block-group strong, body.home p strong, body.home li strong{ font-weight:700 !important; font-synthesis-weight:auto; }


/* 12-a) 単一記事：変更日（控えめ・王道） */
.single-post .wp-block-post-date{
  color: rgba(110,63,36,.78); /* = #6E3F24 を少し薄く */
  letter-spacing:.02em;
  line-height:1.2;
  margin: 0 0 clamp(8px, 1.2vw, 14px); /* タイトル直下の余白 */
}

/* （任意）タイトルと変更日を包むグループに class="title-meta" を付けた場合 */
.single-post .title-meta{ gap: clamp(8px,1.2vw,12px); }



/* ===============================
   13) HOMEの右寄り見え対策（SP/Tablet）
=============================== */
@media (max-width:1024.98px){
  .home .wp-site-blocks,
  .home .is-layout-constrained,
  .home .wp-block-group.is-layout-constrained,
  .home .wp-block-query,
  .home .post-grid,
  .home .category-links{
    box-sizing:border-box !important; width:100% !important; max-width:100% !important;
    margin-inline:auto !important; padding-inline:16px !important;
  }
  .home .wp-block-post-template{ margin-inline:0 !important; padding-inline:0 !important; }
  .home .wp-block-query .wp-block-post{ margin-inline:0 !important; }
  .home h2,.home h3{ margin-left:0 !important; margin-right:0 !important; }
}

/* ===============================
   14) 背景グラデ（必要な場合だけ使用）
=============================== */
html,body{ background:transparent !important; }
html::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom right,
    color-mix(in srgb, #F2E9E3 90%, white 10%) 0%,
    #fbf2ef 40%, #f9f8f7 100%);
  background-attachment:fixed;
}
.wp-site-blocks, main, .entry-content, .wp-block-post-content, .is-layout-constrained{
  position:relative; z-index:1; background:transparent !important;
}
header.wp-block-template-part > .wp-block-group{ background:#fff !important; }

/* ===============================
   15) Contact（page-id-28）
=============================== */
.page-id-28{ background:var(--page-bg); }
.page-id-28 h1{ color:color-mix(in srgb, var(--brand-brown) 85%, white 15%); letter-spacing:.01em; font-weight:700; position:relative; margin-bottom:1.25rem; }
.page-id-28 h1::after{ content:""; display:block; width:min(96px,28%); height:6px; border-radius:9999px;
  background:color-mix(in srgb, white 94%, var(--brand-brown) 6%); box-shadow:0 3px 12px rgba(78,54,41,.08); margin-top:.55rem; }
.page-id-28 .wpcf7 form, .page-id-28 .contact-form, .page-id-28 .wp-block-post-content form{
  max-width:680px; margin:24px auto; padding:20px 18px; background:var(--card-bg);
  border:1px solid rgba(78,54,41,.06); border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.page-id-28 form label{ display:block; margin:14px 0 6px; font-weight:600; color:color-mix(in srgb, var(--brand-brown) 85%, white 15%); }
.page-id-28 form input[type="text"],
.page-id-28 form input[type="email"],
.page-id-28 form input[type="url"],
.page-id-28 form input[type="tel"],
.page-id-28 form input[type="search"],
.page-id-28 form input[type="number"],
.page-id-28 form input[type="password"],
.page-id-28 form textarea,
.page-id-28 form select{
  width:100%; padding:12px 14px; border:1.6px solid color-mix(in srgb, var(--brand-brown) 14%, white 86%);
  border-radius:12px; background:#fffefb; font-size:16px; line-height:1.5; transition:border-color .15s, box-shadow .15s, background-color .15s; outline:none; box-sizing:border-box;
}
.page-id-28 form input:focus, .page-id-28 form textarea:focus, .page-id-28 form select:focus{
  border-color:var(--brand-brown); box-shadow:0 0 0 3px rgba(78,54,41,.14); background:#fff;
}
.page-id-28 form ::placeholder{ color: color-mix(in srgb, var(--brand-brown) 40%, white 60%); }
.page-id-28 form input[type="submit"], .page-id-28 form button[type="submit"]{
  -webkit-appearance:none; appearance:none; display:inline-block; width:100%; margin-top:18px; padding:12px 20px;
  border:none; border-radius:9999px; background:var(--brand-brown); color:#fff; font-weight:700; letter-spacing:.02em; cursor:pointer;
  box-shadow:0 8px 18px rgba(78,54,41,.22); transition:transform .06s, filter .15s, box-shadow .15s;
}
@media (hover:hover){
  .page-id-28 form input[type="submit"]:hover, .page-id-28 form button[type="submit"]:hover{
    filter:brightness(.96); box-shadow:0 10px 22px rgba(78,54,41,.26);
  }
}
.page-id-28 form input[type="submit"]:active, .page-id-28 form button[type="submit"]:active{ transform:translateY(1px); }
@media (max-width:420px){ .page-id-28 .wpcf7 form{ padding:16px 14px; border-radius:14px; } }

/* お問い合わせの見出し下の白い帯を消す */
.page-id-28 h1::after{ content:none !important; display:none !important; }


/* ===============================
   16) その他ユーティリティ
=============================== */
.layout-constrained, .wp-site-blocks, .entry-content{ max-width:840px; margin-inline:auto; padding-inline:24px; }
.wp-block-categories-list, .wp-block-term-description{ line-height:1.8; }
.category-links{ display:flex; flex-wrap:wrap; gap:10px 16px; }
.category-links a{ padding-block:4px; }



/* 0) ブラウザ既定の余白を消す（上＆左のスキマ原因） */
html, body { margin: 0 !important; }

/* 1) ヘッダー：帯を端まで & 内側余白ゼロ */
header.wp-block-template-part{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;               /* ← 上の隙間の主因を除去 */
}
/* 背景色が内側グループについている場合に備えてフルブリード化 */
header.wp-block-template-part .wp-block-group.alignfull{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* 2) フッター：帯を端まで & 左のスキマ解消（内側余白ゼロ） */
footer.wp-block-template-part{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;               /* ← 下や左右の余白を全てリセット */
  margin-bottom:0 !important;
}
/* フッター内で帯背景が付いているラッパーもフルブリード化 */
footer.wp-block-template-part .wp-block-group.alignfull,
footer.wp-block-template-part .footer-links{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* RMPモバイルメニュー：リンク文字色を固定して見えるように */
#rmp-container-245 .rmp-menu a.rmp-menu-item-link,
.rmp-container .rmp-menu a.rmp-menu-item-link {
  color: #4E3629 !important;          /* 通常時の文字色（ブランドブラウン） */
}

/* 現在ページ／フォーカス／ホバーも同じ色で見えるように */
#rmp-container-245 .rmp-menu li.current-menu-item > a.rmp-menu-item-link,
#rmp-container-245 .rmp-menu a.rmp-menu-item-link:focus,
#rmp-container-245 .rmp-menu a.rmp-menu-item-link:active,
#rmp-container-245 .rmp-menu a.rmp-menu-item-link:visited {
  color: #4E3629 !important;
}

#rmp-container-245 .rmp-menu a.rmp-menu-item-link:hover {
  background: transparent !important;
  color: #4E3629 !important;
}

/* キーボード操作時の見やすいアウトライン */
#rmp-container-245 .rmp-menu a.rmp-menu-item-link:focus-visible {
  outline: 2px solid #4E3629 !important;
  outline-offset: 2px;
}


/* RMPモバイルメニュー背景を半透明＋ぼかし */
#rmp-container-245.rmp-container,
#rmp-container-245 .rmp-menu,
#rmp-container-245 .rmp-menu-inner {
  background: rgba(255, 255, 255, 0.92) !important; /* 白を92%で透かす */
  backdrop-filter: blur(6px);   /* 背景を少しぼかす */
  -webkit-backdrop-filter: blur(6px);
}


/* RMPメニューの文字サイズをテーマと揃えてレスポンシブに */
#rmp-container-245 .rmp-menu a.rmp-menu-item-link {
  font-size: clamp(16px, 1.3vw + 14px, 18.5px) !important;
  line-height: 1.6 !important; /* 読みやすさ調整 */
}


/* もともとの背景（あなたのCSSにあったやつ） */
html::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(to bottom right,
    color-mix(in srgb, #F2E9E3 90%, white 10%) 0%,
    #fbf2ef 40%, #f9f8f7 100%);
  background-attachment:fixed;
}


/* 基準（スマホ〜タブ） */
div[id^="rmp-container-"] .rmp-menu a.rmp-menu-item-link{
  font-weight: 580 !important;
  font-variation-settings: "wght" 580;
}

/* 狭いスマホは少し軽くして改行しにくく */
@media (max-width: 360px){
  div[id^="rmp-container-"] .rmp-menu a.rmp-menu-item-link{
    font-weight: 560 !important;
    font-variation-settings: "wght" 560;
  }
}

/* タブレット横〜PCは少し太めに */
@media (min-width: 768px){
  div[id^="rmp-container-"] .rmp-menu a.rmp-menu-item-link{
    font-weight: 620 !important;
    font-variation-settings: "wght" 620;
  }
}

/* 現在ページは常に強調 */
div[id^="rmp-container-"] .rmp-menu li.current-menu-item > a{
  font-weight: 700 !important;
  font-variation-settings: "wght" 700;
}

/* クリック（押下）＆キーボード操作中だけ太く */
div[id^="rmp-container-"] .rmp-menu a.rmp-menu-item-link:active,
div[id^="rmp-container-"] .rmp-menu a.rmp-menu-item-link:focus-visible{
  font-weight: 700 !important;
  font-variation-settings: "wght" 700;
}



/* RMP が開いている間は、背景ページのスクロールを止める */
@supports selector(html:has(#rmp-container-245.rmp-menu-open)) {
  html:has(#rmp-container-245.rmp-menu-open),
  body:has(#rmp-container-245.rmp-menu-open) {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
  }
  /* メニュー側はスクロールOK */
  #rmp-container-245.rmp-menu-open .rmp-menu {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}