@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/* ========= Uni Recipe Hub — 案C: 没入ヒーロー ========= */
:root {
  --urh-bg: #fafaf7;
  --urh-ink: #1f1b17;
  --urh-sub: #6b6057;
  --urh-mint: #c9ddd0;
  --urh-peach: #fad5c2;
  --urh-butter: #f7e7b6;
  --urh-lavender: #d9d1e6;
  --urh-accent: #d47a6a;
}

/* 全体 */
body.home, body.page-home {
  background: var(--urh-bg);
  font-feature-settings: "palt";
}

/* ===== Hero ===== */
.urh-hero {
  position: relative; height: 620px; overflow: hidden;
  margin: 0 calc(50% - 50vw);
}
.urh-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.urh-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(201,221,208,.38) 0%, rgba(250,213,194,.32) 100%);
}
.urh-hero__fade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(250,250,247,.95) 100%);
}
.urh-hero__inner {
  position: relative; z-index: 2; height: 100%;
  max-width: 1120px; margin: 0 auto; padding: 24px 48px;
  display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 80px;
}
.urh-hero__eyebrow {
  display: inline-block; align-self: flex-start;
  padding: 6px 14px; border-radius: 20px;
  background: rgba(255,255,255,.9); backdrop-filter: blur(6px);
  font-size: 11px; letter-spacing: .2em; margin-bottom: 20px;
}
.urh-hero__title {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700; letter-spacing: -.03em; line-height: 1.25;
  margin: 0; max-width: 720px;
}
.urh-hero__title .stroke {
  color: #fff; -webkit-text-stroke: 1.5px var(--urh-ink); paint-order: stroke fill;
}
.urh-hero__title .mark {
  background: linear-gradient(transparent 55%, var(--urh-butter) 55% 90%, transparent 90%);
  padding: 0 6px;
}

/* ===== カテゴリカード(フローティング) ===== */
.urh-cats {
  max-width: 1040px; margin: -40px auto 0;
  padding: 24px 28px; border-radius: 28px; background: #fff;
  box-shadow: 0 10px 40px rgba(0,0,0,.06);
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  position: relative; z-index: 3;
}
.urh-cat { display: flex; align-items: center; gap: 14px; padding: 12px; border-radius: 18px; text-decoration: none; color: inherit; transition: transform .2s; }
.urh-cat:hover { transform: translateY(-2px); }
.urh-cat__icon { width: 48px; height: 48px; border-radius: 24px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.urh-cat--work .urh-cat__icon { background: var(--urh-peach); }
.urh-cat--qol .urh-cat__icon { background: var(--urh-mint); }
.urh-cat--money .urh-cat__icon { background: var(--urh-butter); }
.urh-cat--other .urh-cat__icon { background: var(--urh-lavender); }
.urh-cat__sub { font-size: 10px; color: var(--urh-sub); letter-spacing: .15em; }
.urh-cat__name { font-size: 15px; font-weight: 700; }

/* ===== 最新記事カード ===== */
.urh-latest { max-width: 1040px; margin: 0 auto; padding: 64px 48px 32px; }
.urh-latest__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 28px; }
.urh-latest__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.urh-card { border-radius: 24px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; min-height: 200px; text-decoration: none; color: inherit; transition: transform .2s; }
.urh-card:hover { transform: translateY(-2px); }
.urh-card--qol { background: var(--urh-mint); }
.urh-card--money { background: var(--urh-butter); }
.urh-card--work { background: var(--urh-peach); }
.urh-card--other { background: var(--urh-lavender); }
.urh-card__body { padding: 24px 24px 20px; display: flex; flex-direction: column; justify-content: space-between; }
.urh-card__cat { display: inline-block; padding: 4px 10px; border-radius: 10px; background: rgba(255,255,255,.7); font-size: 10px; letter-spacing: .15em; font-weight: 600; margin-bottom: 16px; }
.urh-card__title { font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3; margin: 0 0 8px; text-wrap: balance; }
.urh-card__img { background-size: cover; background-position: center; min-height: 200px; }

