/* 共通 - タイトル */
.ec-section__heading {
 margin-top: var(--clamp-104sp);
}
.ec-headline {
  margin-top: var(--clamp-24sp);
  text-align: center;
}
.ec-headline__icon {
  width: var(--clamp-60sp);
  height: var(--clamp-60sp);
}
@media all and (min-width: 744px) {
 .ec-headline {
    margin-top: var(--clamp-40);
  }
  .ec-headline__text {
    margin-top: var(--clamp-16);
    font-size: var(--clamp-22);
    line-height: 1.4;
  }
}

/* 共通 - タイトル画像 */
.ec-headline__image {
  width: var(--clamp-360sp);
  margin: var(--clamp-40sp) auto 0;
}
.ec-headline__image source,
.ec-headline__image img {
  width: 100%;
}
@media all and (min-width: 744px) {
  .ec-headline__image {
    width: 100%;
    margin: var(--clamp-40) auto 0;
  }
}

/* 共通 - 詳細ボタン */
.ec-button__detail {
  margin: var(--clamp-10sp) 0;
  text-align: center;
}
.ec-button__detail a {
  display: inline;
  font-size: var(--clamp-16sp);
  font-weight: bold;
  padding: var(--clamp-10sp) var(--clamp-24sp);
}
@media all and (min-width: 744px) {
  .ec-button__detail a {
    font-size: var(--clamp-16);
    padding: var(--clamp-10) var(--clamp-24);
  }
}

/* 共通 - 問い合わせボタン */
.ec-button__contact {
  width: var(--clamp-360sp);
  margin: var(--clamp-40sp) auto 0;
  text-align: center;
}
.ec-button__contact ._ec-btn {
  padding: var(--clamp-16sp) 0 var(--clamp-18sp);
  font-size: var(--clamp-26sp);
}
.ec-button__contact ._ec-btn ._ec-flex{
  gap: var(--clamp-4sp);
}
.ec-button__contact ._ec-btn ._ec-flex ._ec-btn-caption {
  font-size: var(--clamp-16sp);
}
.ec-button__contact ._ec-btn-balloon {
  top: calc(var(--clamp-12sp) * -1);
}
@media all and (min-width: 744px) {
  .ec-button__contact {
    margin: var(--clamp-40) auto 0;
  }
  .ec-button__contact ._ec-btn {
    padding: var(--clamp-16) 0 var(--clamp-18);
    font-size: var(--clamp-26);
  }
  .ec-button__contact ._ec-btn ._ec-flex{
    gap: var(--clamp-4);
  }
  .ec-button__contact ._ec-btn ._ec-flex ._ec-btn-caption {
    font-size: var(--clamp-16);
  }
}

/* headings */
.ec-title {
  font-weight: 700;
  height: clamp(108px, 6.1px + 31.84vw, 165px);
  margin: 0 auto;
  width: clamp(286px, -7.2px + 91.62vw, 450px);
}
.ec-title__caption {
  color: var(--dark-green);
  font-size: var(--clamp-12sp);
  font-weight: 400;
  line-height: 1.4;
}
.ec-title__h1 {
  color: var(--dark-green);
  font-size: var(--clamp-32sp);
}
.ec-heading__h2 {
  color: var(--blue);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.ec-heading__h2--std {
  font-size: var(--clamp-24sp);
}

@media all and (min-width: 744px) {
  .ec-title {
    height: clamp(128px, -2.4px + 17.53vw, 250px);
    width: clamp(478px, 5.52px + 63.51vw, 920px);
  }
  .ec-title__caption {
    font-size: var(--clamp-22);
  }
  .ec-title__h1 {
    font-size: var(--clamp-42);
  }
  .ec-heading__h2--std {
    font-size: var(--clamp-32);
  }
  .ec-heading__h2--small {
    font-size: var(--clamp-26);
  }
}


/* 強み */
.ec-strong-points-wrapper {
  gap: var(--clamp-40);
}
@media all and (min-width: 744px) {
  .ec-strong-points-wrapper {
    gap: unset;
  }
}


/* 研修内容 - 法人研修 */
.ec-prices__list--item {
  width: var(--clamp-360sp)!important;
}
@media all and (min-width: 744px) {
  .ec-prices__list {
    margin-top: var(--clamp-40)!important;
  }
  .ec-prices__list--item {
    width: clamp(166px, 92.2px + 9.91vw, 235px)!important;
  }
}

/* 研修内容 - 法人研修のラインナップ */
.ec-training__corporation {
  margin-top: var(--clamp-56sp);
}
.ec-training__corporation-heading {
  color: var(--blue);
  font-size: var(--clamp-20sp);
  text-align: center;
}
.ec-training__corporation-list {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-40sp);
  margin-top: var(--clamp-40);
}
.ec-training__corporation-item {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-16sp);
  width: var(--clamp-360sp);
  margin: 0 auto;
  padding: var(--clamp-24sp);
  border: 4px solid var(--blue);
}
.ec-training__corporation-item-title {
  font-size: var(--clamp-20sp);
  font-weight: bold;
  text-align: center;
}
.ec-training_corporation_item-icon {
  margin-top: var(--clamp-16sp);
  text-align: center;
}
.ec-training__corporation-item-text {
  font-size: var(--clamp-16sp);
}
.ec-training__corporation-item-text p {
  margin-top: var(--clamp-16sp);
}

