
.subpage section.content h2 {
  display: flex;
  flex-direction: row;
}
.subpage section.content h2 .fs42 {
  white-space: nowrap;
}
section .link_wrap {
  display: flex;
  justify-content: center;
}
.link_wrap a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 480px;
  width: 100%;
  font-size: 20px;
  color: var(--text-subcolor);
  font-weight: 400;
  padding: 24px 0;
  background: var(--main-color);
  border-radius: 47px;
  transition: all .3s;
}
section .link_wrap a:hover {
  background: var(--hvr-color);
}

@media screen and (max-width:520px) {
  .subpage section.content h2 .fs42 {
    font-size: 2.25rem !important;
  }
}
@media screen and (max-width:640px) {
  .subpage section.content h2 {
    flex-direction: column;
  }
}
@media screen and (max-width:874px) {
  .subpage section.content h2 .fs42 {
    font-size: 2.25rem !important;
  }
}
@media screen and (max-width:913px) {
  .subpage section.content h2 .fs42 {
    font-size: 2.4rem;
  }
}

/* FV */
/* ============================================ */
.fv_subp {
  margin-top: 86px;
}
.fv_contents {
  position: absolute;
  z-index: 10;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 4%;
}
.fv_read {
  font-size: clamp(1.125rem, 3vw, 1.25rem);
  word-break: keep-all;
}
.fv_copy {
  zoom: 100%;
}
.fv_contents h3 {
  font-size: clamp(1.25rem, 4vw, 2.25rem);
  color: var(--text-subcolor);
  text-align: right;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
    .fv_contents {
        min-height: 0;
    }
    .fv_copy {
        zoom: 140%;
    }
}

/* Features　／  プログラムの特徴 */
/* ============================================ */
section.features article {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 32px 24px;
}
section.features article:nth-of-type(even) {
  flex-direction: row-reverse;
}
section.features article:nth-of-type(even) .textArea {
  align-items: flex-start;
}
section.features article .textArea {
    display: flex;
    flex-direction: column;
    max-width: 620px;
    width: 100%;
    margin-right: auto;
}
section.features article .textArea h2 {
  margin-left: auto;
  margin-bottom: 24px;
}
section.features article .textArea p {
  text-align: right;
}
section.features article:nth-of-type(even) .textArea p {
  text-align: left;
}
section.features article figure {
    max-width: 620px;
    width: 100%;
    margin-left: auto;
}
section.features article:nth-of-type(even) .textArea {
  order: 1;
  margin-left: auto;
  margin-right: 0;
}
section.features article:nth-of-type(even) .textArea h2 {
  margin-left: 0;
}
section.features article:nth-of-type(even) figure {
  order: 2;
  margin-right: auto;
  margin-left: 0;
}
@media screen and (max-width: 1449px) {
  section.features article:first-of-type {
    padding-top: 0;
  }
}

/* Curriculum　／  学習内容 */
/* ============================================ */
.curriculum .item_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 32px;
}
.curriculum .item_list li {
  padding: 40px 24px;
}
.curriculum .item_list .card h3 {
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}
.curriculum .item_list li:nth-of-type(1) .card .icon {
  width: 56px;
  background-image: url(../img/icon/curriculum_icon01.svg);
}
.curriculum .item_list li:nth-of-type(2) .card .icon {
  background-image: url(../img/icon/service_icon01.svg);
}
.curriculum .item_list li:nth-of-type(3) .card .icon {
  background-image: url(../img/icon/curriculum_icon02.svg);
}
.curriculum .item_list li:nth-of-type(4) .card .icon {
  background-image: url(../img/icon/curriculum_icon03.svg);
}


/* Benefits　／  参加メリット */
/* ============================================ */
.benefits .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 56px;
}
.benefits .wrap figure,
.benefits .wrap article {
  max-width: 620px;
  width: 100%;
}
.benefits .wrap article {
  padding-top: 0;
}
.benefits .wrap article h2 {
  justify-content: flex-start;
  margin-bottom: 32px;
}
.benefits .wrap article h2 span {
  line-height: 1.6;
}
.benefits .wrap article ul li {
  line-height: 1.4;
  border-left: 8px;
  margin-bottom: 16px;
  padding-left: 8px;
  border-left: 1px solid #707070;
}
.benefits .wrap article .attention {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 40px;
}