body {
  font-family: 'HiraKakuProN-W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  margin: 0;
  color: #333;
}
p {
  margin-top: 0;
}
a {
  text-decoration: none;
}
a,
a:active
a:visited {
  color: #0783c2;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: #0783c2;
    text-decoration: underline;
  }
}
.scroll-to-top {
  position: fixed;
  z-index: 110;
  right: 32px;
  bottom: 32px;
  padding: 0;
  display: grid;
  place-content: center;
  width: 32px;
  height: 32px;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1.25px 6px rgb(0 0 0 / 20%);
}
.scroll-to-top::after {
  content: '';
  width: 23px;
  height: 23px;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 21.586L4.414 23L16 11.414L27.586 23L29 21.586L16 8.586L3 21.586Z" fill="%23333333"/></svg>') 0 0 / contain no-repeat;
}
@media (hover: hover) {
  .scroll-to-top:hover {
    text-decoration: none;
    background-color: #ededed;
  }
}
.wrapper {
  font-size: 82%;
  line-height: 1.5;
  min-width: 1024px;
}
.wrapper *,
.wrapper::before,
.wrapper::after {
  box-sizing: border-box;
}
.container {
  width: min(100%, 1024px);
  margin-inline: auto;
  padding: 0 16px 48px;
}
@media (width >= 1024px) {
  .container {
    padding-inline: 32px;
  }
}
.page-title {
  font-size: 22px;
  font-weight: bold;
  display: grid;
  height: 60px;
  margin: 0 0 40px;
  color: #fff;
  background-color: #bf0000;
  place-content: center;
}
.section > .sub-title:first-of-type {
  margin-top: 0;
}
.section {
  padding: 20px 16px 16px;
}
.section--bordered {
  margin-top: 20px;
  border: 1px solid #efefef;
}
.section:not(.section--bordered) {
  padding-bottom: 40px;
}
.main-title {
  font-size: 21px;
  font-weight: bold;
  margin: 0 0 32px;
}
.main-title:not(:first-of-type) {
  margin-top: 40px;
}
.sub-title {
  font-size: inherit;
  font-weight: normal;
  margin: 40px 0 12px;
}
.text-right {
  text-align: right;
}
.date {
  margin-top: 1em;
  text-align: right;
}
.list {
  margin: 0 0 0 1.5em;
  padding-left: 20px;
}
.list,
.list__item {
  list-style-type: decimal;
}
.list__item:not(:first-child) {
  margin-top: 8px;
}
.paren-list {
  margin: 0 0 40px calc(1.5em + 20px);
  padding: 0;
}
.paren-list__item {
  display: grid;
  counter-increment: number;
  grid-template-columns: 2.5em auto;
}
.paren-list__item:not(:first-child) {
  margin-top: 8px;
}
.paren-list__item::before {
  content: '(' counter(number) ')';
}
.list .paren-list {
  margin: 8px 0 0;
}
.text {
  margin: 0 0 0 1.5em;
}
.text:has(+ .paren-list) {
  margin-bottom: 8px;
  margin-left: calc(1.5em + 20px);
}

/* for japanese*/
.table {
  line-height: 1.6;
  margin-left: 2em;
  border-spacing: 0;
}
.table__tr {
  vertical-align: top;
}
.table__tr:not(:first-child) {
  margin-top: 8px;
}
.table__number {
  width: 2em;
  white-space: nowrap;
}
.table__paren {
  width: 4em;
  white-space: nowrap;
}
