html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  line-height: 1.36;
}

body {
  font-size: 1.6rem;
  font-size: clamp(1.2rem, 3.5vw, 1.6rem);
}

#all-wrap {
  padding: 1em;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

footer {
  font-size: 0.8em;
  text-align: center;
  padding: 1em;
}

h1 {
  font-size: 1.5em;
  font-size: clamp(1em, 3vw, 1.5em);
  font-weight: bold;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 1em;
}

h2 {
  font-weight: bold;
  margin-bottom: 0.25em;
}

h3 {
  font-size: 1em;
  font-weight: bold;
  border-left: 6px solid #888;
  padding: 0.25em 0.5em;
  margin-bottom: 0.5em;
}

section {
  padding: 0.75em 0;
}

section section {
  padding: 0.5em 0;
}

ul > li {
  margin-top: 0.25em;
}

ul > li:first-child {
  margin-top: 0;
}

a {
  color: blue;
  text-decoration: underline;
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}

a:hover {
  color: #bf3333;
}

@media screen and (min-width: 961px) {
  .bp-min-960 {
    display: none;
  }
}

@media screen and (max-width: 960px) {
  .bp-max-960 {
    display: none;
  }
}

@media screen and (min-width: 1061px) {
  .bp-min-1060 {
    display: none;
  }
}

@media screen and (max-width: 1060px) {
  .bp-max-1060 {
    display: none;
  }
}

@media screen and (min-width: 1201px) {
  .bp-min-1200 {
    display: none;
  }
}

@media screen and (max-width: 1200px) {
  .bp-max-1200 {
    display: none;
  }
}

@media screen and (min-width: 1281px) {
  .bp-min-1280 {
    display: none;
  }
}

@media screen and (max-width: 1280px) {
  .bp-max-1280 {
    display: none;
  }
}

@media screen and (min-width: 1741px) {
  .bp-min-1740 {
    display: none;
  }
}

@media screen and (max-width: 1740px) {
  .bp-max-1740 {
    display: none;
  }
}

.date,
.from {
  text-align: right;
}
.indent {
  padding-left: 1em;
}
.indent ul.point-bullet {
  padding-left: 1em;
}
.indent ul.point-number {
  padding-left: 2em;
}
ul.bullet-point {
  list-style-type: disc;
}
ul.bullet-point li {
  margin-top: 0.5em;
}
ul.bullet-point li:first-child {
  margin-top: 0;
}
ol.bullet-point > li {
  position: relative;
  margin-top: 0.5em;
}
ol.bullet-point > li > .bullet {
  position: absolute;
  left: 0;
}
ol.bullet-point > li ol {
  padding-left: 1em;
}
ol.bullet-point > li ol > li {
  padding-left: 2em;
}
ol.bullet-point > li ul {
  padding-left: 1em;
}
.point-notes {
  text-indent: -1em;
  padding-left: 1em;
}
.frame {
  display: inline-block;
  border: 1px solid #555;
  border-radius: 0.5em;
  padding: 1em;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.ps-1 {
  padding-left: 0.4rem;
}
.ps-2 {
  padding-left: 0.8rem;
}
.ps-3 {
  padding-left: 1.6rem;
}
.ps-4 {
  padding-left: 2.4rem;
}
.ps-5 {
  padding-left: 3.2rem;
}
.pt-1 {
  padding-top: 0.4rem;
}
.pt-2 {
  padding-top: 0.8rem;
}
.pt-3 {
  padding-top: 1.6rem;
}
.pt-4 {
  padding-top: 2.4rem;
}
.pt-5 {
  padding-top: 3.2rem;
}
.pe-1 {
  padding-right: 0.4rem;
}
.pe-2 {
  padding-right: 0.8rem;
}
.pe-3 {
  padding-right: 1.6rem;
}
.pe-4 {
  padding-right: 2.4rem;
}
.pe-5 {
  padding-right: 3.2rem;
}
.pb-1 {
  padding-bottom: 0.4rem;
}
.pb-2 {
  padding-bottom: 0.8rem;
}
.pb-3 {
  padding-bottom: 1.6rem;
}
.pb-4 {
  padding-bottom: 2.4rem;
}
.pb-5 {
  padding-bottom: 3.2rem;
}
.ms-1 {
  margin-left: 0.4rem;
}
.ms-2 {
  margin-left: 0.8rem;
}
.ms-3 {
  margin-left: 1.6rem;
}
.ms-4 {
  margin-left: 2.4rem;
}
.ms-5 {
  margin-left: 3.2rem;
}
.mt-1 {
  margin-top: 0.4rem;
}
.mt-2 {
  margin-top: 0.8rem;
}
.mt-3 {
  margin-top: 1.6rem;
}
.mt-4 {
  margin-top: 2.4rem;
}
.mt-5 {
  margin-top: 3.2rem;
}
.me-1 {
  margin-right: 0.4rem;
}
.me-2 {
  margin-right: 0.8rem;
}
.me-3 {
  margin-right: 1.6rem;
}
.me-4 {
  margin-right: 2.4rem;
}
.me-5 {
  margin-right: 3.2rem;
}
.mb-1 {
  margin-bottom: 0.4rem;
}
.mb-2 {
  margin-bottom: 0.8rem;
}
.mb-3 {
  margin-bottom: 1.6rem;
}
.mb-4 {
  margin-bottom: 2.4rem;
}
.mb-5 {
  margin-bottom: 3.2rem;
}
.logo {
  display: inline-block;
  margin-bottom: 0.75em;
}
.logo img {
  height: 16vw;
  max-height: 80px;
}
#support {
  text-align: right;
}
