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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
#comments {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}
section.comment-list {
    display: none !important;
}

.comment-list {
    display: none !important;
}




















/*
Theme Name: Cocoon Child Tactical Advanced Final
Description: 水色基調・横並びタブ・統一装飾デザイン
Template: cocoon-master
Version: 14.0.0
*/
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;700&family=JetBrains+Mono:wght@400;700&display=swap');

/* ============================================
   CSS変数（水色基調）
   ============================================ */
:root {
    --ui-main: #00f2ff;
    --ui-accent: #00a8cc;
    --ui-dark: #0a2a3a;
    --ui-bg: #ffffff;
    --ui-card-bg: rgba(16, 24, 32, 0.85);
    --ui-border: rgba(0, 212, 255, 0.4);
    --ui-text: #e0e6ed;
    --grid-line: rgba(0, 212, 255, 0.1);
}

/* ============================================
   全体背景：精密グリッド
   ============================================ */
body {
    font-family: 'Chakra Petch', sans-serif !important;
    background-color: var(--ui-bg) !important;
    color: var(--ui-text) !important;
    background-image: 
        linear-gradient(var(--grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-line) 1px, transparent 1px),
        linear-gradient(rgba(0, 212, 255, 0.05) 2px, transparent 2px),
        linear-gradient(90deg, rgba(0, 212, 255, 0.05) 2px, transparent 2px) !important;
    background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px !important;
    background-attachment: fixed !important;
}

/* ============================================
   メインコンテンツエリア
   ============================================ */
#content { background: transparent !important; padding: 10px !important; }
#main { background: transparent !important; padding: 0 !important; }

/* ============================================
   タブナビゲーション（横並び・画像装飾）
   ============================================ */
.index-tab-buttons { 
    display: flex !important; 
    gap: 8px !important; 
    margin: 0 0 25px 0 !important; 
    flex-wrap: nowrap !important;
}

.index-tab-button {
    position: relative !important;
    padding: 13px 28px !important;
    margin: 0 !important;
    background: #0a1921 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border: none !important;
    clip-path: polygon(0 0, 97% 0, 100% 25%, 100% 100%, 0 100%) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    flex: 1 !important;
    box-shadow: none !important;
}

.index-tab-button::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 5px !important;
    height: 100% !important;
    background: var(--ui-main) !important;
    box-shadow: 0 0 8px var(--ui-main) !important;
    pointer-events: none !important;
}

.index-tab-button::after {
    content: "" !important;
    position: absolute !important;
    bottom: 5px !important; /* 位置をさらに下げました */
    right: 30px !important;
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--ui-main), transparent) !important;
    opacity: 0.4 !important;
}

.index-tab-button.active,
.index-tab-button:hover {
    background: var(--ui-main) !important;
    color: #000000 !important;
}

/* ============================================
   記事カードタイトル（画像装飾）
   ============================================ */
.entry-card-title,
.ect-vertical-card-title {
    position: relative !important;
    padding: 13px 24px !important;
    background: #0a1921 !important;
    clip-path: polygon(0 0, 97% 0, 100% 25%, 100% 100%, 0 100%) !important;
    box-shadow: none !important;
}

.entry-card-title::before,
.ect-vertical-card-title::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 5px !important;
    height: 100% !important;
    background: var(--ui-main) !important;
    box-shadow: 0 0 8px var(--ui-main) !important;
    pointer-events: none !important;
}

.entry-card-title::after,
.ect-vertical-card-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: 4px !important; /* 位置を限界まで下げました */
    right: 25px !important;
    width: 50px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--ui-main), transparent) !important;
    opacity: 0.4 !important;
}

.entry-card-title a,
.ect-vertical-card-title a {
    color: #ffffff !important;
    font-weight: 700 !important;
    display: block !important;
}

/* ============================================
   記事一覧見出し（画像装飾）
   ============================================ */
.article h2, 
.entry-content h2,
.post h2 {
    position: relative !important;
    padding: 14px 30px !important;
    margin: 40px 0 25px 0 !important;
    background: #0a1921 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    clip-path: polygon(0 0, 97% 0, 100% 25%, 100% 100%, 0 100%) !important;
    box-shadow: none !important;
}

