:root {
  --color-bg: #ededed;
  --color-surface: #ffffff;
  --color-surface-02: #f7f7f7;
  --color-line: #d8d8d8;
  --color-text: #252525;
  --color-text-soft: #555555;
  --color-accent: #ffcf01;
  --color-accent-deep: #b08b13;
  --color-accent-soft: #efe1a2;
  --color-olive: #7a6a21;
  --color-footer: #2a2d37;
  --color-danger: #d64545;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.06);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --container: 1290px;
  --container02: 1170px;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-en: "Roboto Condensed", sans-serif;
  --grad:linear-gradient(to right,#FFC01F,#FFCF00);
  --grad02:linear-gradient(to right, #9D7101, #B19419);
}

.y-color{color:var(--color-accent);}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-ja);
  color: var(--color-text);
  line-height: 1.75;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: auto; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }

.container {
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
}

.container02 {
  width: min(100% - 40px, var(--container02));
  margin-inline: auto;
}

.container03 {
  max-width: 840px;
  margin-inline: auto;
}
.ff-en { font-family: var(--font-en); }
.u-hide {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

.is-scroll-locked { overflow: hidden; }
img{
  display: inline-block;
}