@charset "utf-8";

/* -------------------------------------------------------------------
#LIST
------------------------------------------------------------------- */
#LIST {}
/* font */
.marker {
  display: inline;
}
.marker-yellow {
  background-image: linear-gradient(transparent 70%, #ffec00 70%);
}
.marker-white {
  background-image: linear-gradient(transparent 70%, #fff 70%);
}





/* mv */
.mv {
  padding-top: 20px;
  padding-bottom: 60px;
}
.mv__content {
  position: relative;
  padding-top: 20px;
}
.mv__content h1 {
  margin-bottom: 35px;
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
}
.mv__content h1 p:first-of-type span {
  transform: translateY(-0.05em);
  vertical-align: text-bottom;
  display: inline-block;
  font-size: 1.25em;
  margin-right: 0.16em;
}
.mv__content h1 p:last-of-type {
  font-size: 0.7em;
}
.mv__content img {
  position: absolute;
  top: 0;
  right: 0;
  width: 57%;
}
.mv__content > p:first-of-type {
  margin-bottom: 0.5em;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.57;
}
.mv__content > p:last-of-type {
  width: 40%;
  font-size: 1.6rem;
  line-height: 2.25;
}





/* content */
.content {
  padding-top: 80px;
  padding-bottom: 80px;
}
.content h2 {
  margin-bottom: 1em;
  font-size: 5.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}
.content h2 span {
  display: block;
}
.content h2 .en {
  font-size: 6.2rem;
  letter-spacing: -0.01em;
}
.content h2 .ja {
  margin-top: 1em;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
}
.content .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.content .flex img {
  width: 57%;
}
.content .flex div {
  width: 39.75%;
}
.content .flex div > p {
  margin-bottom: 45px;
  font-size: 3.2rem;
  font-weight: 900;
}
.content .flex div ul {
  margin-bottom: 40px;
}
.content .flex div ul li {
  letter-spacing: 0.04em;
}
.content .flex div ul li + li {
  margin-top: 30px;
}
.content .flex div ul li p:first-of-type {
  position: relative;
  padding-left: 53px;
  font-size: 2rem;
  font-weight: 900;
}
.content .flex div ul li p:first-of-type::before {
  content: "";
  background-image: url(../../../img/opencampus/list/icon.png);
  background-size: cover;
  position: absolute;
  top: -0.5em;
  left: 0;
  width: 47px;
  height: 40px;
}
.content .flex div ul li p:last-of-type {
  position: relative;
  padding-left: 1.5em;
  margin-left: 53px;
  font-size: 1.8rem;
  font-weight: 500;
}
.content .flex div ul li p:last-of-type::before {
  content: "A.";
  position: absolute;
  top: 0;
  left: 0;
}
.content .flex div .common-button {
  margin: 0 auto;
}





/* point */
.point {
  padding-top: 90px;
  padding-bottom: 70px;
}
.point__content {
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px;
  border: 6px solid #ffec00;
  margin-bottom: 40px;
}
.bg-wavy-yellow .point__content {
  border-color: #fff;
}
.point__content > span {
  width: max-content;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-right: 1em;
  padding-left: 1em;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  background-color: #fff;
}
.bg-wavy-yellow .point__content > span {
  background-color: #ffec00;
}
.point__content p {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 5.2rem;
  letter-spacing: 0.04em;
  text-align: center;
}
.point__content p span {
  font-size: 3.6rem;
}
.point .container > p {
  text-indent: -1em;
  margin-left: 1em;
  font-size: 1.6rem;
  line-height: 1.375;
}
.point__top {
  display: flex;
  padding-top: 19px;
  padding-right: 36px;
  padding-bottom: 19px;
  padding-left: 36px;
  border-radius: 10px;
  margin-bottom: 80px;
  font-size: 2.8rem;
  font-weight: 700;
  background-color: rgba(255, 236, 0, .3);
}
.point__top p:first-of-type {
  margin-right: 1em;
  letter-spacing: 0.04em;
  color: #0ea2aa;
}
.point__top p:last-of-type {
  flex: 1;
}





/* measures */
.measures-1 {
  padding-top: 80px;
  padding-bottom: 150px;
}





@media screen and (max-width: 1400px) {
  /* mv */
  .mv__content h1 {
    font-size: 5.7vw;
  }
  .mv__content > p:first-of-type {
    font-size: 2vw;
  }
}