.article h2::before,
.entry-content h2::before,
.post h2::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 6px !important;
    height: 100% !important;
    background: var(--ui-main) !important;
    box-shadow: 0 0 10px var(--ui-main) !important;
    pointer-events: none !important;
}

.article h2::after,
.entry-content h2::after,
.post h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: 6px !important; /* 位置を下げました */
    right: 40px !important;
    width: 80px !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, var(--ui-main), transparent) !important;
    opacity: 0.4 !important;
}

/* H3見出し */
.article h3,
.entry-content h3,
.post h3 {
    position: relative !important;
    padding: 12px 20px 12px 40px !important;
    margin: 30px 0 20px 0 !important;
    background: rgba(0, 212, 255, 0.1) !important;
    color: var(--ui-main) !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    border-left: 5px solid var(--ui-main) !important;
    border-bottom: 2px solid rgba(0, 212, 255, 0.3) !important;
}

.article h3::before,
.entry-content h3::before,
.post h3::before {
    content: "▶" !important;
    position: absolute !important;
    left: 15px !important;
    color: var(--ui-main) !important;
    font-size: 14px !important;
}

/* H4見出し */
.article h4,
.entry-content h4,
.post h4 {
    padding: 10px 15px !important;
    margin: 25px 0 15px 0 !important;
    color: var(--ui-main) !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    border-bottom: 3px double var(--ui-main) !important;
}

/* ============================================
   記事カード：幾何学装飾
   ============================================ */
.entry-card, .ect-vertical-card {
    background: var(--ui-card-bg) !important;
    border: 1px solid var(--ui-border) !important;
    margin-bottom: 25px !important;
    position: relative !important;
    overflow: visible !important;
    backdrop-filter: blur(4px);
}

.entry-card::before, .entry-card::after {
    content: "" !important;
    position: absolute !important;
    width: 20px !important; 
    height: 20px !important;
    border: 3px solid var(--ui-main) !important;
}

.entry-card::before { 
    top: -2px; 
    left: -2px; 
    border-right: none; 
    border-bottom: none; 
}

.entry-card::after { 
    bottom: -2px; 
    right: -2px; 
    border-left: none; 
    border-top: none; 
}

/* ============================================
   共通設定
   ============================================ */
::-webkit-scrollbar { width: 8px !important; }
::-webkit-scrollbar-track { background: #f0f0f0 !important; }
::-webkit-scrollbar-thumb { background: var(--ui-main) !important; }

@media (max-width: 768px) {
    #footer-in > * { flex: 1 1 100% !important; }
    
    .index-tab-button {
        font-size: 14px !important;
        padding: 12px 20px !important;
    }
    
    .article h2, 
    .entry-content h2,
    .post h2 {
        font-size: 18px !important;
        padding: 12px 20px !important;
    }
}






































































/* ========================================
   モダングラスモーフィズムヘッダーデザイン
   ======================================== */

/* ヘッダー本体 - グラスモーフィズム効果 */
#header {
  background: linear-gradient(
    135deg,
    rgba(20, 25, 35, 0.92) 0%,
    rgba(15, 20, 30, 0.95) 50%,
    rgba(20, 25, 35, 0.92) 100%
  ) !important;
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  position: relative;
  border-bottom: 1px solid rgba(102, 126, 234, 0.4);
  box-shadow:
    0 4px 30px rgba(0, 0, 0, 0.3),
    0 1px 3px rgba(102, 126, 234, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* スペーシングのリセット */
#header,
#header-container,
.header-container-in,
#header-in {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#header.is-fixed {
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.admin-bar #header.is-fixed {
  top: 32px !important;
}

.header-space,
#header + *,
.navi-in {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#header-container {
  background-color: transparent !important;
  position: relative;
}

/* グローバルナビゲーション */
#navi {
  background: linear-gradient(
    180deg,
    rgba(25, 30, 40, 0.95) 0%,
    rgba(20, 25, 35, 0.92) 100%
  ) !important;
  position: relative;
  border-top: 1px solid rgba(102, 126, 234, 0.3);
  box-shadow: 
    0 2px 20px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* テキストカラー - ライトグレー/ホワイト */
#header,
#header a,
#navi a,
.navi-in a,
.header-container-in a {
  color: #e8eef5 !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  font-weight: 500;
}

/* ホバーエフェクト - アクセントカラー */
#navi a:hover,
.navi-in a:hover {
  color: #a5b4fc !important;
  transform: translateY(-1px);
}

/* ヘッダー装飾 - 左側グラデーションアクセント */
#header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 300px;
  height: 100%;
  background: 
    radial-gradient(
      circle at 0% 50%,
      rgba(102, 126, 234, 0.15) 0%,
      transparent 60%
    );
  z-index: 0;
  pointer-events: none;
}

