@charset "UTF-8";
/* 導入事例
---------------------------------------------------------- */
.case {
  padding-block: clamp(3.75rem, 3rem + 3.75vw, 7.5rem);
  overflow: hidden;
}

.case__container {
  width: min(92%, 1516px);
  margin-inline: auto;
}
@media screen and (min-width: 576px) {
  .case__container {
    width: 100%;
    margin-inline: 0;
    padding-left: 10.4166666667%;
  }
}

.case__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: min(92%, 1516px);
  margin-inline: auto;
}
@media screen and (min-width: 576px) {
  .case__head {
    width: 100%;
    margin-inline: 0;
    padding-inline: 10.4166666667%;
  }
}

.case__head_title .section-title {
  text-align: left;
}

.case__description {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .case__description {
    margin-top: 2.5rem;
  }
}

.case__bottom_more {
  width: fit-content;
  margin: 1.875rem 0 0 auto;
}
@media screen and (min-width: 576px) {
  .case__bottom_more {
    margin: 1.875rem 10.4166666667% 0 auto;
  }
}

.case__slider {
  position: relative;
  margin-top: 2.5rem;
}
@media screen and (min-width: 576px) {
  .case__slider {
    margin: 3.75rem calc(50% - 50vw);
  }
}

@media screen and (min-width: 576px) {
  .case__slider_inner {
    margin-right: calc(50% - 50vw);
  }
}

@media screen and (min-width: 576px) {
  .case__slider .splide__track {
    padding-left: 0 !important;
  }
}

/* card */
.case__slide {
  padding-inline: 8%;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 576px) {
  .case__slide {
    width: 280px;
    padding-inline: 0;
  }
}
@media screen and (min-width: 768px) {
  .case__slide {
    width: 300px;
  }
}
@media screen and (min-width: 992px) {
  .case__slide {
    width: 360px;
  }
}

/* arrow & progress */
.case__controller {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
  margin-top: 2.1875rem;
}
@media screen and (min-width: 576px) {
  .case__controller {
    gap: 1.875rem;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .case__controller {
    gap: 2.25rem;
    margin-top: 3.125rem;
  }
}

.case__slider .splide__arrows {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.case__slider .splide__arrow {
  position: absolute;
  top: 0;
  margin-top: calc(42% - 20px);
}
@media screen and (min-width: 400px) {
  .case__slider .splide__arrow {
    margin-top: calc(42% - 30px);
  }
}
@media screen and (min-width: 576px) {
  .case__slider .splide__arrow {
    position: static;
    margin-top: 0;
  }
}

.splide__arrow {
  display: grid;
  place-content: center;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 14px 32px rgba(0, 25, 115, 0.15);
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 400px) {
  .splide__arrow {
    width: 60px;
    height: 60px;
  }
}
@media screen and (min-width: 992px) {
  .splide__arrow {
    width: 74px;
    height: 74px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .splide__arrow:hover {
    background-color: #001973;
  }
  .splide__arrow:hover::after {
    border-color: #fff;
  }
}

.splide__arrow--prev {
  left: 0;
}

.splide__arrow--next {
  right: 0;
}

.splide__arrow::after {
  width: 14px;
  height: 14px;
  content: "";
  border: solid #001973;
  border-width: 3px 3px 0 0;
  transition: border-color 0.3s ease;
}

.splide__arrow--prev::after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}

.splide__arrow--next::after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}

.my-carousel-progress {
  width: 100%;
  background: #BCBCBC;
  height: 1px;
}

.my-carousel-progress-bar {
  background: #0068B7;
  height: 4px;
  transition: width 400ms ease;
  width: 0;
  position: relative;
  top: -2px;
}

/* サービスのフロー */
.service-flow-box {
  padding: 1.5rem;
  border-radius: 1.125rem;
  background-color: #fff;
  box-shadow: 0 3px 30px rgba(0, 69, 114, 0.25);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 1rem;
}

.service-flow-box:not(:last-child) {
  margin-bottom: 2.8125rem;
}

.service-flow-box:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -1.625rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.5625rem;
  height: 0.875rem;
  background-color: #0068B7;
  mask: url("../images/service/icon-flow-arrow.svg") no-repeat center center/contain;
}

.service-flow-box__round {
  width: 4.8125rem;
  height: 4.8125rem;
  border-radius: 50%;
  color: #fff;
  background-color: #0068B7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-align: center;
}

.service-flow-box__round-step {
  display: block;
  line-height: 1.2;
}

.service-flow-box__round-num {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
}

.service-flow-box__content {
  width: 100%;
}

.service-flow-box__content-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2083333333;
  border-bottom: 2px dotted rgba(117, 117, 117, 0.5);
  color: #0068B7;
  padding-bottom: 1rem;
  margin-bottom: 1.25rem;
}

