/*
Theme Name: XWRITE child
Version: 1.7.11
Template: xwrite
*/

/* =========================================================
   土岐をかけるやまだ  リデザイン  (FUTSU / 2026-07)
   参考: tono-startline.com の可読性 + やまだくんの元気ポップ
   キーカラー: 鮮やかブルー / 差し色: 黄
   ========================================================= */

:root{
  --font-jp:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --font-en:"Outfit",var(--font-jp);
  --blue:#0aa1e0;         /* 主色: 鮮やかブルー */
  --blue-deep:#0577ad;    /* 濃い青(文字/hover) */
  --blue-ink:#0f2f42;
  --ink:#15252f;          /* 見出し */
  --body:#3a434c;         /* 本文 */
  --muted:#8a99a4;        /* 日付など */
  --line:#e7e0d2;         /* 罫線: 暖色ニュートラル */
  --bg:#f4f1e8;           /* ページ背景: フラットな暖色ニュートラル（編集的・非グラデ） */
  --card:#ffffff;
  --pop:#ffce33;          /* 黄アクセント */
  --cat-gourmet:#ff7a4d;
  --cat-local-info:#17b5a4;
  --cat-event:#ffab1f;
  --cat-items:#7b74e8;
  --cat-works:#3f9ae0;
  --cat-miscellaneous:#94a3af;
  --cat-blog:#0aa1e0;
}

/* ===== Base typography ===== */
body{
  font-family:var(--font-jp); font-size:16px; line-height:1.9;
  letter-spacing:.02em; color:var(--body); background:var(--bg);
  font-weight:500; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{ color:var(--blue-deep); text-decoration:none; transition:color .2s,opacity .2s,background .2s; }
a:hover{ color:var(--blue); }
img{ max-width:100%; height:auto; }
.container{ max-width:1160px; }

/* 数字・英字は Outfit を優先（日付/カウンタ等の見栄え向上） */
.article-date,.entry-date,.posted-on time,.page-numbers,.wp-pagenavi,.postCount,.count{
  font-family:var(--font-en); font-feature-settings:"tnum";
}

/* ===== ヘッダー：鮮やかブルー地＋白ワードマーク（水色を進化） ===== */
.siteInfo__logo{ display:flex; flex-direction:column; justify-content:center; }
.siteInfo__title{ margin:0; line-height:1.1; }
.siteInfo__title a{
  display:flex !important; flex-direction:column; align-items:flex-start;
  font-family:var(--font-jp); font-weight:900; font-size:25px; letter-spacing:.01em;
  color:#fff !important; line-height:1.12;
}
.siteInfo__title a:hover{ color:#fff !important; opacity:.88; }
/* 英字サブラベル：ワードマーク直下にflex縦積みで確実に配置（右への回り込み・分断を解消） */
.siteInfo__title a::after{
  content:"TOKIOXYAMADA"; display:block; order:2;
  font-family:var(--font-en); font-weight:600; font-size:10px;
  letter-spacing:.24em; color:rgba(255,255,255,.8); margin-top:5px;
}
.siteInfo__en{ display:none; } /* 旧フック出力（残存時の保険） */
.siteInfo__desc{ display:none; }

/* グローバルナビ（青地に白・太字） */
.gNavList,.siteNavList{ font-family:var(--font-jp); font-weight:700; }
.gNavList a,.siteNavList--global a{ letter-spacing:.03em; }
.gNavList a:hover{ opacity:.82; }

/* =========================================================
   SPドロワーメニュー（フラット暖色・カテゴリ色ドット・編集的）
   ※ .nav__drawers__inner / #menu-sp-menu はSPドロワー専用要素
   ========================================================= */
.nav__drawers:has(.nav__drawers__inner){ background:var(--bg); }
/* ②min-height:100vhを廃止（閉時に空きが出てスクロールが崩れる原因）。位置基準＋⑤挿絵のクリップ */
.nav__drawers__inner{ background:var(--bg); padding:26px 22px 48px; position:relative; overflow:hidden; }
/* ⑤ ドロワーに走るやまだくん（右側・メニューの背後／クリック透過） */
.nav__drawers__inner::after{
  content:""; position:absolute; right:8px; top:36%; width:146px; height:218px; z-index:0;
  background:url(assets/yamada/running.png) no-repeat center/contain; pointer-events:none; opacity:.96;
}
#menu-sp-menu,.nav__drawers--widgets{ position:relative; z-index:1; }
.nav__drawers__inner::before{
  content:"MENU"; display:block; font-family:var(--font-en); font-weight:600;
  font-size:12px; letter-spacing:.34em; color:var(--blue); margin:2px 0 16px;
  padding-bottom:12px; border-bottom:2px solid #e5dfcf;
}
#menu-sp-menu{ margin:0; }
#menu-sp-menu > .menu-item{ border-bottom:1px solid #e7e1d2; }
#menu-sp-menu > .menu-item:last-child{ border-bottom:none; }
#menu-sp-menu > .menu-item > a{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 2px; font-family:var(--font-jp); font-weight:800; font-size:16px;
  color:var(--ink); line-height:1.4; transition:color .18s;
}
#menu-sp-menu > .menu-item > a::after{
  content:""; width:8px; height:8px; flex:0 0 auto; margin-left:12px;
  border-right:2px solid #c6bba1; border-top:2px solid #c6bba1; transform:rotate(45deg);
  transition:border-color .18s;
}
#menu-sp-menu > .menu-item > a:hover,
#menu-sp-menu > .menu-item.current-menu-item > a{ color:var(--blue); }
#menu-sp-menu > .menu-item > a:hover::after{ border-color:var(--blue); }
/* 子メニュー持ち項目もpaddingを均等固定（XWRITE由来の上下余白差でシェブロンがズレるのを防ぐ） */
#menu-sp-menu > .menu-item.menu-item-has-children > a{ padding:15px 2px !important; }
/* サブメニュー（カテゴリ）：色アイコンなし・すっきり。左に細い区切り線でグループ化 */
#menu-sp-menu .sub-menu{ margin:2px 0 10px; padding:2px 0 2px 14px; border-left:2px solid #e5dfcf; }
#menu-sp-menu .sub-menu .menu-item{ border:none; }
#menu-sp-menu .sub-menu .menu-item > a{
  display:block; padding:9px 2px; font-family:var(--font-jp); font-weight:700;
  font-size:14px; color:var(--body); border:none; transition:color .18s;
}
/* XWRITE既定の「−」ダッシュ疑似要素を除去（top寄せでズレて見えるため） */
#menu-sp-menu .sub-menu .menu-item > a::before{ content:none !important; display:none !important; }
#menu-sp-menu .sub-menu .menu-item > a:hover{ color:var(--blue); }
/* ウィジェット（検索・SNS）＝白カード */
.nav__drawers--widgets{ margin-top:24px; display:flex; flex-direction:column; gap:14px; }
.nav__drawers--widgets .widget{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; margin:0; }
.nav__drawers--widgets .widget-title,.nav__drawers--widgets .wp-block-search__label{ font-size:12px; letter-spacing:.06em; }