/* ヘッダー装飾 - 右側サブトルパターン */
#header::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 400px;
  height: 100%;
  background-image:
    radial-gradient(
      circle at 90% 20%,
      rgba(102, 126, 234, 0.12) 1px,
      transparent 1px
    ),
    radial-gradient(
      circle at 95% 80%,
      rgba(118, 75, 162, 0.12) 1px,
      transparent 1px
    );
  background-size: 40px 40px, 60px 60px;
  background-position: 0 0, 20px 20px;
  z-index: 0;
  pointer-events: none;
}

/* グローバルナビ装飾 - ミニマルライン */
#navi::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(102, 126, 234, 0.1) 20%,
    rgba(102, 126, 234, 0.2) 50%,
    rgba(102, 126, 234, 0.1) 80%,
    transparent 100%
  );
  z-index: 0;
  pointer-events: none;
}

/* グローバルナビ装飾 - トップハイライト */
#navi::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08) 0%,
    transparent 100%
  );
  z-index: 0;
  pointer-events: none;
}

/* PC表示 - メニューアイテムエフェクト */
@media screen and (min-width: 1024px) {
  #navi .navi-in > ul > li {
    position: relative;
    margin: 0 8px;
  }

  /* アンダーラインエフェクト */
  #navi .navi-in > ul > li::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 3px;
    background: linear-gradient(
      90deg,
      #667eea 0%,
      #764ba2 100%
    );
    transform: translateX(-50%);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 3px 3px 0 0;
    pointer-events: none;
  }

  #navi .navi-in > ul > li:hover::before {
    width: 90%;
  }

  /* グロウエフェクト */
  #navi .navi-in > ul > li::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(
      circle,
      rgba(102, 126, 234, 0.12) 0%,
      transparent 70%
    );
    transform: translate(-50%, -50%);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
  }

  #navi .navi-in > ul > li:hover::after {
    width: 130%;
    height: 250%;
  }

  /* アクティブ状態のインジケーター */
  #navi .navi-in > ul > li.current-menu-item::before,
  #navi .navi-in > ul > li.current_page_item::before {
    width: 90%;
    background: linear-gradient(
      90deg,
      #667eea 0%,
      #764ba2 100%
    );
  }
}

/* コンテンツのz-index調整 */
#header-container > *,
#navi .navi-in,
.logo-header,
.site-logo-image,
#navi a {
  position: relative;
  z-index: 10;
}

/* タブレット表示の最適化 */
@media screen and (max-width: 1023px) {
  #header::before {
    width: 200px;
    opacity: 0.6;
  }

  #header::after {
    width: 200px;
    opacity: 0.6;
  }

  #navi a:hover,
  .navi-in a:hover {
    transform: none;
  }
}

/* スマホ表示の最適化 */
@media screen and (max-width: 480px) {
  #header {
    backdrop-filter: blur(15px) saturate(150%);
    -webkit-backdrop-filter: blur(15px) saturate(150%);
  }

  #header::before,
  #header::after {
    width: 100px;
    opacity: 0.4;
  }

  #navi::before {
    opacity: 0.5;
  }

  /* ボーダー調整 */
  #header {
    border-bottom: 1px solid rgba(100, 150, 255, 0.15);
  }

  #navi {
    border-top: 1px solid rgba(100, 150, 255, 0.1);
  }
}

/* ========================================
   アニメーション定義
   ======================================== */

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ページロード時のアニメーション */
#header {
  animation: fadeInDown 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* フォーカス状態の強調 */
#navi a:focus-visible {
  outline: 2px solid #667eea;
  outline-offset: 4px;
  border-radius: 4px;
}






































/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
