/* =============================================================================
   占い道しるべ 追加CSS
   貼り付け先: WordPress管理画面 → 外観 → カスタマイズ → 追加CSS
   方針: シニアにも見やすい。濃紺・深い紫・控えめな金で静かな神秘性。
   ============================================================================= */

:root {
  --ugc-bg:        #fbfaf6;   /* やわらかい生成り */
  --ugc-bg-alt:    #f3f0e7;   /* セクション背景 */
  --ugc-ink:       #1c1d2a;   /* 本文文字色（ほぼ黒） */
  --ugc-ink-soft:  #4a4b5e;   /* サブ文字 */
  --ugc-line:      #e5e0d0;   /* 罫線 */
  --ugc-primary:   #1a1f3d;   /* 濃紺 */
  --ugc-primary-2: #2a2452;   /* 深い紫 */
  --ugc-accent:    #c9a24a;   /* 控えめな金 */
  --ugc-accent-2:  #a6823b;
  --ugc-white:     #ffffff;
  --ugc-shadow:    0 6px 24px rgba(26,31,61,0.08);
  --ugc-radius:    10px;
}

/* ==========================================================================
   ug-* 新クラス体系 (トップ・ランディング用)
   ========================================================================== */
.ug-hero {
  background:
    radial-gradient(900px 280px at 15% 10%, rgba(201,162,74,.16), transparent 60%),
    radial-gradient(700px 280px at 85% 30%, rgba(42,36,82,.28), transparent 60%),
    linear-gradient(180deg, #1a1f3d 0%, #2a2452 100%);
  color: #fff;
  padding: 4em 1.2em 3.4em;
  border-radius: 12px;
  margin: 0 0 2.4em;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.ug-hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 18% 35%, rgba(255,255,255,.6), transparent),
    radial-gradient(1px 1px at 72% 20%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 45% 70%, rgba(255,255,255,.4), transparent),
    radial-gradient(2px 2px at 88% 62%, rgba(255,255,255,.45), transparent),
    radial-gradient(1px 1px at 26% 82%, rgba(255,255,255,.35), transparent);
  opacity: .9;
  pointer-events: none;
}
.ug-hero__inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
.ug-eyebrow {
  display: inline-block; font-size: .85em; letter-spacing: .12em;
  color: #c9a24a; margin: 0 0 1.1em;
  padding: .35em 1.1em; border: 1px solid rgba(201,162,74,.5);
  border-radius: 999px;
}
.ug-hero__title { color:#fff; font-size: 2.2rem; line-height: 1.5; margin: 0 0 .7em; letter-spacing:.02em; font-weight: 700; }
.ug-hero__lead  { color:#e8e5d6; font-size: 1.05rem; line-height: 1.9; margin: 0 auto 1.6em; max-width: 640px; }
.ug-hero__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.ug-btn {
  display: inline-block; padding: 15px 26px; border-radius: 10px;
  font-weight: 700; font-size: 1.02em; text-decoration: none;
  min-width: 200px; text-align: center;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  border: 1px solid transparent; line-height: 1.4;
}
.ug-btn--primary {
  background: linear-gradient(180deg, #c9a24a, #a6823b);
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(26,31,61,0.35);
  box-shadow: 0 6px 18px rgba(26,31,61,.18);
}
.ug-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(26,31,61,.24); color:#ffffff !important; text-shadow: 0 1px 2px rgba(26,31,61,0.4); }
.ug-btn--secondary {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.6);
}
.ug-btn--secondary:hover { background: #fff; color: #1a1f3d; }

.ug-section {
  background: #fff;
  padding: 2em 1.6em;
  margin: 1.6em 0;
  border: 1px solid #e5e0d0;
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(26,31,61,.05);
}
.ug-section__head { text-align: center; margin: 0 0 1.4em; }
.ug-section__head h2 {
  font-size: 1.55rem; margin: 0 0 .4em; color: #1a1f3d;
  padding: 0; border: none; background: none; position: relative; display: inline-block;
}
.ug-section__head h2::after {
  content: ""; position: absolute; left: 50%; bottom: -.4em;
  width: 44px; height: 3px; background: #c9a24a; transform: translateX(-50%); border-radius: 2px;
}
.ug-section__head p { color: #4a4b5e; margin: .9em 0 0; font-size: .98em; }

.ug-grid-2 {
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.ug-grid-3 {
  display: grid; gap: 14px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 768px) {
  .ug-grid-3 { grid-template-columns: 1fr; }
  .ug-grid-2 { grid-template-columns: repeat(2, 1fr); }
}

.ug-cat-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 22px 14px;
  background: linear-gradient(180deg, #fff 0%, #f6f2e5 100%);
  border: 1px solid #e5e0d0; border-radius: 10px;
  text-decoration: none; color: #1a1f3d;
  box-shadow: 0 4px 14px rgba(26,31,61,.06);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  min-height: 110px;
}
.ug-cat-card:hover { transform: translateY(-2px); border-color: #c9a24a; color:#1a1f3d; box-shadow: 0 10px 22px rgba(26,31,61,.12); }
.ug-cat-card__title { display:block; font-size: 1.3rem; font-weight: 700; letter-spacing: .05em; margin-bottom: .35em; }
.ug-cat-card__desc  { display:block; font-size: .82em; color: #4a4b5e; }

.ug-card {
  background: #fbfaf6;
  padding: 18px 18px 16px;
  border: 1px solid #e5e0d0;
  border-radius: 10px;
}
.ug-card h3 {
  font-size: 1.08rem; margin: 0 0 .6em; padding: 0 0 .4em;
  border: none; background: none; color: #1a1f3d; border-bottom: 1px dashed #e5e0d0;
}
.ug-card p { margin: 0; color: #3a3b4f; font-size: .96em; line-height: 1.85; }

.ug-center { text-align: center; margin: 1.5em 0 0; }

.ug-service-box {
  display: grid; grid-template-columns: 2fr 1fr; gap: 20px;
  align-items: center;
  background: linear-gradient(180deg, #fff 0%, #f7f4ea 100%);
  border: 1px solid #e5e0d0; border-radius: 10px;
  padding: 20px;
}
.ug-service-box__body h3 {
  font-size: 1.2rem; margin: 0 0 .5em; padding: 0; border: none; background: none; color: #1a1f3d;
}
.ug-service-box__body p { margin: 0; color: #3a3b4f; font-size: .95em; line-height: 1.9; }
.ug-service-box__actions { text-align: right; }
.ug-service-box__actions .ug-btn { min-width: 0; }
@media (max-width: 700px) {
  .ug-service-box { grid-template-columns: 1fr; }
  .ug-service-box__actions { text-align: center; }
  .ug-service-box__actions .ug-btn { width: 100%; }
}

.ug-faq-list { display: flex; flex-direction: column; gap: 10px; }
.ug-faq-item {
  background: #fbfaf6; border: 1px solid #e5e0d0; border-radius: 10px;
  padding: 14px 18px;
}
.ug-faq-item h3 {
  margin: 0 0 .5em; padding: 0 0 0 1.6em;
  font-size: 1rem; color: #1a1f3d; border: none; background: none;
  position: relative;
}
.ug-faq-item h3::before {
  content: "Q"; position: absolute; left: 0; top: 0;
  width: 1.3em; height: 1.3em; line-height: 1.3em; text-align: center;
  background: #1a1f3d; color: #fff; border-radius: 4px; font-size: .85em;
}
.ug-faq-item p { margin: 0; padding-left: 1.6em; color: #3a3b4f; font-size: .95em; line-height: 1.9; }

.ug-pr {
  background: #f3f0e7; border: 1px solid #e5e0d0; color: #4a4b5e;
  padding: 12px 16px; font-size: .82em; border-radius: 8px; margin: 2em 0 0; text-align: center;
}

@media (max-width: 600px) {
  .ug-hero { padding: 2.4em 1em 2.2em; }
  .ug-hero__title { font-size: 1.55rem; }
  .ug-hero__lead  { font-size: .95rem; }
  .ug-btn { min-width: 0; width: 100%; padding: 14px 18px; }
  .ug-hero__actions { flex-direction: column; }
  .ug-section { padding: 1.3em 1.1em; }
  .ug-section__head h2 { font-size: 1.3rem; }
  .ug-cat-card__title { font-size: 1.15rem; }
}

/* ==========================================================================
   Cocoon テーマの不要装飾を抑制
   - サイドバー非表示(固定ページ/CPT/トップ)
   - 著者フォローボックス・関連記事・前後記事・投稿者情報を非表示
   - 固定ページの SNS シェアボタンを非表示
   - エントリカード上の不要デフォルトを抑制
   ========================================================================== */
#sidebar, .sidebar, #sidebar-scroll { display: none !important; }
#main, #primary, .main { width: 100% !important; max-width: 100% !important; }
.main-inner { max-width: 100% !important; }
.content-in { display: block !important; }
.main-column, .main-in { margin-right: 0 !important; }

/* フッタークレジットの大仰な飾りを抑制 */
.footer-bottom, .footer-bottom-content { font-size: .82em; }
.footer-in .footer-menu, .footer-in .footer-widgets { display: none !important; }

/* シェアボタン(固定ページ/トップ)非表示 */
.sns-share, .sns-follow { display: none !important; }

/* 著者フォローボックス非表示 */
.author-box, .author-info, .author-follow-box { display: none !important; }

/* 関連記事・前後記事・NEXT BOXなど非表示(固定ページ主体のサイト) */
.related-entries, .related-entry, .post-navi, .navi-link, .comment-area, .comment-respond, .breadcrumb { display: none !important; }

/* 独自パンくず .ugc-breadcrumb は表示 */
.ugc-breadcrumb { display: block !important; }

/* 本文幅の抑制(固定ページを中央集約) */
body.page .entry-content, body.home .entry-content, body.single-teacher .entry-content { max-width: 880px; margin-left: auto; margin-right: auto; }

/* ページヘッダーの "投稿日" 等メタ情報を固定ページで非表示 */
body.page .date-tags, body.page .entry-header .entry-meta { display: none !important; }

/* タイトルの装飾シンプル化 */
.entry-title, .entry .entry-title { font-size: 1.6rem; line-height: 1.5; }

/* サイトタイトルの強調解除(Cocoonの派手めを抑える) */
.site-name-text { font-weight: 600; letter-spacing: .03em; }

/* ---- ベース ---------------------------------------------------------------- */
body {
  background: var(--ugc-bg);
  color: var(--ugc-ink);
  font-size: 17px;                 /* シニア配慮で本文大きめ */
  line-height: 1.9;
  letter-spacing: .01em;
  font-family: "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Yu Gothic Medium","游ゴシック Medium","Meiryo",sans-serif;
}

@media (min-width: 900px) {
  body { font-size: 18px; }
}

a { color: var(--ugc-primary-2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ugc-accent-2); }

h1, h2, h3, h4 { color: var(--ugc-primary); line-height: 1.45; letter-spacing: .02em; }
h1 { font-size: 1.9rem; margin: 0 0 .8em; }
h2 {
  font-size: 1.45rem;
  margin: 2.2em 0 .9em;
  padding: .4em .6em .4em .9em;
  border-left: 4px solid var(--ugc-accent);
  background: linear-gradient(90deg, rgba(42,36,82,0.05), transparent 80%);
  border-radius: 2px;
}
h3 {
  font-size: 1.2rem;
  margin: 1.8em 0 .6em;
  padding-bottom: .3em;
  border-bottom: 1px dashed var(--ugc-line);
}

/* ---- コンテンツ幅とレイアウト ---------------------------------------------- */
.ugc-wrap { max-width: 880px; margin: 0 auto; padding: 0 16px; }

/* ---- パンくず -------------------------------------------------------------- */
.ugc-breadcrumb { font-size: .85em; color: var(--ugc-ink-soft); margin: .3em 0 1.2em; }
.ugc-breadcrumb a { color: var(--ugc-ink-soft); text-decoration: none; }
.ugc-breadcrumb a:hover { color: var(--ugc-primary); }

/* ---- PR表記 ---------------------------------------------------------------- */
.ugc-pr {
  background: var(--ugc-bg-alt);
  border: 1px solid var(--ugc-line);
  color: var(--ugc-ink-soft);
  padding: 10px 14px;
  font-size: .85em;
  border-radius: var(--ugc-radius);
  margin: 1em 0;
}
.ugc-pr--small { font-size: .8em; padding: 8px 12px; }

/* ---- ボタン ---------------------------------------------------------------- */
.ugc-btn {
  display: inline-block;
  padding: 16px 26px;
  min-width: 220px;
  text-align: center;
  background: linear-gradient(180deg, var(--ugc-accent), var(--ugc-accent-2));
  color: var(--ugc-primary);
  font-weight: 700;
  font-size: 1.05em;
  border-radius: var(--ugc-radius);
  text-decoration: none;
  box-shadow: var(--ugc-shadow);
  border: 1px solid rgba(0,0,0,.05);
  transition: transform .15s ease, box-shadow .15s ease;
}
.ugc-btn:hover {
  color: var(--ugc-primary);
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(26,31,61,.15);
}
.ugc-btn--ghost {
  background: transparent;
  color: var(--ugc-primary);
  border: 1px solid var(--ugc-primary);
  box-shadow: none;
}
.ugc-btn--ghost:hover { background: var(--ugc-primary); color: #fff; }

.ugc-cta {
  text-align: center;
  margin: 1.5em 0;
  padding: 1.4em 1em;
  background: linear-gradient(180deg, #ffffff 0%, #fbf7ec 100%);
  border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius);
  box-shadow: var(--ugc-shadow);
  position: relative;
}
.ugc-cta::before{
  content: "✦";
  position: absolute;
  top: .4em;
  left: .6em;
  color: var(--ugc-accent);
  font-size: .9em;
  opacity: .6;
}
.ugc-cta-sub { color: var(--ugc-ink-soft); margin-top: .8em; font-size: .9em; }

/* ---- ヒーローセクション（トップ/カテゴリ上部） ----------------------------- */
.ugc-hero {
  background:
    radial-gradient(1200px 300px at 10% 0%, rgba(201,162,74,.12), transparent 60%),
    radial-gradient(800px 300px at 90% 20%, rgba(42,36,82,.22), transparent 60%),
    linear-gradient(180deg, #1a1f3d 0%, #2a2452 100%);
  color: #fbfaf6;
  padding: 3em 1em 2.6em;
  border-radius: var(--ugc-radius);
  margin: 0 0 2em;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.ugc-hero::after {
  content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 15% 30%, rgba(255,255,255,.6), transparent),
    radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 40% 70%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 85% 60%, rgba(255,255,255,.5), transparent);
  opacity: .7;
  pointer-events: none;
}
.ugc-hero h1 { color: #fff; font-size: 1.8rem; margin-bottom: .5em; }
.ugc-hero p  { color: #e9e6db; font-size: 1.05rem; }
.ugc-hero .ugc-btn { margin-top: 1em; }

/* ---- 掲載サービスカード -------------------------------------------------- */
.ugc-service-list {
  list-style: none; padding: 0; margin: 1em 0;
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.ugc-service-card {
  background: #fff; padding: 18px 20px; border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius); box-shadow: var(--ugc-shadow);
}
.ugc-service-name { color: var(--ugc-primary); margin: 0 0 .4em; font-size: 1.2em; }
.ugc-service-desc { color: var(--ugc-ink-soft); margin: 0 0 1em; font-size: .95em; }
.ugc-service-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ugc-service-actions .ugc-btn { flex: 1 1 140px; min-width: 0; padding: 12px 14px; font-size: .95em; }
@media (max-width: 600px) {
  .ugc-service-actions { flex-direction: column; }
  .ugc-service-actions .ugc-btn { width: 100%; }
}

/* ---- 悩みカテゴリ 大ボタン(主導線) ----------------------------------------- */
.ugc-worry-buttons {
  list-style: none; padding: 0; margin: 1.2em 0 1.8em;
  display: grid; gap: 14px;
  grid-template-columns: repeat(5, 1fr);
}
.ugc-worry-btn { display: block; }
.ugc-worry-btn a {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 28px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f2e5 100%);
  border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius);
  text-decoration: none;
  color: var(--ugc-primary);
  box-shadow: var(--ugc-shadow);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  min-height: 120px;
}
.ugc-worry-btn a:hover {
  transform: translateY(-2px);
  border-color: var(--ugc-accent);
  box-shadow: 0 10px 24px rgba(26,31,61,.15);
}
.ugc-worry-btn__icon  {
  display: block; color: var(--ugc-accent);
  font-size: 2rem; line-height: 1; margin-bottom: .4em;
}
.ugc-worry-btn__label {
  display: block; font-weight: 700; font-size: 1.25rem; letter-spacing: .05em;
}
@media (max-width: 900px) {
  .ugc-worry-buttons { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .ugc-worry-buttons { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ugc-worry-btn a   { padding: 20px 8px; min-height: 100px; }
  .ugc-worry-btn__icon  { font-size: 1.6rem; }
  .ugc-worry-btn__label { font-size: 1.1rem; }
}

/* ---- 先生カード ------------------------------------------------------------ */
.ugc-teacher-grid {
  display: grid; gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  margin: 1em 0 1.5em;
}
.ugc-teacher-card {
  background: #fff;
  border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius);
  box-shadow: var(--ugc-shadow);
  padding: 18px 18px 16px;
  display: flex; flex-direction: column;
}
.ugc-teacher-link { text-decoration: none; color: inherit; }
.ugc-teacher-name { color: var(--ugc-primary); font-size: 1.2em; margin: 0 0 .3em; border: none; padding: 0; }
.ugc-teacher-honorific { color: var(--ugc-ink-soft); font-weight: 400; font-size: .85em; margin-left: .2em; }
.ugc-teacher-specialty { color: var(--ugc-ink-soft); font-size: .9em; margin: .2em 0; }
.ugc-teacher-summary { margin: .6em 0 1em; }
.ugc-teacher-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }
.ugc-teacher-actions .ugc-btn { min-width: 0; flex: 1 1 auto; padding: 12px 14px; font-size: .95em; }

/* ---- ラベル ---------------------------------------------------------------- */
.ugc-labels { list-style: none; padding: 0; margin: .3em 0 .6em; display: flex; flex-wrap: wrap; gap: 6px; }
.ugc-label {
  font-size: .75em; padding: 3px 8px; border-radius: 999px;
  background: #efeadf; color: var(--ugc-primary-2);
  border: 1px solid #e0d8c0;
}
.ugc-label--first_time { background: #fff6e0; border-color: #ecd9a1; color: #8a6b1b; }
.ugc-label--renai      { background: #fbe9ec; border-color: #e9c2ca; color: #8a2e3e; }
.ugc-label--fukuen     { background: #ece6f7; border-color: #c9bfe3; color: #4a3a8e; }
.ugc-label--reviews    { background: #e4ecf5; border-color: #b9ccdf; color: #2a4e73; }
.ugc-label--kind       { background: #eaf2e4; border-color: #c1d4b4; color: #3c5c2b; }

/* ---- 先生詳細 -------------------------------------------------------------- */
.ugc-teacher-detail .ugc-lead { font-size: 1.1em; color: var(--ugc-primary-2); margin: .6em 0 1em; }
.ugc-profile {
  width: 100%; border-collapse: collapse; margin: 1em 0;
  background: #fff; border: 1px solid var(--ugc-line); border-radius: var(--ugc-radius); overflow: hidden;
}
.ugc-profile th, .ugc-profile td { padding: 10px 14px; border-bottom: 1px solid var(--ugc-line); text-align: left; vertical-align: top; }
.ugc-profile th { background: var(--ugc-bg-alt); width: 30%; color: var(--ugc-primary); font-weight: 600; }
.ugc-profile tr:last-child th, .ugc-profile tr:last-child td { border-bottom: none; }

/* ---- FAQ ------------------------------------------------------------------- */
.ugc-faq { margin: 1em 0 1.5em; }
.ugc-faq-item {
  border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius);
  background: #fff;
  margin-bottom: 10px;
  padding: 10px 14px;
}
.ugc-faq-item summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ugc-primary);
  list-style: none;
  padding-left: 1.6em;
  position: relative;
}
.ugc-faq-item summary::before {
  content: "Q";
  position: absolute; left: 0; top: 0;
  width: 1.3em; height: 1.3em; line-height: 1.3em; text-align: center;
  background: var(--ugc-primary); color: #fff; border-radius: 4px;
  font-size: .85em;
}
.ugc-faq-item summary::-webkit-details-marker { display: none; }
.ugc-faq-a {
  color: var(--ugc-ink);
  margin-top: .6em; padding-left: 1.6em; position: relative;
}
.ugc-faq-a::before {
  content: "A";
  position: absolute; left: 0; top: 0;
  width: 1.3em; height: 1.3em; line-height: 1.3em; text-align: center;
  background: var(--ugc-accent); color: var(--ugc-primary); border-radius: 4px;
  font-size: .85em; font-weight: 700;
}

/* ---- セクション補助 ------------------------------------------------------- */
.ugc-section {
  padding: 1.5em 1.2em;
  background: #fff;
  border: 1px solid var(--ugc-line);
  border-radius: var(--ugc-radius);
  box-shadow: var(--ugc-shadow);
  margin: 1.5em 0;
}
.ugc-section--tint {
  background: linear-gradient(180deg, #ffffff, #f7f4ea);
}

.ugc-lead-large {
  font-size: 1.2em; line-height: 1.8; color: var(--ugc-primary);
  padding: 1em 1.2em; border-left: 4px solid var(--ugc-accent);
  background: #fff; border-radius: 0 var(--ugc-radius) var(--ugc-radius) 0;
  margin: 1.2em 0;
}

.ugc-choice-list { padding-left: 1.2em; }
.ugc-choice-list li { margin: .4em 0; }

/* ---- ページタイトル / リード ---------------------------------------------- */
.ugc-page-title {
  font-size: 1.6rem; line-height: 1.5; margin: .3em 0 .6em;
  color: var(--ugc-primary);
  letter-spacing: .01em;
}
@media (max-width: 600px) {
  .ugc-page-title { font-size: 1.35rem; }
}
.ugc-lead-simple {
  font-size: 1.05em; line-height: 1.9; color: var(--ugc-ink);
  margin: 0 0 1.2em;
}

/* 中央寄せセクション */
.ugc-section--center { text-align: center; }
.ugc-section--center .ugc-section__lead { margin-left: auto; margin-right: auto; max-width: 640px; }
.ugc-section--center .ugc-choice-list { text-align: left; display: inline-block; }

/* セクション見出し: border-left 付き(既定 h2 の gradient をオフ) */
.ugc-section__h {
  font-size: 1.35rem;
  margin: 0 0 .8em;
  padding: .2em 0 .3em .7em;
  border-left: 4px solid var(--ugc-accent);
  color: var(--ugc-primary);
  line-height: 1.5;
  background: none;
  border-radius: 0;
}
.ugc-section--center .ugc-section__h {
  border-left: none;
  padding: 0;
  display: inline-block;
  position: relative;
  padding-bottom: .4em;
}
.ugc-section--center .ugc-section__h::after {
  content: ""; position: absolute; left: 50%; bottom: 0;
  width: 48px; height: 3px; background: var(--ugc-accent);
  transform: translateX(-50%); border-radius: 2px;
}

/* ---- トップ用ヘルパ ------------------------------------------------------- */
.ugc-hero__title { color:#fff; font-size:1.9rem; margin:0 0 .5em; line-height:1.4; }
.ugc-hero__lead  { color:#e9e6db; font-size:1.05rem; margin:0; }
.ugc-section__lead { margin: .4em 0 1.2em; color: var(--ugc-ink-soft); }
.ugc-section__more { text-align: center; margin: 1.4em 0 0; }
.ugc-section__more .ugc-btn { display: inline-block; width: auto; }

/* 先生カード 均等高さ */
.ugc-teacher-grid { align-items: stretch; }
.ugc-teacher-card { height: 100%; }

/* CTA セクション内のボタンは中央寄せ */
.ugc-cta { text-align: center; }
.ugc-cta .ugc-btn { display: inline-block; width: auto; min-width: 240px; }

/* 親子要素の余白安全策 */
.entry-content > .ugc-hero:first-child,
.entry-content > section:first-child .ugc-hero { margin-top: 0; }

.entry-content > section + section { margin-top: 1.2em; }

/* 本文内の中央寄せ h1 抑制(Cocoonのデフォと衝突しないよう) */
.ugc-section h2 { clear: both; }

/* 先生カードのサイズを小さな画面でも安定化 */
.ugc-teacher-card .ugc-teacher-name { font-size: 1.15em; }
.ugc-teacher-card .ugc-teacher-summary { flex: 1 1 auto; }

/* ---- モバイル最適化 ------------------------------------------------------- */
@media (max-width: 600px) {
  body { font-size: 16px; }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.2rem; }
  .ugc-hero { padding: 2.2em 1em 2em; }
  .ugc-hero__title { font-size: 1.4rem; }
  .ugc-hero__lead  { font-size: .95rem; }
  .ugc-section { padding: 1.1em 1em; }
  .ugc-btn { min-width: 0; width: 100%; padding: 14px 16px; font-size: 1em; }
  .ugc-section__more .ugc-btn { width: 100%; }
  .ugc-cta .ugc-btn { width: 100%; min-width: 0; }
  .ugc-teacher-actions { flex-direction: column; gap: 8px; }
  .ugc-teacher-actions .ugc-btn { width: 100%; }
  .ugc-teacher-grid { grid-template-columns: 1fr; }
  .ugc-worry-grid  { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ugc-worry-tile a { padding: 16px 12px; }
  .ugc-profile th { width: 38%; font-size: .9em; padding: 8px 10px; }
  .ugc-profile td { font-size: .95em; padding: 8px 10px; }
  .ugc-labels { gap: 4px; }
  .ugc-label  { font-size: .72em; padding: 2px 7px; }
  .ugc-pr     { font-size: .8em; padding: 8px 10px; }
  .ugc-breadcrumb { font-size: .8em; }
}

/* タブレット */
@media (min-width: 601px) and (max-width: 900px) {
  .ugc-teacher-grid { grid-template-columns: repeat(2, 1fr); }
}

/* 印刷時はCTA/フローティング非表示 */
@media print {
  .ugc-floating-cta, .ugc-cta, .ugc-btn { display: none !important; }
}

/* ==========================================================================
   トップページ上部の見せ方強化(2026-04-24指定)
   ========================================================================== */
/* トップページの重複表示と余白を整理 */
.home .entry-title,
.home .page-title,
.home .archive-title,
.home .c-pageTitle,
.home .p-entry-title,
.home .post-title,
.home .entry-card-title.page-title {
  display: none !important;
}

.home .content,
.home .main,
.home #main,
.home .article,
.home .post,
.home .page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.home .article-header,
.home .entry-header,
.home .page-header,
.home .post-header {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* サイト説明文を少し控えめに */
.site-description,
.tagline,
.site-tagline,
.p-site-description {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #6e7488 !important;
  letter-spacing: .03em !important;
}

/* サイト名を今より少し強く */
.site-name,
.site-title,
.logo-text,
.custom-logo-text,
.header .site-name,
.header .site-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: .02em !important;
  color: #1a1f39 !important;
}

/* ヘッダー直下からヒーローへ自然につなぐ */
.home .ug-hero {
  margin-top: 8px !important;
}

/* ヒーロー見出しをより強く */
.ug-hero__title {
  font-size: clamp(38px, 7vw, 62px) !important;
  line-height: 1.12 !important;
  letter-spacing: .01em !important;
  margin-bottom: 18px !important;
}

/* 小見出しを短く強く */
.ug-eyebrow {
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 14px !important;
  color: #e6d39f !important;
}

/* 説明文の視認性を上げる */
.ug-hero__lead {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,.94) !important;
  max-width: 760px !important;
}

@media (max-width: 640px) {
  .site-name,
  .site-title,
  .logo-text,
  .custom-logo-text,
  .header .site-name,
  .header .site-title {
    font-size: 22px !important;
  }

  .home .ug-hero {
    margin-top: 4px !important;
    padding-top: 30px !important;
  }

  .ug-hero__title {
    font-size: 42px !important;
    line-height: 1.15 !important;
  }

  .ug-hero__lead {
    font-size: 17px !important;
    line-height: 1.85 !important;
  }
}
/* ===== top cleanup (2026-04-24) ===== */

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

/* トップページのカテゴリを1列の横いっぱいボタンに変更 */
.ug-cat-list {
  display: grid;
  gap: 14px;
}

.ug-cat-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-height: 108px;
  padding: 20px 18px;
  border-radius: 18px;
  border: 1px solid #e6e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f7f8fc 100%);
  box-shadow: 0 8px 20px rgba(24, 28, 46, 0.04);
  text-decoration: none;
}

.ug-cat-row:hover { text-decoration: none; }

.ug-cat-row__title {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #1b2040;
}

.ug-cat-row__desc {
  font-size: 15px;
  line-height: 1.8;
  color: #5c6277;
}

/* 既存の半分幅カテゴリグリッドはトップでは使わない */
.home .ug-cat-grid { display: none !important; }

/* フッターのサイト名・コピーライト付近を整理 */
.footer-site-name,
.site-footer__title,
.footer-logo,
.footer-brand,
#footer .site-name,
#footer .site-title,
#footer .logo-text,
#footer .copyright,
.footer-bottom-logo {
  display: none !important;
}

/* ヴェルニ公式フローティングCTAを削除 */
.floating-cta,
.cta-floating,
.ug-floating-cta,
.ugc-floating-cta,
[class*="floating-cta"],
[class*="fixed-cta"],
[class*="service-cta-floating"] {
  display: none !important;
}

/* 下部固定ナビの zIndex 保全 */
.bottom-menu,
.mobile-footer-menu { z-index: 20 !important; }

@media (max-width: 640px) {
  .ug-cat-row { min-height: 100px; padding: 18px 16px; }
  .ug-cat-row__title { font-size: 24px; }
  .ug-cat-row__desc { font-size: 14px; line-height: 1.7; }
}
/* ===== top visual balance tuning (2026-04-24) ===== */

/* ヒーロー内の重複した2個目ボタンを消す */
.home .ug-hero__actions .ug-btn--secondary {
  display: none !important;
}

/* カテゴリ1列ボタンの見た目を強化 */
.ug-cat-row {
  justify-content: center;
  min-height: 132px !important;
  padding: 24px 22px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f9fd 100%) !important;
  border: 1px solid #e4e8f2 !important;
  box-shadow: 0 10px 26px rgba(24, 28, 46, 0.05) !important;
}

/* カテゴリタイトルを大きく、色付きで、見た目よく */
.ug-cat-row__title {
  font-size: 36px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  color: #1e2450 !important;
  margin-bottom: 6px !important;
}

/* カテゴリ説明文を今より整える */
.ug-cat-row__desc {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #5f6880 !important;
  max-width: 28em !important;
}

/* カテゴリ見出しの見栄えも少し締める */
.home .ug-section__head h2 {
  letter-spacing: 0.01em !important;
}

/* フッターのロゴ・サイト名は復活 */
.footer-site-name,
.site-footer__title,
.footer-logo,
.footer-brand,
#footer .site-name,
#footer .site-title,
#footer .logo-text,
.footer-bottom-logo {
  display: block !important;
}

/* ただし不要なテーマ既定リンクは引き続き非表示 */
.footer .menu-item a[href*="event"],
.footer .menu-item a[href*="shop"],
.footer .menu-item a[href*="pattern"],
.footer .menu-item a[href*="author"],
.footer .menu-item a[href*="theme"],
.footer .menu-item a[href*="blog"] {
  display: none !important;
}

/* フッターのロゴ周りをきれいに整える */
#footer .site-name,
#footer .site-title,
#footer .logo-text,
.footer-logo,
.footer-brand {
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin-bottom: 10px !important;
}

#footer .site-description,
#footer .tagline,
#footer .site-tagline {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,.78) !important;
}

@media (max-width: 640px) {
  .ug-cat-row {
    min-height: 118px !important;
    padding: 20px 16px !important;
  }

  .ug-cat-row__title {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }

  .ug-cat-row__desc {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  #footer .site-name,
  #footer .site-title,
  #footer .logo-text,
  .footer-logo,
  .footer-brand {
    font-size: 22px !important;
  }
}
/* ===== top title, category, footer tuning (2026-04-24 v2) ===== */

/* トップページ不要要素を非表示 */
.home .entry-title,
.home .page-title,
.home .archive-title,
.home .c-pageTitle,
.home .p-entry-title,
.home .post-title,
.home .entry-header,
.home .article-header,
.home .date-tags,
.home .post-date,
.home .sns-share,
.home .sns-share-message,
.home .share-button,
.home .copy-info,
.home .author-box,
.home .author-info,
.home .follow-button,
.home .toc,
.home .table-of-contents,
.home #toc_container,
.home .ez-toc-container,
.home .outline-box,
.home [class*="toc"] {
  display: none !important;
}

.home .content,
.home .main,
.home #main,
.home .article,
.home .entry-content,
.home .post,
.home .page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* サイト名と説明文を強く */
.site-name,
.site-title,
.logo-text,
.custom-logo-text,
.header .site-name,
.header .site-title,
#header .site-name,
#header .site-title {
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  letter-spacing: .02em !important;
  color: #141a35 !important;
}

.site-description,
.tagline,
.site-tagline,
.p-site-description,
.header .site-description,
#header .site-description {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #5e667e !important;
  letter-spacing: .03em !important;
}

/* ヒーローを強く */
.home .ug-hero--top,
.home .ug-hero {
  margin-top: 10px !important;
  padding: 42px 26px 40px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 85% 10%, rgba(212,175,99,.22), transparent 24%),
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.10), transparent 20%),
    linear-gradient(135deg, #101735 0%, #202558 48%, #342356 100%) !important;
  box-shadow: 0 18px 42px rgba(17, 20, 44, .18) !important;
}

.home .ug-eyebrow {
  display: inline-block !important;
  margin: 0 0 20px !important;
  padding: 10px 16px !important;
  border: 1px solid rgba(212,175,99,.62) !important;
  border-radius: 999px !important;
  color: #e7cf91 !important;
  background: rgba(255,255,255,.035) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  letter-spacing: .04em !important;
}

.home .ug-hero__title {
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-size: clamp(44px, 8vw, 72px) !important;
  line-height: 1.08 !important;
  letter-spacing: .01em !important;
  font-weight: 900 !important;
  text-shadow: 0 4px 20px rgba(0,0,0,.18) !important;
}

.home .ug-hero__lead {
  margin: 0 !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 19px !important;
  line-height: 1.95 !important;
  max-width: 760px !important;
}

.home .ug-hero__actions { margin-top: 30px !important; }

.home .ug-hero__actions .ug-btn {
  min-height: 58px !important;
  font-size: 18px !important;
  border-radius: 15px !important;
}

.home .ug-hero__actions .ug-btn--secondary { display: none !important; }

/* カテゴリボタン */
.home .ug-cat-row {
  min-height: 128px !important;
  padding: 24px 22px !important;
  border-radius: 22px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8f9fd 100%) !important;
  border: 1px solid #e3e7f1 !important;
  box-shadow: 0 12px 28px rgba(24,28,46,.055) !important;
}

.home .ug-cat-row__title {
  font-size: 38px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  color: #17204a !important;
  margin: 0 !important;
}

.home .ug-cat-row__desc {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: #5b657d !important;
  margin: 0 !important;
}

/* フッターのロゴ・サイト名は残す */
#footer .site-name,
#footer .site-title,
#footer .logo-text,
.footer-logo,
.footer-brand {
  display: block !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  margin-bottom: 8px !important;
}

#footer .site-description,
#footer .tagline,
#footer .site-tagline {
  display: block !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* フッター不要リンクは消す */
.footer .menu-item a[href*="event"],
.footer .menu-item a[href*="shop"],
.footer .menu-item a[href*="pattern"],
.footer .menu-item a[href*="author"],
.footer .menu-item a[href*="theme"],
.footer .menu-item a[href*="blog"],
#footer a[href*="event"],
#footer a[href*="shop"],
#footer a[href*="pattern"],
#footer a[href*="author"],
#footer a[href*="theme"],
#footer a[href*="blog"] {
  display: none !important;
}

/* 不自然な固定CTAは消す */
.floating-cta,
.cta-floating,
.ug-floating-cta,
[class*="floating-cta"],
[class*="fixed-cta"],
[class*="service-cta-floating"] {
  display: none !important;
}

@media (max-width: 640px) {
  .site-name,
  .site-title,
  .logo-text,
  .custom-logo-text,
  .header .site-name,
  .header .site-title,
  #header .site-name,
  #header .site-title {
    font-size: 24px !important;
  }

  .site-description,
  .tagline,
  .site-tagline,
  .p-site-description {
    font-size: 13px !important;
  }

  .home .ug-hero--top,
  .home .ug-hero {
    margin-top: 8px !important;
    padding: 34px 18px 34px !important;
    border-radius: 22px !important;
  }

  .home .ug-eyebrow {
    font-size: 13px !important;
    padding: 9px 13px !important;
    margin-bottom: 18px !important;
  }

  .home .ug-hero__title {
    font-size: 48px !important;
    line-height: 1.08 !important;
    margin-bottom: 18px !important;
  }

  .home .ug-hero__lead {
    font-size: 17px !important;
    line-height: 1.85 !important;
  }

  .home .ug-cat-row {
    min-height: 118px !important;
    padding: 20px 18px !important;
  }

  .home .ug-cat-row__title { font-size: 34px !important; }
  .home .ug-cat-row__desc  { font-size: 16px !important; }

  #footer .site-name,
  #footer .site-title,
  #footer .logo-text,
  .footer-logo,
  .footer-brand {
    font-size: 22px !important;
  }
}
/* ===== 2026-04-24 nav/footer/hover tuning ===== */

/* ヘッダー右側のホーム/検索アイコンをトップで非表示 */
.home .home-menu-button,
.home .search-menu-button,
.home #navi .home-menu-button,
.home #navi .search-menu-button,
.home .menu-header-container .home-menu-button,
.home .menu-header-container .search-menu-button,
.home #search-menu-input,
.home #search-menu-open,
.home #search-menu-close {
  display: none !important;
}

/* スマホ下部の固定メニュー(ホーム/検索/トップ) 完全非表示 */
.mobile-footer-menu-buttons,
.mobile-menu-buttons,
.mblt-footer-mobile-buttons .mobile-menu-buttons,
#mobile-footer-menu,
.mobile-footer-menu {
  display: none !important;
}
body.mblt-footer-mobile-buttons {
  padding-bottom: 0 !important;
}

/* カテゴリ行の hover / active */
.ug-cat-row {
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease !important;
  cursor: pointer;
}
.ug-cat-row:hover {
  transform: translateY(-2px);
  border-color: #c9a24a !important;
  box-shadow: 0 14px 32px rgba(24,28,46,.09) !important;
  background: linear-gradient(180deg, #ffffff 0%, #faf6ea 100%) !important;
}
.ug-cat-row:hover .ug-cat-row__title { color: #12184a !important; }
.ug-cat-row:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(24,28,46,.08) !important;
}
.ug-cat-row:focus-visible {
  outline: 2px solid #c9a24a;
  outline-offset: 3px;
}
/* ===== service index card (2026-04-24) ===== */
.ug-service-card {
  background: #fff;
  border: 1px solid #e5e7ef;
  border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow: 0 10px 26px rgba(24,28,46,.06);
}
.ug-service-card__head {
  display: flex; align-items: baseline; gap: 12px;
  border-bottom: 1px solid #eef0f6; padding-bottom: 10px; margin-bottom: 14px;
}
.ug-service-card__head h3 {
  margin: 0; color: #17204a; font-size: 1.4rem; font-weight: 800; border: none; background: none;
}
.ug-service-card__tag {
  display: inline-block; font-size: .78em;
  padding: 3px 10px; border-radius: 999px;
  background: #f1ecd9; color: #8a6b1b; margin: 0;
}
.ug-service-card__summary { color: #3a3b4f; line-height: 1.95; margin: 0 0 1em; }
.ug-service-card__meta h4 {
  font-size: 1rem; color: #1a1f3d; margin: 0 0 .5em;
}
.ug-service-card__meta .ugc-choice-list { margin: 0 0 1em 1.2em; }
.ug-service-card__actions {
  display: flex; gap: 10px; margin-top: 1em;
}
.ug-service-card__actions .ug-btn { flex: 1 1 180px; min-width: 0; }
@media (max-width: 600px) {
  .ug-service-card__actions { flex-direction: column; }
  .ug-service-card__actions .ug-btn { width: 100%; }
}
/* ===== global fixed-page cleanup (2026-04-24 audit) ===== */
.page .sns-share,
.page .sns-share-message,
.page .share-button,
.page .copy-info,
.page .author-box,
.page .author-info,
.page .follow-button,
.page .post-date,
.page .date-tags,
.page .entry-date,
.page .modified-date,
.page .post-update,
.page .toc,
.page .table-of-contents,
.page #toc_container,
.page .ez-toc-container,
.page .outline-box,
.page [class*="toc"],
.page .eye-catch,
.page .eyecatch,
.page .eye-catch-wrap,
.page .article-header .eye-catch,
.page .footer-meta,
.page .article-footer,
.page .sns-follow,
.page .author-follow,
.single .sns-share,
.single .sns-share-message,
.single .copy-info,
.single .author-box,
.single .follow-button {
  display: none !important;
}

.mobile-footer-menu-buttons,
.mobile-menu-buttons,
#mobile-footer-menu,
body.mblt-footer-mobile-buttons .mobile-footer-menu-buttons {
  display: none !important;
}
body.mblt-footer-mobile-buttons { padding-bottom: 0 !important; }

.page .entry-header,
.page .article-header,
.page .page-title,
.page .entry-title,
.page .post-title { display: none !important; }

.ug-page-header,
.ug-page-header h1 { display: block !important; }

.page .content,
.page .main,
.page #main,
.page .article,
.page .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.breadcrumb,
.breadcrumbs,
.breadcrumb-list {
  font-size: 13px !important;
  color: #6f7688 !important;
  margin: 10px auto 14px !important;
}

/* ========================================================================
 *  カテゴリページ 先生紹介エリア — 共通テンプレ (v105 Phase 1 整理版)
 *
 *  v75〜v104 の fukuen 完成形をベースに、他カテゴリ横展開可能な
 *  「共通基底 + カテゴリmodifier」構造へ整理 (Phase 1: CSS共通化のみ)。
 *  /worry/fukuen/ の見た目は v104 と完全同一を維持。
 *
 *  Phase 1 (この版):
 *    - .ugc-category-zone (基底) + .ugc-category-zone--fukuen (色modifier)
 *      に整理。既存fukuen HTML (.ugc-fukuen-teacher-zone) は selector list で
 *      同じ見た目になるよう保持 (HTML変更ゼロで visual = v104 完全同一)。
 *    - body.page-id-9 依存のうち、Cocoon上書きと特異性比較で安全な
 *      H3 reset / lead-simple / subsection-title / .ugc-pr--fukuen を
 *      class-only セレクタに移行 (5ルール)。
 *    - (a) hide rule のみ body:not(.page-id-8):not(.page-id-9) で維持
 *      (renai/fukuen以外のカテゴリで teacher-card が誤露出しないよう抑制)。
 *    - v110: フッター下部「占い道しるべ」ロゴ非表示 (i') と 法務リンク
 *      余白上書き (g2) を撤去 → カテゴリページのフッター下部は
 *      トップページと完全同一の見た目に統一。!important も 2個減 (4→2)。
 *
 *  Phase 2 (次回): 他4カテゴリ HTML を <section class="ugc-category-zone
 *    ugc-category-zone--{slug}"> に書き換え。整理中ノートはまだ維持。
 *  Phase 3: 各カテゴリの先生カード5枚 + CTA 実データ投入。
 *
 *  HTML構造 (fukuen 現状):
 *    <section class="ugc-fukuen-teacher-zone">
 *      <h1 class="ugc-page-title"> + <p class="ugc-lead-simple">
 *      <div class="ugc-teacher-grid ugc-teacher-grid--fukuen">
 *        <article class="ugc-teacher-card"> × 5
 *          <h3 class="ugc-teacher-name">
 *          <p class="ugc-teacher-summary">
 *            <span class="ugc-teacher-summary__icon">✦</span>
 *          <a class="ugc-btn"> アフィリエイトURL
 *      <div class="ugc-cta ugc-cta--fukuen-lp">
 *        <div class="ugc-cta__title" role="heading" aria-level="2">
 *        <p class="ugc-cta__lead"> + <a class="ugc-btn">
 *    </section>
 *    <p class="ug-pr ugc-pr ugc-pr--fukuen"> 統合PR文 (v104 共通文)
 * ====================================================================== */

/* (a) 先生カード関連クラスは未整備カテゴリでは非表示。
       Phase 1: page-id-9 維持。Phase 2 で
       body:not(.page-id-9):not(:has(.ugc-category-zone)) 化候補。
       v108: 恋愛(page-id-8)にも先生カード10人を投入したため
       :not(.page-id-8) を併記して renai のカードも非表示対象から除外。
       v117: 金運(page-id-10)にも先生カード10人を投入したため
       :not(.page-id-10) も併記して kinun のカードも非表示対象から除外。
       v119: 仕事(page-id-11) / 人間関係(page-id-12) にも先生カード10人ずつ
       投入したため :not(.page-id-11):not(.page-id-12) も併記。全5カテゴリ
       (8/9/10/11/12) のカードを非表示対象から除外する形で完成。 */
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .ug-teacher-card,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .teacher-card,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .teacher-list,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .teacher-archive,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) [class*="teacher-card"],
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) [class*="teacher-list"],
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .ugc-teacher-grid,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .ugc-teacher-card,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .ugc-teacher-link,
body:not(.page-id-8):not(.page-id-9):not(.page-id-10):not(.page-id-11):not(.page-id-12) .ugc-teacher-detail {
  display: none;
}

/* (b1) カテゴリゾーン基底: 構造のみ (border / radius / padding / margin)
        Phase 1: 既存 .ugc-fukuen-teacher-zone HTML を破壊しないため
        selector list に併記。Phase 2 で fukuen HTML を
        .ugc-category-zone .ugc-category-zone--fukuen に書き換え後、
        .ugc-fukuen-teacher-zone を CSSから削除可。 */
.ugc-category-zone,
.ugc-fukuen-teacher-zone {
  border: none;
  border-radius: 22px;
  padding: 28px 22px;
  margin: 1em 0 1.5em;
}

/* (b2) カテゴリ色 modifier
        各カテゴリを淡い専用色 + 右下にクリーム系を混ぜる方針 (v106 Phase 2)。
        既存fukuen HTML は .ugc-fukuen-teacher-zone のみ → dual selector で適用。 */

/* 復縁 (page-id-9): lavender (H1::after L3364 紫アクセント線と同系) */
.ugc-category-zone--fukuen,
.ugc-fukuen-teacher-zone {
  background:
    radial-gradient(circle at 30% 0%, rgba(180, 130, 255, .16), transparent 35%),
    linear-gradient(135deg, #f8f2ff 0%, #efe3ff 48%, #fff8ef 100%);
}

/* 恋愛 (page-id-8): pink */
.ugc-category-zone--renai {
  background:
    radial-gradient(circle at 30% 0%, rgba(255, 150, 180, .16), transparent 35%),
    linear-gradient(135deg, #fff2f5 0%, #fde5eb 48%, #fff8ef 100%);
}

/* 金運 (page-id-10): gold */
.ugc-category-zone--kinun {
  background:
    radial-gradient(circle at 30% 0%, rgba(226, 190, 95, .18), transparent 35%),
    linear-gradient(135deg, #fff8e8 0%, #f8edc8 48%, #fff8ef 100%);
}

/* 仕事 (page-id-11): blue */
.ugc-category-zone--shigoto {
  background:
    radial-gradient(circle at 30% 0%, rgba(100, 150, 220, .14), transparent 35%),
    linear-gradient(135deg, #f0f6ff 0%, #dfeafb 48%, #fff8ef 100%);
}

/* 人間関係 (page-id-12): green */
.ugc-category-zone--ningenkankei {
  background:
    radial-gradient(circle at 30% 0%, rgba(120, 190, 140, .14), transparent 35%),
    linear-gradient(135deg, #f2fbf4 0%, #dfeee3 48%, #fff8ef 100%);
}

/* (b3) H1見出し+導入文 中央寄せ (旧 .ug-page-header text-align:center 相当) */
.ugc-category-zone > .ugc-page-title,
.ugc-category-zone > .ugc-lead-simple,
.ugc-fukuen-teacher-zone > .ugc-page-title,
.ugc-fukuen-teacher-zone > .ugc-lead-simple {
  text-align: center;
}

/* (b4) H1左右に ✦ アクセント (左右対称配置) */
.ugc-category-zone > .ugc-page-title::before,
.ugc-category-zone > .ugc-page-title::after,
.ugc-fukuen-teacher-zone > .ugc-page-title::before,
.ugc-fukuen-teacher-zone > .ugc-page-title::after {
  content: "✦";
  color: var(--ugc-accent);
  font-size: .85em;
  opacity: .85;
  display: inline-block;
  vertical-align: .05em;
}
.ugc-category-zone > .ugc-page-title::before,
.ugc-fukuen-teacher-zone > .ugc-page-title::before { margin-right: .35em; }
.ugc-category-zone > .ugc-page-title::after,
.ugc-fukuen-teacher-zone > .ugc-page-title::after { margin-left: .35em; }

/* (c) 導入文 .ugc-lead-simple のカテゴリゾーン内サイズ
        Phase 1: body.page-id-9 .ugc-lead-simple → class-only に移行。
        特異性 .ugc-fukuen-teacher-zone .ugc-lead-simple = (0,2,0) は
        共通 .ugc-lead-simple (L538) (0,1,0) を上回り、!important なしで勝つ。 */
.ugc-category-zone .ugc-lead-simple,
.ugc-fukuen-teacher-zone .ugc-lead-simple {
  font-size: 1.12em;
  line-height: 1.9;
  color: #4f586f;
  font-weight: 500;
}

/* (d) 先生カードグリッド + カード余白
        Phase 1: .ugc-teacher-grid--fukuen modifier ベース維持。
        Phase 2 で .ugc-teacher-grid--{slug} を modifier 別に追加可能。
        v108: 恋愛 (.ugc-teacher-grid--renai) を selector list に追加。
        v117: 金運 (.ugc-teacher-grid--kinun) を selector list に追加。
        v119: 仕事 (--shigoto) / 人間関係 (--ningenkankei) を selector list に追加。
              全5カテゴリ統合完了。 */
.ugc-teacher-grid--fukuen,
.ugc-teacher-grid--renai,
.ugc-teacher-grid--kinun,
.ugc-teacher-grid--shigoto,
.ugc-teacher-grid--ningenkankei {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.ugc-teacher-grid--fukuen .ugc-teacher-card,
.ugc-teacher-grid--renai .ugc-teacher-card,
.ugc-teacher-grid--kinun .ugc-teacher-card,
.ugc-teacher-grid--shigoto .ugc-teacher-card,
.ugc-teacher-grid--ningenkankei .ugc-teacher-card {
  padding: 16px 16px 14px;
}

/* (e) 先生名 H3 reset
        Phase 1: body.page-id-9 .ugc-teacher-grid--fukuen .ugc-teacher-name
        → class-only に移行。特異性 .ugc-fukuen-teacher-zone .ugc-teacher-name
        (0,2,0) は Cocoon `.article h3` (0,1,1) を上回る (第2列 2>1)。
        !important なしで Cocoon上書き。 */
.ugc-category-zone .ugc-teacher-name,
.ugc-fukuen-teacher-zone .ugc-teacher-name {
  background: none;
  border: none;
  padding: 0 0 .55em;
  margin: 0 0 .7em;
  font-size: 1.05em;
  font-weight: 700;
  color: var(--ugc-primary);
  text-align: center;
  line-height: 1.5;
  position: relative;
}
.ugc-category-zone .ugc-teacher-name::after,
.ugc-fukuen-teacher-zone .ugc-teacher-name::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 32px;
  height: 2px;
  background: var(--ugc-accent);
  opacity: .7;
}

/* (f) カード本文 + 先頭✦アイコン
        Phase 1: .ugc-teacher-grid--fukuen 維持。
        v108: 恋愛 (.ugc-teacher-grid--renai) を selector list に追加。
        v117: 金運 (.ugc-teacher-grid--kinun) を selector list に追加。
        v119: 仕事 (--shigoto) / 人間関係 (--ningenkankei) を selector list に追加。 */
.ugc-teacher-grid--fukuen .ugc-teacher-summary,
.ugc-teacher-grid--renai .ugc-teacher-summary,
.ugc-teacher-grid--kinun .ugc-teacher-summary,
.ugc-teacher-grid--shigoto .ugc-teacher-summary,
.ugc-teacher-grid--ningenkankei .ugc-teacher-summary {
  font-size: .95em;
  line-height: 1.75;
  color: #4a4f63;
}
.ugc-teacher-grid--fukuen .ugc-teacher-summary__icon,
.ugc-teacher-grid--renai .ugc-teacher-summary__icon,
.ugc-teacher-grid--kinun .ugc-teacher-summary__icon,
.ugc-teacher-grid--shigoto .ugc-teacher-summary__icon,
.ugc-teacher-grid--ningenkankei .ugc-teacher-summary__icon {
  color: var(--ugc-accent);
  margin-right: .25em;
  font-size: .95em;
  opacity: .85;
}

/* (g) PR文 .ugc-pr--{slug} フォントサイズ (5カテゴリ統合PR文)
        Phase 1: body.page-id-9 .ug-pr/.ugc-pr → modifier-only に移行済。
        Phase 2: 他4カテゴリ modifier を selector list 拡張。
        .ugc-pr--{slug} は <p class="ug-pr ugc-pr ugc-pr--{slug}"> の
        modifier class (0,1,0)。共通 .ugc-pr (L274 0,1,0 font-size:.85em) と
        同特異性で source order 後勝ち cascade で勝つ。
        ([class*="ugc-pr--"] は .ugc-pr--small (L283) 等の別用途 modifier
         にも誤マッチするため使わず、明示modifier列挙方式)。 */
.ugc-pr--fukuen,
.ugc-pr--renai,
.ugc-pr--kinun,
.ugc-pr--shigoto,
.ugc-pr--ningenkankei {
  font-size: 1.12em;
  line-height: 1.7;
}

/* (h) LP導線CTA (どの先生を選ぶか迷ったら)
        v107: 恋愛 (.ugc-cta--renai-lp) を selector list に追加。
        v117: 金運 (.ugc-cta--kinun-lp) を selector list に追加。
        v119: 仕事 (.ugc-cta--shigoto-lp) / 人間関係 (.ugc-cta--ningenkankei-lp)
              を selector list に追加。全5カテゴリ統合完了。
        v95/v96/v94 で確立した cream gradient / ::before非表示 / title リセット /
        ✦左右対称 / <div role="heading"> 構造をカテゴリ間で共有。 */
.ugc-cta--fukuen-lp,
.ugc-cta--renai-lp,
.ugc-cta--kinun-lp,
.ugc-cta--shigoto-lp,
.ugc-cta--ningenkankei-lp {
  background: linear-gradient(180deg, #fdf9f1 0%, #faf2dc 100%);
  padding: 1.6em 1.4em 1.5em;
  margin-top: .4em;
}
.ugc-cta--fukuen-lp::before,
.ugc-cta--renai-lp::before,
.ugc-cta--kinun-lp::before,
.ugc-cta--shigoto-lp::before,
.ugc-cta--ningenkankei-lp::before {
  display: none;
}
.ugc-cta--fukuen-lp .ugc-cta__title,
.ugc-cta--renai-lp .ugc-cta__title,
.ugc-cta--kinun-lp .ugc-cta__title,
.ugc-cta--shigoto-lp .ugc-cta__title,
.ugc-cta--ningenkankei-lp .ugc-cta__title {
  margin: 0 0 .6em;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font-size: 1.15em;
  font-weight: 700;
  color: var(--ugc-primary);
  line-height: 1.5;
  text-align: center;
}
.ugc-cta--fukuen-lp .ugc-cta__title::before,
.ugc-cta--fukuen-lp .ugc-cta__title::after,
.ugc-cta--renai-lp .ugc-cta__title::before,
.ugc-cta--renai-lp .ugc-cta__title::after,
.ugc-cta--kinun-lp .ugc-cta__title::before,
.ugc-cta--kinun-lp .ugc-cta__title::after,
.ugc-cta--shigoto-lp .ugc-cta__title::before,
.ugc-cta--shigoto-lp .ugc-cta__title::after,
.ugc-cta--ningenkankei-lp .ugc-cta__title::before,
.ugc-cta--ningenkankei-lp .ugc-cta__title::after {
  content: "✦";
  color: var(--ugc-accent);
  font-size: .85em;
  opacity: .8;
  display: inline-block;
  vertical-align: .05em;
}
.ugc-cta--fukuen-lp .ugc-cta__title::before,
.ugc-cta--renai-lp .ugc-cta__title::before,
.ugc-cta--kinun-lp .ugc-cta__title::before,
.ugc-cta--shigoto-lp .ugc-cta__title::before,
.ugc-cta--ningenkankei-lp .ugc-cta__title::before { margin-right: .4em; }
.ugc-cta--fukuen-lp .ugc-cta__title::after,
.ugc-cta--renai-lp .ugc-cta__title::after,
.ugc-cta--kinun-lp .ugc-cta__title::after,
.ugc-cta--shigoto-lp .ugc-cta__title::after,
.ugc-cta--ningenkankei-lp .ugc-cta__title::after  { margin-left: .4em; }
.ugc-cta--fukuen-lp .ugc-cta__lead,
.ugc-cta--renai-lp .ugc-cta__lead,
.ugc-cta--kinun-lp .ugc-cta__lead,
.ugc-cta--shigoto-lp .ugc-cta__lead,
.ugc-cta--ningenkankei-lp .ugc-cta__lead {
  margin: 0 0 1em;
  color: var(--ugc-ink);
  line-height: 1.8;
  font-size: .95em;
}
.ugc-cta--fukuen-lp .ugc-btn,
.ugc-cta--renai-lp .ugc-btn,
.ugc-cta--kinun-lp .ugc-btn,
.ugc-cta--shigoto-lp .ugc-btn,
.ugc-cta--ningenkankei-lp .ugc-btn {
  display: inline-block;
  width: auto;
  min-width: 240px;
}

/* (j) 小見出し .ugc-subsection-title (「先生を選ぶポイント」「よくある質問」)
        Phase 1: body.page-id-9 → class-only に移行。
        特異性 .ugc-subsection-title (0,1,0) は共通 .ugc-section__h (0,1,0) と
        同等で source order 後勝ち cascade で勝つ。 */
.ugc-subsection-title {
  background: none;
  border: none;
  padding: 0 0 .35em;
  margin: 1.4em 0 .8em;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ugc-primary);
  line-height: 1.5;
  position: relative;
}
.ugc-subsection-title:first-child {
  margin-top: 0;
}

/* (i) スマホ (max-width: 600px) 用調整 — Phase 1: 上記すべての class-only
       移行に追従して body.page-id-9 を撤去。 */
@media (max-width: 600px) {
  .ugc-category-zone,
  .ugc-fukuen-teacher-zone { padding: 22px 14px; border-radius: 18px; margin: .8em 0 1.2em; }
  .ugc-teacher-grid--fukuen,
  .ugc-teacher-grid--renai,
  .ugc-teacher-grid--kinun,
  .ugc-teacher-grid--shigoto,
  .ugc-teacher-grid--ningenkankei { grid-template-columns: 1fr; gap: 14px; }
  .ugc-category-zone .ugc-teacher-name,
  .ugc-fukuen-teacher-zone .ugc-teacher-name { font-size: 1em; }
  .ugc-category-zone .ugc-teacher-name::after,
  .ugc-fukuen-teacher-zone .ugc-teacher-name::after { width: 28px; }
  .ugc-category-zone .ugc-lead-simple,
  .ugc-fukuen-teacher-zone .ugc-lead-simple { font-size: 1.05em; }
  .ugc-pr--fukuen,
  .ugc-pr--renai,
  .ugc-pr--kinun,
  .ugc-pr--shigoto,
  .ugc-pr--ningenkankei { font-size: 1.05em; }
  .ugc-cta--fukuen-lp,
  .ugc-cta--renai-lp { padding: 1.2em 1em; }
  .ugc-cta--fukuen-lp .ugc-btn,
  .ugc-cta--renai-lp .ugc-btn { width: 100%; min-width: 0; }
  .ugc-subsection-title { font-size: 1.05rem; margin: 1.2em 0 .7em; }
}

.ug-service-note,
.ug-empty-note {
  background: #f8f9fd;
  border: 1px solid #e6eaf3;
  border-radius: 18px;
  padding: 18px 16px;
  color: #4f586f;
  line-height: 1.9;
}
.ug-empty-note strong { color: #1b2040; }

.ug-cat-row { width: 100% !important; }

#footer .site-name,
#footer .site-title,
#footer .logo-text,
.footer-logo,
.footer-brand { display: block !important; }

#footer a[href*="event"],
#footer a[href*="shop"],
#footer a[href*="pattern"],
#footer a[href*="author"],
#footer a[href*="theme"],
#footer a[href*="blog"],
#footer .sns-share,
#footer .follow-button,
#footer .copy-info {
  display: none !important;
}
/* ===== final hero title and category balance (2026-04-24) ===== */
.home .ug-hero__title,
.ug-hero--top .ug-hero__title {
  font-size: clamp(52px, 10vw, 86px) !important;
  line-height: 1.04 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  text-shadow: 0 5px 24px rgba(0,0,0,.24) !important;
  margin: 0 0 22px !important;
}

.home .ug-hero,
.home .ug-hero--top {
  padding-top: 48px !important;
  padding-bottom: 46px !important;
}

.home .ug-eyebrow,
.ug-hero--top .ug-eyebrow {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 18px !important;
}

.home .ug-hero__lead,
.ug-hero--top .ug-hero__lead {
  font-size: 18px !important;
  line-height: 1.9 !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.92) !important;
}

@media (max-width: 640px) {
  .home .ug-hero__title,
  .ug-hero--top .ug-hero__title {
    font-size: 52px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 20px !important;
  }
  .home .ug-hero,
  .home .ug-hero--top {
    padding-top: 40px !important;
    padding-bottom: 38px !important;
  }
}

/* カテゴリボタン中央揃え+大型化 */
.home .ug-cat-row,
.ug-cat-row {
  min-height: 128px !important;
  padding: 24px 18px !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
}

.home .ug-cat-row__title,
.ug-cat-row__title {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 42px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  color: #17204a !important;
  margin: 0 !important;
}

.home .ug-cat-row__desc,
.ug-cat-row__desc {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  color: #5b657d !important;
  margin: 0 !important;
}

.home .ug-cat-row:hover,
.ug-cat-row:hover,
.home .ug-cat-row:focus-visible,
.ug-cat-row:focus-visible {
  transform: translateY(-2px) !important;
  border-color: #c9a24a !important;
  box-shadow: 0 16px 34px rgba(24,28,46,.09) !important;
}

@media (max-width: 640px) {
  .home .ug-cat-row,
  .ug-cat-row {
    min-height: 116px !important;
    padding: 20px 16px !important;
    gap: 8px !important;
  }
  .home .ug-cat-row__title,
  .ug-cat-row__title {
    font-size: 38px !important;
    line-height: 1.08 !important;
  }
  .home .ug-cat-row__desc,
  .ug-cat-row__desc {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
}
/* ===== site title focus fix (2026-04-24) ===== */
.home .ug-hero__title,
.ug-hero--top .ug-hero__title { display: none !important; }

.site-description,
.tagline,
.site-tagline,
.p-site-description,
.header .site-description,
#header .site-description {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #697187 !important;
  letter-spacing: .03em !important;
  margin-bottom: 12px !important;
}

.site-name,
.site-title,
.logo-text,
.custom-logo-text,
.header .site-name,
.header .site-title,
#header .site-name,
#header .site-title,
.logo-header .site-name,
.logo-header .site-title {
  font-size: 42px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  color: #151b3a !important;
  text-align: center !important;
}

.logo-header,
.header-in,
.hlt-center-logo-wrap,
.logo,
.site-logo { text-align: center !important; }

#header,
.header,
.logo-header {
  padding-top: 16px !important;
  padding-bottom: 18px !important;
}

.home .ug-hero,
.home .ug-hero--top {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

.home .ug-eyebrow,
.ug-hero--top .ug-eyebrow {
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
  margin-bottom: 22px !important;
}

.home .ug-hero__lead,
.ug-hero--top .ug-hero__lead {
  font-size: 19px !important;
  line-height: 1.9 !important;
  font-weight: 500 !important;
}

@media (max-width: 640px) {
  .site-name,
  .site-title,
  .logo-text,
  .custom-logo-text,
  .header .site-name,
  .header .site-title,
  #header .site-name,
  #header .site-title,
  .logo-header .site-name,
  .logo-header .site-title {
    font-size: 34px !important;
    line-height: 1.22 !important;
    letter-spacing: .04em !important;
  }
  .site-description,
  .tagline,
  .site-tagline,
  .p-site-description {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  #header,
  .header,
  .logo-header {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }
  .home .ug-hero,
  .home .ug-hero--top {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .home .ug-eyebrow,
  .ug-hero--top .ug-eyebrow {
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 18px !important;
  }
  .home .ug-hero__lead,
  .ug-hero--top .ug-hero__lead {
    font-size: 17px !important;
    line-height: 1.85 !important;
  }
}
/* ===== worry section anchor and colored category buttons (2026-04-24) ===== */
#worry-section { scroll-margin-top: 24px; }

.ug-cat-list--colored {
  display: grid;
  gap: 18px;
}

.ug-cat-list--colored .ug-cat-row {
  position: relative;
  overflow: hidden;
  min-height: 132px !important;
  padding: 24px 20px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(26, 31, 54, .08) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px !important;
  box-shadow: 0 14px 32px rgba(24, 28, 46, .06) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ug-cat-list--colored .ug-cat-row::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .9;
  z-index: 0;
}

.ug-cat-list--colored .ug-cat-row > span {
  position: relative;
  z-index: 1;
}

.ug-cat-row__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 18px rgba(24,28,46,.08) !important;
}

.ug-cat-list--colored .ug-cat-row__title {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  font-size: 40px !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  color: #17204a !important;
  margin: 0 !important;
}

.ug-cat-list--colored .ug-cat-row__desc {
  display: block !important;
  width: 100% !important;
  max-width: 24em !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  color: #5d667c !important;
  margin: 0 !important;
}

/* 恋愛: やわらかいピンク */
.ug-cat-row--renai { border-color: rgba(220, 122, 154, .28) !important; }
.ug-cat-row--renai::before {
  background:
    radial-gradient(circle at 80% 18%, rgba(255, 194, 211, .42), transparent 34%),
    linear-gradient(180deg, #fff8fb 0%, #fffdfd 100%);
}
.ug-cat-row--renai .ug-cat-row__icon { color: #c9577d !important; }

/* 復縁: 紫寄り */
.ug-cat-row--fukuen { border-color: rgba(128, 98, 176, .28) !important; }
.ug-cat-row--fukuen::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(205, 187, 239, .44), transparent 35%),
    linear-gradient(180deg, #fbf8ff 0%, #fffdfd 100%);
}
.ug-cat-row--fukuen .ug-cat-row__icon { color: #7b5ab3 !important; }

/* 金運: 金色 */
.ug-cat-row--kinun { border-color: rgba(202, 160, 64, .34) !important; }
.ug-cat-row--kinun::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(235, 202, 119, .42), transparent 35%),
    linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
}
.ug-cat-row--kinun .ug-cat-row__icon { color: #b88a21 !important; }

/* 仕事: 青系 */
.ug-cat-row--shigoto { border-color: rgba(75, 111, 183, .28) !important; }
.ug-cat-row--shigoto::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(179, 201, 244, .42), transparent 35%),
    linear-gradient(180deg, #f6f9ff 0%, #fffdfd 100%);
}
.ug-cat-row--shigoto .ug-cat-row__icon { color: #4669b1 !important; }

/* 人間関係: 緑寄り */
.ug-cat-row--ningen { border-color: rgba(92, 145, 126, .28) !important; }
.ug-cat-row--ningen::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(184, 220, 205, .42), transparent 35%),
    linear-gradient(180deg, #f6fffb 0%, #fffdfd 100%);
}
.ug-cat-row--ningen .ug-cat-row__icon { color: #4e8a72 !important; }

.ug-cat-list--colored .ug-cat-row:hover,
.ug-cat-list--colored .ug-cat-row:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(24,28,46,.10) !important;
  border-color: rgba(201, 162, 74, .62) !important;
  text-decoration: none !important;
}

@media (max-width: 640px) {
  .ug-cat-list--colored { gap: 16px; }

  .ug-cat-list--colored .ug-cat-row {
    min-height: 124px !important;
    padding: 22px 16px !important;
    border-radius: 22px !important;
  }

  .ug-cat-row__icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 26px !important;
  }

  .ug-cat-list--colored .ug-cat-row__title { font-size: 36px !important; }
  .ug-cat-list--colored .ug-cat-row__desc  { font-size: 15px !important; }
}
/* ===== top service removal and beginner page layout (2026-04-24) ===== */
.home a[href*="vernis.co.jp"],
.home .ug-service-box,
.home .ug-service-card,
.home .ug-official-cta,
.home [class*="official"],
.home [class*="service-cta"] {
  display: none !important;
}

/* :has() safeguard for older browsers - HTML 側で削除済なので css は保険 */
.home section:has(.ug-service-box),
.home section:has(.ug-service-card) {
  display: none !important;
}

.ug-page-header {
  text-align: center;
  margin: 6px 0 22px;
}
.ug-page-header h1 {
  font-size: 34px;
  line-height: 1.3;
  font-weight: 900;
  color: #151b3a;
  margin: 0 0 10px;
  letter-spacing: .02em;
}
.ug-page-header p {
  font-size: 16px;
  line-height: 1.85;
  color: #5d667c;
  margin: 0;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.ug-beginner-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.ug-beginner-card {
  width: 100%;
  padding: 22px 18px;
  border-radius: 18px;
  border: 1px solid #e6eaf3;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fd 100%);
  box-shadow: 0 8px 22px rgba(24,28,46,.045);
}

.ug-beginner-card h2 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.4;
  color: #17204a;
  font-weight: 800;
  padding: 0;
  background: none;
  border: none;
}

.ug-beginner-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  color: #4f586f;
}

.ug-beginner-cta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 22px;
}

.ug-beginner-cta .ug-btn {
  width: 100%;
}

/* /hajimete/ (#14) で外部公式CTAが混入した場合の保険 */
.page-id-14 a[href*="vernis.co.jp"],
.page-id-14 .ug-official-cta,
.page-id-14 [class*="official"],
.page-id-14 [class*="service-cta"] {
  display: none !important;
}

@media (max-width: 640px) {
  .ug-page-header h1 { font-size: 28px; }
  .ug-page-header p { font-size: 15px; }
  .ug-beginner-card {
    padding: 20px 16px;
    border-radius: 16px;
  }
  .ug-beginner-card h2 { font-size: 22px; }
  .ug-beginner-card p { font-size: 15px; line-height: 1.85; }
}
/* ===== /worry/ guide layout (2026-04-24) ===== */
.ug-worry-intro {
  font-size: 16px;
  line-height: 2;
  color: #4f586f;
  margin: 0;
}

.ug-worry-guide {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.ug-worry-guide__item {
  display: block;
  padding: 22px 22px 20px;
  border-radius: 18px;
  border: 1px solid #e4e8f2;
  background: linear-gradient(180deg, #ffffff 0%, #f9fafd 100%);
  box-shadow: 0 8px 22px rgba(24,28,46,.045);
  text-decoration: none !important;
  color: #17204a;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ug-worry-guide__item:hover,
.ug-worry-guide__item:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(201,162,74,.6);
  box-shadow: 0 14px 30px rgba(24,28,46,.08);
}

.ug-worry-guide__title {
  margin: 0 0 .4em;
  font-size: 26px;
  line-height: 1.3;
  font-weight: 900;
  color: #17204a;
  letter-spacing: .02em;
  padding: 0;
  border: none;
  background: none;
}

.ug-worry-guide__desc {
  margin: 0 0 .5em;
  font-size: 16px;
  line-height: 1.9;
  color: #3a3f55;
}

.ug-worry-guide__note {
  margin: 0 0 .7em;
  font-size: 14px;
  line-height: 1.85;
  color: #6c7488;
}

.ug-worry-guide__link {
  display: inline-block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
  color: #b88a21;
  letter-spacing: .04em;
}
.ug-worry-guide__link::after {
  content: " →";
}

.ug-worry-subnav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.ug-worry-subnav .ug-btn {
  min-width: 0;
  width: 100%;
}

@media (max-width: 640px) {
  .ug-worry-guide__title { font-size: 24px; }
  .ug-worry-guide__desc { font-size: 15px; }
  .ug-worry-guide__note { font-size: 13px; }
  .ug-worry-subnav { grid-template-columns: 1fr; }
}
/* ===== brand title stronger (2026-04-24) ===== */
#header,
.header,
.logo-header,
.header-container {
  background: #ffffff !important;
}

.site-description,
.tagline,
.site-tagline,
.p-site-description,
.header .site-description,
#header .site-description {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #697187 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  margin: 0 0 14px !important;
}

.site-name,
.site-title,
.logo-text,
.custom-logo-text,
.header .site-name,
.header .site-title,
#header .site-name,
#header .site-title,
.logo-header .site-name,
.logo-header .site-title {
  display: inline-block !important;
  font-size: 48px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  color: #121936 !important;
  text-align: center !important;
  padding: 0 6px 8px !important;
  position: relative !important;
}

.site-name::after,
.site-title::after,
.logo-text::after,
.custom-logo-text::after,
.header .site-name::after,
.header .site-title::after,
#header .site-name::after,
#header .site-title::after {
  content: "" !important;
  display: block !important;
  width: 72px !important;
  height: 5px !important;
  border-radius: 999px !important;
  margin: 14px auto 0 !important;
  background: linear-gradient(90deg, #c9a24a 0%, #e2c879 50%, #c9a24a 100%) !important;
}

.logo-header,
.header-in,
.hlt-center-logo-wrap,
.logo,
.site-logo { text-align: center !important; }

#header,
.header,
.logo-header {
  padding-top: 18px !important;
  padding-bottom: 22px !important;
}

@media (max-width: 640px) {
  .site-name,
  .site-title,
  .logo-text,
  .custom-logo-text,
  .header .site-name,
  .header .site-title,
  #header .site-name,
  #header .site-title,
  .logo-header .site-name,
  .logo-header .site-title {
    font-size: 40px !important;
    line-height: 1.14 !important;
    letter-spacing: .07em !important;
  }
  .site-description,
  .tagline,
  .site-tagline,
  .p-site-description {
    font-size: 14px !important;
    line-height: 1.65 !important;
    margin-bottom: 12px !important;
  }
  .site-name::after,
  .site-title::after,
  .logo-text::after,
  .custom-logo-text::after,
  .header .site-name::after,
  .header .site-title::after,
  #header .site-name::after,
  #header .site-title::after {
    width: 64px !important;
    height: 4px !important;
    margin-top: 12px !important;
  }
  #header,
  .header,
  .logo-header {
    padding-top: 16px !important;
    padding-bottom: 20px !important;
  }
}

/* ===== PR notice text style ===== */
.ug-pr,
.pr-notice,
.ugc-pr-notice,
[class*="pr-notice"] {
  background: #f7f4ec !important;
  border: 1px solid #e2d8bf !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  color: #4f586f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  text-align: left !important;
}
@media (max-width: 640px) {
  .ug-pr,
  .pr-notice,
  .ugc-pr-notice,
  [class*="pr-notice"] {
    font-size: 14px !important;
    line-height: 1.85 !important;
    padding: 14px 15px !important;
  }
}

/* ===== worry page guide card cleanup (#7) ===== */
body.page-id-7 .ug-cat-list--colored,
body.page-id-7 .ug-cat-row,
body.page-id-7 .ug-cat-row__icon,
body.page-id-7 .ug-cat-row__title,
body.page-id-7 .ug-cat-row__desc { all: unset; }

/* v124: トップページ (page-id-6) も /worry/ (page-id-7) と同じカテゴリカード見た目にするため
        既存の page-id-7 selector list を page-id-6 にも展開 (selector list 拡張のみ、!important 追加なし) */
body.page-id-6 .ug-worry-guide,
body.page-id-7 .ug-worry-guide {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}

body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 22px 18px !important;
  border-radius: 18px !important;
  border: 1px solid #e6eaf3 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fd 100%) !important;
  box-shadow: 0 8px 22px rgba(24,28,46,.045) !important;
  text-decoration: none !important;
  color: inherit !important;
}
body.page-id-6 .ug-worry-guide__item:empty,
body.page-id-6 .ug-worry-guide__item span:empty,
body.page-id-6 .ug-worry-guide__item a:empty,
body.page-id-6 .ug-worry-guide__item div:empty,
body.page-id-7 .ug-worry-guide__item:empty,
body.page-id-7 .ug-worry-guide__item span:empty,
body.page-id-7 .ug-worry-guide__item a:empty,
body.page-id-7 .ug-worry-guide__item div:empty { display: none !important; }

body.page-id-6 .ug-worry-guide__title,
body.page-id-7 .ug-worry-guide__title {
  display: block !important;
  margin: 0 0 12px !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: #17204a !important;
  text-align: left !important;
}
body.page-id-6 .ug-worry-guide__desc,
body.page-id-7 .ug-worry-guide__desc {
  display: block !important;
  margin: 0 0 12px !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  color: #4f586f !important;
  text-align: left !important;
}
body.page-id-6 .ug-worry-guide__note,
body.page-id-7 .ug-worry-guide__note {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: #f7f4ec !important;
  color: #5f6678 !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  text-align: left !important;
}
body.page-id-6 .ug-worry-guide__link,
body.page-id-7 .ug-worry-guide__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  background: #c9a24a !important;
  color: #141a35 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.page-id-6 .ug-worry-guide__link:hover,
body.page-id-6 .ug-worry-guide__link:focus-visible,
body.page-id-7 .ug-worry-guide__link:hover,
body.page-id-7 .ug-worry-guide__link:focus-visible {
  background: #dfc06e !important;
  text-decoration: none !important;
}
@media (max-width: 640px) {
  body.page-id-6 .ug-worry-guide__item,
  body.page-id-7 .ug-worry-guide__item { padding: 20px 16px !important; }
  body.page-id-6 .ug-worry-guide__title,
  body.page-id-7 .ug-worry-guide__title { font-size: 24px !important; }
  body.page-id-6 .ug-worry-guide__desc,
  body.page-id-7 .ug-worry-guide__desc { font-size: 15px !important; }
  body.page-id-6 .ug-worry-guide__note,
  body.page-id-7 .ug-worry-guide__note { font-size: 13px !important; }
  body.page-id-6 .ug-worry-guide__link,
  body.page-id-7 .ug-worry-guide__link { width: 100% !important; }
}

/* ===== hide breadcrumb on worry detail pages ===== */
body.page-id-8 .breadcrumb,
body.page-id-8 .breadcrumbs,
body.page-id-8 .breadcrumb-list,
body.page-id-9 .breadcrumb,
body.page-id-9 .breadcrumbs,
body.page-id-9 .breadcrumb-list,
body.page-id-10 .breadcrumb,
body.page-id-10 .breadcrumbs,
body.page-id-10 .breadcrumb-list,
body.page-id-11 .breadcrumb,
body.page-id-11 .breadcrumbs,
body.page-id-11 .breadcrumb-list,
body.page-id-12 .breadcrumb,
body.page-id-12 .breadcrumbs,
body.page-id-12 .breadcrumb-list,
body.page-id-8 [class*="breadcrumb"],
body.page-id-9 [class*="breadcrumb"],
body.page-id-10 [class*="breadcrumb"],
body.page-id-11 [class*="breadcrumb"],
body.page-id-12 [class*="breadcrumb"],
body.page-id-8 .ugc-breadcrumb,
body.page-id-9 .ugc-breadcrumb,
body.page-id-10 .ugc-breadcrumb,
body.page-id-11 .ugc-breadcrumb,
body.page-id-12 .ugc-breadcrumb {
  display: none !important;
}
/* ===== final brand title: bigger, one underline (2026-04-24) ===== */
.site-name::before,
.site-title::before,
.logo-text::before,
.custom-logo-text::before,
.header .site-name::before,
.header .site-title::before,
#header .site-name::before,
#header .site-title::before,
.logo-header .site-name::before,
.logo-header .site-title::before {
  display: none !important;
  content: none !important;
}

.site-name,
.site-title,
.logo-text,
.custom-logo-text,
.header .site-name,
.header .site-title,
#header .site-name,
#header .site-title,
.logo-header .site-name,
.logo-header .site-title {
  display: inline-block !important;
  font-size: 56px !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  color: #111833 !important;
  text-align: center !important;
  padding: 0 6px 10px !important;
  position: relative !important;
}

.site-name::after,
.site-title::after,
.logo-text::after,
.custom-logo-text::after,
.header .site-name::after,
.header .site-title::after,
#header .site-name::after,
#header .site-title::after,
.logo-header .site-name::after,
.logo-header .site-title::after {
  content: "" !important;
  display: block !important;
  width: 92px !important;
  height: 5px !important;
  border-radius: 999px !important;
  margin: 14px auto 0 !important;
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
  box-shadow: none !important;
}

.site-description,
.tagline,
.site-tagline,
.p-site-description,
.header .site-description,
#header .site-description {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #697187 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
  margin: 0 0 14px !important;
}

#header,
.header,
.logo-header {
  padding-top: 18px !important;
  padding-bottom: 22px !important;
}

@media (max-width: 640px) {
  .site-name,
  .site-title,
  .logo-text,
  .custom-logo-text,
  .header .site-name,
  .header .site-title,
  #header .site-name,
  #header .site-title,
  .logo-header .site-name,
  .logo-header .site-title {
    font-size: 42px !important;
    line-height: 1.12 !important;
    letter-spacing: .07em !important;
  }
  .site-name::after,
  .site-title::after,
  .logo-text::after,
  .custom-logo-text::after,
  .header .site-name::after,
  .header .site-title::after,
  #header .site-name::after,
  #header .site-title::after,
  .logo-header .site-name::after,
  .logo-header .site-title::after {
    width: 76px !important;
    height: 4px !important;
    margin-top: 12px !important;
  }
}

/* ===== top accordion sections ===== */
.ug-accordion-section {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.ug-accordion {
  border: 1px solid #e4ddcb !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(24,28,46,.045) !important;
  overflow: hidden !important;
}

.ug-accordion__summary {
  list-style: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 22px 20px !important;
  color: #121936 !important;
  font-size: 24px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

.ug-accordion__summary::-webkit-details-marker { display: none !important; }
.ug-accordion__summary::marker { content: '' !important; }

.ug-accordion__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #f7f4ec !important;
  color: #b98b24 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  transition: transform .2s ease;
}

.ug-accordion[open] .ug-accordion__icon {
  transform: rotate(45deg) !important;
}

.ug-accordion__body {
  border-top: 1px solid #eee7d8 !important;
  padding: 20px !important;
}

.ug-accordion__body .ug-section__head { display: none !important; }
.ug-accordion__lead { margin: 0 0 1em; color: #4f586f; }

.ug-accordion__body .ug-grid-3,
.ug-accordion__body .ug-faq-list {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  .ug-accordion__summary {
    padding: 19px 16px !important;
    font-size: 21px !important;
  }
  .ug-accordion__icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 21px !important;
  }
  .ug-accordion__body { padding: 16px !important; }
}

/* ===== home legal/footer links ===== */
.ug-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px 16px !important;
  margin: 22px auto 0 !important;
  padding: 18px 12px !important;
  border-top: 1px solid #eee7d8 !important;
  color: #5f6678 !important;
}
.ug-footer-links a {
  color: #3f465d !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.ug-footer-links a:hover,
.ug-footer-links a:focus-visible {
  color: #b98b24 !important;
  text-decoration: underline !important;
}
@media (max-width: 640px) {
  .ug-footer-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px 12px !important;
    text-align: center !important;
  }
  .ug-footer-links a { font-size: 13px !important; }
}
/* ===== 2026-04-24 final polish ===== */

/* ヒーロー内のボタン群を非表示(重複排除の保険) */
.home .ug-hero__actions { display: none !important; }

/* アコーディオン見出しを1行に */
.ug-accordion__summary {
  padding: 18px 18px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}
.ug-accordion__summary span:first-child {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ug-accordion__icon { flex-shrink: 0 !important; }
@media (max-width: 640px) {
  .ug-accordion__summary {
    padding: 17px 14px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    gap: 10px !important;
  }
  .ug-accordion__icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 20px !important;
  }
}

/* カテゴリボタンを少し小さく */
.ug-cat-list--colored { gap: 14px !important; }
.ug-cat-list--colored .ug-cat-row {
  min-height: 108px !important;
  padding: 18px 14px !important;
  border-radius: 20px !important;
  gap: 6px !important;
}
.ug-cat-row__icon {
  width: 34px !important;
  height: 34px !important;
  font-size: 22px !important;
  margin-bottom: 2px !important;
}
.ug-cat-list--colored .ug-cat-row__title {
  font-size: 30px !important;
  line-height: 1.12 !important;
}
.ug-cat-list--colored .ug-cat-row__desc {
  font-size: 13px !important;
  line-height: 1.55 !important;
  max-width: 18em !important;
}
@media (max-width: 640px) {
  .ug-cat-list--colored { gap: 12px !important; }
  .ug-cat-list--colored .ug-cat-row {
    min-height: 104px !important;
    padding: 17px 12px !important;
    border-radius: 18px !important;
  }
  .ug-cat-row__icon {
    width: 32px !important;
    height: 32px !important;
    font-size: 21px !important;
  }
  .ug-cat-list--colored .ug-cat-row__title { font-size: 28px !important; }
  .ug-cat-list--colored .ug-cat-row__desc  { font-size: 12px !important; line-height: 1.5 !important; }
}

/* ===== footer brand (copyright) ===== */
.ug-site-footer-brand {
  margin: 22px auto 0 !important;
  padding: 22px 12px 8px !important;
  text-align: center !important;
  color: #121936 !important;
}
.ug-site-footer-brand__logo {
  display: inline-block !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  position: relative !important;
  padding-bottom: 10px !important;
}
.ug-site-footer-brand__logo::after {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 3px !important;
  border-radius: 999px !important;
  margin: 10px auto 0 !important;
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
}
.ug-site-footer-brand__copy {
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #7a8091 !important;
}

/* ===== title underline single-line safeguard ===== */
.logo-header .site-name::after,
.logo-header .site-title::after {
  display: block !important;
}
.logo-header .logo-text::after,
.logo-header .custom-logo-text::after,
.header .logo-text::after,
.header .custom-logo-text::after {
  display: none !important;
  content: none !important;
}

/* ===== PR notice: unified + slightly calmer (2026-04-24b) ===== */
.ug-pr,
.ugc-pr,
.pr-notice,
.ugc-pr-notice,
[class*="pr-notice"] {
  background: #f7f4ec !important;
  border: 1px solid #e6dcc2 !important;
  border-radius: 14px !important;
  padding: 11px 14px !important;
  color: #5a6279 !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-align: left !important;
  margin: 1.6em 0 !important;
}
@media (max-width: 640px) {
  .ug-pr,
  .ugc-pr,
  .pr-notice,
  .ugc-pr-notice,
  [class*="pr-notice"] {
    font-size: 12.5px !important;
    line-height: 1.75 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }
}

/* ===== remove stray footer underline area (2026-04-24b) ===== */
/* フッター下の空ロゴ・空下線を消す */
#footer .site-name:empty,
#footer .site-title:empty,
#footer .logo-text:empty,
#footer .custom-logo-text:empty,
.footer .site-name:empty,
.footer .site-title:empty,
.footer .logo-text:empty,
.footer .custom-logo-text:empty {
  display: none !important;
}

#footer .site-name::after,
#footer .site-title::after,
#footer .logo-text::after,
#footer .custom-logo-text::after,
.footer .site-name::after,
.footer .site-title::after,
.footer .logo-text::after,
.footer .custom-logo-text::after {
  display: none !important;
  content: none !important;
}

/* 自作フッターブランドの線だけは残す */
.ug-site-footer-brand__logo::after {
  display: block !important;
  content: "" !important;
}

/* 末尾の余白を詰める */
#footer,
.footer,
.site-footer {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

body.home {
  padding-bottom: 0 !important;
}

/* ===== compact colored category cards (2026-04-24b) ===== */
.ug-cat-list--colored {
  gap: 12px !important;
}

.ug-cat-list--colored .ug-cat-row {
  min-height: 72px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  gap: 4px !important;
}

/* アイコンを小さく */
.ug-cat-list--colored .ug-cat-row__icon {
  width: 28px !important;
  height: 28px !important;
  font-size: 18px !important;
  margin-bottom: 0 !important;
  box-shadow: 0 5px 12px rgba(24,28,46,.07) !important;
}

/* カテゴリ名 */
.ug-cat-list--colored .ug-cat-row__title {
  font-size: 26px !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}

/* 補足文 */
.ug-cat-list--colored .ug-cat-row__desc {
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  max-width: 18em !important;
}

/* スマホはさらに少しだけコンパクト */
@media (max-width: 640px) {
  .ug-cat-list--colored {
    gap: 10px !important;
  }

  .ug-cat-list--colored .ug-cat-row {
    min-height: 68px !important;
    padding: 11px 10px !important;
    border-radius: 16px !important;
    gap: 3px !important;
  }

  .ug-cat-list--colored .ug-cat-row__icon {
    width: 26px !important;
    height: 26px !important;
    font-size: 17px !important;
  }

  .ug-cat-list--colored .ug-cat-row__title {
    font-size: 24px !important;
  }

  .ug-cat-list--colored .ug-cat-row__desc {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}

/* ===== hide duplicate self-footer brand (2026-04-25) ===== */
.ug-site-footer-brand {
  display: none !important;
}

/* ===== worry detail page hero heading (2026-04-25) ===== */

/* カテゴリ個別ページのページヘッダー */
body.page-id-8 .ug-page-header,
body.page-id-9 .ug-page-header,
body.page-id-10 .ug-page-header,
body.page-id-11 .ug-page-header,
body.page-id-12 .ug-page-header {
  margin: 0 auto 26px !important;
  padding: 28px 20px 26px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 85% 15%, rgba(201,162,74,.18), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8f9fd 100%) !important;
  border: 1px solid #e6eaf3 !important;
  box-shadow: 0 12px 30px rgba(24,28,46,.055) !important;
  text-align: center !important;
}

/* H1を見出しらしく */
body.page-id-8 .ug-page-header h1,
body.page-id-9 .ug-page-header h1,
body.page-id-10 .ug-page-header h1,
body.page-id-11 .ug-page-header h1,
body.page-id-12 .ug-page-header h1 {
  display: block !important;
  margin: 0 auto 16px !important;
  color: #111833 !important;
  font-size: 34px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

/* H1下に金色ライン */
body.page-id-8 .ug-page-header h1::after,
body.page-id-9 .ug-page-header h1::after,
body.page-id-10 .ug-page-header h1::after,
body.page-id-11 .ug-page-header h1::after,
body.page-id-12 .ug-page-header h1::after {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 4px !important;
  border-radius: 999px !important;
  margin: 14px auto 0 !important;
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
}

/* H1下の説明文
   v85: fukuen (page-id-9) は除外。fukuen側は v83統合ブロック内の
        body.page-id-9 .ugc-lead-simple ルールで font-size/color/
        font-weight/line-height を直接定義する方針へ移行。 */
body.page-id-8 .ug-page-header p,
body.page-id-10 .ug-page-header p,
body.page-id-11 .ug-page-header p,
body.page-id-12 .ug-page-header p {
  margin: 0 !important;
  color: #4f586f !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  font-weight: 500 !important;
}

/* スマホ */
@media (max-width: 640px) {
  body.page-id-8 .ug-page-header,
  body.page-id-9 .ug-page-header,
  body.page-id-10 .ug-page-header,
  body.page-id-11 .ug-page-header,
  body.page-id-12 .ug-page-header {
    padding: 24px 16px 22px !important;
    border-radius: 20px !important;
    margin-bottom: 22px !important;
  }

  body.page-id-8 .ug-page-header h1,
  body.page-id-9 .ug-page-header h1,
  body.page-id-10 .ug-page-header h1,
  body.page-id-11 .ug-page-header h1,
  body.page-id-12 .ug-page-header h1 {
    font-size: 28px !important;
    line-height: 1.4 !important;
  }

  body.page-id-8 .ug-page-header p,
  body.page-id-10 .ug-page-header p,
  body.page-id-11 .ug-page-header p,
  body.page-id-12 .ug-page-header p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
}

/* ===== footer legal links center (2026-04-25b) ===== */
.ug-footer-links {
  width: 100% !important;
  max-width: 720px !important;
  margin: 22px auto 0 !important;
  padding: 18px 12px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  text-align: center !important;
  justify-items: center !important;
  border-top: 1px solid #eee7d8 !important;
}

.ug-footer-links a {
  display: inline-block !important;
  text-align: center !important;
  color: #3f465d !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.ug-footer-links a:hover,
.ug-footer-links a:focus-visible {
  color: #b98b24 !important;
  text-decoration: underline !important;
}

/* wpautop が挿入する <br/> はフッターリンク内では不要 */
.ug-footer-links br {
  display: none !important;
}

@media (max-width: 640px) {
  .ug-footer-links {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    text-align: center !important;
  }

  .ug-footer-links a {
    font-size: 14px !important;
  }
}

/* ===== bottom PR notice placement (2026-04-25b) ===== */
.ug-pr,
.ugc-pr,
.pr-notice,
.ugc-pr-notice,
[class*="pr-notice"] {
  max-width: 720px !important;
  margin: 24px auto 18px !important;
  background: #f8f5ee !important;
  border: 1px solid #e5dcc7 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  color: #697187 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

@media (max-width: 640px) {
  .ug-pr,
  .ugc-pr,
  .pr-notice,
  .ugc-pr-notice,
  [class*="pr-notice"] {
    margin: 22px auto 16px !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    padding: 11px 12px !important;
  }
}

/* ===== compact worry detail heading (2026-04-25b) ===== */
body.page-id-8 .ug-page-header,
body.page-id-9 .ug-page-header,
body.page-id-10 .ug-page-header,
body.page-id-11 .ug-page-header,
body.page-id-12 .ug-page-header {
  padding: 24px 18px 22px !important;
  margin-bottom: 22px !important;
}

body.page-id-8 .ug-page-header h1,
body.page-id-9 .ug-page-header h1,
body.page-id-10 .ug-page-header h1,
body.page-id-11 .ug-page-header h1,
body.page-id-12 .ug-page-header h1 {
  font-size: 32px !important;
  line-height: 1.32 !important;
  margin-bottom: 14px !important;
}

@media (max-width: 640px) {
  body.page-id-8 .ug-page-header,
  body.page-id-9 .ug-page-header,
  body.page-id-10 .ug-page-header,
  body.page-id-11 .ug-page-header,
  body.page-id-12 .ug-page-header {
    padding: 22px 15px 20px !important;
    margin-bottom: 20px !important;
  }

  body.page-id-8 .ug-page-header h1,
  body.page-id-9 .ug-page-header h1,
  body.page-id-10 .ug-page-header h1,
  body.page-id-11 .ug-page-header h1,
  body.page-id-12 .ug-page-header h1 {
    font-size: 27px !important;
    line-height: 1.35 !important;
  }
}

/* ===== hide auto-TOC on worry detail pages only (2026-04-25c) ===== */
body.page-id-8 #toc,
body.page-id-9 #toc,
body.page-id-10 #toc,
body.page-id-11 #toc,
body.page-id-12 #toc,
body.page-id-8 .toc,
body.page-id-9 .toc,
body.page-id-10 .toc,
body.page-id-11 .toc,
body.page-id-12 .toc,
body.page-id-8 .table-of-contents,
body.page-id-9 .table-of-contents,
body.page-id-10 .table-of-contents,
body.page-id-11 .table-of-contents,
body.page-id-12 .table-of-contents,
body.page-id-8 #toc_container,
body.page-id-9 #toc_container,
body.page-id-10 #toc_container,
body.page-id-11 #toc_container,
body.page-id-12 #toc_container,
body.page-id-8 .ez-toc-container,
body.page-id-9 .ez-toc-container,
body.page-id-10 .ez-toc-container,
body.page-id-11 .ez-toc-container,
body.page-id-12 .ez-toc-container,
body.page-id-8 .outline-box,
body.page-id-9 .outline-box,
body.page-id-10 .outline-box,
body.page-id-11 .outline-box,
body.page-id-12 .outline-box,
body.page-id-8 [class*="toc"],
body.page-id-9 [class*="toc"],
body.page-id-10 [class*="toc"],
body.page-id-11 [class*="toc"],
body.page-id-12 [class*="toc"] {
  display: none !important;
}

/* ===== final bottom PR placement (2026-04-25d) ===== */
.ug-pr,
.ugc-pr,
.pr-notice,
.ugc-pr-notice,
[class*="pr-notice"] {
  max-width: 720px !important;
  margin: 28px auto 0 !important;
  background: #f8f5ee !important;
  border: 1px solid #e5dcc7 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  color: #697187 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

/* PR直前の余白を自然にする */
.ug-footer-links + .ug-pr,
.ug-footer-links + .ugc-pr,
.ug-footer-links + .pr-notice,
.ug-footer-links + .ugc-pr-notice {
  margin-top: 22px !important;
}

/* カテゴリページ末尾PR */
body.page-id-8 .ug-pr,
body.page-id-9 .ug-pr,
body.page-id-10 .ug-pr,
body.page-id-11 .ug-pr,
body.page-id-12 .ug-pr,
body.page-id-8 .ugc-pr,
body.page-id-9 .ugc-pr,
body.page-id-10 .ugc-pr,
body.page-id-11 .ugc-pr,
body.page-id-12 .ugc-pr {
  margin-top: 30px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .ug-pr,
  .ugc-pr,
  .pr-notice,
  .ugc-pr-notice,
  [class*="pr-notice"] {
    margin: 24px auto 0 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    padding: 11px 12px !important;
  }
}

/* ===== restore Cocoon footer brand + copyright (2026-04-25e) ===== */
/* Cocoon側のロゴとコピーライトを1組だけ表示する */
#footer .footer-bottom-logo,
#footer .logo-footer,
#footer .logo-text,
#footer .site-name,
#footer .site-name-text,
.footer-bottom-logo {
  display: block !important;
}

#footer .site-name,
.footer-bottom-logo .site-name {
  color: #121936 !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  text-align: center !important;
}

/* コピーライト(Cocoon側)を表示する */
#footer .copyright,
#footer .source-org,
#footer .source-org.copyright,
.source-org.copyright {
  display: block !important;
  text-align: center !important;
  margin-top: 10px !important;
  color: #7a8091 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
}

/* フッター下の金色ラインは1本だけ(Cocoon側のsite-nameに再付与) */
.footer-bottom-logo .site-name::after {
  content: "" !important;
  display: block !important;
  width: 54px !important;
  height: 3px !important;
  border-radius: 999px !important;
  margin: 9px auto 0 !important;
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
}

/* Cocoon側フッター中央寄せ */
#footer .footer-bottom,
#footer .footer-bottom-logo,
#footer .footer-bottom-content {
  text-align: center !important;
}
#footer .footer-bottom {
  display: block !important;
}

/* 自作ブランドは使わない(以前の重複対策を維持) */
.ug-site-footer-brand {
  display: none !important;
}

/* ===== final compact worry detail heading size (2026-04-25e) ===== */
body.page-id-8 .ug-page-header,
body.page-id-9 .ug-page-header,
body.page-id-10 .ug-page-header,
body.page-id-11 .ug-page-header,
body.page-id-12 .ug-page-header {
  padding: 22px 16px 20px !important;
  margin-bottom: 20px !important;
  border-radius: 20px !important;
}

body.page-id-8 .ug-page-header h1,
body.page-id-9 .ug-page-header h1,
body.page-id-10 .ug-page-header h1,
body.page-id-11 .ug-page-header h1,
body.page-id-12 .ug-page-header h1 {
  font-size: 29px !important;
  line-height: 1.35 !important;
  margin-bottom: 12px !important;
  letter-spacing: .01em !important;
}

body.page-id-8 .ug-page-header h1::after,
body.page-id-9 .ug-page-header h1::after,
body.page-id-10 .ug-page-header h1::after,
body.page-id-11 .ug-page-header h1::after,
body.page-id-12 .ug-page-header h1::after {
  width: 56px !important;
  height: 3px !important;
  margin-top: 12px !important;
}

/* v85: fukuen (page-id-9) は除外。fukuen側は v83統合ブロックで直接定義。 */
body.page-id-8 .ug-page-header p,
body.page-id-10 .ug-page-header p,
body.page-id-11 .ug-page-header p,
body.page-id-12 .ug-page-header p {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
}

@media (max-width: 640px) {
  body.page-id-8 .ug-page-header,
  body.page-id-9 .ug-page-header,
  body.page-id-10 .ug-page-header,
  body.page-id-11 .ug-page-header,
  body.page-id-12 .ug-page-header {
    padding: 20px 14px 18px !important;
    margin-bottom: 18px !important;
    border-radius: 18px !important;
  }

  body.page-id-8 .ug-page-header h1,
  body.page-id-9 .ug-page-header h1,
  body.page-id-10 .ug-page-header h1,
  body.page-id-11 .ug-page-header h1,
  body.page-id-12 .ug-page-header h1 {
    font-size: 24px !important;
    line-height: 1.38 !important;
    margin-bottom: 10px !important;
  }

  body.page-id-8 .ug-page-header p,
  body.page-id-10 .ug-page-header p,
  body.page-id-11 .ug-page-header p,
  body.page-id-12 .ug-page-header p {
    font-size: 14.5px !important;
    line-height: 1.8 !important;
  }
}

/* ===== category PR spacing tuning (2026-04-25e) ===== */
body.page-id-8 .ugc-section + .ug-pr,
body.page-id-9 .ugc-section + .ug-pr,
body.page-id-10 .ugc-section + .ug-pr,
body.page-id-11 .ugc-section + .ug-pr,
body.page-id-12 .ugc-section + .ug-pr,
body.page-id-8 .ugc-section + .ugc-pr,
body.page-id-9 .ugc-section + .ugc-pr,
body.page-id-10 .ugc-section + .ugc-pr,
body.page-id-11 .ugc-section + .ugc-pr,
body.page-id-12 .ugc-section + .ugc-pr {
  margin-top: 24px !important;
}

@media (max-width: 640px) {
  body.page-id-8 .ugc-section + .ug-pr,
  body.page-id-9 .ugc-section + .ug-pr,
  body.page-id-10 .ugc-section + .ug-pr,
  body.page-id-11 .ugc-section + .ug-pr,
  body.page-id-12 .ugc-section + .ug-pr,
  body.page-id-8 .ugc-section + .ugc-pr,
  body.page-id-9 .ugc-section + .ugc-pr,
  body.page-id-10 .ugc-section + .ugc-pr,
  body.page-id-11 .ugc-section + .ugc-pr,
  body.page-id-12 .ugc-section + .ugc-pr {
    margin-top: 20px !important;
  }
}

/* ===== footer empty nav cleanup (2026-04-25f) ===== */
#footer #navi-footer,
#footer .navi-footer,
#footer #navi-footer-in:empty,
#footer .navi-footer-in:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== worry detail heading underline category colors (2026-04-25f) ===== */
/* 恋愛: ピンク */
body.page-id-8 .ug-page-header h1::after {
  background: linear-gradient(90deg, #d96b91 0%, #f0b4c8 50%, #d96b91 100%) !important;
}

/* 復縁: 紫 */
body.page-id-9 .ug-page-header h1::after {
  background: linear-gradient(90deg, #7b5ab3 0%, #c9b7ec 50%, #7b5ab3 100%) !important;
}

/* 金運: 金色 */
body.page-id-10 .ug-page-header h1::after {
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
}

/* 仕事: 青 */
body.page-id-11 .ug-page-header h1::after {
  background: linear-gradient(90deg, #4669b1 0%, #b7c9ef 50%, #4669b1 100%) !important;
}

/* 人間関係: 緑 */
body.page-id-12 .ug-page-header h1::after {
  background: linear-gradient(90deg, #4e8a72 0%, #b9ddcc 50%, #4e8a72 100%) !important;
}

/* ===== make category colors slightly stronger (2026-04-25g) ===== */
/* 恋愛: ピンクを少し濃く */
.ug-cat-row--renai {
  border-color: rgba(217, 107, 145, .42) !important;
}

.ug-cat-row--renai::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 176, 203, .56), transparent 34%),
    linear-gradient(180deg, #fff1f6 0%, #fffafa 100%) !important;
}

.ug-cat-row--renai .ug-cat-row__icon {
  color: #c83f72 !important;
}

/* 復縁: 紫を少し濃く */
.ug-cat-row--fukuen {
  border-color: rgba(123, 90, 179, .42) !important;
}

.ug-cat-row--fukuen::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(196, 174, 235, .58), transparent 35%),
    linear-gradient(180deg, #f7f1ff 0%, #fffafa 100%) !important;
}

.ug-cat-row--fukuen .ug-cat-row__icon {
  color: #6f48aa !important;
}

/* 金運: 金色を少し濃く */
.ug-cat-row--kinun {
  border-color: rgba(185, 139, 36, .48) !important;
}

.ug-cat-row--kinun::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(232, 191, 86, .58), transparent 35%),
    linear-gradient(180deg, #fff6df 0%, #fffdf6 100%) !important;
}

.ug-cat-row--kinun .ug-cat-row__icon {
  color: #a97812 !important;
}

/* 仕事: 青を少し濃く */
.ug-cat-row--shigoto {
  border-color: rgba(70, 105, 177, .42) !important;
}

.ug-cat-row--shigoto::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(164, 190, 239, .58), transparent 35%),
    linear-gradient(180deg, #eef4ff 0%, #fbfdff 100%) !important;
}

.ug-cat-row--shigoto .ug-cat-row__icon {
  color: #345ba5 !important;
}

/* 人間関係: 緑を少し濃く */
.ug-cat-row--ningen {
  border-color: rgba(78, 138, 114, .42) !important;
}

.ug-cat-row--ningen::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(169, 216, 196, .58), transparent 35%),
    linear-gradient(180deg, #effbf6 0%, #fbfffd 100%) !important;
}

.ug-cat-row--ningen .ug-cat-row__icon {
  color: #3e7c64 !important;
}

/* ===== final compact top category cards -20% height (2026-04-25h) ===== */
.ug-cat-list--colored {
  gap: 7px !important;
}

.ug-cat-list--colored .ug-cat-row {
  min-height: 43px !important;
  padding: 6px 9px !important;
  border-radius: 13px !important;
  gap: 1px !important;
}

/* アイコンも少しだけ控えめに */
.ug-cat-row__icon {
  width: 20px !important;
  height: 20px !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
  box-shadow: 0 3px 8px rgba(24,28,46,.055) !important;
}

/* カテゴリ名 */
.ug-cat-list--colored .ug-cat-row__title {
  font-size: 21px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

/* 補足文はセクション説明文と同じ大きさにする */
.ug-cat-list--colored .ug-cat-row__desc {
  font-size: var(--ug-section-lead-size, 14px) !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  max-width: 18em !important;
}

/* セクション説明文のサイズを変数化 */
.ug-section__head p,
.ug-worry-section .ug-section__head p {
  --ug-section-lead-size: 14px;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

@media (max-width: 640px) {
  .ug-cat-list--colored {
    gap: 7px !important;
  }

  .ug-cat-list--colored .ug-cat-row {
    min-height: 43px !important;
    padding: 6px 8px !important;
    border-radius: 13px !important;
    gap: 1px !important;
  }

  .ug-cat-row__icon {
    width: 20px !important;
    height: 20px !important;
    font-size: 13px !important;
  }

  .ug-cat-list--colored .ug-cat-row__title {
    font-size: 21px !important;
    line-height: 1.05 !important;
  }

  .ug-section__head p,
  .ug-worry-section .ug-section__head p {
    --ug-section-lead-size: 13px;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  .ug-cat-list--colored .ug-cat-row__desc {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
}

/* ===== match worry detail H1 size to top category title (2026-04-25h) ===== */
body.page-id-8 .ug-page-header h1,
body.page-id-9 .ug-page-header h1,
body.page-id-10 .ug-page-header h1,
body.page-id-11 .ug-page-header h1,
body.page-id-12 .ug-page-header h1 {
  font-size: 24px !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  letter-spacing: .01em !important;
}

body.page-id-8 .ug-page-header,
body.page-id-9 .ug-page-header,
body.page-id-10 .ug-page-header,
body.page-id-11 .ug-page-header,
body.page-id-12 .ug-page-header {
  padding: 18px 14px 17px !important;
  margin-bottom: 18px !important;
  border-radius: 18px !important;
}

body.page-id-8 .ug-page-header h1::after,
body.page-id-9 .ug-page-header h1::after,
body.page-id-10 .ug-page-header h1::after,
body.page-id-11 .ug-page-header h1::after,
body.page-id-12 .ug-page-header h1::after {
  width: 48px !important;
  height: 3px !important;
  margin-top: 10px !important;
}

/* v85: fukuen (page-id-9) は除外。fukuen側は v83統合ブロックで直接定義。 */
body.page-id-8 .ug-page-header p,
body.page-id-10 .ug-page-header p,
body.page-id-11 .ug-page-header p,
body.page-id-12 .ug-page-header p {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

@media (max-width: 640px) {
  body.page-id-8 .ug-page-header h1,
  body.page-id-9 .ug-page-header h1,
  body.page-id-10 .ug-page-header h1,
  body.page-id-11 .ug-page-header h1,
  body.page-id-12 .ug-page-header h1 {
    font-size: 21px !important;
    line-height: 1.38 !important;
  }

  body.page-id-8 .ug-page-header,
  body.page-id-9 .ug-page-header,
  body.page-id-10 .ug-page-header,
  body.page-id-11 .ug-page-header,
  body.page-id-12 .ug-page-header {
    padding: 17px 13px 16px !important;
    margin-bottom: 16px !important;
    border-radius: 16px !important;
  }

  body.page-id-8 .ug-page-header p,
  body.page-id-10 .ug-page-header p,
  body.page-id-11 .ug-page-header p,
  body.page-id-12 .ug-page-header p {
    font-size: 13.5px !important;
    line-height: 1.72 !important;
  }
}

/* ===== worry index category guide cards (2026-04-25i) ===== */
.ug-worry-guide {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}

.ug-worry-guide__item {
  display: block !important;
  padding: 20px 18px !important;
  border-radius: 20px !important;
  border: 1px solid #e6eaf3 !important;
  background: #ffffff !important;
  box-shadow: 0 10px 24px rgba(24,28,46,.045) !important;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden !important;
  cursor: default !important;
}

.ug-worry-guide__item:hover {
  transform: none !important;
}

.ug-worry-guide__item a {
  cursor: pointer !important;
}

.ug-worry-guide__label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 86px !important;
  margin: 0 0 18px !important;
  padding: 16px 12px !important;
  border-radius: 16px !important;
  text-align: center !important;
  border: 1px solid rgba(24,28,46,.06) !important;
}

.ug-worry-guide__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,250,232,.95), rgba(252,242,210,.78) 60%, rgba(244,225,170,.62) 100%) !important;
  border: 1px solid rgba(201,162,74,.55) !important;
  box-shadow:
    0 4px 10px rgba(26,31,61,.10),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.18),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 -1px 1px rgba(120,90,40,.08) !important;
  font-size: 19px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.ug-worry-guide__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #111833 !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
}

.ug-worry-guide__desc {
  margin: 0 0 12px !important;
  color: #4f586f !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  font-weight: 500 !important;
}

.ug-worry-guide__note {
  margin: 0 0 16px !important;
  padding: 12px 13px !important;
  border-radius: 13px !important;
  background: #f8f5ee !important;
  color: #697187 !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
}

.ug-worry-guide__button {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 13px 14px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #d7b24e 0%, #bd912b 100%) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(26,31,61,0.35) !important;
  text-align: center !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(185,139,36,.18) !important;
}

.ug-worry-guide__button:hover,
.ug-worry-guide__button:focus-visible {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(26,31,61,0.4) !important;
  filter: brightness(1.03) !important;
  transform: translateY(-1px) !important;
}

/* カード上部のカテゴリ色 */
/* 恋愛 */
.ug-worry-guide__item--renai .ug-worry-guide__label {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,176,203,.56), transparent 34%),
    linear-gradient(180deg, #fff1f6 0%, #fffafa 100%) !important;
  border-color: rgba(217,107,145,.32) !important;
}
.ug-worry-guide__item--renai .ug-worry-guide__icon {
  color: #c83f72 !important;
}

/* 復縁 */
.ug-worry-guide__item--fukuen .ug-worry-guide__label {
  background:
    radial-gradient(circle at 82% 18%, rgba(196,174,235,.58), transparent 35%),
    linear-gradient(180deg, #f7f1ff 0%, #fffafa 100%) !important;
  border-color: rgba(123,90,179,.32) !important;
}
.ug-worry-guide__item--fukuen .ug-worry-guide__icon {
  color: #6f48aa !important;
}

/* 金運 */
.ug-worry-guide__item--kinun .ug-worry-guide__label {
  background:
    radial-gradient(circle at 82% 18%, rgba(232,191,86,.58), transparent 35%),
    linear-gradient(180deg, #fff6df 0%, #fffdf6 100%) !important;
  border-color: rgba(185,139,36,.36) !important;
}
.ug-worry-guide__item--kinun .ug-worry-guide__icon {
  color: #a97812 !important;
}

/* 仕事 */
.ug-worry-guide__item--shigoto .ug-worry-guide__label {
  background:
    radial-gradient(circle at 82% 18%, rgba(164,190,239,.58), transparent 35%),
    linear-gradient(180deg, #eef4ff 0%, #fbfdff 100%) !important;
  border-color: rgba(70,105,177,.32) !important;
}
.ug-worry-guide__item--shigoto .ug-worry-guide__icon {
  color: #345ba5 !important;
}

/* 人間関係 */
.ug-worry-guide__item--ningen .ug-worry-guide__label {
  background:
    radial-gradient(circle at 82% 18%, rgba(169,216,196,.58), transparent 35%),
    linear-gradient(180deg, #effbf6 0%, #fbfffd 100%) !important;
  border-color: rgba(78,138,114,.32) !important;
}
.ug-worry-guide__item--ningen .ug-worry-guide__icon {
  color: #3e7c64 !important;
}

@media (max-width: 640px) {
  .ug-worry-guide {
    gap: 14px !important;
  }

  .ug-worry-guide__item {
    padding: 18px 15px !important;
    border-radius: 18px !important;
  }

  .ug-worry-guide__label {
    min-height: 72px !important;
    margin-bottom: 15px !important;
    padding: 13px 10px !important;
    border-radius: 15px !important;
    gap: 6px !important;
  }

  .ug-worry-guide__icon {
    width: 28px !important;
    height: 28px !important;
    font-size: 18px !important;
  }

  .ug-worry-guide__title {
    font-size: 23px !important;
  }

  .ug-worry-guide__desc {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  .ug-worry-guide__note {
    font-size: 12.5px !important;
    line-height: 1.7 !important;
    padding: 11px 12px !important;
  }

  .ug-worry-guide__button {
    font-size: 14px !important;
    padding: 12px 13px !important;
  }
}

/* ===== worry index bottom section spacing (2026-04-25i) ===== */
body.page-id-7 .ug-section--tint,
body.page-id-7 .ug-worry-subnav,
body.page-id-7 .ug-worry-subnav-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 18px !important;
}

body.page-id-7 .ug-section:last-of-type,
body.page-id-7 .entry-content > section:last-of-type {
  margin-bottom: 20px !important;
  padding-bottom: 20px !important;
}

body.page-id-7 .ug-section--tint {
  min-height: 0 !important;
}

@media (max-width: 640px) {
  body.page-id-7 .ug-section--tint,
  body.page-id-7 .ug-worry-subnav,
  body.page-id-7 .ug-worry-subnav-wrap {
    padding-bottom: 14px !important;
  }

  body.page-id-7 .ug-section:last-of-type,
  body.page-id-7 .entry-content > section:last-of-type {
    margin-bottom: 16px !important;
    padding-bottom: 16px !important;
  }
}

/* ===== color the whole worry index category card (2026-04-25j) ===== */
.ug-worry-guide__item {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  border-width: 1px !important;
  cursor: default !important;
}

.ug-worry-guide__item:hover {
  transform: none !important;
}

/* 内側の見出しラベルはカード全体色と馴染ませる */
.ug-worry-guide__label {
  background: rgba(255,255,255,.46) !important;
  border-color: rgba(255,255,255,.62) !important;
}

/* 恋愛カード全体 */
.ug-worry-guide__item--renai {
  background:
    radial-gradient(circle at 88% 8%, rgba(255,176,203,.46), transparent 36%),
    linear-gradient(180deg, #fff2f7 0%, #fffafb 100%) !important;
  border-color: rgba(217,107,145,.30) !important;
}

/* 復縁カード全体 */
.ug-worry-guide__item--fukuen {
  background:
    radial-gradient(circle at 88% 8%, rgba(196,174,235,.48), transparent 36%),
    linear-gradient(180deg, #f8f2ff 0%, #fffaff 100%) !important;
  border-color: rgba(123,90,179,.30) !important;
}

/* 金運カード全体 */
.ug-worry-guide__item--kinun {
  background:
    radial-gradient(circle at 88% 8%, rgba(232,191,86,.46), transparent 36%),
    linear-gradient(180deg, #fff7e3 0%, #fffdf7 100%) !important;
  border-color: rgba(185,139,36,.34) !important;
}

/* 仕事カード全体 */
.ug-worry-guide__item--shigoto {
  background:
    radial-gradient(circle at 88% 8%, rgba(164,190,239,.48), transparent 36%),
    linear-gradient(180deg, #eff5ff 0%, #fbfdff 100%) !important;
  border-color: rgba(70,105,177,.30) !important;
}

/* 人間関係カード全体 */
.ug-worry-guide__item--ningen {
  background:
    radial-gradient(circle at 88% 8%, rgba(169,216,196,.48), transparent 36%),
    linear-gradient(180deg, #effbf6 0%, #fbfffd 100%) !important;
  border-color: rgba(78,138,114,.30) !important;
}

/* 説明・ノート部分は読みやすく */
.ug-worry-guide__note {
  background: rgba(255,255,255,.56) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
}

.ug-worry-guide__desc,
.ug-worry-guide__note {
  color: #4f586f !important;
}

.ug-worry-guide__item a {
  cursor: pointer !important;
}

/* ===== worry index remove unnecessary bottom space (2026-04-25j) ===== */
body.page-id-7 .ug-section--tint,
body.page-id-7 .ug-worry-subnav,
body.page-id-7 .ug-worry-subnav-wrap {
  display: none !important;
}

body.page-id-7 .entry-content > section:last-of-type,
body.page-id-7 .ug-section:last-of-type {
  margin-bottom: 18px !important;
  padding-bottom: 18px !important;
  min-height: 0 !important;
}

body.page-id-7 .entry-content {
  padding-bottom: 0 !important;
}

@media (max-width: 640px) {
  body.page-id-7 .entry-content > section:last-of-type,
  body.page-id-7 .ug-section:last-of-type {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
  }
}

/* ===== worry page: make each category card one colored card (2026-04-25k) =====
   v125: トップページ (page-id-6) も /worry/ (page-id-7) と完全同一の
   「外側カード全体がグラデーション / 内側ラベルの白カード感を消す」見た目に
   揃えるため、各セレクタに body.page-id-6 を併記 (selector list 拡張のみ /
   !important 追加なし)。 */
/* 外側カードを1枚のカテゴリカードとして見せる */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  position: relative !important;
  overflow: hidden !important;
  border-width: 1px !important;
  box-shadow: 0 12px 28px rgba(24,28,46,.055) !important;
}

/* 内側ラベルの白カード感を消す */
body.page-id-6 .ug-worry-guide__label,
body.page-id-7 .ug-worry-guide__label {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  margin-bottom: 14px !important;
}

/* ラベル内のタイトルは中央維持 */
body.page-id-6 .ug-worry-guide__title,
body.page-id-7 .ug-worry-guide__title {
  text-align: center !important;
}

/* 恋愛: 外側カード全体を淡いピンク */
body.page-id-6 .ug-worry-guide__item--renai,
body.page-id-7 .ug-worry-guide__item--renai {
  background:
    radial-gradient(circle at 88% 10%, rgba(255,176,203,.58), transparent 38%),
    linear-gradient(180deg, #fff0f6 0%, #fff9fb 100%) !important;
  border-color: rgba(217,107,145,.34) !important;
}

/* 復縁: 外側カード全体を淡い紫 */
body.page-id-6 .ug-worry-guide__item--fukuen,
body.page-id-7 .ug-worry-guide__item--fukuen {
  background:
    radial-gradient(circle at 88% 10%, rgba(196,174,235,.60), transparent 38%),
    linear-gradient(180deg, #f7f0ff 0%, #fffaff 100%) !important;
  border-color: rgba(123,90,179,.34) !important;
}

/* 金運: 外側カード全体を淡い金色 */
body.page-id-6 .ug-worry-guide__item--kinun,
body.page-id-7 .ug-worry-guide__item--kinun {
  background:
    radial-gradient(circle at 88% 10%, rgba(232,191,86,.58), transparent 38%),
    linear-gradient(180deg, #fff5db 0%, #fffdf7 100%) !important;
  border-color: rgba(185,139,36,.38) !important;
}

/* 仕事: 外側カード全体を淡い青 */
body.page-id-6 .ug-worry-guide__item--shigoto,
body.page-id-7 .ug-worry-guide__item--shigoto {
  background:
    radial-gradient(circle at 88% 10%, rgba(164,190,239,.60), transparent 38%),
    linear-gradient(180deg, #edf4ff 0%, #fbfdff 100%) !important;
  border-color: rgba(70,105,177,.34) !important;
}

/* 人間関係: 外側カード全体を淡い緑 */
body.page-id-6 .ug-worry-guide__item--ningen,
body.page-id-7 .ug-worry-guide__item--ningen {
  background:
    radial-gradient(circle at 88% 10%, rgba(169,216,196,.60), transparent 38%),
    linear-gradient(180deg, #ecfaf5 0%, #fbfffd 100%) !important;
  border-color: rgba(78,138,114,.34) !important;
}

/* 補足ノートは白すぎない半透明にしてカード全体になじませる */
body.page-id-6 .ug-worry-guide__note,
body.page-id-7 .ug-worry-guide__note {
  background: rgba(255,255,255,.52) !important;
  border: 1px solid rgba(255,255,255,.58) !important;
}

/* 説明文は読みやすさ優先 */
body.page-id-6 .ug-worry-guide__desc,
body.page-id-6 .ug-worry-guide__note,
body.page-id-7 .ug-worry-guide__desc,
body.page-id-7 .ug-worry-guide__note {
  color: #4f586f !important;
}

/* ボタンだけリンクにする */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  cursor: default !important;
}

body.page-id-6 .ug-worry-guide__item:hover,
body.page-id-7 .ug-worry-guide__item:hover {
  transform: none !important;
}

body.page-id-6 .ug-worry-guide__button,
body.page-id-7 .ug-worry-guide__button {
  cursor: pointer !important;
}

/* ===== worry page bottom PR placement (2026-04-25k) ===== */
body.page-id-7 .ug-pr,
body.page-id-7 .ugc-pr {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  body.page-id-7 .ug-pr,
  body.page-id-7 .ugc-pr {
    margin-top: 24px !important;
  }
}

/* ===== mystical cosmic hero redesign (v131 / 2026-05-03) =====
   SNSアイコン・ヘッダー(濃紺→深紫+金細線+月+星図)に世界観を合わせる。
   既存の !important は背景・色の上書き用に必要なため維持し、値だけを差し替える。
   装飾(同心円リング・三日月)は ::before で重ねる。 */
.home .ug-hero,
.ug-hero.ug-hero--top {
  background:
    radial-gradient(900px 280px at 15% 12%, rgba(201,162,74,.20), transparent 60%),
    radial-gradient(700px 280px at 85% 28%, rgba(120,90,180,.30), transparent 60%),
    linear-gradient(160deg, #161a36 0%, #1d2148 38%, #2a2452 78%, #3a2960 100%) !important;
  border: 1px solid rgba(201,162,74,.32) !important;
  box-shadow: 0 16px 38px rgba(14,16,34,.32), inset 0 0 0 1px rgba(201,162,74,.08) !important;
  color: #f4efe0 !important;
}

/* 上部のピル文言 (金細線で縁取り、暗背景に映える) */
.home .ug-hero .ug-eyebrow,
.ug-hero.ug-hero--top .ug-eyebrow {
  color: #e8c97a !important;
  background: rgba(20,18,40,.34) !important;
  border: 1px solid rgba(201,162,74,.55) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

/* 本文 (暗背景上で読みやすい淡いクリーム) */
.home .ug-hero .ug-hero__lead,
.ug-hero.ug-hero--top .ug-hero__lead {
  color: #ece6d2 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
}

/* ヒーロー内の見出し・段落を暗背景向けに揃える */
.home .ug-hero p,
.home .ug-hero span,
.ug-hero.ug-hero--top p,
.ug-hero.ug-hero--top span {
  color: inherit;
}
.home .ug-hero .ug-hero__title,
.ug-hero.ug-hero--top .ug-hero__title {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.28) !important;
}

/* 既存 ::after の星粒装飾は暗背景前提なので明るめに戻す */
.home .ug-hero::after,
.ug-hero.ug-hero--top::after {
  opacity: .85 !important;
}

/* CTAボタンは金色を維持しつつ暗背景に合わせて影を強める */
.home .ug-hero .ug-btn,
.ug-hero.ug-hero--top .ug-btn {
  box-shadow: 0 8px 22px rgba(0,0,0,.34), 0 2px 6px rgba(201,162,74,.22) !important;
}

@media (max-width: 640px) {
  .home .ug-hero,
  .ug-hero.ug-hero--top {
    border-radius: 20px !important;
    box-shadow: 0 12px 28px rgba(14,16,34,.28) !important;
  }

  .home .ug-hero .ug-hero__lead,
  .ug-hero.ug-hero--top .ug-hero__lead {
    color: #ece6d2 !important;
  }
}

/* (v40 unify top category card inner spacing block removed 2026-04-25ah — superseded, see canonical block at file end) */

/* ===== hajimete page top spacing (2026-04-25m) ===== */
body.page-id-14 .ug-page-header,
body.page-id-14 .entry-content > .ug-page-header:first-child,
body.page-id-14 .entry-content > h1:first-child {
  margin-top: 34px !important;
}

body.page-id-14 .entry-content {
  padding-top: 10px !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-page-header,
  body.page-id-14 .entry-content > .ug-page-header:first-child,
  body.page-id-14 .entry-content > h1:first-child {
    margin-top: 30px !important;
  }

  body.page-id-14 .entry-content {
    padding-top: 8px !important;
  }
}

/* ===== hajimete page bottom PR placement (2026-04-25m) ===== */
body.page-id-14 .ug-pr,
body.page-id-14 .ugc-pr {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-pr,
  body.page-id-14 .ugc-pr {
    margin-top: 24px !important;
  }
}

/* (v41 fix top category cards block removed 2026-04-25ah — superseded, see canonical block at file end) */

/* ===== top worry section heading pill (2026-04-25n) ===== */
.home .ug-worry-section .ug-section__head h2,
body.page-id-6 .ug-worry-section .ug-section__head h2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 auto 14px !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(185,139,36,.46) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%) !important;
  color: #111833 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 8px 18px rgba(185,139,36,.10) !important;
  text-align: center !important;
}

/* ピル化した見出しの下線は消す */
.home .ug-worry-section .ug-section__head h2::after,
body.page-id-6 .ug-worry-section .ug-section__head h2::after {
  display: none !important;
  content: none !important;
}

/* 見出し周辺の中央揃え */
.home .ug-worry-section .ug-section__head,
body.page-id-6 .ug-worry-section .ug-section__head {
  text-align: center !important;
  margin-bottom: 22px !important;
}

@media (max-width: 640px) {
  .home .ug-worry-section .ug-section__head h2,
  body.page-id-6 .ug-worry-section .ug-section__head h2 {
    font-size: 24px !important;
    padding: 9px 24px !important;
    margin-bottom: 12px !important;
  }

  .home .ug-worry-section .ug-section__head,
  body.page-id-6 .ug-worry-section .ug-section__head {
    margin-bottom: 20px !important;
  }
}

/* ===== normalize top category card gaps (2026-04-25o) ===== */
/* カテゴリカードの並びはgapだけで管理 */
.home .ug-cat-list--colored,
body.page-id-6 .ug-cat-list--colored {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  row-gap: 16px !important;
  column-gap: 0 !important;
}

/* 各カードの個別marginを完全に消す */
.home .ug-cat-list--colored .ug-cat-row,
body.page-id-6 .ug-cat-list--colored .ug-cat-row {
  margin: 0 !important;
}

/* WordPress自動整形由来の空要素を消す */
.home .ug-cat-list--colored > p:empty,
.home .ug-cat-list--colored > br,
.home .ug-cat-list--colored .ug-cat-row + p:empty,
.home .ug-cat-list--colored .ug-cat-row + br,
body.page-id-6 .ug-cat-list--colored > p:empty,
body.page-id-6 .ug-cat-list--colored > br,
body.page-id-6 .ug-cat-list--colored .ug-cat-row + p:empty,
body.page-id-6 .ug-cat-list--colored .ug-cat-row + br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}

/* カード内の最後の要素が余白を外に押し出さないようにする */
.home .ug-cat-list--colored .ug-cat-row > *:last-child,
body.page-id-6 .ug-cat-list--colored .ug-cat-row > *:last-child {
  margin-bottom: 0 !important;
}

.home .ug-cat-list--colored .ug-cat-row > *:first-child,
body.page-id-6 .ug-cat-list--colored .ug-cat-row > *:first-child {
  margin-top: 0 !important;
}

@media (max-width: 640px) {
  .home .ug-cat-list--colored,
  body.page-id-6 .ug-cat-list--colored {
    gap: 14px !important;
    row-gap: 14px !important;
  }
}

/* wpautop が一部のカードだけ <p> でラップするため、
   p自体をレイアウトから消して全カードを grid の直接子要素にする */
.home .ug-cat-list--colored > p,
body.page-id-6 .ug-cat-list--colored > p {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カード内に挿入された <br> はカード高さを膨らませるので非表示 */
.home .ug-cat-list--colored .ug-cat-row > br,
.home .ug-cat-list--colored .ug-cat-row br,
body.page-id-6 .ug-cat-list--colored .ug-cat-row > br,
body.page-id-6 .ug-cat-list--colored .ug-cat-row br {
  display: none !important;
}

/* ===== worry index heading pill (2026-04-25p) ===== */
body.page-id-7 .ug-page-header h1,
body.page-id-7 .ugc-page-title,
body.page-id-7 .entry-content > h1:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 auto 16px !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(185,139,36,.46) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%) !important;
  color: #111833 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 8px 18px rgba(185,139,36,.10) !important;
  text-align: center !important;
}

/* 見出し下の金線が残っている場合は消す */
body.page-id-7 .ug-page-header h1::after,
body.page-id-7 .ugc-page-title::after,
body.page-id-7 .entry-content > h1:first-child::after {
  display: none !important;
  content: none !important;
}

/* 見出し親要素も中央揃え */
body.page-id-7 .ug-page-header {
  text-align: center !important;
}

/* Cocoonがspanを挿入しても親の見た目を継承 */
body.page-id-7 .ug-page-header h1 span,
body.page-id-7 .ugc-page-title span,
body.page-id-7 .entry-content > h1:first-child span {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

@media (max-width: 640px) {
  body.page-id-7 .ug-page-header h1,
  body.page-id-7 .ugc-page-title,
  body.page-id-7 .entry-content > h1:first-child {
    font-size: 24px !important;
    padding: 9px 24px !important;
    margin-bottom: 14px !important;
  }
}

/* ===== hajimete heading pill (2026-04-25q) ===== */
body.page-id-14 .ug-page-header h1,
body.page-id-14 .ugc-page-title {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin: 0 auto 16px !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(185,139,36,.46) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%) !important;
  color: #111833 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 8px 18px rgba(185,139,36,.10) !important;
  text-align: center !important;
}

/* 見出し下の金線が残っている場合は消す */
body.page-id-14 .ug-page-header h1::after,
body.page-id-14 .ugc-page-title::after {
  display: none !important;
  content: none !important;
}

/* 見出し親要素も中央揃え */
body.page-id-14 .ug-page-header {
  text-align: center !important;
}

/* Cocoonがspanを挿入しても親の見た目を継承 */
body.page-id-14 .ug-page-header h1 span,
body.page-id-14 .ugc-page-title span {
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: none !important;
}

/* Cocoon側の自動タイトルは引き続き非表示 */
body.page-id-14 .entry-title {
  display: none !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-page-header h1,
  body.page-id-14 .ugc-page-title {
    font-size: 24px !important;
    padding: 9px 24px !important;
    margin-bottom: 14px !important;
  }
}

/* ===== heading pill text cleanup (2026-04-25r) ===== */
body.page-id-7 .ug-page-header h1,
body.page-id-14 .ug-page-header h1,
body.page-id-7 .ugc-page-title,
body.page-id-14 .ugc-page-title,
.home .ug-worry-section .ug-section__head h2,
body.page-id-6 .ug-worry-section .ug-section__head h2 {
  white-space: nowrap !important;
}

body.page-id-7 .ug-page-header h1 span,
body.page-id-14 .ug-page-header h1 span,
body.page-id-7 .ugc-page-title span,
body.page-id-14 .ugc-page-title span,
.home .ug-worry-section .ug-section__head h2 span,
body.page-id-6 .ug-worry-section .ug-section__head h2 span {
  white-space: nowrap !important;
}

@media (max-width: 360px) {
  body.page-id-7 .ug-page-header h1,
  body.page-id-14 .ug-page-header h1,
  body.page-id-7 .ugc-page-title,
  body.page-id-14 .ugc-page-title,
  .home .ug-worry-section .ug-section__head h2,
  body.page-id-6 .ug-worry-section .ug-section__head h2 {
    font-size: 22px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ===== remove stray line between header and hero on home (2026-04-25s) ===== */
body.home #header,
body.home .header,
body.home .header-container,
body.home .header-container-in,
body.home .header-in,
body.home .logo-header,
body.home .hlt-center-logo-wrap {
  border-bottom: none !important;
  box-shadow: none !important;
}

body.home #content,
body.home .content,
body.home .content-in,
body.home #main,
body.home .main,
body.home .main-in,
body.home .article,
body.home .entry-content {
  border-top: none !important;
  box-shadow: none !important;
}

/* Cocoonやテーマが擬似要素で線を出している場合の保険 */
body.home #header::after,
body.home .header::after,
body.home .header-container::after,
body.home .header-in::after,
body.home .content::before,
body.home .content-in::before,
body.home #main::before,
body.home .main::before,
body.home .article::before,
body.home .entry-content::before {
  display: none !important;
  content: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ただしサイトタイトル直下の金色ラインは残す */
body.home .site-name::after,
body.home .site-title::after,
body.home .logo-text::after {
  display: block !important;
  content: "" !important;
}

/* ===== home only: fix duplicated site title underline (2026-04-25t) ===== */
/* Cocoonのロゴラッパー側に出た余分な金線を消す */
body.home .logo-header.logo-text::after,
body.home .logo.logo-header.logo-text::after,
body.home .hlt-center-logo-wrap .logo-text::after,
body.home .header .logo-text::after,
body.home #header .logo-text::after {
  display: none !important;
  content: none !important;
}

/* 実際のサイト名テキスト直下の金線だけ残す */
body.home .site-name::after,
body.home .site-title::after {
  display: block !important;
  content: "" !important;
}

/* site-name自身がlogo-textを兼ねる場合のみ金線を許可 */
body.home .site-name.logo-text::after,
body.home .site-title.logo-text::after {
  display: block !important;
  content: "" !important;
}

/* (v49/v50 hajimete CTA bottom blocks removed 2026-04-25z — they targeted .ug-beginner-card:last-child but the actual CTA buttons live in .ug-beginner-cta sibling) */

/* ===== hajimete: reduce blank space under final CTA (2026-04-25z) ===== */
/* 実DOM: .ug-beginner-section > .ug-beginner-list (5枚のカード) + .ug-beginner-cta (悩みから探す/よくある質問ボタン) */
body.page-id-14 .ug-beginner-section {
  padding-bottom: 12px !important;
}

body.page-id-14 .ug-beginner-list {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

body.page-id-14 .ug-beginner-cta {
  margin-top: 18px !important;
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

body.page-id-14 .ug-beginner-cta .ug-btn,
body.page-id-14 .ug-beginner-cta a {
  margin-bottom: 0 !important;
}

body.page-id-14 .ug-pr,
body.page-id-14 .ugc-pr {
  margin-top: 16px !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-beginner-section {
    padding-bottom: 10px !important;
  }

  body.page-id-14 .ug-beginner-list {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  body.page-id-14 .ug-beginner-cta {
    margin-top: 16px !important;
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  body.page-id-14 .ug-pr,
  body.page-id-14 .ugc-pr {
    margin-top: 14px !important;
  }
}

/* (v51 broad header-gap reset block removed 2026-04-25y — superseded) */
/* (v52 revert-layer rollback block removed 2026-04-25y — no longer needed) */

/* ===== unified header-to-content gap, per-page (2026-04-25y) ===== */
/* 全ページ共通の広域 padding/margin リセットは行わない。
   主要ページごとに「金線下〜本文最初の要素」の余白だけを定義する。 */

/* トップ: ヒーロー上 */
body.home .ug-hero,
body.home .ug-hero--top {
  margin-top: 24px !important;
}

/* /worry/ ピル h1 */
body.page-id-7 .ug-page-header {
  margin-top: 30px !important;
}

/* /hajimete/ ピル h1 */
body.page-id-14 .ug-page-header {
  margin-top: 42px !important;
}

/* カテゴリ個別 (page-id-8〜12) H1カード */
body.page-id-8 .ug-page-header,
body.page-id-9 .ug-page-header,
body.page-id-10 .ug-page-header,
body.page-id-11 .ug-page-header,
body.page-id-12 .ug-page-header {
  margin-top: 30px !important;
}

@media (max-width: 640px) {
  body.home .ug-hero,
  body.home .ug-hero--top {
    margin-top: 22px !important;
  }

  body.page-id-7 .ug-page-header {
    margin-top: 28px !important;
  }

  body.page-id-14 .ug-page-header {
    margin-top: 40px !important;
  }

  body.page-id-8 .ug-page-header,
  body.page-id-9 .ug-page-header,
  body.page-id-10 .ug-page-header,
  body.page-id-11 .ug-page-header,
  body.page-id-12 .ug-page-header {
    margin-top: 28px !important;
  }
}

/* ===== hajimete: tighten remaining bottom gap (2026-04-25aa) ===== */
body.page-id-14 .ug-beginner-section {
  padding-bottom: 4px !important;
}

body.page-id-14 .ug-beginner-cta {
  margin-bottom: 4px !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-beginner-section {
    padding-bottom: 4px !important;
  }

  body.page-id-14 .ug-beginner-cta {
    margin-bottom: 4px !important;
  }
}

/* ===== hajimete: enlarge final primary CTA button only (2026-04-25ab) ===== */
body.page-id-14 .ug-beginner-cta .ug-btn--primary {
  min-height: 64px !important;
  padding: 16px 18px !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-beginner-cta .ug-btn--primary {
    min-height: 60px !important;
    padding: 15px 16px !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
}

/* ===== unify flat page background (2026-04-25ac) ===== */
html,
body {
  background: #fffdf8 !important;
}

/* Cocoon / WordPress layout wrappers */
#container,
.container,
#content,
.content,
.content-in,
#main,
.main,
.main-in,
.article,
.entry-content,
.wrap,
.body,
#body,
.site,
.site-content {
  background: #fffdf8 !important;
}

/* ページ上下や本文外側に出る帯背景も統一 */
.header-container,
.header-container-in,
.logo-header,
#footer,
.footer,
.site-footer,
.footer-bottom,
.footer-bottom-content {
  background: #fffdf8 !important;
}

/* 固定ページ本文の外側だけ統一。カード内背景は触らない */
body.page,
body.home,
body.single,
body.archive {
  background: #fffdf8 !important;
}

/* Cocoonが疑似要素で薄い帯を出す場合の保険 */
#content::before,
#content::after,
.content::before,
.content::after,
.content-in::before,
.content-in::after,
#main::before,
#main::after,
.main::before,
.main::after,
.article::before,
.article::after,
.entry-content::before,
.entry-content::after {
  background: #fffdf8 !important;
}

/* ===== hajimete: remove hidden secondary CTA (2026-04-25ad) ===== */
body.page-id-14 .ug-beginner-cta > .ug-btn--secondary,
body.page-id-14 .ug-beginner-cta > a[href="/faq/"],
body.page-id-14 .ug-beginner-cta > br {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.page-id-14 .ug-beginner-cta {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-14 .ug-beginner-cta .ug-btn--primary {
  margin-bottom: 0 !important;
}

/* ===== unify page background variables (2026-04-25ad) ===== */
:root {
  --ugc-bg: #fffdf8 !important;
  --ugc-page-bg: #fffdf8 !important;
}

/* ===== hajimete: restore natural bottom breathing room (2026-04-25ae) ===== */
body.page-id-14 .ug-beginner-section {
  padding-bottom: 14px !important;
}

body.page-id-14 .ug-beginner-cta {
  margin-bottom: 12px !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-beginner-section {
    padding-bottom: 12px !important;
  }

  body.page-id-14 .ug-beginner-cta {
    margin-bottom: 10px !important;
  }
}

/* ===== hajimete: FAQ dropdown under final CTA (2026-04-25ae) ===== */
body.page-id-14 .ug-beginner-cta {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding-bottom: 0 !important;
}

body.page-id-14 .ug-beginner-faq-toggle {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid #e5dcc7 !important;
  border-radius: 16px !important;
  background: #fffdf8 !important;
  overflow: hidden !important;
}

body.page-id-14 .ug-beginner-faq-toggle summary {
  cursor: pointer !important;
  list-style: none !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  color: #111833 !important;
  text-align: center !important;
  position: relative !important;
}

body.page-id-14 .ug-beginner-faq-toggle summary::-webkit-details-marker {
  display: none !important;
}

body.page-id-14 .ug-beginner-faq-toggle summary::after {
  content: "+" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  margin-left: 10px !important;
  border-radius: 999px !important;
  background: #f6efe0 !important;
  color: #b98b24 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  vertical-align: middle !important;
}

body.page-id-14 .ug-beginner-faq-toggle[open] summary::after {
  content: "×" !important;
}

body.page-id-14 .ug-beginner-faq-toggle__body {
  border-top: 1px solid #eee7d8 !important;
  padding: 12px 16px 14px !important;
  text-align: center !important;
}

body.page-id-14 .ug-beginner-faq-toggle__body a {
  display: inline-block !important;
  color: #b98b24 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}

@media (max-width: 640px) {
  body.page-id-14 .ug-beginner-cta {
    gap: 10px !important;
  }

  body.page-id-14 .ug-beginner-faq-toggle summary {
    padding: 13px 14px !important;
    font-size: 15px !important;
  }

  body.page-id-14 .ug-beginner-faq-toggle__body {
    padding: 11px 14px 13px !important;
  }

  body.page-id-14 .ug-beginner-faq-toggle__body a {
    font-size: 14px !important;
  }
}

/* (v61 home category card height block removed 2026-04-25ah — superseded, see canonical block at file end) */

/* ===== footer: add one gold underline under site title (2026-04-25af) ===== */
#footer .footer-bottom-logo,
#footer .logo-footer,
#footer .logo-footer .site-name,
#footer .footer-bottom .site-name {
  text-align: center !important;
}

#footer .logo-footer.logo-text::after,
#footer .footer-bottom-logo.logo-text::after,
#footer .footer-bottom .logo-text::after {
  display: none !important;
  content: none !important;
}

#footer .logo-footer .site-name::after,
#footer .footer-bottom-logo .site-name::after,
#footer .footer-bottom .site-name::after {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 4px !important;
  margin: 12px auto 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #b98b24 0%, #e2c879 50%, #b98b24 100%) !important;
}

#footer .copyright,
#footer .source-org,
#footer .source-org.copyright {
  margin-top: 12px !important;
}

@media (max-width: 640px) {
  #footer .logo-footer .site-name::after,
  #footer .footer-bottom-logo .site-name::after,
  #footer .footer-bottom .site-name::after {
    width: 56px !important;
    height: 3px !important;
    margin-top: 10px !important;
  }

  #footer .copyright,
  #footer .source-org,
  #footer .source-org.copyright {
    margin-top: 10px !important;
  }
}

/* ===== CANONICAL home category card sizing (2026-04-25ah, replaces v40/v41/v52/v55/v61/v62 chain) ===== */
/* specificity (0, 4, 1) で全先行ルールを確実に上書き。
   このブロックがホームカテゴリカードのサイズ・余白の唯一の正版。 */
body.home .entry-content .ug-cat-list--colored,
body.page-id-6 .entry-content .ug-cat-list--colored {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  row-gap: 14px !important;
}

body.home .entry-content .ug-cat-list--colored .ug-cat-row,
body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row {
  height: auto !important;
  min-height: 150px !important;
  padding: 26px 16px !important;
  border-radius: 22px !important;
  gap: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.home .entry-content .ug-cat-list--colored .ug-cat-row__icon,
body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  font-size: 23px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

body.home .entry-content .ug-cat-list--colored .ug-cat-row__title,
body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__title {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  margin: 0 !important;
  text-align: center !important;
  flex: 0 0 auto !important;
  display: block !important;
}

body.home .entry-content .ug-cat-list--colored .ug-cat-row__desc,
body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__desc {
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  margin: 0 !important;
  max-width: 20em !important;
  text-align: center !important;
  flex: 0 0 auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

@media (max-width: 640px) {
  body.home .entry-content .ug-cat-list--colored,
  body.page-id-6 .entry-content .ug-cat-list--colored {
    gap: 12px !important;
    row-gap: 12px !important;
  }

  body.home .entry-content .ug-cat-list--colored .ug-cat-row,
  body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row {
    min-height: 138px !important;
    padding: 24px 14px !important;
    border-radius: 20px !important;
    gap: 11px !important;
  }

  body.home .entry-content .ug-cat-list--colored .ug-cat-row__icon,
  body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 22px !important;
  }

  body.home .entry-content .ug-cat-list--colored .ug-cat-row__title,
  body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__title {
    font-size: 23px !important;
  }

  body.home .entry-content .ug-cat-list--colored .ug-cat-row__desc,
  body.page-id-6 .entry-content .ug-cat-list--colored .ug-cat-row__desc {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

/* ===== global typography balance pass (2026-04-25ai) ===== */
/* site title */
.logo-header .site-name,
.logo-header .site-name-text,
#footer .site-name,
#footer .site-name-text {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

/* page hero / page title pills */
.ug-page-header h1,
.ugc-page-title,
body.page-id-7 .ug-page-header h1,
body.page-id-14 .ug-page-header h1,
body.home .ug-worry-section .ug-section__head h2 {
  font-size: 26px !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
}

/* general section headings */
.ug-section__head h2,
.ug-section h2,
.ugc-section h2,
.ug-beginner-card h2,
.ug-faq-item h2,
.entry-content h2 {
  font-size: 24px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

/* home category card titles */
body.home .ug-cat-list--colored .ug-cat-row__title,
body.page-id-6 .ug-cat-list--colored .ug-cat-row__title {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

/* worry index category titles */
body.page-id-7 .ug-worry-guide__label,
body.page-id-7 .ug-worry-guide__title,
body.page-id-7 .ug-cat-row__title,
body.page-id-7 .ug-worry-guide__item h2,
body.page-id-7 .ug-worry-guide__item h3 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

/* category detail page card H1 */
body.page-id-8 .ug-page-header h1,
body.page-id-9 .ug-page-header h1,
body.page-id-10 .ug-page-header h1,
body.page-id-11 .ug-page-header h1,
body.page-id-12 .ug-page-header h1 {
  font-size: 24px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

/* buttons */
.ug-btn,
.ug-btn--primary,
.ug-btn--secondary,
.ug-worry-guide__button,
.ug-beginner-cta .ug-btn,
.ug-beginner-cta .ug-btn--primary,
a[class*="button"],
a[class*="btn"] {
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

/* body text */
.entry-content p,
.ug-section p,
.ug-page-header p,
.ugc-lead-simple,
.ug-beginner-card p,
.ug-faq-item p,
.ug-worry-guide__desc,
.ug-worry-guide__note {
  font-size: 16px !important;
  line-height: 1.85 !important;
}

/* small descriptions */
.ug-cat-row__desc,
.ug-section__head p,
.ug-eyebrow,
.ug-hero__lead,
.ug-beginner-faq-toggle summary,
.ug-beginner-faq-toggle__body a {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* PR */
.ug-pr,
.ugc-pr,
.pr-notice,
.ugc-pr-notice,
[class*="pr-notice"] {
  font-size: 13px !important;
  line-height: 1.75 !important;
}

/* ===== smartphone typography balance ===== */
@media (max-width: 640px) {
  .logo-header .site-name,
  .logo-header .site-name-text,
  #footer .site-name,
  #footer .site-name-text {
    font-size: 22px !important;
  }

  .ug-page-header h1,
  .ugc-page-title,
  body.page-id-7 .ug-page-header h1,
  body.page-id-14 .ug-page-header h1,
  body.home .ug-worry-section .ug-section__head h2 {
    font-size: 22px !important;
    line-height: 1.32 !important;
  }

  .ug-section__head h2,
  .ug-section h2,
  .ugc-section h2,
  .ug-beginner-card h2,
  .ug-faq-item h2,
  .entry-content h2 {
    font-size: 21px !important;
    line-height: 1.38 !important;
  }

  body.home .ug-cat-list--colored .ug-cat-row__title,
  body.page-id-6 .ug-cat-list--colored .ug-cat-row__title,
  body.page-id-7 .ug-worry-guide__label,
  body.page-id-7 .ug-worry-guide__title,
  body.page-id-7 .ug-cat-row__title,
  body.page-id-7 .ug-worry-guide__item h2,
  body.page-id-7 .ug-worry-guide__item h3 {
    font-size: 23px !important;
    line-height: 1.25 !important;
  }

  body.page-id-8 .ug-page-header h1,
  body.page-id-9 .ug-page-header h1,
  body.page-id-10 .ug-page-header h1,
  body.page-id-11 .ug-page-header h1,
  body.page-id-12 .ug-page-header h1 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  .ug-btn,
  .ug-btn--primary,
  .ug-btn--secondary,
  .ug-worry-guide__button,
  .ug-beginner-cta .ug-btn,
  .ug-beginner-cta .ug-btn--primary,
  a[class*="button"],
  a[class*="btn"] {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .entry-content p,
  .ug-section p,
  .ug-page-header p,
  .ugc-lead-simple,
  .ug-beginner-card p,
  .ug-faq-item p,
  .ug-worry-guide__desc,
  .ug-worry-guide__note {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .ug-cat-row__desc,
  .ug-section__head p,
  .ug-eyebrow,
  .ug-hero__lead,
  .ug-beginner-faq-toggle summary,
  .ug-beginner-faq-toggle__body a {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .ug-pr,
  .ugc-pr,
  .pr-notice,
  .ugc-pr-notice,
  [class*="pr-notice"] {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
}

/* =============================================================================
   v131 (2026-05-03) Mystical Identity Polish
   SNSアイコン/ヘッダーの世界観 (濃紺→深紫 + 金細線 + 三日月 + 星図) を
   サイト全体に薄く拡張する。!important なし、画像なし、既存構造を破壊しない。
   対象: トップ(home/page-id-6) / /worry/(page-id-7) / 5カテゴリ(page-id-8〜12)
   ========================================================================== */

/* ---- (1) Body cosmic tint ----------------------------------------------- */
/* 真っ白を避け、ごく淡く宇宙のグラデーションを敷く。本文カードは白のまま読みやすさを維持。 */
body.home,
body.page-id-6,
body.page-id-7,
body.page-id-8,
body.page-id-9,
body.page-id-10,
body.page-id-11,
body.page-id-12 {
  background-color: #fbfaf6;
  background-image:
    radial-gradient(1200px 500px at 12% -8%, rgba(120,90,180,.07), transparent 62%),
    radial-gradient(1100px 480px at 92% 14%, rgba(201,162,74,.06), transparent 60%),
    radial-gradient(900px 420px at 50% 110%, rgba(42,36,82,.05), transparent 60%);
  background-attachment: fixed;
  background-repeat: no-repeat;
}

/* ---- (2) Hero cosmic ornaments (rings + crescent moon) ------------------ */
/* 既存 ::after の星粒は残しつつ、::before で同心円リングと三日月をのせる。 */
.home .ug-hero.ug-hero--top::before,
.ug-hero.ug-hero--top::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    /* 左下の同心円リング (240px / 320px / 400px に細い金線) */
    radial-gradient(circle at 14% 92%, transparent 116px, rgba(201,162,74,.22) 117px, rgba(201,162,74,.22) 118px, transparent 119px),
    radial-gradient(circle at 14% 92%, transparent 158px, rgba(201,162,74,.16) 159px, rgba(201,162,74,.16) 160px, transparent 161px),
    radial-gradient(circle at 14% 92%, transparent 200px, rgba(201,162,74,.10) 201px, rgba(201,162,74,.10) 202px, transparent 203px),
    /* 右上の三日月 (金の円 → ほんの少しずらした濃紺の円で欠けを作る) */
    radial-gradient(circle at 88% 16%, rgba(232,201,122,.55) 0 16px, transparent 17px),
    radial-gradient(circle at 86% 14%, #1d2148 0 14px, transparent 15px);
  opacity: .9;
  z-index: 0;
}
.ug-hero__inner { position: relative; z-index: 1; }

/* モバイルではリングを少し控えめに (オーバーフロー対策) */
@media (max-width: 640px) {
  .home .ug-hero.ug-hero--top::before,
  .ug-hero.ug-hero--top::before {
    background-image:
      radial-gradient(circle at 14% 96%, transparent 88px, rgba(201,162,74,.20) 89px, rgba(201,162,74,.20) 90px, transparent 91px),
      radial-gradient(circle at 14% 96%, transparent 122px, rgba(201,162,74,.13) 123px, rgba(201,162,74,.13) 124px, transparent 125px),
      radial-gradient(circle at 88% 14%, rgba(232,201,122,.55) 0 12px, transparent 13px),
      radial-gradient(circle at 86% 12%, #1d2148 0 10px, transparent 11px);
  }
}

/* ---- (3) Section heading: ✦ ornament + thin gold line ------------------- */
/* 既存の .ug-section__head h2::after (金の下線) は残し、上に ✦ を添える */
.ug-section__head {
  position: relative;
}
.ug-section__head::before {
  content: "✦";
  display: block;
  margin: 0 auto .35em;
  color: #c9a24a;
  font-size: .9em;
  letter-spacing: .2em;
  line-height: 1;
  opacity: .85;
  background:
    linear-gradient(90deg, transparent 0%, rgba(201,162,74,.0) 22%, rgba(201,162,74,.45) 50%, rgba(201,162,74,.0) 78%, transparent 100%) center 50%/100% 1px no-repeat;
  padding: 0 1em;
  width: fit-content;
}

/* ---- (4) Section card subtle gold accent -------------------------------- */
.ug-section {
  position: relative;
}
.ug-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 64px;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(201,162,74,.55), transparent);
  border-radius: 2px;
  pointer-events: none;
}

/* ---- (5) Category cards refinement -------------------------------------- */
/* 既存ホバー時の金縁を、平常時にもごく薄く効かせる */
.ug-cat-card {
  background-image:
    radial-gradient(120px 80px at 100% 0%, rgba(201,162,74,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, #f6f2e5 100%);
  box-shadow: 0 4px 14px rgba(26,31,61,.06), inset 0 0 0 1px rgba(201,162,74,.10);
}
.ug-cat-card:hover {
  box-shadow: 0 10px 22px rgba(26,31,61,.12), inset 0 0 0 1px rgba(201,162,74,.30);
}

/* /worry/ 一覧の悩みガイド項目 (page-id-6 / 7 で使われる) も
   ごく薄い金のインセット影でブランド統一感を底上げ。既存グラデは残す。 */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  box-shadow: 0 4px 14px rgba(26,31,61,.05), inset 0 0 0 1px rgba(201,162,74,.08);
}

/* ---- (6) Primary button gloss highlight --------------------------------- */
/* 金グラデの上にうっすら光沢を重ね、僅かに立体感を出す */
.ug-btn--primary {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 42%, rgba(0,0,0,.06) 100%),
    linear-gradient(180deg, #c9a24a, #a6823b);
  border: 1px solid rgba(201,162,74,.55);
}
.ug-btn--primary:hover {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 46%, rgba(0,0,0,.04) 100%),
    linear-gradient(180deg, #d3ad55, #b08c44);
}

/* ---- (7) Footer subtle violet wash -------------------------------------- */
/* Cocoon の footer 領域を完全に上書きすると壊れる恐れがあるため、
   フッター直前の独自要素 (.ug-footer-links / .footer-bottom-logo) に薄く色を添える。 */
.ug-footer-links {
  position: relative;
}
.ug-footer-links::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(600px 200px at 50% 0%, rgba(120,90,180,.05), transparent 70%),
    linear-gradient(180deg, rgba(26,31,61,.02), rgba(42,36,82,.04));
  pointer-events: none;
  border-radius: inherit;
  z-index: 0;
}
.ug-footer-links > * { position: relative; z-index: 1; }

.footer-bottom-logo {
  position: relative;
}
.footer-bottom-logo::before {
  content: "✦";
  display: inline-block;
  margin-right: .35em;
  color: #c9a24a;
  font-size: .85em;
  opacity: .7;
}

/* ---- (8) Mobile (≤390px iPhone) safety ---------------------------------- */
@media (max-width: 420px) {
  .ug-section::before { width: 48px; }
  .ug-section__head::before { font-size: .85em; padding: 0 .8em; }
}

/* =============================================================================
   v132 (2026-05-03) Mystical Depth Enhancement
   v131 の上にもう一段、星粒・星雲・金細線・カード光沢を重ね、
   SNSアイコン/ヘッダー/Instagram画像と同じ世界観に近づける。
   読みやすさ・導線・先生カード情報量は壊さない。
   !important 新規追加なし、画像なし、アニメーションなし。
   ========================================================================== */

/* ---- (1) Body star-particle layer (subtle starfield) ------------------- */
/* v131 の body cosmic tint に加え、 fixed 擬似要素で白/金の星粒を撒く。
   pointer-events:none + z-index:-1 で本文に被らない。
   小さな radial-gradient を fixed 背景で配置 → ページ移動でも一定の星空感。 */
body.home::before,
body.page-id-6::before,
body.page-id-7::before,
body.page-id-8::before,
body.page-id-9::before,
body.page-id-10::before,
body.page-id-11::before,
body.page-id-12::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 7% 14%,  rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 18% 38%, rgba(255,250,220,.50), transparent 60%),
    radial-gradient(1px 1px at 32% 12%, rgba(232,201,122,.45), transparent 60%),
    radial-gradient(1px 1px at 44% 60%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(1.5px 1.5px at 56% 22%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(1px 1px at 68% 48%, rgba(232,201,122,.40), transparent 60%),
    radial-gradient(1px 1px at 78% 16%, rgba(255,250,220,.45), transparent 60%),
    radial-gradient(1px 1px at 84% 70%, rgba(255,255,255,.45), transparent 60%),
    radial-gradient(1px 1px at 92% 34%, rgba(255,250,220,.40), transparent 60%),
    radial-gradient(1px 1px at 12% 82%, rgba(232,201,122,.35), transparent 60%),
    radial-gradient(1.5px 1.5px at 38% 88%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(1px 1px at 62% 78%, rgba(255,250,220,.35), transparent 60%),
    radial-gradient(1px 1px at 88% 92%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(1100px 600px at 18% 22%, rgba(120,90,180,.04), transparent 70%),
    radial-gradient(1000px 580px at 86% 76%, rgba(42,80,160,.035), transparent 70%);
  background-size: 480px 480px, 520px 520px, 460px 460px, 540px 540px, 500px 500px,
                   470px 470px, 490px 490px, 530px 530px, 460px 460px, 510px 510px,
                   500px 500px, 480px 480px, 520px 520px, 100% 100%, 100% 100%;
  background-attachment: fixed;
  background-repeat: repeat;
  opacity: .75;
}

/* ---- (2) Section subtle nebula tint ------------------------------------- */
/* .ug-section の白カードはそのまま。背景に右上/左下にだけ
   薄い紫青のもや (alpha 0.025〜0.04) を radial-gradient で重ねる。 */
.ug-section {
  background-image:
    radial-gradient(360px 180px at 92% -8%, rgba(120,90,180,.045), transparent 65%),
    radial-gradient(420px 220px at -6% 110%, rgba(42,80,160,.035), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #fdfcf6 100%);
}

/* ---- (3) Section bottom: star-dot constellation divider ----------------- */
/* .ug-section の下端に "・   ✦   ・" の控えめな飾りを ::after で重ねる。
   既存の ::before (上端中央の金バー) と対称になる。 */
.ug-section::after {
  content: "·   ✦   ·";
  position: absolute;
  bottom: .4em;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(201,162,74,.35);
  font-size: .75em;
  letter-spacing: .8em;
  pointer-events: none;
  line-height: 1;
}

/* ---- (4) Category card: subtle star particles + deeper gold halo ------- */
/* 既存 .ug-cat-card の inset 金線と上端右の金スポット光に加え、
   左下にも淡い星粒スポットと、hover 時の金グロウを少し強める。 */
.ug-cat-card {
  background-image:
    radial-gradient(120px 80px at 100% 0%, rgba(201,162,74,.10), transparent 62%),
    radial-gradient(80px 60px at 0% 100%, rgba(120,90,180,.06), transparent 65%),
    radial-gradient(1px 1px at 14% 22%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 78% 78%, rgba(232,201,122,.55), transparent 60%),
    linear-gradient(180deg, #fff 0%, #f6f2e5 100%);
  background-size: auto, auto, 100% 100%, 100% 100%, auto;
  background-repeat: no-repeat;
}
.ug-cat-card:hover {
  box-shadow:
    0 12px 26px rgba(26,31,61,.14),
    0 0 0 1px rgba(201,162,74,.45) inset,
    0 0 24px rgba(201,162,74,.18);
}

/* /worry/ 一覧の悩みガイドアイテムにも、星粒一粒を控えめに追加。
   既存 v124/125 のカテゴリ色グラデは保持し背景画像を加算するだけ。 */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  position: relative;
}
body.page-id-6 .ug-worry-guide__item::after,
body.page-id-7 .ug-worry-guide__item::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 14px;
  width: 6px;
  height: 6px;
  background:
    radial-gradient(circle, rgba(201,162,74,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 60% 60%, rgba(255,255,255,.45) 0 1px, transparent 2px);
  pointer-events: none;
  opacity: .8;
}

/* ---- (5) Teacher card: gold accent line + subtle starfield ------------- */
/* 既存の .ugc-teacher-card は白カード + 標準シャドウ + 灰border。
   v132 では position: relative を担保し、上端に金細線 (::before) を、
   背景にごく薄い星粒2点 (background-image) を重ねる。
   情報量・余白・hover 動作には触らない。 */
.ugc-teacher-card {
  position: relative;
  background-image:
    radial-gradient(1px 1px at 12% 16%, rgba(232,201,122,.35), transparent 60%),
    radial-gradient(1px 1px at 88% 86%, rgba(120,90,180,.30), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #fdfcf6 100%);
}
.ugc-teacher-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18px;
  right: 18px;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(201,162,74,.55) 30%, rgba(201,162,74,.55) 70%, transparent 100%);
  border-radius: 2px;
  pointer-events: none;
}
.ugc-teacher-card:hover {
  box-shadow: 0 10px 28px rgba(26,31,61,.10), 0 0 0 1px rgba(201,162,74,.18) inset;
}

/* 先生カードCTAボタンに上品な光沢 (既存 .ugc-btn を継承する場合に効く) */
.ugc-teacher-actions .ugc-btn {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 50%, rgba(0,0,0,.04) 100%);
}

/* ---- (6) Section heading: small ✦ pair around h2 ---------------------- */
/* h2 の左右に小さな ✦ を浮かべる (既存 ::after 金下線、上の ✦ 金線は維持)。
   inline-block の h2 に対して左右に ::before / 既存装飾は競合しないため
   .ug-section__head h2 へ直接ペア追加。 */
.ug-section__head h2 {
  padding-left: 1.2em;
  padding-right: 1.2em;
}
.ug-section__head h2::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-58%);
  color: rgba(201,162,74,.55);
  font-size: .55em;
  pointer-events: none;
}

/* ---- (7) CTA primary button: outer faint gold halo ---------------------- */
/* 既存 v131 の上部光沢に加え、ボタン外周に淡い金のハロー (box-shadow) を足す。 */
.ug-btn--primary {
  box-shadow:
    0 6px 18px rgba(26,31,61,.20),
    0 0 0 1px rgba(201,162,74,.30),
    0 0 18px rgba(201,162,74,.14);
}
.ug-btn--primary:hover {
  box-shadow:
    0 12px 26px rgba(26,31,61,.26),
    0 0 0 1px rgba(201,162,74,.50),
    0 0 24px rgba(201,162,74,.22);
}

/* ---- (8) Footer: deeper navy/violet wash + gold hairline + tiny stars -- */
/* v131 で .ug-footer-links に薄い紫を敷いたが、もう一段濃紺寄りへ。
   .ug-footer-links 自身の background を上書き (no !important / 後勝ち)。 */
.ug-footer-links {
  background:
    radial-gradient(700px 220px at 50% -20%, rgba(120,90,180,.10), transparent 70%),
    radial-gradient(1px 1px at 18% 60%, rgba(255,255,255,.35), transparent 60%),
    radial-gradient(1px 1px at 76% 30%, rgba(232,201,122,.35), transparent 60%),
    radial-gradient(1px 1px at 44% 78%, rgba(255,255,255,.30), transparent 60%),
    linear-gradient(180deg, #1c2046 0%, #251c45 100%);
  color: #ece6d2;
  border-top: 1px solid rgba(201,162,74,.32);
  border-bottom: 1px solid rgba(201,162,74,.20);
}
.ug-footer-links a {
  color: #f3ecd6;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(201,162,74,.45);
}
.ug-footer-links a:hover {
  color: #ffffff;
  text-decoration-color: rgba(201,162,74,.85);
}
/* v131 の ::before (薄紫グラデ) を v132 で星粒入りに差し替え */
.ug-footer-links::before {
  background:
    radial-gradient(1px 1px at 8% 22%,  rgba(255,255,255,.45), transparent 60%),
    radial-gradient(1px 1px at 28% 68%, rgba(232,201,122,.40), transparent 60%),
    radial-gradient(1px 1px at 52% 14%, rgba(255,255,255,.35), transparent 60%),
    radial-gradient(1px 1px at 72% 56%, rgba(232,201,122,.40), transparent 60%),
    radial-gradient(1px 1px at 92% 88%, rgba(255,255,255,.35), transparent 60%);
  opacity: .9;
}

/* footer 下端のロゴ/コピーライト周りに金のヘアラインを足す */
.footer-bottom-logo {
  border-top: 1px solid rgba(201,162,74,.18);
  padding-top: .7em;
}

/* ---- (9) PR notices: stay quiet but with brand-tone hairline ----------- */
/* PR 表記が浮きすぎないよう、上下に細い金ラインを薄く。文字は触らない。 */
.ug-pr,
.ugc-pr {
  border-top: 1px solid rgba(201,162,74,.18);
  border-bottom: 1px solid rgba(201,162,74,.10);
}

/* ---- (10) Mobile (≤ 420px iPhone) safety -------------------------------- */
@media (max-width: 420px) {
  /* スター粒子のサイズと密度を半減し、軽快に */
  body.home::before,
  body.page-id-6::before,
  body.page-id-7::before,
  body.page-id-8::before,
  body.page-id-9::before,
  body.page-id-10::before,
  body.page-id-11::before,
  body.page-id-12::before {
    background-size: 360px 360px, 380px 380px, 340px 340px, 400px 400px, 380px 380px,
                     360px 360px, 360px 360px, 380px 380px, 340px 340px, 380px 380px,
                     370px 370px, 360px 360px, 380px 380px, 100% 100%, 100% 100%;
    opacity: .55;
  }
  /* セクションの ::after 飾りはコンパクトに */
  .ug-section::after { font-size: .7em; letter-spacing: .55em; }
  /* h2 左の ✦ は SP では非表示 (右の金下線と重ならないよう) */
  .ug-section__head h2 { padding-left: .6em; padding-right: .6em; }
  .ug-section__head h2::before { display: none; }
  /* 先生カード上端の金細線も SP で短く */
  .ugc-teacher-card::before { left: 14px; right: 14px; }
}

/* ---- (11) Reduced motion preference (no animation, but mute layers) ---- */
@media (prefers-reduced-motion: reduce) {
  body.home::before,
  body.page-id-6::before,
  body.page-id-7::before,
  body.page-id-8::before,
  body.page-id-9::before,
  body.page-id-10::before,
  body.page-id-11::before,
  body.page-id-12::before {
    opacity: .45;
  }
}

/* =============================================================================
   v133 (2026-05-03) Category card mystical depth + footer link readability
   - 悩みカテゴリカード(ホーム / /worry/) に金細線・同心円リング・星粒・
     星座線を ::before で重ね、SNSアイコン/ヘッダーと同じ世界観に近づける
   - アイコンピル(.ug-worry-guide__icon)は白丸を金細線+champagne grad へ
   - フッターの法務リンクが暗くて読めない → contrast を引き上げる
   既存の !important 値は最小編集 (背景値の差し替えのみ)。
   新規 !important は追加しない。画像なし。アニメなし。
   ========================================================================== */

/* ---- (1) Category card mystical overlay (rings + stars + constellation) -- */
/* body.page-id-6 / 7 の各カテゴリカードに ::before で
   同心円リング + 星粒 + 星座線 を重ねる。色味はカテゴリ色を引き継いで
   過度に暗くしない。pointer-events: none / z-index 0 でテキストを邪魔しない。
   既存の v132 ::after (右上6×6 星) と共存。 */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  position: relative;
}
body.page-id-6 .ug-worry-guide__item > *,
body.page-id-7 .ug-worry-guide__item > * {
  position: relative;
  z-index: 1;
}
body.page-id-6 .ug-worry-guide__item::before,
body.page-id-7 .ug-worry-guide__item::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    /* 左下: 同心円3本 (金) */
    radial-gradient(circle at 8% 92%, transparent 56px, rgba(201,162,74,.30) 57px, rgba(201,162,74,.30) 58px, transparent 59px),
    radial-gradient(circle at 8% 92%, transparent 78px, rgba(201,162,74,.20) 79px, rgba(201,162,74,.20) 80px, transparent 81px),
    radial-gradient(circle at 8% 92%, transparent 100px, rgba(201,162,74,.12) 101px, rgba(201,162,74,.12) 102px, transparent 103px),
    /* 星粒 5点 */
    radial-gradient(1.2px 1.2px at 18% 22%, rgba(201,162,74,.65), transparent 60%),
    radial-gradient(1px 1px at 36% 14%, rgba(255,255,255,.75), transparent 60%),
    radial-gradient(1.5px 1.5px at 70% 28%, rgba(201,162,74,.55), transparent 60%),
    radial-gradient(1px 1px at 56% 60%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1.2px 1.2px at 80% 76%, rgba(201,162,74,.50), transparent 60%),
    /* 星座線っぽい斜めの点線 (金) — 左上→右下に控えめに */
    linear-gradient(132deg, transparent 18%, rgba(201,162,74,.16) 18.5%, transparent 19%, transparent 24%, rgba(201,162,74,.13) 24.5%, transparent 25%, transparent 32%, rgba(201,162,74,.10) 32.5%, transparent 33%);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
  background-repeat: no-repeat;
  border-radius: inherit;
  opacity: .9;
  mix-blend-mode: multiply;
}
/* SP では同心円・点線を縮小 */
@media (max-width: 640px) {
  body.page-id-6 .ug-worry-guide__item::before,
  body.page-id-7 .ug-worry-guide__item::before {
    background-image:
      radial-gradient(circle at 8% 94%, transparent 38px, rgba(201,162,74,.28) 39px, rgba(201,162,74,.28) 40px, transparent 41px),
      radial-gradient(circle at 8% 94%, transparent 56px, rgba(201,162,74,.18) 57px, rgba(201,162,74,.18) 58px, transparent 59px),
      radial-gradient(1.2px 1.2px at 18% 22%, rgba(201,162,74,.65), transparent 60%),
      radial-gradient(1px 1px at 56% 14%, rgba(255,255,255,.75), transparent 60%),
      radial-gradient(1.5px 1.5px at 78% 32%, rgba(201,162,74,.55), transparent 60%),
      radial-gradient(1px 1px at 72% 78%, rgba(255,255,255,.55), transparent 60%);
  }
}

/* ---- (2) Card outer gold hairline (no !important) ----------------------- */
/* 既存の border-color (!important) と box-shadow を尊重しつつ、
   外周にもう一段、極細の金 outline を box-shadow で重ねる。 */
body.page-id-6 .ug-worry-guide__item,
body.page-id-7 .ug-worry-guide__item {
  box-shadow:
    0 12px 28px rgba(24,28,46,.06),
    0 0 0 1px rgba(201,162,74,.22),
    inset 0 0 0 1px rgba(255,255,255,.55);
}
body.page-id-6 .ug-worry-guide__item:hover,
body.page-id-7 .ug-worry-guide__item:hover,
body.page-id-6 .ug-worry-guide__item:focus-visible,
body.page-id-7 .ug-worry-guide__item:focus-visible {
  box-shadow:
    0 18px 36px rgba(24,28,46,.12),
    0 0 0 1px rgba(201,162,74,.50),
    0 0 22px rgba(201,162,74,.20),
    inset 0 0 0 1px rgba(255,255,255,.65);
}

/* ---- (3) Icon pill: floating ✦ ornament next to the icon ---------------- */
/* アイコンの右上に小さな ✦ を浮かべて占星術記号らしさを強調。
   .ug-worry-guide__label は flex layout なので ::after は span に直接付ける。 */
.ug-worry-guide__icon {
  position: relative;
}
.ug-worry-guide__icon::after {
  content: "✦";
  position: absolute;
  top: -6px;
  right: -10px;
  color: rgba(201,162,74,.75);
  font-size: 9px;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 0 4px rgba(201,162,74,.35);
}

/* カテゴリ別アイコン色は既存ルールを尊重しつつ、
   ピルの内側に薄いカテゴリ色のグロウを足す (no !important / shadow only) */
.ug-worry-guide__item--renai .ug-worry-guide__icon {
  box-shadow:
    0 4px 10px rgba(200,63,114,.18),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.22),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 0 8px rgba(200,63,114,.10);
}
.ug-worry-guide__item--fukuen .ug-worry-guide__icon {
  box-shadow:
    0 4px 10px rgba(111,72,170,.18),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.22),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 0 8px rgba(111,72,170,.12);
}
.ug-worry-guide__item--kinun .ug-worry-guide__icon {
  box-shadow:
    0 4px 10px rgba(185,139,36,.22),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.32),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 0 8px rgba(185,139,36,.14);
}
.ug-worry-guide__item--shigoto .ug-worry-guide__icon {
  box-shadow:
    0 4px 10px rgba(52,91,165,.18),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.22),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 0 8px rgba(52,91,165,.12);
}
.ug-worry-guide__item--ningen .ug-worry-guide__icon {
  box-shadow:
    0 4px 10px rgba(62,124,100,.18),
    0 0 0 3px rgba(255,255,255,.55),
    0 0 0 4px rgba(201,162,74,.22),
    inset 0 1px 1px rgba(255,255,255,.7),
    inset 0 0 8px rgba(62,124,100,.12);
}

/* ---- (4) CTA button inside cat card: subtle gloss highlight ------------- */
/* 既存 .ug-worry-guide__button (!important) はそのまま。box-shadow と
   background-image (光沢層) のみ追記。!important なしで上書き不可なので
   既存の !important 行は維持し、本ブロックでは extra 装飾は無し。
   代わりに :hover 時の filter をやや上品に変える。 */
.ug-worry-guide__button:hover,
.ug-worry-guide__button:focus-visible {
  filter: brightness(1.03) saturate(1.03);
}

/* ---- (5) Footer link readability (highest priority of v133) ------------- */
/* nav.ug-footer-links + 子 a の文字色を、暗背景(濃紺〜深紫)上で
   明確に読めるレベル(near-white)へ引き上げる。
   nav タグを含む selector で specificity を一段上げる。 */
nav.ug-footer-links,
.ug-footer-links {
  color: #f7f1de;
}
nav.ug-footer-links a,
nav.ug-footer-links a:link,
nav.ug-footer-links a:visited,
.ug-footer-links a,
.ug-footer-links a:link,
.ug-footer-links a:visited {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(232,201,122,.55);
  font-weight: 500;
  opacity: 1;
}
nav.ug-footer-links a:hover,
nav.ug-footer-links a:focus-visible,
.ug-footer-links a:hover,
.ug-footer-links a:focus-visible {
  color: #fff7d8;
  text-decoration-color: rgba(232,201,122,.95);
  text-decoration-thickness: 2px;
}

/* SP でも視認性を保つ — フォントを細くしすぎない */
@media (max-width: 640px) {
  nav.ug-footer-links a,
  .ug-footer-links a {
    font-size: 14px;
    padding: 4px 0;
  }
}

/* ---- (6) Footer bottom logo and PR text contrast ----------------------- */
/* footer-bottom 領域 (Cocoon) はテーマ側スタイルの兼ね合いで
   独自テキストが暗くなりがち。.ug-footer-links 直下のロゴ要素も明るく。 */
.footer-bottom-logo,
.footer-bottom-logo .site-name,
.footer-bottom-logo .copyright {
  color: #f7f1de;
}
.footer-bottom-logo a {
  color: #ffffff;
  text-decoration-color: rgba(232,201,122,.55);
}

/* =============================================================================
   v134 (2026-05-03) Category zone + Teacher card brand polish
   - 5カテゴリページ (/worry/{renai,fukuen,kinun,shigoto,ningenkankei}/) の
     カテゴリ説明ブロック (.ugc-category-zone--*) に星雲・金細線・同心円・
     星座線を控えめに重ね、SNS/Instagram 世界観に合わせる
   - 先生カード (.ugc-teacher-card) に金細線・小さな ✦・hover 時の金光を追加
   - 「公式プロフィールを見る」ボタン (.ugc-btn) に上品な金ハロー+光沢を追加
   既存 !important 値は変更せず、新規 !important なし。画像なし。アニメなし。
   読みやすさ・タップしやすさ・データ・アフィリンク・順序は完全保持。
   ========================================================================== */

/* ---- (1) Category zone outer frame: cosmic overlay + gold hairline ----- */
/* .ugc-category-zone--{slug} は L1421+ で淡いカテゴリ色グラデを持つ。
   v134 では position:relative + ::before/::after を使い装飾を重ねる。 */
.ugc-category-zone,
.ugc-fukuen-teacher-zone {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(201,162,74,.28);
  box-shadow:
    0 14px 32px rgba(24,28,46,.07),
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 0 24px rgba(201,162,74,.10);
}
/* 中身 (見出し/導入文/カードグリッド) は装飾の上に確実に乗せる */
.ugc-category-zone > *,
.ugc-fukuen-teacher-zone > * {
  position: relative;
  z-index: 1;
}

/* ::before — 同心円リング(右上)+ 月相(左下)+ 星座点線(対角) */
.ugc-category-zone::before,
.ugc-fukuen-teacher-zone::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    /* 右上: 同心円3本 (金細線) */
    radial-gradient(circle at 92% 8%, transparent 92px, rgba(201,162,74,.32) 93px, rgba(201,162,74,.32) 94px, transparent 95px),
    radial-gradient(circle at 92% 8%, transparent 124px, rgba(201,162,74,.22) 125px, rgba(201,162,74,.22) 126px, transparent 127px),
    radial-gradient(circle at 92% 8%, transparent 156px, rgba(201,162,74,.14) 157px, rgba(201,162,74,.14) 158px, transparent 159px),
    /* 左下: 月相 (金球と背景色の差で欠け) */
    radial-gradient(circle at 6% 94%, rgba(232,201,122,.42) 0 22px, transparent 23px),
    radial-gradient(circle at 4% 92%, rgba(255,255,255,.85) 0 18px, transparent 19px),
    /* 星座っぽい点線 (左上→右下対角に薄く) */
    linear-gradient(126deg, transparent 28%, rgba(201,162,74,.14) 28.4%, transparent 28.8%, transparent 36%, rgba(201,162,74,.11) 36.4%, transparent 36.8%, transparent 46%, rgba(201,162,74,.09) 46.4%, transparent 46.8%);
  background-repeat: no-repeat;
  border-radius: inherit;
  opacity: .92;
  mix-blend-mode: multiply;
}
/* ::after — 星粒(白/金 mix を散らす) */
.ugc-category-zone::after,
.ugc-fukuen-teacher-zone::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(1.2px 1.2px at 14% 18%, rgba(255,255,255,.85), transparent 60%),
    radial-gradient(1px 1px at 28% 36%, rgba(232,201,122,.65), transparent 60%),
    radial-gradient(1px 1px at 42% 14%, rgba(255,255,255,.65), transparent 60%),
    radial-gradient(1.4px 1.4px at 56% 30%, rgba(232,201,122,.55), transparent 60%),
    radial-gradient(1px 1px at 70% 18%, rgba(255,255,255,.65), transparent 60%),
    radial-gradient(1px 1px at 22% 70%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1.2px 1.2px at 50% 78%, rgba(232,201,122,.55), transparent 60%),
    radial-gradient(1px 1px at 78% 64%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1.4px 1.4px at 86% 86%, rgba(232,201,122,.50), transparent 60%);
  background-repeat: no-repeat;
  border-radius: inherit;
  opacity: .85;
}

/* SP では同心円・月相を縮小、点線は非表示 (overflow / 視認軽量化) */
@media (max-width: 640px) {
  .ugc-category-zone::before,
  .ugc-fukuen-teacher-zone::before {
    background-image:
      radial-gradient(circle at 94% 6%, transparent 60px, rgba(201,162,74,.30) 61px, rgba(201,162,74,.30) 62px, transparent 63px),
      radial-gradient(circle at 94% 6%, transparent 84px, rgba(201,162,74,.20) 85px, rgba(201,162,74,.20) 86px, transparent 87px),
      radial-gradient(circle at 6% 96%, rgba(232,201,122,.42) 0 18px, transparent 19px),
      radial-gradient(circle at 4% 94%, rgba(255,255,255,.85) 0 14px, transparent 15px);
  }
}

/* ---- (2) Category-zone H1 ✦ pair refinement ---------------------------- */
/* 既存 (L1478) の ✦ を強調し、見出し下に細い金線を ::after で添える。
   既存ルール (.ugc-category-zone > .ugc-page-title::after = ✦) は
   保持されるため、新たに別 selector で hairline を追加する。 */
.ugc-category-zone .ugc-page-title,
.ugc-fukuen-teacher-zone .ugc-page-title {
  position: relative;
  padding-bottom: .55em;
  margin-bottom: .9em;
}
.ugc-category-zone .ugc-page-title + .ugc-lead-simple,
.ugc-fukuen-teacher-zone .ugc-page-title + .ugc-lead-simple {
  position: relative;
}
/* 見出しタイトル直下の金細線 — title の後ろに重ねるため ::before of next sibling */
.ugc-category-zone .ugc-page-title + .ugc-lead-simple::before,
.ugc-fukuen-teacher-zone .ugc-page-title + .ugc-lead-simple::before {
  content: "";
  display: block;
  width: 84px;
  height: 1px;
  margin: 0 auto 1em;
  background: linear-gradient(90deg, transparent, rgba(201,162,74,.7), transparent);
}

/* ---- (3) Teacher card: gold-ringed cosmic accent ----------------------- */
/* 既存 v132 の .ugc-teacher-card には金上端線 + 星粒2点が入っている。
   v134 ではさらに:
     - 外周 1px gold hairline (box-shadow inset, no !important)
     - hover 時の金グロウを少し強める
     - 見出し H3 (.ugc-teacher-name) の左に小さな ✦ を浮かべる
     - 見出し下に細い金線を ::after で添える
   すべて非 !important で specificity .ugc-teacher-grid--{slug} 経由を活用。 */
.ugc-teacher-grid--renai .ugc-teacher-card,
.ugc-teacher-grid--fukuen .ugc-teacher-card,
.ugc-teacher-grid--kinun .ugc-teacher-card,
.ugc-teacher-grid--shigoto .ugc-teacher-card,
.ugc-teacher-grid--ningenkankei .ugc-teacher-card {
  position: relative;
  border: 1px solid rgba(201,162,74,.30);
  box-shadow:
    0 8px 22px rgba(24,28,46,.06),
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 0 14px rgba(201,162,74,.06);
  background-image:
    radial-gradient(160px 100px at 100% 0%, rgba(201,162,74,.06), transparent 60%),
    radial-gradient(120px 80px at 0% 100%, rgba(120,90,180,.04), transparent 60%),
    radial-gradient(1px 1px at 14% 18%, rgba(232,201,122,.45), transparent 60%),
    radial-gradient(1px 1px at 84% 78%, rgba(120,90,180,.36), transparent 60%),
    radial-gradient(1px 1px at 56% 50%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #fdfbf3 100%);
  background-repeat: no-repeat;
}

/* 先生カード hover: 金グロウを少し強める (v132 の base と統合) */
.ugc-teacher-grid--renai .ugc-teacher-card:hover,
.ugc-teacher-grid--fukuen .ugc-teacher-card:hover,
.ugc-teacher-grid--kinun .ugc-teacher-card:hover,
.ugc-teacher-grid--shigoto .ugc-teacher-card:hover,
.ugc-teacher-grid--ningenkankei .ugc-teacher-card:hover {
  border-color: rgba(201,162,74,.55);
  box-shadow:
    0 14px 30px rgba(24,28,46,.10),
    0 0 0 1px rgba(201,162,74,.40) inset,
    0 0 22px rgba(201,162,74,.18);
}

/* 先生名 H3 左の ✦ ornament (既存の .ugc-teacher-summary__icon ✦ と
   役割を分けるため、name の前にだけ追加) */
.ugc-teacher-grid--renai .ugc-teacher-name,
.ugc-teacher-grid--fukuen .ugc-teacher-name,
.ugc-teacher-grid--kinun .ugc-teacher-name,
.ugc-teacher-grid--shigoto .ugc-teacher-name,
.ugc-teacher-grid--ningenkankei .ugc-teacher-name {
  position: relative;
  padding-left: 1.1em;
}
.ugc-teacher-grid--renai .ugc-teacher-name::before,
.ugc-teacher-grid--fukuen .ugc-teacher-name::before,
.ugc-teacher-grid--kinun .ugc-teacher-name::before,
.ugc-teacher-grid--shigoto .ugc-teacher-name::before,
.ugc-teacher-grid--ningenkankei .ugc-teacher-name::before {
  content: "✦";
  position: absolute;
  left: 0;
  top: .2em;
  color: rgba(201,162,74,.75);
  font-size: .7em;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 0 4px rgba(201,162,74,.30);
}

/* 先生名直下の金細線 (見出しと短文を上品に区切る) */
.ugc-teacher-grid--renai .ugc-teacher-name::after,
.ugc-teacher-grid--fukuen .ugc-teacher-name::after,
.ugc-teacher-grid--kinun .ugc-teacher-name::after,
.ugc-teacher-grid--shigoto .ugc-teacher-name::after,
.ugc-teacher-grid--ningenkankei .ugc-teacher-name::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: .35em 0 .15em 0;
  background: linear-gradient(90deg, rgba(201,162,74,.5), rgba(201,162,74,.0));
}

/* ---- (4) "公式プロフィールを見る" CTA: gold halo + gloss ---------------- */
/* 既存 .ugc-btn (L286) は inline-block の金グラデボタン。
   .ugc-teacher-actions .ugc-btn だけにスコープを絞り、
   外周に淡い金ハロー + 上部光沢を追加。色・URLには触らない。 */
.ugc-teacher-actions .ugc-btn {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 50%, rgba(0,0,0,.05) 100%),
    linear-gradient(180deg, var(--ugc-accent), var(--ugc-accent-2));
  border: 1px solid rgba(201,162,74,.55);
  box-shadow:
    0 6px 16px rgba(26,31,61,.16),
    0 0 0 1px rgba(201,162,74,.32),
    0 0 14px rgba(201,162,74,.14);
}
.ugc-teacher-actions .ugc-btn:hover,
.ugc-teacher-actions .ugc-btn:focus-visible {
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 46%, rgba(0,0,0,.04) 100%),
    linear-gradient(180deg, #d3ad55, #b08c44);
  box-shadow:
    0 10px 24px rgba(26,31,61,.22),
    0 0 0 1px rgba(201,162,74,.55),
    0 0 22px rgba(201,162,74,.22);
}

/* ---- (5) Teacher summary __icon ✦ refinement --------------------------- */
/* 既存 HTML <span class="ugc-teacher-summary__icon">✦</span> に金の薄い
   グロウを足し、占星術記号らしさを引き立てる。色変更は行わず shadow のみ。 */
.ugc-teacher-summary__icon {
  text-shadow: 0 0 6px rgba(201,162,74,.28);
}

/* ---- (6) Mobile (≤ 420px iPhone) safety -------------------------------- */
@media (max-width: 420px) {
  /* カテゴリゾーン: ::after の星粒密度を半減 */
  .ugc-category-zone::after,
  .ugc-fukuen-teacher-zone::after {
    opacity: .65;
  }
  /* 先生カード H3 ::after 細線を短く */
  .ugc-teacher-grid--renai .ugc-teacher-name::after,
  .ugc-teacher-grid--fukuen .ugc-teacher-name::after,
  .ugc-teacher-grid--kinun .ugc-teacher-name::after,
  .ugc-teacher-grid--shigoto .ugc-teacher-name::after,
  .ugc-teacher-grid--ningenkankei .ugc-teacher-name::after {
    width: 36px;
  }
  /* 見出し金細線も SP では短く */
  .ugc-category-zone .ugc-page-title + .ugc-lead-simple::before,
  .ugc-fukuen-teacher-zone .ugc-page-title + .ugc-lead-simple::before {
    width: 60px;
  }
}

/* =============================================================================
   v135 (2026-05-03) Category title — remove white-label / cocoon h2 leak
   問題: カテゴリカードの「恋愛」「復縁」「金運」「仕事」「人間関係」見出しの
        背後に、共通 h2 ルール (L250-257) の linear-gradient 背景 +
        4px 金 border-left が残り、白いラベル/シールのように見える。
   解決: .ug-worry-guide__title (specificity 0,1,0) を class-only で
        background:none / border:none / radius:0 にクリアする。
        非 !important で global h2 (specificity 0,0,1) を確実に上書き。
        SNS/Instagram 風の上品さを保つため、文字下に細い金線と
        小さな ✦ ornament を控えめに添える。
   - 新規 !important なし (specificity だけで勝つ)
   - 画像なし、アニメなし、HTML 変更なし
   ========================================================================== */

/* ---- (1) Reset h2 background/border leak on category title -------------- */
.ug-worry-guide__title,
.ug-worry-guide__item h2.ug-worry-guide__title {
  background: none;
  background-image: none;
  background-color: transparent;
  border: none;
  border-left: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  text-shadow: 0 0 6px rgba(255,255,255,.18);
}

/* ---- (2) Title gold underline (replaces the cleared border-left) ------- */
/* 文字下の細い金線で「上品な見出し」感を出す。inline-block 化により
   タイトル文字の幅にぴったり収まるアンダーラインを作る。 */
.ug-worry-guide__title {
  display: inline-block;
  position: relative;
  padding-bottom: .25em;
}
.ug-worry-guide__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 56%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(201,162,74,0), rgba(201,162,74,.7), rgba(201,162,74,0));
  pointer-events: none;
}
/* SP では金線を少し短く */
@media (max-width: 640px) {
  .ug-worry-guide__title::after { width: 48%; }
}

/* ---- (3) Tiny ✦ accents flanking the title (sparingly, no clutter) ----- */
/* :before に左の小さな ✦、右側はカテゴリ icon ::after が既にあるため
   シンメトリー要素は title 左側に1点だけ。 */
.ug-worry-guide__title::before {
  content: "✦";
  position: absolute;
  left: -1.0em;
  top: 50%;
  transform: translateY(-65%);
  color: rgba(201,162,74,.55);
  font-size: .42em;
  line-height: 1;
  pointer-events: none;
  text-shadow: 0 0 4px rgba(201,162,74,.30);
}
@media (max-width: 420px) {
  /* 狭幅では label 幅に余裕がないため ✦ を非表示 */
  .ug-worry-guide__title::before { display: none; }
}

/* ---- (4) Title color: deepen to navy/violet, ensure readability -------- */
/* 既存の !important color (#111833) は維持されるが、カテゴリ別に
   ごく淡い text-shadow を追加して上品な発光感を出す (色は変えない)。 */
.ug-worry-guide__item--renai .ug-worry-guide__title {
  text-shadow: 0 0 10px rgba(200,63,114,.10);
}
.ug-worry-guide__item--fukuen .ug-worry-guide__title {
  text-shadow: 0 0 10px rgba(111,72,170,.12);
}
.ug-worry-guide__item--kinun .ug-worry-guide__title {
  text-shadow: 0 0 10px rgba(185,139,36,.14);
}
.ug-worry-guide__item--shigoto .ug-worry-guide__title {
  text-shadow: 0 0 10px rgba(52,91,165,.10);
}
.ug-worry-guide__item--ningen .ug-worry-guide__title {
  text-shadow: 0 0 10px rgba(62,124,100,.10);
}

/* ---- (5) Defensive: clear h2/h3 leak inside teacher cards (cat pages) -- */
/* カテゴリページ内 article.ugc-teacher-card の H3 (.ugc-teacher-name) も
   global h2/h3 のスタイル継承で白ラベルっぽくなる可能性がある。
   念のため class-only 非 !important で背景・ボーダーを明示クリア。 */
.ugc-teacher-card .ugc-teacher-name {
  background: none;
  background-image: none;
  background-color: transparent;
  border: none;
  border-left: none;
  border-bottom: none;
  border-radius: 0;
  box-shadow: none;
}
/* v134 で追加した H3::after 金細線 (specificity .ugc-teacher-grid--{slug}
   .ugc-teacher-name::after) は維持される — ::after content が空でないため
   border-bottom を消しても下線装飾は残る。 */

/* =============================================================================
   v136 (2026-05-03) Footer cosmic continuity
   フッター(nav.ug-footer-links)を、上の「悩みに合う相談先を〜」カードや
   .ug-hero--top と同じ濃紺→深紫グラデーションへ揃え、神秘世界観を継続させる。
   - 単色の四角箱感を排除 (border-radius + 余白で「カード」として浮かべる)
   - 上カードと同じ色域 (#161a36 / #1d2148 / #2a2452 / #3a2960)
   - 右上に紫 / 左下に金の radial glow (.ug-hero--top と対称)
   - 星粒は控えめに残す
   - リンク文字は near-white、underline は金、hover で 1段強調
   - 法務リンクの可読性最優先
   - 新規 !important なし。HTML 変更なし。画像なし。アニメなし。
   ========================================================================== */

/* ---- (1) Footer card frame ---------------------------------------------- */
/* v132/v133 の .ug-footer-links 背景を、上の hero と同じ世界観へ差し替える。
   nav.ug-footer-links (specificity 0,1,1) が後勝ちで上書き。 */
nav.ug-footer-links {
  background:
    radial-gradient(900px 280px at 88% 12%, rgba(120,90,180,.30), transparent 60%),
    radial-gradient(700px 260px at 12% 88%, rgba(201,162,74,.18), transparent 60%),
    linear-gradient(160deg, #161a36 0%, #1d2148 38%, #2a2452 78%, #3a2960 100%);
  color: #f7f1de;
  border: 1px solid rgba(201,162,74,.32);
  border-radius: 18px;
  padding: 22px 20px;
  margin: 24px 0 18px;
  box-shadow:
    0 16px 38px rgba(14,16,34,.28),
    inset 0 0 0 1px rgba(201,162,74,.08),
    inset 0 0 24px rgba(201,162,74,.06);
  position: relative;
  overflow: hidden;
}

/* SP では余白を調整 (上のカードと自然に繋がる距離感) */
@media (max-width: 640px) {
  nav.ug-footer-links {
    border-radius: 16px;
    padding: 20px 16px;
    margin: 18px 8px 14px;
  }
}

/* ---- (2) Footer ::before — 星粒層 (上のカードと同じ密度感) -------------- */
/* v133 で .ug-footer-links::before に星粒を入れていたが、より上品に
   再構成。9点の白/金星粒を radial-gradient で散らす。 */
nav.ug-footer-links::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(1.2px 1.2px at 8% 22%,  rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 22% 64%,    rgba(232,201,122,.55), transparent 60%),
    radial-gradient(1.4px 1.4px at 36% 14%, rgba(255,255,255,.50), transparent 60%),
    radial-gradient(1px 1px at 50% 78%,    rgba(232,201,122,.45), transparent 60%),
    radial-gradient(1.2px 1.2px at 62% 36%, rgba(255,255,255,.50), transparent 60%),
    radial-gradient(1px 1px at 74% 70%,    rgba(232,201,122,.45), transparent 60%),
    radial-gradient(1.4px 1.4px at 86% 24%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 92% 58%,    rgba(232,201,122,.50), transparent 60%),
    radial-gradient(1.2px 1.2px at 18% 86%, rgba(255,255,255,.40), transparent 60%);
  background-repeat: no-repeat;
  border-radius: inherit;
  opacity: .85;
  background-color: transparent;
}

/* ---- (3) Footer ::after — 上端細い金線 ✦ ornament ----------------------- */
/* 上のカードからの「世界観の継続」を視覚的に示すため、フッター上端中央に
   ✦ + 金フェード細線を ::after で配置。 */
nav.ug-footer-links::after {
  content: "✦";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(232,201,122,.85);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .15em;
  pointer-events: none;
  text-shadow: 0 0 8px rgba(201,162,74,.45);
  z-index: 1;
  background:
    linear-gradient(90deg, transparent 0%, rgba(201,162,74,0) 28%, rgba(201,162,74,.55) 50%, rgba(201,162,74,0) 72%, transparent 100%) center 50%/120px 1px no-repeat;
  padding: 0 8px;
}

/* ---- (4) Links: brighter readable + gold underline ---------------------- */
/* v133 の color を最終調整: #ffffff → #fff8e0 (生成り寄り) で目に優しく、
   contrast は十分維持。hover/focus 時に明確に強調。 */
nav.ug-footer-links a,
nav.ug-footer-links a:link,
nav.ug-footer-links a:visited {
  color: #fff8e0;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(232,201,122,.55);
  font-weight: 500;
  position: relative;
  z-index: 1;
}
nav.ug-footer-links a:hover,
nav.ug-footer-links a:focus-visible {
  color: #ffffff;
  text-decoration-color: rgba(232,201,122,.95);
  text-decoration-thickness: 2px;
}

/* リンク間にゆとりを確保 (タップ範囲) */
nav.ug-footer-links a {
  display: inline-block;
  padding: 6px 10px;
  margin: 2px 2px;
  border-radius: 6px;
  transition: background-color .15s ease;
}
nav.ug-footer-links a:hover,
nav.ug-footer-links a:focus-visible {
  background-color: rgba(255,255,255,.05);
}

@media (max-width: 640px) {
  nav.ug-footer-links a {
    font-size: 14px;
    padding: 8px 10px;
    margin: 3px 2px;
  }
}

/* ---- (5) footer-bottom-logo / copyright integration -------------------- */
/* Cocoon フッター直下のロゴ・コピーライト領域も同じ世界観で着地させる。
   v132/v133 の color 指定を維持しつつ、背景に淡い navy wash を足す。 */
.footer-bottom-logo {
  background:
    radial-gradient(400px 80px at 50% 0%, rgba(120,90,180,.10), transparent 70%),
    linear-gradient(180deg, rgba(26,31,61,.04), rgba(42,36,82,.06));
  color: #f7f1de;
  border-top: 1px solid rgba(201,162,74,.18);
  padding: .8em 1em .7em;
  border-radius: 0 0 14px 14px;
}
.footer-bottom-logo .site-name,
.footer-bottom-logo .copyright {
  color: #f7f1de;
}
.footer-bottom-logo a {
  color: #fff8e0;
  text-decoration: underline;
  text-decoration-color: rgba(232,201,122,.45);
}
.footer-bottom-logo a:hover,
.footer-bottom-logo a:focus-visible {
  color: #ffffff;
  text-decoration-color: rgba(232,201,122,.85);
}

