/*
リセットCSS
*/

html * {
  /* すべてのデフォルトのマージンを削除 */
  margin: 0;
  margin-block:0;
  /* すべてのデフォルトのパディングを削除 */
  padding: 0;
  padding-block:0;
}

/* ボックスモデル */
html *,
::before,
::after {
  box-sizing: border-box;
}

/* fieldset, progress, meter以外のすべての要素でボーダーを削除し、背景に適切なデフォルトを設定 */
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  /* アプリケーションでパーセントによる高さを許可する  */
  block-size: 100%;
  /* テキストのサイズはfont-sizeのみで制御されるようにする */
  -webkit-text-size-adjust: none;
}

body {
  /* テキストのレンダリングを改善 */
  -webkit-font-smoothing: antialiased;
  /* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
  text-rendering: optimizeSpeed;
  /* アプリケーションでパーセントによる高さを許可する */
  min-block-size: 100%;
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter#example_2 */
  /* scrollbar-gutter: stable both-edges; バグが修正されるまで削除: https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2 */
}


/* フォーム内のタイポグラフィのスタイルを削除 */
:where(input, button, textarea, select),
:where(input[type="file"])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

/* textareaのサイズ変更は垂直のみ */
:where(textarea) {
  resize: vertical;
}

/* テキストのオーバーフローを回避 */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* リストの役割をするul、ol要素のリストスタイルを削除。デフォルトのスタイルが削除されることを示唆しています */
:where(ul, ol)[role="list"] {
  list-style: none;
}

:where(input[type="file"]) {
  cursor: auto;
}
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  cursor: pointer;
}


/* ユーザーがボタンのテキストを選択できないようにする */
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"]),
:where(input[type="file"])::-webkit-file-upload-button,
:where(input[type="file"])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

/* 無効化されたボタンには無効化されたカーソルを表示 */
:where(button, button[type], input[type="button"], input[type="submit"], input[type="reset"])[disabled] {
  cursor: not-allowed;
}