@media all and (min-width: 744px) {
  .ec-training__corporation {
    margin-top: var(--clamp-64);
  }
  .ec-training__corporation-heading {
    font-size: var(--clamp-20);
  }
  .ec-training__corporation-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-columns: repeat(2, 1fr);
    gap: var(--clamp-40);
    margin-top: var(--clamp-40);
  }
  .ec-training__corporation-item {
    justify-content: space-between;
    width: 100%;
    padding: var(--clamp-24);
  }
  .ec-training__corporation-item-title {
    font-size: var(--clamp-20);
    font-weight: bold;
    text-align: center;
  }
  .ec-training_corporation_item-icon {
    margin-top: var(--clamp-16);
  }
  .ec-training__corporation-item-text {
    margin-top: var(--clamp-16);
    font-size: var(--clamp-16);
  }
  .ec-training__corporation-item-text p {
    margin-top: var(--clamp-16);
  }
  .ec-training__corporation-item-button {
    margin-top: var(--clamp-10);
    text-align: center;
  }
}

/* 研修内容 - 併用可能な研修プログラム */
.ec-training__program {
  width: var(--clamp-360sp);
  margin: var(--clamp-40sp) auto 0;
  padding: var(--clamp-40sp) var(--clamp-16sp);
  background-color: var(--ex-light-gray);
}
.ec-training__program-title {
  color: var(--gray);
  font-size: var(--clamp-22sp);
  text-align: center;
}
.ec-training__program-list {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-40sp);
  margin-top: var(--clamp-40sp);
}
.ec-training__program-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--clamp-24sp);
  border: 4px solid var(--blue);
}
.ec-training__program-item-title {
  font-size: var(--clamp-20sp);
  font-weight: bold;
  text-align: center;
}
.ec-training__program-item-subtitle {
  font-size: var(--clamp-16sp);
  font-weight: bold;
  text-align: center;
  color: var(--blue);
}
.ec-training__program-item-text {
  font-size: var(--clamp-16sp);
}
.ec-training__program-item-button {
  margin-top: var(--clamp-10sp);
  text-align: center;
}
.ec-training__program-bottom-text {
  margin-top: var(--clamp-40sp);
  font-size: var(--clamp-16sp);
  font-weight: bold;
  color: var(--gray);
  text-align: center;
}
.ec-training__program .ec-button__contact {
  width: calc(var(--clamp-360sp) - var(--clamp-16sp) * 2);
}