.service-flow-box__list-item {
  padding-left: 1.875rem;
  position: relative;
  line-height: 1.5;
}

.service-flow-box__list-item::before {
  content: "";
  position: absolute;
  top: 0;
  transform: translateY(0.325em);
  left: 0;
  width: 1.375rem;
  height: 1.375rem;
  background-color: #001973;
  border-radius: 50%;
}

.service-flow-box__list-item::after {
  content: "";
  position: absolute;
  top: 0;
  transform: translateY(0.75em);
  left: 0.4em;
  width: 0.6875rem;
  height: 0.5rem;
  background-color: #fff;
  mask: url("../images/icon/icon_check.svg") no-repeat center center/contain;
}

.service-flow-box__list-item:not(:last-child) {
  margin-bottom: 0.75rem;
}

@media screen and (min-width: 768px) {
  .service-flow-box__content {
    width: calc(100% - 77px);
    padding-left: 1.4375rem;
  }
}
@media screen and (min-width: 992px) {
  .service-flow-box {
    padding: 2.5rem;
  }
  .service-flow-box:not(:last-child) {
    margin-bottom: 5rem;
  }
  .service-flow-box:not(:last-child)::after {
    bottom: -3.0625rem;
  }
  .service-flow-box__content-ttl {
    font-size: 1.5rem;
  }
  .service-flow-box__list-item {
    line-height: 2;
  }
}
/* //サービスのフロー */
/* 導入実績
---------------------------------------------------------- */
.record {
  margin-top: 4.0625rem;
}

.record__head {
  text-align: center;
}

.record__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2.5rem;
  max-width: 1295px;
  margin-right: auto;
  margin-left: auto;
  /*
    @include min('sm') {
      grid-template-columns: repeat(3, auto);
    }

    @include min('md') {
      grid-template-columns: repeat(4, auto);
    }
  */
}
@media screen and (min-width: 992px) {
  .record__list {
    row-gap: 1rem;
  }
}

