@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* ==========================================
   0. 画面幅・レスポンシブ基本設定
   ========================================== */

/* 1280px超の大画面 */
@media screen and (min-width: 1281px) {
  #header-in,
  #content,
  #footer-in,
  #container,
  .container {
    width: 1280px !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* PC・タブレット表示（画面幅835px以上） */
@media screen and (min-width: 835px) {
  #header-in,
  #content,
  #footer-in,
  #container,
  .container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* スマホ表示調整 */
@media screen and (max-width: 834px) {
  #header-in, #content, #footer-in, #container, .container, .main, .sidebar, .logo-header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .content-in {
    display: flex !important;
    flex-direction: column-reverse !important;
  }
  .main, .sidebar {
    padding: 15px !important;
  }
  #header, .header-outer, #header-in, .header-in, .logo-header {
    height: auto !important;
  }
  .logo-header img, .site-name-text-link img {
    margin-left: 10px !important;
  }
}


/* ==========================================
   1. 全体レイアウト＆カラー＆非表示設定
   ========================================== */

/* 横スクロール防止・基本カラー */
body {
  overflow-x: hidden !important;
  background-color: #ffebcc !important;
  font-size: 18px !important;
  color: #1a0f00 !important;
}

/* 不要パーツの完全非表示 */
#navi,
.sns-share, .sns-share-message, .sns-follow, .sns-follow-message,
.author-info, .post-author,
.entry-card-thumb:has(img[src*="no-image"]), .no-image, .entry-card-thumb .no-image-box,
.footer-bottom-logo, .logo-footer,
.post-pv, .post-views, [class*="pv"], [class*="PV"], [class*="postview"], .entry-card-meta-pv,
.entry-card-wrap p:has(span), .entry-card-snippet + p,
.single .post-update, .single .post-date .fa, .single .post-date .fas, .single .post-date .far, .single .post-date-icon,
.single .entry-categories, .single .entry-category, .single .entry-tags .fa, .single .entry-tags .fas, .single .entry-tags .far, .single .tag-icon,
.entry-card-wrap .fa, .entry-card-wrap .fas, .entry-card-wrap .far, .entry-card-wrap .fa-clock, .entry-card-wrap .fa-clock-o, .entry-card-wrap svg,
.widget_tag_cloud .fa, .widget_tag_cloud .fas, .widget_tag_cloud .far, .widget_tag_cloud .tag-icon, .widget_tag_cloud .tag-link-count, .tagcloud .tag-link-count {
  display: none !important;
}

/* 2カラム構造（左サイドバー） */
.content-in {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0 !important;
}

/* メインコンテンツ枠（サイドバーに合わせて上下左右20pxの均等余白を設定） */
.main,
#main {
  width: calc(100% - 280px) !important;
  float: none !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background-color: #fffaf0 !important;
}

.sidebar {
  width: 260px !important;
  float: none !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background-color: #331e00 !important;
  border: 1px solid rgba(255, 153, 0, 0.3) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(26, 15, 0, 0.4) !important;
  color: #ffffff !important;
}

/* ヘッダー・ロゴ */
#header {
  border-bottom: 8px solid #1a0f00 !important;
}

#header, .header-outer, #header-in, .header-in, .logo-header {
  height: 340px !important;
  min-height: 340px !important;
  max-height: 340px !important;
}

.header-in, #header-in {
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.logo-header img, .site-name-text-link img {
  width: auto !important;
  max-width: 800px !important;
  height: auto !important;
  max-height: 300px !important;
  display: block !important;
  margin-left: 30px !important;
  margin-right: auto !important;
}

/* フッター */
#footer {
  padding: 20px 0 !important;
  border-top: 2px solid #ff9900 !important;
}

#footer, .footer, #footer a, .footer a, .copyright {
  background-color: #1a0f00 !important;
  color: #ff9900 !important;
}

#footer a:hover, .footer a:hover {
  color: #ffffff !important;
}

