/* heading
---------------------------------------------------- */
.index .heading .heading__en {
  font-size: 5.625rem;
}

/* mv
---------------------------------------------------- */
.mv {
  padding-top: 80px;
  width: 100%;
  position: sticky;
  top: 0;
}
@media (max-width: 991.98px) {
  .mv {
    height: 100vh;
  }
}
@media (max-width: 575.98px) {
  .mv {
    padding-top: 60px;
    height: 100vh;
  }
}
.mv .mv__inner .mv__img {
  height: 33.5vw;
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__img {
    height: 60vh;
  }
}
@media (max-width: 575.98px) {
  .mv .mv__inner .mv__img {
    height: 55vh;
  }
}
.mv .mv__inner .mv__img img {
  height: 33.5vw;
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__img img {
    height: 60vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (max-width: 575.98px) {
  .mv .mv__inner .mv__img img {
    height: 55vh;
  }
}
.mv .mv__inner .mv__line {
  width: 100%;
  height: 0.52vw;
  background: radial-gradient(circle, #cdd4d3 0%, #cdd4d3 12%, #1b1b1b 100%);
}
.mv .mv__inner .mv__bottom .mv__scroll {
  position: relative;
  text-align: left;
}
.mv .mv__inner .mv__bottom .mv__scroll .scroll-text {
  display: inline-block;
  position: absolute;
  top: -85px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  transform: translateX(0);
  left: 45px;
  mix-blend-mode: difference;
}
@media (max-width: 1500px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-text {
    font-size: 12px;
  }
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-text {
    left: auto;
    right: 20px;
  }
}
.mv .mv__inner .mv__bottom .mv__scroll .scroll-bar {
  position: absolute;
  left: 30px;
  transform: translateX(-50%);
  bottom: 1px;
  mix-blend-mode: difference;
  z-index: 2;
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-bar {
    left: auto;
    right: 45px;
  }
}
.mv .mv__inner .mv__bottom .mv__scroll .scroll-bar::after {
  content: "";
  position: absolute;
  top: -85px;
  left: 0;
  width: 1px;
  height: 215px;
  z-index: 2;
  background: white;
}
@media (max-width: 1500px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-bar::after {
    height: 182.75px;
  }
}
@media (max-width: 575.98px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-bar::after {
    height: 139.75px;
  }
}
.mv .mv__inner .mv__bottom .mv__scroll .scroll-bar::before {
  content: "";
  position: absolute;
  top: -85px;
  left: -4px;
  width: 8px;
  height: 32px;
  animation: circlemove 3s ease-in-out infinite, cirlemovehide 3s ease-out infinite;
  background: #fff;
  z-index: 2;
}
@media (max-width: 1500px) {
  .mv .mv__inner .mv__bottom .mv__scroll .scroll-bar::before {
    height: 27.2px;
  }
}
@keyframes circlemove {
  0% {
    top: -85px;
  }
  100% {
    top: 105px;
  }
}
@media (max-width: 1500px) {
  @keyframes circlemove {
    100% {
      top: 80px;
    }
  }
}
@media (max-width: 575.98px) {
  @keyframes circlemove {
    100% {
      top: 40px;
    }
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.mv .mv__inner .mv__bottom .mv__text {
  display: flex;
  width: 100%;
  background-color: #fff;
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__bottom .mv__text {
    display: block;
    padding: 5rem;
  }
}
.mv .mv__inner .mv__bottom .mv__text .mv__heading {
  padding-top: 1.875rem;
  padding-left: 13.54vw;
  padding-bottom: 1.875rem;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.575;
}
@media (max-width: 1500px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__heading {
    padding-left: 9.478vw;
  }
}
@media (max-width: 1399.98px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__heading {
    font-size: 2rem;
  }
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__heading {
    padding: 0 0 3.125rem 0;
    font-size: 3rem;
  }
}
.mv .mv__inner .mv__bottom .mv__text .mv__description {
  position: relative;
  margin-top: 6.25rem;
  margin-bottom: 1.875rem;
  margin-left: auto;
  margin-right: 13.02vw;
  padding-left: 1.25rem;
  border-left: 8px solid rgb(42, 68, 164);
  display: inline;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 1500px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__description {
    margin-top: 5.3125rem;
    margin-right: 6.77vw;
  }
}
@media (max-width: 1399.98px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__description {
    font-size: 0.875rem;
  }
}
@media (max-width: 991.98px) {
  .mv .mv__inner .mv__bottom .mv__text .mv__description {
    margin: 0;
    display: block;
    font-size: 1.5rem;
  }
}

/* who-we-are
---------------------------------------------------- */
.who-we-are {
  padding-top: max(7.5rem, 60px);
  padding-bottom: max(7.5rem, 60px);
}
.who-we-are .heading {
  padding-bottom: max(5rem, 40px);
}
.who-we-are .who-we-are__description {
  padding-bottom: max(5rem, 40px);
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
}
@media (max-width: 575.98px) {
  .who-we-are .who-we-are__description {
    text-align: left;
  }
}
.who-we-are .who-we-are__contents {
  margin-bottom: max(3.75rem, 30px);
  padding: 5rem;
  padding-top: max(5rem, 40px);
  padding-bottom: max(5rem, 40px);
  background-color: rgba(255, 255, 255, 0.7);
}
.who-we-are .who-we-are__contents .who-we-are__item {
  padding-left: 2.1875rem;
  padding-right: 2.1875rem;
}
.who-we-are .who-we-are__contents .who-we-are__item .item__title {
  padding-bottom: 2.5rem;
  display: flex;
  align-items: center;
  font-weight: 500;
}
@media (max-width: 1399.98px) {
  .who-we-are .who-we-are__contents .who-we-are__item .item__title {
    display: block;
    text-align: center;
  }
}
.who-we-are .who-we-are__contents .who-we-are__item .item__title .title__number {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1.25rem;
  width: 3em;
  height: 3em;
  font-size: max(1.125rem, 16px);
  background-color: rgb(229, 236, 249);
}
@media (max-width: 1399.98px) {
  .who-we-are .who-we-are__contents .who-we-are__item .item__title .title__number {
    margin: 0 auto;
    margin-bottom: 1.25rem;
  }
}
.who-we-are .who-we-are__contents .who-we-are__item .item__title .title__text {
  font-size: max(1.5rem, 18px);
}
@media (max-width: 991.98px) {
  .who-we-are .who-we-are__contents .who-we-are__item .item__title .title__text .br-who-we-are {
    display: none;
  }
}
@media (max-width: 575.98px) {
  .who-we-are .who-we-are__contents .who-we-are__item .item__title .title__text .br-who-we-are {
    display: block;
  }
}
@media (max-width: 991.98px) {
  .who-we-are .who-we-are__contents .who-we-are__item .item__description {
    margin-bottom: max(3.75rem, 30px);
    padding-bottom: max(3.75rem, 30px);
    border-bottom: 1px solid #cdced3;
  }
}
.who-we-are .who-we-are__contents .__1,
.who-we-are .who-we-are__contents .__2 {
  border-right: 1px solid #cdced3;
}
@media (max-width: 991.98px) {
  .who-we-are .who-we-are__contents .__1,
  .who-we-are .who-we-are__contents .__2 {
    border-right: none;
  }
}
.who-we-are .who-we-are__contents .__3 {
  padding-right: 0;
}
@media (max-width: 991.98px) {
  .who-we-are .who-we-are__contents .__3 {
    padding-right: 15px;
  }
}
.who-we-are .who-we-are__contents .__3 .title__text {
  letter-spacing: 0.05em;
}
@media (max-width: 991.98px) {
  .who-we-are .who-we-are__contents .__3 .item__description {
    margin-bottom: 0;
    border-bottom: none;
  }
}

/* service
---------------------------------------------------- */
.service {
  padding-bottom: max(10rem, 80px);
}
.service .heading {
  padding-top: max(10rem, 80px);
  padding-bottom: max(5.625rem, 45px);
}
.service .service__contents .service__img .service__img__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .service .service__contents .service__img .service__img__content {
    margin: 0 auto;
    padding-bottom: max(3.75rem, 30px);
    width: 80%;
  }
}
.service .service__contents .service__img .service__img__bg {
  position: absolute;
  left: -20px;
  bottom: -30px;
  width: 95%;
  height: 100%;
  background-color: #b9f0fa;
}
@media (max-width: 767.98px) {
  .service .service__contents .service__img .service__img__bg {
    display: none;
  }
}
.service .service__contents .service__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 7.5rem;
  padding-right: 30px;
}
@media (max-width: 1399.98px) {
  .service .service__contents .service__text {
    padding-left: 3.125rem;
  }
}
@media (max-width: 767.98px) {
  .service .service__contents .service__text {
    padding-left: 30px;
  }
}
.service .service__contents .service__text .service__description {
  padding-bottom: max(3.75rem, 30px);
}
.service .service__contents .service__text .btn-common {
  text-align: left;
}
@media (max-width: 767.98px) {
  .service .service__contents .service__text .btn-common {
    text-align: center;
  }
}

.service.section__bg {
  background-image: url(../images/top_service_bg.jpg);
}

/* solution
---------------------------------------------------- */
.solution {
  background-color: #e9eef4;
}
.solution .heading {
  padding-top: max(10rem, 80px);
  padding-bottom: max(5.625rem, 45px);
}
.solution .solution__contents {
  padding-bottom: max(5rem, 40px);
  padding-left: 15px;
  padding-right: 15px;
}
.solution .solution__contents .solution__item {
  padding-bottom: max(5.625rem, 45px);
}
.solution .solution__contents .solution__item:hover .item__img img {
  transform: scale(1.05);
}
.solution .solution__contents .solution__item .item__img {
  overflow: hidden;
  margin-bottom: max(1.875rem, 20px);
}
.solution .solution__contents .solution__item .item__img img {
  transition: transform 0.4s ease;
}
.solution .solution__contents .solution__item .item__text {
  display: flex;
}
@media (max-width: 1399.98px) {
  .solution .solution__contents .solution__item .item__text {
    display: block;
  }
}
.solution .solution__contents .solution__item .item__text .item__text__left {
  display: flex;
  justify-content: center;
}
@media (max-width: 1399.98px) {
  .solution .solution__contents .solution__item .item__text .item__text__left {
    margin: 0 auto;
    margin-bottom: max(1.875rem, 20px);
  }
}
.solution .solution__contents .solution__item .item__text .item__text__left .item__number {
  padding-right: 1em;
  font-family: "Albert Sans", sans-serif;
  font-weight: 500;
  color: #acc6f5;
}
.solution .solution__contents .solution__item .item__text .item__text__left .item__title {
  line-height: 1.3;
}
.solution .solution__contents .solution__item .item__text .item__text__left .item__title .title__jp {
  font-size: max(1.5rem, 18px);
  font-weight: 700;
}
.solution .solution__contents .solution__item .item__text .item__text__left .item__title .title__en {
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  color: #b3b4b8;
}
.solution .solution__contents .solution__item .item__text .item__btn {
  margin-left: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.solution .solution__contents .solution__item .item__text .item__btn .item__btn__inner {
  padding: 0.3em 2em 0.5em;
  background-color: rgb(42, 68, 164);
  border-radius: 9999px;
  color: #fff;
  transition: all 0.3s ease;
}
.solution .solution__contents .solution__item .item__text .item__btn .item__btn__inner:hover {
  background-color: #202020;
}
.solution .solution__contents .__2 .item__title {
  letter-spacing: 0;
}
@media (max-width: 1399.98px) {
  .solution .solution__contents .__2 .item__title {
    letter-spacing: 0.1em;
  }
}

/* global
---------------------------------------------------- */
.global {
  position: relative;
  z-index: 1;
}
.global .heading {
  position: relative;
  z-index: 2;
  padding-top: max(10rem, 80px);
  padding-bottom: max(7.5rem, 60px);
}
.global .heading .heading__en,
.global .heading .heading__jp {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  color: #fff;
}
.global .global__text {
  position: relative;
  color: #fff;
  z-index: 2;
}
@media (max-width: 991.98px) {
  .global .global__text {
    text-align: center;
  }
}
.global .global__text .global__line {
  margin-bottom: 3.75rem;
  border-top: 4px solid #ccc;
  width: 15.63vw;
}
@media (max-width: 991.98px) {
  .global .global__text .global__line {
    margin: 0 auto max(3.75rem, 30px);
  }
}
.global .global__text .global__title {
  padding-bottom: max(3.75rem, 30px);
  font-size: max(2.5rem, 24px);
  font-weight: 700;
}
.global .global__text .global__description {
  padding-bottom: max(5.625rem, 45px);
}
@media (max-width: 991.98px) {
  .global .global__text .global__description {
    text-align: left;
  }
}
@media (max-width: 991.98px) {
  .global .global__text .global__description .br-global {
    display: none;
  }
}
.global .global__text .btn-common {
  padding-bottom: max(10rem, 80px);
  text-align: left;
}
@media (max-width: 991.98px) {
  .global .global__text .btn-common {
    text-align: center;
  }
}
.global .global__text .btn-common .btn-common__inner {
  background-color: #fff;
  color: rgb(32, 32, 32);
}
.global .global__text .btn-common .btn-common__inner .btn-common__text:before {
  border-color: transparent transparent transparent rgb(32, 32, 32);
}
.global .global__text .btn-common .btn-common__inner:hover {
  background-color: rgb(42, 68, 164);
  color: #fff;
}
.global .global__text .btn-common .btn-common__inner:hover .btn-common__text {
  transition: all 0.3s ease;
}
.global .global__text .btn-common .btn-common__inner:hover .btn-common__text:before {
  transition: all 0.3s ease;
  border-color: transparent transparent transparent #fff;
}
.global .global__bg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
}

.global.section__bg {
  background-image: url(../images/top_global_bg02.jpg);
}

/* join-us
---------------------------------------------------- */
.join-us {
  padding-bottom: max(10rem, 80px);
}
.join-us .heading {
  padding-top: max(10rem, 80px);
  padding-bottom: max(5.625rem, 45px);
}
.join-us .join-us__contents .join-us__img .join-us__img__content {
  position: relative;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .join-us .join-us__contents .join-us__img .join-us__img__content {
    margin: 0 auto;
    padding-bottom: max(3.75rem, 30px);
    width: 80%;
  }
}
.join-us .join-us__contents .join-us__img .join-us__img__bg {
  position: absolute;
  left: -20px;
  bottom: -30px;
  width: 95%;
  height: 100%;
  background-color: #b9f0fa;
}
@media (max-width: 991.98px) {
  .join-us .join-us__contents .join-us__img .join-us__img__bg {
    height: 35.32vw;
    top: 30px;
    bottom: auto;
  }
}
@media (max-width: 767.98px) {
  .join-us .join-us__contents .join-us__img .join-us__img__bg {
    display: none;
  }
}
.join-us .join-us__contents .join-us__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 7.5rem;
}
@media (max-width: 1399.98px) {
  .join-us .join-us__contents .join-us__text {
    padding-left: 3.125rem;
  }
}
@media (max-width: 991.98px) {
  .join-us .join-us__contents .join-us__text {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.join-us .join-us__contents .join-us__text .join-us__description {
  padding-bottom: max(3.75rem, 30px);
}
.join-us .join-us__contents .join-us__text .btn-common {
  text-align: left;
}
@media (max-width: 767.98px) {
  .join-us .join-us__contents .join-us__text .btn-common {
    text-align: center;
  }
}

.join-us.section__bg {
  background-image: url(../images/top_join_bg.jpg);
}

/* contact
---------------------------------------------------- */
.contact {
  padding-bottom: max(7.5rem, 60px);
}
.contact .heading {
  padding-top: max(7.5rem, 60px);
  padding-bottom: max(3.75rem, 30px);
}
.contact .heading .heading__en,
.contact .heading .heading__jp {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  color: #fff;
}
.contact .contact__description {
  padding-bottom: max(3.75rem, 30px);
  text-align: center;
  color: #fff;
}
.contact .contact__description .br-contact {
  display: none;
}
@media (max-width: 575.98px) {
  .contact .contact__description .br-contact {
    display: block;
  }
}
.contact .contact__tel {
  padding: 4.375rem 5.3125rem 4.375rem 12.5rem;
  background-color: #fff;
  text-align: center;
}
@media (max-width: 1399.98px) {
  .contact .contact__tel {
    padding-left: 5.3125rem;
  }
}
@media (max-width: 767.98px) {
  .contact .contact__tel {
    margin-left: 30px;
    margin-right: 30px;
    border-bottom: 1px solid #cdced3;
  }
}
.contact .contact__tel .tel__text {
  padding-bottom: 0.625rem;
}
.contact .contact__tel .tel_number {
  font-family: "Albert Sans", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: rgb(42, 68, 164);
}
@media (max-width: 767.98px) {
  .contact .contact__tel .tel_number {
    font-size: max(2.25rem, 24px);
  }
}
.contact .contact__tel .tel_number a {
  color: rgb(42, 68, 164);
}
.contact .contact__tel .tel_number .fa-phone {
  padding-right: 0.1em;
  font-size: max(1.875rem, 24px);
}
.contact .contact__tel .tel__time {
  font-size: max(0.875rem, 12px);
}
.contact .contact__mail {
  padding: 3.75rem 15.625rem 3.75rem 5.3125rem;
  background-color: #fff;
  text-align: center;
}
@media (max-width: 1399.98px) {
  .contact .contact__mail {
    padding-right: 5.3125rem;
  }
}
@media (max-width: 767.98px) {
  .contact .contact__mail {
    margin-left: 30px;
    margin-right: 30px;
  }
}
.contact .contact__mail .mail__text {
  padding-bottom: 1.875rem;
}
.contact .contact__mail .btn-common {
  font-weight: 500;
}
.contact .contact__divider {
  width: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .contact .contact__divider {
    display: none;
  }
}
.contact .contact__divider .divider-line {
  width: 1px;
  height: 65%;
  background-color: #ccc;
}

.contact.section__bg {
  background-image: url(../images/top_contact_bg.jpg);
}/*# sourceMappingURL=index.css.map */