.record__item {
  width: 50%;
  display: grid;
  place-content: center;
  min-height: 5rem;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
@media screen and (min-width: 576px) {
  .record__item {
    width: 33.3333%;
  }
}
@media screen and (min-width: 768px) {
  .record__item {
    width: 25%;
  }
}
@media screen and (min-width: 992px) {
  .record__item {
    padding-right: 2.1437994723%;
    padding-left: 2.1437994723%;
  }
}

.record__item img {
  max-height: 80px;
  width: 100%;
  object-fit: contain;
}

.record__caution {
  font-size: 0.875rem;
  margin-top: clamp(1.875rem, 1.625rem + 1.25vw, 3.125rem);
  max-width: 1295px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
@media screen and (max-width: 360px) {
  .record__caution {
    font-size: 0.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .record__caution {
    font-size: 1rem;
    text-align: right;
  }
}

/* 下層FVの円 */
.child-fv-tall__ttl {
  position: relative;
  width: fit-content;
}

.child-fv-tall__original-materials-round {
  font-size: 0.6666em;
  font-weight: 700;
  text-align: center;
  position: absolute;
  color: #fff;
  background-color: #0068B7;
  width: 5.35em;
  height: 5.35em;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -7em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
}

.child-fv-tall__original-materials-round-eng {
  letter-spacing: 0.02em;
  display: block;
}

.child-fv-tall__original-materials-round-jp {
  letter-spacing: 0.05em;
  display: block;
}

/* //下層FVの円 */
/* 教材制作に関する課題を解決できます */
.text-problem {
  padding: 2rem 1.5rem;
  background-color: #fff;
  box-shadow: 0 3px 1.875rem rgba(0, 69, 114, 0.25);
  border-radius: 1.125rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.text-problem__text {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
}

.text-problem__strong {
  font-size: 1.33333em;
}

.support-texts__1 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  width: fit-content;
  max-width: 100%;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3rem;
  padding-left: 3rem;
}

.support-texts__1::before, .support-texts__1::after {
  content: "";
  position: absolute;
  bottom: 0;
  background-color: #333;
  width: 1px;
  height: 2.6875rem;
}

.support-texts__1::before {
  left: 0;
  transform: rotate(-30deg);
}

.support-texts__1::after {
  right: 0;
  transform: rotate(30deg);
}

.support-texts__2 {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}

.support--texts__2-marker {
  background: linear-gradient(transparent 77%, rgba(0, 114, 188, 0.2) 77%);
}

@media screen and (min-width: 992px) {
  .support-texts__1 {
    font-size: 1.5rem;
  }
  .support-texts__2 {
    font-size: 2rem;
  }
}
/* //教材制作に関する課題を解決できます */
/* ABOUT */
.original-materials-about {
  width: 42.8125rem;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

/* //ABOUT */
/* FEATURES */
.feature-box {
  padding: 2.5rem 1.5rem 2rem;
  border-radius: 1.125rem;
  position: relative;
  box-shadow: 0 3px 1.875rem rgba(0, 69, 114, 0.25);
  background-color: #fff;
}

.feature-box__num-round {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 4rem;
  height: 4rem;
  color: #fff;
  background-color: #0068B7;
  border-radius: 50%;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-box__ttl {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  border-bottom: 2px dotted rgba(117, 117, 117, 0.5);
  margin-bottom: 1rem;
}

.feature-box__ttl-strong {
  font-size: 1.2em;
}

@media screen and (min-width: 1400px) {
  .feature-box__ttl {
    font-size: 1.25rem;
  }
}
/* チェックのリスト */
.feature-box__list {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.feature-box__list-item {
  font-size: 1.0625rem;
  position: relative;
  padding-left: 1.7222222222em;
  color: #001973;
  line-height: 1.2222222222;
}

.feature-box__list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.2222222222em;
  height: 1.2222222222em;
  background-color: #001973;
  border-radius: 50%;
}

.feature-box__list-item::after {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0.35em;
  width: 0.5555555556em;
  height: 0.4444444444em;
  background-color: #fff;
  mask: url(../images/icon/icon_check.svg) no-repeat center center/contain;
}

.feature-box__list-item:not(:last-child) {
  margin-bottom: 0.6666666667em;
}

@media screen and (min-width: 992px) {
  .feature-box__list-item {
    font-size: 1.125rem;
  }
}
/* //チェックのリスト */
/* //FEATURES */
/* 教科書・教材媒体 */
.medium-box {
  padding: 1.5rem;
  border-radius: 1.875rem;
  background-color: #fff;
}

.medium-box:not(:last-of-type) {
  margin-bottom: 1.875rem;
}

.medium-box__inner {
  max-width: 55.9375rem;
  margin-right: auto;
  margin-left: auto;
}

.medium-box__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0.375rem;
  color: #fff;
  background-color: #0072BC;
  text-align: center;
  border-radius: 0.625rem;
}

@media screen and (min-width: 768px) {
  .medium-box {
    padding: 1.875rem;
  }
}
@media screen and (min-width: 992px) {
  .medium-box {
    padding: 4.375rem;
  }
  .medium-box:not(:last-of-type) {
    margin-bottom: 3.75rem;
  }
  .medium-box__ttl {
    font-size: 1.75rem;
  }
}
/* リスト */
.medium-box__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.5625rem;
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.medium-box__list-item {
  width: 100%;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.medium-box__list-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.1875rem;
  position: relative;
}

.medium-box__list-ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1.8125rem;
  height: 1.8125rem;
  background: url("../images/icon/icon-check-round.svg") no-repeat center center/contain;
}

.medium-box__list-ttl, .medium-box__list-contents {
  padding-left: 2.5rem;
}

@media screen and (min-width: 768px) {
  .medium-box__list-item:nth-child(odd) {
    width: 53%;
  }
  .medium-box__list-item:nth-child(even) {
    width: 47%;
  }
}
@media screen and (min-width: 992px) {
  .medium-box__list-ttl {
    font-size: 1.5rem;
  }
}
/* //リスト */
/* //教科書・教材媒体 */
/* サービスのながれ */
.digital-texts-flow {
  padding: 2.8125rem 1.5rem;
  background-color: #F8F8F8;
  border-radius: 1.875rem;
}

.digital-texts-flow__head {
  max-width: 44.625rem;
}

.digital-texts-flow__body {
  max-width: 55.9375rem;
}

@media screen and (min-width: 992px) {
  .digital-texts-flow {
    padding: 5rem;
  }
}
/* //サービスのながれ */
/* 利用者の声 */
.service-voice__card {
  display: flex;
  align-items: center;
}

.service-voice__icon-avatar-wrap {
  width: 5rem;
}

.service-voice__icon-avatar {
  border-radius: 50%;
}

.service-voice__text {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  width: calc(100% - 5rem);
  padding-left: 1.375rem;
}

.service-voice__text-strong {
  font-size: 1.3333333333em;
}

@media screen and (min-width: 992px) {
  .service-voice__icon-avatar-wrap {
    width: 6.25rem;
  }
  .service-voice__text {
    width: calc(100% - 6.25rem);
  }
}
/* //利用者の声 */
/* 教科書DBとEDX UniTextのFV */
.fv-img-shadow-blue {
  filter: drop-shadow(0 0.6875rem 1.875rem rgba(0, 69, 114, 0.25));
}

.fv-img-shadow-gray {
  filter: drop-shadow(0 0.6875rem 1.875rem rgba(41, 46, 62, 0.4));
}

/* EDX UniTextの画像 */
.edx-unitext-fv-img {
  position: relative;
  padding: 12vw 0 0;
}

.edx-unitext-fv-img__num {
  position: absolute;
  top: 0;
  right: 7%;
  max-width: 163px;
  width: 26%;
}

@media screen and (min-width: 576px) {
  .edx-unitext-fv-img {
    padding: 5rem 0 1.5625rem;
  }
}
@media screen and (min-width: 768px) {
  .edx-unitext-fv-img {
    padding: 5rem 0;
  }
}
/* //EDX UniTextの画像 */
/* 4つ要素 */
.fv-feature-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.25rem;
  margin-left: -0.25rem;
  row-gap: 0.5rem;
}

.fv-feature-list__item {
  width: 50%;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}

.fv-feature-list__inner {
  padding: 2.625rem 0.3125rem 0.625rem;
  box-shadow: 0 0.23125rem 2.3125rem rgba(0, 25, 115, 0.15);
  border-radius: 0.5rem;
  background-color: #fff;
  height: 100%;
  position: relative;
  white-space: nowrap;
}

.fv-feature-list__inner::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1.75rem;
  height: 1.75rem;
  background: url("../images/icon/icon-check-round.svg") no-repeat center center/contain;
}

.fv-feature-list__text {
  font-weight: 700;
  line-height: 1.4444444444;
  letter-spacing: 0.04em;
  color: #0068B7;
}

@media screen and (min-width: 992px) {
  .fv-feature-list__item {
    width: 25%;
  }
}
@media screen and (min-width: 1400px) {
  .fv-feature-list__text {
    font-size: 1.125rem;
  }
}
/* // */
.num-list-wrap {
  padding: 2.8125rem 0.9375rem 1.125rem;
}

.num-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 825px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  row-gap: 2rem;
}

