@charset "UTF-8";
/*
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Template: cocoon-master
Version: 1.2.0
*/

/* ===== 変数 ===== */
:root {
  --navy: #1a2a4a;
  --pink: #c49aa4;
  --purple: #8878c0;
  --white: rgba(232,228,240,0.88);
  --muted: rgba(232,228,240,0.60);
}

/* ===== フォント読み込み ===== */
@import url('https://fonts.googleapis.com/css2?family=Yomogi&display=swap');

/* ===== 星空背景 ===== */
body, html {
  background:
    linear-gradient(rgba(8,18,52,0.62), rgba(18,38,90,0.65)),
    url("https://jibunzukan.com/wp-content/uploads/2026/03/star-bg1.webp") center / cover no-repeat fixed !important;
  background-attachment: fixed !important;
  color: var(--white) !important;
  font-family: 'Yomogi', cursive !important;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 16%, rgba(200,190,230,0.07) 0%, transparent 28%),
    radial-gradient(ellipse 70% 50% at 20% 10%, rgba(136,120,192,0.10) 0%, transparent 55%),
    radial-gradient(ellipse 60% 40% at 80% 85%, rgba(180,148,160,0.08) 0%, transparent 50%);
}

/* ===== 透明化 ===== */
#wrapper, #container, #main, .content-area,
.site, .site-content, .entry-content,
article, .post, .page, .inside-article,
.wrap {
  background: transparent !important;
}

/* ===== 全体テキスト ===== */
body, p, li, span, div, a,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
}

/* ===== ヘッダー ===== */
#header {
  background: rgba(10,20,55,0.75) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(200,190,230,0.10) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
}

/* ===== サイト名 ===== */
#site-name,
#site-name a,
.site-name,
.site-name a,
h1.site-name a {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  letter-spacing: 0.22em !important;
  text-shadow:
    0 2px 16px rgba(180,148,160,0.30),
    0 1px 0 rgba(255,255,255,0.10) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: rgba(232,228,240,0.88) !important;
}

/* ===== ナビ ===== */
#navi .navi-in a {
  font-family: 'Yomogi', cursive !important;
  color: var(--muted) !important;
}
#navi .navi-in a:hover {
  color: var(--white) !important;
}

/* ===== 不要要素を非表示 ===== */
#sidebar { display: none !important; }
.sns-share { display: none !important; }
.author-box { display: none !important; }
.comment-area { display: none !important; }
.author-name, .author-link, .post-author,
a[href*="jibunadmin"], .by-author, span.author,
.author-info, .post-author-info,
.profcard, .follow-us, .author-follow,
[class*="follow"] {
  display: none !important;
}

/* 目次を非表示 */
#toc_container,
.toc_widget_list,
.table-of-contents,
[class*="toc"] {
  display: none !important;
}

/* ===== ガラスカード ===== */
.card-wrap, .entry-card-wrap {
  position: relative !important;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.08) 0%,
      rgba(180,148,160,0.05) 40%,
      rgba(136,120,192,0.04) 70%,
      rgba(255,255,255,0.02) 100%
    ) !important;
  backdrop-filter: blur(24px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(120%) !important;
  border: 1px solid rgba(200,190,230,0.16) !important;
  border-radius: 26px !important;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.16),
    0 2px 8px rgba(180,148,160,0.07),
    inset 0 1px 0 rgba(255,255,255,0.12),
    inset 0 -1px 0 rgba(255,255,255,0.04) !important;
  overflow: hidden !important;
  transition: transform 0.38s cubic-bezier(0.23,1,0.32,1), box-shadow 0.38s cubic-bezier(0.23,1,0.32,1) !important;
}

.card-wrap::before, .entry-card-wrap::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 55% !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.09) 0%, rgba(255,255,255,0.02) 40%, transparent 100%),
    radial-gradient(circle at 28% 0%, rgba(255,255,255,0.10), transparent 38%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  border-radius: 26px 26px 0 0 !important;
}

