/* グローバル変数 */
:root {
  --w-site: 1180px; /* サイト横幅 */
  --w-sp: 768px; /* ブレイクポイント */
  --ease: cubic-bezier(.215, .61, .355, 1); /* 標準イージング */
  --font-main:
    "Hiragino Sans", "Helvetica Neue", arial, "BIZ UDPGothic",
    "Noto Sans JP", meiryo, sans-serif;
  --primary-color: #086358; /* プライマリカラー */
  --secondary-color: ; /* セカンダリカラー */
}

/* デバイス毎の表示切り替え */
@media (width < 768px) {
  .pc {
    display: none !important;
  }
}

@media (768px <= width) {
  .sp {
    display: none !important;
  }
}

/* ウィンドウサイズによるフォントサイズ動的調整 */
/* PC: 最大1180pxデザイン時、10pxを基準remにする */
@media (768px <= width) {
  html {
    font-size: min(calc(100vw / 118), 10px); /* 100vw ÷ 1180 × 10px = 10px */
  }
}

/* SP: 375pxデザイン時、10pxを基準remにする */
@media (width < 768px) {
  html {
    font-size: calc(100vw / 37.5); /* 100vw ÷ 375 × 10px = 10px */
  }
}

/* スムーススクロール */
html {
  scroll-behavior: smooth;
}

/* ベース設定 */
body {
  font-family: var(--font-main);
  font-size: 1.6rem;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  line-height: 1.6;
  letter-spacing: 0.08em;
}

/* SP時のbodyフォントサイズ調整 */
@media (width < 768px) {
  body {
    font-size: 1.4rem;
  }
}
