@charset "UTF-8";
/* 全体共通 — ソースは sass、出力は css/base.css */
:root {
  --color-primary: #fff;
  --color-primary-dark: #1a2740;
  --color-bg-light: #f7f9fc;
  --color-text-main: #1a2740;
  --color-text-sub: #f7f9fc;
  --color-text-watermark: #232f48;
  --color-border: #d8dadc;
  --color-line: #21b762;
  --font-family-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-family-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-weight-200: 200; /* Noto Sans: light */
  --font-weight-400: 400; /* Noto Sans: normal */
  --font-weight-500: 500; /* Noto Serif: semibold */
  --font-weight-600: 600; /* Noto Sans: bold / Noto Serif: bold */
  --font-size-base: 16px;
  --line-height-base: 1.6;
  --line-height-tight: 1.2;
  --width-l: min(92%, 1400px);
  --width-m: min(92%, 1200px);
  --width-s: min(92%, 1000px);
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  background: var(--color-primary);
  color: var(--color-text-main);
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-400);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main,
  .site-footer {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  body.is-page-loaded .main,
  body.is-page-loaded .site-footer {
    opacity: 1;
    transform: translateY(0);
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}