.card-wrap::after, .entry-card-wrap::after {
  content: "" !important;
  position: absolute !important;
  top: 6px !important; left: 10px !important;
  width: 38% !important; height: 2px !important;
  background: linear-gradient(90deg, rgba(255,255,255,0.25), rgba(255,255,255,0)) !important;
  border-radius: 999px !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.card-wrap:hover, .entry-card-wrap:hover {
  transform: translateY(-6px) scale(1.010) !important;
  box-shadow:
    0 20px 48px rgba(0,0,0,0.20),
    0 4px 14px rgba(180,148,160,0.10),
    inset 0 1px 0 rgba(255,255,255,0.18),
    inset 0 -1px 0 rgba(255,255,255,0.06) !important;
  border-color: rgba(200,190,230,0.22) !important;
}

.entry-card-title, .card-title {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.entry-card-content, .card-content {
  font-family: 'Yomogi', cursive !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.8 !important;
}

/* ===== カテゴリーラベル ===== */
.cat-label,
[class*="cat-label"] {
  font-family: 'Yomogi', cursive !important;
  background: rgba(136,120,192,0.65) !important;
  color: rgba(232,228,240,0.90) !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  letter-spacing: 0.15em !important;
  padding: 3px 10px !important;
  border: 1px solid rgba(200,190,230,0.20) !important;
  backdrop-filter: blur(8px) !important;
}

/* ===== 関連記事 ===== */
.related-entry-card-wrap {
  position: relative !important;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.08) 0%,
      rgba(180,148,160,0.05) 40%,
      rgba(136,120,192,0.04) 70%,
      rgba(255,255,255,0.02) 100%
    ) !important;
  backdrop-filter: blur(24px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(120%) !important;
  border: 1px solid rgba(200,190,230,0.16) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: transform 0.38s cubic-bezier(0.23,1,0.32,1), box-shadow 0.38s cubic-bezier(0.23,1,0.32,1) !important;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.16),
    0 2px 8px rgba(180,148,160,0.07),
    inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

.related-entry-card-wrap:hover {
  transform: translateY(-5px) scale(1.008) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,0.20),
    0 4px 14px rgba(180,148,160,0.10),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
  border-color: rgba(200,190,230,0.22) !important;
}

.related-entry-card-title {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.related-entry-card-content {
  font-family: 'Yomogi', cursive !important;
  color: var(--muted) !important;
  font-size: 12px !important;
}

/* ===== 前後記事ナビ ===== */
.pager-post-navi {
  display: flex !important;
  gap: 16px !important;
  margin: 40px 0 !important;
}

.pager-post-navi a {
  flex: 1 !important;
  font-family: 'Yomogi', cursive !important;
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.08) 0%,
      rgba(180,148,160,0.05) 40%,
      rgba(136,120,192,0.04) 70%,
      rgba(255,255,255,0.02) 100%
    ) !important;
  backdrop-filter: blur(24px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(120%) !important;
  border: 1px solid rgba(200,190,230,0.16) !important;
  border-radius: 20px !important;
  padding: 20px !important;
  color: var(--white) !important;
  text-decoration: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

.pager-post-navi a:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

/* ===== CTAボタン ===== */
.btn, .button, .wp-block-button__link,
.forminator-button-submit,
.forminator-quiz .forminator-button {
  position: relative !important;
  font-family: 'Yomogi', cursive !important;
  background: linear-gradient(135deg, #d4b0b8 0%, #c49aa4 45%, #b88a96 100%) !important;
  color: #2a1a24 !important;
  border-radius: 999px !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  padding: 16px 48px !important;
  border: none !important;
  box-shadow:
    0 8px 24px rgba(180,138,150,0.28),
    0 2px 8px rgba(180,138,150,0.18),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;
  transition: all 0.32s cubic-bezier(0.23,1,0.32,1) !important;
  overflow: hidden !important;
  letter-spacing: 0.08em !important;
}

.btn::before, .button::before, .wp-block-button__link::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 52% !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.20) 0%, transparent 100%) !important;
  border-radius: 999px 999px 0 0 !important;
  pointer-events: none !important;
}

.btn:hover, .button:hover, .wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 14px 32px rgba(180,138,150,0.35),
    0 4px 12px rgba(180,138,150,0.22),
    inset 0 1px 0 rgba(255,255,255,0.34) !important;
}

/* ===== 本文テキスト ===== */
.entry-content, .entry-content p,
.entry-content h1, .entry-content h2,
.entry-content h3, .entry-content li {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
  line-height: 1.9 !important;
}

