/* =====================================================================
   全ページ共通の上書きCSS（旧 footer.php インライン <style> から分離）
   ※ もとは </body> 以降に3つの <style> として出力されていたものを統合
   ===================================================================== */

/* ---- 余白系（旧ブロック1） ---- */
@media (min-width: 768px) {
  .margin_top {
    margin-top: 8rem;
  }
}

@media (max-width: 767px) {
  .margin_top {
    margin-top: 4rem;
  }
}

@media (max-width: 767px) {
  #shopdetail .shop__detail--services .colBox__col06 > .col .text {
    font-size: 0.775rem;
  }

  #shopdetail .shop__detail--services .colBox.sp__col04 > .col {
    text-align: center;
  }
}

/* ---- レイアウト余白（旧ブロック2） ---- */
.contents {
  margin: 2rem auto 2rem;
}

.contents__left section + section,
.contents__left section + * + section,
section.page-link,
.cta + section {
  margin-top: 2rem;
}

#mock_app section {
  margin-top: 2rem;
}

.cta {
  margin: 2rem auto 0;
}

.ctaAdd__list dl {
  margin-bottom: 0rem;
}

#app_contents .column__wrap {
  margin-bottom: 0rem;
}

.titleMain--wrapper {
  margin-top: 2rem;
}

.margin_top {
  margin-top: 2rem;
}

.sidebar__nav--wrapper + .sidebar__nav--wrapper {
  margin: 0;
}

.flex + .btn__wrap.btn__red,
.flex__content + .btn__wrap.btn__red {
  margin-top: 1rem !important;
}

/* ↓0912アコーディオンのフォントサイズを調整↓ */
.brandinfo__header__title,
.fshoplist-target--ttl .titleSub,
.horizonlist.horizonnumblist .titleH4.title--left,
.brandinfo_section .fshoplist-target--ttl {
  font-size: var(--font-l) !important;
}

.brandinfo__body__text,
.brandinfo_section
  .brand_about_repeat_parent_wrap
  .high_price_purchase_points_content_lead,
.horizonlist--text p {
  font-size: var(--font-m) !important;
}

@media (max-width: 767px) {
  .brandinfo_section .brandinfo__header__title {
    padding: 0rem 18px;
  }
}

/* ---- 見出し・タイポグラフィ共通（旧ブロック3） ---- */
/* root/assetsにある共通パーツとりあえずここで変更 */
.top_h2_text,
.titleMain--main,
.titleHeading,
.sub_title_2024 {
  font-size: var(--font-2xl) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center;
}

.titleMain--lead {
  color: #000;
  font-weight: 500;
  width: fit-content;
  margin: auto;
  margin-top: 2%;
  font-size: var(--font-l) !important;
}

.titleMain h3 {
  color: #000;
  font-weight: 500;
  width: fit-content;
  margin: auto;
  margin-top: 2%;
  font-size: var(--font-l) !important;
}

.titleMain::before {
  margin-bottom: 2.4%;
}

.flex_annitation {
  font-size: var(--font-s) !important;
}

.qa__wrap .qa__list__q {
  font-size: var(--font-xl) !important;
}

.qa__wrap .qa__list__a {
  font-size: var(--font-l) !important;
}

.qa__list__a::before {
  top: 0;
  bottom: 0;
  margin: auto;
}

.cmn_space_top {
  margin-top: 12%;
}

.voice_section_wrap .titleMain p {
  font-size: var(--font-l) !important;
  margin-top: 2%;
}

#kanteinin {
  margin-top: 6% !important;

  .kanteinin_block {
    width: 95%;
  }
}

.kanteinin_view_more {
  width: 60%;
}

.purchase_need_section .attendList__item {
  font-size: var(--font-s);
  color: #000;
}

p.purchase_need_section_content_header {
  margin: 2% 0 5% 0;
}

@media (max-width: 767px) {
  .top_h2_text {
    margin-bottom: 0 !important;
  }

  .top_h2_text,
  .titleMain--main,
  .titleHeading,
  .sub_title_2024 {
    margin: 4.5% 0;
    line-height: 1.2;
    letter-spacing: 0.03em;
  }

  .titleMain--lead {
    margin-top: 0;
  }

  .cmn_space_top {
    margin-top: 12%;
  }

  .voice_section_wrap .titleMain {
    margin-top: 12%;
  }

  #kanteinin {
    margin-bottom: 0 !important;
  }

  .kanteinin_view_more {
    width: 100%;
  }
}
