html:has(body.fruc-page) {
  scroll-behavior: smooth;
}

body.fruc-page {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #333;
  overflow-x: hidden;
}

body.fruc-page .fruc-theme-host {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #333;
  overflow: visible;
}

body.fruc-page #fruc-site {
  width: 100%;
  margin: 0;
  padding: 0;
}

body.fruc-page #fruc-site[data-fruc-page="kuromi"] {
  overflow: hidden;
}

body.fruc-page .fruc-header .hamburger {
  appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  cursor: pointer;
}

body.fruc-page [data-fruc-missing-page] {
  display: none !important;
}

body.fruc-page .fruc-news-empty,
body.fruc-page .fruc-note-link {
  width: 100%;
  padding: 48px 20px;
  text-align: center;
  line-height: 1.8;
}

body.fruc-page .fruc-note-link a {
  display: inline-block;
  padding: 12px 28px;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
}

body.fruc-page .fruc-footer {
  position: relative;
  z-index: 1;
}

@media (max-width: 750px) {
  body.fruc-page .fruc-news-empty,
  body.fruc-page .fruc-note-link {
    padding: 32px 16px;
  }
}

body.fruc-page .fruc-theme-host,
body:has(#fruc-site[data-fruc-page]) :is(.fruc-header, #fruc-site, .fruc-footer),
body.fruc-page .fruc-theme-host :is(h1, h2, h3, h4, h5, h6),
body:has(#fruc-site[data-fruc-page]) :is(.fruc-header, #fruc-site, .fruc-footer) :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'Noto Sans JP', 'Noto Serif JP', sans-serif !important;
}

/* Fru:C判定がレイアウトへ渡らない場合も、既存ショップのフッターを表示しない */
body:has(#fruc-site[data-fruc-page]) #ecf_footer_section {
  display: none !important;
}
