/* リセットCSS */

/* 全要素の余白とパディングをリセット、サイズ計算はborder-boxに */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* HTML5要素のdisplayをblockに */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* bodyのベースライン設定 */
body {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  color: #333;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.03em;
  background-color: #f3f3f3;
}

/* リストのリセット */
ol, ul {
  list-style: none;
}

/* ブロック要素の改行、改行の高さをリセット */
blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: '';
  content: none;
}

/* テーブルの余白、枠線のリセット */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* フォーム要素の余計な枠や装飾をリセット */
button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  border: none;
  background: none;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* リンクの装飾リセット */
a {
  color: inherit;
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  transition: 0.5s;
}

/* 画像の縦の隙間をなくす */
img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  border-style: none;
  image-rendering: auto;                      /* 普通に滑らかに */
  image-rendering: -webkit-optimize-contrast; /* Chrome向け微調整 */
  will-change: transform;                     /* GPUレンダリング促進 */
  border-radius: 0.25rem;
}

/* ボックスのデフォルトアウトラインは残す場合はコメントアウト */
:focus {
  outline: 2px solid #000;
  outline-offset: 2px;
}