/* ═══════════════════════════════════════════════════════════════
   COCOON OVERRIDE — 90_override.css
   ① Cocoon不要UIを非表示
   ② Cocoonレイアウトラッパーを完全リセット
   ③ ページ別 body背景を確定（!important で最終宣言）
═══════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════
   1. BODY — 基本スタイル（ページ別背景は各条件付きCSSに任せる）
      page-home.css / page-company.css / service-lp.css が
      is_front_page() / is_page_template() 条件で後から読み込まれ、
      それぞれ body { background: ... !important } で上書きする。
      ここではデフォルトのダーク背景のみ設定。
══════════════════════════════════════════════════════════════ */

body {
  background: #020E1F !important;
  color: #f8fafc;
  cursor: none;
  overflow-x: hidden !important;
  -webkit-font-smoothing: antialiased;
  font-family: 'Shippori Mincho', sans-serif !important;
}

/* モバイル: カスタムカーソル非表示 */
@media (max-width: 960px) {
  body { cursor: auto !important; }
  #cur, #curR { display: none !important; }
}


/* ══════════════════════════════════════════════════════════════
   2. COCOON レイアウトラッパー — 完全リセット
      max-width / padding / background を除去して
      テンプレート側の .wrap が正しく機能するようにする
══════════════════════════════════════════════════════════════ */

/* 最上位ラッパー */
#container, #page, #wrapper {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  float: none !important;
}

/* コンテンツ列 */
#content, .content,
#content-in, .content-in {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* メインエリア */
#main, .main {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  border: none !important;
}

/* 記事ラッパー全般 */
.article, .article-wrap,
.article-body, .article-body-wrap,
.article-body-in, .article-in,
.entry-content, .entry-content-in,
.post-content, .page-content {
  background: transparent !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Cocoonが article に付与する p margin を除去（各テンプレートが管理） */
.article-body-in > p,
.entry-content > p {
  margin: 0;
}

/* Cocoon header コンテナ（独自 header.php で置き換えているため無効化） */
#header-container,
#header-container-in,
#header, #header-in {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: static !important;
  height: auto !important;
  max-width: none !important;
  width: 100% !important;
  display: block !important;
  min-height: 0 !important;
}

/* Cocoon標準ナビ */
#navi, .navi, #navi-in { display: none !important; }


/* ══════════════════════════════════════════════════════════════
   3. COCOON 不要UI — 非表示
══════════════════════════════════════════════════════════════ */

/* パンくずリスト */
.breadcrumb, #breadcrumb,
.article-breadcrumb, .archive-breadcrumb,
.breadcrumb-wrap { display: none !important; }

/* サイドバー */
#sidebar, .sidebar, #sidebar-scroll,
.sidebar-scroll { display: none !important; }

/* SNSシェア / フォロー */
.sns-share, .sns-follow, .share-buttons,
.entry-share, .post-share,
.sns-buttons { display: none !important; }

/* コメント欄 */
#comments, .comments-area,
#respond { display: none !important; }

/* 関連記事 */
.related-entries, .blogcard,
.related-articles, .related-posts { display: none !important; }

/* モバイルフッターメニュー */
.mobile-menu-buttons, .mobile-footer-menu-buttons,
#mobile-menu, .mobile-footer-widgets { display: none !important; }

/* トップへ戻るボタン（Cocoon標準 — 独自実装で代替） */
.go-to-top, #go-to-top, .go-to-top-button,
.page-top, #page-top,
.back-to-top { display: none !important; }

/* フッターウィジェット・メニュー */
.footer-widgets, .footer-menu, .footer-navi,
.footer-widget-area { display: none !important; }

/* Cocoon標準フッター（独自フッターを footer.php で出力するため） */
#footer.footer { display: none !important; }

/* 記事ヘッダー（タイトル・日付の自動挿入を抑制） */
.article-header, .entry-header, .post-header,
.article-title-wrap { display: none !important; }

/* 記事フッター */
.article-footer, .entry-footer, .post-footer { display: none !important; }

/* サムネイル自動挿入 */
.article-thumbnail, .eyecatch { display: none !important; }

/* タグ一覧 */
.article-tags, .entry-tags { display: none !important; }

/* 著者ボックス */
.author-box, .article-author { display: none !important; }

/* ページネーション */
.pagination, .pager,
.wp-pagenavi { display: none !important; }

/* サイトキャッチコピー */
.site-description, #site-description,
.header-description, .tagline,
.header-tagline, .site-tagline,
#tagline, .blog-description { display: none !important; }

/* Cocoon が出力するサイトタイトル（#obHdr の外） */
#site-title, .site-title,
.logo-wrap { display: none !important; }

/* Cocoon フッターコピーライト（独自で出力するため） */
.footer-copyright, #footer-copyright { display: none !important; }


/* ══════════════════════════════════════════════════════════════
   4. .wrap クラス — 全テンプレート共通コンテナ
      30_components.css / page-home.css の定義を保護
══════════════════════════════════════════════════════════════ */

/* Cocoon 親テーマが .wrap { width: 1256px } を出力するため !important で上書き */
.wrap {
  width: 100% !important;
  max-width: var(--max, 1160px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 4vw, 52px) !important;
  padding-right: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
}


/* ══════════════════════════════════════════════════════════════
   5. 共通リセット追加
══════════════════════════════════════════════════════════════ */

/* リンク */
a { color: inherit; text-decoration: none; transition: color .22s, opacity .22s; }
a:hover { opacity: 1; }

