/**
 * ベーススタイル（共通）
 * リセット・フォント読込・ページ骨格。ユーティリティは最小限のみ。
 */
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600;6..96,700;6..96,800;6..96,900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: var(--font-base);
  font-weight: var(--font-ja-weight);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.6;
}

body.site-body {
  /* ページ共通の body クラス */
}

/* 中ページ：Zen Old Mincho に統一（TOPの縦書き英文 Bodoni は除く） */
body:not(.page-top) {
  --font-en: var(--font-ja);
  --font-base: var(--font-ja);
  --font-sans: var(--font-ja);
  --font-serif: var(--font-ja);
  --font-mincho: var(--font-ja);
  --font-bodoni: var(--font-ja);
  font-family: var(--font-ja);
  font-weight: var(--font-ja-weight);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* WebP picture ラッパーはレイアウトに影響させない */
picture {
  display: contents;
}

a {
  color: inherit;
}

button {
  font: inherit;
}

::selection {
  background: var(--color-navy);
  color: var(--color-white);
}

/* JS で付け外しする非表示用（旧 Tailwind .hidden 互換） */
.hidden {
  display: none !important;
}

/* メイン領域がフッターを押し下げる */
main.flex-grow,
main.site-main {
  flex-grow: 1;
}
