@charset 'UTF-8';

main {
  padding-bottom: 19.8rem;
}
main > article {
  position: relative;
}
main > article::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  z-index: -10;
  background-image: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.51),
    rgba(240, 248, 249, 0.51) 33%,
    rgba(200, 230, 233, 0.51) 97%,
    rgba(199, 230, 233, 0.51)
  );
}

/* hd */
#hd {
  padding-top: 14.4rem;
  padding-bottom: 2.8rem;
  position: relative;
  border-bottom: solid 1px rgb(0, 151, 156);
}
#hd h2 {
  padding: 4.6rem;
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-size: 2.3rem;
  font-weight: normal;
  line-height: 1.56;
  letter-spacing: 0.2em;
  text-align: center;
  color: rgb(0, 151, 156);
  background-color: rgb(255, 255, 255);
  border: solid 1px rgb(0, 151, 156);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #hd h2 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 40.3rem;
  }
}
#hd .desc {
  padding: 0.8em 0;
  margin: 1.5em 0;
  font-size: 1.7rem;
  line-height: 2.6;
}
#hd .desc p {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  letter-spacing: calc(2 / 17 * 1em);
  text-align: center;
}

/* list */
#list {
  padding-top: 8rem;
  padding-bottom: 8rem;
  margin: 0;
  display: flow-root;
}
@media screen and (min-width: 768px) {
  #list {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 5.6rem;
    column-gap: 5.6rem;
  }
}
#list > div {
  padding-left: 1.5rem;
  margin-bottom: 5.6rem;
  border-left: 5px solid rgb(0, 151, 156);
}
@media screen and (min-width: 768px) {
  #list > div {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }
}
#list dt {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: calc(2.16 / 18 * 1em);
  color: rgb(0, 151, 156);
}
#list dd {
  margin: 0;
  font-size: 1.7rem;
  line-height: 2;
}
#list dd:first-of-type {
  padding-top: 0.5em;
}
#list dd a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", serif;
  letter-spacing: calc(2.04 / 17 * 1em);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: 0.3s color ease-out;
}
#list dd a:hover {
  color: rgb(0, 151, 156);
}
