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

/* ====================================
   統一カラーパレット
   ==================================== */
:root {
  --c-blue-main: #34568b;
  --c-blue-mid:  #5b7bb8;
  --c-blue-soft: #8fa9d1;
  --c-blue-pale: #eef3f9;
  --c-orange:    #e89c4c;
  --c-orange-d:  #c97d2e;
  --c-orange-p:  #fdf5ea;
  --c-text:      #2c3e50;
  --c-text-mute: #7a8899;
  --c-line:      #e5e9f0;
}

/* ====================================
   ヘッダー：洗練版
   ==================================== */
#header, .header-container {
  background: linear-gradient(135deg, #34568b 0%, #4d6ea8 60%, #5b7bb8 100%) !important;
  position: relative !important;
  border-bottom: 3px solid #e89c4c !important;
}
#header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -3px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #e89c4c, transparent);
}
#header-in.header-in.wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 16px !important;
  gap: 6px !important;
}
#header .tagline {
  order: 2 !important;
  font-size: 0.78em !important;
  color: rgba(255,255,255,0.85) !important;
  letter-spacing: 2px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  text-align: center !important;
  position: relative !important;
  padding: 6px 14px !important;
}
#header .tagline::before,
#header .tagline::after {
  content: "—" !important;
  color: rgba(255,255,255,0.5) !important;
  margin: 0 8px !important;
}
#header .logo,
#header .logo-header {
  order: 1 !important;
  text-align: center !important;
  margin: 0 !important;
}
#header .site-name-text-link,
#header a.site-name {
  text-decoration: none !important;
}
#header .site-name-text {
  color: #ffffff !important;
  font-size: 1.8em !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  display: inline-block !important;
  position: relative !important;
}
@media screen and (max-width: 600px) {
  #header .site-name-text { font-size: 1.4em !important; }
  #header .tagline { font-size: 0.7em !important; letter-spacing: 1px !important; }
  #header-in.header-in.wrap { padding: 18px 12px !important; }
}

/* ====================================
   グローバルナビ
   ==================================== */
#navi, .navi-in {
  background: #2d4a78 !important;
}
#navi .navi-in > .menu-header > .menu-item > a {
  color: #ffffff !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  transition: background 0.2s !important;
}
#navi .navi-in > .menu-header > .menu-item > a:hover {
  background: rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
}

/* ====================================
   記事中の汎用
   ==================================== */
.article a:not(.btn):not(.sns-button):not([style]) { color: #34568b; }
.article a:not(.btn):not(.sns-button):not([style]):hover { color: #5b7bb8; }
.btn, .more-button { background: #34568b !important; color: #fff !important; }
.btn:hover, .more-button:hover { background: #5b7bb8 !important; }
.article h2 { border-color: #5b7bb8 !important; }

/* ====================================
   トップページ：SNS・タイトル・目次・アイキャッチ非表示
   ==================================== */
body.home .sns-share.ss-top,
body.front-top-page .sns-share.ss-top,
body.page-id-1217 .sns-share.ss-top,
body.page-id-1217 .sns-share.ss-bottom,
body.home .entry-title,
body.page-id-1217 .entry-title,
body.page-id-1217 .article-header,
body.page-id-1217 .date-tags,
body.page-id-1217 .post-update-date,
body.home .toc, body.page-id-1217 .toc,
body.page-id-1217 .ez-toc-container,
body.home .eye-catch-wrap, body.page-id-1217 .eye-catch-wrap {
  display: none !important;
}

/* ====================================
   サイドバー プロフィールウィジェット
   ==================================== */
#sidebar .widget_author_box,
#sidebar aside.widget_author_box {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin-bottom: 24px !important;
}
#sidebar .author-box {
  background: #ffffff !important;
  border: 1px solid #e5e9f0 !important;
  border-top: 3px solid #e89c4c !important;
  border-radius: 12px !important;
  padding: 22px 18px !important;
  box-shadow: 0 2px 10px rgba(52,86,139,0.06) !important;
}
#sidebar .author-box img.avatar {
  width: 80px !important; height: 80px !important;
  border-radius: 50% !important;
  border: 2px solid #fdf5ea !important;
  margin: 0 auto 10px !important;
  display: block !important;
}
#sidebar .author-box .author-name,
#sidebar .author-box .author-display-name {
  text-align: center !important;
  font-size: 1.05em !important;
  font-weight: bold !important;
  color: #2c3e50 !important;
  margin: 0 0 8px !important;
  display: block !important;
}
#sidebar .author-box .author-description,
#sidebar .author-box p {
  font-size: 0.82em !important;
  color: #555 !important;
  line-height: 1.7 !important;
  text-align: center !important;
  margin: 8px 0 0 !important;
}
#sidebar .author-box a {
  color: #34568b !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-bottom: 1px solid #d8e2ee !important;
}
#sidebar .author-box .sns-follow-buttons {
  text-align: center !important;
  margin-top: 12px !important;
}
#sidebar .author-box .sns-follow-buttons a {
  background: #eef3f9 !important;
  color: #34568b !important;
  border-radius: 50% !important;
  width: 32px !important; height: 32px !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  margin: 0 4px !important;
  border-bottom: none !important;
}

