/* ------------------------------------------------------------------
   Aurora（011-0001）の基本CSS
   ------------------------------------------------------------------
   2026-09-22 まで、この中身は site_head.html の中に直接書いていた。
   ページを移るたびに 52KB を送り直していたので、ファイルに出した。
   ・全テナント同じ中身。色はCSS変数で、ページ色管理の値がHTMLの <style> で上書きする
   ・各テナントの html/css/base.css へ、plugins/wm_base_css.php が必要なときに写す
   ここを直したら、テナントの控えは自動で置き直される（日時を見ている）。
   ------------------------------------------------------------------ */
  :root{
    --ground:#FBFAF7;--panel:#FFFFFF;--panel-2:#F4F1EA;--ink:#211E19;--muted:#6E675C;--faint:#9A9284;
    --border:#E9E3D7;--border-strong:#D8D0C0;--accent:#1E6E62;--accent-ink:#0F3F38;--accent-soft:#E3F0EC;
    --chip:#2563EB;--chip-bg:#E7EEFE;--shadow:0 1px 2px rgba(30,25,15,.04),0 12px 30px -18px rgba(30,25,15,.25);
    --radius:14px;--maxw:1200px;
    --sans:"Noto Sans JP",system-ui,sans-serif;--disp:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--num:"Outfit","Noto Sans JP",sans-serif;
  }
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
    --ground:#141210;--panel:#1D1A16;--panel-2:#231F1A;--ink:#F1ECE1;--muted:#B3AA9A;--faint:#877F70;
    --border:#2E2A23;--border-strong:#3B362D;--accent:#5BC4B2;--accent-ink:#BFE9E1;--accent-soft:#153029;
    --chip:#93B4FF;--chip-bg:#182338;--shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -22px rgba(0,0,0,.7);}}
  *{box-sizing:border-box}
  body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{font-family:var(--num);font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
  h2.sec{font-family:var(--disp);font-weight:900;font-size:clamp(1.5rem,1rem+1.6vw,2.1rem);line-height:1.2;margin:.35rem 0 0;text-wrap:balance}
  header.site{position:sticky;top:0;z-index:50;background:var(--nav-bg,color-mix(in srgb,var(--panel) 90%,transparent));backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}
  .bar{display:flex;align-items:center;gap:20px;height:72px}
  /* ヘッダーの上の一行（ページ色管理の「サイト説明の一行（H1）」で出す）。
     検索エンジンに向けた見出しなので、小さく控えめに置く。 */
  .site-intro{max-width:var(--maxw);margin:0 auto;padding:6px 24px 0}
  .site-intro h1{margin:0;font-family:var(--sans);font-weight:400;font-size:.78rem;
    line-height:1.6;letter-spacing:.02em;color:var(--muted)}
  @media (max-width:900px){.site-intro{padding:5px 16px 0}.site-intro h1{font-size:.7rem}}

  .brand{display:flex;align-items:center;gap:12px;margin-right:auto;max-height:52px}
  .brand img{max-height:48px;width:auto}
  .brand b{font-family:var(--disp);font-weight:900;font-size:1.15rem}
  nav.main{display:flex;gap:2px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
  nav.main a{font-weight:500;font-size:.92rem;padding:9px 13px;border-radius:9px;color:var(--nav-txt,var(--muted));transition:.15s}
  nav.main a:hover{color:var(--ink);background:var(--panel-2)}
  /* ---------- グローバルナビ（ドロップダウン対応） ---------- */
  nav.main .gnav-list{display:flex;gap:2px;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}
  nav.main .gnav-item{position:relative}
  nav.main .wm-lang-switch{margin-left:10px;padding-left:10px;border-left:1px solid var(--border);gap:0}
  nav.main .wm-lang-switch .gnav-top{font-size:.8rem;padding:7px 9px}
  nav.main .wm-lang-switch .is-here{color:var(--ink);font-weight:700}
  nav.main .gnav-toggle{display:none;background:none;border:0;color:var(--muted);font-size:.8rem;cursor:pointer;padding:0 4px}
  nav.main .gnav-sub{
    position:absolute;top:100%;left:0;min-width:220px;list-style:none;margin:0;padding:6px;
    background:var(--panel);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);
    opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:60
  }
  nav.main .gnav-item:hover > .gnav-sub,
  nav.main .gnav-item:focus-within > .gnav-sub{opacity:1;visibility:visible;transform:translateY(0)}
  nav.main .gnav-sub a{display:block;padding:9px 12px;border-radius:8px;font-size:.9rem;color:var(--muted);white-space:nowrap}
  nav.main .gnav-sub a:hover{background:var(--panel-2);color:var(--ink)}
  nav.main .gnav-sub li{position:relative}
  /* 3階層目は右へ */
  nav.main .gnav-sub2{top:-6px;left:100%;opacity:0;visibility:hidden}
  nav.main .gnav-sub li:hover > .gnav-sub2,
  nav.main .gnav-sub li:focus-within > .gnav-sub2{opacity:1;visibility:visible}
  /* 右端で画面外に出ないように、後ろ寄りの項目は左へ開く */
  nav.main .gnav-item:nth-last-child(-n+2) > .gnav-sub{left:auto;right:0}
  nav.main .gnav-item:nth-last-child(-n+2) .gnav-sub2{left:auto;right:100%}

  @media (max-width:900px){
    nav.main .gnav-list{flex-direction:column;align-items:stretch;gap:0}
    nav.main .gnav-item{border-bottom:1px solid var(--border)}
    nav.main .gnav-item > a{display:block}
    nav.main .gnav-toggle{display:inline-block;position:absolute;right:6px;top:8px;font-size:1rem;padding:4px 10px}
    nav.main .gnav-sub{
      position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
      border-radius:0;padding:0 0 6px 14px;min-width:0;display:none
    }
    nav.main .gnav-item.is-open > .gnav-sub{display:block}
    nav.main .gnav-sub2{position:static;opacity:1;visibility:visible;padding-left:14px}
  }
  /* 「ナビでリンクしない」親。見た目はリンクと同じ、押しても飛ばない */
  nav.main .gnav-nolink{display:inline-block;font-weight:500;font-size:.92rem;padding:9px 13px;
    border-radius:9px;color:var(--muted);transition:.15s;cursor:default;user-select:none}
  nav.main .gnav-item:hover > .gnav-nolink{color:var(--ink);background:var(--panel-2)}
  nav.main .gnav-sub .gnav-nolink{display:block;padding:9px 12px;font-size:.9rem;white-space:nowrap}
  @media (max-width:900px){
    nav.main .gnav-nolink{display:block;width:100%;cursor:pointer}
  }
  /* アイコン付きナビ（カテゴリメニュー画像 top_img_on/off）。アイコンが有る項目だけ縦積み＋ホバーで画像切替 */
  nav.main .gnav-item.has-ico > .gnav-top{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;padding:8px 14px;line-height:1.25;text-align:center}
  nav.main .gnav-ico{position:relative;display:block;height:var(--nav-ico-h,36px)}
  nav.main .gnav-ico img{height:var(--nav-ico-h,36px);width:auto;display:block}
  nav.main .gnav-ico .ico-on{position:absolute;inset:0;opacity:0;transition:opacity .15s}
  /* いま開いているページ。カテゴリメニュー画像の【Active】に差し替える。
     旧テンプレートは使っていたが、Aurora は読んでいなかった（2026-09-23 に足した）。 */
  nav.main .gnav-ico .ico-act{position:absolute;inset:0;opacity:0;transition:opacity .15s}
  nav.main .gnav-item.is-here > .gnav-top .ico-act,
  nav.main .gnav-item.is-here-parent > .gnav-top .ico-act{opacity:1}
  nav.main .gnav-item.is-here > .gnav-top .ico-off,
  nav.main .gnav-item.is-here-parent > .gnav-top .ico-off{opacity:0}
  /* マウスを乗せたときは、いつでも【ON】が勝つ */
  nav.main .gnav-item.has-ico:hover > .gnav-top .ico-on{opacity:1}
  nav.main .gnav-item.has-ico:hover > .gnav-top .ico-off,
  nav.main .gnav-item.has-ico:hover > .gnav-top .ico-act{opacity:0}
  nav.main .gnav-item.has-ico > .gnav-top .gnav-lbl{white-space:nowrap;font-size:.82rem}
  /* アイコンに文字が焼き込まれている場合（WM_NAV_ICON_LABEL=false）：
     画像内に文字があるので大きめに表示（本番サイトのサイズ感に合わせる）。数値は --nav-ico-h で調整可 */
  nav.main .gnav-item.has-ico.no-lbl{--nav-ico-h:72px}
  nav.main .gnav-item.has-ico.no-lbl > .gnav-top{gap:0;padding:6px 10px}
  nav.main .gnav-item.has-ico.no-lbl > .gnav-top .gnav-lbl{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  /* スマホのバーガーメニュー：アイコンは絵だけ小さく左に置き、文字は別に読ませる。
     文字が焼き込まれた画像(no-lbl)は、そのまま縮めると字が読めないので、
     下の文字の部分を切り落として絵だけ使い、名前はテキストで出す。 */
  @media (max-width:900px){
    nav.main .gnav-item.has-ico > .gnav-top{flex-direction:row;justify-content:flex-start;gap:12px;padding:12px 16px;text-align:left}
    nav.main .gnav-ico{height:28px;flex:0 0 auto}
    nav.main .gnav-ico img{height:28px;width:auto}
    nav.main .gnav-ico .ico-on,
    nav.main .gnav-ico .ico-act{display:none}
    nav.main .gnav-item.has-ico.no-lbl{--nav-ico-h:28px}
    nav.main .gnav-item.has-ico.no-lbl > .gnav-top{gap:12px;padding:12px 16px}
    /* 下の3割（焼き込まれた文字）を切り落とす。画像の縦横比がまちまちなので、
       高さの割合で切る（object-fit だと横長の画像で切れずに文字が残る） */
    nav.main .gnav-item.has-ico.no-lbl .gnav-ico{width:48px;height:28px;overflow:hidden;
      display:flex;align-items:flex-start;justify-content:center}
    nav.main .gnav-item.has-ico.no-lbl .gnav-ico img{height:44px;width:auto;max-width:none}
    nav.main .gnav-item.has-ico.no-lbl > .gnav-top .gnav-lbl{position:static;width:auto;height:auto;padding:0;margin:0;
      overflow:visible;clip:auto;white-space:normal;font-size:1rem;border:0}
  }
  /* ①ヘッダー（ヘッダーカスタマイズ）。入力したHTMLを活かすので色は付けすぎない */
  .site-hcustom{background:var(--panel-2);border-bottom:1px solid var(--border);padding:14px 0;font-size:.9rem;color:var(--muted)}
  .site-hcustom img{display:inline-block;max-width:100%;height:auto}
  .site-hcustom p{margin:0 0 .5em}
  .site-hcustom p:last-child{margin-bottom:0}
  .site-hcustom a{color:var(--accent)}
  /* ②ナビゲーションの右側。上にヘッダーメニュー、下にメインメニュー */
  /* ロゴは左、ヘッダーメニューは右。メインメニューはその間で寄せを変える */
  .bar.mm-pos{gap:18px}
  .bar.mm-pos > .brand{margin-right:0}
  .bar.mm-pos > nav.main{flex:1 1 auto;min-width:0}
  .bar.mm-left   > nav.main .gnav-list{justify-content:flex-start}
  .bar.mm-center > nav.main .gnav-list{justify-content:center}
  .bar.mm-right  > nav.main .gnav-list{justify-content:flex-end}
  .hmenu{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:flex-end;margin-left:auto;flex:0 0 auto}
  .hmenu a{font-size:.78rem;color:var(--faint);padding:2px 0;letter-spacing:.02em}
  .hmenu a:hover{color:var(--accent)}
  @media (max-width:900px){.bar.mm-pos > .brand{margin-right:auto}}
  @media (max-width:560px){.hmenu{display:none}}
  .navtoggle{display:none;background:none;border:1px solid var(--border);border-radius:9px;width:44px;height:40px;font-size:1.3rem;color:var(--ink)}
  /* ---------- hero slider（デザイン案 Aurora に合わせる） ---------- */
  .hero{position:relative;overflow:hidden;background:#0c1a17}
  .hero .slides{position:relative;aspect-ratio:16/6.4;min-height:340px}
  .hero .s{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
  .hero .s.on{opacity:1}
  .hero .s img{width:100%;height:100%;object-fit:cover;opacity:.92}
  .hero .veil{position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(8,18,15,.72) 0%,rgba(8,18,15,.28) 46%,transparent 72%)}
  .hero .copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
    gap:18px;color:#fff;max-width:var(--maxw);margin:0 auto;padding:0 24px;left:0;right:0}
  /* 左右の矢印と文字が重ならないようにする。
     画面が広いときは文字が中央寄せの枠(maxw)に収まるので矢印とぶつからないが、
     枠が画面幅いっぱいになると重なるため、そのぶん内側に寄せる。 */
  @media (max-width:1280px){
    .hero:has(.arrow) .copy{padding-left:84px;padding-right:84px}
  }
  /* 横スライド（トップスライダーパターンで選択）。既定はフェード */
  .hero .slides.is-slide .s{opacity:1;transform:translateX(100%);transition:transform .7s ease}
  .hero .slides.is-slide .s.on{transform:translateX(0)}
  .hero .slides.is-slide .s.prev{transform:translateX(-100%)}
  /* 文字の位置（メンテの「表示位置」）。既定は左中央 */
  .hero .copy.p-tl{justify-content:flex-start;align-items:flex-start;padding-top:56px}
  .hero .copy.p-tr{justify-content:flex-start;align-items:flex-end;text-align:right;padding-top:56px}
  .hero .copy.p-c {justify-content:center;align-items:center;text-align:center}
  .hero .copy.p-bl{justify-content:flex-end;align-items:flex-start;padding-bottom:64px}
  .hero .copy.p-br{justify-content:flex-end;align-items:flex-end;text-align:right;padding-bottom:64px}
  .hero .s:has(.copy.p-tr) .veil,
  .hero .s:has(.copy.p-br) .veil{background:linear-gradient(270deg,rgba(8,18,15,.72) 0%,rgba(8,18,15,.28) 46%,transparent 72%)}
  .hero .s:has(.copy.p-c) .veil{background:linear-gradient(0deg,rgba(8,18,15,.6),rgba(8,18,15,.35))}
  .hero .copy .kick{font-family:var(--num);font-weight:600;letter-spacing:.24em;font-size:.74rem;
    text-transform:uppercase;color:#9FE6D8}
  .hero .copy h1{font-family:var(--disp);font-weight:900;font-size:clamp(1.9rem,1rem+3.4vw,3.4rem);
    line-height:1.14;margin:0;max-width:15ch;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.4)}
  .hero .copy p.lede{font-size:1.02rem;max-width:34ch;color:rgba(255,255,255,.9);margin:0}
  .hero .copy .btns{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap}
  .hero .copy .btns a{padding:12px 22px;border-radius:11px;font-weight:700;font-size:.95rem}
  .hero .btn-solid{background:#fff;color:#123}
  .hero .btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
  /* 文字を入れていないスライド用（従来どおり下部にキャプション） */
  .hero .cap{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;color:#fff;font-weight:700;
    background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);max-width:var(--maxw);margin:0 auto}
  .arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
    background:rgba(255,255,255,.16);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.25);
    display:grid;place-items:center;color:#fff;z-index:3;cursor:pointer;font-size:1.4rem;line-height:1}
  .arrow.l{left:18px}.arrow.r{right:18px}
  .dots{position:absolute;left:0;right:0;bottom:20px;display:flex;gap:9px;justify-content:center;z-index:3}
  .dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
  .dots i.on{background:#fff;width:26px;border-radius:5px}
  @media (max-width:700px){
    .hero .slides{aspect-ratio:auto;min-height:420px}
    .hero .copy h1{max-width:none}
    .hero .copy p.lede{max-width:none}
    .arrow{display:none}
    /* 矢印を出さないので内側に寄せる必要がない */
    .hero:has(.arrow) .copy{padding-left:20px;padding-right:20px}
  }
  /* ---------- 注目エリア（カテゴリ設定で選んだレイアウトを反映する） ---------- */
  .wm-aa .wm-aa-head{margin:0 0 22px;text-align:center}
  .wm-aa .wm-aa-head img{display:inline-block;margin:0 auto}
  .wm-aa .wm-aa-grid{display:grid;gap:22px}
  .wm-aa .wm-aa-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow)}
  .wm-aa .wm-aa-link{display:block;color:inherit}
  .wm-aa .wm-aa-img img{width:100%;height:100%;object-fit:cover}
  .wm-aa .wm-aa-body{padding:20px 22px}
  .wm-aa .wm-aa-ttl{font-family:var(--disp);font-weight:900;font-size:1.12rem;line-height:1.4;margin:0 0 8px}
  .wm-aa .wm-aa-sub{color:var(--accent);font-size:.85rem;font-weight:700;margin:0 0 8px}
  .wm-aa .wm-aa-cmt{color:var(--muted);font-size:.95rem;margin:0}
  .wm-aa .wm-aa-link:hover .wm-aa-ttl{color:var(--accent)}

  /* 段組み（2列 / 3列 / 4列 / 6列） */
  .wm-aa-l2 .wm-aa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-aa-l3 .wm-aa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wm-aa-l4 .wm-aa-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wm-aa-l5 .wm-aa-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .wm-aa-l4 .wm-aa-body,.wm-aa-l5 .wm-aa-body{padding:14px 16px}
  .wm-aa-l5 .wm-aa-ttl{font-size:.98rem}

  /* 背景画像（カテゴリ設定の「背景画像」） */
  .wm-aa.has-bg{background-size:cover;background-position:center;background-repeat:no-repeat}
  .wm-aa.has-bg .wm-aa-item{background:color-mix(in srgb,var(--panel) 92%,transparent)}
  /* １列・画像と文章を横に並べる（1=画像右 / 6=画像左） */
  .wm-aa-l1 .wm-aa-link,.wm-aa-l6 .wm-aa-link{display:flex;align-items:stretch;gap:0}
  .wm-aa-l1 .wm-aa-item,.wm-aa-l6 .wm-aa-item{display:flex}
  .wm-aa-l1 .wm-aa-item > .wm-aa-link{flex:1 1 auto}
  .wm-aa-l1 .wm-aa-img,.wm-aa-l6 .wm-aa-img{flex:0 0 var(--aa-imgw,42%)}
  .wm-aa-l1 .wm-aa-body,.wm-aa-l6 .wm-aa-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
  .wm-aa-l1 .wm-aa-link{flex-direction:row-reverse}   /* 画像を右へ */
  .wm-aa-l1 .wm-aa-grid,.wm-aa-l6 .wm-aa-grid,
  .wm-aa-l7 .wm-aa-grid,.wm-aa-l8 .wm-aa-grid{grid-template-columns:minmax(0,1fr)}

  /* １列・画像を全幅で（7=上 / 8=下） */
  .wm-aa-l7 .wm-aa-img img,.wm-aa-l8 .wm-aa-img img{max-height:420px}
  .wm-aa-l8 .wm-aa-link{display:flex;flex-direction:column-reverse}

  /* ブロックタイプ */
  .wm-aa-l9 .wm-aa-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  .wm-aa-l9 .wm-aa-item{border-width:2px}

  /* 画像左右（交互） */
  .wm-aa-lA .wm-aa-grid,.wm-aa-lB .wm-aa-grid{grid-template-columns:minmax(0,1fr)}
  .wm-aa-lA .wm-aa-item,.wm-aa-lB .wm-aa-item{display:flex}
  .wm-aa-lA .wm-aa-link,.wm-aa-lB .wm-aa-link{display:flex;flex:1 1 auto}
  .wm-aa-lA .wm-aa-img,.wm-aa-lB .wm-aa-img{flex:0 0 var(--aa-imgw,42%)}
  .wm-aa-lA .wm-aa-body,.wm-aa-lB .wm-aa-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
  .wm-aa-lA .wm-aa-item:nth-child(even) .wm-aa-link,
  .wm-aa-lB .wm-aa-item:nth-child(even) .wm-aa-link{flex-direction:row-reverse}

  @media (max-width:900px){
    .wm-aa-l3 .wm-aa-grid,.wm-aa-l4 .wm-aa-grid,.wm-aa-l5 .wm-aa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media (max-width:600px){
    .wm-aa .wm-aa-grid{grid-template-columns:minmax(0,1fr) !important}
    .wm-aa .wm-aa-item,.wm-aa .wm-aa-link{display:block !important}
    .wm-aa .wm-aa-img{flex:none !important}
  }
  section.block{padding:60px 0}
  .head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
  .more{font-family:var(--num);font-weight:600;font-size:.85rem;color:var(--accent)}
  .notice{background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow)}
  .notice h3{font-family:var(--disp);font-weight:900;font-size:1.15rem;margin:0 0 8px}
  .notice .body{color:var(--muted);font-size:.95rem}
  ul.news{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
  ul.news li{border-bottom:1px solid var(--border)}
  ul.news a{display:grid;grid-template-columns:120px auto 1fr auto;gap:16px;align-items:center;padding:18px 8px;transition:background .14s}
  ul.news a:hover{background:var(--panel-2)}
  .date{font-family:var(--num);font-weight:600;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}
  ul.news .badge{justify-self:start}
  ul.news .badge img{height:26px;width:auto;display:inline-block}
  ul.news .ttl{font-weight:500}
  ul.news .go{color:var(--faint)}ul.news a:hover .go{color:var(--accent)}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.16s}
  .card:hover{transform:translateY(-4px)}
  .card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--panel-2)}
  .card .ph img{width:100%;height:100%;object-fit:cover}
  .card .b{padding:18px 20px 22px}
  .card h4{font-family:var(--disp);font-weight:700;font-size:1.06rem;margin:0 0 6px}
  .card .desc{margin:0;color:var(--muted);font-size:.9rem}
  .partners{background:var(--panel-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
  .plogos{display:flex;flex-wrap:wrap;gap:16px;padding:30px 0;justify-content:center;align-items:center}
  .plogos a img{max-height:52px;width:auto}
  footer.site{background:var(--footer-bg,var(--ink));color:var(--footer-txt,color-mix(in srgb,var(--ground) 82%,transparent));margin-top:8px}
  .fnav{display:flex;flex-wrap:wrap;gap:8px 22px;padding:40px 0 8px;justify-content:center}
  .fnav a{color:color-mix(in srgb,var(--ground) 82%,transparent);font-size:.92rem;padding:6px 4px}
  .fnav a:hover{color:var(--ground)}
  .flogo{text-align:center;padding:8px 0 4px}.flogo img{max-height:56px;width:auto;margin:0 auto;filter:brightness(0) invert(1);opacity:.9}
  /* フッターカスタマイズ（暗いフッターの中に出る）。入力したHTMLをそのまま活かすので、色は付けすぎない。
     リンクの色はフッターの文字色を継ぐ（a{color:inherit}）ので、css追加編集で上書きしやすい */
  footer.site .footer-custom{padding:36px 0 8px;font-size:.9rem;line-height:1.8}
  footer.site .fnav + .footer-custom{padding-top:12px}
  footer.site .footer-custom:last-child{padding-bottom:40px}
  footer.site .footer-custom img{display:inline-block;max-width:100%;height:auto}
  footer.site .footer-custom p{margin:0 0 .7em}
  footer.site .footer-custom p:last-child{margin-bottom:0}
  footer.site .footer-custom a:hover{color:var(--ground)}
  .copyright.a-l{text-align:left}.copyright.a-r{text-align:right}
  .copyright{text-align:center;font-size:.82rem;color:color-mix(in srgb,var(--ground) 55%,transparent);padding:16px 0 34px}
  @media(max-width:900px){
    /* バーガーメニューの中身。項目を画面幅いっぱいの行にして、指で押しやすい高さにする。
       項目が多いときのために、ヘッダーの下いっぱいまで出して中でスクロールさせる。 */
    nav.main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
      background:var(--panel);border-bottom:1px solid var(--border);padding:0 0 8px;gap:0;
      max-height:calc(100vh - 72px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow)}
    nav.main.open{display:flex}nav.main a{width:100%}
    nav.main .gnav-list{width:100%}
    nav.main .gnav-item > .gnav-top,
    nav.main .gnav-item > .gnav-nolink{padding:12px 16px;font-size:1rem;border-radius:0;color:var(--nav-txt,var(--accent))}
    /* カテゴリ名に改行が入っていても、メニューでは1行で読ませる */
    nav.main .gnav-lbl br{display:none}
    nav.main .gnav-toggle{top:6px;right:4px;padding:8px 14px;font-size:1.05rem;line-height:1.6}
    nav.main .gnav-sub{padding:0 0 6px 0}
    nav.main .gnav-sub a,nav.main .gnav-sub .gnav-nolink{padding:10px 16px 10px 30px;font-size:.95rem;border-radius:0;white-space:normal}
    nav.main .gnav-sub2 a{padding-left:44px}
    nav.main .wm-lang-switch{margin:6px 0 0;padding:6px 10px 0;border-left:0;border-top:1px solid var(--border);flex-direction:row}
    nav.main .wm-lang-switch .gnav-item{border-bottom:0}
    .navtoggle{display:block}
    .cards{grid-template-columns:1fr}
    ul.news a{grid-template-columns:auto auto 1fr;row-gap:4px}ul.news .go{display:none}
  }
  /* ===== 本文コンポーネント：メンテのHTMLで使える装飾クラス ===== */
  /* ボタン：<a class="wm-btn" href="URL">ラベル</a>（旧 pdf-button / link-button1 も同装飾） */
  .pdf-button,.link-button1,a.wm-btn,.wm-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 24px;border-radius:11px;font-weight:700;font-size:.95rem;line-height:1.3;
    text-decoration:none;background:var(--accent);color:#fff!important;
    box-shadow:0 10px 20px -12px color-mix(in srgb,var(--accent) 75%,transparent);
    transition:filter .15s,transform .12s}
  .pdf-button:hover,.link-button1:hover,.wm-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
  .wm-btn.is-ghost{background:transparent;color:var(--accent)!important;border:1.6px solid var(--border-strong);box-shadow:none}
  /* ボタンを並べる箱：<div class="wm-btns"> …（旧 pdf-links） */
  .pdf-links,.wm-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;justify-content:center}
  /* 色つきお知らせ枠(callout)：<div class="important-notice3"> …（notice/2/3/4で色違い） */
  .important-notice,.important-notice2,.important-notice3,.important-notice4{
    background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--accent);
    border-radius:var(--radius);padding:26px 30px;margin:0 0 2px;box-shadow:var(--shadow)}
  .important-notice{border-left-color:#D9534F}
  .important-notice2{border-left-color:#1E9E63}
  .important-notice3{border-left-color:#2F6FD0}
  .important-notice4{border-left-color:#7C4DBD}

  /* 外枠パーツ：<div class="wm-frame wm-frame-red"> …（色は10種）
     旧 important-notice 系はそのまま残してあるので、過去に入れた枠も崩れない。 */
  .wm-frame{background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--accent);
    border-radius:var(--radius);padding:26px 30px;margin:0 0 2px;box-shadow:var(--shadow)}
  .wm-frame-red{border-left-color:#D9534F}
  .wm-frame-orange{border-left-color:#E8820C}
  .wm-frame-yellow{border-left-color:#E0A106}
  .wm-frame-green{border-left-color:#1E9E63}
  .wm-frame-teal{border-left-color:#0EA5A0}
  .wm-frame-blue{border-left-color:#2F6FD0}
  .wm-frame-navy{border-left-color:#22406E}
  .wm-frame-purple{border-left-color:#7C4DBD}
  .wm-frame-pink{border-left-color:#D64A8B}
  .wm-frame-gray{border-left-color:#8A94A0}
  /* 塗りつぶし（薄い背景つき） */
  .wm-frame.is-fill.wm-frame-red{background:#FDF3F3}
  .wm-frame.is-fill.wm-frame-orange{background:#FDF5EC}
  .wm-frame.is-fill.wm-frame-yellow{background:#FDF9EC}
  .wm-frame.is-fill.wm-frame-green{background:#EFF8F3}
  .wm-frame.is-fill.wm-frame-teal{background:#EBF7F7}
  .wm-frame.is-fill.wm-frame-blue{background:#EFF4FC}
  .wm-frame.is-fill.wm-frame-navy{background:#EDF0F5}
  .wm-frame.is-fill.wm-frame-purple{background:#F5F0FB}
  .wm-frame.is-fill.wm-frame-pink{background:#FCF0F6}
  .wm-frame.is-fill.wm-frame-gray{background:#F4F6F8}
   (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wm-frame.is-fill{background:var(--panel-2)}}
  :root[data-theme="dark"] .wm-frame.is-fill{background:var(--panel-2)}
  .wm-content :is(h2,.box__ttl){font-family:var(--disp);font-weight:900;font-size:1.35rem;line-height:1.35;margin:0 0 12px;color:var(--ink);text-wrap:balance}
  .wm-content h3{font-family:var(--disp);font-weight:700;font-size:1.1rem;margin:14px 0 8px}
  .wm-content p{color:var(--muted);margin:8px 0}
  .wm-content a:not(.pdf-button):not(.wm-btn){color:var(--accent);text-decoration:underline}
  .wm-ttl{font-family:var(--disp);font-weight:700;font-size:1rem;color:var(--faint);margin:0 0 10px}
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}

  /* ===== 下層ページ共通（お問い合わせ等） ===== */
  .wm-pg{padding:38px 0 64px}
  .wm-pg .wm-pg-head{margin:0 0 26px}
  .wm-pg h1{font-family:var(--disp);font-weight:900;font-size:clamp(1.5rem,1.1rem+1.2vw,2rem);letter-spacing:.02em;margin:6px 0 0}
  .wm-pg .wm-pg-lead{color:var(--muted);font-size:.95rem;line-height:1.95;margin:14px 0 0}
  .wm-pg .wm-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 30px}
  .wm-pg .wm-note{background:var(--panel-2);border-radius:11px;padding:16px 18px;color:var(--muted);font-size:.92rem;line-height:1.9;margin:0 0 24px}
  .wm-pg .wm-note > :first-child{margin-top:0}.wm-pg .wm-note > :last-child{margin-bottom:0}
  .wm-pg .wm-err{background:#FDECEC;border:1px solid #F0C2C2;color:#A33;border-radius:11px;padding:14px 18px;margin:0 0 22px;font-size:.93rem;line-height:1.8}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wm-pg .wm-err{background:#3A1F1F;border-color:#5C3030;color:#F0B9B9}}
  :root[data-theme="dark"] .wm-pg .wm-err{background:#3A1F1F;border-color:#5C3030;color:#F0B9B9}

  /* 入力ステップ */
  .wm-steps{display:flex;gap:8px;align-items:center;list-style:none;margin:0 0 26px;padding:0;flex-wrap:wrap}
  .wm-steps li{font-family:var(--num);font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--faint);
    border:1px solid var(--border);border-radius:999px;padding:6px 14px;background:var(--panel)}
  .wm-steps li.on{color:#fff;background:var(--accent);border-color:var(--accent)}
  .wm-steps .sep{border:0;background:none;padding:0 2px;color:var(--faint)}

  /* フォーム本体 */
  .wm-form .wm-frow{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px 24px;
    padding:20px 0;border-bottom:1px solid var(--border);align-items:start}
  .wm-form .wm-frow:first-of-type{padding-top:0}
  .wm-form .wm-fth{font-weight:700;font-size:.95rem;padding-top:10px;line-height:1.6}
  .wm-form .wm-req{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:700;letter-spacing:.08em;
    color:#fff;background:#C0504D;border-radius:4px;padding:2px 6px;vertical-align:2px}
  .wm-form .wm-ftd{min-width:0}
  .wm-form .wm-fcmt{display:block;color:var(--muted);font-size:.84rem;line-height:1.8;margin-top:7px}
  .wm-form input[type="text"],.wm-form input[type="email"],.wm-form input[type="tel"],
  .wm-form input[type="password"],.wm-form input[type="number"],
  .wm-form input[type="file"],.wm-form textarea,.wm-form select{
    width:100%;max-width:560px;background:var(--ground);color:var(--ink);
    border:1px solid var(--border-strong);border-radius:10px;padding:11px 13px;
    font-family:var(--sans);font-size:1rem;line-height:1.6}
  .wm-form textarea{max-width:100%;min-height:180px;resize:vertical}
  .wm-form select{max-width:360px}
  .wm-form input:focus,.wm-form textarea:focus,.wm-form select:focus{
    outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
  .wm-form .wm-choice{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:8px}
  .wm-form .wm-choice label{display:inline-flex;align-items:center;gap:7px;font-size:.95rem;cursor:pointer}
  /* 入力欄の入れもの。ふだんは素直な縦積み。
     複数項目をひとまとめにしたとき（メンテの「項目グループ」）だけ横に並べる。 */
  .wm-form .wm-inline{width:100%}
  .wm-form .wm-inline > input,.wm-form .wm-inline > select,.wm-form .wm-inline > textarea{display:block}
  .wm-form .wm-inline.is-grouped{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-start}
  .wm-form .wm-inline.is-grouped > input[type="text"],
  .wm-form .wm-inline.is-grouped > input[type="email"],
  .wm-form .wm-inline.is-grouped > input[type="tel"]{flex:1 1 170px;width:auto;min-width:0;max-width:280px}
  .wm-form .wm-inline.is-grouped > .wm-fcmt{flex:1 1 100%}

  /* 必須の入力欄は色を変えて分かるようにする */
  .wm-form [data-req="1"]{background:color-mix(in srgb,#C0504D 5%,var(--ground));
    border-color:color-mix(in srgb,#C0504D 28%,var(--border-strong))}
  .wm-form .wm-choice[data-req="1"]{background:none;border:0}
  /* 送信前チェックでひっかかったところ */
  .wm-form .is-error{border-color:#C0504D;background:color-mix(in srgb,#C0504D 12%,var(--ground));
    box-shadow:0 0 0 3px color-mix(in srgb,#C0504D 14%,transparent)}
  .wm-form .wm-choice.is-error{border:1px solid #C0504D;border-radius:10px;padding:8px 10px;box-shadow:none}
  .wm-form .wm-frow.has-error .wm-fth{color:#C0504D}
  .wm-form .wm-fmsg{display:block;color:#C0504D;font-weight:700;font-size:.85rem;margin-top:7px}

  /* 確認画面の読み取り表示 */
  .wm-form .wm-fval{padding-top:10px;font-size:1rem;line-height:1.9;word-break:break-all}

  /* ボタン */
  .wm-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
  .wm-btn{appearance:none;font-family:var(--sans);font-weight:700;font-size:1rem;cursor:pointer;
    border-radius:11px;padding:14px 34px;border:1.5px solid transparent;transition:.15s}
  .wm-btn-primary{background:var(--accent);color:#fff}
  .wm-btn-primary:hover{filter:brightness(1.08)}
  /* 白地のボタン。上の .wm-btn が color:#fff!important を付けているので、こちらも !important で戻す
     （でないと白地に白文字になって、字が見えなくなる） */
  .wm-btn-ghost{background:var(--panel);color:var(--muted)!important;border:1.6px solid var(--border-strong);box-shadow:none}
  .wm-btn-ghost:hover{color:var(--ink)!important;background:var(--panel-2);filter:none}
  .wm-guide{text-align:center;color:var(--muted);font-size:.9rem;margin:26px 0 0}
  .wm-done{text-align:center;padding:14px 0 6px}
  .wm-done .wm-done-mark{font-size:2.4rem;line-height:1;color:var(--accent)}
  .wm-done h2{font-family:var(--disp);font-weight:900;font-size:1.35rem;margin:14px 0 0}
  .wm-done p{color:var(--muted);font-size:.96rem;line-height:1.95;margin:16px 0 0}

  /* ===== ショッピングカート ===== */
  .wm-cart{width:100%;border-collapse:collapse;margin:0}
  .wm-cart thead th{font-family:var(--num);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
    color:var(--faint);font-weight:600;text-align:right;padding:0 0 12px;border-bottom:1px solid var(--border)}
  .wm-cart thead th.l{text-align:left}
  .wm-cart tbody td{padding:16px 0;border-bottom:1px solid var(--border);vertical-align:top;text-align:right}
  .wm-cart tbody td.l{text-align:left}
  .wm-cart .ci-name{font-weight:700;line-height:1.5}
  .wm-cart .ci-num{color:var(--faint);font-size:.78rem;font-family:var(--num);display:block}
  .wm-cart .ci-opt{color:var(--muted);font-size:.85rem;margin-top:4px}
  .wm-cart .ci-price,.wm-cart .ci-sub{font-family:var(--num);white-space:nowrap}
  .wm-cart .ci-sub{font-weight:700}
  .wm-cart .ci-del a{display:inline-block;width:26px;height:26px;line-height:24px;text-align:center;
    border:1px solid var(--border-strong);border-radius:50%;color:var(--faint);font-size:.9rem;text-decoration:none}
  .wm-cart .ci-del a:hover{color:#fff;background:#C0504D;border-color:#C0504D}
  .wm-cart .ci-qty{display:inline-flex;gap:8px;align-items:center;justify-content:flex-end}
  .wm-cart .ci-qty input[type=text]{width:54px;text-align:center;background:var(--ground);
    border:1px solid var(--border-strong);border-radius:8px;padding:8px 6px;font-family:var(--num);font-size:.95rem}
  .wm-cart .ci-qbtn{appearance:none;cursor:pointer;font-family:var(--sans);font-size:.8rem;font-weight:700;
    background:var(--panel-2);color:var(--muted);border:1px solid var(--border-strong);border-radius:8px;padding:8px 12px}
  .wm-cart .ci-qbtn:hover{color:var(--ink)}
  .wm-cart-sum{margin:24px 0 0 auto;max-width:380px}
  .wm-cart-sum dl{display:grid;grid-template-columns:1fr auto;gap:11px 20px;margin:0;align-items:baseline}
  .wm-cart-sum dt{color:var(--muted);font-size:.92rem}
  .wm-cart-sum dd{margin:0;font-family:var(--num);text-align:right}
  .wm-cart-sum .grand{grid-column:1 / -1;display:grid;grid-template-columns:1fr auto;gap:20px;
    border-top:1px solid var(--border);padding-top:13px;margin-top:3px}
  .wm-cart-sum .grand dt{color:var(--ink);font-weight:800;font-size:1.02rem}
  .wm-cart-sum .grand dd{color:var(--accent-ink);font-weight:800;font-size:1.2rem}
  .wm-cart-note{color:var(--muted);font-size:.85rem;line-height:1.9;margin:18px 0 0}
  .wm-cart-empty{text-align:center;color:var(--muted);padding:44px 0;font-size:.98rem}

  /* 商品購入ウィジェット（コンテンツ＝商品ページ） */
  .wm-shop{margin:32px 0 0;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px}
  .wm-shop-h{font-family:var(--disp);font-weight:900;font-size:1.1rem;margin:0 0 14px}
  .wm-shop-item{border-top:1px solid var(--border);padding:18px 0 4px}
  .wm-shop-item:first-of-type{border-top:0;padding-top:0}
  .wm-shop-num{font-family:var(--num);font-size:.8rem;color:var(--faint);margin:0 0 6px}
  .wm-shop-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0 0 14px}
  .wm-shop-yen{font-family:var(--num);font-weight:800;font-size:1.7rem;color:var(--accent-ink)}
  .wm-shop-plabel{font-size:.85rem;color:var(--muted)}
  .wm-shop-unit{font-size:.85rem;color:var(--faint)}
  .wm-shop-opt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
  .wm-shop-optl{font-weight:700;font-size:.9rem;min-width:64px}
  .wm-shop-optv{font-size:.95rem}
  .wm-shop select,.wm-shop input[type=text]{background:var(--ground);border:1px solid var(--border-strong);
    border-radius:9px;padding:9px 12px;font-family:var(--sans);font-size:.98rem;color:var(--ink)}
  .wm-shop input[type=text]{width:70px;text-align:center;font-family:var(--num)}
  .wm-shop-buy{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}
  .wm-shop-qty{display:flex;align-items:center;gap:10px}
  .wm-shop-buy .wm-btn{padding:12px 30px}
  .wm-shop-soldout{margin-top:12px;color:#C0504D;font-weight:700;font-size:.95rem}
  @media (max-width:760px){.wm-shop-buy{align-items:stretch}.wm-shop-buy .wm-btn{width:100%}}

  @media (max-width:760px){
    .wm-cart thead{display:none}
    .wm-cart,.wm-cart tbody,.wm-cart tr,.wm-cart td{display:block;width:100%}
    .wm-cart tbody tr{border-bottom:1px solid var(--border);padding:14px 0;position:relative}
    .wm-cart tbody td{border:0;padding:3px 0;text-align:left}
    .wm-cart tbody td.ci-del{position:absolute;top:14px;right:0;padding:0}
    .wm-cart .ci-qty{justify-content:flex-start}
    .wm-cart-sum{margin-left:0;max-width:100%}
  }

  @media (max-width:760px){
    .wm-form .wm-frow{grid-template-columns:minmax(0,1fr);gap:2px;padding:16px 0}
    .wm-form .wm-fth{padding-top:0}
    .wm-form .wm-fval{padding-top:2px}
    .wm-actions .wm-btn{width:100%}
  }

  /* ===== 下層ページのカラム ===== */
  .wm-crumb{font-size:.82rem;color:var(--faint);margin:0 0 20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .wm-crumb a{color:var(--faint)}
  .wm-crumb a:hover{color:var(--accent)}
  .wm-layout{display:grid;gap:34px;align-items:start;grid-template-columns:minmax(0,1fr)}
  .wm-layout.wm-c2{grid-template-columns:260px minmax(0,1fr)}
  .wm-layout.wm-c3{grid-template-columns:240px minmax(0,1fr) 220px}
  .wm-layout.wm-c2 .wm-main,.wm-layout.wm-c3 .wm-main{order:2}
  .wm-layout.wm-c2 .wm-side-l,.wm-layout.wm-c3 .wm-side-l{order:1}
  .wm-layout.wm-c3 .wm-side-r{order:3}
  @media (max-width:980px){
    .wm-layout.wm-c2,.wm-layout.wm-c3{grid-template-columns:minmax(0,1fr)}
    .wm-layout.wm-c2 .wm-main,.wm-layout.wm-c3 .wm-main{order:1}
    .wm-layout.wm-c2 .wm-side-l,.wm-layout.wm-c3 .wm-side-l{order:2}
  }

  /* サイド */
  .wm-side .wm-side-box{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:18px 20px;margin:0 0 20px}
  .wm-side .wm-side-ttl{font-family:var(--disp);font-weight:900;font-size:1rem;margin:0 0 12px;
    padding-bottom:10px;border-bottom:2px solid var(--accent-soft)}
  .wm-side ul{list-style:none;margin:0;padding:0}
  .wm-side li{border-bottom:1px solid var(--border)}
  .wm-side li:last-child{border-bottom:0}
  .wm-side li a{display:block;padding:10px 4px;font-size:.92rem;color:var(--muted)}
  .wm-side li a:hover{color:var(--accent)}
  .wm-side li.d1 a{padding-left:16px;font-size:.88rem}
  .wm-side li.d2 a{padding-left:30px;font-size:.86rem}
  .wm-side .wm-side-bnr a{display:block;margin:0 0 12px}
  .wm-side .wm-side-bnr img{width:100%;height:auto;border-radius:10px}

  /* ===== 記事本文 ===== */
  .wm-article{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:30px 34px}
  /* :where() で詳細度を0にして、css追加編集の .entry_title01 などが勝つようにする（旧テンプレートと同じ） */
  :where(.wm-article) > h1{font-family:var(--disp);font-weight:900;line-height:1.45;
    font-size:clamp(1.35rem,1.05rem+1.1vw,1.85rem);margin:0 0 6px}
  .wm-article .wm-date{font-family:var(--num);font-size:.84rem;color:var(--faint);letter-spacing:.04em}
  .wm-article .wm-sub{color:var(--accent);font-weight:700;font-size:1rem;line-height:1.8;margin:14px 0 0}
  .wm-article .wm-body{margin:22px 0 0;font-size:1rem;line-height:2}
  .wm-article .wm-body img{max-width:100%;height:auto;border-radius:10px}
  .wm-article .wm-mainimg{margin:22px 0 0}
  .wm-article .wm-mainimg img{width:100%;height:auto;border-radius:12px}
  .wm-article .wm-imgcap{color:var(--faint);font-size:.85rem;margin:8px 0 0}
  .wm-article .wm-files{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
  .wm-article .wm-files a{display:flex;align-items:center;gap:10px;background:var(--panel-2);
    border-radius:10px;padding:12px 16px;font-size:.94rem;font-weight:700;color:var(--ink)}
  .wm-article .wm-files a:hover{color:var(--accent)}
  .wm-article .wm-sns{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 0}
  .wm-prevnext{display:flex;justify-content:space-between;gap:14px;margin:26px 0 0;flex-wrap:wrap}
  .wm-prevnext a{flex:1 1 220px;background:var(--panel);border:1px solid var(--border);border-radius:11px;
    padding:14px 18px;font-size:.9rem;color:var(--muted)}
  .wm-prevnext a:hover{border-color:var(--accent);color:var(--accent)}
  .wm-prevnext .n{text-align:right}
  .wm-backtop{text-align:center;margin:30px 0 0}

  /* ===== 一覧 ===== */
  .wm-listttl{font-family:var(--disp);font-weight:900;font-size:1.12rem;margin:34px 0 16px;
    padding-bottom:10px;border-bottom:2px solid var(--accent-soft)}
  .wm-list{margin:0}
  .wm-list a{color:inherit}

  /* 日付＋タイトル */
  .wm-list.ls-news .wm-li{display:grid;grid-template-columns:auto 1fr;gap:4px 20px;
    padding:16px 6px;border-bottom:1px solid var(--border);align-items:baseline}
  .wm-list.ls-news .wm-li:first-child{border-top:1px solid var(--border)}
  .wm-list.ls-news .wm-d{font-family:var(--num);font-size:.86rem;color:var(--faint);white-space:nowrap}
  .wm-list.ls-news .wm-t{font-weight:700;font-size:1rem;line-height:1.65}
  .wm-list.ls-news .wm-s{grid-column:2;color:var(--muted);font-size:.9rem;line-height:1.8}
  .wm-list.ls-news .wm-li:hover .wm-t{color:var(--accent)}
  @media (max-width:620px){.wm-list.ls-news .wm-li{grid-template-columns:minmax(0,1fr)}
    .wm-list.ls-news .wm-s{grid-column:1}}

  /* タイトル＋サブタイトル */
  .wm-list.ls-titlesub .wm-li{padding:16px 6px 16px 20px;border-bottom:1px solid var(--border);position:relative}
  .wm-list.ls-titlesub .wm-li:first-child{border-top:1px solid var(--border)}
  .wm-list.ls-titlesub .wm-li:before{content:"";position:absolute;left:2px;top:24px;
    width:7px;height:7px;border-radius:50%;background:var(--accent)}
  .wm-list.ls-titlesub .wm-t{font-weight:700;font-size:1.02rem;line-height:1.6}
  .wm-list.ls-titlesub .wm-s{color:var(--muted);font-size:.9rem;line-height:1.8;margin-top:5px}
  .wm-list.ls-titlesub .wm-li:hover .wm-t{color:var(--accent)}

  /* 画像＋文章（左／右） */
  .wm-list.ls-imgleft .wm-li,.wm-list.ls-imgright .wm-li{
    display:grid;grid-template-columns:var(--wm-imgw,240px) minmax(0,1fr);gap:22px;
    padding:22px 0;border-bottom:1px solid var(--border);align-items:start}
  .wm-list.ls-imgright .wm-li{grid-template-columns:minmax(0,1fr) var(--wm-imgw,240px)}
  .wm-list.ls-imgright .wm-li .wm-img{order:2}
  .wm-list.ls-imgleft .wm-img img,.wm-list.ls-imgright .wm-img img{width:100%;height:auto;border-radius:11px;display:block}
  .wm-list.ls-imgleft .wm-t,.wm-list.ls-imgright .wm-t{font-family:var(--disp);font-weight:900;font-size:1.1rem;line-height:1.5}
  .wm-list.ls-imgleft .wm-s,.wm-list.ls-imgright .wm-s{color:var(--accent);font-weight:700;font-size:.9rem;margin-top:6px}
  .wm-list.ls-imgleft .wm-c,.wm-list.ls-imgright .wm-c{color:var(--muted);font-size:.94rem;line-height:1.9;margin-top:9px}
  .wm-list.ls-imgleft .wm-li:hover .wm-t,.wm-list.ls-imgright .wm-li:hover .wm-t{color:var(--accent)}
  @media (max-width:620px){
    .wm-list.ls-imgleft .wm-li,.wm-list.ls-imgright .wm-li{grid-template-columns:minmax(0,1fr)}
    .wm-list.ls-imgright .wm-li .wm-img{order:0}}

  /* 写真グリッド */
  .wm-list.ls-photo{display:grid;gap:24px}
  .wm-list.ls-photo2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-list.ls-photo3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wm-list.ls-photo4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wm-list.ls-photo .wm-li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);transition:.18s}
  .wm-list.ls-photo .wm-li:hover{transform:translateY(-3px);border-color:var(--border-strong)}
  .wm-list.ls-photo .wm-img img{width:100%;height:auto;display:block}
  .wm-list.ls-photo .wm-bd{padding:16px 18px}
  .wm-list.ls-photo .wm-t{font-family:var(--disp);font-weight:900;font-size:1.02rem;line-height:1.5}
  .wm-list.ls-photo .wm-s{color:var(--accent);font-weight:700;font-size:.85rem;margin-top:6px}
  .wm-list.ls-photo .wm-c{color:var(--muted);font-size:.9rem;line-height:1.85;margin-top:8px}
  .wm-list.ls-photo .wm-li:hover .wm-t{color:var(--accent)}
  @media (max-width:900px){.wm-list.ls-photo3,.wm-list.ls-photo4{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:560px){.wm-list.ls-photo2,.wm-list.ls-photo3,.wm-list.ls-photo4{grid-template-columns:minmax(0,1fr)}}

  /* リンク集 */
  .wm-list.ls-links{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .wm-list.ls-links .wm-li{display:block;background:var(--panel);border:1px solid var(--border);
    border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}
  .wm-list.ls-links .wm-li:hover{border-color:var(--accent)}
  .wm-list.ls-links .wm-img img{max-width:100%;height:auto;border-radius:9px;margin-bottom:12px}
  .wm-list.ls-links .wm-t{font-weight:700;font-size:1rem;line-height:1.5}
  .wm-list.ls-links .wm-s{color:var(--accent);font-size:.85rem;font-weight:700;margin-top:5px}
  .wm-list.ls-links .wm-c{color:var(--muted);font-size:.9rem;line-height:1.85;margin-top:8px}

  /* 店舗情報 */
  .wm-shop{width:100%;border-collapse:collapse;margin:20px 0 0}
  .wm-shop th,.wm-shop td{border-bottom:1px solid var(--border);padding:14px 10px;text-align:left;font-size:.95rem}
  .wm-shop th{width:150px;font-weight:700;color:var(--muted);white-space:nowrap}

  /* ページ送り */
  .wm-pager{margin:30px 0 0}
  .wm-pager ul{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}
  .wm-pager li{font-family:var(--num);font-size:.9rem}
  .wm-pager a,.wm-pager strong{display:inline-block;min-width:40px;text-align:center;padding:9px 12px;
    border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--muted);font-weight:600}
  .wm-pager a:hover{border-color:var(--accent);color:var(--accent)}
  .wm-pager strong{background:var(--accent);border-color:var(--accent);color:#fff}

  /* ===== サブエリア（メンテの「サブエリア」設定）用のグリッド ===== */
  .row{display:flex;flex-wrap:wrap;margin-left:-11px;margin-right:-11px;align-items:flex-start}
  .row > [class*="col-"]{padding-left:11px;padding-right:11px;width:100%;min-width:0}
  /* col- が付いていない中身（サブエリアに直接書いた表や地図など）も、幅いっぱいにする。
     Bootstrap5 は .row > * に width:100% を当てているので、それに合わせる。
     これが無いと、中の <iframe width="100%"> が 300px のままになる。 */
  .row > div:not([class*="col-"]){padding-left:11px;padding-right:11px;width:100%;min-width:0}
  /* 列幅は下の .row > .col-xx-N で上書きする。土台のほうが詳細度が高いので、
     .col-lg-6 のような書き方だと勝てず、どのレイアウトも全幅になっていた。 */
  /* column-r は「縦に積まれたときに順番を逆にする」指定（column-reverse の略）。
     横並びのときは、並び順はHTMLの順番どおりでよい。
     ここを row-reverse にしていたため、左右が入れ替わっていた。 */
  @media (max-width:991px){ .row.column-r{flex-direction:column-reverse} }
  @media (min-width:576px){
    .row > .col-sm-1{width:8.3333%}.row > .col-sm-2{width:16.6666%}.row > .col-sm-3{width:25%}.row > .col-sm-4{width:33.3333%}
    .row > .col-sm-5{width:41.6666%}.row > .col-sm-6{width:50%}.row > .col-sm-7{width:58.3333%}.row > .col-sm-8{width:66.6666%}
    .row > .col-sm-9{width:75%}.row > .col-sm-10{width:83.3333%}.row > .col-sm-11{width:91.6666%}.row > .col-sm-12{width:100%}}
  @media (min-width:768px){
    .row > .col-md-1{width:8.3333%}.row > .col-md-2{width:16.6666%}.row > .col-md-3{width:25%}.row > .col-md-4{width:33.3333%}
    .row > .col-md-5{width:41.6666%}.row > .col-md-6{width:50%}.row > .col-md-7{width:58.3333%}.row > .col-md-8{width:66.6666%}
    .row > .col-md-9{width:75%}.row > .col-md-10{width:83.3333%}.row > .col-md-11{width:91.6666%}.row > .col-md-12{width:100%}}
  @media (min-width:992px){
    .row > .col-lg-1{width:8.3333%}.row > .col-lg-2{width:16.6666%}.row > .col-lg-3{width:25%}.row > .col-lg-4{width:33.3333%}
    .row > .col-lg-5{width:41.6666%}.row > .col-lg-6{width:50%}.row > .col-lg-7{width:58.3333%}.row > .col-lg-8{width:66.6666%}
    .row > .col-lg-9{width:75%}.row > .col-lg-10{width:83.3333%}.row > .col-lg-11{width:91.6666%}.row > .col-lg-12{width:100%}}
  /* 画像を置く列に、画像も見出しも入っていないときは、その列を出さず文章を全幅にする。
     旧サイトから移してきたページは「左画像（スマホ上）」のまま画像が無いことが多く、
     そのままだと文章と見出しが右半分に寄ってしまう（2026-09-23、55 の会社概要で発覚）。
     テンプレート側で受け止めるので、移設のたびにデータを直さなくてよい。 */
  .row > .resizeimage:not(:has(img)):not(:has(h2)):not(:has(h3)){display:none}
  @media (min-width:576px){
    .row > .resizeimage:not(:has(img)):not(:has(h2)):not(:has(h3)) ~ [class*="col-"]{width:100%}}

  .resizeimage img{max-width:100%;height:auto;display:block;border-radius:11px}
  /* 本文の表（エディタの「表」ボタンが付ける table1〜table5）。
     ------------------------------------------------------------------
     旧テンプレートは色を style.css に焼き込んでいたので、サイトごとにバラバラで、
     黒い格子の古い見た目だった。Aurora はテーマの色（CSS変数）を使う。
     ページ色管理で色を変えると、表の色も一緒に変わる。
     ------------------------------------------------------------------ */
  table.table1,table.table2,table.table3,table.table4,table.table5{
    width:100%;margin:20px 0;border-collapse:separate;border-spacing:0;
    background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);font-size:.97rem;line-height:1.9}
  table.table1 th,table.table2 th,table.table3 th,table.table4 th,table.table5 th,
  table.table1 td,table.table2 td,table.table3 td,table.table4 td,table.table5 td{
    padding:15px 20px;text-align:left;vertical-align:top;
    border:0;border-bottom:1px solid var(--border)}
  table.table1 thead th,table.table2 thead th,table.table3 thead th,
  table.table4 thead th,table.table5 thead th{
    background:var(--accent);color:#fff;font-weight:700;letter-spacing:.04em;
    border-bottom:0}
  table.table1 tbody th,table.table2 tbody th,table.table3 tbody th,
  table.table4 tbody th,table.table5 tbody th{
    width:210px;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;
    white-space:nowrap}
  table.table1 tbody td,table.table2 tbody td,table.table3 tbody td,
  table.table4 tbody td,table.table5 tbody td{color:var(--ink)}
  table.table1 tbody tr:last-child th,table.table2 tbody tr:last-child th,
  table.table3 tbody tr:last-child th,table.table4 tbody tr:last-child th,
  table.table5 tbody tr:last-child th,
  table.table1 tbody tr:last-child td,table.table2 tbody tr:last-child td,
  table.table3 tbody tr:last-child td,table.table4 tbody tr:last-child td,
  table.table5 tbody tr:last-child td{border-bottom:0}
  table.table1 tfoot th,table.table2 tfoot th,table.table3 tfoot th,
  table.table4 tfoot th,table.table5 tfoot th,
  table.table1 tfoot td,table.table2 tfoot td,table.table3 tfoot td,
  table.table4 tfoot td,table.table5 tfoot td{
    background:var(--panel-2);color:var(--muted);font-weight:700;border-bottom:0}
  /* 狭い画面では、見出しと中身を縦に積む（横スクロールさせない） */
  @media (max-width:640px){
    table.table1,table.table2,table.table3,table.table4,table.table5{display:block}
    table.table1 thead,table.table2 thead,table.table3 thead,
    table.table4 thead,table.table5 thead{display:none}
    table.table1 tbody,table.table2 tbody,table.table3 tbody,
    table.table4 tbody,table.table5 tbody,
    table.table1 tr,table.table2 tr,table.table3 tr,table.table4 tr,table.table5 tr,
    table.table1 th,table.table2 th,table.table3 th,table.table4 th,table.table5 th,
    table.table1 td,table.table2 td,table.table3 td,table.table4 td,table.table5 td{
      display:block;width:auto}
    table.table1 tbody th,table.table2 tbody th,table.table3 tbody th,
    table.table4 tbody th,table.table5 tbody th{
      white-space:normal;padding:11px 16px;font-size:.9rem}
    table.table1 tbody td,table.table2 tbody td,table.table3 tbody td,
    table.table4 tbody td,table.table5 tbody td{padding:13px 16px}}

  .box__ttl{font-family:var(--disp);font-weight:900;font-size:1.05rem;line-height:1.5;margin:12px 0 0}
  .sub_area_ttl{font-family:var(--disp);font-weight:900;font-size:1.2rem;line-height:1.5;margin:0;padding:14px 0 12px}
  .wm-subarea{margin:26px 0 0}
  .wm-subarea p{margin:0 0 1em;line-height:2}
  .wm-subarea img{max-width:100%;height:auto}

  /* 記事の段（旧サブエリア1〜5） */
  .wm-blk{margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--border)}
  .wm-blk:first-of-type{border-top:0;padding-top:0}
  .wm-blk-ttl{font-family:var(--disp);font-weight:900;font-size:1.18rem;line-height:1.5;margin:0 0 14px;
    padding-left:14px;border-left:4px solid var(--accent)}
  .wm-blk-imgs{display:grid;gap:16px;margin:0 0 16px}
  .wm-blk-imgs.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wm-blk-imgs figure{margin:0}
  .wm-blk-imgs img{width:100%;height:auto;border-radius:11px;display:block}
  .wm-blk-imgs figcaption{color:var(--faint);font-size:.85rem;margin:8px 0 0}
  @media (max-width:560px){.wm-blk-imgs.two{grid-template-columns:minmax(0,1fr)}}
  /* ページ送りの現在ページ */
  .wm-pager a.current{background:var(--accent);border-color:var(--accent);color:#fff;pointer-events:none}
  .wm-pager li{list-style:none}

  /* ===== バナー（メンテの「バナー用」カテゴリ） ===== */
  .wm-bnr{padding:22px 0}
  .wm-bnr .wm-bnr-in{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:center}
  .wm-bnr .wm-bnr-in.a-l{justify-content:flex-start}
  .wm-bnr .wm-bnr-in.a-r{justify-content:flex-end}
  .wm-bnr .wm-bnr-in.a-c{justify-content:center}
  .wm-bnr .wm-bnr-in img{max-width:100%;height:auto;border-radius:10px;display:block}
  .wm-bnr.top{padding:16px 0 0}
  .wm-bnr.partners{background:var(--panel-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}
  .wm-bnr.partners .wm-bnr-in{padding:30px 0;gap:16px}
  .wm-bnr.partners img{max-height:52px;width:auto;border-radius:0}
  .wm-bnr.partners + .wm-bnr.partners{border-top:0}

  /* トップページ構成の2カラム行 */
  .wm-row{padding:0}
  .wm-row-in{display:grid;grid-template-columns:var(--wm-a,1fr) var(--wm-b,1fr);gap:28px;align-items:start}
  /* 中に入る部品は単独でも使えるよう wrap を持っているので、
     ここでは幅と余白を打ち消して、マスの中いっぱいに広げる */
  .wm-col > *{padding-left:0;padding-right:0}
  .wm-col .wrap{width:auto;max-width:none;padding-left:0;padding-right:0}
  @media (max-width:900px){ .wm-row-in{grid-template-columns:1fr;gap:0} }

  /* ===== データベース表示（物件・車両の一覧／1件）  2026-09-22 ===== */
  .catalog{padding:28px 24px 64px}
  .cat-filter{margin:0 0 20px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}
  .cat-filter-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 18px}
  .cat-f{display:flex;flex-direction:column;gap:5px;font-size:.84rem;color:var(--muted)}
  .cat-f-lbl{font-weight:700;letter-spacing:.02em}
  .cat-f input,.cat-f select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:9px;
    background:var(--panel);color:var(--ink);font:inherit;font-size:.9rem;min-width:0}
  .cat-f-range{display:flex;align-items:center;gap:6px}
  .cat-f-range input{flex:1 1 0;min-width:0}
  .cat-f-range i{font-style:normal;color:var(--faint);font-size:.82rem;white-space:nowrap}
  .cat-filter-go{display:flex;align-items:center;gap:14px;margin:14px 0 0}
  .cat-clear{font-size:.85rem;color:var(--muted);text-decoration:underline}
  .cat-clear:hover{color:var(--accent)}
  .cat-count{margin:0 0 16px;font-size:.9rem;color:var(--muted)}
  .cat-count b{color:var(--ink);font-family:var(--num);font-size:1.05rem}

  .cat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
  .cat-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .12s,box-shadow .16s}
  .cat-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px rgba(30,25,15,.4)}
  .cat-card-ph{display:block;aspect-ratio:4/3;background:var(--panel-2);overflow:hidden}
  .cat-card-ph img{width:100%;height:100%;object-fit:cover}
  .cat-noph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
    font-style:normal;font-size:.8rem;color:var(--faint)}
  .cat-card-body{display:block;padding:13px 15px 15px}
  .cat-card-ttl{display:block;font-family:var(--disp);font-weight:700;font-size:1rem;line-height:1.45;margin:0 0 8px}
  .cat-card-rows{display:flex;flex-direction:column;gap:3px}
  .cat-kv{display:flex;gap:8px;font-size:.84rem;color:var(--ink)}
  .cat-kv i{flex:0 0 5.2em;font-style:normal;color:var(--faint);font-size:.8rem}
  .cat-cards.is-photo .cat-card-rows{display:none}

  .cat-tablewrap{overflow-x:auto}
  .cat-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--panel)}
  .cat-table th,.cat-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
  .cat-table thead th{background:var(--panel-2);font-size:.82rem;color:var(--muted)}
  .cat-table td a{color:var(--accent);font-weight:700}

  .cat-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0 0;font-size:.9rem}
  .cat-pager a{padding:8px 16px;border:1px solid var(--border-strong);border-radius:999px;color:var(--ink)}
  .cat-pager a:hover{background:var(--panel-2);border-color:var(--accent)}
  .cat-pager span{padding:8px 16px;color:var(--faint)}
  .cat-pager em{font-style:normal;font-family:var(--num);color:var(--muted)}

  .cat-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:26px;margin:0 0 28px}
  .cat-photos{display:flex;flex-direction:column;gap:10px}
  .cat-photo{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--panel-2)}
  .cat-photo img{width:100%;height:auto;display:block}
  .cat-photo.is-main img{aspect-ratio:4/3;object-fit:cover}
  .cat-spec-table{width:100%;border-collapse:collapse;font-size:.92rem}
  .cat-spec-table th,.cat-spec-table td{padding:11px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
  .cat-spec-table th{width:8em;background:var(--panel-2);color:var(--muted);font-size:.85rem;font-weight:700}
  .cat-note{margin:0 0 26px}
  .cat-note p{font-size:.95rem;line-height:1.9}
  .cat-back{margin:24px 0 0}
  @media(max-width:900px){
    .catalog{padding:20px 16px 48px}
    .cat-detail{grid-template-columns:1fr;gap:18px}
    .cat-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
    .cat-spec-table th{width:6.5em}
  }


/* ---- 表示区分（PC用／スマホ用のサブエリア） -----------------------------
   旧ウェブモバは、同じ内容を「PC用」と「スマホ用」の2つのサブエリアに分けて持てた
   （トピックスサブエリア.view_div）。Aurora はレスポンシブなので普通は片方だけで足りるが、
   旧サイトから移したページには両方残っている。作り置きのHTMLを PC とスマホの両方へ配る
   ので、PHPでどちらかを捨てることはできない。ここで隠す。
   境目は 768px（Aurora の「スマホ」の境目と同じ）。                          */
@media (max-width:767px){ .wm-only-pc{ display:none !important } }
@media (min-width:768px){ .wm-only-sp{ display:none !important } }
