/**
 * SQUARES - SWELL サブページ（お知らせ一覧・ブログ一覧・個別記事・アーカイブ）専用スタイルシート
 * 
 * トップページ（ニューモーフィズム × グラスモーフィズム）の世界観を、
 * SWELL標準のアーカイブ一覧、個別記事、固定ページへ完全に継承・同期します。
 */

/* ========================================================
   1. デザイントークン & 全体ベース設定
   ======================================================== */
:root {
  --sq-primary: #0F172A;
  --sq-primary-light: #1E293B;
  --sq-accent: #FF5E1E;
  --sq-accent-hover: #E04E15;
  --sq-accent-glow: rgba(255, 94, 30, 0.35);
  --sq-bg: #F8FAFC;
  --sq-bg-white: #FFFFFF;
  --sq-border: rgba(226, 232, 240, 0.85);
  --sq-border-light: rgba(241, 245, 249, 0.9);
  --sq-text-main: #0F172A;
  --sq-text-body: #334155;
  --sq-text-muted: #64748B;
  --sq-text-light: #94A3B8;
  --sq-font-en: 'Outfit', sans-serif;
  --sq-font-base: 'Outfit', 'Noto Sans JP', sans-serif;
  --sq-radius-card: 20px;
  --sq-radius-pill: 9999px;
  --sq-shadow-card: 6px 10px 28px rgba(15, 23, 42, 0.04), -4px -4px 16px rgba(255, 255, 255, 0.85);
  --sq-shadow-hover: 12px 20px 36px rgba(15, 23, 42, 0.08), 0 0 16px rgba(255, 94, 30, 0.12);
}

body, html {
  background-color: var(--sq-bg) !important;
  color: var(--sq-text-main) !important;
  font-family: var(--sq-font-base) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

#content,
.l-content,
.l-container {
  background: transparent !important;
}

.l-container {
  max-width: 1240px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* ========================================================
   背景・正方形の方眼紙（グラフペーパー）グリッド（パララックス連動）
   ======================================================== */
.bg-iso-grid {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none !important;
  z-index: 0 !important;
  opacity: 0.55 !important;
  background-size: 36px 36px !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.18) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.18) 1px, transparent 1px) !important;
  will-change: background-position !important;
}

/* コンテンツ層の重なり順（背景グリッドの上に配置） */
#content,
.l-content,
.l-container,
.l-main,
.l-sidebar,
.c-pageTitle,
#breadcrumb,
.c-breadcrumb,
.squares-unified-footer {
  position: relative !important;
  z-index: 1 !important;
}

/* ========================================================
   2. SWELL標準ヘッダー & 追従ヘッダー & トップバー & フッターの完全撲滅
   （最上部へ戻った瞬間にSWELLメニューが通り抜ける怪奇現象を100%防止）
   ======================================================== */
#header,
.l-header,
.l-header__inner,
.l-header__bar,
#header_top,
.l-topBar,
#fix_header,
.l-fixHeader,
.l-fixHeader__inner,
.l-fixHeader__logo,
.l-fixHeader__nav,
.p-spHead,
.p-spNav,
.p-spNavBtn,
.l-header__menuBtn,
[data-fix-header] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  z-index: -99999 !important;
}

#footer,
.l-footer {
  display: none !important;
}

/* ========================================================
   3. SQUARES 統一ヘッダー（サブページ共通）
   ======================================================== */
.squares-unified-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  padding: 20px 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: background 0.3s ease, padding 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, backdrop-filter 0.3s ease !important;
}

.squares-unified-header.is-scrolled,
.squares-unified-header.scrolled {
  background: rgba(255, 255, 255, 0.78) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.04) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
}

body.admin-bar .squares-unified-header {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar .squares-unified-header {
    top: 46px !important;
  }
}

/* ヘッダー固定に伴うサブページ最上部余白（78pxのヘッダー高さに完全同期） */
body:not(.page-template-page-lp-squares) {
  padding-top: 78px !important;
}

body.admin-bar:not(.page-template-page-lp-squares) {
  padding-top: 110px !important;
}

#breadcrumb,
.c-breadcrumb,
.l-breadcrumb,
.p-breadcrumb,
.c-breadcrumb__inner {
  background: transparent !important;
  border: none !important;
  padding-top: 12px !important;
  padding-bottom: 8px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

/* スマホ・タブレット（<= 992px）：トップページと完全に同一の仕様・縦幅に統一 */
@media screen and (max-width: 992px) {
  body:not(.page-template-page-lp-squares) {
    padding-top: 50px !important;
  }
  body.admin-bar:not(.page-template-page-lp-squares) {
    padding-top: 96px !important;
  }
  .squares-unified-header {
    padding: 10px 0 !important;
  }
  .squares-unified-header.is-scrolled,
  .squares-unified-header.scrolled {
    padding: 8px 0 !important;
  }
  .squares-unified-header .header-inner {
    padding: 0 16px !important;
  }
  .squares-unified-header .logo-mark {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }
  .squares-unified-header .logo-svg {
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }
  .squares-unified-header .logo-type {
    font-size: 13px !important;
    letter-spacing: 0.22em !important;
  }
  .squares-unified-header .logo-domain {
    font-size: 11px !important;
    font-weight: 900 !important;
  }
  /* スマホ・タブレットでは上部ヘッダーのCTAボタン・ナビを完全に非表示・取り外し（ロゴのみ表示） */
  .squares-unified-header .header-actions,
  .squares-unified-header .header-cta-btn,
  .header-actions,
  .header-cta-btn,
  .squares-unified-header .nav,
  .nav {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  #breadcrumb,
  .c-breadcrumb,
  .l-breadcrumb,
  .p-breadcrumb,
  .c-breadcrumb__inner {
    padding-top: 8px !important;
    padding-bottom: 6px !important;
    margin: 0 auto !important;
  }

  /* ドック常駐に伴うページ下部余白の確保 */
  body {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

.squares-unified-header .header-inner {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
  height: 40px !important;
}

.squares-unified-header .logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  height: 40px !important;
}

.logo-mark,
.squares-unified-header .logo-mark,
.squares-unified-footer .logo-mark {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  transition: transform 0.3s ease !important;
}

.squares-unified-header .logo:hover .logo-mark {
  transform: rotate(5deg) scale(1.05) !important;
}

.logo-svg,
.logo-img,
.squares-unified-header .logo-svg,
.squares-unified-footer .logo-svg {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.squares-unified-header .logo-type-wrap {
  display: flex !important;
  align-items: baseline !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* トップページと完全に揃えた Outfit 400（レギュラー）/ 字間 0.35em */
.logo-type,
.squares-unified-header .logo-type {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--sq-primary) !important;
  letter-spacing: 0.35em !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  -webkit-font-smoothing: antialiased !important;
}

.logo-domain,
.squares-unified-header .logo-domain,
.squares-unified-footer .logo-domain {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  color: #FF5E1E !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
  -webkit-font-smoothing: antialiased !important;
}

.squares-unified-header .nav {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.squares-unified-header .nav-list {
  display: flex !important;
  list-style: none !important;
  gap: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  height: 40px !important;
}

.squares-unified-header .nav-list li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  line-height: 1 !important;
}

.squares-unified-header .nav-link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  color: #475569 !important;
  text-decoration: none !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
  transition: color 0.25s ease !important;
}

.squares-unified-header .nav-link:hover {
  color: #FF5E1E !important;
}

.squares-unified-header .nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 9px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: #FF5E1E !important;
  transition: width 0.25s ease !important;
}

.squares-unified-header .nav-link:hover::after {
  width: 100% !important;
}

.squares-unified-header .header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.squares-unified-header .header-cta-btn,
.header .header-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Outfit', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  padding: 10px 24px !important;
  height: 40px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  border: none !important;
  background: linear-gradient(135deg, #FF7A3D 0%, #FF5E1E 100%) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(255, 94, 30, 0.35) !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
}

.squares-unified-header .header-cta-btn:hover,
.header .header-cta-btn:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.05) !important;
  box-shadow: 0 14px 34px rgba(255, 94, 30, 0.5) !important;
}

@media screen and (max-width: 960px) {
  .squares-unified-header .nav {
    display: none !important;
  }
}

/* ========================================================
   4. SQUARES 統一フッター（サブページ共通）
   ======================================================== */
.squares-unified-footer {
  background: #FFFFFF !important;
  border-top: 1px solid var(--sq-border) !important;
  padding: 72px 0 36px !important;
  margin-top: 80px !important;
  position: relative !important;
  z-index: 10 !important;
  clear: both !important;
}

.squares-unified-footer .footer-content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 48px;
}

.squares-unified-footer .footer-brand {
  max-width: 320px;
}

.squares-unified-footer .logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.squares-unified-footer .logo-mark {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.squares-unified-footer .logo-svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.squares-unified-footer .logo-type-wrap {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.squares-unified-footer .logo-type {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--sq-primary) !important;
  letter-spacing: 0.35em !important;
  -webkit-font-smoothing: antialiased !important;
}

.squares-unified-footer .logo-domain {
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  color: var(--sq-accent) !important;
}

.squares-unified-footer .footer-tagline {
  font-family: var(--sq-font-base) !important;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--sq-text-muted);
  margin-top: 14px;
  margin-bottom: 0;
  letter-spacing: 0.02em;
}

.squares-unified-footer .footer-links {
  display: flex;
  gap: 64px;
  flex-wrap: wrap;
}

.squares-unified-footer .footer-col h4 {
  font-family: var(--sq-font-base) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--sq-primary) !important;
  margin-bottom: 18px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
}

.squares-unified-footer .footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.squares-unified-footer .footer-col ul li {
  margin-bottom: 10px !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: var(--sq-text-muted) !important;
  font-family: var(--sq-font-base) !important;
}

.squares-unified-footer .footer-col ul li a {
  text-decoration: none !important;
  color: var(--sq-text-muted) !important;
  font-size: 13.5px !important;
  transition: color 0.2s ease !important;
  font-family: var(--sq-font-base) !important;
}

.squares-unified-footer .footer-col ul li a:hover {
  color: var(--sq-accent) !important;
}

.squares-unified-footer .footer-bottom {
  max-width: 1240px;
  margin: 48px auto 0;
  padding: 24px 24px 0;
  border-top: 1px solid var(--sq-border);
  text-align: center;
}

.squares-unified-footer .copyright {
  font-family: var(--sq-font-en) !important;
  font-size: 12.5px !important;
  color: var(--sq-text-light) !important;
  margin: 0 !important;
}

@media screen and (max-width: 768px) {
  .squares-unified-footer {
    padding: 48px 0 28px !important;
    margin-top: 48px !important;
  }
  .squares-unified-footer .footer-content {
    flex-direction: column;
    gap: 36px;
  }
  .squares-unified-footer .footer-links {
    flex-direction: column;
    gap: 32px;
  }
}

/* ========================================================
   5. パンくずリスト（上品でミニマルなデザイン）
   ======================================================== */
#breadcrumb,
.c-breadcrumb {
  background: transparent !important;
  border: none !important;
  font-family: var(--sq-font-base) !important;
  font-size: 12.5px !important;
  color: var(--sq-text-muted) !important;
  padding: 16px 0 12px !important;
  margin: 0 auto !important;
}

.c-breadcrumb__item a,
.c-breadcrumb__item span {
  color: var(--sq-text-muted) !important;
  text-decoration: none !important;
  font-family: var(--sq-font-base) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  transition: color 0.2s ease;
}

.c-breadcrumb__item a:hover {
  color: var(--sq-accent) !important;
}

/* ========================================================
   6. 個別記事ページ（Single）のコンテナ & タイポグラフィ
   ======================================================== */
/* 記事カード本体（ソフト・ニューモーフィズム） */
.l-main__inner,
.p-article,
.c-entry {
  background: #FFFFFF !important;
  border-radius: var(--sq-radius-card) !important;
  border: 1px solid var(--sq-border) !important;
  box-shadow: var(--sq-shadow-card) !important;
  padding: 48px 52px !important;
  margin-bottom: 40px !important;
}

@media screen and (max-width: 768px) {
  .l-main__inner,
  .p-article,
  .c-entry {
    padding: 28px 20px !important;
    border-radius: 16px !important;
  }
}

/* 記事ヘッダー・タイトル */
.c-postTitle,
.p-article__header {
  margin-bottom: 28px !important;
}

.c-postTitle__title,
.p-article__title,
.c-entry__title {
  font-family: var(--sq-font-base) !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  line-height: 1.45 !important;
  color: var(--sq-primary) !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 16px !important;
}

@media screen and (max-width: 768px) {
  .c-postTitle__title,
  .p-article__title,
  .c-entry__title {
    font-size: 22px !important;
  }
}

/* カテゴリーバッジ（NEWS: ダークスレート / BLOG: SQUARESオレンジ） */
.c-categoryBadge,
.c-catBadge,
.c-postMeta__cat a,
.p-articleMetas__cat a {
  background: var(--sq-primary) !important;
  color: #FFFFFF !important;
  font-family: var(--sq-font-base) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: opacity 0.2s ease !important;
}

.c-categoryBadge:hover,
.c-catBadge:hover,
.c-postMeta__cat a:hover {
  opacity: 0.85 !important;
}

/* ブログカテゴリー用オレンジアクセント */
.c-categoryBadge[href*="blog"],
.c-catBadge[href*="blog"],
.c-postMeta__cat a[href*="blog"],
.cat-item-blog a {
  background: var(--sq-accent) !important;
}

/* 投稿日時（等幅 Outfit 数字） */
.c-postTimes,
.p-articleMetas__times {
  font-family: var(--sq-font-en) !important;
  font-size: 13px !important;
  color: var(--sq-text-muted) !important;
}

/* 記事アイキャッチ画像 */
.p-article__thumb,
.c-postThumb {
  border-radius: 16px !important;
  overflow: hidden !important;
  margin-bottom: 32px !important;
  border: 1px solid var(--sq-border) !important;
}

/* 本文テキスト */
.post_content,
.c-entryContent {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  color: var(--sq-text-body) !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}

/* ========================================================
   SWELL親テーマ見出し装飾の完全リセット＆クリーンアップ
   （親テーマの破線下線や部分アンダーライン::afterの完全消去）
   ======================================================== */
.post_content h2::after,
.post_content h3::after,
.post_content h4::after,
.c-entry__content h3::after,
.c-entry__content h4::after,
.c-entryContent h3::after,
.c-entryContent h4::after {
  display: none !important;
  content: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* 目次（Table of Contents） */
.p-toc,
#toc_container {
  background: #FFFFFF !important;
  border: 1px solid var(--sq-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04) !important;
  padding: 28px !important;
  margin: 36px 0 !important;
}