/* ===== SP (<768px) ===== */
@media (max-width: 768px) {
  .urh-hero { height: 520px; }
  .urh-hero__inner { padding: 14px 16px 60px; }
  .urh-cats {
    margin: -32px 16px 0; border-radius: 22px;
    padding: 16px 14px; gap: 10px;
    display: flex; overflow-x: auto;
    scrollbar-width: none;
  }
  .urh-cats::-webkit-scrollbar { display: none; }
  .urh-cat { flex-shrink: 0; padding: 6px 12px 6px 6px; border-radius: 999px; }
  .urh-cat--work { background: var(--urh-peach); }
  .urh-cat--qol { background: var(--urh-mint); }
  .urh-cat--money { background: var(--urh-butter); }
  .urh-cat--other { background: var(--urh-lavender); }
  .urh-cat__icon { width: 28px; height: 28px; background: #fff !important; font-size: 14px; }

  .urh-latest { padding: 40px 16px 24px; }
  .urh-latest__grid { grid-template-columns: 1fr; gap: 16px; }
  .urh-card { grid-template-columns: 1fr; }
  .urh-card__img { aspect-ratio: 1.9; min-height: 0; }
  .urh-card__title { font-size: 17px; }
}

/* ===== スキン既存ヒーローを非表示（front-page.phpで独自実装） ===== */
body.home .skinadd-topmv-scroll {
  display: none !important;
}

/* ===== Grayishスキンのフルスクリーンヘッダーをホームのみ無効化 ===== */
.skin-grayish.front-top-page #header {
  height: auto !important;
  min-height: 0 !important;
  background-image: none !important;
  background-color: var(--urh-bg, #fafaf7) !important;
}
.skin-grayish.front-top-page .grayish_topmv_dot {
  display: none !important;
}
/* ヘッダー内のテキスト色を元に戻す */
.skin-grayish.front-top-page #header .header-logo-link,
.skin-grayish.front-top-page #header .site-name-text {
  color: var(--urh-ink, #1f1b17) !important;
  -webkit-text-stroke: 0 !important;
}

/* ===== Grayishスキン残り要素を非表示 ===== */
.skin-grayish.front-top-page .grayish_topmv_whovlay {
  display: none !important;
}
/* front-page.phpでヘッダーをナビのみに最小化 */
.skin-grayish.front-top-page #header {
  background-color: var(--urh-bg, #fafaf7) !important;
}

/* ===== ホームページでCocoon標準セクションを非表示 ===== */
body.home .recommended {
  display: none !important;
}
/* header-containerのサイトタイトル・キャッチコピーエリア調整 */
.skin-grayish.front-top-page #header-container {
  background: var(--urh-bg, #fafaf7) !important;
}
.skin-grayish.front-top-page .header-in .site-name,
.skin-grayish.front-top-page .header-in .catch {
  color: var(--urh-ink, #1f1b17) !important;
}

/* ===== ホームページでヘッダーのロゴ・キャッチを非表示（ヒーローで代替） ===== */
body.home .logo.logo-header,
body.home .tagline {
  display: none !important;
}
body.home #header-in {
  padding: 0 !important;
}
body.home #header {
  height: auto !important;
}

/* ================================================
   カテゴリ・記事ページ トンマナ統一
   ================================================ */