.num-list__item {
  width: 100%;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

.num-list__icon {
  height: 4.125rem;
  margin-bottom: 0.4rem;
}

.num-list__dt {
  letter-spacing: 0.02em;
  margin-bottom: 0.4rem;
}

.num-list__dd {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.num-list__strong {
  font-size: 2.2857142857em;
  letter-spacing: 0em;
  line-height: 1;
}

@media screen and (min-width: 576px) {
  .num-list__item {
    width: 50%;
  }
}
@media screen and (min-width: 768px) {
  .num-list__item {
    width: 33.33333%;
  }
}
@media screen and (min-width: 992px) {
  .num-list-wrap {
    padding: 3.75rem 1.25rem 1.125rem;
  }
  .num-list__dt {
    font-size: 1.125rem;
  }
  .num-list__dd {
    font-size: 1.3125rem;
  }
}
/* //教科書DBとEDX UniTextのFV */
/* EDX UniTextとは？ */
.feature-box__ttl--edx-unitext {
  height: 7.6875rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* //EDX UniTextとは？ */
/* 教科書選定の課題を解決できます */
.solve__img-wrap {
  text-align: center;
}

.solve__card {
  position: relative;
  z-index: 10;
  margin-top: -1rem;
  height: calc(100% - 192px + 1rem);
  padding: 1.875rem 1.875rem 6.5rem;
  display: block;
  transition: box-shadow 0.3s;
}

.solve__card:hover {
  opacity: 1;
  box-shadow: 0 3px 1.875rem rgba(0, 25, 115, 0.3);
}

.solve__card::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.6875rem;
  background-color: #001973;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
}

.solve__card::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: 3rem;
  width: 0.59375rem;
  height: 0.59375rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.solve__ttl {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.solve__list-item {
  padding-left: 1.8em;
  line-height: 1.4;
  color: #333;
  position: relative;
}

.solve__list-item::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  background: url("../images/icon/icon-check-round.svg") no-repeat center center/contain;
}

.solve__list-item:not(:last-child) {
  margin-bottom: 0.6em;
}

.solve__list-item-strong {
  font-weight: 700;
}

@media screen and (min-width: 992px) {
  .solve__ttl {
    font-size: 2rem;
  }
  .solve__list-item {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1200px), print {
  .solve__list-item {
    font-size: 1.25rem;
  }
}
/* //教科書選定の課題を解決できます */
/* モーダルカード */
.modal-cards__inner {
  height: 100%;
  overflow: hidden;
  transition: box-shadow 0.3s;
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  flex-wrap: wrap;
  position: relative;
}

.modal-cards__inner::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  width: 1.625rem;
  height: 1.625rem;
  background-color: #0068B7;
  mask: url("../images/icon/icon-popup.svg") no-repeat center center/contain;
}

.modal-cards__inner:hover {
  box-shadow: 0 3px 1.875rem rgba(0, 25, 115, 0.3);
}

.modal-cards__thumb-wrap {
  width: 100%;
  padding: 1.25rem;
  background: rgba(0, 115, 201, 0.3);
}

.modal-cards__thumb {
  width: 100%;
}

.modal-cards__text-wrap {
  width: 100%;
  padding: 1.25rem 1.25rem 3.75rem 1.25rem;
  position: relative;
}

.modal-cards__num {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0.9375rem;
  display: flex;
  align-items: center;
  font-family: "Lato", sans-serif;
}

.modal-cards__num-large {
  font-size: 1.714em;
  padding-left: 0.25rem;
}

.modal-cards__ttl {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1rem;
}

@media screen and (min-width: 1200px), print {
  .modal-cards__text-wrap {
    padding: 2rem 2rem 3.75rem 2rem;
  }
  .modal-cards__ttl {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1400px) {
  .modal-cards__ttl {
    font-size: 1.5rem;
  }
}
/* //モーダルカード */
/* モーダル */
.service-modal__box {
  padding: 6rem 1.25rem 1.25rem 1.25rem;
  border-radius: 1.875rem;
  box-shadow: 0 3px 1.875rem rgba(0, 69, 114, 0.25);
}

.service-modal__img-wrap {
  width: 100%;
  border: 2px solid #E5E5E5;
  margin-bottom: 1.5625rem;
}

.service-modal__img {
  width: 100%;
}

.service-modal__num {
  font-weight: 700;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  margin-bottom: 0.25rem;
  font-family: "Lato", sans-serif;
}

.service-modal__num-large {
  font-size: 2.5em;
  padding-left: 0.25rem;
  line-height: 1;
}

.service-modal__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.service-modal__btn-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 3.125rem;
}

.service-modal__btn-col {
  width: 9.375rem;
}

.service-modal__pagination-btn {
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition: opacity 0.3s;
}

.service-modal__pagination-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.1875rem;
  height: 3.1875rem;
  background-color: #001973;
  border-radius: 50%;
}

.service-modal__pagination-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
}