.p-toc__title,
.toc_title {
  font-family: var(--sq-font-base) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  color: var(--sq-primary) !important;
  letter-spacing: 0.05em !important;
}

/* ========================================================
   不要なSNSシェアボタン・著者ボックス等の非表示
   （管理画面を操作せずコード側で一括非表示）
   ======================================================== */
/* 記事下シェアボタン & 「よかったらシェアしてね！」 */
.c-shareBtns,
.c-shareBtns__message,
.p-article__share,
.p-shareBtns,
.p-articleMetas__share,
.w-shareBtns {
  display: none !important;
}

/* 画面左端の固定シェアボタン群 */
#fix_share_btns,
.c-fixShareBtns,
.c-fixBtn--share,
.p-fixShareBtns,
.w-fixBtns {
  display: none !important;
}

/* 「この記事を書いた人」著者ボックス */
.p-authorBox,
.c-authorBox,
.w-authorBox,
.author-box {
  display: none !important;
}

/* 前後記事ナビゲーションカード */
.p-postNav,
.c-postNav {
  margin: 48px 0 32px !important;
}

.p-postNav__link,
.c-postNav__link {
  background: #FFFFFF !important;
  border-radius: 16px !important;
  border: 1px solid var(--sq-border) !important;
  padding: 16px 20px !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03) !important;
  transition: all 0.25s ease !important;
  color: var(--sq-primary) !important;
  font-weight: 600 !important;
}

.p-postNav__link:hover,
.c-postNav__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
  border-color: rgba(255, 94, 30, 0.35) !important;
  color: var(--sq-accent) !important;
}

/* この記事を書いた人（Author Box） */
.p-authorBox,
.c-authorBox {
  background: #FFFFFF !important;
  border: 1px solid var(--sq-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.03) !important;
  padding: 32px !important;
  margin-top: 48px !important;
}

.p-authorBox__name,
.c-authorBox__name {
  font-family: var(--sq-font-base) !important;
  font-weight: 800 !important;
  color: var(--sq-primary) !important;
}

/* ========================================================
   7. タクティカル・サイドバー（フロストグラス透過 × サイバーUI）
   ======================================================== */
.l-sidebar,
.w-sidebar {
  position: relative !important;
}

.c-widget {
  background: rgba(255, 255, 255, 0.48) !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 4px !important;
  padding: 22px 20px !important;
  margin-bottom: 24px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 4px 16px rgba(15, 23, 42, 0.03) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  overflow: visible !important;
}

.c-widget:hover {
  background: rgba(255, 255, 255, 0.82) !important;
  border-color: rgba(255, 94, 30, 0.35) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05), inset 0 1px 0 #FFFFFF !important;
}

.c-widget__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--sq-font-mono, monospace), var(--sq-font-en), sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  color: #0F172A !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  position: relative !important;
}

.c-widget__title::after,
.c-widget__title::before {
  display: none !important;
  content: none !important;
}

/* 検索ウィジェット */
.c-searchForm {
  width: 100% !important;
  margin: 0 !important;
}

.c-searchForm__input,
.c-widget input[type="search"],
.c-widget input[type="text"] {
  width: 100% !important;
  background: rgba(255, 255, 255, 0.6) !important;
  border: 1px solid rgba(203, 213, 225, 0.85) !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  color: #0F172A !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.c-searchForm__input:focus,
.c-widget input[type="search"]:focus,
.c-widget input[type="text"]:focus {
  background: #FFFFFF !important;
  border-color: #FF5E1E !important;
  box-shadow: 0 0 0 2px rgba(255, 94, 30, 0.15) !important;
}

/* カテゴリー・アーカイブリスト */
.c-widget ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.c-widget ul li a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 12px !important;
  background: rgba(255, 255, 255, 0.4) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  border-left: 2px solid transparent !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  transition: all 0.2s ease !important;
}

.c-widget ul li a:hover {
  background: #FFFFFF !important;
  border-left-color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.3) !important;
  color: #FF5E1E !important;
  transform: translateX(3px) !important;
}

/* ========================================================
   8. SWELL標準アーカイブタイトルの完全消去（専用Sci-Fiテンプレートを使用するため）
   ======================================================== */
.c-pageTitle:not(#squaresArchiveTitle),
.l-topTitleBox,
.p-archiveHead,
.c-pageTitle__inner:not(#squaresArchiveTitle *),
.c-pageTitle.-border-bottom,
.c-pageTitle__title.-border-bottom {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.c-pageTitle::before,
.c-pageTitle::after {
  display: none !important;
  content: none !important;
}

/* 記事一覧コンテナ */
.p-postListWrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.p-postList,
.p-postList.-type-card,
.p-postList.-type-list,
.p-postList.-type-big,
.p-postList.-type-simple {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  grid-template-columns: none !important;
}

/* 記事カード本体（フロストグラス透過 × 直角スクエア幾何学） */
.p-postList__item {
  width: 100% !important;
  position: relative !important;
  background: rgba(255, 255, 255, 0.48) !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 4px !important; /* 直角スクエア幾何学 */
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 4px 16px rgba(15, 23, 42, 0.03) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: visible !important;
}

/* SWELL自動出力対応：四隅の精密コーナーブラケット（::before / ::after） */
.p-postList__item::before {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: -1px !important;
  width: 7px !important;
  height: 7px !important;
  border-top: 2px solid #94A3B8 !important;
  border-left: 2px solid #94A3B8 !important;
  background: transparent !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
  box-shadow: none !important;
}

.p-postList__item::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  right: -1px !important;
  width: 7px !important;
  height: 7px !important;
  border-top: 2px solid #94A3B8 !important;
  border-right: 2px solid #94A3B8 !important;
  background: transparent !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
}

.p-postList__link::before {
  content: "" !important;
  position: absolute !important;
  bottom: -1px !important;
  left: -1px !important;
  width: 7px !important;
  height: 7px !important;
  border-bottom: 2px solid #94A3B8 !important;
  border-left: 2px solid #94A3B8 !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
}

.p-postList__link::after {
  content: "" !important;
  position: absolute !important;
  bottom: -1px !important;
  right: -1px !important;
  width: 7px !important;
  height: 7px !important;
  border-bottom: 2px solid #94A3B8 !important;
  border-right: 2px solid #94A3B8 !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
}

/* ホバー時のタクティカル反応 */
.p-postList__item:hover {
  transform: translateX(4px) translateY(-2px) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border-color: rgba(255, 94, 30, 0.45) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.07), inset 0 1px 0 #FFFFFF, 0 0 18px rgba(255, 94, 30, 0.12) !important;
}

.p-postList__item:hover::before,
.p-postList__item:hover::after,
.p-postList__item:hover .p-postList__link::before,
.p-postList__item:hover .p-postList__link::after {
  border-color: #FF5E1E !important;
  width: 10px !important;
  height: 10px !important;
}

/* 記事リンクコンテナ */
.p-postList__link {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  padding: 16px 20px !important;
  gap: 22px !important;
  text-decoration: none !important;
  color: inherit !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  background: transparent !important;
}

/* サムネイル（サイバーHUDコンテナ） */
.p-postList__thumb,
.c-postThumb {
  flex-shrink: 0 !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 136px !important;
  margin: 0 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #F8FAFC !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.c-postThumb__figure {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  position: relative !important;
}

.p-postList__thumb img,
.c-postThumb img,
.c-postThumb__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease !important;
  filter: contrast(102%) brightness(98%) !important;
}

.p-postList__item:hover .c-postThumb__img {
  transform: scale(1.05) !important;
  filter: contrast(108%) brightness(102%) !important;
}

/* サムネイル十字レティクル（+） */
.c-postThumb::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 16px !important;
  height: 16px !important;
  pointer-events: none !important;
  opacity: 0.35 !important;
  transition: opacity 0.3s ease !important;
  z-index: 3 !important;
  background:
    linear-gradient(#FFFFFF, #FFFFFF) no-repeat center / 16px 1px,
    linear-gradient(#FFFFFF, #FFFFFF) no-repeat center / 1px 16px !important;
}

.p-postList__item:hover .c-postThumb::after {
  opacity: 0.85 !important;
}

/* 角切りダークカテゴリバッジ */
.c-postThumb__cat {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  font-family: var(--sq-font-mono, monospace), 'Outfit', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #FFFFFF !important;
  background: rgba(15, 23, 42, 0.85) !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  line-height: 1.2 !important;
  z-index: 4 !important;
}

/* 記事本文エリア */
.p-postList__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-width: 0 !important;
  background: transparent !important;
}

.p-postList__meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 6px !important;
}

.p-postList__times,
.p-postList__date,
.p-postList__meta time {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  letter-spacing: 0.08em !important;
}

.p-postList__times::before,
.p-postList__date::before {
  content: "" !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 1px !important;
  background: #FF5E1E !important;
  box-shadow: 0 0 5px rgba(255, 94, 30, 0.8) !important;
  flex-shrink: 0 !important;
}

.p-postList__title {
  font-family: 'Outfit', 'Noto Sans JP', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.48 !important;
  letter-spacing: -0.015em !important;
  color: #0F172A !important;
  margin: 0 0 6px 0 !important;
  transition: color 0.2s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.p-postList__item:hover .p-postList__title {
  color: #FF5E1E !important;
}

.p-postList__desc {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #64748B !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .p-postList__link {
    padding: 12px 14px !important;
    gap: 14px !important;
  }

  .p-postList__thumb,
  .c-postThumb {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 72px !important;
  }

  .c-postThumb__cat {
    font-size: 7.5px !important;
    padding: 1px 4px !important;
    top: 4px !important;
    left: 4px !important;
  }

  .p-postList__title {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }

  .p-postList__desc {
    display: none !important;
  }
}

/* ========================================================
   9. トップへ戻るボタン (Clean Circular Glassmorphic Back to Top)
   ======================================================== */
.back-to-top {
  position: fixed !important;
  right: 32px !important;
  bottom: 36px !important;
  z-index: 9980 !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1.5px solid rgba(226, 232, 240, 0.95) !important;
  cursor: pointer !important;
  outline: none !important;
  overflow: hidden !important;
  box-shadow: 
    0 10px 24px rgba(15, 23, 42, 0.12),
    0 2px 6px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: none !important;
  transition: 
    opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.3s,
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-appearance: none !important;
  appearance: none !important;
  line-height: 1 !important;
}

.back-to-top.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.back-to-top-icon {
  width: 17px !important;
  height: 17px !important;
  color: #475569 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  stroke-width: 2.4 !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s !important;
}

.back-to-top-text {
  font-family: 'Outfit', sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: #475569 !important;
  line-height: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: color 0.2s !important;
}

@media (hover: hover) {
  .back-to-top:hover {
    background: #FFFFFF !important;
    border-color: #FF5E1E !important;
    box-shadow: 
      0 14px 28px rgba(15, 23, 42, 0.16),
      0 0 14px rgba(255, 94, 30, 0.25),
      inset 0 1px 0 #FFFFFF !important;
    transform: translateY(-3px) !important;
  }
  .back-to-top:hover .back-to-top-icon {
    color: #FF5E1E !important;
    transform: translateY(-1px) !important;
  }
  .back-to-top:hover .back-to-top-text {
    color: #FF5E1E !important;
  }
}

.back-to-top:active {
  transform: translateY(0) scale(0.92) !important;
  background: rgba(241, 245, 249, 0.95) !important;
  box-shadow: 
    0 4px 12px rgba(15, 23, 42, 0.08),
    inset 0 1px 2px rgba(15, 23, 42, 0.06) !important;
}

