*,
*::before,
*::after {
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
}


/* デフォルトのpaddingを削除 */

ul,
ol {
  padding: 0;
}


/* デフォルトのmarginを削除 */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}


/* bodyのデフォルトを定義 */

body {
  min-height: 100vh;
  color: #333;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

main {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}


/* class属性を持つul、ol要素のリストスタイルを削除 */

ul[class],
ol[class] {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  flex: none;
}

address {
  font-style: normal;
}


/* inputやbuttonなどのフォントは継承を定義 */

input,
button,
textarea,
select {
  font: inherit;
}

input[type="radio"],
input[type="checkbox"] {
  display: none;
}

input[type="radio"]+label,
input[type="reset"] {
  cursor: pointer;
}

button {
  border: none;
  cursor: pointer;
}