/* Cocoon が後から underline を付けるケースへの対策
   コンテンツ内リンク（entry-content a等）は除外し、
   UI要素のみをピンポイントで指定 */
.na, .hbtn, .mna, .mna-child,
.ndrop-item, .ndrop-item *,
.btn, .btn-line, .btn-fill, .va,
.ob-col-back-link, .ob-col-nav-item, .ob-col-nav-prev, .ob-col-nav-next,
.ob-col-widget a,
.ob-news-item, .ob-works-card, .ob-works-card *,
.svc-others-card, .svc-others-card *,
.svc-others-all-link,
.ob-hero-cta, .ob-hero-cta *,
.float-cta-inner, .float-cta-inner *,
.vis-btn, .svc-detail-btn {
  text-decoration: none !important;
}

/* フォーム要素 */
input, textarea, select, button {
  font-family: 'Shippori Mincho', sans-serif !important;
}

/* フォーカスアウトライン */
a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid #2BD4C0;
  outline-offset: 3px;
}

/* 画像 */
img { max-width: 100%; height: auto; display: block; }

/* スクロールバー */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: #020E1F; }
::-webkit-scrollbar-thumb { background: #2BD4C0; border-radius: 2px; }

/* 横スクロール防止 */
html, body { overflow-x: hidden !important; }
#container { overflow-x: hidden; }

/* section基本 */
section { position: relative; }


/* ══════════════════════════════════════════════════════════════
   6. ブロックエディタ（Gutenberg）
══════════════════════════════════════════════════════════════ */

.wp-block-paragraph { color: rgba(248,250,252,.72); font-size: 15px; line-height: 2.0; }
.wp-block-heading { color: #f8fafc; }


/* ══════════════════════════════════════════════════════════════
   7. NEWS ページ — 白背景
══════════════════════════════════════════════════════════════ */
body.single-news,
body.post-type-archive-news {
  background: #fff !important;
  color: #0d1520 !important;
}
/* Cocoon が出力する記事タイトルの重複を消す */
body.single-news .article-title,
body.single-news .entry-title,
body.single-news h1:not(.ob-news-single-title) { display: none !important; }
/* NEWS 本文のリンク・テキストをダーク系に（フッターには波及させない） */
body.single-news .ob-news-single a { color: #0d1520; }
body.single-news .wp-block-paragraph { color: rgba(13,21,32,.78); }
body.single-news .wp-block-heading   { color: #0d1520; }



/* ══════════════════════════════════════════════════════════════
   8. 利用規約・プライバシーポリシー — ダークネイビー背景
══════════════════════════════════════════════════════════════ */
body.page-template-page-terms,
body.page-template-page-privacy-policy {
  background: #0a1525 !important;
  color: rgba(238,242,247,.88) !important;
}
.ob-contact-page--policy .ob-contact-page-eyebrow {
  color: rgba(43,212,192,.80);
}
.ob-contact-page--policy .ob-contact-page-title {
  color: rgba(238,242,247,.95) !important;
}

/* テキストをライトカラーに統一 */
.ob-policy-body {
  color: rgba(238,242,247,.82);
}
.ob-policy-body p,
.ob-policy-body li {
  color: rgba(238,242,247,.78) !important;
}
.ob-policy-body h2 {
  color: rgba(238,242,247,.95) !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
}


/* ══════════════════════════════════════════════════════════════
   10. コラム（column CPT）— Cocoon機能を部分的に復活
       page-column.css のライト背景と連携
══════════════════════════════════════════════════════════════ */

/* SNSシェアボタン */
body.single-column .sns-share,
body.single-column .sns-buttons,
body.single-column .entry-share { display: block !important; }

/* 関連記事 */
body.single-column .related-entries,
body.single-column .related-articles { display: block !important; }

/* 著者ボックス */
body.single-column .author-box,
body.single-column .article-author { display: block !important; }

/* 記事フッター */
body.single-column .article-footer,
body.single-column .entry-footer { display: block !important; }

/* TOC（目次） */
body.single-column .toc,
body.single-column #toc { display: block !important; }

/* Cocoon が重複出力するタイトル・サムネイルは single-column.php で制御するため非表示 */
body.single-column .article-title,
body.single-column .entry-title,
body.single-column h1.entry-title { display: none !important; }
body.single-column .article-thumbnail,
body.single-column .eyecatch:not(.ob-col-eyecatch) { display: none !important; }

/* TOC・ブロック系テキストをダーク系に補正 */
body.single-column .toc-title,
body.single-column .toc li a { color: #0d1520; }
body.single-column .toc { background: #f0f4f9; border-color: rgba(13,21,32,.1); }


/* ══════════════════════════════════════════════════════════════
   9. 印刷
══════════════════════════════════════════════════════════════ */

@media print {
  #obHdr, .fcta, #floatCta,
  #cur, #curR, #prog,
  .intro-logo { display: none !important; }
  body { background: white !important; color: black !important; cursor: auto !important; }
  a { color: black !important; text-decoration: underline !important; }
}

/* ══════════════════════════════════════════════════════════════
   SHARP DESIGN — border-radius 全削除
══════════════════════════════════════════════════════════════ */
.svc-block-wrap,
.svc-block-img,
.svc-panel,
.ndrop,
.ndrop--simple,
.ndrop-row,
.ndrop-item,
.svc-block-tags span,
.svc-block-link-arr,
.ob-news-item,
.ob-works-card,
.ob-news-list-wrap,
.ctbl,
.co-grid,
.float-cta-inner,
.mna, .mna-child,
.mnav {
  border-radius: 0 !important;
}