.service-modal__pagination-btn--prev {
  padding-left: 4.1875rem;
}

.service-modal__pagination-btn--next {
  padding-right: 4.1875rem;
}

.service-modal__pagination-btn--prev::before {
  left: 0;
}

.service-modal__pagination-btn--next::before {
  right: 0;
}

.service-modal__btn-col:has(.service-modal__pagination-btn--next) {
  text-align: right;
}

.service-modal__pagination-btn--prev::after {
  left: 1.4rem;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}

.service-modal__pagination-btn--next::after {
  right: 1.4rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

@media (hover: hover) and (pointer: fine) {
  .service-modal__pagination-btn:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 400px) {
  .service-modal__btn-row {
    gap: 25px;
  }
  .service-modal__pagination-btn {
    font-size: 1.125rem;
  }
  .service-modal__pagination-btn--prev {
    padding-left: 4.5rem;
  }
  .service-modal__pagination-btn--next {
    padding-right: 4.5rem;
  }
}
@media screen and (min-width: 992px) {
  .service-modal__box {
    padding: 5rem 3rem 3rem 3rem;
  }
  .service-modal__ttl {
    font-size: 1.5625rem;
  }
  .service-modal__btn-row {
    gap: 6.25rem;
  }
}
/* //モーダル */
/* CTA */
.service-cta {
  background: rgba(15, 200, 242, 0.1);
  position: relative;
  border-radius: 1.25rem;
  padding: 1.5625rem;
  overflow: hidden;
}

.service-cta::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  background: rgba(0, 114, 188, 0.1);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  width: 39.25rem;
  height: calc(100% - 2.0625rem);
}

.service-cta__inner {
  position: relative;
  z-index: 10;
}

.service-cta__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}

.service-cta__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 2rem;
  margin-right: -0.75rem;
  margin-left: -0.75rem;
}

.service-cta__col {
  width: 100%;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  text-align: center;
}

.service-cta__text {
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 0.75rem;
}

@media screen and (min-width: 576px) {
  .service-cta {
    padding: 2rem;
  }
  .service-cta__row {
    flex-wrap: nowrap;
  }
  .service-cta__col {
    width: 50%;
    max-width: 26.125rem;
  }
}
@media screen and (min-width: 992px) {
  .service-cta {
    padding: 2.5rem;
  }
  .service-cta__ttl {
    font-size: 1.75rem;
  }
  .service-cta__row {
    margin-right: -1.5625rem;
    margin-left: -1.5625rem;
  }
  .service-cta__col {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
  .service-cta__text {
    font-size: 1.125rem;
  }
}
/* //CTA */
/* 資料へのリンク */
.documents-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: -0.75rem;
  margin-left: -0.75rem;
  row-gap: 2.5rem;
}

