﻿.sub.aboutUs {
  --message-box-border-radius: 80px;
}
.sub.aboutUs .sub__top.aboutUs__top {
  height: 100%;
  aspect-ratio: initial;
  min-height: 659px;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .sub__top.aboutUs__top {
    min-height: 320px;
  }
}
.sub.aboutUs .sub__title--aboutUs {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 211px;
  padding-bottom: 111px;
  padding-inline: min(6.9444444444vw, 100px);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .sub__title--aboutUs {
    padding-top: 67px;
    padding-bottom: 57px;
  }
}
.sub.aboutUs .sub__title--jp {
  font-weight: 400;
  font-size: 46px;
  line-height: 56px;
  color: #262724;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .sub__title--jp {
    font-size: 26px;
    line-height: 19px;
  }
}
.sub.aboutUs .sub__title--red,
.sub.aboutUs .sub__title--blue {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}
.sub.aboutUs .sub__title--red {
  color: #e16b57;
}
.sub.aboutUs .sub__title--blue {
  color: #2495b9;
}
.sub.aboutUs .sub__topText {
  margin-top: 64px;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .sub__topText {
    font-size: 12px;
  }
}
.sub.aboutUs .sub__topText + .sub__topText {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .section__topMessage {
    background-color: #f0f5f9;
  }
}
.sub.aboutUs .topMessage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  background-color: #f0f5f9;
  overflow: hidden;
  border-top-left-radius: var(--message-box-border-radius);
  border-top-right-radius: var(--message-box-border-radius);
  border-bottom-left-radius: var(--message-box-border-radius);
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .topMessage {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-inline: auto;
    max-width: 400px;
    border-top-left-radius: initial;
    border-top-right-radius: initial;
    border-bottom-left-radius: initial;
  }
}
.sub.aboutUs .topMessage__content {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.sub.aboutUs .topMessage__text {
  padding-block: 20px;
  padding-left: 10%;
  font-weight: 400;
  font-size: 24px;
  line-height: 2.8;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .topMessage__text {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .topMessage__text {
    padding-left: 0;
    font-size: 13px;
    line-height: 35px;
    letter-spacing: 0.18em;
  }
}
.sub.aboutUs .topMessage__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 46%;
  height: auto;
  aspect-ratio: 539/723;
  overflow: hidden;
  border-top-left-radius: var(--message-box-border-radius);
  border-top-right-radius: var(--message-box-border-radius);
  border-bottom-left-radius: var(--message-box-border-radius);
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .topMessage__image {
    position: absolute;
    bottom: -143px;
    right: max(0px, 50% - 260px);
    width: 199px;
    height: 196px;
    border-top-left-radius: 50vh;
    border-top-right-radius: 50vh;
    border-bottom-left-radius: 50vh;
  }
}
.sub.aboutUs .section__underTopMessage {
  margin-top: 120px;
}
.sub.aboutUs .underTopMessage {
  padding-block: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .underTopMessage {
    padding-block: 40px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .underTopMessage {
    margin-inline: auto;
    padding-bottom: 0;
    max-width: 400px;
  }
}
.sub.aboutUs .underTopMessage__text--large {
  font-weight: 400;
  font-size: 46px;
  line-height: 1.1;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .underTopMessage__text--large {
    font-size: 32px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .underTopMessage__text--large {
    font-size: 20px;
    line-height: 16px;
  }
}
.sub.aboutUs .underTopMessage__text--small {
  margin-top: 60px;
  font-weight: 400;
  font-size: 24px;
  line-height: 169%;
  text-align: center;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .underTopMessage__text--small {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .underTopMessage__text--small {
    margin-top: 40px;
    font-size: 14px;
    line-height: 204%;
    letter-spacing: 0.24em;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .section__bottomMessage {
    background-color: #f0f5f9;
  }
}
.sub.aboutUs .bottomMessage {
  position: relative;
  padding-block: 60px;
  padding-inline: 5%;
  background-color: #f0f5f9;
  border-top-left-radius: var(--message-box-border-radius);
  border-top-right-radius: var(--message-box-border-radius);
  border-bottom-left-radius: var(--message-box-border-radius);
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-inline: auto;
    padding-inline: 0;
    max-width: 400px;
    background-color: #f0f5f9;
    border-top-left-radius: initial;
    border-top-right-radius: initial;
    border-bottom-left-radius: initial;
  }
}
.sub.aboutUs .bottomMessage::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 100%;
  height: 100%;
  background-color: #b3b9bd;
  border-top-left-radius: var(--message-box-border-radius);
  border-top-right-radius: var(--message-box-border-radius);
  border-bottom-left-radius: var(--message-box-border-radius);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage::before {
    display: none;
  }
}
.sub.aboutUs .bottomMessage__content {
  position: relative;
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 180px;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .bottomMessage__content {
    gap: 110px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-inline: auto;
    max-width: 400px;
    background-color: #f0f5f9;
    border-top-left-radius: initial;
    border-top-right-radius: initial;
    border-bottom-left-radius: initial;
  }
}
.sub.aboutUs .bottomMessage__content::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 15.7272727273%;
  max-width: 173px;
  height: auto;
  aspect-ratio: 1/1;
  background: url("../image/img-blue-cross.svg") no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__content::after {
    display: none;
  }
}
.sub.aboutUs .bottomMessage__contentBox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__contentBox {
    width: 100%;
  }
}
.sub.aboutUs .bottomMessage__title {
  position: relative;
  width: 100%;
  font-weight: 400;
  font-size: 32px;
  line-height: 230%;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-size: 20px;
    text-align: center;
  }
}
.sub.aboutUs .bottomMessage__title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(100% - 590px);
  height: 1px;
  background-color: #262724;
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__title::after {
    width: 104%;
    top: initial;
    bottom: 0;
    right: 50%;
    translate: 50% 0;
  }
}
.sub.aboutUs .bottomMessage__text {
  font-weight: 400;
  font-size: 24px;
  line-height: 230%;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 1024px) {
  .sub.aboutUs .bottomMessage__text {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__text {
    font-size: 14px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .sub.aboutUs .bottomMessage__contentBox:first-of-type {
    margin-bottom: 243px;
    position: relative;
  }
  .sub.aboutUs .bottomMessage__contentBox:first-of-type::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -213px;
    left: 50%;
    translate: -50% 0;
    width: 173px;
    height: auto;
    aspect-ratio: 1/1;
    background: url("../image/img-blue-cross.svg") no-repeat center center/contain;
  }
}
.sub.aboutUs .bottomMessage__contentBox:last-of-type .bottomMessage__text {
  text-align: center;
}

.aboutUs .sub__title--eg,
.aboutUs .sub__title--jp {
  color: #004097;
}
.aboutUs .section__philosophy .section__title--jp,
.aboutUs .section__philosophy .section__title--eg {
  color: #004097;
}
.aboutUs .section__basicPolicy .section__title {
  border-bottom: 1px solid #004097;
}
.aboutUs .section__basicPolicy .section__title::before,
.aboutUs .section__basicPolicy .section__title::after {
  background-color: #004097;
}
.aboutUs .section__basicPolicy .section__title--jp,
.aboutUs .section__basicPolicy .section__title--eg {
  color: #004097;
}
.aboutUs .section__body {
  margin-top: 42px;
  margin-left: 4%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section__body {
    margin-top: 16px;
    margin-left: 2%;
  }
}
.aboutUs .section.section__topMessage {
  margin-top: 22px;
}
.aboutUs .section.section__topMessage .message__text {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 49px;
  letter-spacing: 0.7px;
  color: #262724;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__topMessage .message__text {
    font-size: 14px;
    line-height: 40px;
    letter-spacing: 0.7px;
  }
}
.aboutUs .section.section__topMessage .message__signature {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__topMessage .message__signature {
    margin-top: 41px;
  }
}
.aboutUs .section.section__topMessage .message__position {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1em;
  letter-spacing: 1px;
  color: #262724;
  text-align: center;
}
.aboutUs .section.section__topMessage .message__name {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1em;
  letter-spacing: 1px;
  color: #262724;
  text-align: center;
  margin-top: 11px;
}
.aboutUs .section.section__messages {
  width: 100%;
  height: 100%;
  background-color: #fff3f5;
  margin-top: 100px;
  padding-top: 92px;
  padding-bottom: 84px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages {
    padding-top: 80px;
    padding-bottom: 34px;
  }
}
.aboutUs .section.section__messages::before {
  content: "";
  display: block;
  width: 1920px;
  height: 100%;
  background: url("../picture/img-strengths-bg.jpg") no-repeat center center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages::before {
    width: 768px;
    background: url("../picture/img-strengths-bg.jpg") no-repeat center center/cover;
  }
}
.aboutUs .section.section__messages .decoLine {
  display: block;
  width: 100%;
  height: 24px;
}
.aboutUs .section.section__messages .decoLine::before, .aboutUs .section.section__messages .decoLine::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.aboutUs .section.section__messages .decoLine::before {
  top: 0;
  height: 8px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 200, 205)), to(rgb(255, 177, 140)));
  background: linear-gradient(90deg, rgb(255, 200, 205) 0%, rgb(255, 177, 140) 100%);
}
.aboutUs .section.section__messages .decoLine::after {
  top: 8px;
  height: 16px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 138, 149)), to(rgb(255, 188, 138)));
  background: linear-gradient(90deg, rgb(255, 138, 149) 0%, rgb(255, 188, 138) 100%);
}
.aboutUs .section.section__messages .section__inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.aboutUs .section.section__messages .messages__list {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__list {
    max-width: 640px;
    margin-inline: auto;
  }
}
.aboutUs .section.section__messages .messages__item {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.aboutUs .section.section__messages .messages__item--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.aboutUs .section.section__messages .messages__item + .messages__item {
  margin-top: 55px;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item + .messages__item {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item + .messages__item.messages__item--03 {
    margin-top: 30px;
  }
}
.aboutUs .section.section__messages .messages__item + .messages__item.messages__item--04 {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item + .messages__item.messages__item--04 {
    margin-top: -6px;
  }
}
.aboutUs .section.section__messages .messages__img--wrapper,
.aboutUs .section.section__messages .messages__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 46%;
          flex: 0 0 46%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__img--wrapper,
  .aboutUs .section.section__messages .messages__text {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.aboutUs .section.section__messages .messages__title {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 42px;
  letter-spacing: 1.4px;
  color: #004097;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__title {
    font-size: 21px;
    line-height: 33.6px;
    letter-spacing: 1.05px;
  }
}
.aboutUs .section.section__messages .messages__description {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 22.4px;
  letter-spacing: 0.7px;
  color: #262724;
  padding-left: 5.7%;
  margin-top: 22px;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__description {
    font-size: 14px;
    line-height: 22.4px;
    letter-spacing: 0.7px;
    padding-left: 0;
    margin-top: 18px;
  }
}
.aboutUs .section.section__messages .messages__img {
  position: relative;
}
.aboutUs .section.section__messages .messages__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.aboutUs .section.section__messages .messages__item--01 .messages__img {
  width: 161px;
  height: 140px;
  left: 40%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--01 .messages__img {
    width: 116px;
    height: 101px;
    left: 30%;
    margin-top: 16px;
  }
}
.aboutUs .section.section__messages .messages__item--02 .messages__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 46.8%;
          flex: 0 0 46.8%;
}
.aboutUs .section.section__messages .messages__item--02 .messages__description {
  padding-left: 8.7%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--02 .messages__description {
    padding-left: 0;
  }
}
.aboutUs .section.section__messages .messages__item--02 .messages__img {
  width: 246px;
  height: 117px;
  left: 26%;
  top: 16%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--02 .messages__img {
    width: 177px;
    height: 84px;
    margin-top: 27px;
    top: 0;
    left: 21%;
  }
}
.aboutUs .section.section__messages .messages__item--03 .messages__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 49%;
          flex: 0 0 49%;
}
.aboutUs .section.section__messages .messages__item--03 .messages__title {
  -webkit-transform: translateX(-3%);
          transform: translateX(-3%);
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--03 .messages__title {
    -webkit-transform: initial;
            transform: initial;
  }
}
.aboutUs .section.section__messages .messages__item--03 .messages__description {
  width: 95%;
}
.aboutUs .section.section__messages .messages__item--03 .messages__img {
  width: 156px;
  height: 190px;
  left: 24.5%;
  top: -4%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--03 .messages__img {
    width: 112px;
    height: 137px;
    left: 49.5%;
    margin-top: 4px;
    top: 0;
  }
}
.aboutUs .section.section__messages .messages__item--04 .messages__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 46.5%;
          flex: 0 0 46.5%;
}
.aboutUs .section.section__messages .messages__item--04 .messages__description {
  padding-left: 8.6%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--04 .messages__description {
    padding-left: 0;
  }
}
.aboutUs .section.section__messages .messages__item--04 .messages__img {
  width: 237px;
  height: 165px;
  left: 37.4%;
  top: -12%;
}
@media screen and (max-width: 768px) {
  .aboutUs .section.section__messages .messages__item--04 .messages__img {
    width: 161px;
    height: 126px;
    margin-top: 11px;
    left: 8.4%;
    top: 0;
  }
}

@media screen and (max-width: 1024px) {
  body.windows.firefox .sub.aboutUs .bottomMessage__title {
    font-size: 28px;
  }
}
@media screen and (max-width: 768px) {
  body.windows.firefox .sub.aboutUs .bottomMessage__title {
    font-size: 20px;
  }
}
body.windows.firefox .sub.aboutUs .bottomMessage__title::after {
  width: calc(100% - 676px);
}
@media screen and (max-width: 1024px) {
  body.windows.firefox .sub.aboutUs .bottomMessage__title::after {
    width: calc(100% - 634px);
  }
}
/*# sourceMappingURL=page-about-us.css.map */