/* ----- 全ページ共通 ----- */
body {
  background: var(--urh-bg, #fafaf7) !important;
  color: var(--urh-ink, #1f1b17);
  font-feature-settings: "palt";
}

/* ヘッダー（非ホームページ） */
body:not(.home) #header,
body:not(.home) #header-container {
  background: var(--urh-bg, #fafaf7) !important;
  border-bottom: 1px solid var(--urh-line, #e5ddd1);
}
body:not(.home) .site-name-text,
body:not(.home) .header-logo-link {
  color: var(--urh-ink, #1f1b17) !important;
  -webkit-text-stroke: 0 !important;
}

/* ナビゲーション */
.navi-in > ul > li > a,
.menu-item a {
  color: var(--urh-ink, #1f1b17);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.03em;
}
.navi-in > ul > li > a:hover { color: var(--urh-accent, #d47a6a); }

/* パンくずリスト */
.breadcrumb {
  background: transparent !important;
  font-size: 12px;
  color: var(--urh-sub, #6b6057);
  padding: 12px 0 0 !important;
}
.breadcrumb a { color: var(--urh-sub, #6b6057); }

/* ----- カテゴリアーカイブ ----- */

/* カテゴリヘッダーバー */
.archive-header,
.page-header,
.cat-label-header {
  background: transparent !important;
  padding: 32px 0 16px !important;
}
.archive-title,
.page-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--urh-ink, #1f1b17) !important;
  margin: 0 0 4px !important;
  display: flex;
  align-items: center;
  gap: 10px;
}
.archive-title::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 26px;
  border-radius: 3px;
  background: var(--urh-accent, #d47a6a);
  flex-shrink: 0;
}

/* カテゴリ別アクセントカラー（ヘッダーバー） */
.category-qol .archive-title::before         { background: var(--urh-mint, #c9ddd0); }
.category-work .archive-title::before        { background: var(--urh-peach, #fad5c2); }
.category-assetmanagement .archive-title::before { background: var(--urh-butter, #f7e7b6); }
.category-other .archive-title::before       { background: var(--urh-lavender, #d9d1e6); }

/* 記事カードグリッド */
.entry-card-wrap,
.a-wrap {
  border-radius: 18px !important;
  overflow: hidden;
  border: none !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.05) !important;
  background: #fff !important;
  transition: transform .2s;
}
.entry-card-wrap:hover,
.a-wrap:hover { transform: translateY(-2px); }

.entry-card-thumb img,
.a-thumb img {
  border-radius: 0 !important;
}

.entry-card-content,
.a-content {
  padding: 14px 16px 16px !important;
}

.entry-card-title,
.a-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.5 !important;
  color: var(--urh-ink, #1f1b17) !important;
}

/* カテゴリラベル */
.cat-label {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  border: none !important;
}
.cat-label.cat-label-qol          { background: var(--urh-mint, #c9ddd0) !important; color: #2a4a35 !important; }
.cat-label.cat-label-work         { background: var(--urh-peach, #fad5c2) !important; color: #6b3020 !important; }
.cat-label.cat-label-assetmanagement { background: var(--urh-butter, #f7e7b6) !important; color: #5a4a10 !important; }
.cat-label.cat-label-other        { background: var(--urh-lavender, #d9d1e6) !important; color: #3a2f5a !important; }

/* ----- 個別記事ページ ----- */

/* 記事ヘッダー */
.article-header,
.post-header {
  padding: 24px 0 16px;
}

/* 記事タイトル */
.entry-title,
h1.post-title {
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.4 !important;
  color: var(--urh-ink, #1f1b17) !important;
}

/* 記事本文エリア */
.entry-content,
.article-body {
  font-size: 16px;
  line-height: 1.9;
  color: var(--urh-ink, #1f1b17);
}

/* 本文中の見出し */
.entry-content h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  padding: 10px 14px !important;
  border-left: 4px solid var(--urh-accent, #d47a6a) !important;
  border-bottom: 1px solid var(--urh-line, #e5ddd1) !important;
  background: transparent !important;
  color: var(--urh-ink, #1f1b17) !important;
  border-radius: 0 6px 0 0 !important;
  margin: 40px 0 18px !important;
}
.entry-content h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-left: 3px solid var(--urh-mint, #c9ddd0) !important;
  background: rgba(201,221,208,.15) !important;
  border-radius: 0 6px 6px 0 !important;
  margin: 30px 0 14px !important;
  color: var(--urh-ink, #1f1b17) !important;
}
.entry-content h4 {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--urh-ink, #1f1b17) !important;
  border-bottom: 1px dashed var(--urh-line, #e5ddd1) !important;
  padding-bottom: 6px !important;
  margin: 24px 0 10px !important;
}

/* 記事メタ情報 */
.post-meta,
.date,
.entry-date {
  color: var(--urh-sub, #6b6057);
  font-size: 12px;
}

/* 投稿カテゴリタグ（記事ページ） */
.cat-label-0,
.single .cat-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  border: none !important;
}

/* サイドバー */
.sidebar .widget-title,
.sidebar .widgettitle {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--urh-sub, #6b6057);
  border-left: 3px solid var(--urh-accent, #d47a6a) !important;
  border-bottom: none !important;
  padding: 0 0 0 10px !important;
  background: transparent !important;
  margin-bottom: 14px !important;
}

/* 関連記事・ページネーション */
.pager-links a,
.page-numbers a {
  border-radius: 8px !important;
  border: 1px solid var(--urh-line, #e5ddd1) !important;
  color: var(--urh-ink, #1f1b17) !important;
  background: #fff !important;
}
.pager-links a:hover,
.page-numbers a:hover {
  background: var(--urh-peach, #fad5c2) !important;
  border-color: var(--urh-peach, #fad5c2) !important;
}
.page-numbers.current {
  background: var(--urh-accent, #d47a6a) !important;
  color: #fff !important;
  border-color: var(--urh-accent, #d47a6a) !important;
  border-radius: 8px !important;
}

/* フッター */
#footer {
  background: var(--urh-ink, #1f1b17) !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 13px;
}
#footer a { color: rgba(255,255,255,.6) !important; }
#footer a:hover { color: #fff !important; }

/* ===== カテゴリラベル色修正 (body class approach) ===== */
.category-qol .cat-label            { background: var(--urh-mint, #c9ddd0) !important; color: #2a4a35 !important; }
.category-work .cat-label           { background: var(--urh-peach, #fad5c2) !important; color: #6b3020 !important; }
.category-assetmanagement .cat-label { background: var(--urh-butter, #f7e7b6) !important; color: #5a4a10 !important; }
.category-other .cat-label          { background: var(--urh-lavender, #d9d1e6) !important; color: #3a2a5a !important; }


/* ===== 個別記事ページ カテゴリラベル色 (categoryid-* body class) ===== */
/* QOL (ID:7) */
.categoryid-7 .cat-label  { background: var(--urh-mint, #c9ddd0) !important; color: #2a4a35 !important; }
/* 仕事 / work (ID:5) */
.categoryid-5 .cat-label  { background: var(--urh-peach, #fad5c2) !important; color: #6b3020 !important; }
/* 資産運用 / assetmanagement (ID:8) */
.categoryid-8 .cat-label  { background: var(--urh-butter, #f7e7b6) !important; color: #5a4a10 !important; }
/* Other (ID:1) */
.categoryid-1 .cat-label  { background: var(--urh-lavender, #d9d1e6) !important; color: #3a2a5a !important; }
/* 料理 / cooking (ID:6) */
.categoryid-6 .cat-label  { background: var(--urh-mint, #c9ddd0) !important; color: #2a4a35 !important; }
/* 子育て (ID:9) */
.categoryid-9 .cat-label  { background: var(--urh-peach, #fad5c2) !important; color: #6b3020 !important; }

/* ===== アーカイブ左バー — 追加カテゴリ ===== */
.category-work .archive-title::before           { background: var(--urh-peach, #fad5c2) !important; }
.category-assetmanagement .archive-title::before { background: var(--urh-butter, #f7e7b6) !important; }
.category-other .archive-title::before          { background: var(--urh-lavender, #d9d1e6) !important; }
.category-cooking .archive-title::before        { background: var(--urh-mint, #c9ddd0) !important; }
.category-child .archive-title::before          { background: var(--urh-peach, #fad5c2) !important; }


/* ================================================
   固定ページ共通（プロフィール・お問い合わせ等）
   ================================================ */

/* ページタイトル左バー */
.page .entry-title {
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.4 !important;
  color: var(--urh-ink, #1f1b17) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.page .entry-title::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 1em;
  border-radius: 3px;
  background: var(--urh-accent, #d47a6a);
  flex-shrink: 0;
}

/* ================================================
   お問い合わせフォーム (Contact Form 7)
   ================================================ */

/* 入力フィールド共通 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid var(--urh-line, #e5ddd1) !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 15px !important;
  color: var(--urh-ink, #1f1b17) !important;
  transition: border-color .2s !important;
  box-shadow: none !important;
  outline: none !important;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
  border-color: var(--urh-accent, #d47a6a) !important;
  box-shadow: 0 0 0 3px rgba(212,122,106,.12) !important;
}
.wpcf7-form textarea {
  min-height: 160px !important;
  resize: vertical !important;
}

/* 送信ボタン */
.wpcf7-form input[type="submit"],
.wpcf7-submit {
  display: inline-block !important;
  padding: 14px 40px !important;
  background: var(--urh-accent, #d47a6a) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 4px 16px rgba(212,122,106,.28) !important;
  letter-spacing: 0.05em !important;
}
.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
}

/* フォームのラベル */
.wpcf7-form label,
.wpcf7-form .wpcf7-list-item-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--urh-sub, #6b6057) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* ================================================
   プロフィールページ 特別スタイル
   ================================================ */
.page-id-38 .entry-content > p:first-of-type {
  font-size: 16px;
  line-height: 2;
  color: var(--urh-sub, #6b6057);
}

/* プロフィールの強調テキスト */
.page-id-38 .entry-content strong {
  color: var(--urh-accent, #d47a6a);
  font-weight: 700;
}

/* プロフィール内の囲みっぽい要素 */
.page-id-38 .entry-content h2 {
  margin-top: 48px !important;
}


/* ================================================
   フッター — パステルトーン統一
   ================================================ */
#footer,
#footer .footer-in,
#footer .footer-widgets,
#footer .footer-left,
#footer .footer-right {
  background: #f2ede6 !important;
  color: var(--urh-ink, #1f1b17) !important;
}
#footer .footer-logo-wrap,
#footer .footer-bottom-area {
  background: #ece6de !important;
  border-top: 1px solid #e5ddd1 !important;
}
.skin-grayish #footer,
.skin-grayish #footer .footer-in {
  background: #f2ede6 !important;
}

/* 著者ボックス */
#footer .author-box {
  background: #fff !important;
  border: 1px solid #e5ddd1 !important;
  border-radius: 20px !important;
}
#footer .author-name a,
#footer .author-description p {
  color: var(--urh-ink, #1f1b17) !important;
}

/* ウィジェットタイトル */
#footer .widget-title,
#footer .widgettitle {
  color: var(--urh-sub, #6b6057) !important;
  background: transparent !important;
  border-bottom: 2px solid #e5ddd1 !important;
}

/* 人気記事カード */
#footer .popular-entry-card,
#footer .entry-card-wrap {
  background: #fff !important;
  border: 1px solid #e5ddd1 !important;
  border-radius: 12px !important;
}
#footer .entry-card-title {
  color: var(--urh-ink, #1f1b17) !important;
}

/* フッターリンク・著作権 */
#footer a,
#footer .footer-copy {
  color: var(--urh-sub, #6b6057) !important;
}
#footer a:hover {
  color: var(--urh-accent, #d47a6a) !important;
  text-decoration: none !important;
}


/* ================================================
   フッター — 2カラム中央寄せ（右カラム非表示）
   ================================================ */
#footer .footer-right {
  display: none !important;
}
#footer .footer-widgets {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}
#footer .footer-left,
#footer .footer-center {
  flex: 0 1 380px !important;
  max-width: 380px !important;
}


/* ================================================
   フッター著者ボックス — コンパクト横並びレイアウト
   ================================================ */
#footer .author-box {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 16px !important;
  padding: 20px !important;
  text-align: left !important;
}
#footer .author-thumb {
  flex-shrink: 0 !important;
  margin: 0 !important;
}
#footer .author-thumb img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
#footer .author-content {
  flex: 1 !important;
  min-width: 0 !important;
}
#footer .author-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}
#footer .author-name a {
  color: var(--urh-ink, #1f1b17) !important;
}
#footer .author-description p {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--urh-sub, #6b6057) !important;
  margin-bottom: 12px !important;
}

/* ================================================
   Instagram フォローボタン — 強調スタイル
   ================================================ */
#footer .sns-follow-message {
  display: none !important;
}
#footer .instagram-follow-button-sq,
#footer .instagram-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 10px 16px !important;
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 4px 14px rgba(220,39,67,.28) !important;
  letter-spacing: 0.04em !important;
}
#footer .instagram-follow-button-sq::before,
#footer .instagram-button::before {
  font-family: 'Font Awesome 5 Brands' !important;
  content: '\f16d' !important;
  font-size: 15px !important;
}
#footer .instagram-follow-button-sq:hover,
#footer .instagram-button:hover {
  opacity: .85 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
/* 他のSNSボタンは非表示（Insta以外未設定のため） */
#footer .sns-follow-buttons .sns-button:not(.instagram-button) {
  display: none !important;
}
#footer .sns-follow-buttons {
  display: block !important;
}


/* ================================================
   フッタープロフィール修正（コンパクト化 + Insta修正）
   ================================================ */

/* プロフィール列を小さく */
#footer .footer-left {
  flex: 0 1 240px !important;
  max-width: 240px !important;
}
#footer .footer-widgets {
  align-items: flex-start !important;
}

/* author-box コンパクト */
#footer .author-box {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 16px !important;
  gap: 8px !important;
}
#footer .author-thumb img {
  width: 64px !important;
  height: 64px !important;
}
#footer .author-name {
  font-size: 14px !important;
  margin-bottom: 4px !important;
}
#footer .author-description p {
  font-size: 12px !important;
  line-height: 1.65 !important;
  margin-bottom: 10px !important;
}

/* Instagramボタン — アイコン二重修正 */
#footer .instagram-follow-button-sq::before,
#footer .instagram-button::before {
  content: none !important;
}
#footer .instagram-follow-button-sq,
#footer .instagram-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 9px 14px !important;
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(220,39,67,.25) !important;
  letter-spacing: 0.04em !important;
  transition: opacity .2s, transform .2s !important;
}
#footer .instagram-follow-button-sq::after,
#footer .instagram-button::after {
  content: 'Instagramをフォロー' !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}
#footer .instagram-follow-button-sq:hover,
#footer .instagram-button:hover {
  opacity: .85 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
/* 既存アイコンspan のサイズ調整 */
#footer .icon-instagram-logo {
  font-size: 15px !important;
  line-height: 1 !important;
}


/* ===== カテゴリカード 横並び修正 ===== */
.urh-cats__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
}
.urh-cat {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 6px !important;
  padding: 16px 8px !important;
  text-decoration: none !important;
  color: var(--urh-ink, #1f1b17) !important;
  transition: transform .2s !important;
}
.urh-cat:hover { transform: translateY(-2px) !important; }
.urh-cat__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  font-size: 22px !important;
}
.urh-cat--work  .urh-cat__icon { background: var(--urh-peach,   #fad5c2) !important; }
.urh-cat--qol   .urh-cat__icon { background: var(--urh-mint,    #c9ddd0) !important; }
.urh-cat--money .urh-cat__icon { background: var(--urh-butter,  #f7e7b6) !important; }
.urh-cat--other .urh-cat__icon { background: var(--urh-lavender,#d9d1e6) !important; }
.urh-cat__en   { font-size: 11px !important; color: var(--urh-sub, #6b6057) !important; letter-spacing: 0.1em !important; }
.urh-cat__name { font-size: 15px !important; font-weight: 700 !important; }

@media (max-width: 768px) {
  .urh-cats__inner {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    padding-bottom: 8px !important;
    scrollbar-width: none !important;
  }
  .urh-cat { flex: 0 0 auto !important; min-width: 80px !important; }
}


/* ===== カテゴリカード 均等配置修正 ===== */
.urh-cats { padding: 0 24px !important; }
.urh-cats__inner {
  justify-content: space-evenly !important;
  width: 100% !important;
}
.urh-cat {
  flex: 0 1 auto !important;
  min-width: 100px !important;
}


/* ===== カテゴリカード 全幅均等配置 ===== */
.urh-cats {
  width: 100% !important;
}
.urh-cats__inner {
  width: 100% !important;
  box-sizing: border-box !important;
  justify-content: space-evenly !important;
}
.urh-cat {
  flex: 1 1 0 !important;
}


/* ===== カテゴリカード 均等配置 最終修正 ===== */
.urh-cats {
  display: block !important;
}
.urh-cats__inner {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  justify-content: space-evenly !important;
  align-items: center !important;
}


/* ===== 記事カード カテゴリ別背景色 再適用 ===== */
.urh-card {
  display: flex !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: transform .2s !important;
  min-height: 200px !important;
}
.urh-card:hover { transform: translateY(-2px) !important; }

.urh-card--mint    { background-color: var(--urh-mint,    #c9ddd0) !important; }
.urh-card--peach   { background-color: var(--urh-peach,   #fad5c2) !important; }
.urh-card--butter  { background-color: var(--urh-butter,  #f7e7b6) !important; }
.urh-card--lavender{ background-color: var(--urh-lavender,#d9d1e6) !important; }

.urh-card__body {
  flex: 1 !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.urh-card__cat {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--urh-sub, #6b6057) !important;
  margin-bottom: 8px !important;
}
.urh-card__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.02em !important;
  color: var(--urh-ink, #1f1b17) !important;
  margin: 0 0 16px !important;
  text-wrap: balance !important;
}
.urh-card__more {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--urh-sub, #6b6057) !important;
}
.urh-card__img {
  width: 45% !important;
  flex-shrink: 0 !important;
  background-size: cover !important;
  background-position: center !important;
}

@media (max-width: 768px) {
  .urh-card {
    flex-direction: column !important;
  }
  .urh-card__img {
    width: 100% !important;
    aspect-ratio: 1.9 / 1 !important;
    min-height: 0 !important;
  }
}


/* ===== カテゴリカード アイコン横並びレイアウト ===== */
.urh-cat {
  flex-direction: row !important;
  align-items: center !important;
  text-align: left !important;
  gap: 12px !important;
  padding: 20px 16px !important;
}
.urh-cat__texts {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.urh-cat__en {
  display: block !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  color: var(--urh-sub, #6b6057) !important;
}
.urh-cat__name {
  display: block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--urh-ink, #1f1b17) !important;
}