.documents-links__item {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  width: 20.75rem;
  max-width: 100%;
}

.documents-links__thumb-wrap {
  margin-bottom: 1.125rem;
  filter: drop-shadow(0 3px 1.875rem rgba(0, 25, 115, 0.15));
  height: 12.5rem;
}

.documents-links__thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media screen and (min-width: 992px) {
  .documents-links {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
  .documents-links__item {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
  .documents-links__thumb-wrap {
    margin-bottom: 1.5625rem;
  }
}
/* //資料へのリンク */
/* 学修ログ・生成AI×電子教科書の利活用 */
.ai-learning-box {
  padding: 1.25rem;
  background-color: #fff;
  border-radius: 1.875rem;
  padding: 1.25rem;
}

.ai-learning-box__ttl {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.ai-learning-box__solution-ttl {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #0068B7;
  border-radius: 0.625rem;
  padding: 0.6875rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.ai-learning-box__solution-list-item {
  padding-left: 2em;
  line-height: 1.6;
  position: relative;
  letter-spacing: 0.05em;
}

.ai-learning-box__solution-list-item::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0.1666em;
  width: 1.6875rem;
  height: 1.6875rem;
  background: url("../images/icon/icon-check-round.svg") no-repeat center center/contain;
}

.ai-learning-box__solution-list-item:not(:last-child) {
  margin-bottom: 0.5em;
}

.ai-learning-box__solution-card {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  height: 100%;
}

.ai-learning-box__solution-card > * {
  width: 100%;
}

.ai-learning-box__func-thumb {
  text-align: center;
  position: relative;
  z-index: 10;
  padding-top: 1rem;
}

.ai-learning-box__func-box {
  margin-top: -4.875rem;
  padding: 5.1875rem 1.25rem 1.25rem 1.25rem;
  border-radius: 1.625rem;
}

.ai-learning-box__func-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}

.ai-learning-box__func-list-item {
  position: relative;
  letter-spacing: 0.05em;
  line-height: 1.4;
  padding-left: 1.3em;
}

.ai-learning-box__func-list-item:not(:last-child) {
  margin-bottom: 0.5em;
}

.ai-learning-box__func-list-item::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 0.91em;
  height: 0.91em;
  border-radius: 50%;
}

.ai-learning-box__func--student .ai-learning-box__func-box {
  border: 0.8125rem solid rgba(15, 200, 242, 0.1);
}
.ai-learning-box__func--student .ai-learning-box__func-ttl {
  color: #0068B7;
}
.ai-learning-box__func--student .ai-learning-box__func-list-item::before {
  background: rgba(0, 115, 201, 0.3);
}

.ai-learning-box__func--teature .ai-learning-box__func-box {
  border: 0.8125rem solid rgba(215, 239, 237, 0.5);
}
.ai-learning-box__func--teature .ai-learning-box__func-ttl {
  color: #008299;
}
.ai-learning-box__func--teature .ai-learning-box__func-list-item::before {
  background: rgba(0, 130, 153, 0.3);
}

@media screen and (min-width: 1200px), print {
  .ai-learning-box {
    padding: 4.375rem 7rem;
  }
  .ai-learning-box__ttl {
    font-size: 2rem;
  }
  .ai-learning-box__solution-ttl {
    font-size: 1.5rem;
  }
  .ai-learning-box__solution-list-item {
    font-size: 1.25rem;
    padding-left: 2.5em;
  }
  .ai-learning-box__solution-list-item::before {
    left: 0.25em;
  }
  .ai-learning-box__func-box {
    padding: 5.3125rem 1.875rem 1.875rem;
  }
  .ai-learning-box__func-ttl {
    font-size: 1.5rem;
  }
  .ai-learning-box__func-list-item {
    font-size: 1.125rem;
  }
  .ai-learning-box__func-box {
    min-height: 385px;
  }
}
@media screen and (min-width: 1400px) {
  .ai-learning-box__func-box {
    min-height: 1px;
  }
}
@media screen and (min-width: 1800px) {
  .ai-learning-box__func-box {
    padding: 5.3125rem 2.8125rem 4.1875rem;
  }
  .ai-learning-box__func-list-item {
    font-size: 1.25rem;
  }
}
/* //学修ログ・生成AI×電子教科書の利活用 */
/* 利用者の声 */
.edx-voice-box {
  padding: 2rem 1.5rem;
  border-radius: 1.875rem;
}

.edx-voice-box:not(:last-child) {
  margin-bottom: 1.5625rem;
}

.edx-voice-box__inner, .edx-voice-box__card-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 1.5rem;
}