@media (max-width: 992px) {
  .back-to-top {
    right: 18px !important;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
  .back-to-top-icon {
    width: 15px !important;
    height: 15px !important;
  }
  .back-to-top-text {
    font-size: 7.5px !important;
  }
}

/* SWELL標準のトップへ戻るボタン・固定ボタン群の完全非表示化（二重表示・競合防止） */
.c-pagetopBtn,
.p-fixBtnWrap,
#pagetop,
#page_top,
.c-fixBtn,
.c-fixBtn--top,
[data-fix-btn] {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  transform: none !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
}


/* ========================================================
   10. モバイル専用：シンプル・グラスモーフィズム ボトムドック (Floating Glass Dock)
   ======================================================== */
/* PC表示（全通常画面）：完全に非表示 */
@media screen and (min-width: 993px) {
  .tactical-bottom-dock,
  .hud-backdrop,
  .hud-sheet {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media screen and (max-width: 992px) {
  /* ボトムドック表示時（<= 992px / 1024px）：ボトムドック・HUDメニューと重複するフッターMENUおよびナビリンクを完全非表示（旧HTML・新HTML問わず100%確実に非表示化） */
  .footer-nav-heading,
  .footer-col-nav h4,
  .footer-links .footer-col:last-child h4,
  .footer-links .footer-col:nth-child(2) h4,
  .squares-unified-footer .footer-links .footer-col:last-child h4,
  .squares-unified-footer .footer-links .footer-col:nth-child(2) h4 {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
  }
  .footer-nav-item,
  .footer-col-nav ul li:not(.footer-privacy-item),
  .footer-links .footer-col:last-child ul li:not(:last-child),
  .footer-links .footer-col:nth-child(2) ul li:not(:last-child),
  .squares-unified-footer .footer-links .footer-col:last-child ul li:not(:last-child),
  .squares-unified-footer .footer-links .footer-col:nth-child(2) ul li:not(:last-child),
  .footer-col ul li a[href*="#hero"],
  .footer-col ul li a[href*="#news"],
  .footer-col ul li a[href*="#about"],
  .footer-col ul li a[href*="#services"],
  .footer-col ul li a[href*="#products"],
  .footer-col ul li a[href*="#strengths"],
  .footer-col ul li a[href*="blog"],
  .footer-col ul li a[href$="/blog/"],
  .footer-col ul li a[href*="/category/news/"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
  }
  .footer-col-nav,
  .footer-links .footer-col:last-child,
  .squares-unified-footer .footer-links .footer-col:last-child {
    margin-top: -6px !important;
  }
  .footer-col-nav ul,
  .footer-links .footer-col:last-child ul,
  .squares-unified-footer .footer-links .footer-col:last-child ul {
    margin: 0 !important;
    padding: 0 !important;
  }
  .footer-col-nav .footer-privacy-item,
  .footer-links .footer-col:last-child ul li:last-child,
  .squares-unified-footer .footer-links .footer-col:last-child ul li:last-child,
  .squares-unified-footer .footer-col ul li:has(a[href*="privacy"]) {
    display: block !important;
    height: auto !important;
    margin-top: 0 !important;
    visibility: visible !important;
  }

  .tactical-bottom-dock {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9990 !important;
    padding: 0 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    pointer-events: none !important;
  }

  .dock-actions {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.95) !important;
    border-radius: 9999px !important;
    padding: 6px !important;
    box-shadow: 
      0 12px 32px rgba(15, 23, 42, 0.14),
      0 2px 8px rgba(15, 23, 42, 0.05),
      inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
    pointer-events: auto !important;
  }

  .dock-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 9px 4px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    min-height: 44px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .dock-btn-icon {
    width: 15px !important;
    height: 15px !important;
    flex-shrink: 0 !important;
  }

  .dock-cta-icon {
    stroke: #FFFFFF !important;
  }

  .dock-btn-home {
    background: rgba(241, 245, 249, 0.85) !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
    color: var(--sq-primary, #0F172A) !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
  }

  .dock-btn-home:active {
    background: #E2E8F0 !important;
    border-color: var(--sq-accent, #FF5E1E) !important;
    transform: scale(0.97);
  }

  .dock-btn-home.is-active {
    background: rgba(255, 255, 255, 0.88) !important;
    border-color: rgba(226, 232, 240, 0.9) !important;
    color: var(--sq-text-muted, #475569) !important;
    box-shadow: none !important;
  }

  .dock-btn-home.is-active .dock-btn-icon {
    stroke: var(--sq-text-muted, #475569) !important;
  }

  .dock-btn-menu,
  .dock-menu-title {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    color: var(--sq-primary, #0F172A) !important;
  }

  .dock-btn-menu {
    background: rgba(241, 245, 249, 0.85) !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
  }

  .dock-btn-menu:active {
    background: #E2E8F0 !important;
    border-color: var(--sq-accent, #FF5E1E) !important;
    transform: scale(0.97);
  }

  .dock-btn-menu.is-active {
    background: #E2E8F0 !important;
    border-color: var(--sq-accent, #FF5E1E) !important;
    transform: none !important;
  }

  .dock-btn-cta,
  .dock-btn-label {
    font-family: 'Outfit', 'Noto Sans JP', sans-serif !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #FFFFFF !important;
  }

  .dock-btn-cta {
    background: linear-gradient(135deg, #FF7A3D 0%, #FF5E1E 100%) !important;
    border: none !important;
    box-shadow: 0 4px 18px rgba(255, 94, 30, 0.4) !important;
    padding: 9px 4px !important;
  }

  .dock-btn-cta:active {
    transform: scale(0.97);
    filter: brightness(1.06);
  }


  /* ========================================================
     11. グラスモーフィズム ボトムシート (HUD Bottom Sheet)
     ======================================================== */
  .hud-backdrop {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: rgba(15, 23, 42, 0.28) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 9995 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }

  .hud-backdrop.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .hud-sheet {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    max-height: 84vh !important;
    max-height: 84dvh !important;
    background: rgba(255, 255, 255, 0.78) !important;
    backdrop-filter: blur(28px) saturate(190%) !important;
    -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
    border-radius: 32px 32px 0 0 !important;
    border-top: 1.5px solid rgba(255, 255, 255, 0.95) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.6) !important;
    box-shadow: 
      0 -20px 48px rgba(15, 23, 42, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
    z-index: 9999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(105%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease !important;
    overflow: hidden !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
  }

  /* 自前TOPへ戻るボタン：HUDシート（9999）より下のレイヤー（9980）に配置 */
  .back-to-top {
    z-index: 9980 !important;
  }

  body.hud-open .back-to-top,
  body.hud-open #backToTop {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(20px) !important;
  }

  .hud-sheet.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .hud-sheet-grabber {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 12px 0 6px !important;
    cursor: pointer !important;
  }

  .hud-sheet-pill {
    width: 40px;
    height: 4px;
    border-radius: 9999px;
    background: #CBD5E1;
  }

  .hud-sheet-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 22px 14px !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5) !important;
  }

  .hud-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    color: var(--sq-primary) !important;
  }

  .hud-header-telemetry {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 3px 9px !important;
    border-radius: 9999px !important;
    background: rgba(241, 245, 249, 0.75) !important;
    border: 1px solid rgba(226, 232, 240, 0.85) !important;
  }

  .telemetry-beacon {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--sq-accent) !important;
    box-shadow: 0 0 6px rgba(255, 94, 30, 0.7) !important;
    animation: beaconPulse 2.4s ease-in-out infinite !important;
  }

  @keyframes beaconPulse {
    0%, 100% { opacity: 0.75; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.2); box-shadow: 0 0 10px rgba(255, 94, 30, 0.9); }
  }

  .telemetry-label {
    font-family: monospace, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: var(--sq-secondary) !important;
  }

  .hud-sheet-body {
    padding: 10px 18px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .hud-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .hud-list li {
    list-style: none !important;
  }

  .hud-list-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 13px 14px !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.6) !important;
    border-radius: 12px !important;
    transition: all 0.18s ease !important;
  }

  .hud-list li:last-child .hud-list-item {
    border-bottom: none !important;
  }

  .hud-list-item:active {
    background: rgba(255, 94, 30, 0.06) !important;
    transform: translateX(4px);
  }

  .hud-list-num {
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    color: var(--sq-accent) !important;
    font-family: monospace, sans-serif !important;
    min-width: 22px !important;
  }

  .hud-list-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    flex: 1 !important;
  }

  .hud-list-en {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    color: var(--sq-primary) !important;
  }

  .hud-list-jp {
    font-size: 11px !important;
    color: var(--sq-secondary) !important;
    line-height: 1.3 !important;
  }

  .hud-list-arrow {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #94A3B8 !important;
    transition: transform 0.2s, color 0.2s;
  }

  .hud-list-item:active .hud-list-arrow {
    color: var(--sq-accent) !important;
    transform: translateX(3px);
  }

  .hud-sheet-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 12px 14px 8px !important;
    border-top: 1px solid rgba(226, 232, 240, 0.6) !important;
    margin-top: 6px !important;
  }

  .hud-bottom-close-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: 48px !important;
    padding: 0 20px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1.5px solid rgba(203, 213, 225, 0.85) !important;
    border-radius: 9999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.06) !important;
  }

  .hud-bottom-close-btn:active {
    background: #FFFFFF !important;
    border-color: var(--sq-accent) !important;
    color: var(--sq-accent) !important;
    transform: scale(0.98) !important;
  }

  .hud-bottom-close-icon {
    font-size: 13px !important;
    font-weight: 800 !important;
    opacity: 0.75 !important;
  }

  .hud-bottom-close-text {
    letter-spacing: 0.04em !important;
  }

  .hud-footer-telemetry {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 6px 0 2px !important;
    opacity: 0.55 !important;
  }

  .hud-telemetry-cross {
    font-family: monospace, sans-serif !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    color: var(--sq-accent) !important;
  }

  .hud-telemetry-line {
    height: 1px !important;
    width: 24px !important;
    background: linear-gradient(90deg, transparent, rgba(203, 213, 225, 0.9), transparent) !important;
  }

  .hud-telemetry-text {
    font-family: monospace, sans-serif !important;
    font-size: 8.5px !important;
    color: var(--sq-secondary) !important;
  }
}

/* ========================================================
   SQUARES プロトタイプ完全一致：Cyber Terminal & Tactical List
   ======================================================== */

/* 1. レイアウト基盤（プロトタイプ 1240px 完全一致 × 透過グラス仕様） */
/* SWELL親テーマの不要な幅制約・paddingを解除 */
#content,
#content.l-content,
.l-content,
#content:has(.sq-archive-content),
.l-content:has(.sq-archive-content),
#content:has(.sq-single-content),
.l-content:has(.sq-single-content),
body.archive #content,
body.category #content,
body.blog #content,
body.home #content,
body.single #content {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.sq-archive-content {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 24px 20px 60px !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 992px) {
  .sq-archive-content {
    padding: 18px 16px 40px !important;
  }
}

/* パンくずリスト自体の余白調整 */
#breadcrumb,
.c-breadcrumb,
.l-breadcrumb,
.p-breadcrumb {
  margin-bottom: 0 !important;
  padding-bottom: 4px !important;
}

.sq-blog-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.sq-blog-layout {
  display: flex !important;
  flex-direction: row !important;
  gap: 36px !important;
  align-items: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sq-blog-main,
.l-main.sq-blog-main {
  flex: 1 1 0% !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.sq-blog-sidebar,
.l-sidebar.sq-blog-sidebar,
.w-sidebar.sq-blog-sidebar {
  width: 330px !important;
  min-width: 330px !important;
  max-width: 330px !important;
  flex-shrink: 0 !important;
  position: sticky !important;
  top: 96px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.sq-blog-layout > .l-main,
.sq-blog-layout > .l-sidebar {
  float: none !important;
}

/* SWELL親テーマ標準タイトルの重複を完全抑制 */
.c-pageTitle:not(#squaresArchiveTitle),
.l-topTitleBox,
.p-archiveHead,
.c-pageTitle__inner:not(#squaresArchiveTitle *),
.c-pageTitle.-border-bottom,
.c-pageTitle__title.-border-bottom {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* 2. Option 1: Cyber Terminal タイトルエリア */
.sq-title-style-1 {
  margin-bottom: 28px !important;
  position: relative !important;
  padding-bottom: 20px !important;
  border: none !important;
  background: transparent !important;
}

.sq-hud-telemetry {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--sq-font-en), monospace, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  color: #64748B !important;
  background: rgba(255, 255, 255, 0.55) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-left: 3px solid #FF5E1E !important;
  padding: 4px 14px !important;
  border-radius: 2px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
}

.sq-telemetry-beacon {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: #FF5E1E !important;
  box-shadow: 0 0 6px rgba(255, 94, 30, 0.8) !important;
  animation: sqTelemetryPulse 2s infinite ease-in-out !important;
}

@keyframes sqTelemetryPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.85); }
}

.sq-telemetry-code {
  color: #475569 !important;
}

.sq-telemetry-status {
  color: #FF5E1E !important;
  font-weight: 800 !important;
  padding-left: 8px !important;
  border-left: 1px solid rgba(226, 232, 240, 0.9) !important;
}

.sq-title-main-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
}

.sq-blog-title-en {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.sq-title-word {
  font-family: var(--sq-font-en), sans-serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: #0F172A !important;
  line-height: 1 !important;
}

.sq-title-slash {
  font-family: monospace, sans-serif !important;
  font-size: 24px !important;
  font-weight: 300 !important;
  color: #CBD5E1 !important;
}

.sq-title-subtext {
  font-family: var(--sq-font-en), 'Noto Sans JP', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: #64748B !important;
  text-transform: uppercase !important;
}

.sq-category-badge-tactical {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(15, 23, 42, 0.05) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  border-radius: 2px !important;
  padding: 4px 12px !important;
  position: relative !important;
}

.sq-badge-dot {
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #FF5E1E !important;
  box-shadow: 0 0 5px rgba(255, 94, 30, 0.8) !important;
}

.sq-badge-text {
  font-family: monospace, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: #334155 !important;
}

.sq-cyber-ruler {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}

.sq-ruler-accent {
  width: 36px !important;
  height: 3px !important;
  background: #FF5E1E !important;
  border-radius: 1px !important;
  box-shadow: 0 0 8px rgba(255, 94, 30, 0.4) !important;
}

.sq-ruler-line {
  flex: 1 !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(203, 213, 225, 0.9) 0%, rgba(203, 213, 225, 0.2) 100%) !important;
}

.sq-ruler-mark {
  font-family: monospace, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: #94A3B8 !important;
}

.sq-blog-subtitle {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
}

/* 3. フィード制御バー */
.sq-post-feed-wrap {
  width: 100% !important;
  margin: 0 !important;
}

.sq-feed-control-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 16px !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 4px !important;
  margin-bottom: 20px !important;
  font-family: monospace, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
}

.sq-filter-label {
  color: #94A3B8 !important;
  font-weight: 600 !important;
  margin-right: 6px !important;
}

.sq-filter-val {
  color: #0F172A !important;
  font-weight: 700 !important;
}

.sq-feed-sort-badge {
  color: #64748B !important;
  background: rgba(255, 255, 255, 0.7) !important;
  border: 1px solid rgba(203, 213, 225, 0.8) !important;
  padding: 2px 8px !important;
  border-radius: 2px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

/* 4. タクティカル・リスト & カード本体 */
.sq-tactical-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.sq-post-card {
  position: relative !important;
  background: rgba(255, 255, 255, 0.5) !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 4px 16px rgba(15, 23, 42, 0.02) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 四隅の精密コーナーブラケット */
.sq-card-corner {
  position: absolute !important;
  width: 7px !important;
  height: 7px !important;
  pointer-events: none !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
}

.sq-corner-tl {
  top: -1px !important;
  left: -1px !important;
  border-top: 2px solid #94A3B8 !important;
  border-left: 2px solid #94A3B8 !important;
}

.sq-corner-tr {
  top: -1px !important;
  right: -1px !important;
  border-top: 2px solid #94A3B8 !important;
  border-right: 2px solid #94A3B8 !important;
}

.sq-corner-bl {
  bottom: -1px !important;
  left: -1px !important;
  border-bottom: 2px solid #94A3B8 !important;
  border-left: 2px solid #94A3B8 !important;
}

.sq-corner-br {
  bottom: -1px !important;
  right: -1px !important;
  border-bottom: 2px solid #94A3B8 !important;
  border-right: 2px solid #94A3B8 !important;
}

.sq-post-card:hover {
  transform: translateX(4px) translateY(-2px) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(255, 94, 30, 0.45) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06), inset 0 1px 0 #FFFFFF, 0 0 16px rgba(255, 94, 30, 0.1) !important;
}

.sq-post-card:hover .sq-card-corner {
  border-color: #FF5E1E !important;
  width: 9px !important;
  height: 9px !important;
}

.sq-post-link {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  padding: 16px 20px !important;
  gap: 22px !important;
  text-decoration: none !important;
  color: inherit !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  background: transparent !important;
}

/* サムネイル（サイバーHUDフレーム） */
.sq-post-thumb {
  flex-shrink: 0 !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  height: 136px !important;
  margin: 0 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(135deg, #F8FAFC 0%, #EEF2F6 100%) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
}

.sq-thumb-figure {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  position: relative !important;
}

.sq-thumb-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease !important;
  filter: contrast(102%) brightness(98%) !important;
  z-index: 1 !important;
}

.sq-post-card:hover .sq-thumb-img {
  transform: scale(1.05) !important;
  filter: contrast(108%) brightness(102%) !important;
}

/* アイキャッチ未設定時のSci-Fiプレースホルダー */
.sq-thumb-placeholder {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, #F8FAFC 0%, #EEF2F6 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.sq-placeholder-grid {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: 
    linear-gradient(to right, rgba(255, 94, 30, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 94, 30, 0.12) 1px, transparent 1px);
  background-size: 16px 16px !important;
}

.sq-placeholder-reticle {
  position: absolute !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px dashed rgba(255, 94, 30, 0.35) !important;
  border-radius: 50% !important;
}

.sq-placeholder-logo {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}

.sq-ph-mark {
  font-family: var(--sq-font-en), sans-serif !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #FF5E1E !important;
  text-shadow: 0 0 10px rgba(255, 94, 30, 0.6) !important;
}

.sq-ph-text {
  font-family: monospace, sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  color: #94A3B8 !important;
}

/* サムネイルオーバーレイ & レティクル */
.sq-thumb-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0) 60%, rgba(15, 23, 42, 0.12) 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.sq-thumb-reticle-c {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 16px !important;
  height: 16px !important;
  pointer-events: none !important;
  opacity: 0.35 !important;
  transition: opacity 0.3s ease !important;
  z-index: 2 !important;
}

