.mv {
  position: relative;
  padding: 3rem 0 0 12.3rem;
  height: 40.6rem;
  color: #fff;
}
@media (max-width: 768px) {
  .mv {
      position: relative;
      padding: 2rem 0 0 2.4rem;
      height: 28.8rem;
  }
}
.mv__background--1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 86.4rem;
}
@media (max-width: 768px) {
  .mv__background--1 {
      height: 17.5rem;
      width: 100%;
      background: linear-gradient(to bottom right, #0B7AD9, #35BEDE);
  }
}
.mv__background--2 {
  position: absolute;
  top: 5.2rem;
  right: 0;
  width: 79.5rem;
}
@media (max-width: 768px) {
  .mv__background--2 {
      top: 14.7rem;
      width: 36.6rem;
  }
}
.mv__breadcrumb {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .mv__breadcrumb {
      font-size: 1.2rem;
  }
}
.mv__box {
  position: relative;
  margin: 8rem 0 0 0;
  font-weight: 700;
}
@media (max-width: 768px) {
  .mv__box {
      position: relative;
      margin: 2.9rem 0 0 0;
  }
}
.mv__box-subtitle {
  font-family: 'Roboto';
  font-size: 3.4rem;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .mv__box-subtitle {
      font-size: 2rem;
  }
}
.mv__box-title {
  margin: 4.5rem 0 0;
  font-weight: 700;
  font-size: 4rem;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .mv__box-title {
      margin: 1.7rem 0 0;
      font-size: 2.4rem;
  }
}
.box-1 {
  margin: 10.9rem auto 0;
  width: 112rem;
}
@media (max-width: 768px) {
  .box-1 {
      margin: 4.2rem auto 0;
      width: 34.1rem;
  }
}
.box-1__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.box-1__title-icon {
  width: 3.28rem;
}
@media (max-width: 768px) {
  .box-1__title-icon {
      width: 2.2rem;
  }
}
.box-1__title-text {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .box-1__title-text {
      font-size: 2.2rem;
  }
}
.box-1__headline {
  margin: 4.4rem 0 0;
  font-size: 3.2rem;
  letter-spacing: 0.02em;
  line-height: 1.458em;
}
@media (max-width: 768px) {
  .box-1__headline {
      margin: 1.4rem 0 0;
      font-size: 2.4rem;
  }
}
.box-1__text {
  margin: 3rem 0 0;
  line-height: 2em;
}
@media (max-width: 768px) {
  .box-1__text {
      margin: 2rem 0 0;
      font-size: 1.4rem;
  }
}
.box-2 {
  margin: 9rem auto 0;
  padding: 0 0 10.9rem;
  width: 112.1rem;
}
@media (max-width: 768px) {
  .box-2 {
      margin: 5rem auto 0;
      padding: 0 0 6rem;
      width: 34.2rem;
  }
}
.box-2__title {
  font-weight: 700;
  font-size: 3.2rem;
  color: #0075cb;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (max-width: 768px) {
  .box-2__title {
      font-size: 2.4rem;
      text-align: left;
  }
}
.box-2__row {
  display: flex;
}
@media (max-width: 768px) {
  .box-2__row {
      flex-direction: column;
  }
}
.box-2__row--1 {
  margin: 6.9rem 0 0;
  gap: 3.5rem;
}
@media (max-width: 768px) {
  .box-2__row--1 {
      margin: 2.7rem 0 0;
      gap: 3rem;
  }
}
.box-2__row-box--1 {
  width: 35rem;
}
@media (max-width: 768px) {
  .box-2__row-box {
      width: 100% !important;
  }
}
.box-2__row-image {
  width: 100%;
}
.box-2__row-title {
  margin: 2.3rem 0 0;
  color: #0075cb;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.437em;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .box-2__row-title {
      margin: 1.4rem 0 0;
  }
}
.box-2__row-text {
  margin: 1.8rem 0 0;
  line-height: 1.625em;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .box-2__row-text {
      margin: 1.4rem 0 0;
      font-size: 1.4rem;
      line-height: 1.571em;
  }
}
.box-2__link {
  margin: 7rem auto 0;
  padding: 1.4rem 1.5rem 1.4rem 4.3rem;
  width: fit-content;
  border: 1px solid #0075cb;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.box-2__link:hover {
  background: linear-gradient(to bottom right, #0B7AD9, #35BEDE);
}
.box-2__link-text {
  font-weight: 700;
  font-size: 1.4rem;
}
.box-2__link:hover .box-2__link-text {
  color: #fff;
}
.box-2__link-icon {
  width: 1.25rem;
  transform: rotate(-90deg);
}
.box-3 {
  margin: 0 auto;
  width: 112rem;
}
@media (max-width: 768px) {
  .box-3 {
      margin: 4.2rem auto 0;
      width: 100vw;
  }
}
.box-3__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media (max-width: 768px) {
  .box-3__title {
      margin: 0 auto;
      width: 34.2rem;
  }
}
.box-3__title-icon {
  width: 3.28rem;
}
@media (max-width: 768px) {
  .box-3__title-icon {
      width: 2.2rem;
  }
}
.box-3__title-text {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .box-3__title-text {
      font-size: 2.2rem;
  }
}
.box-3__text {
  margin: 2.5rem 0 0;
  line-height: 2em;
}
@media (max-width: 768px) {
  .box-3__text {
      margin: 3rem auto 0;
      width: 34.2rem;
      font-size: 1.4rem;
  }
}
.box-3__text-2 {
  margin: 2rem 0 0;
  font-weight: 700;
}
@media (max-width: 768px) {
  .box-3__text-2 {
      margin: 1.3rem auto 0;
      width: 34.2rem;
      font-size: 1.4rem;
      white-space: nowrap;
  }
}
.box-3__map {
  position: relative;
  overflow: auto;
}
@media (max-width: 768px) {
  .box-3__map {
      width: 100vw;
  }
}
.box-3__map-background {
  width: 100%;
}
@media (max-width: 768px) {
  .box-3__map-background {
      max-width: fit-content;
      width: 83.2rem;
  }
}
.box-3__map-item {
  position: absolute;
  padding: 1.3rem 2.6rem;
  background: #fff;
  display: flex;
  gap: 0.9rem;
  border: 4px solid #ee2c2c;
  border-radius: 50px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: 0.3s all;
}
.box-3__map-item:hover {
  background: #ee2c2c;
  transform: translate(0, -1.5rem);
}
.box-3__map-item:hover .box-3__map-item-text {
  color: #fff;
}
.box-3__map-item:hover .box-3__map-item-icon {
  color: #fff;
}
@media (max-width: 768px) {
  .box-3__map-item {
      padding: 0.9rem 1.9rem;
      gap: 0.7rem;
      border: 3px solid #ee2c2c;
  }
}
.box-3__map-item--yushutsunyuu {
  top: 9.6rem;
  left: 57rem;
}
@media (max-width: 768px) {
  .box-3__map-item--yushutsunyuu {
      top: 6.6rem;
      left: 43.3rem;
  }
}
.box-3__map-item-text {
  color: #ee2c2c;
  font-size: 2.4rem;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .box-3__map-item-text {
      font-size: 1.7rem;
  }
}
.box-3__map-item-icon {
  color: #000;
  font-size: 4rem;
  transform: translate(0,-0.1rem);
}
@media (max-width: 768px) {
  .box-3__map-item-icon {
      font-size: 2.9rem;
  }
}
.box-3__map-item-triangle {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 2rem;
  transform: translateX(-50%);
}
.box-3__map-item--kenkyuu {
  top: 18rem;
  left: 33.2rem;
}
@media (max-width: 768px) {
  .box-3__map-item--kenkyuu {
      top: 13rem;
      left: 25rem;
  }
}
.box-3__map-item--sangyou {
  top: 37.6rem;
  left: 9rem;
}
@media (max-width: 768px) {
  .box-3__map-item--sangyou {
      top: 26.6rem;
      left: 7.2rem;
  }
}
.box-3__map-item--ie {
  top: 29rem;
  left: 43.1rem;
}
@media (max-width: 768px) {
  .box-3__map-item--ie {
      top: 21.4rem;
      left: 32.5rem;
  }
}
.box-3__map-item--tsuushin {
  top: 34.4rem;
  left: 91rem;
}
@media (max-width: 768px) {
  .box-3__map-item--tsuushin {
      top: 23.4rem;
      left: 67.8rem;
  }
}
.box-3__map-item--kokunai {
  top: 52rem;
  left: 20.2rem;
}
@media (max-width: 768px) {
  .box-3__map-item--kokunai {
      top: 38rem;
      left: 15.7rem;
  }
}
.box-3__map-item--jikayousha {
  top: 59.1rem;
  left: 62.8rem;
}
@media (max-width: 768px) {
  .box-3__map-item--jikayousha {
      top: 44.1rem;
      left: 46.9rem;
  }
}
.box-3__map-item--juutaku {
  top: 83.3rem;
  left: 59.3rem;
}
@media (max-width: 768px) {
  .box-3__map-item--juutaku {
      top: 61.1rem;
      left: 44.5rem;
  }
}
.box-3__map-item--smartphone {
  top: 94.8rem;
  left: 20.5rem;
}
@media (max-width: 768px) {
  .box-3__map-item--smartphone {
      top: 71.2rem;
      left: 15.2rem;
  }
}
.box-3__map-item-triangle--upper {
  top: 0;
  transform: translate(-50%, -100%) rotate(180deg);
}
.strength {
  padding: 12rem 0 15.4rem 12.5rem;
  width: 100%;
  background: #e7f2fa;
}
@media (max-width: 768px) {
  .strength {
      padding: 4.6rem 2.4rem 6.9rem 2.4rem;
  }
}
.strength__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.strength__title-icon {
  width: 3.28rem;
}
@media (max-width: 768px) {
  .strength__title-icon {
      width: 2.2rem;
  }
}
.strength__title-text {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .strength__title-text {
      font-size: 2.2rem;
  }
}
.strength__list {
  margin: 6rem 0 0 0;
}
@media (max-width: 768px) {
  .strength__list {
      margin: 4rem 0 0 0;
  }
}
.strength__list-item {
  display: flex;
  gap: 5.7rem;
}
@media (max-width: 768px) {
  .strength__list-item {
      flex-direction: column-reverse;
      gap: 1.6rem;
  }
}
.strength__list-item-column-1 {
  width: 53.9rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4rem;
}
@media (max-width: 768px) {
  .strength__list-item-column-1 {
      width: 100%;
      gap: 1.1rem;
  }
}
.strength__list-item-title {
  color: #0075cb;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.375em;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .strength__list-item-title {
      font-size: 2.4rem;
  }
}
.strength__list-item-text {
  line-height: 1.625;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .strength__list-item-text {
      font-size: 1.4rem;
  }
}
.strength__list-item-column-2 {
  width: 52.4rem;
}
@media (max-width: 768px) {
  .strength__list-item-column-2 {
      width: 100%;
  }
}
.strength__list-item-image {
  width: 100%;
}
.partners {
  margin: 15.4rem auto 11.2rem;
  width: 112rem;
}
@media (max-width: 768px) {
  .partners {
      margin: 5.4rem auto 8rem;
      width: 34.2rem;
  }
}
.partners__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.partners__title-icon {
  width: 3.28rem;
}
@media (max-width: 768px) {
  .partners__title-icon {
      width: 2.2rem;
  }
}
.partners__title-text {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .partners__title-text {
      font-size: 2.4rem;
  }
}
.partners__row {
  margin: 3rem 0 0;
  display: flex;
  gap: 21rem;
}
@media (max-width: 768px) {
  .partners__row {
      margin: 3rem 0 0;
      display: block;
  }
}
.partners__row-column {
  width: 36rem;
}
.partners__row-column-text {
  line-height: 2.1;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .partners__row-column {
      width: 100%;
  }
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 9999;
  display: n;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.4s;
  display: none;
}
.modal-overlay__modal-content {
  position: relative;
  width: 70.1rem;
  max-width: 90%;
  max-height: 90vh;
  padding: 5.7rem;
  background: #fff;
  border: 4px solid #ee2c2c;
  box-shadow: 0 0 20px rgba(0,0,0,0.25);
  overflow: auto;
}
@media (max-width: 768px) {
  .modal-overlay__modal-content {
      padding: 3.1rem 2.6rem;
  }
}
.modal-overlay__close-btn {
  position: absolute;
  top: 1.77rem;
  right: 2rem;
  cursor: pointer;
  background: none;
}
.modal-overlay__img {
  width: 1.85rem;
}
.modal-overlay__modal-title {
  color: #ee2c2c;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .modal-overlay__modal-title {
      font-size: 2rem;
  }
}
.modal-overlay__modal-body {
  margin: 2.4rem 0 0;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0;
}
.modal-overlay__modal-body-text {
  font-size: 2rem;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .modal-overlay__modal-body-text {
      font-size: 1.6rem;
  }
}
.modal-overlay__modal-body-list {
  margin: 0 0 0 1em;
}
@media (max-width: 768px) {
  .modal-overlay__modal-body-list {
      font-size: 1.6rem;
  }
}
.modal-overlay__moda-body-list-item {
  list-style-type: disc;
}