.aicity-content-rec-top{margin:14px 0 0;padding-top:12px;border-top:1px solid #eee;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.aicity-content-rec-top-heading,.aicity-content-rec-bottom-heading{font-weight:700;color:#333}.aicity-content-rec-top-heading{font-size:14px;margin-bottom:8px}.aicity-content-rec-top-list{display:flex;gap:9px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;padding:1px 1px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-x:contain}.aicity-content-rec-card{display:block;color:#333;text-decoration:none;background:#fff;border:1px solid #e8e8e8;border-radius:9px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04)}.aicity-content-rec-card:hover{border-color:#f2b35d;color:#333}.aicity-content-rec-card-top{flex:0 0 42%;max-width:none;scroll-snap-align:start}.aicity-content-rec-image{display:block;background:#f4f4f4;overflow:hidden}.aicity-content-rec-card-top .aicity-content-rec-image{height:74px}.aicity-content-rec-image img{display:block;width:100%;height:100%;object-fit:cover}.aicity-content-rec-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.45;font-weight:600}.aicity-content-rec-card-top .aicity-content-rec-title{font-size:12px;padding:7px 8px 8px;min-height:52px}.aicity-content-rec-basic-row{background:#fafafa;border:1px solid #eee;border-radius:10px;padding:10px 12px;line-height:1.7}.aicity-content-rec-bottom{margin:22px 0 0;padding:18px;background:#fff;border:1px solid #e8e8e8;border-radius:12px;min-width:0;max-width:100%;box-sizing:border-box}.aicity-content-rec-bottom-heading{font-size:18px;margin-bottom:12px}.aicity-content-rec-bottom-grid{display:flex;gap:14px;min-width:0;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;box-sizing:border-box}.aicity-content-rec-card-bottom{display:block;flex:0 0 76%;min-width:0;max-width:76%;scroll-snap-align:start}.aicity-content-rec-card-bottom .aicity-content-rec-image{display:block;width:100%;height:auto;aspect-ratio:16/9}.aicity-content-rec-card-bottom .aicity-content-rec-title{font-size:14px;padding:10px 12px 12px;line-height:1.5;min-height:42px}.store_detail_action_cta{margin-top:12px}.aicity-content-rec-top+.store_detail_action_cta .store_detail_compact_info{display:none}
.store_hero,.store_hero_shell,.store_hero_head,.store_hero_body,.store_hero_body>div,.store_hero_info_grid,.store_detail_action_cta,.store_detail_compact_info,.store_detail_review_cta,.store_detail_owner_cta,.store_detail_post_buttons,.aicity-content-rec-actions{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.store_hero_body_noimage{grid-template-columns:minmax(0,1fr)!important}.store_detail_action_cta,.store_detail_compact_info,.store_detail_review_cta,.store_detail_owner_cta,.store_detail_post_buttons,.aicity-content-rec-actions{width:100%!important}.store_detail_post_buttons{display:flex;flex-wrap:wrap!important}.store_detail_post_buttons>*,.aicity-content-rec-actions>*,.store_hero_primary_action>*,.store_hero_actions>*{min-width:0;max-width:100%;box-sizing:border-box}.store_detail_review_cta_btn,.store_detail_photo_cta_btn{min-width:0}.aicity-content-rec-actions{overflow:visible}
@media (max-width:640px){.aicity-content-rec-card-top{flex-basis:42%}.aicity-content-rec-card-top .aicity-content-rec-image{height:66px}.aicity-content-rec-bottom{padding:14px}.aicity-content-rec-bottom-grid{grid-template-columns:1fr;gap:9px}.aicity-content-rec-card-bottom{grid-template-columns:96px minmax(0,1fr);min-height:72px}.aicity-content-rec-card-bottom .aicity-content-rec-image{height:72px}.aicity-content-rec-bottom-heading{font-size:16px}.aicity-content-rec-card-bottom .aicity-content-rec-title{font-size:12px;padding:8px 10px}.store_detail_review_cta_btn,.store_detail_photo_cta_btn,.store_detail_owner_cta_btn,.aicity-content-rec-owner-btn{max-width:100%!important}}

/* AICITY_CONTENT_RECOMMEND_FINAL_WIDTH_FIX */
.store_hero_body_noimage{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.store_hero_body_noimage > div{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.store_hero,
.store_hero_shell,
.store_hero_head,
.store_hero_body,
.store_hero_info_grid,
.aicity-content-rec-top,
.store_detail_action_cta,
.store_detail_review_cta,
.store_detail_owner_cta,
.store_detail_post_buttons,
.store_hero_primary_action,
.aicity-content-rec-actions{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

.aicity-content-rec-top{
  overflow:hidden!important;
}

.aicity-content-rec-top-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
}

.store_detail_post_buttons{
  display:flex!important;
  flex-wrap:wrap!important;
}

.store_detail_post_buttons > *,
.store_hero_primary_action > *,
.aicity-content-rec-actions > *{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}


/* AICITY_CONTENT_RECOMMEND_BOTTOM_CAROUSEL_V1 */
.aicity-content-rec-bottom{
  overflow:hidden;
}

.aicity-content-rec-bottom-grid{
  display:flex!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 10px!important;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  box-sizing:border-box!important;
}

.aicity-content-rec-card-bottom{
  display:block!important;
  flex:0 0 76%!important;
  width:76%!important;
  max-width:76%!important;
  min-width:0!important;
  scroll-snap-align:start;
}

.aicity-content-rec-card-bottom .aicity-content-rec-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9;
  overflow:hidden;
}

.aicity-content-rec-card-bottom .aicity-content-rec-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.aicity-content-rec-card-bottom .aicity-content-rec-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  padding:10px 12px 12px!important;
  font-size:14px!important;
  line-height:1.5!important;
  min-height:42px;
}

@media screen and (max-width:640px){
  .aicity-content-rec-card-bottom{
    flex-basis:86%!important;
    width:86%!important;
    max-width:86%!important;
  }

  .aicity-content-rec-bottom{
    padding:14px!important;
  }

  .aicity-content-rec-bottom-grid{
    gap:10px!important;
  }

  .aicity-content-rec-card-bottom .aicity-content-rec-title{
    font-size:13px!important;
    padding:9px 10px 11px!important;
  }
}


/* AICITY_NONOWNER_COMPANY_SPACING_V1 */

/*
 * オーナー無し company の新レイアウト用余白。
 * temp_shop は従来配置のため、このクラス指定の影響を受けない。
 */

/* 写真＋基本情報ブロックと上部レコメンドの間 */
.store_hero_body + .aicity-content-rec-top{
  margin-top:22px !important;
  padding-top:18px !important;
}

/* レコメンド内側 */
.store_hero_body + .aicity-content-rec-top .aicity-content-rec-top-heading{
  margin-bottom:10px !important;
}

.store_hero_body + .aicity-content-rec-top .aicity-content-rec-top-list{
  padding-bottom:8px !important;
}

/* レコメンドと口コミCTAの間 */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta{
  margin-top:18px !important;
}

/* 口コミCTA全体 */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* 「このお店を利用したことがありますか？」ブロック */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_review_cta{
  margin-top:0 !important;
  margin-bottom:12px !important;
  padding:14px 16px !important;
}

/* 口コミボタン2つの上下左右 */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_post_buttons{
  margin-top:8px !important;
  gap:10px !important;
}

/* オーナー登録ブロック */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta{
  margin-top:10px !important;
  margin-bottom:18px !important;
  padding:14px 16px !important;
}

/* オーナー説明文 */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta_text{
  margin-top:5px !important;
  margin-bottom:5px !important;
  line-height:1.7 !important;
}

/* オーナー登録ボタン */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta_btn{
  margin-top:8px !important;
}

/* その下のお店プロフィールとの間 */
.store_hero_body + .aicity-content-rec-top + .store_detail_action_cta + .section_type02{
  margin-top:20px !important;
}

@media screen and (max-width:640px){
  .store_hero_body + .aicity-content-rec-top{
    margin-top:18px !important;
    padding-top:14px !important;
  }

  .store_hero_body + .aicity-content-rec-top + .store_detail_action_cta{
    margin-top:14px !important;
  }

  .store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_review_cta,
  .store_hero_body + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta{
    padding:12px 14px !important;
  }
}

/* AICITY_NONOWNER_COMPANY_SPACING_V3 */

/*
 * オーナー無しcompany専用。
 * store_hero_body_nonowner_company の直後にJSがレコメンドを配置する。
 */
.store_hero_body_nonowner_company + .aicity-content-rec-top{
  margin-top:24px !important;
  margin-bottom:20px !important;
  padding-top:18px !important;
  padding-bottom:10px !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top .aicity-content-rec-top-heading{
  margin:0 0 12px !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top .aicity-content-rec-top-list{
  padding-bottom:10px !important;
}

/* レコメンド直後の口コミ・写真CTA */
.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta{
  margin-top:20px !important;
  margin-bottom:24px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_review_cta{
  margin:0 0 16px !important;
  padding:16px 18px !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_cta_title{
  margin-top:0 !important;
  margin-bottom:10px !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_post_buttons{
  margin-top:10px !important;
  gap:12px !important;
}

/* オーナー登録 */
.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta{
  margin-top:16px !important;
  margin-bottom:20px !important;
  padding:16px 18px !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta_text{
  margin:6px 0 !important;
  line-height:1.75 !important;
}

.store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta_btn{
  display:inline-block !important;
  margin-top:10px !important;
}

/* hero全体の下にも少し空間 */
.store_hero:has(.store_hero_body_nonowner_company){
  padding-bottom:22px !important;
}

@media screen and (max-width:640px){
  .store_hero_body_nonowner_company + .aicity-content-rec-top{
    margin-top:20px !important;
    margin-bottom:18px !important;
    padding-top:14px !important;
  }

  .store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta{
    margin-top:16px !important;
    margin-bottom:20px !important;
  }

  .store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_review_cta,
  .store_hero_body_nonowner_company + .aicity-content-rec-top + .store_detail_action_cta .store_detail_owner_cta{
    padding:14px !important;
  }
}


/* AICITY_NONOWNER_COMPANY_SPACING_V4 */
/*
 * オーナー無しcompany専用。
 * 今回は見た目上不足していた左右＋上下の余白を明示的に確保する。
 */

/* 基本情報ブロック → レコメンド */
.store_hero_body_nonowner_company + .aicity-content-rec-top{
  box-sizing:border-box !important;
  width:100% !important;
  margin:22px 0 0 !important;
  padding:18px 20px 16px !important;
}

/* レコメンドタイトル */
.store_hero_body_nonowner_company + .aicity-content-rec-top
.aicity-content-rec-top-heading{
  margin:0 0 12px !important;
}

/* カード列 */
.store_hero_body_nonowner_company + .aicity-content-rec-top
.aicity-content-rec-top-list{
  padding:2px 2px 10px !important;
}

/* レコメンド → 口コミ・オーナーCTA全体 */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta{
  box-sizing:border-box !important;
  width:100% !important;
  margin:0 !important;
  padding:18px 20px 24px !important;
}

/* 口コミブロック */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_review_cta{
  box-sizing:border-box !important;
  margin:0 0 16px !important;
  padding:18px !important;
}

/* 見出し→ボタン */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_cta_title{
  margin:0 0 12px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_post_buttons{
  margin-top:10px !important;
  gap:12px !important;
}

/* オーナー登録ブロック */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta{
  box-sizing:border-box !important;
  margin:16px 0 0 !important;
  padding:18px !important;
}

/* オーナー説明文 */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta_text{
  margin:7px 0 !important;
  line-height:1.75 !important;
}

/* オーナー登録ボタン */
.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta_btn{
  display:inline-block !important;
  margin-top:12px !important;
}

/* スマホ */
@media screen and (max-width:640px){

  .store_hero_body_nonowner_company + .aicity-content-rec-top{
    margin-top:18px !important;
    padding:16px 14px 14px !important;
  }

  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta{
    padding:16px 14px 20px !important;
  }

  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta
  .store_detail_review_cta,
  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta
  .store_detail_owner_cta{
    padding:15px !important;
  }
}


/* AICITY_NONOWNER_FINAL_ORDER_V1 */

/*
 * 愛知のおすすめ記事画像
 * カード幅は42%のまま、高さだけ少し広げる。
 */
.aicity-content-rec-card-top .aicity-content-rec-image{
  height:196px !important;
}

/*
 * オーナー無しcompany：
 * おすすめ記事 → 口コミCTA → オーナーCTA の余白を確保。
 */
.store_hero_body_nonowner_company + .aicity-content-rec-top{
  box-sizing:border-box !important;
  margin-top:22px !important;
  margin-bottom:0 !important;
  padding:18px 20px 16px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta{
  box-sizing:border-box !important;
  margin:0 !important;
  padding:20px 20px 26px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_review_cta{
  box-sizing:border-box !important;
  margin:0 0 18px !important;
  padding:18px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_cta_title{
  margin:0 0 12px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_post_buttons{
  margin-top:12px !important;
  gap:12px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta{
  box-sizing:border-box !important;
  margin:18px 0 0 !important;
  padding:18px !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta_text{
  margin:8px 0 !important;
  line-height:1.75 !important;
}

.store_hero_body_nonowner_company
+ .aicity-content-rec-top
+ .store_detail_action_cta
.store_detail_owner_cta_btn{
  display:inline-block !important;
  margin-top:12px !important;
}

/* プロフィール → 話題のスポット → このお店について */
.aicity-nonowner-topic-spots{
  margin-top:22px !important;
  margin-bottom:22px !important;
}

.aicity-nonowner-topic-spots .store_noimage_spots{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* section_type02との二重余白を抑える */
.aicity-nonowner-topic-spots > .store_noimage_spots{
  padding-top:0 !important;
}

@media screen and (max-width:640px){

  .aicity-content-rec-card-top .aicity-content-rec-image{
    height:188px !important;
  }

  .store_hero_body_nonowner_company + .aicity-content-rec-top{
    margin-top:18px !important;
    padding:16px 14px 14px !important;
  }

  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta{
    padding:18px 14px 22px !important;
  }

  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta
  .store_detail_review_cta,
  .store_hero_body_nonowner_company
  + .aicity-content-rec-top
  + .store_detail_action_cta
  .store_detail_owner_cta{
    padding:15px !important;
  }

  .aicity-nonowner-topic-spots{
    margin-top:18px !important;
    margin-bottom:18px !important;
  }
}
