/* ブラウザ既定スタイルの差を全ページで吸収する、共通の最小リセット。 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  tab-size: 4;
}

body,
h1,
h2,
h3,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
}

ul[role="list"],
ol[role="list"] {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img,
video {
  height: auto;
}

button,
input,
textarea,
select {
  margin: 0;
  border-radius: 0;
  color: inherit;
  background: none;
  font: inherit;
  letter-spacing: inherit;
}

button {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

a {
  text-decoration-skip-ink: auto;
}

[hidden] {
  display: none !important;
}
