@charset "UTF-8";

/* system
--------------------------- */
.sp-hide {
  display: none;
}

.pc-hide {
  display: inline-block;
}

/* base
--------------------------- */
/* box-sizing は reset.css (destyle.css v4.0.0) で定義済みのため削除 */

html {
  height: 100%;
  font-size: 62.5%;
  line-height: 1.6;
}

body {
  width: 100%;
  min-width: 1080px;
  max-width: 100vw;
  overflow-x: hidden;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-weight: 500;
  font-size: 1.6rem;
  font-family: var(--font-family-base);
}

::-moz-selection {
  background-color: rgba(0, 0, 0, 0.7);
  color: var(--color-text-inverse);
}

::selection {
  background-color: rgba(0, 0, 0, 0.7);
  color: var(--color-text-inverse);
}

img,
video,
object {
  display: block;
  max-width: 100%;
  height: auto;
  border: none;
}

a {
  position: relative;
  color: var(--color-primary);
  background-color: inherit;
}

/*
a:focus,
a:focus-visible {
  outline-width: 2px;
  outline-style: solid;
  outline-color: var(--color-focus-outline);
} */

.square::before {
  content: '';
  display: inline-block;
  width: 0.8em;
  /* 適宜調整 */
  height: 0.8em;
  /* 適宜調整 */
  background-color: var(--color-primary);
  margin-right: 5px;
  vertical-align: middle;
}

.disc::before {
  content: '';
  display: inline-block;
  width: 0.8em;
  /* 適宜調整 */
  height: 0.8em;
  /* 適宜調整 */
  background-color: var(--color-primary);
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}