.edx-voice-box__img-caption {
  width: 100%;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 0.5rem;
}

.edx-voice-box__card {
  width: 100%;
}

.edx-voice-box__card-inner {
  padding: 1.25rem;
  box-shadow: 0 3px 1.875rem rgba(0, 69, 114, 0.25);
  background-color: #fff;
  height: 100%;
  border-radius: 1.125rem;
}

.edx-voice-box__img-wrap {
  text-align: center;
}

.edx-voice-box__card-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.edx-voice-box__card-label {
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  width: fit-content;
  margin-right: auto;
  margin-bottom: 0.5rem;
  margin-left: auto;
  border-radius: 100vh;
  letter-spacing: 0.05em;
  padding: 2px 10px;
}

.edx-voice-box__card-list-item {
  line-height: 1.2222222222;
  letter-spacing: 0.05em;
  padding-left: 1.2777em;
  position: relative;
}

.edx-voice-box__card-list-item:not(:last-child) {
  margin-bottom: 0.5em;
}

.edx-voice-box__card-list-item::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 0.88888em;
  height: 0.88888em;
  border-radius: 50%;
}

.edx-voice-box--teature {
  background: rgba(215, 239, 237, 0.5);
}
.edx-voice-box--teature .edx-voice-box__img-caption, .edx-voice-box--teature .edx-voice-box__card-ttl {
  color: #008299;
}
.edx-voice-box--teature .edx-voice-box__card-label {
  background-color: #008299;
}
.edx-voice-box--teature .edx-voice-box__card-list-item::before {
  background: rgba(0, 130, 153, 0.3);
}

.edx-voice-box--student {
  background: rgba(15, 200, 242, 0.1);
}
.edx-voice-box--student .edx-voice-box__img-caption, .edx-voice-box--student .edx-voice-box__card-ttl {
  color: #0072BC;
}
.edx-voice-box--student .edx-voice-box__card-label {
  background-color: #0072BC;
}
.edx-voice-box--student .edx-voice-box__card-list-item::before {
  background: rgba(0, 115, 201, 0.3);
}

@media screen and (min-width: 992px) {
  .edx-voice-box__card-row {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
  }
  .edx-voice-box__card {
    width: 33.333333%;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}
@media screen and (min-width: 1200px), print {
  .edx-voice-box:not(:last-child) {
    margin-bottom: 3rem;
  }
  .edx-voice-box {
    padding: 2.6875rem;
  }
  .edx-voice-box__img-caption {
    font-size: 1.5rem;
  }
  .edx-voice-box__card-inner {
    padding: 2rem;
  }
  .edx-voice-box__card-list-item {
    font-size: 1.125rem;
  }
  .edx-voice-box__card-ttl {
    font-size: 1.5rem;
  }
  .edx-voice-box__card-list-item::before {
    top: 0.2em;
  }
}
@media screen and (min-width: 1400px) {
  .edx-voice-box__inner {
    flex-wrap: nowrap;
    align-items: center;
  }
  .edx-voice-box__img-wrap {
    min-width: 6.0625rem;
    margin-right: 2.5rem;
  }
}
/* //利用者の声 */
/**/
/* // */
/* AIとEDXUniText */
.tech-box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 1.5rem;
  height: 6.125rem;
  border-radius: 0.8125rem;
  position: relative;
  padding: 1rem;
  color: #fff;
  font-weight: 700;
}

.tech-box--ai {
  background-color: #00A0E8;
  margin-bottom: 20px;
}

.tech-box--edx {
  background-color: #0072BC;
}

.tech-box--ai::after {
  content: "";
  position: absolute;
  bottom: -33px;
  left: 50%;
  transform: translateX(-50%);
  width: 2.9375rem;
  height: 2.9375rem;
  background-color: #fff;
  border-radius: 50%;
  z-index: 10;
}

.tech-box--edx::before, .tech-box--edx::after {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  background-color: #00A0E8;
  width: 3px;
  height: 26px;
  z-index: 30;
}

.tech-box--edx::before {
  transform: translateX(-50%) rotate(-45deg);
}

.tech-box--edx::after {
  transform: translateX(-50%) rotate(45deg);
}

.tech-box__ai-text {
  font-size: 1.5rem;
}

.tech-box__edx-logo-img {
  width: 120px;
}

