@charset "UTF-8";
@counter-style circled {
  system: fixed;
  symbols: ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩;
  suffix: " ";
}
html {
  scroll-behavior: auto;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
@media only screen and (max-width: 767px) {
body {
  font-size: 16px;
}
}

main {
  padding-top: 60px;
  padding-bottom: 180px;
}
@media only screen and (max-width: 767px) {
  main {
    padding-top: 65px;
    padding-bottom: 120px;
  }
}

article {
  word-break: keep-all;
  scroll-margin-top: 80px;
}

article:has(.chapter) {
  counter-reset: article;
}

ol {
  counter-reset: item;
}

ol[data-list-type-circled-decimal] > li {
  padding-left: 1.4em;
}

ol[data-list-type-circled-decimal] > li:before {
  counter-increment: item;
  content: counter(item, circled);
}

ol li {
  position: relative;
  padding-left: 1.2em;
  padding-top: 1em;
}

ol > li:before {
  counter-increment: item;
  content: counter(item) ". ";
  position: absolute;
  left: 0;
}

ul[data-list-type-circle] > li:before {
  content: "·";
  position: absolute;
  left: 0;
}

ul[data-list-type-none] > li:before {
  content: "";
  position: absolute;
  left: 0;
}

ul > li:before {
  content: "-";
  position: absolute;
  left: 0;
}

ul li {
  position: relative;
  padding-left: 0.8em;
  padding-top: 0.2em;
}

.box {
  padding: 15px 0;
}

.box.title {
  padding: 0 0 10px;
  word-break: keep-all;
}

.box.title p {
  font-size: 20px;
  padding: 15px 0;
}

.box.index {
  padding: 30px;
  border: 1px solid #bbb;
}

.box ol {
  padding: 8px 20px 0;
}
@media only screen and (max-width: 767px) {
  .box ol {
    padding: 8px 15px 0;
  }
}

.box ol > li:not(:first-of-type) {
  padding-top: 8px;
}

.box ul {
  padding-top: 5px;
}

.box table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 10px 0;
}

.box table th {
  word-break: keep-all;
}

.box table th, td {
  border: 1px solid #222;
  padding: 20px 10px;
  word-break: keep-all;
}
@media only screen and (max-width: 767px) {
  .box table th, td {
    padding: 15px 5px;
  }
}

.chapter {
  padding-top: 30px;
}
.chapter > h3 {
  font-size: 1.34em;
}

.link:hover {
  color: #8c6454;
}