@charset "UTF-8";
html, body {
  margin: 0;
  padding: 0;
}

/* ===== Scoped Reset for Header & Footer (.layout-renewal) ===== */
.layout-renewal :where(*, *::before, *::after) {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ルート相当の指定は .layout-renewal 自身に */
.layout-renewal {
  line-height: 1;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.025em;
}

/* タグ系の初期化（ヘッダー・フッター内だけ） */
.layout-renewal :where(
  h1, h2, h3, h4, h5, h6,
  ul, ol, dl, li, dt, dd,
  p, div, span, img, a,
  table, tr, th, td, small,
  button, time, figure
) {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

.layout-renewal :where(ol, ul) { list-style: none; }
.layout-renewal :where(li, dd) { list-style-type: none; }

.layout-renewal :where(header, footer, nav, section, article, main, aside, figure, figcaption) {
  display: block;
}

.layout-renewal :where(img) {
  border: none;
  vertical-align: bottom;
}

.layout-renewal :where(picture, img, a, span) {
  display: inline-block;
}

.layout-renewal :where(video, svg) {
  width: 100%;
  height: 100%;
}

/* インタラクティブ要素 */
.layout-renewal :where(button) {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
}

.layout-renewal :where(input, textarea, select) {
  font: inherit;
}

/* タイポ */
.layout-renewal :where(h2, h3, h4) {
  line-height: 1.5;
}

.layout-renewal :where(p) {
  font-size: 1rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .layout-renewal :where(p) {
    font-size: 0.875rem;
  }
}

/* リンク */
.layout-renewal :where(a) {
  text-decoration: none;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  .layout-renewal :where(a:hover) { cursor: pointer; }
}

/* PCでtelリンク無効（.layout-renewal 内のみ） */
@media (min-width: 768px) {
  .layout-renewal :where(a[href*="tel:"]) {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* section余白（ヘッダー・フッター内で必要なら） */
.layout-renewal :where(section) {
  padding-block: 80px 100px;
}
@media screen and (max-width: 767px) {
  .layout-renewal :where(section) {
    padding-block: 64px 80px;
  }
}