.sq-thumb-reticle-c::before, .sq-thumb-reticle-c::after {
  content: "" !important;
  position: absolute !important;
  background: #94A3B8 !important;
}
.sq-thumb-reticle-c::before {
  top: 7px; left: 0; width: 16px; height: 1px;
}
.sq-thumb-reticle-c::after {
  top: 0; left: 7px; width: 1px; height: 16px;
}

.sq-post-card:hover .sq-thumb-reticle-c {
  opacity: 0.8 !important;
}

.sq-cat-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  font-family: monospace, var(--sq-font-en), sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #FFFFFF !important;
  background: rgba(15, 23, 42, 0.85) !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  line-height: 1.2 !important;
  z-index: 3 !important;
}

.sq-thumb-index {
  position: absolute !important;
  bottom: 6px !important;
  right: 8px !important;
  font-family: monospace, sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  color: #F8FAFC !important;
  letter-spacing: 0.12em !important;
  z-index: 3 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

/* 記事本文エリア */
.sq-post-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-width: 0 !important;
  background: transparent !important;
}

.sq-post-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 6px !important;
}

.sq-meta-date-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: monospace, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  letter-spacing: 0.08em !important;
}

.sq-meta-dot {
  width: 5px !important;
  height: 5px !important;
  border-radius: 1px !important;
  background: #FF5E1E !important;
  box-shadow: 0 0 5px rgba(255, 94, 30, 0.8) !important;
}

.sq-tech-tag {
  font-family: monospace, var(--sq-font-en), sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #FF5E1E !important;
  background: rgba(255, 94, 30, 0.08) !important;
  border: 1px solid rgba(255, 94, 30, 0.25) !important;
  padding: 1.5px 7px !important;
  border-radius: 2px !important;
}

.sq-meta-status {
  font-family: monospace, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: #94A3B8 !important;
  letter-spacing: 0.12em !important;
  margin-left: auto !important;
}

.sq-post-title {
  font-family: var(--sq-font-en), 'Noto Sans JP', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.48 !important;
  letter-spacing: -0.015em !important;
  color: #0F172A !important;
  margin: 0 0 6px 0 !important;
  transition: color 0.2s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.sq-post-card:hover .sq-post-title {
  color: #FF5E1E !important;
}

.sq-post-desc {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #64748B !important;
  margin: 0 0 10px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.sq-post-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 8px !important;
  border-top: 1px dashed rgba(226, 232, 240, 0.9) !important;
  font-family: monospace, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
}

.sq-reading-time {
  color: #94A3B8 !important;
  font-weight: 600 !important;
}

.sq-post-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #64748B !important;
  font-weight: 800 !important;
  transition: color 0.2s ease !important;
}

.sq-action-arrow {
  display: inline-block !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sq-post-card:hover .sq-post-action {
  color: #FF5E1E !important;
}

.sq-post-card:hover .sq-action-arrow {
  transform: translateX(4px) !important;
}

/* 5. ページネーション */
.sq-pagination-wrap {
  margin-top: 40px !important;
  display: flex !important;
  justify-content: center !important;
}

.sq-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
}

.sq-pagination-item a,
.sq-pagination-item span,
.sq-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  border-radius: 2px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  color: #475569 !important;
  text-decoration: none !important;
  font-family: monospace, sans-serif !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  transition: all 0.2s ease !important;
}

.sq-pagination-item .current,
.sq-pagination .page-numbers.current {
  background: #FF5E1E !important;
  border-color: #FF5E1E !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(255, 94, 30, 0.35) !important;
}

.sq-pagination-item a:hover,
.sq-pagination .page-numbers:not(.current):hover {
  background: #FFFFFF !important;
  border-color: #FF5E1E !important;
  color: #FF5E1E !important;
  transform: translateY(-1px) !important;
}

/* 6. タクティカル・サイドバー */
.sq-sidebar-widget {
  background: rgba(255, 255, 255, 0.48) !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 4px !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  position: relative !important;
  transition: all 0.25s ease !important;
}

.sq-sidebar-widget:hover {
  background: rgba(255, 255, 255, 0.78) !important;
  border-color: rgba(255, 94, 30, 0.35) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05), inset 0 1px 0 #FFFFFF !important;
}

.sq-widget-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border: none !important;
  border-bottom: 1.5px solid #0F172A !important;
  position: relative !important;
}

.sq-widget-id {
  font-family: monospace, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #FF5E1E !important;
  background: rgba(255, 94, 30, 0.08) !important;
  padding: 1px 5px !important;
  border-radius: 2px !important;
}

.sq-widget-title,
.sq-widget-header .sq-widget-title,
.sq-widget-header .c-widget__title {
  font-family: monospace, var(--sq-font-en), sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  color: #0F172A !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  flex: 1 !important;
}

.sq-widget-title::before,
.sq-widget-title::after,
.c-widget__title::before,
.c-widget__title::after,
.sq-widget-header .sq-widget-title::before,
.sq-widget-header .sq-widget-title::after {
  display: none !important;
  content: none !important;
}

.sq-widget-reticle {
  font-family: monospace, sans-serif !important;
  font-size: 11px !important;
  color: #94A3B8 !important;
}

/* 検索ターミナル */
.sq-search-terminal {
  width: 100% !important;
}

.sq-search-form {
  width: 100% !important;
  margin: 0 !important;
}

.sq-search-input-wrap {
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border: 1px solid rgba(203, 213, 225, 0.85) !important;
  border-radius: 4px !important;
  padding: 2px 10px !important;
  transition: all 0.2s ease !important;
}

.sq-search-input-wrap:focus-within {
  background: rgba(255, 255, 255, 0.75) !important;
  border-color: #FF5E1E !important;
  box-shadow: 0 0 0 2px rgba(255, 94, 30, 0.15) !important;
}

.sq-search-prompt {
  font-family: monospace, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #FF5E1E !important;
  margin-right: 6px !important;
}

.sq-search-field {
  flex: 1 !important;
  min-width: 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: 13px !important;
  color: #0F172A !important;
  padding: 8px 4px !important;
  outline: none !important;
}

.sq-search-field::placeholder {
  color: #94A3B8 !important;
  font-size: 12.5px !important;
}

.sq-search-submit {
  background: transparent !important;
  border: none !important;
  color: #64748B !important;
  cursor: pointer !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.2s ease !important;
}

.sq-search-submit:hover {
  color: #FF5E1E !important;
}

.sq-search-shortcut {
  font-family: monospace, sans-serif !important;
  font-size: 9px !important;
  color: #94A3B8 !important;
  letter-spacing: 0.1em !important;
  margin-top: 8px !important;
  text-align: right !important;
}

/* 最近の投稿 */
.sq-recent-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.sq-recent-item {
  padding-bottom: 12px !important;
  border-bottom: 1px dashed rgba(226, 232, 240, 0.9) !important;
}

.sq-recent-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.sq-recent-link {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: all 0.2s ease !important;
}

.sq-recent-thumb {
  width: 58px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  background: #E2E8F0 !important;
}

.sq-recent-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.sq-recent-thumb-ph {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, rgba(241, 245, 249, 0.95) 0%, rgba(226, 232, 240, 0.85) 100%) !important;
  color: #64748B !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--sq-font-en, 'Outfit'), sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.05em !important;
  border: 1px dashed rgba(203, 213, 225, 0.8) !important;
  transition: all 0.25s ease !important;
}

.sq-recent-item:hover .sq-recent-thumb-ph {
  background: rgba(255, 94, 30, 0.08) !important;
  color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.4) !important;
}

.sq-recent-item:hover .sq-recent-thumb img {
  transform: scale(1.08) !important;
}

.sq-recent-content {
  flex: 1 !important;
  min-width: 0 !important;
}

.sq-recent-date {
  font-family: monospace, sans-serif !important;
  font-size: 10.5px !important;
  color: #94A3B8 !important;
  letter-spacing: 0.05em !important;
  display: block !important;
  margin-bottom: 3px !important;
}

.sq-recent-title {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #0F172A !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  transition: color 0.2s ease !important;
}

.sq-recent-item:hover .sq-recent-title {
  color: #FF5E1E !important;
}

/* カテゴリーマトリクス */
.sq-category-matrix {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.sq-category-item a {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 7px 10px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  border-left: 2px solid transparent !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  transition: all 0.2s ease !important;
}

.sq-category-item a:hover {
  background: rgba(255, 255, 255, 0.65) !important;
  border-left-color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.3) !important;
  color: #FF5E1E !important;
  transform: translateX(3px) !important;
}

.sq-cat-count {
  font-family: monospace, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(203, 213, 225, 0.8) !important;
  padding: 1px 6px !important;
  border-radius: 2px !important;
}

.sq-category-item a:hover .sq-cat-count {
  color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.4) !important;
}

/* サイドバーステータスカード */
.sq-sidebar-telemetry-card {
  padding: 14px 16px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  border: 1px dashed rgba(203, 213, 225, 0.9) !important;
  border-radius: 4px !important;
  font-family: monospace, sans-serif !important;
  font-size: 9px !important;
  color: #64748B !important;
  letter-spacing: 0.1em !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.sq-telemetry-badge {
  display: inline-block !important;
  color: #10B981 !important;
  font-weight: 800 !important;
  margin-bottom: 4px !important;
}

.sq-telemetry-text {
  font-weight: 700 !important;
  color: #334155 !important;
  margin-bottom: 2px !important;
}

.sq-telemetry-code {
  color: #94A3B8 !important;
}

/* 記事なし時 */
.sq-empty-feed {
  padding: 48px 24px !important;
  text-align: center !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px dashed rgba(203, 213, 225, 0.9) !important;
  border-radius: 4px !important;
}

.sq-empty-code {
  font-family: monospace, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #FF5E1E !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 12px !important;
}

.sq-empty-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin-bottom: 8px !important;
}

.sq-empty-desc {
  font-size: 13.5px !important;
  color: #64748B !important;
}