@media all and (min-width: 744px) {
  .ec-training__program {
    width: 100%;
    margin-top: var(--clamp-104);
    padding: var(--clamp-40) var(--clamp-24);
  }
  .ec-training__program-title {
    font-size: var(--clamp-22);
  }
  .ec-training__program-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-columns: repeat(2, 1fr);
    gap: var(--clamp-40);
    grid-template-rows: 1fr;
    margin-top: var(--clamp-40);
  }
  .ec-training__program-item {
    padding: var(--clamp-24);
  }
  .ec-training__program-item-title {
    font-size: var(--clamp-20);
  }
  .ec-training__program-item-subtitle {
    margin-top: var(--clamp-16);
    font-size: var(--clamp-16);
  }
  .ec-training__program-item-text {
    margin-top: var(--clamp-16);
    font-size: var(--clamp-16);
  }
  .ec-training__program-item-button {
    margin-top: calc(var(--clamp-16) + var(--clamp-10)); /* buttonのpadding + margin */
  }
  .ec-training__program-bottom-text {
    margin-top: var(--clamp-40);
    font-size: var(--clamp-16);
  }
  .ec-training__program-bottom-button {
    width: 343px;
    margin: var(--clamp-40) auto 0;
    text-align: center;
  }
}


/* 研修内容 - 個人研修 */
.ec-training__personal-list {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-40sp);
  margin-top: var(--clamp-40sp);
}
.ec-training__personal-item {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-16sp);
  width: var(--clamp-360sp);
  margin: 0 auto;
  padding: var(--clamp-24sp);
  border: 4px solid var(--blue);
}
.ec-training__personal-item-title {
  font-size: var(--clamp-20sp);
  font-weight: bold;
  text-align: center;
}
.ec-training__personal-item-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--clamp-24sp) 0;
  background-color: var(--gray);
}
.ec-training__personal-item-image p {
  font-size: var(--clamp-56sp);
  color: var(--white);
  font-weight: bold;
}
.ec-training__personal-item-fee {
  font-size: var(--clamp-16sp);
}
.ec-training__personal-item-text p:not(:first-child) {
  margin-top: var(--clamp-16sp);
}
.ec-training__personal-item-button {
  margin-top: var(--clamp-10);
}
@media all and (min-width: 744px) {
  .ec-training__personal-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-columns: repeat(2, 1fr);
    gap: var(--clamp-40);
    grid-template-rows: repeat(2, 1fr);
    margin-top: var(--clamp-40);
  }
  .ec-training__personal-item {
    width: 100%;
    padding: var(--clamp-24);
    justify-content: space-between;
  }
  .ec-training__personal-item-title {
    font-size: var(--clamp-20);
  }
  .ec-training__personal-item-image {
    margin-top: var(--clamp-16);
    padding: var(--clamp-24) 0;
  }
  .ec-training__personal-item-image p {
    font-size: var(--clamp-56);
  }
  .ec-training__personal-item-fee {
    margin-top: var(--clamp-16);
    font-size: var(--clamp-16);
  }
  .ec-training__personal-item-text {
    margin-top: var(--clamp-16);
  }
  .ec-training__personal-item-text p {
    margin-top: var(--clamp-16);
  }
  .ec-training__personal-item-button {
    margin-top: calc(var(--clamp-16) + var(--clamp-10)); /* buttonのpadding + margin */
  }
}

/* 参加者の声 */
.ec-feedbacks__list-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-24sp);
  width: var(--clamp-360sp);
  margin: var(--clamp-24sp) auto 0;
}
.ec-customers-middle {
  margin-top: var(--clamp-64sp);
}
.ec-customers-middle__title {
  font-size: var(--clamp-20sp);
  font-weight: bold;
  text-align: center;
}
.ec-users .ec-headline {
  margin-top: var(--clamp-104sp);
}
.ec-users .ec-feedbacks-cta {
  margin-top: var(--clamp-64sp);
}
@media (min-width: 744px) {
  .ec-feedbacks__list-wrapper {
    display: grid!important;
    gap: var(--clamp-24);
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    margin-top: var(--clamp-24);
  }
  .ec-customers-middle {
    margin-top: var(--clamp-40);
  }
  .ec-customers-middle__title {
    font-size: var(--clamp-20);
  }
  .ec-customers-middle .ec-customers__container {
    margin-top: 0;
  }
  .ec-users .ec-headline {
    margin-top: var(--clamp-64);
  }
  .ec-users .ec-feedbacks-cta {
    margin-top: var(--clamp-64);
  }
}