/* ===== Forminatorクイズ ===== */
.forminator-quiz-wrapper {
  background: rgba(235,232,248,0.95) !important;
  border-radius: 20px !important;
  padding: 40px !important;
  margin: 40px auto !important;
  max-width: 760px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18) !important;
}

.forminator-quiz-wrapper,
.forminator-quiz-wrapper * {
  font-family: 'Yomogi', cursive !important;
  color: #2a1a34 !important;
}

.forminator-quiz-wrapper h1,
.forminator-quiz-wrapper h2,
.forminator-quiz-wrapper h3,
.forminator-quiz-wrapper .forminator-question-title {
  color: #2a1a4a !important;
}

.forminator-quiz .forminator-question {
  font-family: 'Yomogi', cursive !important;
  color: var(--white) !important;
  font-size: 18px !important;
}

.forminator-quiz .forminator-answer,
.forminator-quiz .forminator-answer label {
  font-family: 'Yomogi', cursive !important;
  background: rgba(235,232,248,0.95) !important;
  border-radius: 12px !important;
  border: 1px solid rgba(136,120,192,0.18) !important;
  margin-bottom: 12px !important;
  padding: 14px 20px !important;
  color: #2a1a34 !important;
}

.forminator-quiz-wrapper button,
.forminator-quiz-wrapper .forminator-button {
  font-family: 'Yomogi', cursive !important;
  background: linear-gradient(135deg, #d4b0b8 0%, #c49aa4 100%) !important;
  color: #2a1a24 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  box-shadow: 0 8px 20px rgba(180,138,150,0.26) !important;
}

/* Forminator結果エリア */
.forminator-quiz .forminator-quiz-result-area,
.forminator-quiz .forminator-quiz-result-area *,
.forminator-quiz .forminator-quiz-result,
.forminator-quiz .forminator-quiz-result *,
.forminator-quiz .forminator-personality,
.forminator-quiz .forminator-personality * {
  color: #1a1a2e !important;
  font-family: 'Yomogi', cursive !important;
}

.forminator-quiz .forminator-quiz-result-area {
  background: rgba(235,232,248,0.96) !important;
  border-radius: 16px !important;
  padding: 24px !important;
}

/* ===== 結果ページ専用 ===== */
.single .entry-title,
.single h1.entry-title {
  display: none !important;
}

.single .entry-header,
.single .article-header,
.single .post-header {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single .post-date,
.single .entry-date,
.single time,
.single .date {
  display: none !important;
}

.single .related-entries,
.single .related-entry-card-wrap,
.single #related-entries,
.single .related-posts {
  display: none !important;
}

.single .result-type-title,
h2.result-type-title {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  color: rgba(232,228,240,0.90) !important;
  font-size: 24px !important;
  text-align: center !important;
  padding: 8px 0 !important;
  margin-bottom: 32px !important;
  border-left: none !important;
}

/* ===== パンくずリスト ===== */
.breadcrumb, .breadcrumb a, .breadcrumb span,
#breadcrumb, #breadcrumb a, #breadcrumb span,
.breadcrumb-list, .breadcrumb-list a, .breadcrumb-list li {
  font-family: 'Yomogi', cursive !important;
  color: var(--muted) !important;
}

/* ===== フッター ===== */
#footer {
  background: rgba(8,14,38,0.92) !important;
  border-top: 1px solid rgba(200,190,230,0.08) !important;
}

#footer, #footer a, #footer p, #footer span,
#footer li, .footer-top, .footer-bottom,
.footer-content, .footer-widget, .footer-widget a,
.footer-widget p, .footer-copy, .footer-copy a {
  font-family: 'Yomogi', cursive !important;
  color: var(--muted) !important;
}

#footer a:hover {
  color: var(--white) !important;
}

/* ===== スマホ対応 ===== */
@media (max-width: 768px) {
  .forminator-quiz-wrapper {
    padding: 24px !important;
    margin: 24px 16px !important;
    border-radius: 16px !important;
  }
  #site-name a, .site-name a {
    font-size: 22px !important;
  }
  .pager-post-navi {
    flex-direction: column !important;
  }
}