/* 7. レスポンシブ最適化 */
/* 7. レスポンシブ最適化（タブレット & スマートフォン完全対応） */
@media screen and (max-width: 1024px) {
  .sq-archive-content {
    padding: 16px 16px 50px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sq-blog-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  .sq-blog-layout {
    flex-direction: column !important;
    gap: 36px !important;
    width: 100% !important;
  }

  .sq-blog-main,
  .l-main.sq-blog-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .sq-blog-sidebar,
  .l-sidebar.sq-blog-sidebar,
  .w-sidebar.sq-blog-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    position: static !important;
    top: auto !important;
    margin-top: 10px !important;
  }

  .sq-category-matrix {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

@media screen and (max-width: 768px) {
  /* 画面全体の横揺れ・横スクロール完全遮断 */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  .sq-archive-content {
    padding: 12px 14px 44px !important;
    overflow-x: hidden !important;
  }

  /* 1. タイトルエリアのスマートフォン最適化 */
  .sq-title-style-1 {
    margin-bottom: 20px !important;
    padding-bottom: 14px !important;
  }

  .sq-hud-telemetry {
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    font-size: 9.5px !important;
    padding: 4px 10px !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
    letter-spacing: 0.1em !important;
  }

  .sq-telemetry-code {
    font-size: 9px !important;
    word-break: break-all !important;
  }

  .sq-telemetry-status {
    font-size: 9px !important;
    padding-left: 6px !important;
  }

  .sq-title-main-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .sq-blog-title-en {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 8px !important;
  }

  .sq-title-word {
    font-size: 26px !important;
    letter-spacing: 0.06em !important;
  }

  .sq-title-slash {
    font-size: 16px !important;
  }

  .sq-title-subtext {
    font-size: 11.5px !important;
    letter-spacing: 0.1em !important;
    word-break: break-word !important;
  }

  .sq-category-badge-tactical {
    padding: 3px 10px !important;
    font-size: 9.5px !important;
  }

  .sq-badge-text {
    font-size: 9.5px !important;
  }

  .sq-cyber-ruler {
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  .sq-ruler-accent {
    width: 24px !important;
  }

  .sq-ruler-mark {
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
  }

  /* 2. フィード制御バー */
  .sq-feed-control-bar {
    font-size: 9px !important;
    padding: 6px 10px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .sq-feed-sort-badge {
    font-size: 8.5px !important;
    padding: 2px 6px !important;
  }

  /* 3. 記事一覧カード（横並びコンパクトリスト × 窮屈さ完全解消） */
  .sq-tactical-list {
    gap: 12px !important;
  }

  .sq-post-card {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sq-post-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 12px 14px !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sq-post-thumb,
  .p-postList__thumb,
  .c-postThumb {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 72px !important;
    border-radius: 2px !important;
    flex-shrink: 0 !important;
  }

  /* スマホ版NO IMAGEプレースホルダーのミニマル・スケーリング（上下欠け防止） */
  .sq-thumb-brand-ph .sq-ph-content {
    gap: 3px !important;
  }

  .sq-thumb-brand-ph .sq-ph-logo-box {
    width: auto !important;
    height: auto !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
  .sq-thumb-brand-ph img.sq-ph-logo,
  img.sq-ph-logo {
    width: auto !important;
    height: 19px !important;
    max-width: 22px !important;
    max-height: 19px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .sq-thumb-brand-ph .sq-ph-fallback-s {
    font-size: 13px !important;
  }

  .sq-thumb-brand-ph .sq-ph-fallback-badge {
    width: 20px !important;
    height: 20px !important;
    font-size: 11px !important;
  }

  .sq-thumb-brand-ph .sq-ph-label {
    font-size: 6.8px !important;
    letter-spacing: 0.08em !important;
    margin-top: 1px !important;
  }

  .sq-cat-badge,
  .c-postThumb__cat {
    font-size: 7.5px !important;
    padding: 1px 4px !important;
    top: 4px !important;
    left: 4px !important;
    line-height: 1.1 !important;
  }

  .sq-thumb-index {
    font-size: 6.5px !important;
    bottom: 3px !important;
    right: 4px !important;
  }

  .sq-post-body {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .sq-post-meta {
    gap: 4px 8px !important;
    margin-bottom: 4px !important;
  }

  .sq-meta-date-wrap {
    font-size: 11px !important;
    gap: 4px !important;
  }

  .sq-tech-tag {
    font-size: 8.5px !important;
    padding: 1px 5px !important;
  }

  .sq-meta-status {
    display: none !important;
  }

  .sq-post-title {
    font-size: 14px !important;
    line-height: 1.42 !important;
    margin: 0 0 6px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    word-break: break-word !important;
  }

  .sq-post-desc {
    display: none !important;
  }

  .sq-post-footer {
    padding-top: 6px !important;
    font-size: 9.5px !important;
    margin-top: 2px !important;
  }

  .sq-reading-time {
    font-size: 9px !important;
  }

  .sq-action-label {
    font-size: 9.5px !important;
  }

  /* 4. ページネーション */
  .sq-pagination-wrap {
    margin-top: 28px !important;
  }

  .sq-pagination {
    gap: 4px !important;
    flex-wrap: wrap !important;
  }

  .sq-pagination-item a,
  .sq-pagination-item span,
  .sq-pagination .page-numbers {
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 6px !important;
    font-size: 11.5px !important;
  }

  /* 5. サイドバーウィジェットのスマートフォン表示 */
  .sq-sidebar-widget {
    padding: 16px 14px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sq-widget-header {
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
  }

  .sq-widget-title,
  .sq-widget-header .sq-widget-title,
  .sq-widget-header .c-widget__title {
    font-size: 11.5px !important;
  }

  .sq-search-input-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sq-search-field {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 13px !important;
    padding: 8px 36px 8px 24px !important;
  }

  .sq-recent-thumb {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }

  .sq-recent-title {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .sq-category-matrix {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }

  .sq-category-item a {
    padding: 7px 10px !important;
    font-size: 10.5px !important;
  }

  .sq-sidebar-telemetry-card {
    padding: 12px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media screen and (max-width: 480px) {
  .sq-archive-content {
    padding: 10px 10px 40px !important;
  }

  .sq-post-link {
    padding: 10px 10px !important;
    gap: 10px !important;
  }

  .sq-post-thumb {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 82px !important;
  }

  .sq-post-title {
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .sq-reading-time {
    display: none !important;
  }

  .sq-category-matrix {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================
   SWELL標準サイドバー・重複ウィジェットエリアの完全撲滅
   ======================================================== */
#sidebar:not(#squaresSidebar),
.l-sidebar:not(#squaresSidebar),
.w-sidebar:not(#squaresSidebar),
.l-content > .l-sidebar:not(.sq-blog-sidebar),
#content > .l-sidebar:not(.sq-blog-sidebar),
.sq-archive-content ~ .l-sidebar,
.sq-archive-content ~ #sidebar,
.sq-archive-content ~ .w-sidebar,
.p-footerWidgets,
.l-footerWidgets,
.w-bottomSidebar {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  z-index: -99999 !important;
}

/* sq-blog-sidebar 以外の場所に漏れ出たWordPress標準ウィジェットを完全非表示 */
.sq-archive-content ~ * .c-widget,
.sq-archive-content ~ * .widget,
.sq-archive-content ~ * .widget_search,
.sq-archive-content ~ * .widget_recent_entries,
.sq-archive-content ~ * .widget_recent_comments,
.sq-archive-content ~ * .widget_archive,
.sq-archive-content ~ * .widget_categories,
.sq-archive-content ~ * .widget_block {
  display: none !important;
}

/* 会社概要：所在地画像（クローラー対策・スパム防止の高解像度画像表示） */
.company-address-img {
  height: 13.5px !important;
  width: auto !important;
  max-width: calc(100% - 60px) !important;
  vertical-align: -1.5px !important;
  display: inline-block !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* ========================================================
   PC表示時リセット（> 992px）：ドロワー用UI非表示・右カラム通常表示
   ======================================================== */
@media (min-width: 993px) {
  .sq-drawer-header,
  .sq-drawer-bottom-bar,
  .sq-sidebar-edge-tab,
  .sq-drawer-backdrop {
    display: none !important;
  }
  .sq-drawer-scroll-body {
    display: contents !important;
  }
}

/* ========================================================
   モバイル専用：右カラム引き出しドロワー & エッジタブ（<= 992px）
   ======================================================== */
@media (max-width: 992px) {
  .sq-blog-sidebar,
  .l-sidebar.sq-blog-sidebar,
  .w-sidebar.sq-blog-sidebar {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(88vw, 360px) !important;
    height: 100% !important;
    height: 100vh !important;
    max-height: none !important;
    max-width: 88vw !important;
    z-index: 99998 !important;
    background: #FFFFFF !important;
    backdrop-filter: blur(28px) saturate(190%) !important;
    -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
    border-left: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: -10px 0 40px rgba(15, 23, 42, 0.25) !important;
    transform: translateX(105%) !important;
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .sq-blog-sidebar.is-drawer-open,
  .l-sidebar.sq-blog-sidebar.is-drawer-open,
  .w-sidebar.sq-blog-sidebar.is-drawer-open {
    transform: translateX(0) !important;
  }

  /* ドロワー展開時：ボトムドックを下へ退避（最下部固定閉じるボタンが100%露出し親指で快適操作） */
  body.sidebar-drawer-open {
    overflow: hidden !important;
    touch-action: none !important;
    overscroll-behavior: none !important;
  }

  body.sidebar-drawer-open .tactical-bottom-dock,
  body.sidebar-drawer-open #bottomDock {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(100%) !important;
    transition: transform 0.25s ease, opacity 0.2s ease, visibility 0.2s ease !important;
  }

  /* ドロワー展開時：ヘッダーロゴがドロワーの上に透けて被らないよう非表示化 */
  body.sidebar-drawer-open .header,
  body.sidebar-drawer-open #header,
  body.sidebar-drawer-open .squares-unified-header {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
  }

  .sq-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: calc(14px + env(safe-area-inset-top, 0px)) 18px 14px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95) !important;
    flex-shrink: 0 !important;
    z-index: 10 !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.03) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .sq-drawer-close-btn {
    display: none !important;
  }

  .sq-drawer-close-btn:active {
    display: none !important;
  }

  .sq-drawer-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .sq-drawer-beacon {
    width: 8px !important;
    height: 8px !important;
    background: #FF5E1E !important;
    border-radius: 50% !important;
    box-shadow: 0 0 10px rgba(255, 94, 30, 0.9) !important;
    animation: beaconPulse 2s infinite !important;
  }

  .sq-drawer-titles {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.2 !important;
  }

  .sq-drawer-title-en {
    font-family: monospace, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #FF5E1E !important;
    letter-spacing: 0.1em !important;
  }

  .sq-drawer-title-jp {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
  }

  .sq-drawer-scroll-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 16px 16px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .sq-drawer-bottom-bar {
    position: relative !important;
    flex-shrink: 0 !important;
    z-index: 20 !important;
    padding: 10px 16px max(54px, calc(env(safe-area-inset-bottom, 20px) + 36px)) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-top: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .sq-drawer-bottom-close-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 48px !important;
    background: #0F172A !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 9999px !important;
    color: #FFFFFF !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.28) !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, background 0.2s ease !important;
  }

  .sq-drawer-bottom-close-btn:active {
    transform: scale(0.98) !important;
    background: #FF5E1E !important;
  }

  .sq-bottom-close-icon {
    stroke: #FF5E1E !important;
    transition: stroke 0.2s ease !important;
  }

  .sq-drawer-bottom-close-btn:active .sq-bottom-close-icon {
    stroke: #FFFFFF !important;
  }

  .sq-bottom-close-hint {
    font-size: 10.5px !important;
    color: #94A3B8 !important;
    font-weight: 500 !important;
  }

  .sq-drawer-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: rgba(15, 23, 42, 0.45) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 99995 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }

  .sq-drawer-backdrop.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .sq-sidebar-edge-tab {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: fixed !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9985 !important;
    width: 22px !important;
    height: 60px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(14px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
    border: 1.5px solid rgba(203, 213, 225, 0.95) !important;
    border-right: none !important;
    border-radius: 12px 0 0 12px !important;
    padding: 0 !important;
    box-shadow: -2px 4px 14px rgba(15, 23, 42, 0.08) !important;
    cursor: pointer !important;
    transition: transform 0.25s ease, opacity 0.25s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
    opacity: 0.85 !important;
    touch-action: manipulation !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .sq-sidebar-edge-tab:hover,
  .sq-sidebar-edge-tab:focus {
    opacity: 1 !important;
    background: #FFFFFF !important;
    border-color: #FF5E1E !important;
    box-shadow: -3px 6px 18px rgba(255, 94, 30, 0.16) !important;
  }

  .sq-sidebar-edge-tab:hover .sq-edge-tab-arrow {
    stroke: #FF5E1E !important;
  }

  .sq-sidebar-edge-tab:hover .sq-edge-tab-vert {
    color: #FF5E1E !important;
  }

  .sq-sidebar-edge-tab:active {
    transform: translateY(-50%) translateX(-2px) scale(0.96) !important;
    opacity: 1 !important;
  }

  body.sidebar-drawer-open .sq-sidebar-edge-tab {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-50%) translateX(100%) !important;
    transition: transform 0.25s ease, opacity 0.2s ease !important;
  }

  .sq-sidebar-edge-tab.peek-anim {
    animation: edgeTabPeek 3s ease 1s 2;
  }

  .sq-edge-tab-pulse {
    position: absolute !important;
    left: -3px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #FF5E1E !important;
    box-shadow: 0 0 6px rgba(255, 94, 30, 0.9) !important;
    animation: beaconPulse 2s infinite !important;
  }

  .sq-edge-tab-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 100% !important;
  }

  .sq-edge-tab-arrow {
    width: 10px !important;
    height: 10px !important;
    stroke: #334155 !important;
    animation: arrowNudge 1.6s infinite ease-in-out !important;
    transition: stroke 0.2s ease !important;
  }

  .sq-edge-tab-vert {
    writing-mode: vertical-rl !important;
    font-family: monospace, sans-serif !important;
    font-size: 7.5px !important;
    font-weight: 800 !important;
    color: #475569 !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
  }
}

@keyframes edgeTabPeek {
  0%, 80%, 100% { transform: translateY(-50%) translateX(0); }
  85% { transform: translateY(-50%) translateX(-6px); }
  92% { transform: translateY(-50%) translateX(-1px); }
}

@keyframes arrowNudge {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(-3px); }
}


/* ========================================================
   個別記事（Single Post）Tactical & Cyber Lead Container
   ======================================================== */
.sq-single-content {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding-top: 22px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 992px) {
  .sq-single-content {
    padding-top: 18px !important;
  }
}

.sq-single-card {
  position: relative;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 8px !important;
  padding: 40px 48px 48px !important;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  margin-bottom: 32px !important;
}

@media (max-width: 768px) {
  .sq-single-card {
    padding: 24px 18px 32px !important;
    border-radius: 6px !important;
  }
}

/* 記事ヘッダー */
.sq-single-header {
  margin-bottom: 28px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85) !important;
}

.sq-single-telemetry {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.sq-single-beacon {
  width: 7px;
  height: 7px;
  background: #FF5E1E;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(255, 94, 30, 0.8);
  animation: beaconPulse 2s infinite;
}

.sq-single-code {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 800;
  color: #FF5E1E;
  letter-spacing: 0.12em;
}

.sq-single-cat {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 800;
  color: #0F172A;
  background: rgba(241, 245, 249, 0.9);
  border: 1px solid rgba(203, 213, 225, 0.8);
  border-radius: 4px;
  padding: 2px 8px;
  letter-spacing: 0.06em;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sq-single-cat:hover {
  background: rgba(255, 94, 30, 0.1);
  border-color: rgba(255, 94, 30, 0.4);
  color: #FF5E1E;
}

.sq-single-readtime {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 600;
  color: #64748B;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* タイトル見出し */
.sq-single-title {
  font-family: 'Outfit', 'Noto Sans JP', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.42;
  letter-spacing: -0.01em;
  margin: 0 0 16px 0;
}

@media (max-width: 768px) {
  .sq-single-title {
    font-size: 21px;
    line-height: 1.45;
  }
}

/* 日付・ステータスバー */
.sq-single-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  color: #64748B;
}

.sq-single-dates {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.sq-date-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.sq-date-label {
  font-weight: 700;
  color: #94A3B8;
  font-size: 10.5px;
}

.sq-date-val {
  color: #334155;
  font-weight: 700;
}

.sq-single-status-badge {
  font-size: 10.5px;
  font-weight: 800;
  color: #10B981;
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 4px;
  padding: 2px 8px;
  letter-spacing: 0.08em;
}

/* アイキャッチ画像 */
.sq-single-featured-wrap {
  position: relative;
  margin-bottom: 32px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

.sq-single-featured-img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
}

.sq-single-featured-tag {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(15, 23, 42, 0.78);
  backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-family: var(--font-mono, monospace);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* 記事本文タイポグラフィ & スタイル */
.sq-single-body {
  color: #1E293B;
  font-size: 16px;
  line-height: 1.95;
  letter-spacing: 0.02em;
}

.sq-single-body p {
  margin: 0 0 1.75em 0;
}

.sq-single-lead {
  font-size: 16.5px;
  line-height: 1.85;
  font-weight: 600;
  color: #0F172A;
  background: rgba(248, 250, 252, 0.9);
  border-left: 4px solid #FF5E1E;
  padding: 18px 22px;
  border-radius: 0 8px 8px 0;
  margin-bottom: 2em;
}

@media (max-width: 768px) {
  .sq-single-lead {
    font-size: 15px;
    padding: 14px 16px;
  }
}

.sq-single-body h2 {
  font-size: 21px;
  font-weight: 800;
  color: #0F172A;
  margin: 2.2em 0 1em 0;
  position: relative;
  letter-spacing: -0.01em;
  line-height: 1.5;
}

.sq-single-body h3 {
  font-size: 17.5px;
  font-weight: 700;
  color: #0F172A;
  margin: 1.8em 0 0.8em 0;
  letter-spacing: -0.01em;
  line-height: 1.5;
}

.sq-single-body h3::before {
  content: none !important;
  display: none !important;
}

.sq-single-body h4 {
  font-size: 15.5px;
  font-weight: 700;
  color: #334155;
  margin: 1.5em 0 0.6em 0;
  border-left: 3px solid #CBD5E1;
  padding-left: 8px;
}

.sq-single-body ul, .sq-single-body ol {
  margin: 0 0 1.75em 0;
  padding-left: 24px;
}

.sq-single-body li {
  margin-bottom: 0.5em;
  line-height: 1.8;
}

/* SWELL標準および引用ブロックの視認性改善（イタリック解除・二重線防止・余白確保） */
.sq-single-body blockquote,
.sq-single-body .wp-block-quote {
  margin: 2em 0 !important;
  padding: 20px 24px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 4px solid #CBD5E1 !important;
  border-radius: 4px !important;
  color: #334155 !important;
  font-style: normal !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.sq-single-body blockquote::before,
.sq-single-body blockquote::after,
.sq-single-body .wp-block-quote::before,
.sq-single-body .wp-block-quote::after {
  content: none !important;
  display: none !important;
}

.sq-single-body blockquote p,
.sq-single-body .wp-block-quote p {
  font-style: normal !important;
  line-height: 1.85 !important;
  color: #334155 !important;
  margin: 0 0 1em 0 !important;
  padding: 0 !important;
}

.sq-single-body blockquote p:last-child,
.sq-single-body .wp-block-quote p:last-child {
  margin-bottom: 0 !important;
}

.sq-single-body blockquote cite,
.sq-single-body .wp-block-quote cite {
  display: block !important;
  font-style: normal !important;
  font-size: 13px !important;
  color: #64748B !important;
  margin-top: 12px !important;
  text-align: right !important;
}

.sq-single-body img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  border: 1px solid rgba(226, 232, 240, 0.9);
}

/* SWELL標準 目次ブロック（.p-toc / .swell-block-toc）のSci-Fiスタイリング */
.sq-single-body .p-toc,
.sq-single-body .swell-block-toc {
  background: rgba(248, 250, 252, 0.95) !important;
  border: 1px solid rgba(203, 213, 225, 0.8) !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  margin: 2em 0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.02) !important;
}

.sq-single-body .p-toc__ttl,
.sq-single-body .swell-block-toc__title {
  font-family: var(--font-mono, monospace) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  letter-spacing: 0.08em !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px dashed #CBD5E1 !important;
  padding-bottom: 8px !important;
}

.sq-single-body .p-toc__ttl::before,
.sq-single-body .swell-block-toc__title::before {
  content: "INDEX // 目次" !important;
}

.sq-single-body .p-toc__list a,
.sq-single-body .swell-block-toc__list a {
  color: #334155 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.sq-single-body .p-toc__list a:hover,
.sq-single-body .swell-block-toc__list a:hover {
  color: #FF5E1E !important;
}

/* タクティカル・コールアウト枠（要点まとめ・知見ボックス） */
.sq-callout-box {
  background: rgba(255, 94, 30, 0.04);
  border: 1px solid rgba(255, 94, 30, 0.25);
  border-radius: 8px;
  padding: 20px 22px;
  margin: 2em 0;
  position: relative;
}

.sq-callout-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono, monospace);
  font-size: 11.5px;
  font-weight: 800;
  color: #FF5E1E;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.sq-callout-desc {
  font-size: 14.5px;
  line-height: 1.8;
  color: #334155;
  margin: 0;
}

/* コードターミナル枠 */
.sq-code-terminal {
  background: #0F172A;
  border-radius: 8px;
  overflow: hidden;
  margin: 2em 0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.2);
}

.sq-code-terminal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: rgba(30, 41, 59, 0.7);
  border-bottom: 1px solid rgba(51, 65, 85, 0.6);
}

.sq-terminal-dots {
  display: flex;
  gap: 6px;
}

.sq-terminal-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.sq-terminal-dot.red { background: #EF4444; }
.sq-terminal-dot.yellow { background: #F59E0B; }
.sq-terminal-dot.green { background: #10B981; }

.sq-terminal-file {
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  color: #94A3B8;
  letter-spacing: 0.08em;
}

.sq-code-terminal pre {
  margin: 0;
  padding: 18px 20px;
  color: #E2E8F0;
  font-family: var(--font-mono, monospace);
  font-size: 13.5px;
  line-height: 1.65;
  overflow-x: auto;
}

/* 記事タグチップ一覧 */
.sq-single-tags-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px dashed rgba(203, 213, 225, 0.9);
}

.sq-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono, monospace);
  font-size: 11.5px;
  font-weight: 600;
  color: #475569;
  background: rgba(241, 245, 249, 0.85);
  border: 1px solid rgba(203, 213, 225, 0.8);
  border-radius: 9999px;
  padding: 5px 12px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sq-tag-chip:hover {
  background: rgba(255, 94, 30, 0.1);
  border-color: rgba(255, 94, 30, 0.4);
  color: #FF5E1E;
}

/* 前後の記事ナビゲーション（PREV / NEXT INTEL） */
.sq-post-nav-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 32px;
}

@media (max-width: 640px) {
  .sq-post-nav-grid {
    grid-template-columns: 1fr;
  }
  .sq-post-nav-card {
    text-align: left !important;
  }
  .sq-post-nav-card .sq-post-nav-label {
    justify-content: flex-start !important;
  }
}

.sq-post-nav-card {
  display: flex;
  flex-direction: column;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.sq-post-nav-card:hover {
  transform: translateY(-2px);
  background: #FFFFFF;
  border-color: rgba(255, 94, 30, 0.4);
  box-shadow: 0 8px 24px rgba(255, 94, 30, 0.08);
}

.sq-post-nav-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 800;
  color: #FF5E1E;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

.sq-post-nav-title {
  font-size: 13.5px;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.sq-post-nav-card:hover .sq-post-nav-title {
  color: #FF5E1E;
}

/* 著者情報カード（CONTRIBUTOR PROFILE） */
.sq-author-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 28px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03);
  margin-bottom: 32px;
}

@media (max-width: 640px) {
  .sq-author-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 18px;
  }
}

.sq-author-avatar-wrap {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #FF5E1E;
  box-shadow: 0 0 12px rgba(255, 94, 30, 0.2);
  flex-shrink: 0;
  background: #0F172A;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sq-author-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sq-author-info {
  flex: 1;
}

.sq-author-badge {
  font-family: var(--font-mono, monospace);
  font-size: 10.5px;
  font-weight: 800;
  color: #FF5E1E;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}

.sq-author-name {
  font-size: 16px;
  font-weight: 800;
  color: #0F172A;
  margin-bottom: 4px;
}

.sq-author-role {
  font-family: var(--font-mono, monospace);
  font-size: 11.5px;
  font-weight: 600;
  color: #64748B;
  margin-bottom: 10px;
}

.sq-author-bio {
  font-size: 13.5px;
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

/* 関連記事セクション */
.sq-related-section {
  margin-bottom: 40px;
}

.sq-related-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.sq-related-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono, monospace);
  font-size: 13px;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: 0.08em;
  margin: 0;
}

/* SWELL標準の個別記事パーツの徹底非表示（二重露出防止） */
body.single .p-articleFoot,
body.single .c-shareBtns,
body.single .p-prevNextNav,
body.single .p-authorBox,
body.single .p-relatedPosts {
  display: none !important;
}


/* ========================================================
   SWELL標準パンくずの完全非表示（最上部への二重露出の徹底防止）
   ======================================================== */
#breadcrumb,
.c-breadcrumb,
.p-breadcrumb,
.l-breadcrumb,
.w-breadcrumb,
.p-breadcrumbList,
.c-breadcrumbList,
body #breadcrumb,
body .c-breadcrumb,
body.single #breadcrumb,
body.single .c-breadcrumb,
body.single .p-breadcrumb {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ========================================================
   SQUARES独自 Sci-Fi パンくずリスト（タイポグラフィ & カラー統一）
   青文字・下線を徹底排除し、クールグレー＆ホバー時オレンジへ統一
   ======================================================== */
.sq-breadcrumb-bar {
  margin-bottom: 24px !important;
  font-family: var(--font-mono, monospace) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748B !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  letter-spacing: 0.05em !important;
  line-height: 1.5 !important;
}

.sq-breadcrumb-link,
a.sq-breadcrumb-link,
.sq-breadcrumb-bar a {
  color: #64748B !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  border-bottom: none !important;
}

.sq-breadcrumb-link:hover,
a.sq-breadcrumb-link:hover,
.sq-breadcrumb-bar a:hover {
  color: #FF5E1E !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

.sq-breadcrumb-sep {
  color: #94A3B8 !important;
  font-size: 11px !important;
  user-select: none !important;
  opacity: 0.8 !important;
}

.sq-breadcrumb-current {
  color: #0F172A !important;
  font-weight: 700 !important;
  max-width: 480px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 768px) {
  .sq-breadcrumb-bar {
    font-size: 11px !important;
    margin-bottom: 16px !important;
    gap: 6px !important;
  }
  .sq-breadcrumb-current {
    max-width: 220px !important;
  }
}


/* ========================================================
   SWELL子テーマのデフォルト青リンク色上書き徹底防止
   ======================================================== */
.sq-single-card a.sq-single-cat,
.sq-single-cat {
  color: #0F172A !important;
  text-decoration: none !important;
}
.sq-single-card a.sq-single-cat:hover,
.sq-single-cat:hover {
  color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.4) !important;
}

.sq-single-tags-wrap a.sq-tag-chip,
.sq-tag-chip {
  color: #475569 !important;
  text-decoration: none !important;
}
.sq-single-tags-wrap a.sq-tag-chip:hover,
.sq-tag-chip:hover {
  color: #FF5E1E !important;
  border-color: rgba(255, 94, 30, 0.4) !important;
}


/* ========================================================
   背景グリッド二重化防止ガード（2つ目以降の出力を完全無効化）
   ======================================================== */
.bg-iso-grid ~ .bg-iso-grid,
.bg-iso-grid + .bg-iso-grid {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ========================================================
   SQUARES ブランド・サムネイルプレースホルダー（アイキャッチ未設定時）
   白・ライトグレー基調の清潔感あるタクティカル・テックデザイン
   ======================================================== */
.sq-thumb-brand-ph {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #F8FAFC !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.12) 1px, transparent 1px) !important;
  background-size: 16px 16px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  z-index: 0 !important;
}

.sq-ph-grid-bg {
  position: absolute !important;
  inset: 0 !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.12) 1px, transparent 1px) !important;
  background-size: 16px 16px !important;
  pointer-events: none !important;
}

.sq-ph-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  z-index: 2 !important;
  gap: 6px !important;
  width: auto !important;
  height: auto !important;
}

/* ロゴアイコン用ラッパー（SWELLの figure img に巻き込まれない独立領域） */
.sq-ph-logo-box {
  width: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  margin-bottom: 2px !important;
  overflow: visible !important;
}

/* SWELLテーマの figure img / .c-postThumb__figure img (position:absolute; width:100%; height:100%) の完全無力化 */
.sq-thumb-figure .sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
.c-postThumb__figure .sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
.c-postThumb .sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
.p-postList__thumb .sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
.sq-thumb-brand-ph .sq-ph-logo-box img.sq-ph-logo,
.sq-thumb-brand-ph img.sq-ph-logo,
img.sq-ph-logo {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  height: 32px !important;
  max-width: 36px !important;
  max-height: 32px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  opacity: 0.85 !important;
  filter: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.08)) !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
  transform: none !important;
  z-index: 2 !important;
}

.sq-post-card:hover .sq-ph-logo,
.p-postList__item:hover .sq-ph-logo {
  transform: scale(1.08) !important;
  opacity: 1 !important;
}

.sq-ph-fallback-s {
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #64748B !important;
  line-height: 1 !important;
  display: none;
}

.sq-ph-label {
  font-family: var(--sq-font-mono, monospace), monospace, sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: #64748B !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
  white-space: nowrap !important;
  margin-top: 2px !important;
}

/* プレースホルダー表示時は余計な十字線レティクルを非表示 */
.sq-thumb-brand-ph ~ .sq-thumb-reticle-c,
.sq-thumb-brand-ph + .sq-thumb-reticle-c {
  display: none !important;
}

/* フォールバック用バッジ（画像非同期エラー時のみ表示・デフォルトは非表示） */
.sq-ph-fallback-badge {
  display: none;
  width: 34px !important;
  height: 34px !important;
  border-radius: 4px !important;
  background: #E2E8F0 !important;
  color: #334155 !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 2px !important;
}

.sq-ph-fallback-badge.is-visible {
  display: flex !important;
}

/* ========================================================
   カードホバー時のサムネイル・タクティカルオレンジ反応
   SWELL親テーマの青色透過・疑似要素オーバーレイの完全消滅
   ======================================================== */
/* SWELL親テーマの青色ホバーオーバーレイ・疑似要素の完全遮断 */
.c-postThumb::before,
.p-postList__thumb::before,
.c-postThumb__figure::before,
.c-postThumb__figure::after,
.p-postList__item:hover .c-postThumb::before,
.p-postList__item:hover .p-postList__thumb::before,
.p-postList__item:hover .c-postThumb__figure::before,
.p-postList__item:hover .c-postThumb__figure::after,
.sq-post-card:hover .c-postThumb::before,
.sq-post-card:hover .sq-post-thumb::before,
.sq-post-card:hover .c-postThumb__figure::before,
.sq-post-card:hover .c-postThumb__figure::after,
.sq-post-card:hover .sq-thumb-figure::before,
.sq-post-card:hover .sq-thumb-figure::after,
.p-postList__link:hover .c-postThumb::before,
.p-postList__link:hover .c-postThumb__figure::before,
.p-postList__link:hover .c-postThumb__figure::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* プレースホルダー表示時は余計な十字線レティクルも非表示 */
.c-postThumb:has(.sq-thumb-brand-ph)::after,
.sq-post-thumb:has(.sq-thumb-brand-ph)::after,
.sq-thumb-figure:has(.sq-thumb-brand-ph)::after {
  display: none !important;
}

/* ホバー時のカードサムネイル枠線：鮮やかなオレンジネオングロー */
.p-postList__item:hover .c-postThumb,
.p-postList__item:hover .p-postList__thumb,
.sq-post-card:hover .sq-post-thumb {
  background: #FFF9F5 !important;
  border-color: rgba(255, 94, 30, 0.55) !important;
  box-shadow: 0 0 16px rgba(255, 94, 30, 0.16) !important;
}

/* ホバー時に青色を透過させるSWELLの不透明度低下を完全排除 */
.p-postList__item:hover .c-postThumb__figure,
.p-postList__item:hover .p-postList__thumb,
.sq-post-card:hover .sq-thumb-figure,
.sq-post-card:hover .sq-post-thumb {
  opacity: 1 !important;
  background: transparent !important;
}

/* プレースホルダーのホバー反応：上品な極薄オレンジ・サイバーグリッド励起 */
.p-postList__item:hover .sq-thumb-brand-ph,
.sq-post-card:hover .sq-thumb-brand-ph {
  background-color: #FFF9F5 !important;
  background-image: 
    linear-gradient(to right, rgba(255, 94, 30, 0.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 94, 30, 0.14) 1px, transparent 1px) !important;
  transition: background-color 0.3s ease, background-image 0.3s ease !important;
}

.p-postList__item:hover .sq-ph-grid-bg,
.sq-post-card:hover .sq-ph-grid-bg {
  background-image: 
    linear-gradient(to right, rgba(255, 94, 30, 0.14) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 94, 30, 0.14) 1px, transparent 1px) !important;
  transition: background-image 0.3s ease !important;
}

.p-postList__item:hover .sq-ph-label,
.sq-post-card:hover .sq-ph-label {
  color: #FF5E1E !important;
  transition: color 0.3s ease !important;
}

/* 通常画像サムネイルのホバー時オレンジヴェール */
.p-postList__item:hover .sq-thumb-overlay,
.sq-post-card:hover .sq-thumb-overlay {
  background: linear-gradient(180deg, rgba(255, 94, 30, 0.04) 0%, rgba(255, 94, 30, 0.16) 100%) !important;
}


/* ========================================================
   タクティカル・タグマトリクス（TAG MATRIX）ウィジェット
   ======================================================== */
.sq-tag-cloud {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 4px 0 !important;
}

.sq-tag-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 11px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  font-family: var(--sq-font-mono, monospace), monospace, sans-serif !important;
  font-size: 11.5px !important;
  color: #334155 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.sq-tag-chip:hover {
  background: rgba(255, 94, 30, 0.08) !important;
  border-color: #FF5E1E !important;
  color: #FF5E1E !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(255, 94, 30, 0.15) !important;
}

.sq-tag-hash {
  color: #FF5E1E !important;
  font-weight: 800 !important;
  font-size: 11.5px !important;
}

.sq-tag-name {
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
}

.sq-tag-count {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: #64748B !important;
  background: rgba(226, 232, 240, 0.8) !important;
  padding: 1px 5px !important;
  border-radius: 2px !important;
  margin-left: 2px !important;
  transition: all 0.2s ease !important;
}

.sq-tag-chip:hover .sq-tag-count {
  background: rgba(255, 94, 30, 0.2) !important;
  color: #FF5E1E !important;
}

.sq-sidebar-empty {
  font-family: var(--sq-font-mono, monospace), monospace, sans-serif !important;
  font-size: 11px !important;
  color: #94A3B8 !important;
  padding: 8px 0 !important;
}


/* ========================================================
   SWELL × SQUARES Sci-Fi UI 記事装飾デザインシステム
   （見出し・ボックス・リスト・引用・マーカー・ボタン・目次・表）
   ======================================================== */

/* --------------------------------------------------------
   1. 見出し（Headings: H2, H3, H4）Sci-Fiバリエーション
   -------------------------------------------------------- */

/* 【H2 Option 1 / デフォルト】サイバー・ターミナル帯見出し (Cyber Terminal Band) */
/* 【H2 Option 1 / デフォルト】サイバー・ターミナル帯見出し (Cyber Terminal Band) */
.post_content h2,
.post_content > h2,
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.c-entry__content h2,
.c-entry__content > h2,
.c-entryContent h2,
.sq-single-body h2,
.sq-h2-cyber {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  letter-spacing: -0.01em !important;
  line-height: 1.45 !important;
  margin: 2.2em 0 1.2em 0 !important;
  padding: 14px 20px 14px 22px !important;
  position: relative !important;
  background: rgba(248, 250, 252, 0.95) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-right: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-left: 5px solid #FF5E1E !important;
  border-radius: 0 4px 4px 0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03) !important;
  display: block !important;
  overflow: hidden !important;
}

/* アイキャッチ直後の最初の見出しは上マージンを適正化 */
.sq-single-body > h2:first-of-type,
.sq-single-featured-wrap + .sq-single-body > h2:first-child,
.post_content > h2:first-of-type {
  margin-top: 1.4em !important;
}

/* H2背景の極薄サイバー方眼 */
.post_content h2::before,
  .post_content > h2::before,
  .c-entry__content h2::before,
  .c-entry__content > h2::before,
.c-entryContent h2::before,
.sq-single-body h2::before,
.sq-h2-cyber::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.1) 1px, transparent 1px) !important;
  background-size: 14px 14px !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* H2疑似要素の完全リセット（親テーマ装飾・疑似要素バッジの完全無効化） */
.post_content h2::after,
.post_content > h2::after,
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::after,
.c-entry__content h2::after,
.c-entry__content > h2::after,
.c-entryContent h2::after,
.sq-single-body h2::after,
.sq-h2-cyber::after {
  display: none !important;
  content: none !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* スマートフォン表示時のH2最適化 */
@media screen and (max-width: 768px) {
  .post_content h2,
  .post_content > h2,
  .post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
  .c-entry__content h2,
  .c-entry__content > h2,
  .sq-single-body h2 {
    font-size: 18px !important;
    padding: 12px 16px 12px 18px !important;
    display: block !important;
  }
}

/* 【H2 Option 2】タクティカルHUDボックス見出し (Tactical HUD Box) */
.sq-h2-hud {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 2.6em 0 1.2em 0 !important;
  padding: 18px 24px !important;
  position: relative !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.04), 0 0 12px rgba(255, 94, 30, 0.05) !important;
}

.sq-h2-hud .sq-h2-hud-tag {
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  color: #FF5E1E !important;
  letter-spacing: 0.16em !important;
  margin-bottom: 6px !important;
}

/* 【H2 Option 3】ネオンアンダーライン見出し (Neon Underline) */
.sq-h2-neon {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 2.4em 0 1.2em 0 !important;
  padding: 0 0 14px 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.sq-h2-neon::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background: linear-gradient(90deg, #FF5E1E 0%, rgba(255, 94, 30, 0.4) 60%, transparent 100%) !important;
}

.sq-h2-neon-beacon {
  width: 10px !important;
  height: 10px !important;
  background: #FF5E1E !important;
  transform: rotate(45deg) !important;
  box-shadow: 0 0 8px rgba(255, 94, 30, 0.8) !important;
  flex-shrink: 0 !important;
}

/* 【H3 Option 1 / デフォルト】二重オレンジバー＆サブテキスト (Dual Orange Bar) */
.post_content h3,
.c-entry__content h3,
.sq-single-body h3,
.sq-h3-dual {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 17.5px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  letter-spacing: -0.01em !important;
  line-height: 1.5 !important;
  margin: 2.2em 0 0.9em 0 !important;
  padding: 4px 0 8px 16px !important;
  position: relative !important;
  border-left: 3px solid #FF5E1E !important;
  border-bottom: 1px dashed rgba(203, 213, 225, 0.8) !important;
}

.post_content h3::before,
.c-entry__content h3::before,
.c-entryContent h3::before,
.sq-single-body h3::before,
.sq-h3-dual::before {
  content: "" !important;
  position: absolute !important;
  left: -7px !important;
  top: 6px !important;
  bottom: 10px !important;
  width: 1.5px !important;
  background: rgba(255, 94, 30, 0.45) !important;
  display: block !important;
}

/* 【H3 Option 2】ターミナル・プロンプト見出し (Terminal Prompt) */
.sq-h3-prompt {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 17.5px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin: 2.2em 0 0.9em 0 !important;
  padding: 6px 14px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.sq-h3-prompt-arrow {
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  color: #FF5E1E !important;
}

/* 【H4 Option 1 / デフォルト】ミニマル正方形ドット見出し */
.post_content h4,
.c-entry__content h4,
.sq-single-body h4,
.sq-h4-dot {
  font-family: var(--sq-font-base, 'Outfit', 'Noto Sans JP', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin: 1.8em 0 0.6em 0 !important;
  padding-left: 14px !important;
  position: relative !important;
  line-height: 1.5 !important;
  border-left: none !important;
}

.post_content h4::before,
.c-entry__content h4::before,
.c-entryContent h4::before,
.sq-single-body h4::before,
.sq-h4-dot::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 5px !important;
  width: 6px !important;
  height: 6px !important;
  background: #FF5E1E !important;
  box-shadow: 0 0 5px rgba(255, 94, 30, 0.5) !important;
}


/* --------------------------------------------------------
   2. SWELL標準ボックス装飾（Boxes / Callouts）Sci-Fi化
   -------------------------------------------------------- */

/* 共通ボックスベース */
.sq-box-base,
.cap-box,
.is-style-alert_box,
.is-style-info_box,
.is-style-check_box,
.is-style-memo_box,
.is-style-border_box {
  margin: 2em 0 !important;
  border-radius: 4px !important;
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* ① キャプションボックス (SWELL .cap-box) */
.cap-box,
.sq-box-cap {
  background: rgba(248, 250, 252, 0.95) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  padding: 0 !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03) !important;
}

.cap-box__ttl,
.sq-cap-ttl {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%) !important;
  color: #FFFFFF !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  padding: 8px 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 2px solid #FF5E1E !important;
}

.cap-box__content,
.sq-cap-body {
  padding: 18px 22px !important;
  color: #334155 !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
}

/* ② アラート / 注意・警告ボックス (SWELL .is-style-alert_box) */
.is-style-alert_box,
.sq-box-alert {
  background: #FFFBF5 !important;
  border: 1px solid rgba(245, 158, 11, 0.5) !important;
  border-left: 5px solid #F59E0B !important;
  padding: 18px 22px !important;
}

.is-style-alert_box::before,
.sq-box-alert::before {
  content: "⚠ CAUTION // 注意事項" !important;
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #D97706 !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 8px !important;
}

/* ③ インフォ / 補足データボックス (SWELL .is-style-info_box) */
.is-style-info_box,
.sq-box-info {
  background: #F0F9FF !important;
  border: 1px solid rgba(14, 165, 233, 0.4) !important;
  border-left: 5px solid #0EA5E9 !important;
  padding: 18px 22px !important;
}

.is-style-info_box::before,
.sq-box-info::before {
  content: "ℹ INTEL // システム前提データ" !important;
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #0284C7 !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 8px !important;
}

/* ④ チェック / 推奨・成功ボックス (SWELL .is-style-check_box) */
.is-style-check_box,
.sq-box-check {
  background: #F0FDF4 !important;
  border: 1px solid rgba(16, 185, 129, 0.4) !important;
  border-left: 5px solid #10B981 !important;
  padding: 18px 22px !important;
}

.is-style-check_box::before,
.sq-box-check::before {
  content: "✔ RECOMMENDED // 推奨ベストプラクティス" !important;
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #059669 !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 8px !important;
}

/* ⑤ メモ / 現場ノートボックス (SWELL .is-style-memo_box) */
.is-style-memo_box,
.sq-box-memo {
  background: #F8FAFC !important;
  border: 1px solid #CBD5E1 !important;
  border-left: 5px solid #64748B !important;
  padding: 18px 22px !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.08) 1px, transparent 1px) !important;
  background-size: 16px 16px !important;
}

.is-style-memo_box::before,
.sq-box-memo::before {
  content: "📝 TACTICAL NOTE // 現場メモ" !important;
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #475569 !important;
  letter-spacing: 0.12em !important;
  margin-bottom: 8px !important;
}

/* ⑥ 精密枠線ボックス (SWELL .is-style-border_box) */
.is-style-border_box,
.sq-box-border {
  background: #FFFFFF !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  padding: 22px 24px !important;
  position: relative !important;
}

.is-style-border_box::after,
.sq-box-border::after {
  content: "+" !important;
  position: absolute !important;
  bottom: 4px !important;
  right: 6px !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 12px !important;
  color: #FF5E1E !important;
  font-weight: 900 !important;
}


/* --------------------------------------------------------
   3. リスト（箇条書き）装飾 Sci-Fi化
   -------------------------------------------------------- */

/* ① チェックリスト (SWELL .is-style-check_list) */
.is-style-check_list,
.sq-list-check {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1.75em 0 !important;
}

.is-style-check_list li,
.sq-list-check li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 10px !important;
  line-height: 1.75 !important;
  color: #334155 !important;
}

.is-style-check_list li::before,
.sq-list-check li::before {
  content: "✔" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  width: 18px !important;
  height: 18px !important;
  background: rgba(255, 94, 30, 0.12) !important;
  color: #FF5E1E !important;
  border: 1px solid rgba(255, 94, 30, 0.4) !important;
  border-radius: 2px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ② ナンバー / ステップリスト (SWELL .is-style-num_list) */
.is-style-num_list,
.sq-list-num {
  list-style: none !important;
  counter-reset: sq-step !important;
  padding-left: 0 !important;
  margin: 1.75em 0 !important;
}

.is-style-num_list li,
.sq-list-num li {
  counter-increment: sq-step !important;
  position: relative !important;
  padding-left: 38px !important;
  margin-bottom: 14px !important;
  line-height: 1.75 !important;
  color: #334155 !important;
}

.is-style-num_list li::before,
.sq-list-num li::before {
  content: counter(sq-step, decimal-leading-zero) !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 26px !important;
  height: 22px !important;
  background: #0F172A !important;
  color: #FF5E1E !important;
  border: 1px solid rgba(255, 94, 30, 0.5) !important;
  border-radius: 2px !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* --------------------------------------------------------
   4. 引用（Blockquote）Sci-Fi化
   -------------------------------------------------------- */
.post_content blockquote,
.c-entry__content blockquote,
.sq-single-body blockquote,
.sq-quote-cyber {
  margin: 2.2em 0 !important;
  padding: 20px 24px 18px 24px !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-left: 4px solid #FF5E1E !important;
  border-radius: 0 4px 4px 0 !important;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 4px 14px rgba(15, 23, 42, 0.02) !important;
  position: relative !important;
}

.sq-single-body blockquote::before,
.sq-quote-cyber::before {
  content: "// INTEL CITATION // 外部出典データ" !important;
  display: block !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  color: #FF5E1E !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 10px !important;
}


/* --------------------------------------------------------
   5. インライン装飾（マーカー・コード・キー）
   -------------------------------------------------------- */

/* オレンジネオンマーカー (SWELL .mark_orange) */
.mark_orange,
mark.orange,
.sq-mark-orange {
  background: linear-gradient(transparent 60%, rgba(255, 94, 30, 0.24) 60%) !important;
  font-weight: 700 !important;
  color: inherit !important;
  padding: 0 2px !important;
}

/* シアンマーカー (SWELL .mark_blue) */
.mark_blue,
mark.blue,
.sq-mark-cyan {
  background: linear-gradient(transparent 60%, rgba(14, 165, 233, 0.22) 60%) !important;
  font-weight: 700 !important;
  color: inherit !important;
  padding: 0 2px !important;
}

/* イエローマーカー (SWELL .mark_yellow) */
.mark_yellow,
mark.yellow,
.sq-mark-yellow {
  background: linear-gradient(transparent 60%, rgba(245, 158, 11, 0.24) 60%) !important;
  font-weight: 700 !important;
  color: inherit !important;
  padding: 0 2px !important;
}

/* インラインコード */
.post_content code:not(pre code), .c-entry__content code:not(pre code), .sq-single-body code:not(pre code) {
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 13px !important;
  color: #FF5E1E !important;
  background: #FFF7ED !important;
  border: 1px solid rgba(255, 94, 30, 0.3) !important;
  border-radius: 3px !important;
  padding: 2px 6px !important;
  margin: 0 3px !important;
}

/* キーボードキー <kbd> */
.post_content kbd, .c-entry__content kbd, .sq-single-body kbd {
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 12px !important;
  background: #F1F5F9 !important;
  color: #0F172A !important;
  border: 1px solid #CBD5E1 !important;
  border-bottom: 2px solid #94A3B8 !important;
  border-radius: 3px !important;
  padding: 2px 7px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}


/* --------------------------------------------------------
   6. SWELLボタン（Buttons）Sci-Fi化
   -------------------------------------------------------- */
.swell-block-button,
.sq-btn-wrap {
  margin: 2em 0 !important;
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

/* ① プライマリー・サイバーボタン */
.sq-btn-primary,
.swell-block-button__link:not(.is-style-btn_ghost) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #FF7A3D 0%, #FF5E1E 100%) !important;
  color: #FFFFFF !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  padding: 13px 28px !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(255, 94, 30, 0.35) !important;
  transition: all 0.25s ease !important;
}

.sq-btn-primary:hover,
.swell-block-button__link:not(.is-style-btn_ghost):hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(255, 94, 30, 0.5) !important;
  filter: brightness(1.06) !important;
  color: #FFFFFF !important;
}

/* ② タクティカル・ゴーストボタン */
.sq-btn-ghost,
.swell-block-button.is-style-btn_ghost .swell-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #FF5E1E !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  padding: 13px 28px !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  border: 1.5px solid #FF5E1E !important;
  box-shadow: 0 4px 14px rgba(255, 94, 30, 0.12) !important;
  transition: all 0.25s ease !important;
}

.sq-btn-ghost:hover,
.swell-block-button.is-style-btn_ghost .swell-block-button__link:hover {
  background: #FF5E1E !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255, 94, 30, 0.35) !important;
}


/* --------------------------------------------------------
   7. タクティカル・データテーブル（Table）
   -------------------------------------------------------- */
.post_content .wp-block-table,
.c-entry__content .wp-block-table,
.sq-single-body .wp-block-table,
.sq-table-wrap {
  margin: 2.2em 0 !important;
  overflow-x: auto !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.03) !important;
}

.post_content table, .c-entry__content table, .sq-single-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.post_content th, .c-entry__content th, .sq-single-body th {
  background: #0F172A !important;
  color: #FFFFFF !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border-bottom: 2px solid #FF5E1E !important;
}

.post_content td, .c-entry__content td, .sq-single-body td {
  padding: 12px 16px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #334155 !important;
}

.post_content tr:nth-child(even) td, .c-entry__content tr:nth-child(even) td, .sq-single-body tr:nth-child(even) td {
  background: #F8FAFC !important;
}

.post_content tr:hover td, .c-entry__content tr:hover td, .sq-single-body tr:hover td {
  background: #FFF7ED !important;
}


/* --------------------------------------------------------
   8. FAQ（アコーディオン）Sci-Fi化
   -------------------------------------------------------- */
.sq-faq-item,
.swell-block-faq {
  margin-bottom: 14px !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
}

.sq-faq-q,
.faq_q {
  padding: 14px 18px !important;
  background: #F8FAFC !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #0F172A !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.sq-faq-q-badge {
  background: #FF5E1E !important;
  color: #FFFFFF !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.sq-faq-a,
.faq_a {
  padding: 16px 18px 16px 52px !important;
  font-size: 14.5px !important;
  line-height: 1.8 !important;
  color: #475569 !important;
}


/* --------------------------------------------------------
   9. 目次（Table of Contents / INDEX MATRIX）Sci-Fi化
   -------------------------------------------------------- */
.p-toc,
#toc_container,
.sq-toc-box {
  margin: 2.4em 0 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(203, 213, 225, 0.9) !important;
  border-radius: 4px !important;
  padding: 22px 24px !important;
  position: relative !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04) !important;
  background-image: 
    linear-gradient(to right, rgba(148, 163, 184, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(148, 163, 184, 0.06) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
}

.p-toc::before,
#toc_container::before,
.sq-toc-box::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, #FF5E1E 0%, #FF8A00 60%, transparent 100%) !important;
}

.p-toc__ttl,
#toc_container .toc_title,
.sq-toc-ttl {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--sq-font-mono, monospace), sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: #0F172A !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  margin-bottom: 16px !important;
}

.p-toc__ttl::before,
#toc_container .toc_title::before,
.sq-toc-ttl::before {
  content: "INDEX //" !important;
  color: #FF5E1E !important;
  font-weight: 900 !important;
}

.p-toc__list,
#toc_container ul,
#toc_container ol,
.sq-toc-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  counter-reset: sq-toc-counter !important;
}

