:root {
  --theme-color: #009fe6;
  --theme-sub-color: #e6b43e;
  --link-color: #0000ee;
}

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

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe {
  width: 100%;
}

ul {
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
  color: var(--link-color);
  opacity: 1;
  transition: opacity 0.3s;
  word-break: break-all;
}

a:hover {
  opacity: 0.5;
}

body {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

.center {
  text-align: center;
}

header,
main,
footer {
  width: min(1024px, 90%);
  margin-inline: auto;
}

/* 例: 本文の行高を設定した後 */
body {
  /* ...他の設定 */
  line-height: 1.7; /* 読みやすいとされる値 */
  font-family: Verdana, Geneva, Tahoma, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  /* 視覚的に塊として認識しやすいよう、本文より小さめの値にすることが多い */
  line-height: 1.3;
}

/* 必要に応じて追加検討 */
button,
input[type="submit"],
input[type="reset"] {
  border: none;
  background-color: transparent;
  cursor: pointer;
}

a {
  color: currentColor;
}
