/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.u-sec + .u-sec {
  margin-top: 100rem;
}
.u-sec__ttl + * {
  margin-top: 48rem;
}
.u-sec__img {
  margin-top: 50rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-sec + .u-sec {
    margin-top: 80rem;
  }
  .u-sec__ttl + * {
    margin-top: 30rem;
  }
  .u-sec__img {
    margin-top: 30rem;
  }
  .u-sec__img.--wid-231-sp {
    width: 231rem;
  }
}


.u-grade {
  display: flex;
  justify-content: center;
  gap: 40rem;
  margin-top: 20rem;
}
.u-grade__item {
  display: flex;
  font-weight: 500;
  font-size: 13rem;
  line-height: 1.38;
}
.u-grade__item > dt {
  color: var(--font-color-main);
}
.u-grade__item > dt::after {
  content: "：";
  color: var(--font-color-base);
}
.u-grade__item > dd {
  flex: 1;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-grade {
    flex-direction: column;
    gap: 11rem;
  }
  .u-grade__item {
    letter-spacing: 0.04em;
  }
}


.u-course {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30rem;
  margin-top: 38rem;
}
.u-course__item {
  display: flex;
  align-items: center;
  gap: 13rem;
  padding: 12rem 20rem 14rem;
  border: 1px solid #2772e8;
  border-radius: 8rem;
  background-color: #fff;
}
.u-course__item > dt {
  flex-basis: 105rem;
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 18rem;
  line-height: 1.39;
  text-align: center;
}
.u-course__item > dd {
  flex: 1;
  font-weight: 500;
  font-size: 13rem;
  line-height: 1.38;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-course {
    grid-template-columns: minmax(0, 1fr);
    gap: 10rem;
    margin: 30rem -10rem 0;
  }
  .u-course__item {
    display: block;
    padding: 22rem 29rem 17rem;
  }
  .u-course__item > dt {
    font-size: 14rem;
    line-height: 1.21;
    text-align: left;
  }
  .u-course__item > dd {
    margin-top: 10rem;
    line-height: 1.69;
    letter-spacing: 0.04em;
  }
}


.u-systemList {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10rem;
  margin-top: 50rem;
}
.u-systemList__row {
  display: flex;
  align-items: center;
  gap: 20rem;
  font-size: 14rem;
}
.u-systemList__row > dt {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 140rem;
  min-height: 60rem;
  padding: 8rem;
  border-radius: 6rem;
  background-color: #2772e8;
  color: #fff;
  font-weight: 600;
  line-height: 1.57;
  text-align: center;
}
.u-systemList__row > dd {
  flex: 1;
  line-height: 1.86;
}
.u-systemList__row > dd > p:not([class]) {
  font-size: inherit;
  line-height: inherit;
}
.u-systemList__row .m-note {
  margin-top: 4rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-systemList {
    gap: 24rem;
    margin-top: 30rem;
  }
  .u-systemList__row {
    display: block;
    font-size: 13rem;
  }
  .u-systemList__row > dt {
    display: block;
    flex-basis: initial;
    min-height: initial;
    padding: 5rem;
    line-height: 1.57;
  }
  .u-systemList__row > dd {
    margin-top: 12rem;
    line-height: 1.69;
  }
}


.u-training {
  margin-top: 50rem;
  padding: 60rem;
  border-radius: 10rem;
  background-color: #fff;
}
.u-training__ttl {
  color: var(--font-color-main);
  font-weight: 600;
  font-size: 20rem;
  line-height: 1.45;
}
.u-training__ttl::before {
  content: "・";
}
* + .u-training__ttl {
  margin-top: 50rem;
}
.u-training__cts {
  margin-top: 16rem;
  padding-left: 20rem;
}
.u-training__list {
  margin-top: 20rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 767px) {
  .u-training {
    margin: 30rem -10rem 0;
    padding: 40rem 30rem;
    background-color: rgba(255, 255, 255, 0.7);
  }
  .u-training__ttl {
    font-size: 18rem;
    line-height: 1.44;
  }
  * + .u-training__ttl {
    margin-top: 40rem;
  }
  .u-training__cts {
    margin-top: 10rem;
  }
}