.p-toc__item,
#toc_container li,
.sq-toc-item {
  counter-increment: sq-toc-counter !important;
  margin-bottom: 10px !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
}

.p-toc__link,
#toc_container a,
.sq-toc-link {
  color: #334155 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: baseline !important;
  transition: all 0.2s ease !important;
}

.p-toc__link::before,
#toc_container a::before,
.sq-toc-link::before {
  content: counter(sq-toc-counter, decimal-leading-zero) ". " !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #FF5E1E !important;
  margin-right: 8px !important;
}

.p-toc__link:hover,
#toc_container a:hover,
.sq-toc-link:hover {
  color: #FF5E1E !important;
  transform: translateX(4px) !important;
}

/* ネストされた目次項目（H3相当） */
.p-toc__list .p-toc__list,
#toc_container ul ul,
#toc_container ol ol,
.sq-toc-sublist {
  padding-left: 24px !important;
  margin-top: 8px !important;
  border-left: 1px dashed #CBD5E1 !important;
}

.p-toc__list .p-toc__list .p-toc__link::before,
#toc_container ul ul a::before,
#toc_container ol ol a::before,
.sq-toc-sublink::before {
  content: "— " !important;
  color: #94A3B8 !important;
  font-size: 12px !important;
}

/* --------------------------------------------------------
   ショールーム専用補助スタイル (Showroom Components)
   -------------------------------------------------------- */
