.about-program-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media screen and (max-width: 960px) {
  .about-program-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 10px;
  }
}
.about-program-list .program-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  letter-spacing: 0.04em;
  height: 90px;
  text-align: center;
  color: #fff;
}
.about-program-list .program-title.is-yellow {
  background: rgb(235, 166, 2);
  background: -webkit-gradient(linear, left top, right top, from(rgb(235, 166, 2)), to(rgb(255, 217, 42)));
  background: -webkit-linear-gradient(left, rgb(235, 166, 2) 0%, rgb(255, 217, 42) 100%);
  background: linear-gradient(90deg, rgb(235, 166, 2) 0%, rgb(255, 217, 42) 100%);
}
.about-program-list .program-title.is-orange {
  background: rgb(226, 71, 34);
  background: -webkit-gradient(linear, left top, right top, from(rgb(226, 71, 34)), to(rgb(238, 118, 79)));
  background: -webkit-linear-gradient(left, rgb(226, 71, 34) 0%, rgb(238, 118, 79) 100%);
  background: linear-gradient(90deg, rgb(226, 71, 34) 0%, rgb(238, 118, 79) 100%);
}
.about-program-list .program-title.is-blue {
  background: rgb(17, 179, 214);
  background: -webkit-gradient(linear, left top, right top, from(rgb(17, 179, 214)), to(rgb(128, 207, 241)));
  background: -webkit-linear-gradient(left, rgb(17, 179, 214) 0%, rgb(128, 207, 241) 100%);
  background: linear-gradient(90deg, rgb(17, 179, 214) 0%, rgb(128, 207, 241) 100%);
}
.about-program-list .program-title.is-purple {
  background: rgb(129, 52, 139);
  background: -webkit-gradient(linear, left top, right top, from(rgb(129, 52, 139)), to(rgb(177, 119, 178)));
  background: -webkit-linear-gradient(left, rgb(129, 52, 139) 0%, rgb(177, 119, 178) 100%);
  background: linear-gradient(90deg, rgb(129, 52, 139) 0%, rgb(177, 119, 178) 100%);
}
.about-program-list .program-title .title {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
}
@media screen and (max-width: 960px) {
  .about-program-list .program-title .title {
    font-size: 1.4rem;
  }
}
.about-program-list .program-title .en {
  display: block;
  font-size: 1.2rem;
}
.about-program-list .program-text {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.857;
  word-wrap: break-word;
  line-break: strict;
  margin-top: 15px;
}

.curriculum-required-list .required-title, .curriculum-selection-list .selection-title {
  height: 40px;
  vertical-align: middle;
  padding: 5px 15px;
  border-bottom: 1px solid #fff;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  background: #0087c8;
}

.curriculum-required-list .required-detail, .curriculum-selection-list .selection-detail {
  padding: 10px 15px 15px;
  border-bottom: 1px solid #fff;
  font-size: 1.4rem;
  background: #f0f5f5;
}

.curriculum-selection-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 30px;
}
.curriculum-selection-list .selection-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.curriculum-selection-list .selection-subtitle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  padding: 5px 15px;
  font-size: 1.4rem;
  font-weight: bold;
  background: #bcdff0;
  border-bottom: 1px solid #fff;
}
.curriculum-required-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 960px) {
  .curriculum-required-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.curriculum-required-list .required-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}
.curriculum-required-list .required-title {
  height: auto;
}