:root {
  --white: #ffffff;
  --black: #000000;
  --gray-00: #999999;
  --gray-01: #646464;
  --gray-02: #7c7c7c;
  --silver-00: #cbcbcb;
  --color-overlay: rgba(0, 0, 0, 0.8);
}

body {
  font-family: Nobel, "Lexus Rodin", Meiryo, sans-serif;
  font-weight: 500;
}

html {
  --fw: 100vw;
  scroll-behavior: smooth;
  font-size: 2.6666666667vw !important;
}

@media (min-width: 768px) {
  html {
    font-size: 0.6944444444vw !important;
  }
}

* {
  padding: 0;
  margin: 0;
  line-height: 1;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
}

html:has(dialog[open]) {
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  text-decoration: none;
  color: unset;
}

li {
  list-style-type: none;
}

img {
  max-width: 100%;
}

iframe {
  border: none;
  overflow: hidden;
}

button {
  outline: none;
  border: none;
  background: none;
  cursor: pointer;
  font-family: Nobel, "Lexus Rodin", Meiryo, sans-serif;
}

hr {
  border: none;
  border-top: 1px solid;
}

.no-select {
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.swiper {
  cursor: grab;
}

.is-hidden {
  display: none !important;
}

@media (min-width: 768px) {
  [data-media]:not([data-media~="pc"]) {
    display: none;
  }
}

@media (max-width: 767px) {
  [data-media]:not([data-media~="sp"]) {
    display: none;
  }
}
