/* ================================================================
   reset.css
   modern-normalize ベースのリセットCSS
   外部依存なし・プレーンCSS
   ================================================================ */

/* --- Box sizing --- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* --- Document --- */
html {
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}

body {
  margin: 0;
}

/* --- Sections --- */
main {
  display: block;
}

/* --- Headings --- */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* --- Grouping content --- */
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

/* --- Lists --- */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* --- Text-level semantics --- */
a {
  color: inherit;
  text-decoration: inherit;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* --- Tables --- */
table {
  border-collapse: collapse;
  border-spacing: 0;
  text-indent: 0;
  border-color: inherit;
}

/* --- Forms --- */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  padding: 0;
  color: inherit;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  padding: 0;
}

textarea {
  resize: vertical;
}

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

img {
  height: auto;
}

/* --- Interactive --- */
summary {
  display: list-item;
}

/* --- Misc --- */
[hidden] {
  display: none !important;
}
