/*
Theme Name: Cocoon Child
Template: cocoon-master
Version: 1.0.0
*/

@charset "UTF-8";

/* =========================================================
   共通
========================================================= */
img {
  max-width: 100%;
  height: auto;
}

.entry-content img,
.article img,
.widget img {
  display: block;
}

/* =========================================================
   一覧（トップ/カテゴリ/検索）カード：崩れ防止
========================================================= */
.entry-card,
.entry-card-content,
.entry-card-thumb,
.ect-entry-card,
.ect-entry-card-content,
.ect-entry-card-thumb {
  overflow: hidden;
}

.entry-card-thumb,
.ect-entry-card-thumb,
.related-entry-card-thumb,
.carousel-entry-card-thumb {
  background: transparent;
}

.entry-card-thumb img,
.ect-entry-card-thumb img,
.related-entry-card-thumb img,
.carousel-entry-card-thumb img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   加盟店ページ：本文の画像（巨大化/左寄り対策）
========================================================= */
.fp-shop-img,
.entry-content > p > img,
.entry-content > p > a > img {
  display: block;
  width: 100%;
  max-width: 720px;
  height: auto;
  margin: 16px auto;
}

/* 付与クラス（--top / --sub）にも対応 */
.fp-shop-img--top,
.fp-shop-img--sub,
.fp-shop-img-top,
.fp-shop-img-sub {
  max-width: 720px;
}

/* =========================================================
   地図：縮小・崩れ防止
========================================================= */
.entry-content iframe {
  max-width: 100%;
}

.entry-content iframe[src*="google.com/maps"] {
  width: 100% !important;
  max-width: 720px;
  height: 360px;
  margin: 16px auto;
  display: block;
  border: 0;
}

@media (max-width: 640px) {
  .entry-content iframe[src*="google.com/maps"] {
    height: 260px;
  }
}

/* =========================================================
   公式サイトボタン：青いリンクになってもボタン化（文言は変更しない）
========================================================= */
.entry-content a.cv-shine-btn,
.entry-content .cv-shine-btn,
.entry-content a[href*="ck.in.ap.valuecommerce.com/servlet/referral"] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 720px;
  min-height: 52px;
  margin: 10px auto 18px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  line-height: 1.2;
  box-sizing: border-box;
  background: #e55b5b !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.entry-content a.cv-shine-btn:hover,
.entry-content .cv-shine-btn:hover,
.entry-content a[href*="ck.in.ap.valuecommerce.com/servlet/referral"]:hover {
  filter: brightness(0.98);
}

/* =========================================================
   SNSシェア：中央寄せ・サイズ安定
========================================================= */
.sns-share,
.sns-share-buttons,
.sns-buttons,
.sns-share-buttons ul,
.sns-buttons ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-left: 0;
  margin-left: auto;
  margin-right: auto;
}

.sns-share-buttons li,
.sns-buttons li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sns-share-buttons a,
.sns-buttons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  height: 44px;
  border-radius: 999px;
}

@media (max-width: 640px) {
  .sns-share-buttons a,
  .sns-buttons a {
    min-width: 96px;
    height: 40px;
  }
}

/* 横バー型（出る場合） */
.sns-share.ss-col-3 .sns-share-buttons,
.sns-share.ss-col-3 .sns-buttons {
  width: 100%;
  max-width: 720px;
}

.sns-share.ss-col-3 .sns-share-buttons a,
.sns-share.ss-col-3 .sns-buttons a {
  flex: 1 1 180px;
  min-width: 180px;
  height: 44px;
}

/* =========================================================
   関連記事サムネ：崩れ防止
========================================================= */
.related-entry-card,
.related-entry-card-thumb {
  overflow: hidden;
}

.related-entry-card-thumb img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  opacity: 1 !important;
  visibility: visible !important;
}

/* =========================================================
   加盟店ページ：画像同士の間隔を広げて見栄え改善
========================================================= */

/* 画像全体の基本余白を少し広げる */
.fp-shop-img,
.entry-content > p > img,
.entry-content > p > a > img {
  margin: 28px auto; /* ← 16px → 28px */
}

/* 1枚目は少し控えめ、2枚目以降はやや広めにして「詰まり感」を解消 */
.fp-shop-img--top {
  margin: 20px auto 32px;
}

.fp-shop-img--sub {
  margin: 32px auto 32px;
}

/* =========================================================
   加盟店ページ：PCでは画像を拡大しない（画質荒れ防止）
========================================================= */
@media (min-width: 641px) {
  .entry-content .fp-shop-img,
  .entry-content > p > img.fp-shop-img,
  .entry-content > p > a > img.fp-shop-img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* === City Search (PC only) === */
.hanashima-citysearch{
  margin: 14px 0;
  padding: 12px 0;
}
.hanashima-citysearch__inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 12px;
}
.hanashima-citysearch__title{
  font-weight: 700;
  margin-bottom: 8px;
}
.hanashima-citysearch__form{
  display: flex;
  gap: 8px;
  align-items: center;
}
.hanashima-citysearch__input{
  flex: 1 1 auto;
  min-width: 280px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 10px;
}
.hanashima-citysearch__btn{
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
}
.hanashima-citysearch__hint{
  font-size: 12px;
  opacity: .8;
  margin-top: 6px;
}
.hanashima-citysearch__dropdown{
  max-width: 680px;
  margin-top: 6px;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.hanashima-citysearch__item{
  display: block;
  padding: 10px 12px;
  text-decoration: none;
}
.hanashima-citysearch__item:hover{
  background: rgba(0,0,0,.04);
}

/* safety: hide on small screens */
@media (max-width: 834px){
  .hanashima-citysearch{ display:none !important; }
}
