:root {
  --background-color: #0a0612;
  --main-color: #fefefe;
}

* {
  box-sizing: border-box;
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-reverse-row {
  flex-direction: row-reverse;
}

.items-center {
  align-items: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-center {
  justify-content: center;
}

html, body {
  padding: 0;
  margin: 0;
  background: var(--background-color);
  color: var(--main-color);
}

.underline {
  text-decoration: underline;
}

.cabin, h1, h2, h3, h4, h5, h6 {
  font-family: "Cabin", sans-serif;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 18px;
}

.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
}

a, a:visited {
  color: inherit;
}

.font-normal {
  font-weight: 400;
}

.font-light {
  font-weight: 300;
}

.font-xlight {
  font-weight: 200;
}

.font-medium {
  font-weight: 500;
}

.font-smbold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-xbold {
  font-weight: 800;
}

.font-black {
  font-weight: 900;
}

.link-active {
  text-decoration: underline !important;
}

.article {
  text-align: justify;
  max-width: 800px;
  line-height: 190%;
}

.article img {
  max-width: 100%;
  object-fit: cover;
  margin: 10px auto;
  border-radius: 20px;
}