.sq-showroom-section {
  margin: 3.5em 0 2.5em 0 !important;
  padding-top: 2em !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
}

.sq-showroom-meta-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(15, 23, 42, 0.05) !important;
  border: 1px solid rgba(203, 213, 225, 0.8) !important;
  border-radius: 3px !important;
  padding: 4px 10px !important;
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  margin-bottom: 12px !important;
}

.sq-showroom-meta-tag.is-rec {
  background: rgba(255, 94, 30, 0.1) !important;
  border-color: rgba(255, 94, 30, 0.3) !important;
  color: #FF5E1E !important;
}

.sq-class-badge {
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #FF5E1E !important;
  background: #FFF7ED !important;
  border: 1px solid rgba(255, 94, 30, 0.25) !important;
  border-radius: 2px !important;
  padding: 2px 7px !important;
  margin-left: 8px !important;
  display: inline-block !important;
}

.sq-showroom-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 6px !important;
  padding: 20px 22px !important;
  margin: 1.5em 0 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.02) !important;
}

.sq-showroom-label {
  font-family: var(--sq-font-mono, monospace) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #64748B !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}



/* --------------------------------------------------------
   記事・固定ページ本文の標準リスト（ul, ol）Sci-Fi化
   -------------------------------------------------------- */
.post_content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList),
.c-entry__content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList),
.c-entryContent ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList),
.sq-single-body ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1.5em 0 !important;
}

