/* ==========================================================
   base.css — デザイントークン / リセット / 共通スタイル
   デザイン基準: SP 390px / PC 1440px、モバイルファースト
   ブレークポイント: 768px
   ========================================================== */

:root {
  /* カラートークン(Figma変数より) */
  --color-gold: #c9a24b;
  --color-text: #1a2233;
  --color-navy: #000b1f;
  --color-white: #ffffff;

  /* フォント */
  --font-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic", sans-serif;
  --font-serif: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho",
    serif;

  /* レイアウト */
  --header-height: 60px;
}

@media (min-width: 768px) {
  :root {
    --header-height: 76px;
  }
}

/* 改行の最適化(対応ブラウザのみ):
   行末の1文字だけの折り返しなど不自然な改行を防ぐ */
h1,
h2,
h3,
h4,
p,
li,
dt,
dd {
  
}

/* --- リセット --- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  font-family: var(--font-base);
  color: var(--color-text);
  background-color: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
}

/* --- ユーティリティ --- */
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.u-pc-only {
  display: none;
}

@media (min-width: 768px) {
  .u-pc-only {
    display: block;
  }

  .u-sp-only {
    display: none;
  }
}