/* ====================================
   サイドバー カテゴリー：タグ風ピル
   ==================================== */
#sidebar .widget_categories {
  background: #fff !important;
  border: 1px solid #e5e9f0 !important;
  border-top: 3px solid #34568b !important;
  border-radius: 12px !important;
  padding: 18px 16px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 2px 10px rgba(52,86,139,0.06) !important;
}
#sidebar .widget_categories .widget-sidebar-title,
#sidebar .widget_categories h3 {
  font-size: 0.78em !important;
  font-weight: bold !important;
  color: #34568b !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: 2.5px !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
#sidebar .widget_categories .widget-sidebar-title::before,
#sidebar .widget_categories .widget-sidebar-title::after {
  content: "—" !important;
  color: #8fa9d1 !important;
  margin: 0 8px !important;
}
#sidebar .widget_categories ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
#sidebar .widget_categories li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#sidebar .widget_categories li a {
  display: inline-block !important;
  padding: 6px 12px !important;
  background: #eef3f9 !important;
  color: #34568b !important;
  text-decoration: none !important;
  font-size: 0.78em !important;
  font-weight: 600 !important;
  border-radius: 14px !important;
  border: 1px solid #d8e2ee !important;
  transition: all 0.2s !important;
  line-height: 1.4 !important;
}
#sidebar .widget_categories li a:hover {
  background: #34568b !important;
  color: #fff !important;
  border-color: #34568b !important;
  transform: translateY(-1px) !important;
}
#sidebar .widget_categories li a::before { content: none !important; }
/* カテゴリー数表示 */
#sidebar .widget_categories li a span,
#sidebar .widget_categories li .post-count {
  background: rgba(255,255,255,0.7) !important;
  color: #5b7bb8 !important;
  font-size: 0.9em !important;
  margin-left: 4px !important;
  padding: 0 4px !important;
  border-radius: 8px !important;
}

/* ====================================
   サイドバー その他ウィジェット統一スタイル
   ==================================== */
#sidebar .widget_popular_entries,
#sidebar .widget_new_entries,
#sidebar .widget_search {
  background: #fff !important;
  border: 1px solid #e5e9f0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 1px 6px rgba(52,86,139,0.04) !important;
}
#sidebar .widget_popular_entries .widget-sidebar-title,
#sidebar .widget_new_entries .widget-sidebar-title {
  font-size: 0.78em !important;
  color: #34568b !important;
  letter-spacing: 2px !important;
  border: none !important;
  border-bottom: 1px solid #eef3f9 !important;
  padding: 0 0 8px !important;
  margin: 0 0 10px !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
}


