@charset "utf-8";

body {
  background-color: #272a2c;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
}

body::after {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='noise'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noise)'/></svg>");
  background-repeat: repeat;
  content: "";
  inset: 0;
  opacity: 0.3;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}

body.modal-open, body.is-fixed {
  overflow: hidden;
}

/* 主要素の形式決め
-------------------------------------------------------- */
picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  height: 100%;
  width: 100%;
}

img {
  -o-object-fit: cover;
     object-fit: cover;
}

figure {
  margin: 0;
}

button {
  background: transparent;
  background: none;
  border: none;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}
@media (any-hover: hover) {
  a:hover {
    color: inherit;
    cursor: pointer;
    opacity: 0.7;
    text-decoration: none;
  }
}

i {
  opacity: 0.8;
  transition: 0.3s;
}
@media (any-hover: hover) {
  i:hover {
    opacity: 1;
    text-decoration: underline;
  }
}

em {
  font-style: normal !important;
}

summary {
  display: block;
}
summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

/* 疑似要素
-------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}