.post_content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li,
.c-entry__content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li,
.c-entryContent ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li,
.sq-single-body ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li {
  position: relative !important;
  padding-left: 22px !important;
  margin-bottom: 8px !important;
  line-height: 1.75 !important;
  color: #334155 !important;
}

.post_content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li::before,
.c-entry__content ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li::before,
.c-entryContent ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li::before,
.sq-single-body ul:not(.is-style-check_list):not(.p-toc__list):not(.p-postList):not(.w-tagList) > li::before {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 9px !important;
  width: 5px !important;
  height: 5px !important;
  background: #FF5E1E !important;
  border-radius: 1px !important;
  box-shadow: 0 0 5px rgba(255, 94, 30, 0.4) !important;
}

/* 固定ページ（Page）全体のSQUARESカード化フォールバック */
.page .l-mainContent,
.page .l-article,
.page .post_content_wrap {
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 6px !important;
  padding: 40px 48px !important;
  box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04) !important;
  margin-top: 24px !important;
  margin-bottom: 60px !important;
  position: relative !important;
}

@media (max-width: 768px) {
  .page .l-mainContent,
  .page .l-article,
  .page .post_content_wrap {
    padding: 24px 18px !important;
    border-radius: 4px !important;
  }
}


/* ========================================================
   お問い合わせフォーム（CTA Form / Contact Form 7）項目・ラベルの左揃え完全保証
   （スマホ・PC共通：項目名・説明文・入力欄のセンタリング完全解除）
   ======================================================== */

/* 1. フォーム全体および親コンテナの基本テキスト揃えを左揃えにリセット */
.cta-form,
.cta-field,
.cta-form-row,
.cta-cf7-container,
.cta-cf7-container form,
.wpcf7,
.wpcf7-form,
.cta-flow-step,
.cta-flow-step--input,
.cta-checkbox-header {
  text-align: left !important;
}

/* 2. フォーム内のすべての段落（pタグ）を左揃え（送信ボタン親段落・同意チェック親段落は除外） */
.cta-cf7-container p,
.wpcf7-form p,
.wpcf7 p,
.cta-form p {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* 3. 送信ボタン親ラッパーおよび同意チェック行のみ中央揃えを維持 */
.cta-cf7-container p:has(input[type="submit"]),
.wpcf7-form p:has(input[type="submit"]),
.wpcf7 form p:has(.wpcf7-submit),
.cta-cf7-container .wpcf7-submit-wrap,
.cta-cf7-container form > p:last-of-type,
.wpcf7-form > p:last-of-type,
.cta-actions,
.cta-form-submit-wrap,
.cta-privacy-agree,
.cta-cf7-container .cta-privacy-agree,
.wpcf7 .cta-privacy-agree,
.wpcf7-form .cta-privacy-agree,
.wpcf7-acceptance,
.wpcf7-form .wpcf7-acceptance,
.cta-cf7-container p:has(.wpcf7-acceptance),
.wpcf7-form p:has(.wpcf7-acceptance) {
  text-align: center !important;
}

/* 4. フォーム項目ラベル・大見出しの完全左揃え＆ブロック幅100%化
   （お名前、会社名、メールアドレス、ご相談内容、ご相談項目大見出しなど全項目を確実に左揃え） */
.cta-cf7-container label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.wpcf7-form label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.wpcf7 label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.cta-form label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.cta-field label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.cta-form-row label:not(.wpcf7-acceptance label):not(.cta-privacy-label):not(.wpcf7-list-item label):not(.cta-checkbox-item),
.cta-field > label,
.cta-form-row .cta-field label,
.cta-form > .cta-field label,
.cta-checkbox-title,
.cta-checkbox-header,
.cta-checkbox-header label,
.cta-cf7-services label:first-child,
.cta-cf7-services .cta-checkbox-title,
.wpcf7-form > label:first-child,
.cta-cf7-container > label:first-child {
  text-align: left !important;
  display: block !important;
  width: 100% !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--gray-700, #334155) !important;
  margin-bottom: 6px !important;
}

/* 5. チェックボックス項目テキストの左揃え（PC/スマホ共通） */
.cta-checkbox-item,
.cta-cf7-container .wpcf7-list-item,
.cta-cf7-container .wpcf7-list-item label,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item label,
.cta-checkbox-grid .wpcf7-list-item,
.cta-checkbox-grid .wpcf7-list-item label {
  text-align: left !important;
  justify-content: flex-start !important;
}

.cta-checkbox-text,
.wpcf7-checkbox .wpcf7-list-item-label,
.cta-cf7-container .wpcf7-list-item-label,
.cta-form-group .wpcf7-checkbox .wpcf7-list-item-label {
  text-align: left !important;
  display: block !important;
  flex: 1 1 auto !important;
}

/* 6. 個人情報保護方針 同意チェックボックスの水平横一列配置（完全修復） */
.cta-privacy-agree,
.cta-cf7-container .cta-privacy-agree,
.wpcf7 .cta-privacy-agree,
.wpcf7-form .cta-privacy-agree,
.wpcf7-acceptance,
.wpcf7-form .wpcf7-acceptance,
.cta-cf7-container p:has(.wpcf7-acceptance),
.wpcf7-form p:has(.wpcf7-acceptance) {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  margin: 18px auto 0 !important;
}

/* ラベル要素（静的 .cta-privacy-label & CF7 .wpcf7-acceptance label） */
.cta-privacy-agree label,
.cta-privacy-label,
.cta-cf7-container .wpcf7-acceptance label,
.wpcf7-acceptance label,
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item label,
.wpcf7-form .wpcf7-acceptance label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  cursor: pointer !important;
  user-select: none !important;
  font-size: 13px !important;
  color: var(--gray-700, #334155) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}

/* チェックボックス（input） */
.cta-privacy-agree input[type="checkbox"],
.cta-privacy-label input[type="checkbox"],
.wpcf7-acceptance input[type="checkbox"] {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  accent-color: var(--accent, #FF5E1E) !important;
}

/* 静的カスタムボックス（.cta-privacy-box） */
.cta-privacy-box {
  width: 18px !important;
  height: 18px !important;
  border-radius: 5px !important;
  border: 1.5px solid var(--gray-300, #CBD5E1) !important;
  background: #FFFFFF !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* 同意テキスト（.cta-privacy-text & CF7 .wpcf7-list-item-label） */
.cta-privacy-text,
.wpcf7-acceptance .wpcf7-list-item-label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 13px !important;
  color: var(--gray-700, #334155) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  line-height: 1.5 !important;
}

@media (max-width: 480px) {
  .cta-privacy-text,
  .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 12px !important;
    white-space: normal !important;
  }
}
