@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

.ov {
  transition: opacity 0.3s;
}
.ov:hover {
  opacity: 0.8;
}

header, main {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

header {
  display: flex;
  padding: min(2vw, 20px);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
}
header a {
  width: 20.5%;
}

main {
  padding-bottom: min(10%, 100px);
}

section {
  position: relative;
}
section figcaption {
  text-align: justify;
  font-feature-settings: "palt";
  letter-spacing: 0.025em;
}
section figcaption p.note {
  padding-left: 1em;
  text-indent: -1em;
  font-size: min(2.8vw, 28px);
}
section.outline figure figcaption.cap01 {
  padding: 0 5.5% min(4.5vw, 45px);
  background-color: #fcebf1;
}
section.outline figure figcaption.cap01 p:not(.note) {
  margin-bottom: min(3.5vw, 35px);
  font-size: min(4.2vw, 42px);
}
section.outline figure figcaption.cap02 {
  padding: 0 4% min(9vw, 90px);
  background-color: #e6f4fd;
}
section.outline figure figcaption.cap02 p:not(.note) {
  font-size: min(4.2vw, 42px);
}
section.eligible {
  margin-bottom: min(6.5vw, 65px);
}
section.history figure {
  background: url(../img/history_bg.jpg) repeat-y top center/100% auto;
}
section.history figure figcaption.ttl {
  padding: min(3.5vw, 35px) 7.5%;
  color: rgb(0, 113, 188);
  text-align: center;
  font-size: min(4.5vw, 45px);
}
section.history figure figcaption p {
  padding: min(3.5vw, 35px) 7.5% min(7vw, 70px);
  font-size: min(4.2vw, 42px);
}