/*
Theme Name: ガチレズ！
Theme URI: https://gachirezu.com
Description: ガチレズ！専用の独自テーマ。スマホ特化・配色サンセット・ライト/ダーク両対応。設計書は gachirezu リポジトリの docs/theme-design-decisions.md、モックは docs/mockup/glz-mockup.html。
Author: メグ & Claude
Version: 0.1.0
Requires PHP: 7.4
Text Domain: glz-theme
*/

/* ===================================================================
   配色トークン（サンセット・2026-08-06確定）
   ライトが基準（初期状態は常にライト・2026-08-08メグ決定）。ダークは
   html[data-theme="light|dark"] の手動指定が常に勝つ。
   =================================================================== */
:root{
  --accent:#e5886a; --accent-ink:#c8552f; --accent-soft:#fdefe9; /* オレンジはダークと同じ淡い色に（2026-08-09メグ指示・元#f2683c→濃すぎたため） */
  --sub:#ffc247; --sub-soft:#fff7e5;
  --bg:#ffffff; --surface:#fdfaf7; --surface-2:#f5efe9;
  --ink:#2c2320; --ink-2:#71645d; --ink-3:#9e938c;
  --logo-ink:#3b3e46;
  --line:#eee7e1; --line-2:#e2d9d1;
  --ok:#26a36b; --ok-soft:#e9f8f0;
  --warn:#e08a00; --warn-soft:#fff5e2;
  --info:#3b7ddd; --info-soft:#eef4fd;
  --r-card:16px; --r-in:12px; --r-pill:999px;
  --shadow:0 1px 2px rgba(43,33,36,.04), 0 2px 12px rgba(43,33,36,.05);
}
:root[data-theme="dark"]{
  --accent:#e5886a; --accent-ink:#f0a081; --accent-soft:#332226; --sub-soft:#2e2a1c; /* ダークも少しくすませた（2026-08-09） */
  --bg:#1a1c24; --surface:#212430; --surface-2:#252833;
  --ink:#d6d6d6; --ink-2:#a3a8b4; --ink-3:#7c8290;
  --logo-ink:#dcdcdc;
  --line:#30333e; --line-2:#3c404c;
  --ok:#4fc48b; --ok-soft:#152a22;
  --warn:#e8ae4a; --warn-soft:#2c2517;
  --info:#7aa8ee; --info-soft:#1a2333;
  --shadow:0 1px 2px rgba(0,0,0,.35), 0 2px 12px rgba(0,0,0,.25);
}

/* ---- 基礎 ---- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--surface-2); color:var(--ink);
  font-family:system-ui,-apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;
  font-size:16px; line-height:1.9; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:480px; margin:0 auto; background:var(--bg); min-height:100vh; position:relative; box-shadow:0 0 40px rgba(0,0,0,.06); overflow-x:clip}
svg.i{width:1em; height:1em; fill:currentColor; stroke:none; flex:none} /* Font Awesome化に伴い塗り方式へ（2026-08-09） */
a{color:var(--accent-ink)}
.screen-reader-text{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); word-wrap:normal}
.skip-link{position:absolute; left:-9999px; z-index:100}
.skip-link:focus{left:16px; top:8px; background:var(--bg); color:var(--accent-ink); padding:8px 14px; border-radius:var(--r-pill)}

/* ---- ヘッダー ---- */
.hd{
  position:sticky; top:0; z-index:50; background:var(--bg); border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:10px; padding:10px 16px; min-height:52px;
}
body.admin-bar .hd{top:32px}
@media (max-width:782px){ body.admin-bar .hd{top:46px} }
/* ロゴは本家と同じ「あそびフォント」（gachirezu.com/css/font/ 配布のlogofontを6文字サブセット化） */
@font-face{font-family:'glz-logofont'; src:url('assets/glz-logo.woff2') format('woff2'); font-display:swap}
.logo{display:block; color:var(--logo-ink); line-height:1; text-decoration:none;
  font-family:'glz-logofont', system-ui, sans-serif; font-size:18px; font-weight:400; letter-spacing:-.08em}

/* タイトルを隠す（おばけ表示）。おばけボタンで html.glz-masked が付く・2026-08-25 */
.logo-mask{display:none; align-items:center; gap:3px; color:var(--ink-3)}
.logo-mask svg.i{width:13px; height:13px}
html.glz-masked .logo-txt{display:none}
html.glz-masked .logo-mask{display:inline-flex}

/* スクロールしたらヘッダーを縮める（スマホ幅のみ。PC版は下の1140px以上で元に戻す）*/
@media (max-width:1139px){
  .hd{transition:min-height .22s ease, padding .22s ease}
  .logo{transition:font-size .22s ease}
  .icon-btn{transition:width .22s ease, height .22s ease, font-size .22s ease}
  .logo-mask svg.i{transition:width .22s ease, height .22s ease}
  body.glz-hd-min .hd{min-height:26px; padding:3px 16px}
  body.glz-hd-min .logo{font-size:14px}
  body.glz-hd-min .logo-mask svg.i{width:11px; height:11px}
  body.glz-hd-min .icon-btn{width:32px; height:32px; font-size:17px}
}
.logo-svg{width:115px; height:28px; display:block; fill:none; stroke:currentColor}
.hd .sp{flex:1}
.icon-btn{
  width:38px; height:38px; border-radius:var(--r-pill); border:none; background:transparent; cursor:pointer;
  display:grid; place-items:center; color:var(--ink-2); font-size:20px;
}
.icon-btn:hover{background:var(--surface-2); color:var(--accent)}
.icon-btn[aria-expanded="true"]{background:var(--surface-2); color:var(--accent)}

/* ---- 検索バー・ドロワー ---- */
.searchbar{padding:12px 16px; border-bottom:1px solid var(--line); background:var(--bg)}
.searchform{display:flex; gap:8px}
.searchform input[type="search"]{
  flex:1; font:inherit; font-size:16px; padding:10px 14px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink)}
.searchform input[type="search"]:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.btn-search{width:auto; min-height:44px; padding:0 18px}
/* メニュー・検索はスクロール位置に関係なくヘッダー直下に固定表示（2026-08-08バグ修正） */
.drawer, .searchbar{position:fixed; top:52px; left:50%; transform:translateX(-50%);
  width:100%; max-width:480px; z-index:49; max-height:calc(100vh - 64px); overflow-y:auto;
  box-shadow:0 12px 28px rgba(0,0,0,.14)}
body.admin-bar .drawer, body.admin-bar .searchbar{top:84px}
@media (max-width:782px){ body.admin-bar .drawer, body.admin-bar .searchbar{top:98px} }
.drawer{padding:4px 16px 16px; border-bottom:1px solid var(--line); background:var(--bg)}
.drawer ul{list-style:none; margin:0; padding:0}
.drawer a{display:block; padding:12px 4px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); font-size:15px}
.drawer a:hover{color:var(--accent)}
/* 文字サイズ切替（標準/大/特大）。zoomで全体をきれいに拡大する */
:root[data-glz-fs="l"] body{zoom:1.12; -webkit-text-size-adjust:112%}
:root[data-glz-fs="xl"] body{zoom:1.25; -webkit-text-size-adjust:125%}
.glz-theme-row{display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 0 4px}
.glz-fs-group{display:inline-flex; align-items:center; gap:4px}
.glz-fs-label{font-size:12px; color:var(--ink-3); margin-right:2px}
.fs-btn{font-family:inherit; cursor:pointer; min-height:36px; padding:6px 12px; border-radius:var(--r-pill);
  background:var(--surface-2); color:var(--ink-2); border:1px solid var(--line-2)}
.fs-btn:nth-of-type(1){font-size:12px}
.fs-btn:nth-of-type(2){font-size:14px}
.fs-btn:nth-of-type(3){font-size:16px}
.fs-btn.on{background:var(--accent); border-color:var(--accent); color:#fff}
.btn-theme{width:auto; min-height:36px; font-size:13px; padding:6px 14px; gap:6px; border-radius:var(--r-pill);
  background:var(--surface-2); color:var(--ink-2); border:1px solid var(--line-2); cursor:pointer; font-family:inherit;
  display:inline-flex; align-items:center}
.btn-theme:hover{border-color:var(--accent); color:var(--accent); background:var(--bg)}
.btn-theme svg.i{font-size:16px}
.glz-t-dark{display:none}
:root[data-theme="dark"] .glz-t-dark{display:inline-flex}
:root[data-theme="dark"] .glz-t-light{display:none}

/* ---- 本文エリア ---- */
.main{padding:16px 16px 150px; min-height:60vh}
.hero{padding:20px 0 8px}
.hero h1{font-size:21px; font-weight:800; margin:0 0 6px; letter-spacing:-.01em; line-height:1.5}
.hero p{margin:0; font-size:13px; color:var(--ink-2)}
.sec-head{display:flex; align-items:center; gap:8px; margin:26px 0 12px}
.sec-head:first-child{margin-top:8px}
.sec-head h2{font-size:15px; font-weight:800; margin:0; display:flex; align-items:center; gap:7px}
.sec-head h2 svg.i{color:var(--accent); font-size:17px}
.sec-head a{margin-left:auto; font-size:12px; color:var(--ink-2); text-decoration:none; white-space:nowrap}
.sec-head a:hover{color:var(--accent)}
/* ---- オフ会一覧（2026-08-08 改訂: 上に日付＋タイトル、下に画像と詳細） ---- */
.ecard2{display:block; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow); margin-bottom:10px}
.ec-head{display:flex; align-items:center; gap:12px; padding:12px 14px 10px; border-bottom:1px solid var(--line)}
.ev-head2{display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line)}
.ec-date{flex:none; text-align:center; background:var(--surface-2); color:var(--ink);
  border-radius:12px; width:54px; height:54px; line-height:1.15; display:flex; flex-direction:column;
  align-items:center; justify-content:center}
.ec-date .m{font-size:9px; font-weight:700}
.ec-date .d{font-size:19px; font-weight:800; font-variant-numeric:tabular-nums}
.ec-date .w{font-size:9px}
.ec-title{flex:1; min-width:0; font-size:15px; font-weight:700; line-height:1.6; margin:0; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.ec-body{display:flex; flex-wrap:wrap; gap:10px 12px; padding:12px 14px 14px; align-items:flex-start}
/* 写真はスマホで本家の一覧と同等の控えめサイズ。右に詳細が並ぶ */
.ec-photo{flex:none; width:38%; max-width:145px}
.ec-photo img{width:100%; height:auto; display:block; border-radius:var(--r-in)}
/* 右側は状態バッジと場所だけを縦に。説明文は写真の下に全幅で回す */
.ec-info{flex:1; min-width:96px; display:flex; flex-direction:column; gap:6px}
.ec-x{flex:1 1 100%; order:3}
.ec-x{font-size:12px; color:var(--ink-2); line-height:1.75; margin:0;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden}
/* 画像がない行は詳細を全幅で */
.ec-body:not(:has(.ec-photo)) .ec-info{flex:1 1 100%}

/* ---- 旧: 1行式（記事一覧で継続利用） ---- */
.erow{display:flex; gap:12px; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-card); overflow:hidden; text-decoration:none; color:inherit;
  box-shadow:var(--shadow); margin-bottom:8px}
.edate-col{flex:none; width:56px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--accent-soft); color:var(--accent-ink); line-height:1.15; padding:8px 4px}
.edate-col .m{font-size:10px; font-weight:700}
.edate-col .d{font-size:22px; font-weight:800; font-variant-numeric:tabular-nums}
.edate-col .w{font-size:10px}
.ethumb{position:relative; flex:none; width:78px; background:var(--surface-2); overflow:hidden}
.ethumb img, .ethumb-img{width:100%; height:100%; object-fit:cover; display:block}
.ethumb-noimg{width:100%; height:100%; background:var(--accent-soft); display:flex; align-items:center; justify-content:center}
.erow{align-items:stretch; min-height:118px}
.edate{position:absolute; left:4px; top:4px; background:var(--bg); border-radius:6px;
  padding:2px 4px; text-align:center; box-shadow:0 1px 5px rgba(0,0,0,.16); line-height:1.15; opacity:.94}