/* ====================================
   サイドバープロフィール下のSNSアイコン非表示
   （home/feedly/rssは未連携のため）
   ==================================== */
#sidebar .author-box .sns-follow-buttons,
#sidebar .author-box .author-follows {
  display: none !important;
}

/* ====================================
   微調整：カード共通ホバー効果でアクティブ感UP
   ==================================== */
.home a[href^="/"], .home a[href*="ai-torisetu.com"] {
  transition: transform 0.18s, box-shadow 0.18s !important;
}
.home a[href^="/"]:hover, .home a[href*="ai-torisetu.com"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(52,86,139,0.12) !important;
}

/* お問い合わせCTAは違うエフェクト */
.home .article a[href="/contact/"]:hover,
.home .article a[href^="mailto:"]:hover {
  transform: none !important;
  box-shadow: none !important;
}


/* ====================================
   モバイル：サイドバーデザインを継承
   親テーマの mobile media query を上書き
   ==================================== */
@media screen and (max-width: 1023px) {
  /* プロフィール */
  #sidebar .widget_author_box,
  #sidebar aside.widget_author_box {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
  }
  #sidebar .author-box {
    background: #ffffff !important;
    border: 1px solid #e5e9f0 !important;
    border-top: 3px solid #e89c4c !important;
    border-radius: 12px !important;
    padding: 22px 18px !important;
    box-shadow: 0 2px 10px rgba(52,86,139,0.06) !important;
  }
  #sidebar .author-box img.avatar {
    width: 80px !important; height: 80px !important;
    border-radius: 50% !important;
    border: 2px solid #fdf5ea !important;
    margin: 0 auto 10px !important;
    display: block !important;
  }
  #sidebar .author-box .author-name,
  #sidebar .author-box .author-display-name {
    text-align: center !important;
    font-size: 1.05em !important;
    font-weight: bold !important;
    color: #2c3e50 !important;
    margin: 0 0 8px !important;
    display: block !important;
  }
  #sidebar .author-box .author-description,
  #sidebar .author-box p {
    font-size: 0.82em !important;
    color: #555 !important;
    line-height: 1.7 !important;
    text-align: center !important;
    margin: 8px 0 0 !important;
  }
  #sidebar .author-box a {
    color: #34568b !important;
    font-weight: bold !important;
    text-decoration: none !important;
    border-bottom: 1px solid #d8e2ee !important;
  }
  #sidebar .author-box .sns-follow-buttons,
  #sidebar .author-box .author-follows {
    display: none !important;
  }

  /* カテゴリー（タグ風） */
  #sidebar .widget_categories {
    background: #fff !important;
    border: 1px solid #e5e9f0 !important;
    border-top: 3px solid #34568b !important;
    border-radius: 12px !important;
    padding: 18px 16px !important;
    margin-bottom: 24px !important;
    box-shadow: 0 2px 10px rgba(52,86,139,0.06) !important;
  }
  #sidebar .widget_categories .widget-sidebar-title {
    font-size: 0.78em !important;
    font-weight: bold !important;
    color: #34568b !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: none !important;
    letter-spacing: 2.5px !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  #sidebar .widget_categories ul {
    list-style: none !important;
    margin: 0 !important; padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  #sidebar .widget_categories li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #sidebar .widget_categories li a {
    display: inline-block !important;
    padding: 6px 12px !important;
    background: #eef3f9 !important;
    color: #34568b !important;
    text-decoration: none !important;
    font-size: 0.78em !important;
    font-weight: 600 !important;
    border-radius: 14px !important;
    border: 1px solid #d8e2ee !important;
  }
  #sidebar .widget_categories li a::before { content: none !important; }

  /* 他ウィジェット */
  #sidebar .widget_popular_entries,
  #sidebar .widget_new_entries,
  #sidebar .widget_search {
    background: #fff !important;
    border: 1px solid #e5e9f0 !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 6px rgba(52,86,139,0.04) !important;
  }
}


