@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Noto+Sans+JP:wght@300;400;500&family=Noto+Serif+JP:wght@200;300;400&family=Shippori+Mincho:wght@300;400&display=swap');

/* ============================================================
   日常幻想 — Cocoon子テーマ CSS（整理版）
   ============================================================ */

/* ── フッターウィジェット・メニュー非表示 ── */
.footer-widget-area,
.footer-widgets,
#footer-widgets,
.widget-area-footer,
.mobile-footer-menu,
.footer-mobile-buttons,
.mobile-bottom-menu,
.sp-menu-box,
.sp-footer-menu,
.footer-menu-sp,
#sp-footer-menu,
.navi-footer-in,
.navi-footer,
#navi-footer {
  display: none !important;
}

/* ── フッターメニュー（免責事項・特商法等）は表示する ── */
#footer .menu-footer,
#footer .footer-menu,
.footer-in .menu-footer,
#footer-in .menu-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1.2rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0.5rem 0 0 !important;
}
#footer .menu-footer a,
.footer-in .menu-footer a,
#footer-in .menu-footer a {
  font-size: 0.65rem !important;
  color: #3a3450 !important;
  text-decoration: none !important;
  letter-spacing: 0.18em !important;
}
#footer .menu-footer a:hover,
.footer-in .menu-footer a:hover {
  color: #8a8070 !important;
}

/* フッターに同じメニューが2つ出る場合、2つ目を非表示 */
#footer .menu-footer ~ .menu-footer,
#footer-in .menu-footer ~ .menu-footer,
.footer-in .menu-footer ~ .menu-footer {
  display: none !important;
}
/* navi-footerは非表示（menu-footerと重複するため） */
.navi-footer, .navi-footer-in,
#navi-footer, #navi-footer-in {
  display: none !important;
}

/* ── ベース ── */
html { background: #020208 !important; }

body {
  background: #020208 !important;
  color: #f0ebe0 !important;
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
  font-weight: 300 !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Cocoonコンテナ・白背景を透明化 ── */
#container, #content, .content, .cf,
#contents, #contents-in, .contents-in,
#main, .main, .main-in,
#primary, .primary,
.wrap, .site-content, .content-area,
.hentry, .entry, .entry-content, .entry-inner,
.post-content, .article, article,
.article-body, .singular-article, .page-content,
#page, .site, div#layout, .layout, #layout,
.body-container, div.main, div.entry,
div.article, div.content,
div#container, div#contents {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  float: none !important;
}
.content { margin-top: 0 !important; }

/* ── ヘッダー非表示 ── */
#header, .header-container, .header-container-in,
.site-name, .header-logo-image, .header-logo,
.header-in, #header-in {
  display: none !important;
}

/* ── ナビゲーション非表示 ── */
#navi, .navi, .navi-in, .menu-top, .global-navi,
.mobile-menu-buttons, .menu-mobile,
.header-mobile-buttons, .mobile-menu-button,
.mobile-menu-box, .mobile-menu-wrap,
.slide-menu, .mobile-footer-menu,
.fixed-mobile-buttons, .footer-mobile-buttons,
.mobile-bottom-menu, .sp-menu-box {
  display: none !important;
}

/* ── サイドバー非表示 ── */
#sidebar, .sidebar, .widget-area,
.sidebar-scroll, #secondary {
  display: none !important;
}

/* ── ページタイトル・パンくず・メタ非表示（固定ページ用） ── */
.page .entry-title, .page .page-title,
.page h1.entry-title,
.breadcrumb, .breadcrumbs,
.post-date, .post-categories,
.entry-meta, .article-meta,
.byline, .cat-label, .post-header {
  display: none !important;
}

/* ── 目次非表示 ── */
.toc-container, .toc, .toc_wrap,
#toc_container, .ez-toc-v2_0_17,
.rtoc-mokuji-wrapper, .rtoc-mokuji {
  display: none !important;
}

/* ── フッター ── */
#footer, .footer, #footer-in, .footer-in {
  background: #020208 !important;
  background-color: #020208 !important;
  border-top: 1px solid rgba(200,164,90,0.07) !important;
  color: #3a3450 !important;
  padding: 2rem 3rem !important;
  box-shadow: none !important;
  text-align: left !important;
}
#footer a, .footer a {
  color: #3a3450 !important;
  text-decoration: none !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  transition: color 0.3s !important;
}
#footer a:hover, .footer a:hover { color: #8a8070 !important; }
.copyright, .footer-copy {
  font-size: 0.6rem !important;
  color: #3a3450 !important;
  letter-spacing: 0.2em !important;
}