.edate .m{font-size:8px; font-weight:700; color:var(--accent); line-height:1.1}
.edate .d{font-size:11px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; line-height:1.1}
.edate .w{font-size:8px; color:var(--ink-3); line-height:1.1}
.erow-b{flex:1; min-width:0; padding:10px 12px; display:flex; flex-direction:column; justify-content:center}
.ecard-t{font-size:14px; font-weight:700; line-height:1.55; margin:0 0 4px; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.erow-b .meta{font-size:11px}

/* 画像なしイベント: 日付を大きく見せて成立させる（モックの画像なしパターン） */
.evt-noimg{aspect-ratio:auto; padding:20px 16px; background:var(--accent-soft); display:block; position:relative}
.evt-big{display:flex; align-items:center; gap:14px}
.evt-big-date{text-align:center; color:var(--accent-ink); flex:none; line-height:1.2}
.evt-big-date .m{font-size:11px; font-weight:700}
.evt-big-date .d{font-size:30px; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums}
.evt-big-date .w{font-size:11px}
.evt-big .card-t{margin:0; color:var(--ink)}
.host-link-row{display:flex; justify-content:flex-end; margin:0 0 -8px}
.host-link-row .host-link{margin-top:0}
.host-link{font-size:12px; color:var(--ink-3); text-decoration:none; white-space:nowrap;
  display:inline-flex; align-items:center; gap:2px; padding:6px 0; margin-top:22px}
.host-link:hover{color:var(--accent)}
.host-link svg.i{font-size:12px; transform:rotate(180deg)}

.single-event .evt-card > .evt-img{aspect-ratio:auto; width:70%; margin:14px auto 0; background:transparent}
/* 詳細の開催情報: 日時は大きめ・曜日は色つき・バッジは画像に被せずここに出す */
.ev-facts{display:flex; flex-direction:column; gap:9px}
.ev-facts .fact{display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ink); line-height:1.5; flex-wrap:wrap}
.ev-facts .fact svg.i{font-size:15px; color:var(--ink-3); flex:none}
.ev-facts .wd-fri{color:var(--accent)}
.ev-facts .wd-sat{color:var(--info)}
.ev-facts .wd-sun{color:#c93030}
.single-event .evt-card > .evt-img img{width:100%; height:auto; object-fit:contain; border-radius:var(--r-in)}
.single-event .evt-card{max-width:420px; margin-left:auto; margin-right:auto}

/* イベント詳細: テーマ側ヘッダーと重複するEM出力（パンくず・タイトル・日付・カテゴリ帯）を隠す。
   「満員」帯は空き状況と無関係に出る壊れた表示なのでこれも隠す（正しい空き状況はテーマ側バッジ） */
.single-event .entry-content .dwqa-breadcrumbs,
.single-event .entry-content > hr,
.single-event .eve_title_h3,
.single-event .eve_img,
.single-event .list-cat,
.single-event .list-category,
.single-event .eve_spanday{display:none}
.single-event .entry-content i[class*="fa"]{display:none}
.single-event .eve_page > p:first-of-type{display:none} /* 日付spanとbrだけの空段落 */
.single-event .eve_title_booking{font-size:15px; font-weight:800; margin:22px 0 10px}
.single-event .bokking_caution{background:var(--warn-soft); border-radius:var(--r-in); padding:12px 14px;
  font-size:13px; line-height:1.8; margin:0 0 12px}
.single-event .bokking_caution h3{font-size:13px; margin:0 0 6px; color:var(--warn)}
.single-event .em-booking{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  padding:14px 16px; box-shadow:var(--shadow)}
.single-event .em-booking input[type="submit"], .single-event .em-booking .button{
  font:inherit; font-size:16px; font-weight:700; padding:12px 24px; border-radius:var(--r-pill);
  background:var(--accent); color:#fff; border:none; cursor:pointer}

.divider{height:1px; background:var(--line); margin:22px 0}

/* ---- カード ---- */
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  padding:14px 16px; margin-bottom:8px; box-shadow:var(--shadow);
}
a.card{display:block; text-decoration:none; color:inherit}
.card-t{font-size:15px; font-weight:700; line-height:1.65; margin:0 0 6px; color:var(--ink)}
.card-x{font-size:13px; color:var(--ink-2); line-height:1.8; margin:0 0 8px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.meta{display:flex; align-items:center; gap:10px; font-size:12px; color:var(--ink-3);
  font-variant-numeric:tabular-nums; flex-wrap:wrap}
.meta span{display:inline-flex; align-items:center; gap:4px}
.meta b{font-weight:700; color:var(--ink-2)}
.meta svg.i{font-size:13px}
.ec-when{gap:14px} /* オフ会一覧: 日付チップ と 時計 の間に余白（2026-08-09メグ指示） */
.ec-dchip{font-weight:600; color:var(--ink-2)}
.ec-dchip svg.i{color:var(--accent)} /* 日付の旗マーク */
.meta a{color:var(--ink-2); text-decoration:none}
.meta a:hover{color:var(--accent)}

/* ---- バッジ ---- */
.badge{display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700;
  padding:3px 10px; border-radius:var(--r-pill); line-height:1.6}
.badge svg.i{font-size:12px; stroke-width:2.2}
.b-open{background:var(--info-soft); color:var(--info)}
.b-ans{background:var(--warn-soft); color:var(--warn)}
.b-done{background:var(--ok-soft); color:var(--ok)}
/* 解決済: くすんだ緑（2026-08-15メグ指示・黄色から変更）。--ok（鮮やか緑）と区別したセージ系 */
.b-close{background:#e9efe2; color:#5f7d52}
.b-hot{background:var(--accent-soft); color:var(--accent-ink)}
.b-mimamori{background:#f0ecf8; color:#7a6bb8}
body.glz-mimamori:not(.glz-mim-open) .fab-wrap{display:none}
.glz-cushion{margin-top:16px}
.glz-cushion-card{padding:20px 18px; text-align:left; font-size:13.5px; line-height:2; color:var(--ink-2)}
.glz-cushion-card p{margin:0 0 12px}
.glz-cushion-card .gc-title{font-size:16px; font-weight:700; color:var(--ink); margin-bottom:14px}
.glz-cushion-card .gc-h{font-weight:700; color:var(--ink); margin:16px 0 4px; font-size:13.5px}
.glz-cushion-card .gc-tel{line-height:2.2}
.glz-cushion-card b{color:var(--ink)}
.glz-cushion-card .btn{margin-top:8px}
:root[data-theme="dark"] .b-mimamori{background:#262238; color:#b3a6e3}
:root[data-theme="dark"] .b-close{background:#222a1d; color:#9cb586} /* 解決済のくすみ緑・ダーク版 */
.b-sub{background:var(--sub-soft); color:#8a6200}

/* ---- 絞り込みチップ ---- */
.filters{display:flex; gap:6px; overflow-x:auto; margin:0 -16px 6px; padding:2px 16px 10px}
.filters::-webkit-scrollbar{display:none}
.chip{flex:none; font-size:13px; padding:7px 15px; border-radius:var(--r-pill); text-decoration:none;
  border:1px solid var(--line-2); color:var(--ink-2); background:var(--bg); min-height:36px;
  display:inline-flex; align-items:center; cursor:pointer}
.chip.on{background:var(--ink); color:var(--bg); border-color:var(--ink); font-weight:700} /* 選択中=状態。CTAのオレンジと役割を分ける（2026-08-09） */

/* ---- 広告枠（高さ先行確保・CLS対策） ---- */
.ad{height:100px; border:1px dashed var(--line-2); border-radius:var(--r-card); margin:16px 0;
  display:grid; place-items:center; color:var(--ink-3); font-size:12px; background:var(--surface); overflow:hidden}

/* ---- 横スクロールの帯 ---- */
.rail{display:flex; gap:8px; overflow-x:auto; margin:0 -16px; padding:4px 16px 12px}
.rail::-webkit-scrollbar{display:none}
.rail .card{flex:none; width:236px; margin-bottom:0}

/* ---- レス ---- */
.post{border-bottom:1px solid var(--line); padding:16px 0}
.post:last-child{border-bottom:none}
.post-h{display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ink-3); margin-bottom:8px;
  font-variant-numeric:tabular-nums}
.post-n{font-weight:700; color:var(--accent); background:var(--accent-soft); padding:2px 9px;
  border-radius:8px; font-size:11px; border:none; font-family:inherit}
button.post-n{cursor:pointer}
.post-n[id]{scroll-margin-top:96px} /* アンカーで飛んだときヘッダーに隠れず、レスの頭が見える位置に */
button.post-n:hover{background:var(--accent); color:#fff}
.glz-anc{color:var(--accent-ink); text-decoration:none; font-weight:700}
.post-b{font-size:15px; line-height:1.95; margin:0; white-space:pre-wrap}
.post-f{display:flex; gap:6px; margin-top:10px; flex-wrap:wrap}
.post-f button, .post-f a{font:inherit; font-size:12px; background:none; border:1px solid var(--line-2); color:var(--ink-3);
  cursor:pointer; padding:5px 12px; border-radius:var(--r-pill); display:inline-flex; align-items:center; gap:5px;
  min-height:32px; text-decoration:none}
.post-f button:hover, .post-f a:hover{color:var(--accent); border-color:var(--accent)}
.post-f svg.i{font-size:14px}
.mine{background:var(--accent-soft); border-radius:var(--r-in); padding:16px 14px; margin:8px -14px}
.mine .post-n{background:var(--accent); color:#fff}
.del-row{color:var(--ink-3); font-size:13px; margin:0; padding:12px 0;
  border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums}

/* ---- リアクション（言葉は設定値。ここは見た目だけ） ---- */
.reacts{display:flex; gap:8px; margin-top:14px; flex-wrap:wrap}
.react{font:inherit; font-size:13px; padding:8px 16px; border-radius:var(--r-pill); cursor:pointer;
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink-2); min-height:38px;
  display:inline-flex; align-items:center; gap:7px}
.react:hover{border-color:var(--accent); color:var(--accent); background:var(--accent-soft)}
.react svg.i{font-size:16px}
.react b{font-variant-numeric:tabular-nums; font-weight:700}
.react.picked{background:var(--accent); color:#fff; border-color:var(--accent)}
.react:disabled{opacity:.45; cursor:not-allowed}

/* ---- 入力 ---- */
.field{margin-bottom:16px}
.field label{display:block; font-size:13px; font-weight:700; margin-bottom:6px}
.field .hint{font-size:12px; color:var(--ink-3); font-weight:400; margin-left:6px}
.field input, .field textarea, .field select{
  width:100%; font:inherit; font-size:16px; padding:12px 14px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink); line-height:1.7}
.field textarea{min-height:130px; resize:vertical}
.glz-topbtn-row{display:flex; justify-content:flex-end; margin-bottom:10px}
.glz-topbtn{display:inline-flex; align-items:center; gap:6px; font-size:13px; padding:8px 16px;
  border:1px solid var(--line-2); border-radius:var(--r-pill); background:var(--surface);
  color:var(--ink-2); text-decoration:none}
.glz-topbtn:hover{color:var(--accent); border-color:var(--accent)}
/* スレ作成のヒントの記号色（本家準拠） */
.hint-brush{color:var(--ink-2)} .hint-circle{color:#ff8d99} .hint-x{color:#74C0FC}
.hint-warn{color:#FFD43B} .hint-check{color:#FFD43B}
/* bbPress配下でも.btnの塗りが効くように（#bbpress-forumsのリンク色に負けない） */
#bbpress-forums a.btn, .glz-bbp a.btn{background:var(--accent); color:#fff}
#bbpress-forums a.btn:hover, .glz-bbp a.btn:hover{background:var(--accent-ink); color:#fff}
/* bbPressのfieldset既定の枠線（黒枠）は使わない */
#bbpress-forums fieldset.bbp-form{border:0; padding:0; margin:0; min-width:0}
#bbpress-forums fieldset.bbp-form legend{display:none}
/* 規約同意の1行（書き込むボタンの上） */
.glz-agree-line{font-size:12px; color:var(--ink-3); text-align:center; margin:0 0 10px}
.glz-agree-line a{color:inherit; text-decoration:underline}
/* 運営用: 管理リンク行とBAN情報カードを小さく整える */
.bbp-admin-links{display:flex; flex-wrap:wrap; gap:8px; font-size:11px; margin-top:6px}
.bbp-admin-links a{color:var(--ink-3)}
.glz-ban-box{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:8px; padding:7px 12px;
  background:var(--surface-2); border:1px solid var(--line-2); border-radius:10px; font-size:11.5px; color:var(--ink-2)}
.glz-ban-box code{font-family:ui-monospace,Menlo,monospace; font-size:11px; background:var(--bg);
  border:1px solid var(--line); border-radius:6px; padding:1px 6px}
.glz-ban-box .bb-st{font-weight:700; color:var(--ink-2)}
.glz-ban-box .bb-sub{color:var(--ink-3)}
.glz-ban-box .bb-sp{flex:1}
.glz-ban-box a{text-decoration:none; border:1px solid var(--line-2); border-radius:999px; padding:2px 10px; color:var(--ink-2); background:var(--surface)}
.glz-ban-box a.bb-temp{color:#b8860b; border-color:#b8860b}
.glz-ban-box a.bb-perm{color:#c93030; border-color:#c93030}
.glz-ban-box a.bb-ok{color:var(--ok); border-color:var(--ok)}
.glz-ban-box.is-banned{background:var(--warn-soft); border-color:var(--warn)}
.glz-ban-box.is-none{color:var(--ink-3)}
/* bbPressのフォーム要素はcols/size属性で幅が暴れるので強制的に収める（右左ブルブル対策） */
#bbpress-forums textarea, #new-post textarea, #new-post input[type="text"],
.bbp-reply-form textarea, .bbp-topic-form textarea{
  width:100% !important; max-width:100% !important; box-sizing:border-box}
/* 雑談一覧の投稿ボタンは丸い＋だけの控えめ版 */
.fab-mini{width:56px; height:56px; border-radius:50%; background:var(--accent); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(242,104,60,.4);
  text-decoration:none; cursor:pointer}
.fab-mini svg.i{font-size:24px}
/* ---- Amazonアソシエイト本棚（PR枠。擬似カバー=CSSグラデ+書名タイポ） ---- */
.glz-amz{margin:18px 0; padding:14px 14px 10px; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r-card)}
.glz-amz-head{display:flex; align-items:center; gap:8px; margin-bottom:10px; font-size:13.5px}
.glz-amz-pr{font-size:10px; font-weight:800; letter-spacing:.06em; color:var(--ink-3);
  border:1px solid var(--line-2); border-radius:5px; padding:1px 5px}
.glz-amz-more{margin-left:auto; font-size:12px; color:var(--accent-ink); text-decoration:none}
.glz-amz-row{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.glz-amz-row.is-rail{display:flex; overflow-x:auto; margin:0 -14px; padding:0 14px 6px; scrollbar-width:none}
.glz-amz-row.is-rail::-webkit-scrollbar{display:none}
.glz-amz-row.is-rail .glz-amz-card{flex:none; width:152px}
.glz-amz-row.is-rail .glz-amz-card .cov{height:172px}
.glz-amz-card{display:flex; flex-direction:column; gap:5px; text-decoration:none; color:var(--ink)}
.glz-amz-card .cov{display:flex; text-decoration:none}
.glz-amz-card .cov.has-img{background:#fff}
.glz-amz-card .cov.has-img .cv-t, .glz-amz-card .cov.has-img .cv-a{visibility:hidden}
.glz-amz-card .cov.has-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border-radius:inherit; background:#fff}
.glz-amz-card .btns{display:flex; gap:6px; flex-wrap:wrap}
.glz-amz-card .go-rak{background:#fbe3e3; color:#b12a2a}
.glz-amz-card:hover .go-rak{background:#f6cccc}
.glz-amz-mini .cov.has-img{background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center}
.glz-amz-mini .cov.has-img img{width:100%; height:100%; object-fit:contain}
.glz-amz-card .cov{position:relative; height:200px; min-height:0; overflow:hidden; border-radius:6px 8px 8px 6px; padding:12px 12px 0;
  display:flex; justify-content:flex-end;
  background:
    linear-gradient(160deg, hsl(var(--h) 70% 86%), hsl(calc(var(--h) + 45) 62% 70%));
  box-shadow:inset 4px 0 0 rgba(255,255,255,.5), inset -2px 0 0 rgba(0,0,0,.05), 0 3px 10px rgba(0,0,0,.12)}
.glz-amz-card .cov::before{content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 85% 10%, rgba(255,255,255,.5), transparent 55%)}
.glz-amz-card .cv-t{position:relative; font-size:14px; font-weight:800; line-height:1.5; color:rgba(40,22,18,.88);
  writing-mode:vertical-rl; max-height:calc(100% - 44px); overflow:hidden; letter-spacing:.06em;
  text-shadow:0 1px 0 rgba(255,255,255,.35)}
.glz-amz-card .cv-a{position:absolute; left:10px; bottom:44px; font-size:9.5px; font-weight:600; color:rgba(40,22,18,.62);
  writing-mode:vertical-rl; letter-spacing:.12em; max-height:100px; overflow:hidden}
.glz-amz-card .cv-obi{position:absolute; left:0; right:0; bottom:0; padding:7px 10px 8px;
  background:hsl(var(--h) 80% 97% / .96); border-top:2px solid hsl(var(--h) 70% 55%);
  font-size:10px; font-weight:800; line-height:1.45; color:hsl(var(--h) 60% 28%);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.glz-amz-card .ttl{font-size:13px; font-weight:800; line-height:1.35; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.glz-amz-card .hook{font-size:11.5px; line-height:1.45; color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden}
.glz-amz-row:not(.is-rail) .glz-amz-card .cov{height:230px}
.glz-amz-card .tag{font-size:10px; color:var(--ink-3)}
.glz-amz-card .go{font-size:11px; font-weight:700; color:#b1740f; background:#ffd97d;
  border-radius:999px; padding:4px 10px; align-self:flex-start}
.glz-amz-card:hover .go{background:#f4c14b}
.glz-amz-mini{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink)}
.glz-amz-mini .cov{flex:none; width:88px; height:124px; border-radius:5px;
  background:linear-gradient(160deg, hsl(var(--h) 65% 82%), hsl(calc(var(--h) + 40) 60% 68%));
  box-shadow:inset 2px 0 0 rgba(255,255,255,.45)}
.glz-amz-mini .t{flex:1; min-width:0; display:flex; flex-direction:column}
.glz-amz-mini .t b{font-size:14.5px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.glz-amz-mini .t span{font-size:12px; line-height:1.45; color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.glz-amz-mini .go{flex:none; font-size:11px; font-weight:700; color:#b1740f; background:#ffd97d; border-radius:999px; padding:4px 10px}
/* 2026-09-11: KUバッジは撤去（メグ判断）。読み放題対象はボタンを「0円で読む」にするだけにした */
.glz-amz-card .go{white-space:nowrap}
/* レスの間に挟むPR（2026-09-11 メグ指示）。レス1件と同じ枠・同じ余白にそろえ、
   番号の位置に「PR」を置く。広告だと分かるが、流れを切らない見た目にする */
/* スレッド一覧の間に挟むPR（2026-09-11）。スレ1枚（.card）の見た目をそのまま使う */
.glz-amz[data-slot="topic"]{padding:14px 16px; margin-bottom:8px; border-radius:var(--r-card)}
.glz-amz[data-slot="topic"] .meta{margin-bottom:10px}
.glz-amz[data-slot="topic"] .glz-amz-mini .cov{width:68px; height:96px}
.glz-amz[data-slot="topic"] .glz-amz-note{margin:8px 0 0}
.glz-amz[data-slot="reply"]{margin:0; padding:16px 0; background:transparent; border:none;
  border-bottom:1px solid var(--line); border-radius:0}
.glz-amz[data-slot="reply"] .post-h{margin-bottom:8px}
.glz-amz[data-slot="reply"] .pr-n{color:var(--ink-3); background:var(--line-2); letter-spacing:.06em}
.glz-amz[data-slot="reply"] .glz-amz-note{margin:8px 0 0}
.glz-amz[data-slot="reply"] .glz-amz-mini .cov{width:68px; height:96px}
.glz-amz-note{margin:10px 0 0; font-size:10px; color:var(--ink-3)}
:root[data-theme="dark"] .glz-amz-card .cov span{color:rgba(30,20,15,.85)}
/* レス・スレ一覧のページ送り */
.bbp-pagination{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:14px 0}
.bbp-pagination-count{font-size:12px; color:var(--ink-3)}
.bbp-pagination-links{display:flex; flex-wrap:wrap; gap:6px; margin-left:auto}
.bbp-pagination-links a, .bbp-pagination-links span.current, .bbp-pagination-links span.dots{
  display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px;
  padding:4px 10px; border-radius:10px; font-size:13px; text-decoration:none;
  border:1px solid var(--line-2); color:var(--ink-2); background:var(--surface); font-variant-numeric:tabular-nums}
.bbp-pagination-links span.current{background:var(--accent-soft); border-color:var(--accent); color:var(--accent-ink); font-weight:700}
.bbp-pagination-links span.dots{border:none; background:none}
.bbp-pagination-links a:hover{border-color:var(--accent); color:var(--accent)}
/* 過去ログのスレは一覧で薄いグレー表示（本家のクローズ表示に相当・2026-08-08メグ指示） */
.glz-topic-card.is-closed{background:var(--surface-2); border-color:var(--line)}
.glz-topic-card.is-closed .card-t a{color:var(--ink-3)}
.glz-topic-card.is-closed .meta{opacity:.75}
/* トップの彩り: 上部にごく淡いサンセットのグラデ帯+セクションアイコンをチップ化（note風の控えめカラー） */
body.home .main{position:relative}
body.home .main::before{content:""; position:absolute; left:0; right:0; top:0; height:190px; pointer-events:none;
  background:linear-gradient(160deg, var(--accent-soft) 0%, var(--sub-soft) 55%, transparent 100%); opacity:.75}
body.home .main > *{position:relative}
body.home .sec-head h2 svg.i{box-sizing:content-box; background:var(--accent-soft); color:var(--accent);
  padding:6px; border-radius:9px; font-size:15px}
/* 送信中スピナー（全ボタン共通） */
.glz-loading{position:relative; color:transparent !important; pointer-events:none}
.glz-loading::after{content:""; position:absolute; inset:0; margin:auto; width:20px; height:20px;
  border:3px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%;
  animation:glzspin .7s linear infinite}
.btn-sub.glz-loading::after, .gdel.glz-loading::after{border-color:rgba(0,0,0,.15); border-top-color:var(--accent)}
@keyframes glzspin{to{transform:rotate(360deg)}}
/* 一覧の地域絞り込みセレクト（チップと同じ並びに置く小型セレクト） */
.region-form{display:inline-flex}
/* ここは13pxのまま。select はタップしてもキーボードが出ないのでiOSは拡大しない（隣のチップと字を揃える） */
.region-select{font:inherit; font-size:13px; min-height:36px; padding:6px 30px 6px 14px; border-radius:var(--r-pill);
  border:1px solid var(--line-2); background-color:var(--surface); color:var(--ink); appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:13px}
/* 日付・時間の入力はスマホで縦に潰れ幅も暴れるので、自然な幅+入力欄と同じ高さに固定 */
.field input[type="date"], .field input[type="time"]{width:auto; max-width:100%; min-height:52px;
  -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center}
.field input[type="date"]{width:210px}
.field input[type="time"]{width:120px}
input::-webkit-date-and-time-value{text-align:left}
.trow{display:flex; align-items:center; gap:8px}
.tsep{color:var(--ink-3)}
/* selectはOS標準だと縦に潰れるので、入力欄と同じ高さに揃えて矢印は自前で描く */
.field select, .dwqa-container select{min-height:52px; appearance:none; -webkit-appearance:none;
  padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center; background-size:15px}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.btn{width:100%; font:inherit; font-size:16px; font-weight:700; padding:14px; border-radius:var(--r-pill);
  background:var(--accent); color:#fff; border:none; cursor:pointer; min-height:52px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none}
.btn:hover{background:var(--accent-ink)}
.btn-sub{background:var(--bg); color:var(--ink-2); border:1px solid var(--line-2)}

/* ---- イベントカード ---- */
.evt-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  overflow:hidden; margin-bottom:10px; box-shadow:var(--shadow); display:block; text-decoration:none; color:inherit}
.evt-img{position:relative; aspect-ratio:16/9; background:var(--surface-2); display:grid; place-items:center;
  color:var(--ink-3); font-size:12px}
.evt-img img{width:100%; height:100%; object-fit:cover; display:block}
.evt-img .ph{display:flex; flex-direction:column; align-items:center; gap:6px}
.evt-img .ph svg.i{font-size:26px}
.evt-date{position:absolute; left:12px; top:12px; background:var(--bg); border-radius:10px;
  padding:5px 9px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.14); line-height:1.25}
.evt-date .m{font-size:10.5px; font-weight:800; color:var(--accent-ink); letter-spacing:.02em}
.evt-date .d{font-size:20px; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:-.02em}
.evt-stat{position:absolute; right:12px; top:12px}
.evt-body{padding:12px 16px 14px}
.evt-rail{display:flex; gap:8px; overflow-x:auto; margin:0 -16px; padding:4px 16px 12px}
.evt-rail::-webkit-scrollbar{display:none}
.evt-rail .evt-card{flex:none; width:250px; margin-bottom:0}
.evt-rail .evt-img{aspect-ratio:16/9; max-height:132px}
/* 🔴 2026-09-07 メグ指示: トップのカードに「写真・タイトル・日付・時間・予約可」を必ず出す。
   カードの寸法は変えない（変えたらカードが縦に伸びきって崩れた）。触るのは中身の見せ方だけ */
/* 🔴 これが「タイトルが出る日と出ない日」の正体だった（2026-09-07 実測）:
   枠は max-height:132px で止まるのに、中の画像の height:100% は制限前の高さを見るため、
   縦長のフライヤー（768×1087など）は332pxまで伸びて本文を覆い隠していた。枠で切る。 */
.evt-rail .evt-img{overflow:hidden; width:100%; aspect-ratio:auto; height:170px; max-height:none}
.evt-rail .evt-img img{height:100%; max-height:100%; object-position:top center}
.evt-rail .card-t{font-size:14px; line-height:1.45; margin:0 0 5px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.evt-rail .evt-body{padding:10px 12px 10px}
/* 時間とバッジを同じ行に。バッジは右端 */
.evt-rail .meta{display:flex; align-items:center; gap:8px; margin:0}
.evt-rail .meta .badge{margin-left:auto; font-size:10.5px; padding:3px 9px; white-space:nowrap}
/* 相談・雑談の下部に置くオフ会枠（2026-09-07）。店舗バナーの下なので上に余白を取る */
.evt-foot{margin-top:26px; padding-top:20px; border-top:1px solid var(--line-2)}

/* ---- アンケート（2026-09-07 新設）---- */
/* 全ページの下に出すアンケートのバナー。募集中からランダムに1本。
   🔴 まわり（店舗バナーは黄、サイト全体はオレンジ）と同系色だと沈むので、ここだけ緑系にして
      「答える」をオレンジで置く（2026-09-07 メグ指摘・青は不可） */
.glz-sv-banner{display:block; margin:16px 0 0; padding:14px 16px; text-decoration:none;
  background:var(--ok-soft); border:1px solid rgba(38,163,107,.18);
  border-radius:var(--r-card); transition:transform .12s}
.glz-sv-banner:active{transform:scale(.99)}
.glz-sv-banner .svb-lead{display:flex; align-items:center; gap:6px; margin-bottom:8px;
  font-size:12.5px; font-weight:800; letter-spacing:.01em; color:var(--ok)}
.glz-sv-banner .svb-lead svg.i{font-size:16px}
.glz-sv-banner .svb-row{display:flex; align-items:center; gap:12px}
.glz-sv-banner .svb-t{flex:1; min-width:0; font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.55}
.glz-sv-banner .svb-etc{margin-left:5px; font-size:11px; font-weight:400; color:var(--ink-3)}
.glz-sv-banner .svb-go{flex:none; font-size:13.5px; font-weight:800; color:#fff;
  background:var(--accent); border-radius:999px; padding:9px 20px; white-space:nowrap}

/* トップの一塊の一覧（話題の雑談・アンケート実施中）。2026-09-07 メグ指示で横スライドから置き換え。
   なんでも相談は1件ずつのカードのままにして、見た目で区別する */
.glz-stack{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden}
.glz-stack .st-row{display:block; padding:13px 15px; text-decoration:none; position:relative}
.glz-stack .st-row + .st-row{border-top:1px solid var(--line)}
.glz-stack .st-row:active{background:var(--surface-2)}
.glz-stack .st-t{margin:0 0 5px; font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.6}
.glz-stack .meta{margin:0; font-size:11.5px}
.glz-stack .st-sv{display:flex; align-items:center; gap:11px}
.glz-stack .st-sv .sv-b{flex:1; min-width:0}
.glz-stack .st-sv .sv-go{flex:none; font-size:12px; font-weight:700; color:#fff;
  background:var(--accent); border-radius:999px; padding:6px 14px; white-space:nowrap}
/* 記号は控えめに（大きいと目立ちすぎる・2026-09-07 メグ指示） */
.glz-stack .st-sv .sv-ic{width:24px; height:24px; border-radius:7px}
.glz-stack .st-sv .sv-ic svg.i{font-size:13px}
/* 一塊の右下に置く「他◯件をみる」 */
.glz-stack .st-more{display:block; padding:10px 15px; text-align:right; text-decoration:none;
  border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-2); background:var(--surface-2)}
.glz-stack .st-more:active{color:var(--accent)}
.glz-sv-banner .svb-go{flex:none; font-size:12.5px; font-weight:700; color:#fff;
  background:var(--accent); border-radius:999px; padding:7px 17px; white-space:nowrap}
.glz-sv{margin-top:22px}
.glz-sv-note{padding:11px 14px; border-radius:var(--r-in); background:var(--surface-2); font-size:13.5px; line-height:1.8}
.glz-sv-note.ok{background:var(--accent-soft); color:var(--accent-ink); font-weight:700}
.glz-sv-form{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card); padding:16px 16px 18px}
.glz-sv-q{margin-bottom:18px}
.glz-sv-l{display:block; font-size:14px; font-weight:700; margin-bottom:7px; line-height:1.6}
/* 🔴 font-size は 16px を切らないこと。iOSはフォーカスすると画面ごと拡大してしまう（2026-09-07 メグ報告） */
.glz-sv-form input[type=text], .glz-sv-form textarea{width:100%; padding:10px 12px; margin-bottom:6px;
  border:1px solid var(--line); border-radius:var(--r-in); background:var(--bg); color:var(--ink);
  font-family:inherit; font-size:16px; line-height:1.7}
.glz-sv-form textarea{resize:vertical}
.glz-sv-opts{display:flex; flex-wrap:wrap; gap:8px}
.glz-sv-opts label{display:inline-flex; align-items:center; gap:6px; padding:8px 13px; font-size:13.5px;
  border:1px solid var(--line); border-radius:999px; background:var(--bg); cursor:pointer}
.glz-sv-opts input{margin:0}
.glz-sv-send{width:100%; margin-top:4px; padding:13px; border:0; border-radius:var(--r-in);
  background:var(--accent); color:#fff; font-size:15px; font-weight:800; font-family:inherit; cursor:pointer}
.glz-sv-fine{margin:10px 0 0; font-size:11.5px; color:var(--ink-3); line-height:1.8}
.glz-sv-count{margin-top:12px; font-size:12.5px; color:var(--ink-3)}
/* 全アンケート共通の最後の3問（年代・見た目・ニックネーム。ぜんぶ任意） */
.glz-sv-prof{margin:22px 0 16px; padding:14px; border-radius:var(--r-in); background:var(--surface-2)}
.glz-sv-prof .glz-sv-l{margin-bottom:10px}
.glz-sv-prof .opt{margin-left:8px; font-size:11.5px; font-weight:400; color:var(--ink-3)}
.glz-sv-prow{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px}
.glz-sv-prow label{flex:1; min-width:130px; display:flex; flex-direction:column; gap:5px;
  font-size:12px; color:var(--ink-2)}
.glz-sv-prow select{width:100%; padding:9px 10px; border:1px solid var(--line);
  border-radius:var(--r-in); background:var(--bg); color:var(--ink); font-family:inherit; font-size:16px}
.glz-sv-prof input[type=text]{margin-bottom:0}

/* 答え終わった直後に出す「次の1本」（答える前には出さない） */
.glz-sv-next{margin-top:18px}
.glz-sv-next .nx-lead{margin:0 0 8px; font-size:13px; color:var(--ink-2)}
.glz-sv-next .nx-card{display:block; padding:14px 16px; border-radius:var(--r-card);
  background:var(--surface); border:1px solid var(--line); text-decoration:none}
.glz-sv-next .nx-ttl{display:block; font-size:15px; font-weight:700; color:var(--ink); line-height:1.6}
.glz-sv-next .nx-meta{display:flex; align-items:center; gap:8px; margin-top:8px;
  font-size:12px; color:var(--ink-3)}
.glz-sv-next .nx-go{margin-left:auto; font-size:12.5px; font-weight:700; color:#fff;
  background:var(--accent); border-radius:999px; padding:5px 14px}
.glz-sv-next .nx-more{display:inline-block; margin-top:10px; font-size:12.5px; color:var(--ink-2)}

/* 配信サービスをアイコンで選ぶ（設問の型 vod） */
.glz-sv-vod{display:grid; grid-template-columns:repeat(auto-fill, minmax(74px,1fr)); gap:8px; margin-bottom:10px}
.glz-sv-vod .vod-i{display:flex; flex-direction:column; align-items:center; gap:5px; padding:8px 4px 7px;
  border:1.5px solid var(--line); border-radius:var(--r-in); background:var(--bg); cursor:pointer; text-align:center}
.glz-sv-vod .vod-i input{position:absolute; opacity:0; width:0; height:0}
.glz-sv-vod .vod-i img{width:40px; height:40px; border-radius:9px; display:block}
.glz-sv-vod .vod-i span{font-size:10px; line-height:1.35; color:var(--ink-2); word-break:break-word}
.glz-sv-vod .vod-i:has(input:checked){border-color:var(--accent); background:var(--accent-soft)}
.glz-sv-vod .vod-i:has(input:checked) span{color:var(--accent-ink); font-weight:700}
.glz-sv-vod .vod-i:has(input:focus-visible){outline:2px solid var(--accent); outline-offset:2px}
.glz-sv-list .erow{min-height:0}
.glz-sv-list .erow-b{padding:13px 14px}
.glz-sv-list .card-t{margin-bottom:6px}
/* 匿名で答えられることは、文章に埋めず独立させる（回答前のいちばんの摩擦なので） */
.glz-sv-safe{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin:2px 0 16px;
  padding:10px 14px; border-radius:var(--r-in); background:var(--accent-soft);
  font-size:12.5px; color:var(--accent-ink); line-height:1.7}
.glz-sv-safe b{font-size:13px}
/* 一覧の行: 所要時間 → 締切 → 押せることを示すCTA */
.glz-sv-list .sv-meta{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0}
.glz-sv-list .sv-dl{color:var(--ink-2)}
.glz-sv-list .sv-dl.soon{color:var(--accent-ink); font-weight:700;
  background:var(--accent-soft); border-radius:999px; padding:2px 9px}
.glz-sv-list .sv-cta{margin-left:auto; flex:none; font-size:12px; font-weight:700; color:#fff;
  background:var(--accent); border-radius:999px; padding:5px 14px; white-space:nowrap}
.glz-sv-list .is-done{opacity:.62}
.glz-sv-list .is-done .sv-cta{background:0 0; color:var(--ink-3); border:1px solid var(--line); font-weight:600}
.glz-sv-list .erow{transition:transform .12s, box-shadow .12s; align-items:center; gap:0; padding:0 14px}
.glz-sv-list .erow:active{transform:scale(.985)}
.glz-sv-list .erow-b{padding:13px 0 13px 12px}

/* 記号と色でメリハリを付ける（2026-09-07 メグ指示）。
   🔴 携帯の絵文字は使わない。サイトのSVGの記号とテーマの色トークンだけで作る */
.sv-ic{flex:none; width:42px; height:42px; border-radius:13px;
  display:flex; align-items:center; justify-content:center}
.sv-ic svg.i{font-size:21px}
.sv-ic-lg{width:50px; height:50px; border-radius:15px}
.sv-ic-lg svg.i{font-size:25px}
.sv-c-accent{background:var(--accent-soft); color:var(--accent-ink)}
.sv-c-sub{background:var(--sub-soft); color:#a06d00}
.sv-c-ok{background:var(--ok-soft); color:var(--ok)}
.sv-c-info{background:var(--info-soft); color:var(--info)}

/* 回答ページの頭 */
.glz-sv-head{display:flex; align-items:center; gap:12px; margin:2px 0 8px}
.glz-sv-head .page-title{margin:0; flex:1; min-width:0}
.glz-sv-hmeta{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px}
.glz-sv-hmeta .sv-dl{color:var(--ink-2); font-size:12.5px}
.glz-sv-hmeta .sv-dl.soon{color:var(--accent-ink); font-weight:700;
  background:var(--accent-soft); border-radius:999px; padding:2px 9px}
.glz-sv-hmeta .sv-min{display:inline-flex; align-items:center; gap:4px; margin-left:auto;
  font-size:12px; color:var(--ink-3)}
.glz-sv-hmeta .sv-min svg.i{font-size:14px}

/* 設問に番号を振ってリズムを出す */
.glz-sv-form .glz-sv-q{position:relative; padding-left:34px; padding-bottom:16px;
  border-bottom:1px dashed var(--line); margin-bottom:16px}
.glz-sv-form .glz-sv-q:last-of-type{border-bottom:0}
.glz-sv-q .qn{position:absolute; left:0; top:1px; width:24px; height:24px; border-radius:50%;
  background:var(--accent-soft); color:var(--accent-ink); font-size:12px; font-weight:800;
  display:flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums}
.glz-sv-prof{padding-left:14px}
.glz-sv-safe{align-items:center}
.glz-sv-safe svg.i{font-size:16px; flex:none}

/* ---- タブバー ---- */
.tabbar{position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:480px;
  background:var(--bg); border-top:1px solid var(--line); display:flex; z-index:55;
  padding-bottom:env(safe-area-inset-bottom)}
.tab{flex:1; border:none; background:none; cursor:pointer; padding:9px 2px 10px; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:4px; text-decoration:none;
  font:inherit; font-size:10px; color:var(--ink-3); min-height:58px}
.tab svg.i{font-size:19px}
.tab.on{color:var(--accent); font-weight:700}
.tab-out{color:var(--ink-3)}
.tab-out::after{content:"↗"; position:absolute; margin:-14px 0 0 22px; font-size:9px; color:var(--ink-3)}

/* ---- 浮かぶ投稿ボタン（FAB） ---- */
.fab-wrap{position:fixed; bottom:74px; left:50%; transform:translateX(-50%); width:100%; max-width:480px;
  display:flex; justify-content:flex-end; padding:0 16px; pointer-events:none; z-index:54}
.fab{pointer-events:auto; border:none; cursor:pointer; font:inherit; font-size:14px; font-weight:700;
  background:var(--accent); color:#fff; border-radius:var(--r-pill); padding:12px 20px; min-height:48px;
  display:inline-flex; align-items:center; gap:8px; box-shadow:0 4px 16px rgba(0,0,0,.18); text-decoration:none}
.fab:hover{background:var(--accent-ink)}
/* 相談系のボタンはサイトカラーの茶（#5a3a2e=店舗バナー「詳しく」と同系）。ビビッドオレンジのチカチカ回避（2026-08-09メグ指示） */
.fab-brown{background:#5a3a2e}
.fab-brown:hover{background:#432b22}
.btn-brown{background:#5a3a2e}
.btn-brown:hover{background:#432b22}
:root[data-theme="dark"] .fab-brown, :root[data-theme="dark"] .btn-brown{background:#6b4a3a}
:root[data-theme="dark"] .fab-brown:hover, :root[data-theme="dark"] .btn-brown:hover{background:#7d5847}

/* なんでも相談「回答する」= note「チップを送る」風のコンパクトなピルボタン（2026-08-09メグ指示） */
.glz-answer-actions{text-align:center; margin-top:4px}
.glz-tip-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:auto; min-width:170px; max-width:100%; padding:13px 30px; cursor:pointer;
  font:inherit; font-size:15px; font-weight:700; color:#07141a; background:#fff;
  border:1px solid #d3d5d6; border-radius:6px; box-shadow:none; transition:background .15s, border-color .15s}
.glz-tip-btn:hover{background:#f7f8f8; border-color:#b9bcbd}
.glz-tip-btn:active{transform:translateY(1px)}
.glz-tip-btn svg.i{font-size:16px; color:#07141a}
.glz-tip-btn.is-sending{opacity:.7; cursor:wait}
:root[data-theme="dark"] .glz-tip-btn{background:transparent; color:#e6edf0; border-color:#3a464c}
:root[data-theme="dark"] .glz-tip-btn:hover{background:rgba(255,255,255,.06); border-color:#54636a}
:root[data-theme="dark"] .glz-tip-btn svg.i{color:#e6edf0}
/* 相談の「回答する」ボタン: 黒地に白文字（2026-08-09メグ指示。フォーム内=右寄せ／一覧末尾=中央） */
.glz-ans-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-width:150px; padding:13px 30px; border:none; border-radius:8px; cursor:pointer; text-decoration:none;
  font:inherit; font-size:15px; font-weight:700; line-height:1; color:#fff; background:#232323; transition:background .15s}
.glz-ans-btn:hover{background:#000}
.glz-ans-btn:active{transform:translateY(1px)}
.glz-ans-btn svg.i{font-size:16px; color:#fff}
.glz-ans-btn.is-sending{opacity:.72; cursor:wait}
:root[data-theme="dark"] .glz-ans-btn{background:#ece7e1; color:#181513}
:root[data-theme="dark"] .glz-ans-btn:hover{background:#fff}
:root[data-theme="dark"] .glz-ans-btn svg.i{color:#181513}
.glz-ans-right{text-align:right; margin-top:2px}
.glz-ans-center{text-align:center; margin:18px 0 4px}
#new-answer{scroll-margin-top:76px} /* 一覧末尾ボタンから飛ぶと「この相談に答える」の少し上に着地 */

/* 送信中スピナー（相談ページ用・文字色に追従＝白背景でも見える） */
.glz-spin{display:inline-block; width:1em; height:1em; border:2px solid rgba(255,255,255,.35); border-top-color:currentColor; border-radius:50%; animation:glzspin .7s linear infinite; vertical-align:-2px; margin-right:2px}

/* なんでも相談: 回答欄と回答コメント欄は通常はコンパクト、スマホでタップ中だけ約5行に伸ばす（2026-08-09メグ指示） */
#glz-ans{min-height:110px}
@media (max-width:767px){
	#glz-ans, #glz-q-content, .glz-comment-form textarea{transition:min-height .18s ease}
	#glz-ans:focus{min-height:198px}                /* 約7行（メグ指示で+2行・2026-08-09） */
	#glz-q-content:focus{min-height:220px}          /* 新規相談の相談内容: タップで約8行（2026-08-09メグ指示） */
	.glz-comment-form textarea:focus{min-height:132px} /* rows=2 → タップで約5行 */
}
@keyframes glzspin{to{transform:rotate(360deg)}}
.fab svg.i{font-size:18px; stroke-width:2}

/* ---- フッター ---- */
.ft{padding:0 0 92px} /* 下部タブバーに隠れないように */
.ft-links{display:flex; justify-content:center; gap:16px; flex-wrap:wrap; list-style:none; margin:0; padding:0; font-size:12px}
.ft-links a{color:var(--ink-2); text-decoration:none}
.ft-links a:hover{color:var(--accent)}
.ft-copy{text-align:center; font-size:11px; color:var(--ink-3); margin:10px 0 0}

/* ---- 記事・固定ページ本文 ---- */
.page-title{font-size:19px; font-weight:800; margin:4px 0 12px; line-height:1.55}
.entry-eyecatch{margin:0 0 14px}
.entry-eyecatch img{width:100%; height:auto; border-radius:var(--r-card); display:block}
.entry-content{font-size:15px; line-height:1.95}
.entry-content img{max-width:100%; height:auto; border-radius:var(--r-in)}
.entry-content iframe, .entry-content video{max-width:100%}
/* 旧デザイン時代のインラインスタイル（色・フォント・サイズ直書き）を中和する。
   これが無いとダークモードで文字が読めなくなるページがある */
.entry-content [style]{color:inherit !important; background-color:transparent !important;
  font-family:inherit !important; font-size:inherit !important}
.entry-content h1{font-size:19px; font-weight:800; margin:28px 0 12px; line-height:1.55}
.entry-content h1[style]{font-size:19px !important; font-weight:800 !important; margin:28px 0 12px !important}
.entry-content h2[style]{font-size:17px !important; margin:28px 0 10px !important}
.entry-content h2{font-size:17px; margin:28px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--line)}
.entry-content h3{font-size:15px; margin:22px 0 8px}
.entry-content ul, .entry-content ol{padding-left:1.5em; margin:12px 0}
.entry-content li{margin:4px 0}
.entry-content blockquote{margin:14px 0; padding:10px 14px; border-left:3px solid var(--line-2); color:var(--ink-2)}
.entry-content hr{border:none; height:1px; background:var(--line); margin:22px 0}
.entry-content pre{overflow-x:auto; background:var(--surface-2); border-radius:var(--r-in); padding:12px 14px; font-size:13px}
.entry-content table{border-collapse:collapse; font-size:13px; display:block; overflow-x:auto; max-width:100%}
.entry-content th, .entry-content td{border:1px solid var(--line-2); padding:8px 12px; line-height:1.7}
.entry-content th{background:var(--surface-2); font-weight:700; white-space:nowrap}
a.badge{text-decoration:none}

/* ---- 前後の記事ナビ ---- */
.post-navigation{margin:24px 0 0}
.post-navigation .nav-links{display:flex; justify-content:space-between; gap:8px; margin:0}
.post-navigation a{font-size:13px; color:var(--ink-2); text-decoration:none; padding:10px 14px;
  border:1px solid var(--line-2); border-radius:var(--r-pill); max-width:48%; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap}
.post-navigation a:hover{color:var(--accent); border-color:var(--accent)}

/* ---- ページ送り ---- */
.nav-links{display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin:20px 0}
.nav-links .page-numbers{padding:8px 14px; border:1px solid var(--line-2); border-radius:var(--r-pill);
  text-decoration:none; color:var(--ink-2); font-size:13px}
.nav-links .page-numbers.current{background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent); font-weight:700}

/* ---- 雑談（bbPress） ---- */
.glz-back{color:var(--ink-2); text-decoration:none; display:inline-flex; align-items:center; gap:4px}
.glz-back:hover{color:var(--accent)}
.glz-topic-meta{padding-bottom:12px; border-bottom:1px solid var(--line)}
.glz-notice{background:var(--sub-soft); border:1px solid var(--sub); border-radius:var(--r-in);
  padding:10px 14px; font-size:12px; line-height:1.8; color:#8a6200; margin:0 0 14px}
:root[data-theme="dark"] .glz-notice{color:var(--ink-2)}
.glz-notice a{color:inherit; text-decoration:underline; text-underline-offset:2px}
.glz-cardlink{color:inherit; text-decoration:none}
.glz-cardlink::after{content:""; position:absolute; inset:0}
.glz-topic-card{position:relative}
.glz-topic-card .bbp-row-actions, .glz-topic-card .bbp-topic-revision-log{position:relative; z-index:1}
.glz-lead{background:var(--accent-soft); border-radius:var(--r-in); padding:16px 14px; margin:8px 0; border-bottom:none}
.glz-lead .post-n{background:var(--accent); color:#fff}
.glz-posts{margin-top:4px}
.glz-posts ul, .glz-posts ol, .glz-posts li{list-style:none; margin:0; padding:0} /* bbp_list_repliesのul/liのポチを消してモックのフラット表示に */
.bbp-topic-content p, .bbp-reply-content p{font-size:15px; line-height:1.95; margin:0 0 8px}
.bbp-topic-content p:last-child, .bbp-reply-content p:last-child{margin-bottom:0}
.bbp-topic-content img, .bbp-reply-content img{max-width:100%; height:auto; border-radius:var(--r-in)}
.glz-permalink{font-size:11px; color:var(--ink-3); text-decoration:none}
.bbp-reply-ip, .bbp-topic-ip{font-size:11px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.bbp-threaded-replies{list-style:none; margin:8px 0 0 12px; padding:0 0 0 12px; border-left:2px solid var(--line-2)}
.bbp-threaded-replies li{list-style:none}

/* 運営用の管理リンク: 本文の下にボタン型で並べる（権限のある人にしか出ない） */
.post-admin{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.post-admin .bbp-admin-links{display:contents}
.post-admin a{display:inline-flex; align-items:center; padding:4px 12px; min-height:30px;
  border:1px solid var(--line-2); border-radius:var(--r-pill); background:var(--bg);
  color:var(--ink-3); text-decoration:none; font-size:11px; white-space:nowrap}
.post-admin a:hover{color:var(--accent); border-color:var(--accent)}
.bbp-pagination{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap;
  margin:14px 0; font-size:12px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.bbp-pagination-links{display:flex; gap:4px; flex-wrap:wrap}
.bbp-pagination-links a, .bbp-pagination-links span.page-numbers{padding:6px 11px; border:1px solid var(--line-2);
  border-radius:var(--r-pill); text-decoration:none; color:var(--ink-2); font-size:12px}
.bbp-pagination-links span.current{background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent)}
.bbp-pagination-links .dots{border:none}
.bbp-template-notice{background:var(--warn-soft); color:var(--warn); border-radius:var(--r-in);
  padding:10px 14px; font-size:13px; margin:0 0 12px}
.bbp-template-notice.error{background:var(--accent-soft); color:var(--accent-ink)}
.bbp-template-notice p{margin:0}
.glz-form-card{margin-top:16px}
.glz-form-title{font-size:15px; font-weight:800; margin:0 0 12px; display:flex; align-items:center; gap:7px}
.glz-form-title svg.i{color:var(--accent)}
.glz-rules{margin:0 0 14px; font-size:12px}
.glz-rules-t{color:var(--warn); font-weight:700; padding:4px 0; margin:0; font-size:13px}
#glz-write{scroll-margin-top:70px}
.glz-rules-body{color:var(--ink-2); line-height:1.8; padding:4px 0 8px}
.glz-rules-body p{margin:0 0 10px}
.glz-rules-body a{color:var(--accent-ink)}
.bbp-form textarea, .bbp-form input[type="text"]{width:100%; font:inherit; font-size:16px; padding:12px 14px;
  border-radius:var(--r-in); border:1px solid var(--line-2); background:var(--bg); color:var(--ink); line-height:1.7}
.bbp-form textarea{min-height:110px; resize:vertical}
.bbp-form textarea:focus, .bbp-form input[type="text"]:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.bbp-form fieldset{border:none; margin:0; padding:0}
.bbp-submit-wrapper{margin-top:4px}
.glz-anon .field input{width:100%}
#bbpress-forums .bbp-topic-revision-log, #bbpress-forums .bbp-reply-revision-log{font-size:11px; color:var(--ink-3); list-style:none; padding:6px 0 0; margin:0}

/* ---- なんでも相談（DWQA・P1はCSS整形のみ。DOMはプラグインのまま） ---- */
/* Font Awesomeは新テーマでは読み込まないため、DWQA内の装飾アイコンは非表示にする */
.dwqa-container i[class*="fa"]{display:none}
.dwqa-container .singletitle{display:none} /* テーマ側のh1と重複するため */
.dwqa-breadcrumbs{font-size:12px; color:var(--ink-3); margin:0 0 12px}
.dwqa-breadcrumbs a{color:var(--ink-2); text-decoration:none}
.dwqa-breadcrumbs a:hover{color:var(--accent)}
.question-simgle-item{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  padding:14px 16px; box-shadow:var(--shadow); margin-bottom:8px}
.dwqa-question-meta{font-size:12px; color:var(--ink-3); margin-bottom:8px; font-variant-numeric:tabular-nums}
.dwqa-question-content p, .dwqa-answer-content p{font-size:15px; line-height:1.95; margin:0 0 8px}
.dwqa-question-content p:last-child, .dwqa-answer-content p:last-child{margin-bottom:0}
/* いいね: プラスのみ残す（マイナス評価は不採用の方針を先行適用） */
.dwqa-answer-vote{display:flex; align-items:center; gap:8px; margin-top:12px}
.dwqa-vote-up{display:inline-flex; align-items:center; gap:6px; font-size:13px; padding:8px 16px; min-height:38px;
  border:1px solid var(--line-2); border-radius:var(--r-pill); background:var(--bg); color:var(--ink-2); text-decoration:none}
.dwqa-vote-up::before{content:"いいね"} /* P2でリアクション（案2）に置き換える暫定表示 */
.dwqa-vote-up:hover{border-color:var(--accent); color:var(--accent); background:var(--accent-soft)}
.dwqa-vote-down{display:none}
.dwqa-vote-count{font-weight:700; font-size:13px; color:var(--ink-2); font-variant-numeric:tabular-nums}
.dwqa-answers-title{font-size:15px; font-weight:800; margin:26px 0 4px}
.dwqa-answers-title div{font-size:15px !important}
.dwqa-answer-item{border-bottom:1px solid var(--line); padding:16px 0}
.dwqa-answer-item:last-child{border-bottom:none}
.dwqa-answer-meta{font-size:12px; color:var(--ink-3); margin-bottom:8px; font-variant-numeric:tabular-nums}
/* 回答へのコメント（返信）は左に線を付けてぶら下げる */
.dwqa-comments{margin-top:12px; padding-left:14px; border-left:2px solid var(--line-2)}
.dwqa-comments-list .comment-item, .dwqa-comments-list li{font-size:14px; line-height:1.9; margin-bottom:8px; list-style:none}
/* フォーム（回答・コメント共通） */
.dwqa-answer-form{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
  padding:14px 16px; box-shadow:var(--shadow); margin:16px 0}
.dwqa-answer-form-title{display:none}
.sou_ans_form p{font-size:13px; line-height:1.8; margin:0 0 10px}
.dwqa-container textarea, .dwqa-container input[type="text"]{
  width:100%; font:inherit; font-size:16px; padding:12px 14px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink); line-height:1.7; margin-bottom:10px}
.dwqa-container textarea:focus, .dwqa-container input[type="text"]:focus{
  outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.ansbutton-002{font:inherit; font-size:16px; font-weight:700; padding:14px 28px; border-radius:var(--r-pill);
  background:var(--accent) !important; color:#fff !important; border:none !important; cursor:pointer; min-height:52px}
.ansbutton-002:hover{background:var(--accent-ink) !important}
.ans_info{font-size:11px; color:var(--ink-3); display:block; margin-top:6px}
.popupModal1{font-size:12px; color:var(--ink-2); margin:4px 0 10px}
.popupModal1 > label{color:var(--warn); font-weight:700; cursor:pointer}
/* ダークで読めなくなる直書き色を中和 */
.dwqa-container font[color]{color:inherit}
.dwqa-container [style*="color"]{color:inherit !important}
/* プラグインCSSの薄黄色パネルを無効化（ダークで文字が読めなくなる） */
.sou_ans_form, .askform{background:transparent !important; color:inherit}
.dwqa-vote-up{font-size:13px}
.dwqa-vote-count{background:var(--surface-2) !important; border:none !important; color:var(--ink-2) !important;
  border-radius:8px; padding:4px 12px; font-size:13px}
.dwqa-single-question br, .dwqa-answers > br{display:none}
.dwqa-container select{width:100%; font:inherit; font-size:16px; padding:12px 14px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink); margin-bottom:10px}
.button-001{font:inherit; font-size:16px; font-weight:700; padding:14px 28px; border-radius:var(--r-pill);
  background:var(--accent) !important; color:#fff !important; border:none !important; cursor:pointer; min-height:52px}
.button-001:hover{background:var(--accent-ink) !important}

/* コメント・ハニーポット・小ボタン（相談詳細の自作テンプレ用） */
.glz-comment{font-size:12.5px; line-height:1.8; margin-bottom:8px;
  background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-in); padding:9px 12px}
.glz-comment .meta{font-size:11.5px}
.glz-comment-body{margin:0; white-space:pre-wrap}
.glz-comment-form{margin-top:10px; display:flex; flex-direction:column; gap:8px}
.glz-comment-form textarea, .glz-comment-form input[type="text"]{width:100%; box-sizing:border-box; margin:0;
  font:inherit; font-size:16px; /* 16px未満だとiPhoneが入力時に自動ズームする（2026-08-09メグ指摘） */
  line-height:1.7; padding:10px 12px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink)}
.glz-comment-form textarea{min-height:64px; resize:vertical}
.glz-comment-form textarea:focus, .glz-comment-form input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.glz-comment-form .btn{align-self:flex-start}
.glz-home-notice{margin:0 0 16px}
.glz-home-notice b{display:block; margin-bottom:4px}
.glz-home-notice p{margin:0 0 6px}
.glz-home-notice p:last-child{margin-bottom:0}
.glz-comment-form input[type="text"]{margin-bottom:8px}
.glz-hp{position:absolute !important; left:-9999px !important; margin:0; padding:0}
.glz-btn-s{width:auto; min-height:40px; font-size:13px; padding:8px 20px}

/* ---- リアクション（glz-soudanプラグイン・P2） ---- */
.dwqa-answer-vote{display:none !important} /* 旧いいねはリアクション（案2）に置き換え */
.glz-reacts{margin-top:12px; margin-bottom:4px; gap:6px}
.glz-reacts .react{font-size:11px; padding:5px 12px; min-height:30px; gap:4px}
.glz-ci{color:var(--ok); margin-right:5px; font-size:14px; vertical-align:-2px}
.glz-ba-item{background:var(--ok-soft); border:1px solid var(--ok); border-radius:var(--r-card);
  padding:14px 16px; margin:8px 0; border-bottom:1px solid var(--ok) !important; position:relative}
/* 右上のメダル（Yahoo!知恵袋風）。名前・日時と重ならないようmetaに右余白を確保 */
.glz-ba-medal{position:absolute; top:10px; right:12px; width:38px; height:44px; pointer-events:none;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.glz-ba-medal svg{width:100%; height:100%; display:block}
.glz-ba-item .dwqa-answer-meta{padding-right:52px}
.glz-ba-badge{display:inline-flex; align-items:center; gap:4px; margin-bottom:8px}
.glz-ba-badge svg.i{width:13px; height:13px; color:#e0a81a; flex:none}
.glz-asker-badge{margin-right:8px}

/* 選択カード（作成フォーム等）。説明文は小さく・細く・薄く */
.radio-card{display:flex; gap:10px; align-items:flex-start; border:1px solid var(--line-2); border-radius:var(--r-in);
  padding:12px 14px; margin-bottom:8px; font-size:14px; cursor:pointer; background:var(--bg); line-height:1.6}
.radio-card input{width:auto; margin-top:5px; flex:none; accent-color:var(--accent)}
.radio-card b{font-weight:700; font-size:14px}
.radio-card:has(input:checked){border-color:var(--accent); background:var(--accent-soft)}
.rc-x{font-size:11px; color:var(--ink-3); line-height:1.7; font-weight:400}
/* 設問のまとまりに枠を付ける（「開催のかたち」「申込の受けかた」など） */
.fgroup{border:1px solid var(--line); border-radius:var(--r-card); padding:14px 16px 8px; margin-bottom:16px; background:var(--surface)}
.fgroup > label:first-child{display:block; font-size:13px; font-weight:700; margin-bottom:10px}
.ccheck{display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.7; color:var(--ink-2);
  padding:7px 0; cursor:pointer}
.ccheck input{width:18px; height:18px; flex:none; margin-top:3px; accent-color:var(--accent); cursor:pointer}
.btn:disabled{opacity:.45; cursor:not-allowed}
.btn:disabled:hover{background:var(--accent)}

/* ---- 主催者ページ（/host/・モックv4） ---- */
/* 主催者向けは運営寄りの落ち着いた色に（アクセントのオレンジと役割を分ける） */
:root{--host:#2f7d8c; --host-ink:#24616d; --host-soft:#eaf4f6}
:root[data-theme="dark"]{--host:#5fb3c2; --host-ink:#7fc7d4; --host-soft:#16292d}
.glz-host-page .btn{background:var(--host)}
.glz-host-page .btn:hover{background:var(--host-ink)}
/* 新規登録は編集ボタン（ティールの丸ピル）と紛れないよう角ばった形+オレンジ（2026-08-08メグ指示） */
.btn-new, .glz-host-page .btn.btn-new{background:var(--accent); border-radius:12px}
.btn-new:hover, .glz-host-page .btn.btn-new:hover{background:var(--accent-ink)}
.glz-host-page .btn:disabled:hover{background:var(--host)}
.glz-host-page .btn-sub{background:var(--bg); color:var(--host-ink); border-color:var(--host)}
.glz-host-page .fill-bar span{background:var(--host)}
.glz-host-page .gok{color:var(--host-ink); border-color:var(--host)}
.glz-host-page .gok:hover{background:var(--host); color:#fff}
.glz-host-page .chip.on{background:var(--host); border-color:var(--host)}
.glz-host-page .radio-card:has(input:checked){border-color:var(--host); background:var(--host-soft)}
.glz-host-page .ccheck input, .glz-host-page .field input:focus, .glz-host-page .field textarea:focus, .glz-host-page .field select:focus{accent-color:var(--host); outline-color:var(--host); border-color:var(--host)}
.glz-host-page .ops a:hover, .glz-host-page .ops button:hover{color:var(--host); border-color:var(--host)}
.glz-host-page .cap-btn:hover{border-color:var(--host); color:var(--host)}
.glz-host-page #loginform input[type="submit"]{background:var(--host)}
.ev-top{display:flex; gap:12px; align-items:flex-start}
.ev-date{flex:none; text-align:center; color:var(--ink); background:var(--surface-2);
  border-radius:10px; padding:6px 10px; line-height:1.25; min-width:52px}
.ev-date .m{font-size:10px; font-weight:700}
.ev-date .d{font-size:19px; font-weight:800; font-variant-numeric:tabular-nums}
.ev-date .w{font-size:10px}
/* 日付の色分け（数字も曜日も同色）: 平日=黒(既定) 土=青 日祝=赤 */
.ec-date.wd-sat, .ev-date.wd-sat{background:var(--info-soft); color:var(--info)}
.ec-date.wd-sun, .ev-date.wd-sun{background:#fdeaea; color:#c93030}
/* 金曜=夕暮れオレンジ（花金・サンセット配色と調和。2026-08-08メグ指示） */
.ec-date.wd-fri, .ev-date.wd-fri{background:var(--accent-soft); color:var(--accent)}
:root[data-theme="dark"] .ec-date.wd-sun, :root[data-theme="dark"] .ev-date.wd-sun{background:#331b1b}
/* 月表記は曜日によらず常に黒（2026-08-08メグ指示） */
.ec-date .m, .ev-date .m{color:var(--ink)}
.fill{margin-top:10px}
.fill-bar{height:8px; border-radius:var(--r-pill); background:var(--surface-2); overflow:hidden}
.fill-bar span{display:block; height:100%; border-radius:var(--r-pill); background:var(--accent)}
.fill-bar span.full{background:var(--ok)}
.fill-t{display:flex; justify-content:space-between; font-size:11px; color:var(--ink-3); margin-top:4px;
  font-variant-numeric:tabular-nums}
.fill-t b{color:var(--ink-2)}
/* マイページのメイン操作（編集が最重要・2026-08-08メグ指示）。補助操作(.ops)と分離して大きく */
.ops-main{display:flex; gap:8px; margin-top:12px}
.ops-main a{flex:1; display:flex; align-items:center; justify-content:center; gap:6px; min-height:42px;
  border-radius:var(--r-pill); font-size:13px; font-weight:700; text-decoration:none}
.om-edit{background:var(--host); color:#fff}
.om-edit svg.i{color:#fff}
.om-guests{border:2px solid var(--host); color:var(--host-ink); background:var(--surface)}
.ops{display:flex; gap:6px; margin-top:10px; flex-wrap:wrap}
.ops a, .ops button{font:inherit; font-size:12px; padding:7px 14px; border-radius:var(--r-pill); cursor:pointer;
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink-2); text-decoration:none;
  display:inline-flex; align-items:center; gap:5px; min-height:34px}
.ops a:hover, .ops button:hover{color:var(--accent); border-color:var(--accent)}
.ops .danger:hover{color:#c93030; border-color:#c93030}
.glz-confirm{margin-top:10px; background:var(--warn-soft); border:1px solid var(--warn);
  border-radius:var(--r-in); padding:12px 14px; font-size:13px; line-height:1.7}
.glz-confirm b{color:var(--warn)}
.glz-confirm .row{display:flex; gap:8px; margin-top:10px}
.glz-confirm .yes{background:#c93030; color:#fff; border:none; font-weight:700; padding:8px 18px;
  border-radius:var(--r-pill); cursor:pointer; font-family:inherit; font-size:13px}
.glz-confirm .no{background:var(--bg); color:var(--ink-2); border:1px solid var(--line-2); padding:8px 18px;
  border-radius:var(--r-pill); cursor:pointer; font-family:inherit; font-size:13px}
.guest{display:flex; align-items:flex-start; gap:10px; padding:12px 0; border-bottom:1px solid var(--line)}
.guest:last-child{border-bottom:none}
.gsel{flex:none; display:flex; align-items:center; padding-top:4px}
.gchk{width:18px; height:18px; accent-color:var(--accent); cursor:pointer}
.guest-b{flex:1; min-width:0}
.guest-b .nm{font-size:14px; font-weight:700}
.guest-b .tm{font-size:11px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.guest .sp2{flex:none; padding-top:2px}
.gok, .gdel{font:inherit; font-size:12px; padding:7px 12px; border-radius:var(--r-pill); cursor:pointer;
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink-2)}
.gok{color:var(--accent-ink); border-color:var(--accent); font-weight:700}
.gok:hover{background:var(--accent); color:#fff}
.gdel:hover{color:#c93030; border-color:#c93030}
.bulk{display:none; position:sticky; bottom:12px; margin-top:12px; background:var(--ink); color:var(--bg);
  border-radius:var(--r-pill); padding:10px 16px; font-size:13px; align-items:center; gap:10px;
  box-shadow:0 4px 16px rgba(0,0,0,.25); z-index:56}
.bulk.on{display:flex}
.bulk span{flex:1}
.bulk-del{font:inherit; font-size:13px; font-weight:700; background:#c93030; color:#fff; border:none;
  padding:8px 16px; border-radius:var(--r-pill); cursor:pointer}
.cap-row{display:flex; align-items:center; gap:8px; margin-top:4px; flex-wrap:wrap}
.cap-btn{width:38px; height:38px; border-radius:var(--r-pill); border:1px solid var(--line-2); background:var(--bg);
  color:var(--ink); font-size:18px; font-weight:700; cursor:pointer; font-family:inherit}
.cap-btn:hover{border-color:var(--accent); color:var(--accent)}
/* wp_login_form の素の出力をテーマの入力様式に */
#loginform p{margin:0 0 14px}
#loginform label{display:block; font-size:13px; font-weight:700; margin-bottom:6px}
#loginform input[type="text"], #loginform input[type="password"]{
  width:100%; font:inherit; font-size:16px; padding:12px 14px; border-radius:var(--r-in);
  border:1px solid var(--line-2); background:var(--bg); color:var(--ink)}
#loginform input[type="submit"]{width:100%; font:inherit; font-size:16px; font-weight:700; padding:14px;
  border-radius:var(--r-pill); background:var(--accent); color:#fff; border:none; cursor:pointer; min-height:52px}
#loginform .login-remember{font-size:13px; color:var(--ink-2)}
#loginform .login-remember{display:flex; align-items:center; gap:8px}
#loginform .login-remember label{display:flex; align-items:center; gap:8px; font-weight:400; margin:0}
#loginform .login-remember input{width:20px; height:20px; accent-color:var(--accent); cursor:pointer}

@media (prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important}}


/* ============================================================
 * PC版レイアウト（1080px以上・2026-08-08メグ指示。スマホ版は不変更）
 * 中央カラム660px + 下部タブバーを左の縦ナビレールに変形
 * ============================================================ */
@media (min-width:1140px){
	.wrap{max-width:760px}
	.hd{padding:14px 24px; min-height:60px}
	.logo{font-size:24px}
	.main{padding-left:24px; padding-right:24px}

	/* タブバー → 左の縦ナビ */
	.tabbar{left:calc(50% - 565px); top:120px; bottom:auto; transform:none;
		width:170px; max-width:170px; flex-direction:column; gap:2px;
		background:var(--surface); border:1px solid var(--line); border-top:1px solid var(--line);
		border-radius:16px; padding:10px; box-shadow:var(--shadow)}
	.tab{flex-direction:row; justify-content:flex-start; gap:12px; font-size:14px;
		padding:11px 14px; min-height:44px; border-radius:12px}
	.tab svg.i{font-size:18px}
	.tab.on{background:var(--accent-soft)}
	.tab.on::after{display:none}
	.tab:hover{background:var(--surface-2); color:var(--ink)}
	.tab.on:hover{background:var(--accent-soft)}
	.tab-out .out-mark{right:8px; top:10px}

	/* 下部バーが無いのでフッター余白を戻し、浮きボタンは右下へ */
	.ft{padding-bottom:28px}
	.fab-wrap{max-width:760px; bottom:32px}
	.drawer, .searchbar{max-width:760px}

	/* 入力・カードは少しゆったり */
	.hero h1{font-size:24px}
	.hero{padding-top:8px}
}
/* レールが入りきらない中間幅（1080未満）はスマホ版のまま */


/* 大きめのPC画面（1280px以上）はさらに広く */
@media (min-width:1280px){
	.wrap{max-width:880px}
	.tabbar{left:calc(50% - 636px)}
	.fab-wrap{max-width:880px}
	.drawer, .searchbar{max-width:880px}
}


/* おすすめ枠ボタンの仕上げ（後方定義で確実に上書き） */
.glz-amz .btns a{text-decoration:none}
.glz-amz .go{text-decoration:none}
.glz-amz .go-rak{background:#fbe3e3 !important; color:#b12a2a !important}
.glz-amz .go-rak:hover{background:#f6cccc !important}

/* ── アンカー >>N のその場プレビュー（2026-08-08） ── */
.glz-anc{color:var(--info); text-decoration:none; font-weight:600}
.glz-anc:active{opacity:.7}
.glz-peek{position:absolute; z-index:1200; background:var(--bg); border:1px solid var(--line-2);
  border-radius:var(--r-card); box-shadow:var(--shadow), 0 10px 34px rgba(0,0,0,.16)}
.glz-peek-h{display:flex; align-items:center; gap:10px; padding:10px 12px; border-bottom:1px solid var(--line);
  font-size:12px; color:var(--ink-2)}
.glz-peek-h b{color:var(--accent)}
.glz-peek-go{margin-left:auto; color:var(--info); text-decoration:none; white-space:nowrap}
.glz-peek-x{border:0; background:none; color:var(--ink-3); font-size:18px; line-height:1; padding:2px 4px; cursor:pointer}
.glz-peek-b{padding:12px 14px; max-height:45vh; overflow-y:auto; font-size:14px; line-height:1.75; color:var(--ink);
  overflow-wrap:anywhere}
.glz-peek-b p{margin:0 0 .6em}
.glz-peek-b p:last-child{margin-bottom:0}
.glz-hl{animation:glz-hl-fade 1.6s ease}
@keyframes glz-hl-fade{0%,55%{background:var(--sub-soft)} 100%{background:transparent}}

/* ── 通報リンク/フォームの調整（2026-08-08）──
   mm-reportはfloat:right前提のCSSだが、新テーマのカード内ではfloatが親の高さに
   含まれず、開いたフォームが後続の広告・ボタンの下に潜る。floatをやめて通常フローに。
   ※mm-reportのCSSはwp_footer出力で後勝ちするため、bodyを付けて詳細度で確実に上書きする */
body .mm-report{float:none; display:block; text-align:right; margin:10px 0 4px}
body .mm-report-open{display:inline-block; padding:4px 8px}
body .mm-report-panel{position:relative; z-index:5; text-align:left; margin:8px 0 6px}
/* パネルの配色を新テーマのライト/ダークに連動させる（mm-reportの--mm-*変数を上書き） */
body{
  --mm-text:var(--ink); --mm-bg:var(--surface); --mm-line:var(--line-2);
  --mm-field:var(--bg); --mm-fline:var(--line-2); --mm-btn:var(--accent);
  --mm-sd-bg:var(--warn-soft); --mm-sd-line:var(--line-2);
}
.fab-wrap.glz-fab-hidden{display:none}

/* ── 店舗マップ計画（2026-08-08） ── */
.glz-shop-banner{display:flex; align-items:center; gap:12px; margin:26px 0 4px; padding:14px 16px;
  background:linear-gradient(135deg, var(--accent-soft), var(--sub-soft)); border:1px solid var(--line-2);
  border-radius:var(--r-card); text-decoration:none; color:var(--ink)}
.glz-shop-banner .sb-icon{flex:0 0 auto; display:grid; place-items:center; width:38px; height:38px;
  background:var(--bg); border-radius:50%; color:var(--accent)}
.glz-shop-banner .sb-icon svg.i{width:19px; height:19px}
.glz-shop-banner .sb-body{display:flex; flex-direction:column; gap:2px; min-width:0}
.glz-shop-banner .sb-body b{font-size:13.5px}
.glz-shop-banner .sb-body span{font-size:12px; color:var(--ink-2)}
.glz-shop-banner .sb-go{margin-left:auto; flex:0 0 auto; font-size:12px; font-weight:700; color:#fff; background:#5a3a2e; padding:7px 14px; border-radius:var(--r-pill)}
.glz-shop-intro{font-size:14px; line-height:1.9; color:var(--ink)}
.glz-shop-intro p{margin:0 0 1em}
.glz-shop-ok{border-color:var(--ok); background:var(--ok-soft)}
.glz-shop-err{border-color:#d63638; background:#fdeeee}
:root[data-theme="dark"] .glz-shop-err{background:#332226}
.glz-hp{position:absolute !important; left:-9999px; top:-9999px}
.field .req{color:var(--accent); font-weight:700}
.glz-shop-note{font-size:12px; color:var(--ink-2); margin:6px 0 0}
.glz-shop-submit{display:flex; align-items:center; gap:8px; margin-top:6px; width:100%; justify-content:center;
  font:inherit; font-size:15px; font-weight:800; color:#fff; background:var(--accent); border:0;
  border-radius:var(--r-in); padding:14px; cursor:pointer}
.glz-shop-submit svg.i{width:16px; height:16px}
.glz-shop-submit:active{opacity:.85}
.glz-shop-ng{font-weight:700; color:var(--accent-ink)}
.field input[type="file"]{padding:10px; font-size:13px}
.glz-evmore-row{display:flex; justify-content:center; margin:18px 0 6px}
.glz-evmore-row .btn{padding:12px 26px}

/* ── 見守りスレの説明ポップアップ（スレ立てフォーム・2026-08-08） ── */
.glz-mim-demo{position:fixed; inset:0; z-index:1300; background:rgba(20,16,14,.55);
  display:flex; align-items:center; justify-content:center; padding:20px}
.glz-mim-demo-card{width:min(92vw,420px); background:var(--bg); border:1px solid var(--line-2);
  border-radius:var(--r-card); box-shadow:var(--shadow), 0 14px 44px rgba(0,0,0,.25); overflow:hidden}
.glz-mim-demo-body{padding:16px 18px; font-size:13.5px; line-height:1.8; color:var(--ink)}
.glz-mim-demo-body p{margin:0 0 .8em}
.glz-mim-demo-body .gm-badge{display:inline-block; font-size:12px; font-weight:700; color:#6b5eae;
  background:var(--info-soft); padding:3px 10px; border-radius:var(--r-pill)}
.glz-mim-demo-body .gm-btn{display:block; text-align:center; font-weight:800; color:#fff;
  background:var(--accent); border-radius:var(--r-in); padding:11px; margin:14px 0 10px}
.glz-mim-demo-body .gm-note{font-size:11.5px; color:var(--ink-3); margin:0}
.glz-mim-demo[hidden]{display:none} /* display:flexがhidden属性に勝ってしまう事故の修正（2026-08-08） */

/* 回答へのコメント欄は折りたたみ（2026-08-08） */
.glz-cmt-fold{margin-top:8px}
.glz-cmt-fold summary{cursor:pointer; font-size:12.5px; color:#9a8bbd; list-style:none; display:inline-block; padding:4px 0}
.glz-cmt-fold summary svg.i{color:#9a8bbd} /* トップ相談見出しと同じ紫に統一（2026-08-09メグ指示） */
:root[data-theme="dark"] .glz-cmt-fold summary,
:root[data-theme="dark"] .glz-cmt-fold summary svg.i{color:#a99ec4}
.glz-cmt-fold summary::-webkit-details-marker{display:none}
.glz-cmt-fold[open] summary{color:var(--ink-3)}
.glz-cmt-fold .glz-comment-form{margin-top:6px}

/* リニューアル案内リンク＆ページ（2026-08-09） */
.glz-rn-link{display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--info); text-decoration:none; margin-top:6px}
.glz-rn-link svg.i{width:14px; height:14px}
.glz-rn-row{margin:4px 0 10px}
.glz-renewal .sec-head{margin-top:22px}
.glz-rn-list{margin:0 0 4px; padding-left:1.1em; font-size:13.5px; line-height:1.9; color:var(--ink)}
.glz-rn-list li{margin-bottom:7px}

/* リニューアル案内バナー（トップ最上部・2026-08-09） */
.glz-rn-banner{display:flex; align-items:center; gap:7px; margin:0 0 12px; padding:9px 13px;
  background:var(--sub-soft); border:1px solid var(--sub); border-radius:var(--r-in);
  color:var(--ink-2); text-decoration:none; font-size:12.5px; line-height:1.6}
.glz-rn-banner:hover{color:var(--ink)}
.glz-rn-banner svg.i{width:14px; height:14px; flex:none; color:inherit}
.glz-rn-inline, .glz-notice a.glz-rn-inline{display:inline-flex; align-items:center; gap:5px; color:inherit; text-decoration:none}
.glz-rn-inline u{text-underline-offset:2px}
.glz-rn-inline svg.i{width:13px; height:13px; flex:none; color:inherit}
.gc-ng{margin:4px 0 10px; padding-left:1.15em; font-size:13px; line-height:1.8; color:var(--ink)}
.gc-ng li{margin-bottom:5px}

/* ── お問い合わせフォーム（Contact Form 7）をサイトの見た目に合わせる（2026-08-09） ── */
.wpcf7{margin-top:14px}
.wpcf7-form p{margin:0 0 14px; font-size:14px; line-height:1.9; color:var(--ink)}
.wpcf7-form label{display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:6px}
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea,
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea{
  width:100%; box-sizing:border-box; max-width:100%; font:inherit; font-size:16px; line-height:1.7;
  padding:12px 14px; border:1px solid var(--line-2); border-radius:var(--r-in);
  background:var(--bg); color:var(--ink); margin-top:2px}
.wpcf7-form textarea{min-height:150px; resize:vertical}
.wpcf7-form-control:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
.wpcf7-form .wpcf7-submit{
  width:100%; font:inherit; font-size:16px; font-weight:700; color:#fff; background:var(--accent);
  border:none; border-radius:var(--r-pill); padding:14px; min-height:52px; cursor:pointer; margin-top:4px}
.wpcf7-form .wpcf7-submit:hover{background:var(--accent-ink)}
.wpcf7-not-valid-tip{color:#d63638; font-size:12px; margin-top:4px}
.wpcf7-form-control.wpcf7-not-valid{border-color:#d63638}
.wpcf7-response-output{margin:14px 0 0 !important; padding:12px 14px !important; border-radius:var(--r-in);
  font-size:13px; line-height:1.7; border-width:1px !important}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--ok) !important; background:var(--ok-soft); color:var(--ok)}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output{border-color:#d63638 !important; background:#fdeeee; color:#d63638}
:root[data-theme="dark"] .wpcf7 form.invalid .wpcf7-response-output, :root[data-theme="dark"] .wpcf7 form.failed .wpcf7-response-output{background:#332226}
.wpcf7-spinner{background-color:var(--accent)}


/* トップ: セクション見出しアイコンをコーナー別に色分け（2026-08-09） */
body.home .sh-qa h2 svg.i{color:#9a8bbd; background:#efecf5}
:root[data-theme="dark"] body.home .sh-qa h2 svg.i{color:#a99ec4; background:#272338}
body.home h2.h2-event svg.i{color:var(--ok); background:var(--ok-soft)}
body.home h2.h2-column svg.i{color:var(--warn); background:var(--warn-soft)}
