/* JS未接続のための表示補正:
   - ローディング演出(#js-loading-overlay)を消す
   - WOW.js等のフェードイン待ち要素(opacity:0/visibility:hidden)を可視化 */
#js-loading-overlay { display: none !important; }
.wow { visibility: visible !important; opacity: 1 !important; animation-name: none !important; }
.is_opacity, .header-eyecatch__item.is_opacity { opacity: 1 !important; }
#js-main-visual-inner { opacity: 1 !important; }
[data-wow-delay] { visibility: visible !important; opacity: 1 !important; }

/* モバイル: ハンバーガーで現行ナビをドロップダウン表示 */
@media (max-width: 959px) {
  body.nav-open .l-header-menu-tracking-drop.u-display-pc,
  body.nav-open .header-menu-row.u-display-pc {
    display: block !important;
    position: fixed; top: 60px; left: 0; right: 0;
    background: #fff; padding: 6px 16px 14px;
    box-shadow: 0 10px 24px rgba(0,0,0,.14); z-index: 9998;
    max-height: 82vh; overflow: auto;
  }
  body.nav-open .header-menu { display: block !important; }
  body.nav-open .header-menu .menu-item { display: block !important; border-bottom: 1px solid #eee; }
  body.nav-open .header-menu .menu-item > a { display: block; padding: 12px 2px; }
  body.nav-open .header-menu .sub-menu { position: static !important; display: block !important; box-shadow: none; padding-left: 12px; }
}

/* 目次の番号表示を現行に合わせる */
.toc-box .contents-outline__ol { list-style-type: decimal; padding-left: 1.6em; }
.toc-box .contents-outline__ol .contents-outline__item { list-style: decimal; }

/* content-views アーカイブ: サムネ左・テキスト右の2カラム項目を現行に合わせて強制 */
.pt-cv-blockgrid .pt-cv-page { display: block; }
.pt-cv-blockgrid .pt-cv-content-item.pt-cv-2-col {
  width: 100% !important; max-width: 100% !important; display: flex !important;
  gap: 18px; align-items: flex-start; float: none !important;
  border-bottom: 1px solid #e6e6e6; padding: 0 0 20px; margin: 0 0 20px;
}
.pt-cv-2-col .pt-cv-thumb-wrapper { flex: 0 0 31%; max-width: 31%; margin: 0 !important; }
.pt-cv-2-col .pt-cv-colwrap { display: block !important; flex: 1; }
.pt-cv-thumbnail { width: 100% !important; height: auto; border-radius: 3px; }
.pt-cv-taxoterm.above_title a { display: inline-block; font-size: 11px; font-weight: 700; color: #62cb9d; margin-right: 8px; }
.pt-cv-title { font-size: 17px; margin: 6px 0; }
.pt-cv-title a { color: #303030; text-decoration: none; }
.pt-cv-content { font-size: 13px; color: #6b6f72; }
.pt-cv-readmore.btn-success { display: inline-block; margin-top: 8px; background: #62cb9d; color: #fff; border-radius: 25px; padding: 6px 22px; font-size: 13px; text-decoration: none; }
@media (max-width: 640px) { .pt-cv-2-col .pt-cv-thumb-wrapper { flex-basis: 38%; max-width: 38%; } }

/* アーカイブのカテゴリフィルタ・タブ */
.cv-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.cv-filter a { font-size: 13px; font-weight: 700; color: #303030; background: #f0f1f2; border-radius: 4px; padding: 7px 14px; text-decoration: none; }
.cv-filter a.is-active, .cv-filter a:hover { background: #62cb9d; color: #fff; }

/* 固定ページの Gutenberg 2カラム（社長コメント+写真 / オフィス / サポート等）を横並びに */
.article-body .wp-block-columns { display: flex; flex-wrap: nowrap; gap: 32px; margin: 0 0 28px; align-items: flex-start; }
.article-body .wp-block-columns > .wp-block-column { flex: 1 1 0; min-width: 0; }
.article-body .wp-block-columns .wp-block-image img { width: 100%; height: auto; }
@media (max-width: 781px) {
  .article-body .wp-block-columns { flex-wrap: wrap; gap: 0; }
  .article-body .wp-block-columns > .wp-block-column { flex: 1 1 100% !important; }
}

/* 事例ページ: Emanon タブブロック（横向き種類切替）を自前CSSで再現
   ＝本番はJSスライダー。静的では「横並びタブ + 該当パネルのみ表示」で同等の見た目に。
   色・余白は本番がルート要素に出力する CSS 変数（--epb-tab-*）をそのまま利用。 */
.epb-tab__list { display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px 6px; overflow-x: auto; list-style: none; margin: 0 0 6px; padding: 0; }
.epb-tab-control { display: flex; }
.epb-tab__list-item {
  cursor: pointer; display: inline-block; white-space: nowrap; line-height: 1;
  background: var(--epb-tab-background-color, #f8f8f8);
  color: var(--epb-tab-color, #333);
  border: var(--epb-tab-border, 1px) solid var(--epb-tab-border-color, #e5e7e8);
  padding: 12px 14px; font-size: 14px; font-weight: 700; text-align: center;
  transition: background-color .15s, color .15s, border-color .15s;
}
.epb-tab__list-item[aria-selected="true"] {
  background: var(--epb-tab-selected-background-color, #000);
  color: var(--epb-tab-selected-color, #fff);
  border-color: var(--epb-tab-selected-background-color, #000);
}
.epb-tab__list-item:hover {
  background: var(--epb-tab-hover-background-color, #7bdcb5);
  color: var(--epb-tab-hover-color, #fff);
  border-color: var(--epb-tab-hover-border-color, #7bdcb5);
}
/* スライダー前提の絶対配置/left オフセットを打ち消し、単純な表示/非表示に */
.epb-tab__inner { position: relative; overflow: visible; display: block; }
.epb-tab__panel { position: static !important; left: auto !important; width: auto !important; }
.epb-tab__panel[aria-hidden="true"] { display: none !important; }
.epb-tab__panel[aria-hidden="false"] { display: block !important; }
/* 静的サイトでは機能しない content-views の AJAX ページャを非表示（全件は分類ページで到達可能） */
.epb-tab .pt-cv-pagination-wrapper { display: none; }