/* ── スクロールバー（PC向け・太く使いやすく） ── */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #0a0a12; }
::-webkit-scrollbar-thumb {
  background: rgba(200,164,90,0.35);
  border-radius: 0;
  border: 2px solid #0a0a12;
}
::-webkit-scrollbar-thumb:hover { background: rgba(200,164,90,0.6); }

/* ── 選択テキスト ── */
::selection { background: rgba(200,164,90,0.2); color: #e8d090; }

/* ── WordPress管理バー ── */
#wpadminbar { opacity: 0.35 !important; transition: opacity 0.3s !important; }
#wpadminbar:hover { opacity: 1 !important; }

/* ============================================================
   ブログ個別記事ページ（.single）
   40-60代向け：大きめフォント・余白・可読性最優先
   ============================================================ */

/* ── 記事ページ：背景を黒に強制 ── */
.single,
.single body,
.single #container,
.single #content,
.single .content,
.single #main,
.single .main,
.single .wrap,
.single .entry,
.single article,
.single .article,
.single .hentry {
  background: #020208 !important;
  background-color: #020208 !important;
}

/* ── 記事タイトルを再表示 ── */
.single .entry-title,
.single h1.entry-title {
  display: block !important;
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
  font-size: clamp(1.6rem, 4vw, 2.2rem) !important;
  font-weight: 400 !important;
  color: #f0ebe0 !important;
  -webkit-text-fill-color: #f0ebe0 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.6 !important;
  margin: 2.5rem auto 1.5rem !important;
  padding: 0 clamp(1.2rem, 5vw, 4rem) !important;
  max-width: 780px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* ── アイキャッチ画像 ── */
.single .eye-catch,
.single .post-thumbnail,
.single .featured-image,
.single .eyecatch {
  max-width: 780px !important;
  margin: 0 auto 2.5rem !important;
  padding: 0 clamp(1.2rem, 5vw, 4rem) !important;
}
.single .eye-catch img,
.single .post-thumbnail img,
.single .featured-image img,
.single .eyecatch img {
  width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: cover !important;
  display: block !important;
}

/* ── 記事本文コンテナ ── */
.single .entry-content,
.single .post-content,
.single .article-body {
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 clamp(1.2rem, 5vw, 4rem) 4rem !important;
  background: transparent !important;
}

/* ── 本文テキスト ── */
.single .entry-content p,
.single .post-content p {
  font-family: 'Noto Serif JP', serif !important;
  font-size: clamp(1.05rem, 2.2vw, 1.15rem) !important;
  font-weight: 400 !important;
  color: #e8e0d0 !important;
  line-height: 2.2 !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 1.8em !important;
}

/* ── 見出し ── */
.single .entry-content h2,
.single .post-content h2 {
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
  font-size: clamp(1.3rem, 3vw, 1.6rem) !important;
  font-weight: 400 !important;
  color: #f0ebe0 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.6 !important;
  margin: 3rem 0 1.2rem !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(200,164,90,0.2) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.single .entry-content h3,
.single .post-content h3 {
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
  font-size: clamp(1.1rem, 2.5vw, 1.3rem) !important;
  font-weight: 400 !important;
  color: #e8d090 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.6 !important;
  margin: 2.5rem 0 1rem !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ── リンク ── */
.single .entry-content a,
.single .post-content a {
  color: #c8a45a !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.3s !important;
}
.single .entry-content a:hover,
.single .post-content a:hover { color: #e8d090 !important; }

/* ── 画像（記事内） ── */
.single .entry-content img,
.single .post-content img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 2rem auto !important;
}

/* ── 引用 ── */
.single .entry-content blockquote,
.single .post-content blockquote {
  border-left: 2px solid rgba(200,164,90,0.4) !important;
  margin: 2rem 0 !important;
  padding: 0.5rem 0 0.5rem 1.5rem !important;
  background: transparent !important;
  color: #8a8070 !important;
  font-style: italic !important;
}

/* ── 記事メタ情報 ── */
.single .post-date,
.single .entry-meta {
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-size: 0.82rem !important;
  color: rgba(200,164,90,0.5) !important;
  letter-spacing: 0.25em !important;
  max-width: 780px !important;
  margin: 0 auto 1rem !important;
  padding: 0 clamp(1.2rem, 5vw, 4rem) !important;
}

/* ── 記事下ナビゲーション ── */
.single .post-navi,
.single .paging-nav,
.single .nav-links {
  max-width: 780px !important;
  margin: 2rem auto !important;
  padding: 2rem clamp(1.2rem, 5vw, 4rem) !important;
  border-top: 1px solid rgba(200,164,90,0.1) !important;
}
.single .post-navi a,
.single .nav-links a {
  color: #c8a45a !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
}

/* ── 記事ページ下部：関連記事・シェアボタン等を復元 ── */
.single .related-entry-cards,
.single .related-entry-card,
.single .related-entry-cards-wrap,
.single .share-buttons,
.single .share-buttons-wrap,
.single .after-content,
.single .entry-footer,
.single .post-footer {
  padding: revert !important;
  margin: revert !important;
  max-width: revert !important;
  width: revert !important;
  float: revert !important;
}

/* ── 関連記事・前後ナビ・コメント：全テキストを明るく ── */

/* サイト全体の文字色をリセット（全カードタイプ対応） */
/* Cocoon全カード共通クラス .a-wrap で一括対応 */
.a-wrap,
.a-wrap *,
.related-list,
.related-list *,
.post-navi,
.post-navi *,
.paging-nav,
.paging-nav *,
.nav-links,
.nav-links *,
.prev-next-post,
.prev-next-post *,
.comment-area,
.comment-area *,
.comments-area,
.comments-area *,
#comments,
#comments * {
  color: #e8e0d0 !important;
}

/* ── 関連記事：縦一列レイアウトに強制（全画面サイズ） ── */
.related-entry-cards,
.related-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.a-wrap {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  padding: 1rem 0 !important;
  border-bottom: 1px solid rgba(200,164,90,0.08) !important;
  margin: 0 !important;
  float: none !important;
}
.a-wrap .card-thumb,
.a-wrap .entry-card-thumb {
  flex: 0 0 100px !important;
  width: 100px !important;
  height: 70px !important;
  overflow: hidden !important;
}
.a-wrap .card-thumb img,
.a-wrap .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.a-wrap .card-content,
.a-wrap .entry-card-content {
  flex: 1 !important;
  padding: 0 !important;
}
.card-title,
.entry-card-title {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.05em !important;
}
.card-snippet,
.entry-card-snippet {
  font-size: 0.85rem !important;
  line-height: 1.8 !important;
  margin-top: 0.4rem !important;
}

/* スマホ専用：Cocoonのレスポンシブを上書き */
@media screen and (max-width: 834px) {
  .related-entry-cards,
  .related-list {
    display: flex !important;
    flex-direction: column !important;
  }
  .a-wrap {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    float: none !important;
    margin: 0 !important;
  }
  .a-wrap .card-thumb,
  .a-wrap .entry-card-thumb {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 60px !important;
  }
}
/* 前後記事ナビ */
.post-navi,
.paging-nav,
.nav-links,
.prev-next-post {
  border-top: 1px solid rgba(200,164,90,0.12) !important;
  padding: 1.5rem 1rem !important;
}
.post-navi a:hover,
.nav-links a:hover { color: #e8d090 !important; }

/* コメント欄 */
.comment-title,
.comments-title,
h2.comments-title {
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.1em !important;
  border-bottom: 1px solid rgba(200,164,90,0.15) !important;
  padding-bottom: 0.8rem !important;
  margin-bottom: 1.5rem !important;
  background: transparent !important;
}
.comment-form label,
.comment-form input,
.comment-form textarea {
  color: #1c1812 !important; /* フォーム内は黒背景に白文字ではなく白背景に黒文字のまま */
}
@media screen and (max-width: 834px) {
  #footer, .footer { padding: 1.5rem !important; }
}

@media screen and (max-width: 600px) {
  .single .entry-title,
  .single h1.entry-title {
    font-size: clamp(1.4rem, 5.5vw, 1.8rem) !important;
    margin: 2rem auto 1.2rem !important;
  }
  .single .entry-content p,
  .single .post-content p {
    font-size: 1.05rem !important;
    line-height: 2.1 !important;
    letter-spacing: 0.04em !important;
  }
}
