main {
  padding: 112px 20px 0 20px;
}

h1 {
  position: relative;
  margin: 60px auto;
  font-size: 32px;
  font-weight: 600;
  text-align: center;
}

h1::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.4em;
  width: 100%;
  height: 1em;
  background: url(../img/title-underline.png) no-repeat center;
  background-size: contain;
  z-index: -1;
}

h2 {
  max-width: 600px;
}

.semester {
  max-width: 1200px;
  margin: 0 auto 40px auto;
}

.semester_slit {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 0 auto 100px auto;
}

.text li {
  padding-bottom: 16px;
}
.image {
  margin-top: 20px;
}
.image img {
  max-width: 540px;
}

@media screen and (max-width: 767px) {
  main {
    padding: 64px 16px 0 16px;
  }
  .semester_slit {
    flex-direction: column;
  }
  .text {
    order: 2;
  }
  .semester .text-right {
    text-align: left;
  }
}