/* ====================================
   サイドバーカテゴリー ホバー：シンプル化
   親の transform/shadow 効果を完全打ち消し
   ==================================== */
#sidebar .widget_categories li a,
#sidebar .widget_categories li a:hover {
  transform: none !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s !important;
}
#sidebar .widget_categories li a:hover {
  background: #34568b !important;
  color: #fff !important;
  border-color: #34568b !important;
}
@media screen and (max-width: 1023px) {
  #sidebar .widget_categories li a,
  #sidebar .widget_categories li a:hover {
    transform: none !important;
    box-shadow: none !important;
  }
  #sidebar .widget_categories li a:hover {
    background: #34568b !important;
    color: #fff !important;
  }
}


/* 内側 .list-item-caption の白背景を消す（ホバー時の違和感解消）*/
#sidebar .widget_categories li a span,
#sidebar .widget_categories li a .list-item-caption {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
@media screen and (max-width: 1023px) {
  #sidebar .widget_categories li a span,
  #sidebar .widget_categories li a .list-item-caption {
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
  }
}


/* ====================================
   サイドバー：追加ウィジェットのスタイル
   ==================================== */
#sidebar .widget_custom_html {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
}

/* タグクラウド：ピル型に統一 */
#sidebar .widget_tag_cloud {
  background: #fff !important;
  border: 1px solid #e5e9f0 !important;
  border-top: 3px solid #4ba89b !important;
  border-radius: 12px !important;
  padding: 18px 16px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 2px 10px rgba(52,86,139,0.06) !important;
}
#sidebar .widget_tag_cloud .widget-sidebar-title {
  font-size: 0.78em !important;
  font-weight: bold !important;
  color: #4ba89b !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: none !important;
  letter-spacing: 2.5px !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
#sidebar .widget_tag_cloud .tagcloud {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
#sidebar .widget_tag_cloud .tagcloud a {
  display: inline-block !important;
  font-size: 0.72em !important;
  background: #e8f4f2 !important;
  color: #2d8a7c !important;
  padding: 5px 11px !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  border: 1px solid #c8e2dc !important;
  transform: none !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s !important;
}
#sidebar .widget_tag_cloud .tagcloud a:hover {
  background: #4ba89b !important;
  color: #fff !important;
  border-color: #4ba89b !important;
}

@media screen and (max-width: 1023px) {
  #sidebar .widget_custom_html {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
  }
  #sidebar .widget_tag_cloud {
    background: #fff !important;
    border: 1px solid #e5e9f0 !important;
    border-top: 3px solid #4ba89b !important;
    border-radius: 12px !important;
    padding: 18px 16px !important;
    margin-bottom: 24px !important;
  }
  #sidebar .widget_tag_cloud .tagcloud a {
    background: #e8f4f2 !important;
    color: #2d8a7c !important;
    border: 1px solid #c8e2dc !important;
    padding: 5px 11px !important;
    border-radius: 14px !important;
  }
}


/* タグクラウド：上位10個のみ表示 */
#sidebar .widget_tag_cloud .tagcloud a:nth-of-type(n+11) {
  display: none !important;
}
@media screen and (max-width: 1023px) {
  #sidebar .widget_tag_cloud .tagcloud a:nth-of-type(n+11) {
    display: none !important;
  }
}


/* プロフィールページの目次非表示 */
body.page-id-46 .toc,
body.page-id-46 #toc,
body.page-id-46 .ez-toc-container,
body.page-id-46 .entry-title,
body.page-id-46 .article-header {
  display: none !important;
}

/* プロフィールページ下部のSNSシェア非表示 */
body.page-id-46 .sns-share,
body.page-id-46 .sns-share.ss-bottom,
body.page-id-46 .sns-share.ss-top {
  display: none !important;
}
