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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

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

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

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
/* ===== ALL検定資格ナビ デザイン (2026-07-07) ===== */
:root {
  --kn-main: #1a5fb4;
  --kn-main-dark: #134a8e;
  --kn-main-pale: #eaf1fa;
  --kn-accent: #f59e0b;
  --kn-accent-dark: #d97706;
  --kn-text: #333;
}

/* ---- ヘッダー ---- */
.header {
  background: linear-gradient(135deg, var(--kn-main) 0%, #2b7de0 100%);
  padding: 26px 0 22px;
}
.header-in { min-height: 0; }
.site-name-text, .site-name-text:hover { color: #fff; font-weight: 700; letter-spacing: .04em; }
.tagline { color: rgba(255,255,255,.85); font-size: 13px; margin-bottom: 4px; }

/* グローバルナビ */
#navi { background: var(--kn-main-dark); }
#navi .navi-in > ul li { border-right: 1px solid rgba(255,255,255,.12); }
#navi .navi-in > ul a {
  color: #fff; font-size: 14px; font-weight: 500;
  transition: background .2s;
}
#navi .navi-in > ul a:hover { background: var(--kn-main); color: #fff; }

/* ---- 全体 ---- */
body { background: #f5f7fa; color: var(--kn-text); }
a { color: var(--kn-main); }
a:hover { color: var(--kn-main-dark); }

/* ---- 見出し ---- */
.article h2 {
  background: var(--kn-main);
  color: #fff;
  padding: 12px 18px;
  border-radius: 6px;
  font-size: 22px;
}
.article h3 {
  border-left: 5px solid var(--kn-main);
  border-bottom: 1px solid #ddd;
  padding: 8px 12px;
  background: transparent;
}

/* ---- 記事内 基本情報テーブル ---- */
.article table.kentei-info {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  overflow: hidden;
}
.article .kentei-info th {
  background: var(--kn-main-pale);
  color: var(--kn-main-dark);
  width: 30%;
  font-weight: 600;
  border: none;
  border-bottom: 1px solid #d8e0ea;
  padding: 12px 14px;
}
.article .kentei-info td {
  border: none;
  border-bottom: 1px solid #e8edf3;
  padding: 12px 14px;
  background: #fff;
}
.article .kentei-info tr:last-child th,
.article .kentei-info tr:last-child td { border-bottom: none; }
@media screen and (max-width: 480px) {
  .article .kentei-info th, .article .kentei-info td {
    display: block; width: 100%;
  }
  .article .kentei-info th { border-bottom: none; padding-bottom: 4px; }
}

/* ---- 公式サイトボタン ---- */
.article a.btn {
  display: block;
  max-width: 420px;
  margin: 1.5em auto;
  padding: 15px 24px;
  background: var(--kn-accent);
  color: #fff !important;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
  border-radius: 40px;
  box-shadow: 0 3px 10px rgba(245,158,11,.35);
  transition: transform .15s, box-shadow .15s;
}
.article a.btn:hover {
  background: var(--kn-accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 5px 14px rgba(245,158,11,.45);
}

/* ---- 記事カード一覧 ---- */
.entry-card-wrap {
  background: #fff;
  border: 1px solid #e4e9f0;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
  transition: box-shadow .2s, transform .2s;
}
.entry-card-wrap:hover {
  box-shadow: 0 6px 18px rgba(26,95,180,.14);
  transform: translateY(-2px);
}
.entry-card-thumb { border-radius: 6px; overflow: hidden; }
.cat-label {
  background: var(--kn-main);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 11px;
}
.entry-card-title { font-size: 18px; font-weight: 700; }

/* ---- サイドバー ---- */
.sidebar h3 {
  background: var(--kn-main);
  color: #fff;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 16px;
}
.sidebar { background: transparent; }
.sidebar .widget { background: #fff; border: 1px solid #e4e9f0; border-radius: 10px; padding: 16px; margin-bottom: 20px; }

/* ---- アピールエリア ---- */
.appeal { background-size: cover; background-position: center; }
.appeal-in { padding: 46px 20px; }
.appeal-message { text-shadow: 0 2px 8px rgba(0,0,0,.3); }

/* ---- おすすめカード（ナビカード）---- */
.navi-card-wrap { margin-bottom: 20px; }
.navi-card-content { font-weight: 700; }

/* ---- フッター ---- */
.footer { background: #22304a; }
.footer, .footer a { color: #cdd6e4; }
.footer a:hover { color: #fff; }

/* ---- ぱんくず・メタ ---- */
.breadcrumb { font-size: 12px; }

/* ---- モバイル調整 ---- */
@media screen and (max-width: 834px) {
  .header { padding: 18px 0 14px; }
  .site-name-text { font-size: 22px; }
  .article h2 { font-size: 19px; }
}

/* ナビカード: 画像内に文字があるためオーバーレイタイトルを非表示 */
.recommended .navi-entry-card-content { display: none !important; }
.recommended { background: transparent; }
.recommended-in { padding: 10px 0; }
.navi-entry-card-thumb { border-radius: 10px; overflow: hidden; box-shadow: 0 3px 10px rgba(0,0,0,.12); }
/* ===== v2 モダングラデーション (2026-07-07) ===== */
:root {
  --kn-navy: #0b1e3d;
  --kn-cyan: #00c2ff;
}

/* ---- タイポグラフィ ---- */
.site-name-text,
.article h2, .article h3,
.appeal-title,
.sidebar h3 {
  font-family: 'Zen Kaku Gothic New', 'Hiragino Kaku Gothic ProN', sans-serif;
}

/* ---- ヘッダー: 濃紺→シアンのグラデ ---- */
.header {
  background: linear-gradient(120deg, #0b1e3d 0%, #1a5fb4 58%, #0090d4 100%);
  padding: 30px 0 24px;
}
.site-name-text, .site-name-text:hover {
  font-weight: 900;
  letter-spacing: .06em;
  text-shadow: 0 0 22px rgba(0, 194, 255, .5);
}

/* ---- グローバルナビ: sticky + ガラス ---- */
#navi {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(11, 30, 61, .92);
  box-shadow: 0 1px 0 rgba(0, 194, 255, .4), 0 6px 18px rgba(11, 30, 61, .25);
}
@supports (backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px)) {
  #navi {
    background: rgba(11, 30, 61, .78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}
#navi .navi-in > ul a { letter-spacing: .04em; }
#navi .navi-in > ul a:hover {
  background: rgba(0, 194, 255, .18);
  color: #fff;
}

/* ---- アピールエリア（ヒーロー）: 白箱廃止・大タイポ ---- */
.appeal {
  background-size: cover;
  background-position: center;
  position: relative;
}
.appeal-in { padding: 64px 20px 52px; }
.appeal-content {
  background: transparent !important;
  box-shadow: none !important;
  max-width: 920px;
  padding: 0 !important;
}
.appeal-title {
  font-size: clamp(28px, 4.6vw, 54px);
  font-weight: 900;
  color: #fff;
  line-height: 1.28;
  letter-spacing: .02em;
  text-shadow: 0 0 26px rgba(0, 194, 255, .55), 0 2px 12px rgba(0, 0, 0, .45);
}
.appeal-message {
  color: rgba(255, 255, 255, .93);
  font-size: clamp(14px, 1.7vw, 18px);
  text-shadow: 0 1px 8px rgba(0, 0, 0, .5);
  margin-top: 10px;
}
.appeal-button {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  border: none;
  border-radius: 48px;
  font-weight: 700;
  padding: 14px 44px;
  box-shadow: 0 6px 22px rgba(245, 158, 11, .5);
  transition: transform .2s, box-shadow .2s;
}
.appeal-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(245, 158, 11, .65);
}

/* ---- 実績数字ストリップ（ガラスカード） ---- */
.kn-stats {
  display: flex;
  gap: 18px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 30px auto 4px;
  max-width: 860px;
}
.kn-stat {
  background: rgba(11, 30, 61, .55);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 16px;
  padding: 16px 38px;
  text-align: center;
  color: #fff;
  min-width: 170px;
  box-shadow: 0 8px 24px rgba(11, 30, 61, .25);
}
@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
  .kn-stat {
    background: rgba(255, 255, 255, .10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}
.kn-stat-num {
  display: block;
  font-family: 'Outfit', sans-serif;
  font-size: 42px;
  font-weight: 800;
  line-height: 1.15;
  text-shadow: 0 0 20px rgba(0, 194, 255, .85);
}
.kn-stat-label {
  font-size: 12px;
  color: rgba(255, 255, 255, .85);
  letter-spacing: .08em;
}

/* ---- カードの質感 v2 ---- */
.entry-card-wrap {
  border-radius: 16px;
  border: 1px solid #e2e8f2;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(11, 30, 61, .06);
}
.entry-card-wrap:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(26, 95, 180, .18), 0 0 0 1px rgba(0, 194, 255, .35);
}
.entry-card-thumb { border-radius: 10px; }
.entry-card-thumb img { transition: transform .35s ease; }
.entry-card-wrap:hover .entry-card-thumb img { transform: scale(1.05); }

.navi-entry-card-thumb {
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(11, 30, 61, .22);
}
.navi-entry-card-thumb img { transition: transform .35s ease; }
.navi-entry-card-link:hover .navi-entry-card-thumb img { transform: scale(1.05); }

/* ---- 見出し v2 ---- */
.article h2 {
  background: linear-gradient(120deg, #0b1e3d, #1a5fb4 75%, #2b7de0);
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: .03em;
}
.article h3 {
  border-left: 5px solid var(--kn-cyan);
  border-bottom: 2px solid;
  border-image: linear-gradient(90deg, rgba(0, 194, 255, .8), rgba(0, 194, 255, 0)) 1;
  font-weight: 700;
}

/* ---- 基本情報テーブル v2 ---- */
.article .kentei-info th {
  background: linear-gradient(120deg, #12345f, #1a5fb4);
  color: #fff;
}
.article .kentei-info tr:hover td { background: #eef7ff; }

/* ---- CTAボタン v2 ---- */
.article a.btn {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  border-radius: 48px;
}
.article a.btn:hover {
  background: linear-gradient(135deg, #d97706, #f59e0b);
  box-shadow: 0 8px 26px rgba(245, 158, 11, .55);
}

/* ---- サイドバー v2 ---- */
.sidebar h3 {
  background: linear-gradient(120deg, #0b1e3d, #1a5fb4);
  letter-spacing: .04em;
}
.sidebar .widget { border-radius: 16px; }

/* ---- フッター v2 ---- */
.footer { background: #0b1e3d; position: relative; }
.footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00c2ff, #1a5fb4 55%, #f59e0b);
}

/* ---- モバイル ---- */
@media screen and (max-width: 834px) {
  .appeal-in { padding: 40px 16px 36px; }
  .kn-stat { padding: 12px 22px; min-width: 30%; }
  .kn-stat-num { font-size: 30px; }
}

/* 画像内にカテゴリバッジがあるためCocoonのラベルは非表示 */
.entry-card-thumb .cat-label, .related-entry-card-thumb .cat-label { display: none !important; }
.eye-catch .cat-label { display: none !important; }