/* サイドバー内部装飾 */
.sidebar .widget-title, .sidebar .widgettitle, .sidebar h2, .sidebar h3 {
  font-size: 15px !important;
  letter-spacing: 1px !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  margin-bottom: 14px !important;
  background-color: #1a0f00 !important;
  color: #ff9900 !important;
  border: 1px solid #ff9900 !important;
}

.sidebar ul li a {
  font-weight: bold !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

.sidebar ul li a:hover {
  text-decoration: underline !important;
  color: #ff9900 !important;
}

.sidebar .widget {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
  padding: 0 0 18px 0 !important;
  margin-bottom: 18px !important;
  color: #ffffff !important;
}

/* プロフィール中央寄せ */
.sidebar .author-box, .sidebar .author-widget, .sidebar .widget_author_box, .sidebar .profile-box {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

.sidebar .author-thumb, .sidebar .author-thumb img, .sidebar .author-box img, .sidebar .author-widget img {
  display: block !important;
  margin: 0 auto 10px auto !important;
  float: none !important;
}

/* タグクラウド */
.widget_tag_cloud .tagcloud, .tagcloud {
  display: block !important;
  line-height: 1.8 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.widget_tag_cloud a, .tagcloud a {
  display: inline !important;
  background: transparent !important;
  border: none !important;
  font-size: 15px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  color: #ff9900 !important;
  box-shadow: none !important;
}

.widget_tag_cloud a:hover, .tagcloud a:hover {
  text-decoration: underline !important;
  color: #ffffff !important;
}

.widget_tag_cloud a::before, .tagcloud a::before {
  content: "＃" !important;
  font-weight: bold !important;
  color: #ff9900 !important;
}

.widget_tag_cloud a:not(:last-child)::after, .tagcloud a:not(:last-child)::after {
  content: ", " !important;
  margin-right: 4px !important;
  color: #ffffff !important;
}

/* パンくずリストアイコン・区切り設定（全体共通） */
.breadcrumb .fa-home, .breadcrumb .fa-folder, .breadcrumb .fa-folder-open, .breadcrumb .fa-home-alt,
#breadcrumb .fa-home, #breadcrumb .fa-folder, #breadcrumb .fa-folder-open, #breadcrumb .fa-home-alt,
.custom-card-breadcrumb .fa-home, .custom-card-breadcrumb .fa-folder {
  display: none !important;
}

.breadcrumb .fa-angle-right, .breadcrumb .fa-chevron-right, .breadcrumb .sp,
#breadcrumb .fa-angle-right, #breadcrumb .fa-chevron-right, #breadcrumb .sp,
.custom-card-breadcrumb .sp {
  display: inline-block !important;
  margin: 0 8px !important;
  font-size: 11px !important;
  opacity: 0.7 !important;
  color: #1a0f00 !important;
}


/* ==========================================
   2. インデックス（トップページ・記事一覧）カスタムスタイル
   ========================================== */

/* 中身が空のタグ（自動生成される不要な余白）を完全抹消 */
a.entry-card-wrap:empty,
.entry-card-wrap:empty,
a.entry-card-wrap:not(:has(article)):not(:has(div)):not(:has(figure)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* エントリーカード一覧枠 */
#list,
.list {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* エントリーカード本体 */
.entry-card-wrap,
a.entry-card-wrap,
.ect-entry-card {
  display: flow-root !important;
  position: relative !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* アイキャッチ画像枠の完全削除 */
.entry-card-thumb,
.entry-card-thumb-link,
figure.entry-card-thumb {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カード内部コンテンツ Flexbox */
.entry-card-content,
.entry-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

/* カード内・一番上に来る各要素の上余白強制リセット */
.entry-card-wrap article,
.entry-card-wrap .entry-card-content,
.entry-card-wrap .entry-card-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* パンくずリスト（カード内） */
.custom-card-breadcrumb {
  order: -10 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
  display: block !important;
}

/* タイトル見出し枠（カード内） */
.entry-card-title,
h2.entry-card-title,
.entry-card-title-box {
  order: 1 !important;
  display: block !important;
  border: none !important;
  border-left: 6px solid #1a0f00 !important;
  color: #ff9900 !important;
  font-size: 24px !important;
  font-weight: bold !important;
  padding-left: 12px !important;
  text-decoration: none !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}

/* タイトル内部リンク */
.entry-card-title a {
  color: #ff9900 !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

.entry-card-title a:hover {
  color: #ff9900 !important;
  text-decoration: underline !important;
}

/* 投稿日 */
.custom-entry-date {
  order: 2 !important;
  display: block !important;
  width: 100% !important;
  text-align: right !important;
  font-size: 12px !important;
  color: #1a0f00 !important;
  font-weight: normal !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.custom-entry-date .post-date-label {
  font-weight: bold !important;
  color: #1a0f00 !important;
}

/* 本文抜粋枠 */
.manual-entry-excerpt {
  order: 3 !important;
  display: block !important;
  width: 100% !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
  color: #1a0f00 !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  overflow: visible !important;
}

.manual-entry-excerpt p {
  margin-top: 0 !important;
  margin-bottom: 0.8em !important;
  line-height: 1.8 !important;
}

/* カード本文内のH2見出し */
.manual-entry-excerpt h2,
.manual-entry-excerpt h2.wp-block-heading {
  font-size: 21px !important;
  line-height: 1.5 !important;
  background: transparent !important;
  border: none !important;
  border-left: 5px solid #ff9900 !important;
  border-bottom: 1px solid rgba(26, 15, 0, 0.2) !important;
  color: #1a0f00 !important;
  padding: 4px 0 6px 12px !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
}

.manual-entry-excerpt h3 {
  color: #1a0f00 !important;
  font-weight: bold !important;
}

.manual-entry-excerpt img {
  max-width: 100% !important;
  height: auto !important;
}

/* タグ（カード内） */
.entry-card-tags,
.entry-card-tag {
  order: 4 !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  display: block !important;
}

.entry-card-tags a,
.entry-card-tag a,
.entry-card-wrap .tag-link {
  background-color: #331e00 !important;
  color: #ff9900 !important;
  border: 1px solid #ff9900 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-weight: bold !important;
  font-size: 14px !important;
  margin-right: 6px !important;
}

.entry-card-tags a::before,
.entry-card-tag a::before {
  content: "#" !important;
  margin-right: 3px !important;
  font-weight: bold !important;
}

/* 「続きを読む」ボタン */
.manual-readmore {
  order: 5 !important;
  display: block !important;
  text-align: right !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.manual-readmore .readmore-btn {
  display: inline-block !important;
  background-color: #331e00 !important;
  color: #ff9900 !important;
  border: 1px solid #ff9900 !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.entry-card-wrap:hover .manual-readmore .readmore-btn {
  background-color: #1a0f00 !important;
  color: #ffffff !important;
}

/* 区切り破線 */
.card-bottom-line {
  order: 6 !important;
  display: block !important;
  width: 100% !important;
  border-bottom: 1px dashed #1a0f00 !important;
  margin-top: 25px !important;
  margin-bottom: 35px !important;
}

/* Cocoon標準メタ非表示 */
.entry-card-snippet,
.entry-card-meta,
.entry-card-info,
.entry-card-post-date,
.entry-card-date,
.entry-card-wrap .post-date {
  display: none !important;
}

/* 打ち消し処理 */
.entry-card-wrap::after,
.entry-card-wrap .more-link-btn,
.entry-card-wrap a:empty {
  content: none !important;
  display: none !important;
}


/* ==========================================
   3. 単体記事ページ（投稿ページ）＆共通パンくずスタイル
   ========================================== */

.single #main, .single .main {
  overflow: visible !important;
  margin-bottom: 140px !important;
  padding: 20px !important;
}

/* 記事ページ ＆ インデックス共通 パンくずリストスタイル */
.breadcrumb, #breadcrumb, .custom-card-breadcrumb {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 0 !important;
  font-size: 13px !important;
  color: #1a0f00 !important;
}

.breadcrumb a, #breadcrumb a, .custom-card-breadcrumb a {
  color: #1a0f00 !important;
  text-decoration: none !important;
  font-weight: bold !important;
}

.breadcrumb a:hover, #breadcrumb a:hover, .custom-card-breadcrumb a:hover {
  color: #ff9900 !important;
  text-decoration: underline !important;
}

/* 記事タイトル */
.single .entry-title {
  border: none !important;
  border-left: 6px solid #1a0f00 !important;
  padding-left: 12px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  color: #ff9900 !important;
  font-size: 24px !important;
  margin-top: 10px !important;
  margin-bottom: 8px !important;
}

/* 投稿日 */
.single .post-date-box, .single .post-date {
  float: none !important;
  text-align: right !important;
  font-size: 12px !important;
  color: #1a0f00 !important;
  font-weight: normal !important;
  display: block !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
}

.single .post-date::before {
  content: "投稿日：" !important;
  font-weight: bold !important;
  color: #1a0f00 !important;
}

/* 記事タグ */
.single .entry-tags, .single .entry-tag {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  display: block !important;
}

.single .entry-tags a, .single .entry-tag a, .single .tag-link {
  border-radius: 4px !important;
  padding: 6px 12px !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-weight: bold !important;
  font-size: 14px !important;
  margin-right: 6px !important;
  background-color: #331e00 !important;
  color: #ff9900 !important;
  border: 1px solid #ff9900 !important;
}

.single .entry-tags a::before, .single .entry-tag a::before {
  content: "#" !important;
  margin-right: 3px !important;
  font-weight: bold !important;
}

.single .entry-tags a:hover, .single .entry-tag a:hover {
  background-color: #1a0f00 !important;
  color: #ffffff !important;
}

/* 前後の記事ナビ */
.single .pager-post-navi {
  margin-top: 80px !important;
  margin-bottom: -100px !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.single .pager-post-navi a {
  background-color: #ffffff !important;
  color: #1a0f00 !important;
  border: 1px solid rgba(26, 15, 0, 0.15) !important;
  border-radius: 6px !important;
  padding: 12px 18px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  transition: all 0.25s ease !important;
}

.single .pager-post-navi a:hover {
  background-color: #1a0f00 !important;
  color: #ffffff !important;
  border-color: #ff9900 !important;
}

/* 本文上のカテゴリー/タグ解説ボックス */
.custom-tag-description {
  background-color: #ffdfb3 !important;
  border: 1px solid #1a0f00 !important;
  border-left: 5px solid #ff9500 !important;
  padding: 12px 16px !important;
  margin-bottom: 20px !important;
  border-radius: 4px !important;
  font-size: 15px !important;
  color: #1a0f00 !important;
}

.custom-tag-description p {
  color: #1a0f00 !important;
  margin: 0 !important;
  line-height: 1.7 !important;
}

.custom-tag-description strong, .custom-tag-description a {
  color: #1a0f00 !important;
  font-weight: bold !important;
}

/* 単体記事本文内の見出し（H2） */
.single .entry-content h2 {
  background: transparent !important;
  border: none !important;
  border-left: 5px solid #ff9900 !important;
  border-bottom: 1px solid rgba(26, 15, 0, 0.2) !important;
  color: #1a0f00 !important;
  font-size: 21px !important;
  font-weight: bold !important;
  padding: 4px 0 6px 12px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}

/* 記事内の写真を画面からはみ出さないサイズに自動調整 */
.entry-content .wp-block-image img {
  max-height: 500px; /* 画像の最大の高さを指定 */
  width: auto;
  margin: 0 auto;
  display: block;
}