*:where(:not(html,div,iframe,canvas,img,svg,video,audio,svg *,symbol *)) {
  all: unset;
  display: revert;
}
*,*::before,*::after {
  box-sizing: border-box;
}
a,button {
  cursor: revert;
}
ol,ul,li,menu {
  list-style: none;
}
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}
table {
  border-collapse: collapse;
}
input,textarea {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}
pre {
  all: revert;
}
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  line-break: after-white-space;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}
:where([draggable=true]) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
}
:where(a,button,summary,label,input,select,textarea):focus-visible {
  outline: var(--c-black, -webkit-focus-ring-color) auto 1px;
}
:root {
  --f-en: "Noto Serif JP", serif;
  --f-en-weight: 500;
  --c-black: #000000;
  --c-white: #FFFFFF;
  --c-base-gray: #EDEDED;
  --c-light-gray: #F2F2F2;
  --c-dark-gray: #333333;
  --ease-out-3: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-pop: cubic-bezier(0.44, 0, 0.21, 1.23);
  --z-base: 0;
  --z-menu: 101;
  --z-header: 102;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(16px, 1.17vw);
  font-weight: 400;
  color: var(--c-black);
  background-color: var(--c-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  overflow-x: hidden;
}
:focus-visible {
  border: solid 2px var(--c-black);
  border-radius: 4px;
  outline: none;
}
::-moz-selection {
  color: var(--c-white);
  background-color: var(--c-black);
}
::selection {
  color: var(--c-white);
  background-color: var(--c-black);
}
summary::-webkit-details-marker {
  display: none;
}
a {
  display: block;
  color: currentcolor;
  cursor: pointer;
}
button {
  color: currentcolor;
  cursor: pointer;
}
details {
  cursor: pointer;
}
video,img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
svg {
  display: block;
  width: 100%;
  height: 100%;
}
.preload * {
  transition: none !important;
}
.wrap {
  width: min(1200px, 87.84vw);
  margin: 0 auto;
}
.pc {
  display: inline-block;
}
.sp {
  display: none;
}
.hidden {
  opacity: 0 !important;
  transition: all .5s var(--ease-out-3);
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
  body {
    font-size: 2.13vw;
  }
  .wrap {
    width: 86.66vw;
  }
  body.page .wrap {
    width: 90.66vw;
  }
}