@media screen and (min-width: 768px) {
  .tech-box__edx-text {
    font-size: 1.25rem;
  }
  .tech-box__edx-logo-img {
    width: 11.25rem;
  }
}
@media screen and (min-width: 992px) {
  .tech-box__ai-text {
    font-size: 2.5rem;
  }
  .tech-box__edx-text {
    font-size: 1.8125rem;
  }
}
@media screen and (min-width: 1200px), print {
  .tech-box__edx-logo-img {
    width: 18rem;
  }
}
/* //AIとEDXUniText */
/* FAQ */
.faq-acc {
  box-shadow: 0 3px 1.875rem rgba(0, 25, 115, 0.149);
  border-radius: 1.125rem;
  word-break: break-all;
}

.faq-acc:not(:last-child) {
  margin-bottom: 1.625rem;
}

.faq-acc__btn {
  padding: 1.25rem 2.8125rem 1.25rem 1.25rem;
  width: 100%;
}

.faq-acc__btn::before, .faq-acc__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #0068B7;
}

.faq-acc__btn::before {
  right: 21px;
  width: 2px;
  height: 20px;
  transition: opacity 0.2s;
}

.faq-acc__btn::after {
  right: 12px;
  width: 20px;
  height: 2px;
}

.is-accordion-head--opened .faq-acc__btn::before {
  opacity: 0;
}

.faq-acc__contents {
  padding-right: 2.8125rem;
  padding-bottom: 1.25rem;
  padding-left: 1.25rem;
}

.faq-acc__btn, .faq-acc__contents {
  display: flex;
  position: relative;
}

.faq-acc__btn {
  align-items: baseline;
}

.faq-acc__contents {
  align-items: flex-start;
}

.faq-acc__icon {
  margin-right: 1.25rem;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Figtree", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}

.faq-acc__icon-q {
  color: #fff;
  background-color: #0068B7;
}

.faq-acc__icon-a {
  color: #DB3D23;
  background-color: #fff;
  border: 2px solid #DB3D23;
}

.faq-acc__head-text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.faq-acc__contents-inner {
  font-weight: 500;
  line-height: 2;
  padding-top: 0.5rem;
}

@media screen and (min-width: 992px) {
  .faq-acc__btn {
    padding: 2.0625rem 4.0625rem 2.0625rem 2.8125rem;
  }
  .faq-acc__contents {
    padding-right: 4.0625rem;
    padding-bottom: 2.0625rem;
    padding-left: 2.8125rem;
  }
  .faq-acc__head-text {
    font-size: 1.25rem;
  }
  .faq-acc__btn::before {
    right: 49px;
  }
  .faq-acc__btn::after {
    right: 40px;
  }
}
/* //FAQ */
/* 使い方へのリンク */
.use-link {
  padding: 2rem;
  border-radius: 1.5625rem;
}

.use-link__text {
  line-height: 1.6;
  margin-bottom: 1rem;
}

@media screen and (min-width: 992px) {
  .use-link {
    padding: 3.125rem;
  }
  .use-link__text {
    font-size: 1.25rem;
    margin-bottom: 2rem;
  }
}
/* //使い方へのリンク */
/* オリジナル教科書の流れ */
.flow-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: -0.4375rem;
  margin-left: -0.4375rem;
  row-gap: 1.25rem;
}

.flow-list__item {
  width: 100%;
  padding-right: 0.4375rem;
  padding-left: 0.4375rem;
  display: flex;
  flex-wrap: wrap;
}

.flow-list__item:not(:last-child) .flow-list__ttl {
  clip-path: polygon(0 0, 100% 0%, 100% calc(100% - 15px), 50% 100%, 0 calc(100% - 15px));
}

.flow-list__ttl {
  font-size: 1.125rem;
  font-weight: 500;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  width: 2.375rem;
  color: #fff;
  background-color: #001973;
  text-align: center;
  margin-right: 0.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow-list__box {
  padding: 1.25rem;
  width: calc(100% - 3rem);
  border-radius: 1.25rem;
  background-color: #F8F8F8;
  text-align: center;
}

.flow-list__icon-wrap {
  margin-bottom: 1rem;
}

.flow-list__icon {
  width: auto;
  height: 60px;
}

.flow-list__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
}

@media screen and (min-width: 768px) {
  .flow-list__item {
    width: 33.33333%;
    display: block;
  }
  .flow-list__item:not(:last-child) .flow-list__ttl {
    clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 50%, calc(100% - 15px) 100%, 0 100%);
  }
  .flow-list__ttl {
    font-size: 1.25rem;
    writing-mode: horizontal-tb;
    width: 100%;
    height: 2.375rem;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .flow-list__box {
    width: 100%;
    height: calc(100% - 3.375rem);
  }
}
/* //オリジナル教科書の流れ *//*# sourceMappingURL=style-service-child.css.map */