/* base.css */
:root{
  --ink: #063055;
  --bg: #f6f8fb;
  --container: 1040px;
}


  /* Blue system */
  --blue-900:#06213c;
  --blue-800:#063055;
  --blue-700:#0b4a7e;
  --blue-600:#0f6fb8;
  --blue-500:#28c8ff;
  --blue-100:#eaf6ff;

  /* Accent (only one) */
  --accent-orange:#ff7a18;

  /* Surfaces */
  --paper: rgba(255,255,255,.86);
  --paper-2: rgba(255,255,255,.72);
  --line: rgba(6,48,85,.18);
  --line-strong: rgba(6,48,85,.28);

  /* Shadows */
  --shadow-s: 0 10px 26px rgba(11,42,85,.10);
  --shadow-m: 0 18px 44px rgba(11,42,85,.12);
}


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

body{
  background: var(--bg);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
  line-height: 1.7;
}

.container{
  max-width: var(--container, 100%);
  margin: 0 auto;
  padding: 0 16px;
}

body{
  background: var(--bg, #f6f8fb);
}


/* small util */
.sr-only{
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* section spacing baseline */
.section{
  padding: 72px 0;
}

@media (max-width: 720px){
  .section{ padding: 56px 0; }
}

/* HOMEだけコンテナをフル幅に強制 */
body.is-home{
  --container: 100%;
}

/* まだ詰む場合の保険：container自体も解除 */
body.is-home .container{
  max-width: 100% !important;
}