/* SWELL data-loaded前でも非表示にならない修正 */
html[data-loaded="false"] body,
html[data-loaded="false"] .p-header,
html[data-loaded="false"] .p-footer,
html[data-loaded="false"] .l-main,
html[data-loaded="false"] .c-article,
html[data-loaded="false"] .p-entry-content {
  visibility: visible !important;
  opacity: 1 !important;
}
/* 固定ヘッダー初期非表示（SWELLがdata-scrolled=trueを誤設定する問題の恒久対策）
   JSのdisplay:none上書きが主対策。CSSは補完として残す */
.l-fixHeader {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-100%) !important;
  transition: opacity 0.3s, transform 0.3s !important;
}
html.swl-scrolled .l-fixHeader {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}
/* スマホ表示の基本修正 */
@media (max-width: 768px) {
  body { max-width: 100% !important; overflow-x: hidden !important; }
  img { max-width: 100% !important; height: auto !important; }
  table { overflow-x: auto; display: block; }
  .p-entry-content { padding: 0 16px !important; }
  pre, code { overflow-x: auto !important; white-space: pre-wrap !important; }
}
/* SWELLスマホメニュー(#sp_menu/.p-spMenu)が静的化で初期表示されたまま残り、
   左上にカテゴリが重複表示される問題の恒久対策。
   既定で隠し、ハンバーガー押下時(html/body[data-spmenu=opened])のみ表示する。 */
#sp_menu,
.p-spMenu { display: none !important; }
[data-spmenu="opened"] #sp_menu,
[data-spmenu="opened"] .p-spMenu { display: block !important; }
/* スマホ用ヘッダーの横スワイプナビ(.l-header__spNav/.p-spHeadMenu)がSwiper未初期化のまま
   PC・SP両方で縦積み崩れし、左上にカテゴリが重複表示される問題の対策。
   カテゴリ導線はPC=グローバルナビ／SP=ハンバーガー(#sp_menu)で確保されるため全幅で隠す。 */
.l-header__spNav,
.p-spHeadMenu { display: none !important; }