/* ===== メインビジュアル ===== */
.mainVisual{ background:var(--bg); }
.mainVisual img{ border-radius:0; }

/* ===== セクション見出し（新着記事など / ウィジェット見出し） ===== */
.widget-title,.articleListTitle,.archiveHeader__title,.pageHeader__title{
  font-family:var(--font-jp); font-weight:900; color:var(--ink);
  font-size:20px; letter-spacing:.02em; position:relative; padding-left:14px;
}
.widget-title::before,.articleListTitle::before{
  content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:5px;
  border-radius:4px; background:var(--blue);
}

/* =========================================================
   記事カード（トップ/一覧）
   ========================================================= */
.articleList.type-card .articleList__item{ }
/* カード間の余白を詰め、「こちらもおすすめ」と統一（列30→16 / 行40→20） */
.articleList.type-card.pc-card-col3{ gap:20px 16px; }
.xw-article-media{
  display:block; background:var(--card); border-radius:16px; overflow:hidden;
  box-shadow:0 2px 0 rgba(15,47,66,.04); border:1px solid var(--line);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s;
}
.xw-article-media:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px -14px rgba(10,120,173,.35);
  border-color:#d5e6f0;
}
.articleList__item--fig{ overflow:hidden; aspect-ratio:16/10; margin:0; background:#eef4f8; }
.articleList__item--fig img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.xw-article-media:hover .articleList__item--fig img{ transform:scale(1.05); }

.xw-article-media__body{ padding:16px 16px 18px; }
.xw-article-media__body--title{
  font-family:var(--font-jp); font-weight:700; font-size:16.5px; line-height:1.62;
  color:var(--ink); letter-spacing:.01em;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.xw-article-media:hover .xw-article-media__body--title{ color:var(--blue-deep); }
.xw-article-media__body--text{
  margin-top:9px; font-size:13.5px; line-height:1.85; color:#6b7883; font-weight:400;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.xw-article-media__body--extra{ margin-top:12px; }

/* 日付：Outfit・時計アイコン除去 */
.article-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.article-date .fa-clock,.article-date i{ display:none !important; }
.article-date,.article-date time{
  font-family:var(--font-en); font-weight:600; font-size:12.5px; color:var(--muted);
  letter-spacing:.04em;
}

/* カテゴリチップ：色分け・ピル型 */
.article-category .cat-list,.article-category ul{ margin:0; padding:0; display:flex; gap:6px; flex-wrap:wrap; }
.article-category .cat-item,.article-category li{ list-style:none; }
.article-category a,.article-category .list-label,.article-category span{
  display:inline-block; padding:3px 11px; border-radius:999px;
  font-family:var(--font-jp); font-weight:700; font-size:11.5px; letter-spacing:.02em;
  color:#fff !important; background:var(--blue) !important; line-height:1.6;
}
/* 記事のカテゴリslugで色分け（高詳細度＋!important でXWRITEの色を上書き） */
.xw-article-media.category-gourmet .article-category a,.xw-article-media.category-gourmet .article-category .list-label{ background:var(--cat-gourmet) !important; }
.xw-article-media.category-local-info .article-category a,.xw-article-media.category-local-info .article-category .list-label{ background:var(--cat-local-info) !important; }
.xw-article-media.category-event .article-category a,.xw-article-media.category-event .article-category .list-label{ background:var(--cat-event) !important; }
.xw-article-media.category-items .article-category a,.xw-article-media.category-items .article-category .list-label{ background:var(--cat-items) !important; }
.xw-article-media.category-works .article-category a,.xw-article-media.category-works .article-category .list-label{ background:var(--cat-works) !important; }
.xw-article-media.category-miscellaneous .article-category a,.xw-article-media.category-miscellaneous .article-category .list-label{ background:var(--cat-miscellaneous) !important; }

/* サムネにカテゴリを重ねる表示のとき（XWRITEの重ね設定）も見やすく */
.articleList__item--fig .article-category a,.articleList__item--fig .list-label{
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

/* =========================================================
   サイドバー整理：タグクラウド削除・見た目調整
   ========================================================= */
.widget_tag_cloud,.tagcloud{ display:none !important; }
.widget{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 18px; margin-bottom:22px; }
.widget-title{ margin:-2px 0 14px; }
.catList a,.cat-list a,.widget_categories a{ color:var(--body); font-weight:700; }
.catList a:hover,.widget_categories a:hover{ color:var(--blue); }
.widgetSearch input[type="search"],.searchform input[type="text"]{ border-radius:999px; }

/* =========================================================
   投稿本文：見出し・引用（v2）
   本文コンテナは .articleBody（.entry-content はXWRITEに無い）。
   見出しはテーマがカスタマイザー由来のインラインstyleで装飾するため !important で上書き
   ========================================================= */
.articleBody{ font-size:16px; line-height:2.0; color:var(--body); }
.articleBody h2{
  background:none !important; border-radius:0 !important; color:var(--ink) !important;
  font-weight:900 !important; font-size:24px; line-height:1.5;
  margin:2.2em 0 .9em; padding:.55em .2em .55em .7em !important; position:relative;
  border-bottom:3px solid var(--blue) !important;
}
.articleBody h2::before{
  content:"" !important; position:absolute; left:0; top:.2em; bottom:.4em; width:7px; height:auto !important;
  border-radius:4px; background:var(--blue) !important;
}
/* 見出しの中に画像が入っているケース（山田さんの記事構造 例:/about の<h2><img>著作権について</h2>）。
   縦バー(::before)は要素全高に伸びるため画像に被る→画像入り見出しでは縦バーを消し、下線見出しとして表示。 */
.articleBody h2:has(img)::before{ content:none !important; display:none !important; }
.articleBody h2:has(img){ padding-left:.2em !important; }
.articleBody h3{
  font-weight:800 !important; font-size:20px; line-height:1.55; color:var(--ink) !important;
  margin:2em 0 .8em; padding:0 0 0 .6em !important;
  border-left:6px solid var(--pop) !important; border-bottom:none !important;
}
.articleBody h3::before{ content:none !important; }
.articleBody h4{
  font-weight:800 !important; font-size:17px; color:var(--blue-deep) !important; margin:1.7em 0 .6em;
  padding:0 0 .25em !important; border-bottom:2px dotted #cfe2ee !important;
}
.articleBody h4::before{ content:none !important; }
.articleBody blockquote{
  position:relative; margin:1.8em 0; padding:22px 22px 22px 56px;
  background:#eef7fb; border-radius:14px; border:none; color:#40515c; font-size:15.5px;
}
.articleBody blockquote::before{
  content:"\201C"; position:absolute; left:16px; top:2px;
  font-family:var(--font-en); font-weight:700; font-size:52px; color:var(--blue); opacity:.5; line-height:1;
}
.articleBody blockquote p:last-child{ margin-bottom:0; }
.articleBody p > a, .articleBody li > a{ color:var(--blue-deep); text-decoration:underline; text-underline-offset:2px; }
.articleBody p > a:hover, .articleBody li > a:hover{ color:var(--blue); }

/* =========================================================
   レスポンシブ（SP）
   ========================================================= */
@media (max-width:768px){
  body{ font-size:15px; line-height:1.85; }
  .siteInfo__title a{ font-size:18px; }
  .siteInfo__title a::after{ font-size:9px; letter-spacing:.18em; margin-top:3px; }
  .xw-article-media__body--title{ font-size:15.5px; }
  .articleBody h2{ font-size:21px; }
  .articleBody h3{ font-size:18px; }
  /* SP一覧は2カラム */
  /* SPカードgap：SPは要素クラスが mb-card-col1 になる（XWRITEがJSで切替）ため型で縛らず、
     親の .articleList.type-card{gap:30px} を !important＋body高詳細度で上書き。2カラム維持・関連記事(12px)と統一 */
  body .articleList.type-card{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; }
  .articleList.type-card .articleList__item{ width:auto !important; margin:0 !important; }
}

/* =========================================================
   関連レコメンド記事（4件）
   ========================================================= */
.yamada-related{ margin:44px 0 8px; }
.yamada-related__title{
  font-family:var(--font-jp); font-weight:900; font-size:20px; color:var(--ink);
  margin:0 0 18px; padding-left:14px; position:relative; display:flex; align-items:baseline; gap:12px;
}
.yamada-related__title::before{ content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:6px; border-radius:4px; background:var(--blue); }
.yamada-related__title span{ font-family:var(--font-en); font-weight:600; font-size:12px; letter-spacing:.12em; color:var(--muted); }
.yamada-related__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.yamada-related__item{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:14px; overflow:hidden; transition:transform .2s,box-shadow .2s,border-color .2s;
}
.yamada-related__item:hover{ transform:translateY(-4px); box-shadow:0 12px 26px -14px rgba(10,120,173,.35); border-color:#d5e6f0; }
.yamada-related__fig{ display:block; aspect-ratio:16/10; overflow:hidden; background:#eef4f8; }
.yamada-related__fig img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.yamada-related__item:hover .yamada-related__fig img{ transform:scale(1.05); }
.yamada-related__noimg{ display:block; width:100%; height:100%; background:linear-gradient(135deg,#e7f3fb,#dbeef6); }
.yamada-related__body{ padding:11px 12px 13px; display:flex; flex-direction:column; gap:7px; }
.yamada-related__cat{
  align-self:flex-start; font-family:var(--font-jp); font-weight:700; font-size:10.5px; color:#fff;
  background:var(--blue); border-radius:999px; padding:2px 9px; line-height:1.6;
}
.category-gourmet .yamada-related__cat{ background:var(--cat-gourmet); }
.category-local-info .yamada-related__cat{ background:var(--cat-local-info); }
.category-event .yamada-related__cat{ background:var(--cat-event); }
.category-items .yamada-related__cat{ background:var(--cat-items); }
.category-works .yamada-related__cat{ background:var(--cat-works); }
.category-miscellaneous .yamada-related__cat{ background:var(--cat-miscellaneous); }
.yamada-related__ttl{
  font-family:var(--font-jp); font-weight:700; font-size:13.5px; line-height:1.55; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.yamada-related__date{ font-family:var(--font-en); font-weight:600; font-size:11.5px; color:var(--muted); letter-spacing:.04em; }

/* =========================================================
   吹き出し（会話）  [fukidashi]
   ========================================================= */
.fukidashi{ display:flex; align-items:flex-start; gap:14px; margin:1.6em 0; }
.fukidashi.is-right{ flex-direction:row-reverse; }
.fukidashi__icon{ flex:0 0 62px; width:62px; }
.fukidashi__icon img{ width:62px; height:62px; border-radius:50%; object-fit:cover; border:3px solid var(--blue); background:#fff; }
.fukidashi__icon--placeholder{ display:block; width:62px; height:62px; border-radius:50%; border:3px solid var(--blue); background:radial-gradient(circle at 50% 42%,#ffe08a,#ffce33); }
.fukidashi__body{ position:relative; max-width:78%; background:#eef7fb; border:1px solid #d6ebf5; border-radius:14px; padding:12px 16px; }
.fukidashi__name{ display:block; font-family:var(--font-jp); font-weight:700; font-size:12px; color:var(--blue-deep); margin-bottom:3px; }
.fukidashi__text{ display:block; font-size:15px; line-height:1.8; color:#3a4650; }
.fukidashi__text p{ margin:0 0 .5em; } .fukidashi__text p:last-child{ margin:0; }
.fukidashi.is-left .fukidashi__body::before{
  content:""; position:absolute; left:-9px; top:20px; border:9px solid transparent;
  border-right-color:#eef7fb; filter:drop-shadow(-1px 0 0 #d6ebf5);
}
.fukidashi.is-right .fukidashi__body::before{
  content:""; position:absolute; right:-9px; top:20px; border:9px solid transparent;
  border-left-color:#eef7fb; filter:drop-shadow(1px 0 0 #d6ebf5);
}

/* =========================================================
   サイドバー整理：検索・カテゴリ中心（不要ウィジェット非表示）
   ========================================================= */
.widget_meta,.widget_recent_comments,.widget_recent_entries,.side .widget_sns_widget{ display:none !important; }

/* 関連記事レスポンシブ */
@media (max-width:768px){
  .yamada-related__grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .fukidashi__body{ max-width:100%; }
}

/* =========================================================
   ヘッダー：やまだくんアイコン（ワードマーク左・メインヘッダーのみ）
   ========================================================= */
.yamada-head-icon{ display:none; }
#header .headerInfo{ position:relative; padding-left:76px; }
#header .yamada-head-icon{ display:block; position:absolute; left:0; top:50%; transform:translateY(-50%); }
#header .yamada-head-icon img{
  width:58px; height:58px; border-radius:50%; object-fit:cover; display:block;
  border:3px solid rgba(255,255,255,.95); background:#fff;
}

/* =========================================================
   フッター直上バナー3枚（やまだくんとは / LINEスタンプ / SNS）
   ========================================================= */
.yamada-footbnr{ padding:36px 0 10px; }
.yamada-footbnr__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.yamada-footbnr__card{
  display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--line);
  border-radius:16px; padding:14px 16px; min-height:96px;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s;
}
a.yamada-footbnr__card{ color:var(--ink); }
a.yamada-footbnr__card:hover{
  transform:translateY(-3px); box-shadow:0 12px 26px -14px rgba(10,120,173,.35);
  border-color:#d5e6f0; color:var(--ink);
}
.yamada-footbnr__fig{ flex:0 0 64px; }
.yamada-footbnr__fig img{ width:64px; height:64px; border-radius:12px; object-fit:cover; display:block; background:#eef4f8; }
.yamada-footbnr__body{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.yamada-footbnr__en{ font-family:var(--font-en); font-weight:600; font-size:10.5px; letter-spacing:.14em; color:var(--blue); }
.yamada-footbnr__en.is-line{ color:#06c755; }
.yamada-footbnr__ttl{ font-family:var(--font-jp); font-weight:900; font-size:16px; color:var(--ink); line-height:1.4; }
.yamada-footbnr__desc{ font-size:12px; color:var(--muted); font-weight:500; line-height:1.6; }
.yamada-footbnr__arw{ flex:0 0 auto; color:var(--blue); }
.yamada-footbnr__sns{ display:flex; gap:10px; margin-top:8px; }
.yamada-footbnr__sns a{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; color:#fff;
  transition:transform .2s ease, opacity .2s;
}
.yamada-footbnr__sns a:hover{ transform:translateY(-2px); opacity:.85; color:#fff; }
.yamada-footbnr__sns .is-x{ background:#0f1419; }
.yamada-footbnr__sns .is-ig{ background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888); }
.yamada-footbnr__sns .is-fb{ background:#1877f2; }

/* フッターウィジェット（トライアングルワークスのロゴバナー等）：カード化を解除して中央寄せ */
.footer .widget{ background:none; border:none; padding:0; margin:0 0 12px; }
.container-footer-area{ text-align:center; }
.container-footer-area img{ max-width:220px; height:auto; }
/* トライアングルワークスロゴ直下の「Produced by FUTSU」クレジット（小さく・控えめ） */
.yamada-produced{ margin:5px 0 0; font-family:var(--font-en); font-size:11px; letter-spacing:.06em; line-height:1.4; }
.yamada-produced a{ color:var(--muted); }
.yamada-produced a:hover{ color:var(--blue); }

@media (max-width:768px){
  #header .headerInfo{ padding-left:58px; }
  #header .yamada-head-icon img{ width:46px; height:46px; border-width:2.5px; }
  .yamada-footbnr{ padding:24px 0 4px; }
  .yamada-footbnr__grid{ grid-template-columns:1fr; gap:12px; }
  .yamada-footbnr__card{ min-height:0; }
}

/* =========================================================
   トップ ファーストビュー（ヒーロー）  バナー主役・フラット/今風
   ========================================================= */
/* KV（バナー）をヘッダーに密着させる：.contents の上余白60pxを打ち消す（ヒーローがある時のみ＝トップ限定） */
.contents:has(> .yamada-hero){ padding-top:0 !important; }
.yamada-hero{ position:relative; overflow:hidden; background:var(--bg); }
/* バナー：横幅いっぱい（フルブリード）＋object-fitで上下の空白を少し詰める */
.yamada-hero__banner-wrap{ width:100%; aspect-ratio:1024/300; overflow:hidden; line-height:0; background:#fff; }
.yamada-hero__banner{ display:block; width:100%; height:100%; object-fit:cover; object-position:center 44%; }
.yamada-hero__inner{
  display:flex; flex-direction:column; align-items:center; gap:16px;
  padding:24px 0 32px; position:relative; z-index:2;
}
/* 記事検索（丸みのバー＋青ボタン） */
.yamada-hero__search{
  display:flex; width:100%; max-width:640px; background:#fff;
  border:1px solid var(--line); border-radius:999px; overflow:hidden;
}
.yamada-hero__search-input{
  flex:1 1 auto; min-width:0; border:none; background:transparent;
  padding:14px 24px; font-size:15px; font-family:var(--font-jp); color:var(--ink); outline:none;
}
.yamada-hero__search-input::placeholder{ color:#9aa6ae; }
.yamada-hero__search-btn{
  flex:0 0 auto; border:none; background:var(--blue); color:#fff; padding:0 24px;
  display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .18s;
}
.yamada-hero__search-btn:hover{ background:var(--blue-deep); }
.yamada-hero__chips{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.yamada-hero__chip{
  display:inline-flex; align-items:center; font-family:var(--font-jp); font-weight:700;
  font-size:14px; color:#fff !important; background:var(--blue); border-radius:999px;
  padding:11px 24px; letter-spacing:.02em; transition:transform .18s ease, opacity .18s;
}
.yamada-hero__chip::before{ content:""; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.9); margin-right:8px; }
.yamada-hero__chip:hover{ transform:translateY(-2px); opacity:.92; color:#fff !important; }
.yamada-hero__chip.category-gourmet{ background:var(--cat-gourmet); }
.yamada-hero__chip.category-event{ background:var(--cat-event); }
.yamada-hero__chip.category-local-info{ background:var(--cat-local-info); }
.yamada-hero__chip.category-items{ background:var(--cat-items); }
.yamada-hero__chip.category-works{ background:var(--cat-works); }
.yamada-hero__chip.category-miscellaneous{ background:var(--cat-miscellaneous); }
/* 未定義カテゴリはベースの青（自動追加カテゴリ対応） */

@media (max-width:768px){
  .yamada-hero{ background:var(--bg); }
  .yamada-hero__banner-wrap{ aspect-ratio:auto; }
  .yamada-hero__banner{ height:auto; object-fit:contain; }
  .yamada-hero__inner{ padding:16px 0 22px; gap:12px; }
  .yamada-hero__search-input{ padding:12px 18px; font-size:14px; }
  .yamada-hero__search-btn{ padding:0 18px; }
  .yamada-hero__chips{ gap:8px; }
  .yamada-hero__chip{ font-size:13px; padding:9px 18px; }
}

/* =========================================================
   単一投稿ページ（PC）：右サイドバーを排除し、記事部を大きく中央寄せ
   （山田さん要望。文字は左寄せのまま）
   ========================================================= */
@media (min-width:769px){
  /* サイドバーはサイト全体で排除（山田さん要望）。記事部を中央寄せ・拡大 */
  .side{ display:none !important; }
  .contents .container > main.main,
  main.main{ max-width:1080px !important; margin-left:auto !important; margin-right:auto !important; }
  /* 単一記事は可読性優先でやや狭め */
  body.single main.main{ max-width:900px !important; }
}

/* =========================================================
   SP：本文画像を画面横いっぱい（フルブリード）表示（山田さん要望）
   ========================================================= */
@media (max-width:768px){
  /* Gutenberg(figure)＋クラシック(<p><img class="size-full/aligncenter">)の両方を全幅化 */
  .articleBody .wp-block-image,
  .articleBody > figure,
  .articleBody figure.wp-block-image,
  .articleBody .wp-caption,
  .articleBody p > img,
  .articleBody img.size-full,
  .articleBody img.size-large,
  .articleBody img.aligncenter,
  .articleBody img.alignnone,
  .post-thumbnail{
    width:100vw !important; max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
    border-radius:0 !important;
  }
  .articleBody .wp-block-image img,
  .articleBody > figure img,
  .articleBody .wp-caption img,
  .post-thumbnail img{ width:100%; border-radius:0; }
  .articleBody .wp-block-image figcaption,
  .articleBody figure figcaption,
  .articleBody .wp-caption-text{ padding:0 16px; }
}

/* =========================================================
   フラット化：影を外し、面とボーダーで階層を表現（今時）
   ========================================================= */
.xw-article-media{ box-shadow:none; }
.xw-article-media:hover{ transform:translateY(-3px); box-shadow:none; border-color:var(--blue); }
.yamada-related__item:hover{ box-shadow:none; border-color:var(--blue); transform:translateY(-3px); }
.yamada-footbnr__card{ transition:transform .2s ease, border-color .2s; }
a.yamada-footbnr__card:hover{ box-shadow:none; border-color:var(--blue); transform:translateY(-2px); }
.yamada-footbnr__sns a:hover{ box-shadow:none; }
.article-category a,.article-category .list-label,.article-category span{ box-shadow:none !important; }
.articleList__item--fig .article-category a,.articleList__item--fig .list-label{ box-shadow:none; }

/* =========================================================
   山田さん追加修正（第2弾・2026-07-07）
   ========================================================= */
/* ③ サイドバー（検索・カテゴリ・アーカイブ）はSPでも非表示（記事下に出ていた分を消す） */
.side{ display:none !important; }

/* ⑥ 先頭へ戻る＝支給の完成画像（青丸＋やまだくん＋飛び出す指、背景透過）をそのまま使用。
   円＋飛び出しが画像に内包済みなので、CSSの丸/縁/影は付けない（透過・overflow可視）。 */
.pagetop{ overflow:visible !important; }
.pagetop a{
  position:relative; overflow:visible !important;
  background:url(assets/yamada/pagetop-yamada2.png) no-repeat center bottom/contain !important;
  background-color:transparent !important; border:none !important; box-shadow:none !important;
  border-radius:0 !important; width:62px !important; height:74px !important;
}
.pagetop a i,.pagetop a svg,.pagetop a::before,.pagetop a::after{ display:none !important; }
.pagetop a:hover{ transform:translateY(-3px); }
