@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@700&family=Inter:wght@400;500;600;700&display=swap');

/* =====================
   CSS Variables
===================== */
:root {
  --color-primary:        #3170b8;
  --color-primary-dark:   #1e4f8a;
  --color-primary-darker: #133b7b;
  --color-green:          #06c755;
  --color-bg-hero:        #ebf2fb;
  --color-bg-service:     #d0e4f7;
  --color-white:          #ffffff;
  --color-text-dark:      #1a1a2e;
  --color-text-gray:      #6b7280;
  --color-text-light:     #9aa4b0;
  --color-border:         #d0e4f7;
  --color-border-dark:    #1e4f8a;
  --color-border-gray:    #9ca3af;
  --color-tag-info:       #1e4f8a;
  --color-tag-blog:       #f5a623;
  --color-warning:        #d4881a;
  --color-warning-bg:     #fef3dc;
  --font-noto:  'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Sans', sans-serif;
  --font-serif: 'Noto Serif JP', serif;
  --font-inter: 'Inter', sans-serif;
  /* モバイルTOPデザイン(402px基準)の拡大率に上限をかけるための基準幅 */
  --wn-mv-w: min(100vw, 620px);
}

/* =====================
   Reset
===================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: var(--font-noto);
  color: var(--color-text-dark);
  background-color: #f0f0f0;
  line-height: 1.6;
  max-width: 900px;
  margin: 0 auto;
  min-height: 100vh;
}

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

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

ul, ol {
  list-style: none;
}

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

p { margin: 0; }

@media (min-width: 901px) {
  body { max-width: none; }
}
