@charset "UTF-8";

/* ===== Base ===== */
body{ font-family:sans-serif; margin:0; padding:0; }
img{ max-width:100%; height:auto; }

/* ヘッダー高さ（必要なら 60px → 実寸に調整） */
:root{ --menu-top: 60px; }

/* ===== 本文内の疑似アイコンだけ消す（ヘッダー/メニューは残す） ===== */
#content a::before, #content a::after,
#content .infoDate::before, #content .entry-meta .date::before, #content .entryMeta .infoDate::before,
#content .vk_icon::before, #content .vk_post_date::before{
  content:'' !important;
  display:none !important;
  background:none !important;
}

/* （必要なら）Font Awesomeなど本文内だけ非表示にする */
#content .fa, #content .fas, #content .far, #content .fab,
#content [class^="fa-"], #content [class*=" fa-"],
#content .icon, #content .iconfont{
  display:none !important;
}

/* ===== はみ出し予防 ===== */
#content .wp-block-columns{ flex-wrap:wrap !important; min-width:0 !important; }

/* ===== スマホ：MENUタップで開閉（クラス切替方式） ===== */
@media (max-width: 960px){
  #gMenu{ position:relative; }
  #sp-menu-toggle{ cursor:pointer; }

  /* 開閉をクラスで制御（テーマに勝つ） */
  #gMenu.itemClose #sMenu{ display:none !important; }
  #gMenu.itemOpen  #sMenu{ display:block !important; }

  /* ▼ メニューを画面固定＆中だけスクロール可能に */
  #sMenu{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--menu-top) !important;
    bottom: 0 !important;

    /* 端末差に強い高さ指定 */
    max-height: calc(100vh - var(--menu-top)) !important;   /* 旧端末 */
    max-height: calc(100dvh - var(--menu-top)) !important;  /* 新端末 */

    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain;
    touch-action: pan-y;              /* スワイプを縦に限定 */

    background: #fff;
    z-index: 99999 !important;        /* 何かが被る場合の保険 */
    border-top: 1px solid #ddd;
    padding: 12px;
    box-sizing: border-box;
    padding-bottom: env(safe-area-inset-bottom); /* iPhone下部の安全域 */
  }

  /* 開いている間は背景スクロールを止める（必要なければ消してOK） */
  body.nav-open{ overflow: hidden; }
}

/* ===== PCは従来通り：常時表示＋ホバー ===== */
@media (min-width: 961px){
  #sMenu{
    position: static !important;
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }
}
/* ===== アイコンフォントが読めない時の□×を全ページで非表示 ===== */

/* クラス本体を非表示（Font Awesome / テーマ系アイコン） */
.fa, .fas, .far, .fal, .fab,
[class^="fa-"], [class*=" fa-"],
.icon, .iconfont, .vk_icon, .vk_post_date, .vk_sns {
  display: none !important;
}

/* 擬似要素で出しているアイコンも消す */
.fa::before, .fas::before, .far::before, .fal::before, .fab::before,
[class^="fa-"]::before, [class*=" fa-"]::before,
.icon::before, .iconfont::before,
.vk_icon::before, .vk_post_date::before,
#header .assistive-text::before, #header .assistive-text::after,
#gMenu .assistive-text::before, #gMenu .assistive-text::after {
  content: '' !important;
  display: none !important;
  background: none !important;
}
/* ===== Kill FA icons site-wide (VK/BizVektor) ===== */
/* FAクラス経由の疑似要素 */
[class*="fa"]::before, [class*="fa"]::after,
[class^="fa-"]::before, [class^="fa-"]::after,
.fas::before, .fas::after, .far::before, .far::after, .fab::before, .fab::after {
  content: none !important; display: none !important;
}
/* メニュー系：テーマ独自の before を止める（フッター/グロナビ両方） */
#footMenu a::before, #footMenu a::after,
#footMenu li::before, #footMenu li::after,
#gMenu a::before, #gMenu a::after,
#gMenu li::before, #gMenu li::after,
footer a::before, footer a::after,
footer li::before, footer li::after {
  content: none !important; display: none !important; background: none !important;
  font-family: inherit !important;
}
/* 念のためリスト記号を通常化 */
#footMenu .menu, #footMenu .menu li { list-style: none !important; }