@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Template:   cocoon-master
*/

/* ===================== 基本共通（sweets用） ===================== */
.site-name-text{font-family:"Sawarabi Mincho";}
.entry-content .sw-scope *{box-sizing:border-box}
.entry-content .sw-scope img{max-width:100%;height:auto;margin:0}

/* 見出しリセットはカード等の内側だけに限定 */
.entry-content .sw-scope .sw-card h2,
.entry-content .sw-scope .sw-card h3{
  background:none;border:0;padding:0;margin:0 0 .6rem;line-height:1.3;font-weight:700;
}

/* 既に専用クラスがある見出しはクラス側で見た目管理 */
.entry-content .sw-scope .sw-section__title,
.entry-content .sw-scope .sw-related__title{
  /* ここは今のままでOK（必要なら調整） */
}

/* ---------------- バッジ / ヒーロー ---------------- */
.entry-content .sw-scope .sw-hero{margin:12px 0 24px}
.entry-content .sw-scope .sw-hero__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.entry-content .sw-scope .sw-badge{
  display:inline-block;padding:.24rem .66rem;border-radius:999px;background:#222;color:#fff;
  font-size:.8rem;line-height:1;text-decoration:none;letter-spacing:.02em;
}
.entry-content .sw-scope .sw-badge.-ghost{background:transparent;border:1px solid #ddd;color:#444}
.entry-content .sw-scope .sw-badge.-ghost:hover{background:#fff;border-color:#ccc}
.entry-content .sw-scope .sw-hero__lead{color:#666;margin-top:.6rem;max-width:68ch;line-height:1.9}

/* ---------------- 汎用カード（メーカー情報など） ---------------- */
.entry-content .sw-scope .sw-card{
  display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:start;
  border:1px solid #e5e5e5;border-radius:16px;padding:16px;background:#fff;margin:24px 0;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.entry-content .sw-scope .sw-card.-noimg{grid-template-columns:1fr}
.entry-content .sw-scope .sw-card__media img{
  width:140px;height:140px;object-fit:contain;background:#fafafa;border-radius:12px;display:block;aspect-ratio:1/1;
}
.entry-content .sw-scope .sw-card__body{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.entry-content .sw-scope .sw-card__title{
  display:inline-block;background:#f5f5f5;padding:.45rem .8rem;border-radius:10px;margin:-6px 0 .5rem;font-size:1.12rem;
}
.entry-content .sw-scope .sw-meta{margin:.2rem 0;color:#333;display:flex;gap:.6rem;align-items:center}
.entry-content .sw-scope .sw-meta__label{display:inline-block;width:3.5em;color:#888;opacity:.7}
.entry-content .sw-scope .sw-actions{margin:.45rem 0 .1rem;display:flex;gap:8px;flex-wrap:wrap}
.entry-content .sw-scope .sw-btn{
  display:inline-block;border:1px solid #222;padding:.46rem .9rem;border-radius:10px;text-decoration:none;color:#222;background:#fff;
  font-weight:600;transition:box-shadow .2s,transform .2s;
}
.entry-content .sw-scope .sw-btn:hover{box-shadow:0 0 0 3px rgba(0,0,0,.08);transform:translateY(-1px)}
.entry-content .sw-scope .sw-desc p{margin:0 0 .8rem;line-height:1.8}

/* ---------------- 関連グリッド / ミニカード ---------------- */
.entry-content .sw-scope .sw-related{margin:28px 0}
.entry-content .sw-scope .sw-related__title{font-size:1.1rem;margin:0 0 10px;font-weight:600;color:#222}
.entry-content .sw-scope .sw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.entry-content .sw-scope .sw-card-mini{
  display:block;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;
  transition:transform .2s,box-shadow .2s;
}
.entry-content .sw-scope .sw-card-mini:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.entry-content .sw-scope .sw-card-mini__thumb img{width:100%;height:180px;object-fit:cover;display:block}
.entry-content .sw-scope .sw-card-mini__body{padding:12px}
.entry-content .sw-scope .sw-card-mini__title{
  font-size:.94rem;line-height:1.35;color:#222;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

@media (max-width:768px){
  .entry-content .sw-scope .sw-card{grid-template-columns:1fr}
  .entry-content .sw-scope .sw-card__media img{width:96px;height:96px}
  .entry-content .sw-scope .sw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entry-content .sw-scope .sw-card-mini__thumb img{height:160px}
}

/* ---------------- タイトル直下：基本データ（spec） ---------------- */
.entry-header .sw-scope--header .sw-spec.sw-spec--under-title{margin:10px 0 16px}
.entry-content .sw-scope .sw-spec,
.entry-header .sw-scope--header .sw-spec{border:1px solid #eee;background:#fff;border-radius:16px;padding:16px}
.entry-content .sw-scope .sw-spec__title,
.entry-header .sw-scope--header .sw-spec__title{font-size:1.05rem;font-weight:700;margin:0 0 10px;color:#222}
.entry-content .sw-scope .sw-spec__list,
.entry-header .sw-scope--header .sw-spec__list{display:grid;gap:10px;margin:0}
.entry-content .sw-scope .sw-spec__row,
.entry-header .sw-scope--header .sw-spec__row{
  display:grid;grid-template-columns:7em 1fr;gap:10px;padding:10px;border:1px solid #f0f0f0;border-radius:12px;background:#fafafa;
}
.entry-content .sw-scope .sw-spec__row dt,
.entry-header .sw-scope--header .sw-spec__row dt{color:#666;margin:0}
.entry-content .sw-scope .sw-spec__row dd,
.entry-header .sw-scope--header .sw-spec__row dd{margin:0;color:#222;line-height:1.7}
.entry-content .sw-scope .sw-tags,
.entry-header .sw-scope--header .sw-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.entry-content .sw-scope .sw-tags .sw-badge,
.entry-header .sw-scope--header .sw-tags .sw-badge{
  display:inline-block;padding:.22rem .6rem;border-radius:999px;background:#fff;border:1px solid #ddd;color:#444;font-size:.8rem;line-height:1;text-decoration:none;
}

/* ---------------- Maker 詳細ページ差分 ---------------- */
.single-makers .entry-title{font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);font-weight:800;letter-spacing:.02em;margin-bottom:.4rem}
.single-makers .sw-card__media img{width:140px;height:140px}
.single-makers .sw-btn{padding:.36rem .7rem;font-size:.92rem}
.single-makers .sw-btn::after{content:"↗";margin-left:.35rem;font-size:.9em;opacity:.7}
@media (min-width:1100px){ .single-makers .sw-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* ---------------- Cocoon: タイトル周りの余白/広告空白対策 ---------------- */
.entry-header .ad-below-title,
.entry-header .sns-share-buttons,
.entry-header .review-rating,
.entry-header .date-tags{margin-top:8px !important;margin-bottom:8px !important}
.entry-header .ad-below-title ins.adsbygoogle:empty{display:none !important}
.entry-header .ad-below-title ins.adsbygoogle{min-height:0 !important}
.entry-header [class*="ad-"]{margin-top:8px;margin-bottom:8px}

/* ===================== Search（page-search.php） ===================== */
/* セレクトを“普通の枠”に戻す（このテンプレ限定） */
body.page-template-page-search-php .entry-content select{
  width:100% !important;padding:.65rem .85rem !important;border:1px solid #e5e5e5 !important;border-radius:10px !important;
  background:#fff !important;color:#222 !important;height:auto !important;line-height:1.4 !important;box-shadow:none !important;outline:0 !important;
  border-bottom:1px solid #e5e5e5 !important;
}
body.page-template-page-search-php .entry-content select:focus{border-color:#bbb !important;box-shadow:0 0 0 3px rgba(0,0,0,.05) !important}

/* 2カラムレイアウト & sticky サイド */
body.page-template-page-search-php .entry-content,
body.page-template-page-search-php .sw-finder{overflow:visible !important}
body.page-template-page-search-php .sw-finder{
  display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start;
}
@media (max-width:820px){ body.page-template-page-search-php .sw-finder{grid-template-columns:1fr;gap:18px} }
body.page-template-page-search-php .sw-finder__side{
  position:-webkit-sticky;position:sticky;top:96px;align-self:start;height:fit-content;
}
body.page-template-page-search-php .sw-filter{margin:0 0 14px}
body.page-template-page-search-php .sw-filter__label{display:block;font-weight:700;margin:0 0 6px;color:#222}

/* 地域アコーディオン */
body.page-template-page-search-php .sw-acc{border:1px solid #eee;border-radius:14px;background:#fff;margin:0 0 12px}
body.page-template-page-search-php .sw-acc__head{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.7rem .9rem;border:0;background:#fff;
  font-weight:700;color:#222;cursor:pointer;border-radius:14px;
}
body.page-template-page-search-php .sw-acc__caret{
  width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #777;transition:transform .18s;
}
body.page-template-page-search-php .sw-acc__head.-open .sw-acc__caret{transform:rotate(180deg)}
body.page-template-page-search-php .sw-acc__panel{display:none;padding:.1rem .9rem .9rem}
body.page-template-page-search-php .sw-acc__head.-open + .sw-acc__panel{display:block}
body.page-template-page-search-php .sw-acc__ops{margin-top:10px}
body.page-template-page-search-php .sw-acc__ops .sw-link{
  display:inline-flex;align-items:center;gap:.35em;padding:.5rem .75rem;border:1px solid #ddd;background:#efefef;color:#222;border-radius:8px;text-decoration:none;
  font-size:.92rem;line-height:1;transition:box-shadow .2s,background .2s;
}
body.page-template-page-search-php .sw-acc__ops .sw-link:hover{background:#f8f8f8;box-shadow:0 0 0 3px rgba(0,0,0,.06)}

/* タグ：チップ（単一選択） */
body.page-template-page-search-php .sr-only{
  position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;border:0 !important;
}
body.page-template-page-search-php .sw-chipset{display:flex;flex-wrap:wrap;gap:8px;margin-top:.2rem}
body.page-template-page-search-php .sw-chip{
  display:inline-block;padding:.3rem .66rem;border-radius:999px;background:#fff;border:1px solid #ddd;color:#444;font-size:.9rem;cursor:pointer;
  user-select:none;line-height:1;transition:background .15s,border-color .15s;
}
body.page-template-page-search-php .sw-chip:hover{border-color:#bbb}
body.page-template-page-search-php .sw-chip.-active{background:#222;color:#fff;border-color:#222}

/* 検索結果＆カード */
body.page-template-page-search-php .sw-finder__results{min-width:0}
body.page-template-page-search-php .sw-results__meta{display:flex;gap:.5em;align-items:baseline;margin:0 0 10px;color:#333;font-weight:600}
body.page-template-page-search-php .sw-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:1100px){ body.page-template-page-search-php .sw-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:768px){ body.page-template-page-search-php .sw-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
body.page-template-page-search-php .sw-card-mini{display:block;border:1px solid #eee;border-radius:12px;background:#fff;overflow:hidden;text-decoration:none;transition:transform .18s,box-shadow .18s}
body.page-template-page-search-php .sw-card-mini:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
body.page-template-page-search-php .sw-card-mini__thumb img{width:100%;height:180px;object-fit:cover;display:block}
@media (max-width:640px){ body.page-template-page-search-php .sw-card-mini__thumb img{height:160px} }
body.page-template-page-search-php .sw-card-mini__body{padding:12px}
body.page-template-page-search-php .sw-card-mini__title{
  font-size:.94rem;line-height:1.35;color:#222;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
@media (max-width:640px){ body.page-template-page-search-php .sw-card-mini__title{-webkit-line-clamp:2} }

/* ページネーション（Cocoon準拠の最小上書き） */
body.page-template-page-search-php .pagination{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:18px 0 0;
}
body.page-template-page-search-php .pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:auto;min-width:auto;
  padding:.42rem .72rem;line-height:1;border-radius:8px;
}
body.page-template-page-search-php .pagination .prev,
body.page-template-page-search-php .pagination .next{padding:.42rem .86rem}
body.page-template-page-search-php .pagination .dots{padding:0 .5rem;min-width:auto;box-shadow:none;border-color:transparent}

/* Search：手動の［この条件で検索］ボタンは非表示（自動検索化） */
body.page-template-page-search-php #sw-finder-form .sw-filter__actions .sw-btn{display:none !important}

/* 「他の銘菓をもっと見る」強調ボタン */
.sw-more-pref{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:.85rem 1rem;
  border:2px solid #111;border-radius:12px;background:#fff;color:#111;text-decoration:none;font-weight:800;letter-spacing:.02em;
  box-shadow:0 2px 0 rgba(0,0,0,.04);transition:transform .15s,box-shadow .15s,background .15s,color .15s;
}
.sw-more-pref:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.10)}
.sw-more-pref.-primary{background:#111;color:#fff;border-color:#111}
.sw-more-pref.-primary:hover{box-shadow:0 10px 28px rgba(0,0,0,.25)}
.sw-more-pref__icon{width:18px;height:18px;flex:0 0 18px}
@media (max-width:640px){
  .sw-more-pref{padding:1rem 1.1rem}
  .sw-more-pref__icon{width:20px;height:20px}
}

/* ===================== Home：検索ブロック横一面 ===================== */
/* 推奨：親がgridでも「検索」だけ全幅にする（まずこれが効くか確認） */
body.home .home-hero__search{grid-column:1 / -1 !important}



/* 検索ボックスの見た目（必要に応じて） */
body.home .home-search{
  width:100%;border:1px solid #eee;border-radius:16px;background:#fff;padding:16px;margin:8px 0 20px;
}
body.home .home-search__rows{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){ body.home .home-search__rows{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ body.home .home-search__rows{grid-template-columns:1fr} }
body.home .home-search__actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap}

/* Cocoon の下線セレクトを通常枠に（ホーム限定） */
body.home .home-search select{
  width:100%;padding:.65rem .85rem;border:1px solid #e5e5e5;border-radius:10px;background:#fff;color:#222;line-height:1.4;height:auto;box-shadow:none;
}
body.home .home-search select:focus{border-color:#bbb;box-shadow:0 0 0 3px rgba(0,0,0,.05)}



/* ===== Home：検索カード v2（統合版） ===== */
.home-hero--v2{ display:block !important; }

/* カード本体 */
.home-search-card{
  max-width: 980px;
  margin: 0 auto 22px;
  padding: 22px 22px 18px;
  background:#fff;
  border:1px solid #eceef2;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(16,24,40,.06);
  position:relative;
  overflow:hidden;
  text-align:center; /* 見出し・説明・ボタンを中央寄せ */
}
.home-search-card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  /* 好きな方のグラデを1本だけ使う */
  background: linear-gradient(to right, #ffcc3d 0%, #3f7955 100%);
  opacity:.9;
}

/* 見出し */
.home-search-eyebrow{
  margin:0 0 6px; font-size:.95rem; font-weight:700; color:#667085; letter-spacing:.02em;
}
.home-search-title{
  margin:0 0 10px;
  display:inline-flex; align-items:center; gap:.55em; /* アイコンとの間隔 */
  font-weight:800; line-height:1.2;
  font-size:clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
}
.home-search-title__icon{
  display:inline-flex; width:1.15em; height:1.15em; line-height:1; color:#222;
}

/* 入力グリッド */
.home-search-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:8px 0 12px;
}
@media (max-width:680px){ .home-search-grid{ grid-template-columns:1fr; } }
.home-field-label{ display:block; font-weight:700; margin:0 0 6px; color:#111; }

/* セレクト（Cocoon下線を打ち消し） */
.home-search-form select{
  width:100%; padding:.72rem .95rem; appearance:none; line-height:1.2; color:#1f2937;
  border:1px solid #e6e8ef !important; border-radius:12px; background:#fff
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'><path d='M5 7l5 5 5-5' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")
    no-repeat right .7rem center/18px 18px;
  box-shadow:none !important;
}
.home-search-form select:focus{
  border-color:#94a3b8 !important;
  outline:0; box-shadow:0 0 0 4px rgba(148,163,184,.18) !important;
}

/* タグ行：折り返し＋中央寄せ */
.home-search-tags{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:8px 10px; margin:6px 0 12px;
}
.home-search-tags__label{
  white-space:nowrap; font-weight:700; color:#111; font-size:.85rem;
}
.home-chip{
  display:inline-block; white-space:nowrap;
  padding:.34rem .64rem; font-size:.9rem; border-radius:999px;
  background:#fff; color:#334155; text-decoration:none;
  border:1px solid #e6e8ef;
  transition:box-shadow .15s, transform .15s, border-color .15s;
}
.home-chip:hover{ transform:translateY(-1px); border-color:#cbd5e1; box-shadow:0 6px 16px rgba(2,6,23,.06); }
@media (max-width:520px){
  .home-search-tags__label{ font-size:.8rem; }
  .home-chip{ font-size:.86rem; padding:.3rem .58rem; }
}

/* ボタン行：中央寄せ */
.home-search-actions{
  display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:2px;
}
.home-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.78rem 1.1rem; border-radius:12px; font-weight:800; line-height:1;
  border:1px solid transparent; text-decoration:none; cursor:pointer;
  transition:transform .12s, box-shadow .15s, background .15s, color .15s;
}
.home-btn--primary{ background:#111; color:#fff; border-color:#111; box-shadow:0 2px 0 rgba(0,0,0,.06); }
.home-btn--primary:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(0,0,0,.22); }
.home-btn--ghost{ background:#fff; color:#111; border-color:#e4e7ec; }
.home-btn--ghost:hover{ border-color:#cfd4dc; box-shadow:0 6px 16px rgba(16,24,40,.08); }

/* 下セクションとの間隔 */
.home-latest{ margin-top:10px; }



/* Home 検索ミニカード内の見出しは Cocoon の装飾を無効化 */
body.home .home-search-card .home-search-title{
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 0 12px;
  font-weight: 800;
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
  line-height: 1.2;
}

/* Cocoon が出す飾り線・擬似要素などを念のため消す */
body.home .home-search-card .home-search-title::before,
body.home .home-search-card .home-search-title::after{
  content: none !important;
  display: none !important;
}

/* Home 検索カードの見出しを小さめに */
body.home .home-search-card .home-search-title{
  font-size: clamp(1.1rem, 0.9rem + 0.8vw, 1.6rem) !important; /* 以前: ～2rem */
  line-height: 1.25;
}

/* さらに小さい画面ではもう一段だけ縮める（任意） */
@media (max-width: 480px){
  body.home .home-search-card .home-search-title{
    font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.35rem) !important;
  }
}

/* ===== Mobile hotfix: Search page (page-search.php) ===== */
@media (max-width: 560px){

  /* 1) サイドフィルターは最前面／スマホでは sticky を無効化 */
  body.page-template-page-search-php .sw-finder__side{
    position: static;   /* ← 元の sticky をオフ */
    top: auto;
    z-index: 3;         /* 広告や他要素より前面に */
  }
  body.page-template-page-search-php .sw-acc{ position: relative; z-index: 2; }

  /* 2) 画面下のアンカー広告等に隠れないよう下余白を確保 */
  body.page-template-page-search-php .sw-finder{
    padding-bottom: 88px;  /* 端末差を考えて少し多め */
  }
  @supports (padding: env(safe-area-inset-bottom)){
    body.page-template-page-search-php .sw-finder{
      padding-bottom: max(88px, env(safe-area-inset-bottom));
    }
  }

  /* 3) アコーディオンのタップ性を改善（高さとパディング） */
  body.page-template-page-search-php .sw-acc__head{
    min-height: 48px;
    padding: .75rem .95rem;
  }
}