/* 問い合わせ / 申し込みボタン */
.ec-powerpoint-cta-btn {
  font-size: var(--clamp-16sp);
  font-weight: 700;
  height: var(--clamp-80sp);
  width: clamp(149.6px, -1.5px + 47.21vw, 234.1px);
}

@media (min-width: 744px) {
  .ec-powerpoint-cta-btn {
    font-size: var(--clamp-26);
    height: var(--clamp-97);
    width: var(--clamp-298);
  }
}

/* 講師紹介 */
@media (min-width: 744px) {
  .ec-tutor__container {
    display: flex;
    flex-direction: column;
    gap: var(--clamp-40);
    margin-top: var(--clamp-40);
  }
  .ec-tutor__item {
    display: grid;
    grid-template-columns: var(--clamp-160) 1fr;
    gap: var(--clamp-32);
    padding: 24px;
    border: 1px solid var(--gray);
  }
  .ec-tutor__item-content-name p {
    font-size: var(--clamp-26);
    font-weight: bold;
  }
  .ec-tutor__item-content-name span {
    margin-left: var(--clamp-16);
    font-size: var(--clamp-16);
    font-weight: 300;
  }
  .ec-tutor__item-content-position {
    margin-top: 8px;
    font-size: var(--clamp-12);
    font-weight: 300;
  }
  .ec-tutor__item-content-text {
    margin-top: var(--clamp-8);
    font-size: var(--clamp-16);
    font-weight: 400;
  }
}

/* 問い合わせ */
.ec-contact {
  margin-top: var(--clamp-104sp);
}
.ec-contact__container {
  border: 10px solid var(--blue);
}
.ec-contact__title {
  padding: var(--clamp-24sp) calc(var(--clamp-24sp) - var(--clamp-10sp));
  font-size: var(--clamp-26sp);
  font-weight: bold;
  color: var(--white);
  background-color: var(--blue);
}
.ec-contact__content {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-32sp);
  padding: var(--clamp-32sp) calc(var(--clamp-40sp) - var(--clamp-10sp))  calc(var(--clamp-40sp) - var(--clamp-10sp));
  text-align: center;
}
.ec-contact__content-title {
  font-size: var(--clamp-22sp);
  font-weight: bold;
  color: var(--blue);
}
.ec-contact__content-button {
  width: 100%;
  font-size: var(--clamp-22sp);
}
.ec-contact__content-button ._ec-btn-caption {
  font-size: var(--clamp-16sp);
}
.ec-contact__content-button-top a {
  padding: var(--clamp-16sp) 0;
}
.ec-contact__content-button-bottom a {
  padding: var(--clamp-34sp) 0;
}
.ec-contact__content-button-bottom a:last-child {
  margin-top: var(--clamp-24sp);
}
.ec-contact__content-button ._ec-btn-balloon {
  top: calc(var(--clamp-12sp) * -1);
}
@media (min-width: 744px) {
  .ec-contact {
    margin-top: var(--clamp-104);
  }
  .ec-contact__title {
    padding: var(--clamp-24) 0;
    font-size: var(--clamp-26);
    text-align: center;
  }
  .ec-contact__content {
    gap: var(--clamp-32);
    padding: var(--clamp-32);
  }
  .ec-contact__content-title {
    font-size: var(--clamp-22);
  }
  .ec-contact__content-button-wrap {
    display: flex;
    gap: var(--clamp-40);
    width: 100%;
  }
  .ec-contact__content-button {
    width: calc(50% - var(--clamp-20));
    font-size: var(--clamp-26);
  }
  .ec-contact__content-button ._ec-btn-caption {
    font-size: var(--clamp-16);
  }
  .ec-contact__content-button-top {
    margin: 0 auto;
  }
  .ec-contact__content-button-top a {
    padding: var(--clamp-16) 0;
  }
  .ec-contact__content-button-bottom a,
  .ec-contact__content-button-bottom a {
    padding: var(--clamp-31) 0;
  }
  .ec-contact__content-button-bottom a:last-child {
    margin-top: 0;
  }
}