/* 全体のリセット */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: auto;
}

/* テキスト関連のリセット */
a {
  text-decoration: none;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

blockquote {
  margin: 0;
  padding: 0;
}

mark {
  background-color: transparent;
  color: inherit;
}

code {
  font-family: monospace, monospace;
  font-size: inherit;
  background-color: transparent;
  color: inherit;
  padding: 0;
  margin: 0;
}

/* フォーム要素のリセット */
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

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

legend {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* メディア要素のリセット */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

iframe {
  border: none;
}

svg {
  fill: currentColor;
  display: block;
}

/* テーブル関連のリセット */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

th,
td {
  text-align: left;
  padding: 0;
}

/* その他の要素のリセット */
hr {
  border: none;
  height: 1px;
  background-color: #e6e6e6;
}

pre {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  overflow: auto;
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}