@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  color: #666;
  scroll-behavior: smooth;
}

.container {
  width: 100%;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1222px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 100%;
    padding: 0 15px;
  }
}
.container--mx1000 {
  max-width: calc(1000px + 8%);
}

.anchor {
  display: block;
  position: relative;
  top: -80px;
  visibility: hidden;
}
@media screen and (max-width: 1024px) {
  .anchor {
    top: -60px;
  }
}

main {
  overflow-x: hidden;
}

.image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--100 {
  height: 100%;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.header {
  width: 100%;
  height: 110px;
  background-color: #fff;
  border-bottom: 5px solid #dfe4ed;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .header {
    height: 72px;
  }
}
.header.is-active .header__wrapper {
  opacity: 1;
  visibility: visible;
}
.header.is-active .header__hamburger-menu {
  height: 20px;
}
.header.is-active .header__hamburger-menu > span:nth-child(1) {
  -webkit-transform: translate(0, 8px) rotate(45deg);
          transform: translate(0, 8px) rotate(45deg);
}
.header.is-active .header__hamburger-menu > span:nth-child(2) {
  display: none;
}
.header.is-active .header__hamburger-menu > span:nth-child(3) {
  -webkit-transform: translate(0, 0) rotate(-45deg);
          transform: translate(0, 0) rotate(-45deg);
}
.header__container, .header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__container {
  width: 100%;
  height: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header__container > h1 {
  margin: 0;
}
.header__logo {
  width: 371px;
  height: 74px;
  display: inline-block;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 1025px) and (max-width: 1290px) {
  .header__logo {
    width: 200px;
    height: auto;
  }
}
@media screen and (max-width: 1024px) {
  .header__logo {
    width: 229px;
    height: 46px;
  }
}
@media screen and (max-width: 1024px) {
  .header__wrapper {
    width: 100%;
    height: calc(100vh - 72px);
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 72px;
    right: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
.header__wrapper-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 1024px) {
  .header__wrapper-content {
    width: 283px;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background-color: #fff;
    padding: 35px 31px;
    overflow-y: scroll;
    margin-left: auto;
  }
}
.header__wrap {
  gap: 16px 22px;
  margin-bottom: 13px;
}
@media screen and (max-width: 1024px) {
  .header__wrap {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.header__btn {
  width: auto;
  height: 31px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #001847;
  border-bottom: 2px solid #e4e6ef;
  padding: 5px 1px 6px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  gap: 0 8px;
  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;
}
@media screen and (max-width: 1024px) {
  .header__btn {
    width: 100%;
    height: 42px;
    padding-inline: 18px;
    font-size: 1.8rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.header__btn:hover {
  opacity: 0.6;
}
.header__search {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .header__search {
    width: 100%;
  }
}
.header__search::after {
  content: "";
  width: 13px;
  height: 13px;
  background: url("./src/img/icons/search.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: 9px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .header__search::after {
    width: 19px;
    height: 19px;
    right: 13px;
  }
}
.header__search-input {
  width: 152px;
  height: 31px;
  border: 1px solid #999;
  border-radius: 4px;
  font-size: 1.4rem;
  padding: 3px 28px 3px 6px;
}
@media screen and (max-width: 1024px) {
  .header__search-input {
    width: 100%;
    height: 46px;
    font-size: 2rem;
    padding-left: 9px;
  }
}
.header__search-input::-webkit-input-placeholder {
  color: #999;
}
.header__search-input::-moz-placeholder {
  color: #999;
}
.header__search-input:-ms-input-placeholder {
  color: #999;
}
.header__search-input::-ms-input-placeholder {
  color: #999;
}
.header__search-input::placeholder {
  color: #999;
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 21px 10px;
}
@media screen and (max-width: 1024px) {
  .header__nav {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 40px;
  }
}
.header__nav-link {
  font-size: 1.6rem;
  color: #001847;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  border-radius: 5px;
  padding: 4px 8px 5px;
}
@media screen and (min-width: 1025px) and (max-width: 1290px) {
  .header__nav-link {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .header__nav-link {
    width: 100%;
    display: block;
  }
}
.header__nav-link.fs14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 1024px) {
  .header__nav-link.fs14 {
    font-size: 18px;
  }
}
.header__nav-link:hover {
  color: #fff;
  background-color: #4046d5;
}
.header__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 25px;
}
.header__search-btn {
  all: unset;
}
.header__search-btn > img {
  width: 20px;
  height: 20px;
}
.header__hamburger-menu {
  margin-bottom: 2px;
}
.header__hamburger-menu > span {
  width: 26px;
  height: 2px;
  background-color: #333;
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__hamburger-menu > span:not(:last-child) {
  margin-bottom: 6px;
}
.header__hamburger-text {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -2;
  color: #333;
}

.footer {
  background-color: #f5f6fa;
  padding-top: 39px;
}
@media screen and (max-width: 767px) {
  .footer {
    padding-top: 0;
  }
}
.footer__logo {
  width: 268px;
  height: 99px;
  display: block;
  margin: 0 auto 39px;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 183px;
    height: auto;
    margin-bottom: 25px;
    padding-top: 25px;
  }
}
.footer__nav {
  width: 100%;
}
.footer__nav-wrap, .footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer__nav-wrap {
  background-color: #071933;
}
@media screen and (max-width: 1024px) {
  .footer__nav-wrap {
    padding: 30px 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav-wrap {
    padding-block: 40px;
  }
}
.footer__nav-wrap--first {
  min-height: 136px;
  border-bottom: 1px solid #02060d;
}
@media screen and (max-width: 767px) {
  .footer__nav-wrap--first {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer__nav-wrap--sec {
  min-height: 58px;
}
@media screen and (max-width: 767px) {
  .footer__nav-wrap--sec {
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav-wrap--sec .footer__nav-link {
    width: unset;
    display: unset;
    text-align: unset;
  }
}
.footer__nav-list {
  width: 100%;
  max-width: 933px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px 30px;
}
.footer__nav-list--no-mw {
  max-width: unset;
}
.footer__nav-link {
  font-size: 1.6rem;
  color: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .footer__nav-link {
    width: 100%;
    display: block;
    text-align: center;
  }
}
.footer__nav-link:hover {
  opacity: 0.7;
}
.footer__nav-link--deco::after {
  content: "";
  width: 16px;
  height: 17px;
  background: url("./src/img/icons/link.svg") center/cover no-repeat;
  display: inline-block;
  margin-left: 10px;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
.footer__copyright {
  background-color: #040c18;
  padding: 20px 15px 21px;
}
.footer__copyright > p {
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
}

.connect {
  width: 100%;
  background-color: #111987;
  padding: 32px 15px 37px;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .connect {
    padding: 44px 15px 39px;
    margin-top: 57px;
  }
}
.connect--mt0 {
  margin-top: 0;
}
.connect__heading {
  font-size: 2.4rem;
  font-weight: 500;
  color: #fff;
  display: block;
  text-align: center;
}
.connect__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .connect__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
  }
}
.connect__item {
  width: 340px;
  height: 114px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  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;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.connect__item--deco {
  position: relative;
}
.connect__item--deco::before {
  content: "";
  width: 18px;
  height: 19px;
  background: url("./src/img/icons/link.svg") center/cover no-repeat;
  position: absolute;
  top: 7px;
  right: 7px;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .connect__item--deco::before {
    opacity: 1;
  }
}
.connect__item:hover {
  background-color: #fff;
}
.connect__item:hover::before {
  background: url("./src/img/icons/link-blue.svg") center/cover no-repeat;
  opacity: 1;
}
.connect__item:hover .connect__subtitle,
.connect__item:hover .connect__title {
  color: #111987;
}
.connect__subtitle, .connect__title {
  display: block;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.connect__subtitle {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.connect__title {
  font-size: 2.6rem;
}
.connect__title--deco {
  position: relative;
}
.connect__title--deco::before {
  content: "ワンホール";
  font-size: 1.2rem;
  font-weight: 500;
  position: absolute;
  top: -10px;
  left: 32px;
}

.title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 35px;
}
@media screen and (max-width: 1024px) {
  .title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-left: 4px solid #ccc;
    padding: 10px 15px 5px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .title {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 1024px) {
  .title--white {
    border-color: #fff;
  }
}
.title--white .title__en,
.title--white .title__ja {
  color: #fff;
}
.title--white .title__ja {
  border-color: #fff;
}
.title__en {
  font: 700 4rem "Montserrat", sans-serif;
  color: #111986;
  margin-right: 18px;
}
@media screen and (max-width: 1024px) {
  .title__en {
    font-size: 26px;
    line-height: 1em;
    margin: 0 0 8px;
  }
}
.title__ja {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  border-left: 1px solid #ccc;
  padding: 2px 0 2px 18px;
}
@media screen and (max-width: 1024px) {
  .title__ja {
    font-size: 12px;
    border: 0;
    padding: 0;
  }
}

.button__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .button__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.button__link {
  height: 58px;
  border: 1px solid rgba(17, 25, 135, 0.7);
  border-radius: 5px;
  font-size: 2rem;
  font-weight: 500;
  color: #111987;
  padding: 10px 44px 10px 25px;
  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-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button__link {
    width: 303px;
    height: 50px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 16px;
    padding-left: 20px;
  }
}
.button__link::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 20px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button__link::before {
    margin-right: 12px;
  }
}
.button__link--sm {
  height: 48px;
  font-size: 1.6rem;
  padding: 10px 24px 10px 15px;
}
@media screen and (max-width: 767px) {
  .button__link--sm {
    width: 165px;
    margin-left: auto;
  }
}
.button__link--sm::before {
  margin-right: 10px;
}
.button__link--sm:hover {
  padding-inline: 20px 19px !important;
}
.button__link.is-active, .button__link:hover {
  background-color: #111987;
  border-color: #111987;
  color: #fff;
  padding-inline: 30px 39px;
}
.button__link.is-active::before, .button__link:hover::before {
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
}

.article__list {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .article__list {
    margin-bottom: 25px;
  }
}
.article__item, .article__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.article__item {
  color: #111987;
  padding: 13px 20px 16px 23px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .article__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-inline: 0 45px;
  }
}
.article__item--news {
  padding: 22px 54px 22px 22px;
}
@media screen and (max-width: 1024px) {
  .article__item--news {
    padding: 13px 45px 13px 0;
  }
}
.article__item--news .article__date {
  margin-right: 16px;
}
.article__item--news .article__cat-list {
  margin-right: 54px;
}
.article__item--news .article__cat {
  width: 130px;
  letter-spacing: 0.1em;
}
.article__item--news .article__title {
  line-height: 1.7777777778em;
}
@media screen and (max-width: 767px) {
  .article__item--news .article__title {
    font-size: 16px;
  }
}
.article__item::after {
  content: "";
  width: 17px;
  height: 17px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .article__item::after {
    right: 8px;
  }
}
.article__item:hover {
  background-color: rgba(17, 25, 135, 0.03);
}
.article__item:hover::after {
  right: 10px;
}
.article__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.article__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .article__wrap {
    margin-bottom: 14px;
  }
}
.article__wrap--w25 {
  width: 25%;
}
@media screen and (max-width: 1024px) {
  .article__wrap--w25 {
    width: 100%;
  }
}
.article__date--mr16 {
  margin-right: 20px;
}
.article__year {
  font-size: 1.8rem;
  display: inline-block;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .article__year {
    font-size: 14px;
  }
}
.article__year--blue {
  color: #111986;
  margin-right: 23px;
}
.article__day {
  font-size: 1.8rem;
  font-weight: 100;
  line-height: 1em;
  margin-inline: 15px 45px;
}
@media screen and (max-width: 767px) {
  .article__day {
    font-size: 14px;
    font-weight: 200;
    margin-inline: 11px;
  }
}
.article__cat-list {
  margin-right: 24px;
}
@media screen and (max-width: 767px) {
  .article__cat-list {
    margin-right: 0;
  }
}
.article__cat-list--mr54 {
  margin-right: 54px;
}
.article__cat {
  min-width: 92px;
  height: 28px;
  background-color: #ededf5;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  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;
  padding: 2px 10px;
}
.article__cat--w126 {
  width: 126px;
}
.article__cat--blue {
  color: #001847;
}
.article__title {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.2222222222em;
}
@media screen and (max-width: 767px) {
  .article__title {
    line-height: 1.5555555556em;
  }
}
.article__title--w70 {
  width: 70%;
}
@media screen and (max-width: 1024px) {
  .article__title--w70 {
    width: 100%;
  }
}
.article__pdf {
  width: 20px;
  height: 26px;
  margin-left: 24px;
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
}

.banner {
  width: 100%;
  height: 258px;
  background: url("./src/img/banner.svg") center bottom/cover no-repeat;
  margin-block: 110px 90px;
}
@media screen and (max-width: 1024px) {
  .banner {
    margin-top: 67px;
  }
}
@media screen and (max-width: 767px) {
  .banner {
    background: url("./src/img/banner-sp.svg") center bottom/cover no-repeat;
    height: 188px;
    margin-bottom: 60px;
  }
}
.banner__container {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1222px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 66px;
}
@media screen and (max-width: 767px) {
  .banner__container {
    max-width: 100%;
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .banner__container {
    padding-top: 32px;
  }
}
.banner__container--note {
  padding-top: 38px;
}
@media screen and (max-width: 767px) {
  .banner__container--note {
    padding-top: 25px;
  }
}
.banner__title-ja, .banner__title-en {
  color: #f5f6fa;
}
.banner__title-ja {
  font-size: 4rem;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .banner__title-ja {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .banner__title-ja {
    font-size: 22px;
    margin-bottom: 10px;
  }
}
.banner__title-en {
  font: 700 1.6rem "Montserrat", sans-serif;
}
@media screen and (max-width: 767px) {
  .banner__title-en {
    font-size: 12px;
  }
}
.banner__subtext {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .banner__subtext {
    font-size: 14px;
  }
}
.banner__note {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .banner__note {
    font-size: 10px;
    margin-bottom: 4px;
  }
}

.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: absolute;
  left: 4%;
  top: calc(100% - 10px);
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    left: 15px;
    top: 100%;
  }
}
.breadcrumbs__link, .breadcrumbs__text {
  font-size: 1.4rem;
  font-weight: 500;
  color: #b8b8b8;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .breadcrumbs__link, .breadcrumbs__text {
    font-size: 12px;
  }
}
.breadcrumbs__link::after {
  content: "";
  width: 4px;
  height: 8px;
  background: url("./src/img/icons/caret-sm.svg") center/cover no-repeat;
  display: inline-block;
  margin-inline: 8px;
}

.text,
.item {
  font-size: 1.6rem;
  color: #333;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .text,
  .item {
    line-height: 1.875em;
  }
}

.text--fs18 {
  font-size: 1.8rem;
}
.text--mb80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .text--mb80 {
    margin-bottom: 60px;
  }
}
.text--mb32 {
  margin-bottom: 32px;
}

.list {
  width: calc(100% - 20px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px 0;
  margin-block: 45px 50px;
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
  counter-reset: item;
}
.list--bullet {
  list-style-type: disc;
  gap: 0;
  margin-block: 24px;
}
.list--inner {
  gap: 15px 0;
  margin-block: 15px 0;
}
.list--inner > .item::before {
  font-size: 1.6rem;
}
.list--no-gap {
  margin-block: 24px;
  gap: 0;
}
.list--mt24 {
  margin-top: 24px;
}
.list--g24 {
  gap: 24px 0;
}

.item--num {
  counter-increment: item;
  position: relative;
  padding-left: 22px;
}
.item--num::before {
  content: "（" counter(item) "）";
  font-size: 2rem;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: -22px;
}
@media screen and (max-width: 767px) {
  .item--num::before {
    font-size: 18px;
  }
}
.item--blue::marker {
  font-size: 2rem;
  color: #111986;
}

.item__title {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .item__title {
    font-size: 18px;
  }
}
.item__title--blue {
  color: #111986;
}

.heading {
  font-size: 4rem;
  color: #111986;
  line-height: 1.75em;
  min-height: 48px;
  padding-left: 24px;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .heading {
    font-size: 3.2rem;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .heading {
    font-size: 24px;
    line-height: unset;
    min-height: auto;
    padding: 5px 0 5px 16px;
    margin-bottom: 32px;
  }
}
.heading::before {
  content: "";
  width: 8px;
  height: 75%;
  background-color: #111986;
  position: absolute;
  top: 51%;
  left: 0;
  -webkit-transform: translateY(-49%);
          transform: translateY(-49%);
}
@media screen and (max-width: 767px) {
  .heading::before {
    width: 4px;
  }
}
.heading--fs24 {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.4em;
  min-height: auto;
  padding-left: 12px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .heading--fs24 {
    font-size: 18px;
    line-height: 1.2em;
    margin-bottom: 32px;
  }
}
.heading--fs24::before {
  width: 4px;
}
.heading--fs32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .heading--fs32 {
    font-size: 22px;
    line-height: 1.5em;
    margin-bottom: 20px;
  }
}
.heading--mb32 {
  margin-bottom: 32px;
}

.subheading {
  font-size: 2.4rem;
  font-weight: 900;
  color: #111986;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .subheading {
    font-size: 18px;
    margin-bottom: 24px;
    line-height: 1.6666666667em;
  }
}

.subtext {
  font-size: 1.2rem;
}
.subtext--fs10 {
  font-size: 1rem;
}

.wrap--mb64 {
  margin-bottom: 64px !important;
}
.wrap--mb80 {
  margin-bottom: 80px !important;
}
.wrap:not(:last-child) {
  margin-bottom: 72px;
}
.wrap--product {
  margin-bottom: 32px !important;
}
.wrap--product .heading {
  margin-bottom: 32px;
}
.wrap--product .text {
  font-size: 1.8rem;
  font-weight: 900;
}
.wrap__head {
  font-size: 3.2rem;
  color: #111986;
  width: 100%;
  border-bottom: 1px solid #111986;
  padding-bottom: 16px;
  margin-bottom: 32px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .wrap__head {
    font-size: 2.4rem;
    margin-bottom: 28px;
  }
}
@media screen and (max-width: 767px) {
  .wrap__head {
    font-size: 20px;
    margin-bottom: 32px;
  }
}
.wrap__head--fs30 {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .wrap__head--fs30 {
    font-size: 20px;
  }
}
.wrap__head--mb56 {
  margin-bottom: 56px;
}

.layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 53px 106px;
}
.layout__main {
  width: calc(100% - 370px);
}
@media screen and (max-width: 1024px) {
  .layout__main {
    width: 100%;
  }
}
.layout__side {
  width: 264px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .layout__side {
    width: 100%;
    height: calc(100vh - 72px);
    background-color: #fff;
    position: fixed;
    top: 72px;
    left: 0;
    opacity: 0;
    visibility: hidden;
    padding-bottom: 100px;
    overflow-y: auto;
    z-index: 8;
  }
}
@media screen and (max-width: 1024px) {
  .layout__side.is-active {
    opacity: 1;
    visibility: visible;
  }
}

.section__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .section__title {
    margin-bottom: 24px;
  }
}
.section__title-en {
  font: 700 4rem "Montserrat", sans-serif;
  color: #111986;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .section__title-en {
    font-size: 30px;
  }
}
.section__title-ja {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  border-left: 1px solid #ccc;
  display: inline-block;
  padding: 1px 0 3px 24px;
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .section__title-ja {
    width: 100%;
    font-size: 14px;
    margin-left: 20px;
    padding: 0 0 0 15px;
  }
}

.category__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 25px;
  border-bottom: 2px solid #e4e6ef;
  margin-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .category__list {
    gap: 0 6px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .category__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.category__list--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.category__link {
  width: auto;
  min-width: 184px;
  height: 58px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #111986;
  letter-spacing: 0.1em;
  border-radius: 5px 5px 0 0;
  border-top: 1px solid #111987;
  border-left: 1px solid #111987;
  border-right: 1px solid #111987;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 1024px) {
  .category__link {
    min-width: unset;
    height: 48px;
    font-size: 14px;
    letter-spacing: 0;
    padding: 5px 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .category__link {
    width: calc(25% - 6px);
  }
}
.category__link:hover, .category__link.is-active {
  color: #fff;
  background-color: #111987;
}

.pagination {
  margin-top: 80px;
  gap: 0 12px;
  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;
}
@media screen and (max-width: 767px) {
  .pagination {
    gap: 0 5px;
  }
}
.pagination .previouspostslink,
.pagination .nextpostslink,
.pagination .page,
.pagination .current,
.pagination .extend {
  height: 40px;
  border-radius: 5px;
  font-size: 1.6rem;
  color: #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 767px) {
  .pagination .previouspostslink,
  .pagination .nextpostslink,
  .pagination .page,
  .pagination .current,
  .pagination .extend {
    height: 35px;
    font-size: 14px;
  }
}
.pagination .previouspostslink,
.pagination .nextpostslink {
  width: 88px;
  font-weight: 500;
  border: 1px solid #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.pagination .previouspostslink:hover,
.pagination .nextpostslink:hover {
  color: #fff;
  background-color: #111986;
}
.pagination .previouspostslink {
  margin-right: 28px;
}
@media screen and (max-width: 767px) {
  .pagination .previouspostslink {
    margin-right: 0;
  }
}
.pagination .previouspostslink::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
  -webkit-transform: translateY(1px) rotate(180deg);
          transform: translateY(1px) rotate(180deg);
  margin-right: 5px;
}
.pagination .previouspostslink:hover::before {
  background: url("./src/img/icons/caret.svg") center/14px no-repeat;
}
.pagination .nextpostslink {
  margin-left: 28px;
}
@media screen and (max-width: 767px) {
  .pagination .nextpostslink {
    margin-left: 0;
  }
}
.pagination .nextpostslink::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
  margin-left: 5px;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.pagination .nextpostslink:hover::after {
  background: url("./src/img/icons/caret.svg") center/14px no-repeat;
}
.pagination .page,
.pagination .current,
.pagination .extend {
  width: 32px;
  font-weight: 700;
  border: none;
}
.pagination .page:hover,
.pagination .current:hover,
.pagination .current {
  color: #fff;
  background-color: #111986;
}

.related__product {
  width: 100%;
  background-color: #f5f8fa;
  padding-block: 64px 80px;
  margin-block: 80px;
}
@media screen and (max-width: 767px) {
  .related__product {
    padding-block: 40px 50px;
    margin-block: 99px 50px;
  }
}
.related__product--my0 {
  margin-block: 0;
}
.related__product--mb0 {
  margin-bottom: 0;
}
.related__product--yudo {
  margin-block: 0;
  padding-top: 0;
}
.related__product-head {
  font-size: 3.2rem;
  font-weight: 700;
  color: #111986;
  display: block;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .related__product-head {
    font-size: 18px;
    margin-bottom: 44px;
  }
}
.related__product-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px 33px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__product-list {
    gap: 30px 4%;
  }
}
@media screen and (max-width: 767px) {
  .related__product-list {
    gap: 24px 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__product-item {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .related__product-item {
    width: calc(50% - 7.5px);
  }
}
.related__product-img {
  width: 100%;
  height: 160px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 16px;
}
@media screen and (max-width: 1024px) {
  .related__product-img {
    height: auto;
    aspect-ratio: 174/107;
    margin-bottom: 10px;
  }
}
.related__product-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  line-height: 1.5em;
  padding-inline: 4px;
}
@media screen and (max-width: 767px) {
  .related__product-title {
    font-size: 14px;
  }
}
.related__media-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .related__media-list {
    gap: 34px 0;
  }
}
.related__media-item {
  width: calc(50% - 16px);
  min-height: 427px;
  display: block;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .related__media-item {
    width: 100%;
    min-height: auto;
  }
}
.related__media-wrapper {
  padding: 23px 26px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .related__media-wrapper {
    padding-block: 26px 16px;
  }
}
.related__media-cat {
  min-width: 80px;
  height: 25px;
  background-color: #fff;
  border: 1px solid #111986;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  position: absolute;
  top: 15px;
  left: 16px;
  padding: 1px 2px;
  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;
}
@media screen and (max-width: 767px) {
  .related__media-cat {
    min-width: 72px;
    height: 22px;
    font-size: 12px;
  }
}
.related__media-img {
  width: 100%;
  max-width: 255px;
  height: auto;
  aspect-ratio: 255/180;
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, 0.16);
          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.16);
  margin: 0 auto 16px;
}
.related__media-subhead {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111986;
  display: block;
  padding-bottom: 8px;
  border-bottom: 1px solid #e4e6ef;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .related__media-subhead {
    font-size: 12px;
    padding-bottom: 4px;
    margin-bottom: 12px;
  }
}
.related__media-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  line-height: 1.7777777778em;
}
@media screen and (max-width: 767px) {
  .related__media-title {
    font-size: 16px;
    line-height: 1.75em;
  }
}
.related__media-target {
  width: 100%;
  height: 82px;
  background-color: #f5f6fa;
  color: #f5f6fa;
  border-top: 1px solid #e4e6ef;
  padding-inline: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .related__media-target {
    padding-block: 10px;
    position: relative;
  }
}
.related__media-target-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 8px;
}
.related__media-target-item {
  height: 29px;
  background-color: #111986;
  border-radius: 5px;
  padding: 4px 12px 5px;
}
.related__media-target-link {
  font-size: 1.4rem;
  background-color: #111986;
  color: #fff;
  display: inline-block;
  padding: 4px 12px 5px 27px;
  border-radius: 5px;
  position: relative;
}
.related__media-target-link::before {
  content: "";
  width: 10px;
  height: 10px;
  background: url("./src/img/icons/caret.svg") center/10px no-repeat;
  position: absolute;
  top: 50%;
  left: 11px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .related__media-target-link::before {
    left: 10px;
  }
}
.related__media-text {
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #666;
  display: block;
}

.nav {
  background-color: #fff;
  border: 1px solid #f5f6fa;
  border-radius: 5px;
}
.nav__toggle {
  width: 64px;
  height: 64px;
  background-color: #666;
  border-bottom: 5px solid #333;
  border-radius: 10px;
  position: fixed;
  right: 15px;
  bottom: 15px;
  padding-top: 6px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  cursor: pointer;
  z-index: 999;
  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;
}
.nav__toggle.is-active .nav__toggle-menu span {
  margin-bottom: 0;
}
.nav__toggle.is-active .nav__toggle-menu span:nth-child(1) {
  -webkit-transform: translate(1px, 6px) rotate(45deg);
          transform: translate(1px, 6px) rotate(45deg);
}
.nav__toggle.is-active .nav__toggle-menu span:nth-child(2) {
  display: none;
}
.nav__toggle.is-active .nav__toggle-menu span:nth-child(3) {
  -webkit-transform: translate(1px, 4px) rotate(-45deg);
          transform: translate(1px, 4px) rotate(-45deg);
}
.nav__toggle-menu {
  width: 26px;
  height: 18px;
  margin-bottom: 5px;
}
.nav__toggle-menu span {
  width: 26px;
  height: 2px;
  background-color: #fff;
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.nav__toggle-menu span:not(:last-child) {
  margin-bottom: 6px;
}
.nav__toggle-text {
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: -20;
}
.nav__wrap.is-active .nav__title::after {
  display: none;
}
.nav__wrap.is-active .nav__list {
  max-height: 800px;
  padding: 8px;
}
.nav__title, .nav__link {
  width: 100%;
  min-height: 57px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f5f6fa;
  border-bottom: 2px solid #e4e6ef;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2em;
  padding: 5px 35px 5px 16px;
  position: relative;
  cursor: pointer;
}
.nav__title--no-border, .nav__link--no-border {
  border-bottom: 0;
}
.nav__title {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.nav__title::before, .nav__title::after {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #111987;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.nav__title::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.nav__title--no-deco::before, .nav__title--no-deco::after {
  display: none;
}
.nav__title:hover, .nav__title.is-active {
  color: #111986;
}
.nav__title.is-active {
  font-weight: 700;
  pointer-events: none;
}
.nav__list {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.nav__list--arrow .nav__item {
  position: relative;
  padding-inline: 30px 0;
}
.nav__list--arrow .nav__item::before {
  content: "";
  width: 6px;
  height: 12px;
  background: url("./src/img/icons/caret-gray.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.nav__list--arrow .nav__item.is-active {
  pointer-events: none;
}
.nav__item {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.7142857143em;
  display: block;
  padding: 8px 7px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.nav__item.is-active {
  font-weight: 700;
}
.nav__item.is-active::before {
  display: none;
}
.nav__item:hover, .nav__item.is-active {
  color: #4046d5;
}
.nav__item:not(:last-child) {
  border-bottom: 1px solid #f5f6fa;
}
.nav__item-highlight {
  font-size: 1.4rem;
  font-weight: 700;
  color: #4046d5;
  line-height: 1.7142857143em;
  display: block;
  padding: 16px 8px 16px 24px;
  border-top: 1px solid #f5f6fa;
  border-bottom: 1px solid #f5f6fa;
}
.nav__buttons {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .nav__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 24px 15px;
    padding-inline: 15px;
  }
}
.nav__btn {
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .nav__btn {
    width: calc(50% - 7.5px);
  }
}
.nav__btn:not(:last-child) {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .nav__btn:not(:last-child) {
    margin-bottom: 0;
  }
}
.nav__btn:hover {
  opacity: 0.8;
}

.table {
  border-collapse: collapse;
}
.table__tr {
  padding: 28px 26px;
  border-bottom: 1px solid #ccc;
}
.table__label {
  width: 152px;
  font-weight: 700;
  color: #111986;
  padding: 23px 10px 24px 26px;
}
@media screen and (max-width: 767px) {
  .table__label {
    width: 110px;
    padding: 10px;
  }
}
.table__info {
  width: calc(100% - 152px);
  color: #333;
  padding: 23px 26px 24px 0;
}
@media screen and (max-width: 767px) {
  .table__info {
    width: calc(100% - 110px);
    padding: 10px 0;
  }
}
.table__label, .table__info {
  font-size: 1.8rem;
  line-height: 2em;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table__label, .table__info {
    font-size: 14px;
  }
}
.table__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
}
@media screen and (max-width: 767px) {
  .table__row {
    gap: 0 10px;
  }
}

.form {
  position: relative;
  color: #333;
}
.form__content {
  padding: 0 4%;
  max-width: calc(800px + 8%);
  width: 100%;
  margin: 0 auto;
}
.form__progress {
  margin: 0 auto 64px;
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: repeat(3, 155px);
  gap: 76.5px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .form__progress {
    grid-template-columns: 88px 125px 88px;
    gap: 25px;
  }
}
.form__progress::before {
  content: "";
  position: absolute;
  top: 32px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 496px;
  height: 1px;
  background: #111986;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .form__progress::before {
    width: 300px;
  }
}
.form__progress-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .form__progress-item {
    gap: 8px;
  }
}
.form__progress-count {
  color: #111986;
  background-color: #fff;
  border: 1px solid #111987;
  border-radius: 5px;
  width: 64px;
  height: 64px;
  padding: 10px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  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;
}
@media screen and (max-width: 767px) {
  .form__progress-count {
    width: 56px;
    height: 56px;
    font-size: 18px;
  }
}
.active .form__progress-count {
  color: #fff;
  background-color: #4046d5;
}
.form__progress-text {
  font-size: 2rem;
  font-weight: 700;
  color: #666;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .form__progress-text {
    font-size: 16px;
  }
}
.active .form__progress-text {
  color: #4046d5 !important;
}
.form__item-wrap {
  position: relative;
  padding-bottom: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .form__item-wrap {
    padding-bottom: 20px;
  }
}
.form__item-wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #111986;
  opacity: 0.1;
}
.form__item-wrap:not(:first-of-type) {
  padding-top: 24px;
}
@media screen and (max-width: 767px) {
  .form__item-wrap:not(:first-of-type) {
    padding-top: 20px;
  }
}
.form__item-wrap--no-border {
  padding-bottom: 0;
}
.form__item-wrap--no-border::after {
  content: none;
}
.form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .form__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.form__item--policy {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
.form__item--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form__label {
  max-width: 220px;
  width: 100%;
  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;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3333333333em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .form__label {
    max-width: 100%;
    font-size: 16px;
  }
}
.form__label--start {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .form__label--start {
    margin-top: 0;
  }
}
.form__label--start-14 {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .form__label--start-14 {
    margin-top: 0;
  }
}
.form__label--center {
  -ms-flex-item-align: center;
      align-self: center;
}
@media screen and (max-width: 767px) {
  .form__label--center {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.form__label--policy {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 24px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .form__label--policy {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.form__label .required {
  width: 44px;
  height: 21px;
  background-color: #e6007d;
  border-radius: 5px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1em;
  padding: 4px 9px 3px;
}
.form__label .required--not {
  background-color: #b8b8b8;
}
.form__input-radio-wrap {
  font-size: 1.8rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .form__input-radio-wrap {
    font-size: 16px;
  }
}
.form__input-radio-wrap .wpcf7-form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.form__input-radio-wrap--row .wpcf7-form-control {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .form__input-radio-wrap--row .wpcf7-form-control {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}
.form__input-radio-wrap:not(:last-of-type) {
  margin-bottom: 16px;
}
.form__input-radio:not(:last-of-type) {
  margin-bottom: 16px;
}
.form__input-wrap {
  width: 100%;
}
.form__input {
  width: 100%;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .form__input {
    font-size: 16px;
  }
}
.form__input input[type=text],
.form__input input[type=email],
.form__input input[type=tel],
.form__input textarea {
  border: 1px solid #e4e6ef;
  background-color: #fff;
  padding: 12px 24px;
  border-radius: 5px;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  color: #333;
  line-height: 2em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form__input input[type=text],
  .form__input input[type=email],
  .form__input input[type=tel],
  .form__input textarea {
    padding: 6px 12px;
    font-size: 16px;
  }
}
.form__input input[type=text]::-webkit-input-placeholder, .form__input input[type=email]::-webkit-input-placeholder, .form__input input[type=tel]::-webkit-input-placeholder, .form__input textarea::-webkit-input-placeholder {
  color: #b8b8b8;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
.form__input input[type=text]::-moz-placeholder, .form__input input[type=email]::-moz-placeholder, .form__input input[type=tel]::-moz-placeholder, .form__input textarea::-moz-placeholder {
  color: #b8b8b8;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
.form__input input[type=text]:-ms-input-placeholder, .form__input input[type=email]:-ms-input-placeholder, .form__input input[type=tel]:-ms-input-placeholder, .form__input textarea:-ms-input-placeholder {
  color: #b8b8b8;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
.form__input input[type=text]::-ms-input-placeholder, .form__input input[type=email]::-ms-input-placeholder, .form__input input[type=tel]::-ms-input-placeholder, .form__input textarea::-ms-input-placeholder {
  color: #b8b8b8;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
.form__input input[type=text]::placeholder,
.form__input input[type=email]::placeholder,
.form__input input[type=tel]::placeholder,
.form__input textarea::placeholder {
  color: #b8b8b8;
  font: 400 1.8rem "Noto Sans JP", sans-serif;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .form__input input[type=text]::-webkit-input-placeholder, .form__input input[type=email]::-webkit-input-placeholder, .form__input input[type=tel]::-webkit-input-placeholder, .form__input textarea::-webkit-input-placeholder {
    font-size: 16px;
  }
  .form__input input[type=text]::-moz-placeholder, .form__input input[type=email]::-moz-placeholder, .form__input input[type=tel]::-moz-placeholder, .form__input textarea::-moz-placeholder {
    font-size: 16px;
  }
  .form__input input[type=text]:-ms-input-placeholder, .form__input input[type=email]:-ms-input-placeholder, .form__input input[type=tel]:-ms-input-placeholder, .form__input textarea:-ms-input-placeholder {
    font-size: 16px;
  }
  .form__input input[type=text]::-ms-input-placeholder, .form__input input[type=email]::-ms-input-placeholder, .form__input input[type=tel]::-ms-input-placeholder, .form__input textarea::-ms-input-placeholder {
    font-size: 16px;
  }
  .form__input input[type=text]::placeholder,
  .form__input input[type=email]::placeholder,
  .form__input input[type=tel]::placeholder,
  .form__input textarea::placeholder {
    font-size: 16px;
  }
}
.form__input input[type=text]:focus,
.form__input input[type=email]:focus,
.form__input input[type=tel]:focus,
.form__input textarea:focus {
  outline: none;
}
.form__input textarea {
  resize: none;
  height: 380px;
}
@media screen and (max-width: 767px) {
  .form__input textarea {
    height: 200px;
  }
}
.form__input:not(:last-of-type) {
  margin-bottom: 6px;
}
.form__input--zip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .form__input--zip {
    gap: 16px;
  }
}
.form__input-zip {
  width: 158px;
  position: relative;
}
.form__input-zip::before {
  content: "〒";
  position: absolute;
  top: 12px;
  left: 24px;
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .form__input-zip::before {
    top: 6px;
    left: 12px;
    font-size: 16px;
  }
}
.form--confirm .form__input-zip::before {
  position: relative;
  top: unset;
  left: unset;
  margin-right: 8px;
}
.form__input-zip input[type=text] {
  padding-left: 54px;
}
@media screen and (max-width: 767px) {
  .form__input-zip input[type=text] {
    padding-left: 45px;
  }
}
.form__input-zip-button {
  border: 1px solid #111987;
  border-radius: 5px;
  background-color: #e4e6ef;
  padding: 5px 11px 6px;
  font-size: 12px;
  font-weight: 500;
  color: #111986;
  line-height: 1.5em;
  cursor: pointer;
}
.form__notes {
  font-size: 1.4rem;
  line-height: 1.5em;
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .form__notes {
    font-size: 12px;
  }
}
.form__policy {
  background: #fff;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 16px;
  max-height: 345px;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .form__policy {
    padding: 12px;
  }
}
.form__policy-item {
  font-size: 16px;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .form__policy-item {
    font-size: 14px;
  }
}
.form__policy-item:not(:last-of-type) {
  margin-bottom: 28px;
}
.form__policy-heading {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .form__policy-heading {
    font-size: 14px;
  }
}
.form__policy-text {
  margin-block: 24px 40px;
  width: 100%;
  font-size: 1.5rem;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .form__policy-text {
    font-size: 14px;
  }
}
.form__checkbox-wrap {
  width: 100%;
}
.form__input-checkbox {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 614px;
}
.form__checkbox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
}
.form__checkbox:not(:last-of-type) {
  margin-bottom: 16px;
}
.form__button-wrap {
  margin-top: 80px;
}
.form__submit-button-wrap {
  width: 200px;
  height: 56px;
  margin: 0 auto;
  display: block;
  background-color: #111986;
  border-radius: 5px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.form__submit-button-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret.svg") no-repeat;
  background-size: contain;
}
.form__submit-button-wrap:hover {
  border: 1px solid #111986;
  background-color: #fff;
  opacity: 0.8;
}
.form__submit-button-wrap:hover::before {
  background: url("./src/img/icons/caret-blue.svg") no-repeat;
}
.form__submit-button-wrap:hover .form__submit-button {
  color: #111986;
}
.form__submit-button {
  cursor: pointer;
  width: 200px;
  height: 56px;
  margin: 0 auto;
  display: block;
  padding-left: 24px;
  color: #fff;
  background: transparent;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  border: none;
}
.form__return-button-wrap {
  width: 160px;
  height: 48px;
  margin: 40px auto 0;
  display: block;
  background-color: #fff;
  border: 1px solid #111986;
  border-radius: 5px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  color: #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.form__return-button-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 28px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") no-repeat;
  background-size: contain;
}
.form__return-button-wrap:hover {
  background-color: #111986;
  color: #fff;
  opacity: 0.8;
}
.form__return-button-wrap:hover::before {
  background: url("./src/img/icons/caret.svg") no-repeat;
}
.form__return-button {
  cursor: pointer;
  width: 160px;
  height: 48px;
  margin: 0 auto;
  display: block;
  padding: 12px 28px 12px 48px;
  color: #111986;
  background: transparent;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  border: none;
}
.form__return-button-wrap:hover .form__return-button {
  color: #ffffff;
}

.form__accordion-confirm-heading {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7777777778em;
  color: #b8b8b8;
}
@media screen and (max-width: 767px) {
  .form__accordion-confirm-heading {
    font-size: 16px;
  }
}
.form__accordion-confirm-text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7777777778em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .form__accordion-confirm-text {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .form__complete {
    padding-inline: 15px;
  }
}
.form__complete-heading {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .form__complete-heading {
    margin-bottom: 32px;
  }
}
.form__complete-text {
  font-size: 1.6rem;
  text-align: center;
  line-height: 2em;
}
.form__complete-button {
  width: 200px;
  height: 48px;
  margin: 80px auto 100px;
  display: block;
  background-color: #fff;
  border: 1px solid #111986;
  border-radius: 5px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  color: #111986;
  padding: 10px 28px 10px 73px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.form__complete-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 48px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") no-repeat;
  background-size: contain;
}
.form__complete-button:hover {
  background-color: #111986;
  color: #fff;
}
.form__complete-button:hover::before {
  background: url("./src/img/icons/caret.svg") no-repeat;
}
.form--confirm .contact__container {
  padding-block: 0 100px;
}
.form--confirm .form__input,
.form--confirm .form__input-radio-wrap {
  font-weight: 500;
}
.form--confirm .form__progress-text, .form--complete .form__progress-text {
  color: #b8b8b8;
}

.product-related {
  position: relative;
  padding: 80px 0 100px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .product-related {
    padding: 40px 0 50px;
  }
}
.product-related::before {
  content: "";
  width: 200vw;
  height: 100%;
  background-color: #f5f8fa;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.product-related__title {
  font-size: 2.4rem;
  font-weight: 900;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .product-related__title {
    font-size: 18px;
  }
}
.product-related__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 36px;
  margin-top: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .product-related__list {
    -webkit-column-gap: 18px;
       -moz-column-gap: 18px;
            column-gap: 18px;
  }
}
@media screen and (max-width: 767px) {
  .product-related__list {
    display: block;
  }
}
.product-related__item {
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .product-related__item:not(:last-child) {
    margin-bottom: 24px;
  }
}
.product-related__item:hover {
  opacity: 0.8;
}
.product-related__item-image {
  aspect-ratio: 260/165;
  background-color: #fff;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  margin-bottom: 16px;
  overflow: hidden;
}
.product-related__item-title {
  font-size: 1.8rem;
  line-height: 1.5em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .product-related__item-title {
    font-size: 16px;
  }
}

.media-related {
  padding: 80px 0 100px;
}
@media screen and (max-width: 767px) {
  .media-related {
    padding: 40px 0 50px;
  }
}
.media-related__title {
  font-size: 2.4rem;
  font-weight: 900;
  color: #111986;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .media-related__title {
    font-size: 18px;
  }
}
.media-related__list {
  gap: 50px 31px !important;
  margin-top: 40px;
}
.media-related__item-image {
  max-width: 255px !important;
  aspect-ratio: 255/180 !important;
}

.desc {
  font-size: 3.4rem;
  font-weight: 500;
  color: #666;
  line-height: 1.4705882353em;
}
@media screen and (max-width: 1024px) {
  .desc {
    font-size: 22px;
    line-height: 1.4545454545em;
  }
}
.desc--white {
  color: #fff;
}

.mv {
  width: 100%;
  height: auto;
  position: relative;
  padding-top: 110px;
}
@media screen and (max-width: 1024px) {
  .mv {
    padding-top: 67px;
  }
}
@media screen and (max-width: 767px) {
  .mv__slider {
    height: auto !important;
  }
}
.mv__picture img {
  -o-object-position: top center;
     object-position: top center;
}
.mv__container {
  width: 100%;
  position: absolute;
  top: 48%;
  left: 50%;
  -webkit-transform: translate(-50%, -52%);
          transform: translate(-50%, -52%);
}
.mv__heading, .mv__desc {
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.mv__heading {
  font-size: 5rem;
}
@media screen and (max-width: 767px) {
  .mv__heading {
    font-size: 30px;
  }
}
.mv__desc {
  font-size: 2rem;
  font-weight: 500;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .mv__desc {
    font-size: 16px;
    line-height: 1.5em;
  }
}
.mv__news {
  width: 100%;
  height: 9.313%;
  max-height: 70px;
  font-size: 1.6rem;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  .mv__news {
    height: auto;
    max-height: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background-color: #fff;
    color: #111987;
    position: relative;
    padding: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.35);
  }
}
.mv__news-head {
  width: 151px;
  height: 100%;
  background-color: #111986;
  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;
  margin-right: 33px;
}
@media screen and (max-width: 767px) {
  .mv__news-head {
    width: 91px;
    height: 38px;
    color: #fff;
    margin-right: 0;
  }
}
.mv__news-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .mv__news-content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .mv__news-date {
    width: 91px;
  }
}
.mv__news-title {
  margin-left: 22px;
}
@media screen and (max-width: 767px) {
  .mv__news-title {
    width: calc(100% - 91px);
    margin-left: 0;
  }
}
.mv__news-link {
  margin-left: auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .mv__news-link {
    position: absolute;
    top: 24px;
    right: 15px;
  }
}
.mv__news-link::before {
  content: "";
  width: 15px;
  height: 15px;
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 10px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .mv__news-link::before {
    background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  }
}
.mv__news-link:hover {
  opacity: 0.8;
}

.promise {
  background: url("./src/img/top/promise-bg.jpg") center/cover no-repeat;
  padding-block: 90px 100px;
}
@media screen and (max-width: 767px) {
  .promise {
    background: none;
    padding-block: 50px 0;
  }
}
.promise__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px 41px;
  margin-top: 136px;
}
@media screen and (max-width: 1024px) {
  .promise__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .promise__list {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .promise__list {
    margin-block: 30px;
  }
}
.promise__item {
  width: 380px;
  height: 110px;
  background: -webkit-gradient(linear, left top, right top, from(rgba(17, 25, 134, 0.7)), to(rgba(95, 140, 213, 0.7)));
  background: linear-gradient(90deg, rgba(17, 25, 134, 0.7) 0%, rgba(95, 140, 213, 0.7) 100%);
  -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4);
          box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4);
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  position: relative;
  padding: 10px 25px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .promise__item {
    width: 360px;
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  .promise__item {
    width: 100%;
    height: 72px;
    font-size: 20px;
  }
}
.promise__item::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .promise__item::before {
    margin-right: 14px;
  }
}
.promise__item:hover {
  background: -webkit-gradient(linear, left top, right top, from(rgb(17, 25, 134)), to(rgb(95, 140, 213)));
  background: linear-gradient(90deg, rgb(17, 25, 134) 0%, rgb(95, 140, 213) 100%);
  padding-left: 50px;
}
.promise__img {
  width: 100%;
  height: 169px;
}

.solution {
  background-color: #fff;
  padding-block: 85px 100px;
}
@media screen and (max-width: 767px) {
  .solution {
    padding-block: 50px 45px;
  }
}
.solution__illus-img {
  display: none;
  -webkit-animation: fade-in 0.3s ease;
          animation: fade-in 0.3s ease;
}
.solution__illus-img.is-active {
  display: block;
}
.solution__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 33px 40px;
  margin-block: 57px;
}
@media screen and (max-width: 1024px) {
  .solution__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 20px;
  }
}
.solution__logo {
  width: 530px;
  height: 135px;
}
@media screen and (max-width: 1024px) {
  .solution__logo {
    display: block;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .solution__logo {
    width: 100%;
    max-width: 309px;
    height: auto;
  }
}
.solution__desc {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8095238095em;
  margin-block: 37px;
}
@media screen and (max-width: 1024px) {
  .solution__desc {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .solution__desc {
    font-size: 16px;
    line-height: 1.8125em;
    margin-block: 24px 18px;
  }
}
.solution__data {
  width: 544px;
  height: 106px;
  display: block;
}
@media screen and (max-width: 1024px) {
  .solution__data {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .solution__data {
    width: 297px;
    height: 194px;
  }
}
.solution__btn-list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 18px auto 0;
}
@media screen and (min-width: 1025px) and (max-width: 1330px) {
  .solution__btn-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.solution__blog {
  width: 100%;
  max-width: calc(1222px + 8%);
  padding: 0 4%;
  margin: 60px auto 0;
}
@media screen and (max-width: 767px) {
  .solution__blog {
    padding: 0;
  }
}
.solution__blog-wrap {
  width: 100%;
  position: relative;
  margin-bottom: 30px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution__blog-wrap {
    padding-inline: 15px;
  }
}
.solution__blog-wrap::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #e6007d;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
}
.solution__blog-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 328px;
  height: 52px;
  background-color: #e6007d;
  border-radius: 26px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  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;
}
@media screen and (max-width: 767px) {
  .solution__blog-head {
    min-width: unset;
    margin-inline: auto;
    font-size: 16px;
    padding: 10px 20px;
  }
}
@media screen and (max-width: 767px) {
  .solution__blog-slider {
    margin-bottom: 25px;
  }
}
.solution__blog-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 35px;
}
.solution__blog-item {
  width: 280px;
}
.solution__blog-item:hover .solution__blog-img > img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.solution__blog-item:hover .solution__blog-title {
  color: #111986;
}
.solution__blog-img {
  width: 100%;
  height: 140px;
  overflow: hidden;
  margin-bottom: 18px;
}
.solution__blog-img > img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.solution__blog-title, .solution__blog-date {
  display: block;
  color: #333;
}
.solution__blog-title {
  font-size: 2rem;
  font-weight: 500;
  color: #333;
  line-height: 1.65em;
  margin-bottom: 10px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.solution__blog-date {
  font-size: 1.4rem;
  font-weight: 500;
}
.solution__blog-link {
  margin-right: 15px;
}

.products {
  background: url("./src/img/top/products-bg.jpg") center/cover no-repeat;
  padding-block: 90px 50px;
}
@media screen and (max-width: 767px) {
  .products {
    background: #071933 url("./src/img/top/products-bg-sp.jpg") top/contain no-repeat;
    padding-top: 60px;
  }
}
.products__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px 30px;
  padding-inline: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .products__list {
    gap: 20px 15px;
  }
}
@media screen and (max-width: 767px) {
  .products__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-inline: 15px;
  }
}
.products__item {
  width: 33.3333333333%;
  max-width: 460px;
  border: 2px solid #fff;
  border-radius: 10px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .products__item {
    width: 100%;
    max-width: auto;
  }
}
.products__item::after {
  content: "";
  width: 22px;
  height: 22px;
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
  position: absolute;
  right: 22px;
  bottom: 15px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .products__item::after {
    bottom: 30px;
  }
}
.products__item:hover {
  background-color: #071933;
}
.products__item:hover .products__img > img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.products__item:hover::after {
  right: 15px;
}
.products__img {
  width: 100%;
  height: 306px;
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .products__img {
    height: 150px;
  }
}
@media screen and (max-width: 767px) {
  .products__img {
    height: 241px;
  }
}
.products__img > img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.products__content {
  padding: 27px 30px 40px;
  color: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .products__content {
    padding: 23px 23px 34px;
  }
}
.products__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5833333333em;
  display: inline-block;
  margin-bottom: 14px;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .products__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .products__title {
    font-size: 18px;
  }
}
.products__desc {
  font-size: 1.6rem;
  line-height: 1.875em;
}

.case {
  padding-block: 90px 45px;
}
.case__wrapper {
  width: 100%;
  max-width: calc(1222px + 8%);
  padding: 0 4%;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .case__wrapper {
    max-width: 100%;
    padding: 0;
  }
}
.case__slider {
  margin-bottom: 27px;
}
@media screen and (max-width: 767px) {
  .case__slider {
    margin-bottom: 64px;
  }
}
.case__list {
  height: 460px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 60px !important;
}
@media screen and (max-width: 1024px) {
  .case__list {
    height: 340px;
    padding-bottom: 0 !important;
  }
}
.case__slide {
  width: 525px;
  height: 325px;
}
@media screen and (max-width: 1024px) {
  .case__slide {
    width: 280px;
    height: auto;
  }
}
.case__slide-content {
  width: 100%;
  height: 100%;
  position: relative;
}
.case__slide-content::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media screen and (max-width: 1024px) {
  .case__slide-content::before {
    display: none;
  }
}
.case__slide-content::after {
  content: "";
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgb(0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 1024px) {
  .case__slide-content::after {
    display: none;
  }
}
.case__cat {
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  line-height: 1em;
  display: inline-block;
  padding: 2px 8px 3px;
  background-color: #fff;
  border: 1px solid #111986;
  position: absolute;
  top: 15px;
  left: 25px;
}
@media screen and (max-width: 767px) {
  .case__cat {
    font-size: 12px;
    top: 12px;
    left: 12px;
  }
}
.case__img {
  aspect-ratio: 640/400;
}
@media screen and (max-width: 1024px) {
  .case__img {
    height: 172px;
    aspect-ratio: unset;
  }
}
.case__content {
  width: 100%;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 25px 18px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .case__content {
    height: 108px;
    background-color: #001847;
    position: relative;
    padding: 13px 13px 15px;
  }
}
.case__head {
  font-size: 2rem;
  margin-bottom: 8px;
}
@media screen and (max-width: 1024px) {
  .case__head {
    font-size: 16px;
    line-height: 1.625em;
  }
}
.case__desc {
  font-size: 1.6rem;
}
@media screen and (max-width: 1024px) {
  .case__desc {
    font-size: 12px;
    line-height: 1.6666666667em;
  }
}
.case__btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .case__btn-wrapper {
    padding-inline: 4%;
  }
}
.case__btn-list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .case__btn-list {
    display: none;
  }
}
.case__btn-list.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.case__btn-toggle::before {
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  margin-right: 0;
}
.case__btn-toggle.active::before {
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
@media screen and (max-width: 767px) {
  .case__btn-toggle, .case__btn-link {
    width: 303px;
    height: 48px;
    margin-inline: auto;
  }
}

.business {
  padding-block: 45px 50px;
}
@media screen and (max-width: 767px) {
  .business {
    padding-top: 32px;
  }
}
.business__banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding-inline: 50px;
}
@media screen and (max-width: 767px) {
  .business__banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-inline: 15px;
  }
}
.business__banner-item {
  width: 100%;
  max-width: 710px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .business__banner-item {
    max-width: 363px;
  }
}
.business__banner-item:hover {
  opacity: 0.7;
}

.about {
  background: url("./src/img/top/about-bg.jpg") center/cover no-repeat;
  padding-block: 90px 100px;
}
@media screen and (max-width: 767px) {
  .about {
    background: url("./src/img/top/about-bg-sp.jpg") bottom center/cover no-repeat;
    padding-block: 54px 184px;
  }
}
.about__btn-list {
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 965px;
  margin-top: 54px;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .about__btn-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 34px;
    gap: 15px 13px;
  }
}
.about__btn-link {
  width: 230px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.7);
  border: 0;
  font-size: 1.6rem;
  font-weight: 400;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 18px;
}
@media screen and (max-width: 767px) {
  .about__btn-link {
    width: calc(50% - 7.5px);
    height: 48px;
    font-size: 15px;
    padding-inline: 13px 8px;
  }
}
.about__btn-link::before {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .about__btn-link::before {
    margin-right: 7px;
  }
}
.about__btn-link:hover {
  padding-left: 25px;
}

.recruit {
  min-height: 484px;
  background: url("./src/img/top/recruit-bg.jpg") center right/cover no-repeat;
  padding-block: 90px 160px;
}
@media screen and (max-width: 767px) {
  .recruit {
    min-height: unset;
    background: none;
    padding-block: 64px 0;
  }
}
.recruit__btn-link {
  width: 230px;
  height: 60px;
  font-size: 1.6rem;
  font-weight: 400;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 18px;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .recruit__btn-link {
    width: 303px;
    height: 48px;
    margin: 46px auto 24px;
  }
}
.recruit__btn-link:hover {
  padding-left: 25px;
}

.related {
  background: url("./src/img/top/related-bg.jpg") center/cover no-repeat;
  padding-block: 90px 100px;
}
@media screen and (max-width: 767px) {
  .related {
    background: none;
    padding-block: 64px 0;
  }
}
.related__list, .related__btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.related__list {
  width: 100%;
  max-width: 770px;
  row-gap: 32px;
}
.related__btn-list {
  width: 100%;
  gap: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__btn-list {
    gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.related__link {
  width: 250px;
  height: 80px;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #111987;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__link {
    width: calc(33.3333333333% - 6px);
  }
}
@media screen and (max-width: 767px) {
  .related__link {
    width: 100%;
    height: 80px;
  }
}
.related__link--full {
  width: 100%;
  height: 104px;
  padding: 10px;
}
.related__link--full .related__logo {
  width: 80px;
  height: 80px;
}
.related__link--full .related__content {
  padding-left: 57px;
}
@media screen and (max-width: 767px) {
  .related__link--full .related__content {
    padding-left: 40px;
  }
}
.related__link--full .related__content::before {
  left: 24px;
}
@media screen and (max-width: 767px) {
  .related__link--full .related__content::before {
    left: 10px;
  }
}
.related__link--full .related__text {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .related__link--full .related__text {
    font-size: 16px;
  }
}
.related__link:hover {
  background-color: #fff;
}
.related__link:hover .related__logo {
  opacity: 0.7;
}
.related__logo {
  width: 80px;
  height: 80px;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .related__logo {
    width: 80px;
    height: 80px;
  }
}
.related__content {
  position: relative;
  padding: 5px 5px 5px 27px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .related__content {
    padding-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .related__content {
    padding-left: 40px;
  }
}
.related__content::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__content::before {
    width: 16px;
    height: 16px;
    left: 2px;
  }
}
@media screen and (max-width: 767px) {
  .related__content::before {
    left: 10px;
  }
}
.related__text {
  font-size: 1.5rem;
  color: #111987;
  line-height: 1.5em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .related__text {
    font-size: 12px;
  }
}
.related__img {
  width: 100%;
  height: auto;
  margin-top: 25px;
}

.news-sec {
  padding-top: 90px;
}
@media screen and (max-width: 767px) {
  .news-sec {
    padding-top: 64px;
  }
}
.news-sec__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 40px;
}
.news-sec__wrap .title {
  margin-bottom: 0;
}

.security__text:not(:last-child) {
  margin-bottom: 25px;
}
.security__details {
  text-align: right;
}

.news__detail {
  margin-bottom: 32px;
}
.news__detail-head {
  font-size: 3.2rem;
  color: #111986;
  line-height: 1.75em;
  padding-bottom: 32px;
  border-bottom: 1px solid #e4e6ef;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .news__detail-head {
    font-size: 18px;
    padding-bottom: 24px;
    margin-bottom: 50px;
  }
}
.news__detail-head h3 {
  position: relative;
  padding-left: 24px;
}
.news__detail-head h3::before {
  content: "";
  width: 8px;
  height: 90%;
  background-color: #111986;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .news__detail-head h3::before {
    height: calc(100% - 24px);
  }
}
.news__detail-title {
  font-size: 2.4rem;
  line-height: 1.5em;
  color: #111986;
  border-bottom: 1px solid #111986;
  padding-bottom: 16px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .news__detail-title {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.news__detail-subwrap {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .news__detail-subwrap {
    margin-top: 28px;
  }
}
.news__detail-subwrap a {
  color: #111986;
  text-decoration: underline;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.news__detail-subwrap a:hover {
  opacity: 0.8;
}
.news__detail-subtitle {
  font-size: 1.8rem;
  color: #111986;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .news__detail-subtitle {
    font-size: 16px;
    margin-bottom: 16px;
  }
}
.news__detail-img {
  display: block;
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  .news__detail-img {
    width: 100%;
    height: auto;
  }
}
.news__pdf-btn {
  width: 251px;
  height: 56px;
  background-color: #111986;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  margin-top: 64px;
  position: relative;
  padding: 5px 24px 5px 55px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .news__pdf-btn {
    margin-inline: auto;
  }
}
.news__pdf-btn::before {
  content: "";
  width: 20px;
  height: 26px;
  background: url("./src/img/icons/pdf-white.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.news__pdf-btn::after {
  content: "";
  width: 14px;
  height: 12px;
  background: url("./src/img/icons/arrow.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.news__pdf-btn:hover {
  opacity: 0.8;
}
.news__pagination {
  border-top: 1px solid #e4e6ef;
  margin-top: 80px;
  padding-top: 40px;
  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;
}
.news__pagination-arrow, .news__pagination-home {
  font-size: 1.6rem;
  font-weight: 500;
  color: #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.news__pagination-arrow {
  width: 88px;
  height: 40px;
  border: 1px solid #111986;
  border-radius: 5px;
  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;
}
.news__pagination-arrow--prev::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
  -webkit-transform: translateY(1px) rotate(180deg);
          transform: translateY(1px) rotate(180deg);
  margin-right: 5px;
}
.news__pagination-arrow--prev:hover {
  background-color: #111986;
  color: #fff;
}
.news__pagination-arrow--prev:hover::before {
  background: url("./src/img/icons/caret.svg") center/14px no-repeat;
}
.news__pagination-arrow--next::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
  margin-left: 5px;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.news__pagination-arrow--next:hover {
  background-color: #111986;
  color: #fff;
}
.news__pagination-arrow--next:hover::after {
  background: url("./src/img/icons/caret.svg") center/14px no-repeat;
}
.news__pagination-home {
  position: relative;
  margin-inline: 100px;
}
@media screen and (max-width: 767px) {
  .news__pagination-home {
    margin-inline: 30px;
  }
}
.news__pagination-home::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
  display: inline-block;
  -webkit-transform: translateY(1px) rotate(180deg);
          transform: translateY(1px) rotate(180deg);
  margin-right: 5px;
}
.news__pagination-home:hover {
  opacity: 0.8;
}

.search__input {
  width: 100%;
  height: 136px;
  background-color: #f5f8fa;
  padding: 40px 49px;
  margin-bottom: 25px;
  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;
}
@media screen and (max-width: 767px) {
  .search__input {
    height: auto;
    padding: 20px;
  }
}
.search__input-field {
  width: calc(100% - 87px);
  height: 56px;
  background-color: #fff;
  border: 1px solid #111986;
  font-size: 16px;
  color: #333;
  border-radius: 5px 0 0 5px;
  padding: 5px 24px;
}
@media screen and (max-width: 767px) {
  .search__input-field {
    width: calc(100% - 50px);
    height: 40px;
    padding-left: 15px;
  }
}
.search__input-field::-webkit-input-placeholder {
  color: #333;
}
.search__input-field::-moz-placeholder {
  color: #333;
}
.search__input-field:-ms-input-placeholder {
  color: #333;
}
.search__input-field::-ms-input-placeholder {
  color: #333;
}
.search__input-field::placeholder {
  color: #333;
}
.search__input-field:focus {
  outline: none;
}
.search__btn {
  width: 87px;
  height: 56px;
  background-color: #111986;
  border-radius: 0 5px 5px 0 !important;
  border: 1px solid #111986;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .search__btn {
    width: 50px;
    height: 40px;
    font-size: 14px;
  }
}
.search__btn:hover {
  opacity: 0.8;
}
.search__result-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .search__result-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.search__result {
  font-size: 1.4rem;
  color: #333;
}
@media screen and (max-width: 767px) {
  .search__result {
    margin-bottom: 40px;
  }
}
.search__result .bold {
  font-weight: 700;
}
.search__result-num {
  display: inline-block;
  margin-left: 24px;
}
@media screen and (max-width: 767px) {
  .search__result-num {
    margin-left: 10px;
  }
}
.search__result-current {
  position: relative;
  margin-right: 20px;
}
.search__result-current::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #b8b8b8;
  position: absolute;
  top: 50%;
  right: -10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.search__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.search__filter-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: right;
}
.search__filter-wrap:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .search__filter-wrap:not(:last-child) {
    margin-bottom: 10px;
  }
}
.search__filter-label {
  font-size: 1.2rem;
  display: inline-block;
  margin-right: 8px;
}
.search__filter-item {
  font-size: 14px;
  color: #4046d5;
  position: relative;
  padding-inline: 6px;
}
.search__filter-item.is-active {
  font-weight: 700;
  color: #333;
}
.search__filter-item:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 20px;
  background-color: #b8b8b8;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.search__result-text {
  font-size: 1.4rem;
  line-height: 2em;
  color: #333;
}
.search__result-text .bold {
  font-weight: 700;
}
.search__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 32px;
}
@media screen and (max-width: 767px) {
  .search__item {
    gap: 0 20px;
  }
}
.search__item:not(:last-child) {
  margin-bottom: 54px;
}
.search__img {
  width: 160px;
  height: 160px;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  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;
}
@media screen and (max-width: 767px) {
  .search__img {
    width: 50px;
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  .search__img img {
    width: 70%;
    height: auto;
  }
}
.search__details {
  width: calc(100% - 192px);
}
@media screen and (max-width: 767px) {
  .search__details {
    width: calc(100% - 70px);
  }
}
.search__title {
  font-size: 2rem;
  font-weight: 500;
  color: #111986;
  line-height: 1.5em;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .search__title {
    font-size: 16px;
    line-height: unset;
  }
}
.search__desc {
  font-size: 1.4rem;
  line-height: 1.7142857143em;
  color: #333;
  margin-bottom: 26px;
}
.search__link {
  font-size: 1.2rem;
  color: #4046d5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.search__link:hover {
  opacity: 7;
}

.product__category-list {
  gap: 0 29px;
}
@media screen and (max-width: 1024px) {
  .product__category-list {
    gap: 0 6px;
  }
}
.product__category-list--mb0 {
  margin-bottom: 0;
}
.product__category-list .category__link {
  width: calc(33.3333333333% - 20px);
  min-width: unset;
  max-width: 264px;
}
@media screen and (max-width: 1024px) {
  .product__category-list .category__link {
    width: calc(33.3333333333% - 4px);
    padding: 5px 0;
  }
}
.product__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px 11px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product__list {
    gap: 30px 4%;
  }
}
@media screen and (max-width: 767px) {
  .product__list {
    gap: 40px 4%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.product__list--others .product__item {
  background-color: #fff;
}
.product__list--others .product__item:nth-child(3) .product__title {
  letter-spacing: -0.1em;
}
.product__item {
  width: 100%;
  max-width: 276px;
  height: 439px;
  background-color: #f5f6fa;
  border-radius: 5px;
  padding: 16px 16px 20px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product__item {
    width: 48%;
    height: auto;
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .product__item {
    height: 409px;
    max-width: 331px;
    padding: 16px 18px 30px;
  }
}
.product__item::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  right: 16px;
  bottom: 16px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.product__item:hover {
  opacity: 0.7;
}
.product__item:hover::after {
  right: 8px;
}
@media screen and (max-width: 767px) {
  .product__item:nth-child(2) .product__title {
    font-size: 22px;
  }
}
.product__img {
  width: 100%;
  height: 154px;
  background-color: #f5f6fa;
  border-radius: 3px;
  -webkit-box-shadow: 5px 5px 20px rgba(17, 64, 134, 0.24);
          box-shadow: 5px 5px 20px rgba(17, 64, 134, 0.24);
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product__img {
    height: auto;
    aspect-ratio: 244/154;
  }
}
@media screen and (max-width: 767px) {
  .product__img {
    width: 244px;
    margin: 0 auto;
  }
}
.product__title {
  font-size: 2.4rem;
  color: #111986;
  line-height: 1.5em;
  text-align: center;
  padding-bottom: 8px;
  margin-block: 16px;
  border-bottom: 1px solid #e4e6ef;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product__title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .product__title {
    font-size: 24px;
  }
}
.product__subtitle {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.3em;
  display: block;
}
.product__desc {
  font-size: 1.6rem;
  line-height: 1.875em;
}
.product__others {
  width: 100%;
  background-color: #f5f6fa;
  padding-block: 64px 100px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .product__others {
    padding: 80px 16px 100px;
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .product__others .product__item {
    height: 389px;
  }
}
.product__heading {
  border-bottom: 1px solid #b8b8b8;
  padding-bottom: 16px;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .product__heading {
    margin-bottom: 53px;
  }
}
.product__logo {
  width: 264px;
  height: 67px;
}
@media screen and (max-width: 767px) {
  .product__logo {
    width: 221px;
    height: 56px;
  }
}
.product__main-bnr {
  width: 100%;
  height: auto;
  margin-bottom: 80px;
}
.product__banner {
  width: 100%;
  height: auto;
  margin-bottom: 83px;
}
@media screen and (max-width: 767px) {
  .product__banner {
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .product__banner--mb16 {
    margin-bottom: 16px;
  }
}
.product__banner--link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: block;
  margin-top : 50px;
}
.product__banner--link:hover {
  opacity: 0.8;
}
.product__anchor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .product__anchor-list {
    gap: 20px;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .product__anchor-list--full-width {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.product__anchor-list--full-width > .product__anchor {
  width: 100%;
  letter-spacing: 0.02em;
  text-align: center;
}
.product__anchor-list--full-width > .product__anchor::before {
  position: absolute;
  top: 15px;
  left: 24px;
}
@media screen and (max-width: 767px) {
  .product__anchor-list--full-width > .product__anchor::before {
    top: 10px;
    left: 12px;
  }
}
.product__anchor {
  height: 48px;
  border: 1px solid #111987;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #111986;
  padding: 11px 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .product__anchor {
    width: calc(50% - 7.5px);
    height: 40px;
    padding: 7px 10px 6px;
  }
}
.product__anchor::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 12px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.product__anchor:hover {
  background: #111987;
  color: #fff;
}
.product__anchor:hover::before {
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
}
.product__wrapper {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .product__wrapper {
    margin-top: 56px;
  }
}
.product__wrap {
  width: 100%;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  margin-top: 16px;
  padding: 15px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .product__wrap {
    padding-inline: 7px;
  }
}
.product__wrap--mh245 {
  min-height: 245px;
}
@media screen and (max-width: 767px) {
  .product__wrap--mh245 {
    min-height: auto;
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .product__wrap--p7 {
    padding: 7px;
  }
}
.product__wrap--p26 {
  padding: 26px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product__wrap--mt0 {
  margin-top: 0;
}
.product__inner-list {
  margin-left: 16px;
}
@media screen and (max-width: 767px) {
  .product__inner-list {
    margin-left: 0;
  }
}
.product__inner-item {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
  position: relative;
  padding-left: 18px;
}
@media screen and (max-width: 767px) {
  .product__inner-item {
    padding-left: 13px;
  }
}
.product__inner-item::before {
  content: "";
  width: 10px;
  height: 4px;
  background-color: #4046d5;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .product__inner-item::before {
    width: 8px;
    top: 12px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.product__inner-item:not(:last-child) {
  margin-bottom: 12px;
}
.product__illustration {
  width: 100%;
  height: auto;
}
.product__illustration--mx210 {
  max-width: 210px;
}
@media screen and (max-width: 1330px) {
  .product__illustration--mx210 {
    max-width: 150px;
    display: block;
    margin: 0 auto 36px;
  }
}
.product__illustration--mx740 {
  max-width: 740px;
}
.product__illustration--mx165 {
  max-width: 165px;
}
@media screen and (max-width: 767px) {
  .product__illustration--mx165 {
    display: block;
    margin: 48px auto 0;
  }
}
.product__inner-row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 18px;
}
@media screen and (max-width: 1024px) {
  .product__inner-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 24px;
    gap: 30px 0;
  }
}
.product__inner-row--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 64px 40px;
  margin-top: 40px;
}
@media screen and (max-width: 1024px) {
  .product__inner-row--wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.product__inner-row--wrap .product__inner-col {
  width: calc(50% - 20px);
}
@media screen and (max-width: 767px) {
  .product__inner-row--wrap .product__inner-col {
    width: 100%;
  }
}
.product__inner-col {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .product__inner-col {
    width: 100%;
  }
}
.product__inner-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #001847;
}
.product__inner-title::before {
  content: "";
  width: 8px;
  height: 4px;
  background-color: #4046d5;
  border-radius: 1px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}
.product__inner-text {
  padding-inline: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .product__inner-text {
    font-size: 14px;
    margin-top: 12px;
  }
}
.product__cta {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 80px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .product__cta {
    margin-top: 56px;
  }
}
.product__cta:hover {
  opacity: 0.8;
}
.product__download {
  width: 100%;
  height: 72px;
  background-color: #4046d5;
  border-bottom: 2px solid #111986;
  border-radius: 5px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.08em;
  margin-bottom: 32px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product__download {
    font-size: 16px;
    height: 64px;
  }
}
@media screen and (max-width: 767px) {
  .product__download {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 10px 25px 10px 66px;
    margin-bottom: 64px;
  }
}
.product__download::before {
  content: "";
  width: 19px;
  height: 26px;
  background: url("./src/img/icons/download-white.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .product__download::before {
    width: 26px;
    height: 32px;
    left: 24px;
  }
}
.product__download::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: 17px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .product__download::after {
    right: 22px;
  }
}
.product__download:hover {
  opacity: 0.8;
}
.product__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product__row:not(:last-child) {
  margin-bottom: 68px;
}
.product__col--mw578 {
  width: 100%;
  max-width: 578px;
}
@media screen and (max-width: 1330px) {
  .product__col--mw578 {
    max-width: 100%;
  }
}
.product__col--mw644 {
  width: 100%;
  max-width: 644px;
}
@media screen and (max-width: 1330px) {
  .product__col--illus {
    display: none;
  }
}
.product__inner-wrap {
  width: 100%;
}
.product__inner-wrap:not(:last-child) {
  margin-bottom: 66px;
}
@media screen and (max-width: 767px) {
  .product__inner-wrap:not(:last-child) {
    margin-bottom: 64px;
  }
}
.product__btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 17px;
  margin-top: 16px;
}
.product__btn {
  display: inline-block;
  background-color: #111986;
  border-radius: 5px;
  font-size: 1.6rem;
  color: #fff;
  padding: 4px 14px;
  white-space: nowrap;
}
.product__hero-block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
  .product__hero-block {
    display: block;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .product__hero-block {
    display: block;
  }
}
.product__hero-block--image-small {
  grid-template-columns: auto 264px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.product__hero-block--image-small .product__hero-block-item:last-child {
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
  .product__hero-block-item:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .product__hero-block-item:not(:last-child) {
    margin-bottom: 20px;
  }
}
.product__gallery {
  border-top: 1px solid #ccc;
  padding-top: 48px;
  margin-top: 32px;
}
.product__gallery-splide {
  margin: 0 auto 40px;
  border-radius: 5px;
  overflow: hidden;
}
.product__gallery-thumbnails {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .product__gallery-thumbnails {
    max-width: 310px;
  }
}
.product__spec-dl {
  position: relative;
  border-top: 1px solid #111986;
  z-index: 1;
}
.product__spec-dl::before {
  content: "";
  width: 234px;
  height: 100%;
  background: -webkit-gradient(linear, left bottom, right top, from(#e0e9f9), to(#f5f8fa));
  background: linear-gradient(to top right, #e0e9f9, #f5f8fa);
  opacity: 0.4;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .product__spec-dl::before {
    content: none;
  }
}
.product__spec-dl-item {
  display: grid;
  grid-template-columns: 234px auto;
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .product__spec-dl-item {
    display: block;
    padding: 0;
  }
}
.product__spec-dt {
  font-weight: 700;
  color: #111987;
  padding: 0 26px;
}
@media screen and (max-width: 767px) {
  .product__spec-dt {
    padding: 10px 20px;
    background: -webkit-gradient(linear, left bottom, right top, from(#e0e9f9), to(#f5f8fa));
    background: linear-gradient(to top right, #e0e9f9, #f5f8fa);
  }
}
.product__spec-dd {
  padding: 0 24px;
  overflow-x: auto;
}
@media screen and (max-width: 767px) {
  .product__spec-dd {
    padding: 10px 20px;
  }
}
.product__overview-item {
  padding-left: 18px;
}
.product__overview-item:not(:last-child) {
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .product__overview-item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.product__overview-item-title {
  position: relative;
  font-size: 2rem;
  line-height: 1.6em;
  color: #111986;
  margin-bottom: 16px;
}
.product__overview-item-title::before {
  content: "";
  width: 10px;
  height: 4px;
  border-radius: 1px;
  background-color: #4046d5;
  position: absolute;
  left: -18px;
  top: 15px;
}
.product__spec-table {
  overflow-x: auto;
}
.product__spec-table-wrap {
  width: 100%;
  min-width: 550px;
  font-size: 1.4rem;
  border-collapse: collapse;
}
.product__spec-table-wrap tr:first-child {
  text-align: center;
  border-top: 1px solid #ccc;
}
.product__spec-table-wrap td {
  width: 50%;
  padding: 10px;
  vertical-align: top;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.product__spec-table-wrap td:first-child {
  width: 100px;
  min-width: 100px !important;
  border-left: 1px solid #ccc;
}
.product__spec-note {
  margin-top: 10px;
  font-size: 1.2rem;
}
.product__free-input {
  margin-top: 20px;
}

.map__tabs {
  margin-bottom: 0;
}
.map__content {
  padding-top: 1cqw;
  width: 100%;
  height: calc(100vh - 110px);
  max-height: 848px;
  overflow: hidden;
  display: grid;
  grid-template: "map" 1fr "btn" auto/1fr;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .map__content {
    padding-top: 40px;
    height: auto;
    gap: 40px;
  }
}
.map__view {
  grid-area: map;
  position: relative;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .map__view {
    width: 100%;
    max-width: 363px;
    margin-inline: auto;
  }
}
.map__view-image {
  width: 100%;
  height: 100%;
  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;
  background: url("./src/img/map/layout.jpg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .map__view-image {
    background-image: url("./src/img/map/layout-sp.jpg");
  }
}
.map__view-image svg {
  width: 100%;
  height: 100%;
}
.map__view-image svg [data-name=highlight],
.map__view-image svg [data-name=underline] {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.map__view-image svg [data-name=highlight],
.map__view-image svg g[id^=label-] {
  cursor: pointer;
}
.map__view-image svg [data-name=arrow] {
  -webkit-transition: stroke 0.3s ease;
  transition: stroke 0.3s ease;
}
.map__view-image svg [data-name=text] {
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.map__view-image svg g[id^=area-]:hover [data-name=highlight],
.map__view-image svg g[id^=area-]:hover [data-name=underline],
.map__view-image svg g[id^=area-].is-hover [data-name=highlight],
.map__view-image svg g[id^=area-].is-hover [data-name=underline],
.map__view-image svg path[id^=highlight-]:hover [data-name=highlight],
.map__view-image svg path[id^=highlight-]:hover [data-name=underline] {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .map__view-image svg g[id^=area-]:hover [data-name=highlight],
  .map__view-image svg g[id^=area-]:hover [data-name=underline],
  .map__view-image svg g[id^=area-].is-hover [data-name=highlight],
  .map__view-image svg g[id^=area-].is-hover [data-name=underline],
  .map__view-image svg path[id^=highlight-]:hover [data-name=highlight],
  .map__view-image svg path[id^=highlight-]:hover [data-name=underline] {
    opacity: 0;
  }
}
.map__view-image svg g[id^=area-]:hover [data-name=arrow],
.map__view-image svg g[id^=area-].is-hover [data-name=arrow],
.map__view-image svg path[id^=highlight-]:hover [data-name=arrow] {
  stroke: #4046d5;
}
.map__view-image svg g[id^=area-]:hover [data-name=text],
.map__view-image svg g[id^=area-].is-hover [data-name=text],
.map__view-image svg path[id^=highlight-]:hover [data-name=text] {
  fill: #4046d5;
}
.map__buttons {
  grid-area: btn;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .map__buttons {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 15px;
  }
}
.map__btn {
  width: 200px;
  height: 48px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #111987;
  border: 1px solid #111987;
  border-radius: 5px;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 767px) {
  .map__btn {
    width: calc(50% - 7.5px);
    font-size: 14px;
    height: 40px;
  }
}
.map__btn:hover {
  background-color: rgba(17, 25, 134, 0.15);
  border-color: transparent;
}
.map__modal {
  width: 100%;
  max-width: 1028px;
  height: 450px;
  -webkit-backdrop-filter: blur(4px) brightness(1);
          backdrop-filter: blur(4px) brightness(1);
  background-color: rgba(245, 246, 250, 0.9);
  border-radius: 5px;
  -webkit-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.3);
          box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 32px;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  overflow-y: auto;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .map__modal {
    width: calc(100% - 30px);
    max-width: 363px;
    min-height: 376px;
    padding: 18px 16px 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .map__modal {
    max-width: 600px;
  }
}
@media screen and (max-width: 767px) {
  .map__modal {
    max-width: 400px;
  }
}
.map__modal.active {
  opacity: 1;
  visibility: visible;
  pointer-events: initial;
}
.map__modal-head {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
}
@media screen and (max-width: 1024px) {
  .map__modal-head {
    font-size: 14px;
  }
}
.map__modal-head::before {
  content: "";
  width: 16px;
  height: 24px;
  background: url("./src/img/icons/location.svg") center/16px 24px no-repeat;
  display: inline-block;
  margin-right: 8px;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
@media screen and (max-width: 767px) {
  .map__modal-head::before {
    width: 12px;
    height: 18px;
    background-size: 12px 18px;
  }
}
.map__modal-close {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 15px;
  right: 15px;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .map__modal-slider {
    width: 100%;
    max-width: 252px;
    display: block;
    margin: 0 auto;
  }
}
.map__modal-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 8px;
}
@media screen and (max-width: 1024px) {
  .map__modal-list {
    margin-top: 20px;
    -ms-flex-wrap: unset;
        flex-wrap: unset;
  }
}
.map__modal-item {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #b8b8b8;
  gap: 0 15px;
  padding-block: 24px;
}
@media screen and (max-width: 1024px) {
  .map__modal-item {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 24px 0;
    border-bottom: 0;
  }
}
.map__modal-item:nth-last-child(-n+2) {
  border-bottom: 0;
}
.map__modal-item:nth-child(odd) {
  padding-right: 15px;
}
@media screen and (max-width: 1024px) {
  .map__modal-item:nth-child(odd) {
    padding-right: 0;
  }
}
.map__modal-item:nth-child(even) {
  padding-left: 15px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .map__modal-item:nth-child(even) {
    padding-left: 0;
  }
}
.map__modal-item:nth-child(even)::before {
  content: "";
  width: 1px;
  height: 125px;
  background-color: #b8b8b8;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .map__modal-item:nth-child(even)::before {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .map__modal-item:last-child {
    border-bottom: 0;
  }
}
.map__modal-title {
  font-size: 2rem;
  font-weight: 700;
  color: #111986;
  display: inline-block;
  margin-bottom: 16px;
}
@media screen and (max-width: 1024px) {
  .map__modal-title {
    font-size: 16px;
  }
}
.map__modal-title::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 10px;
}
.map__modal-content {
  width: calc(100% - 194px);
}
@media screen and (max-width: 1024px) {
  .map__modal-content {
    width: 100%;
  }
}
.map__modal-img {
  width: 179px;
  height: 101px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .map__modal-img {
    width: 100%;
    height: auto;
    aspect-ratio: 252/157;
    margin: 25px auto 0;
  }
}
@media screen and (max-width: 1024px) {
  .map__modal-text {
    font-size: 14px;
  }
}
.map__modal-text p span {
  color: #333 !important;
}
.map__modal-text p strong {
  font-weight: 500 !important;
}

.network__banner {
  width: 100%;
  height: 280px;
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .network__banner {
    height: 180px;
    margin-bottom: 40px;
  }
}
.network__banner-content {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.network__banner-text {
  font-size: 2.4rem;
  font-weight: 700;
  color: #111986;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px 0;
}
@media screen and (max-width: 1024px) {
  .network__banner-text {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .network__banner-text {
    font-size: 14px;
  }
}
.network__banner-text > span {
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 2px;
  padding: 6px 15px 7px;
}
@media screen and (max-width: 767px) {
  .network__banner-text > span {
    padding: 4px 10px 5px;
  }
}
.network__anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px 40px;
}
@media screen and (max-width: 1024px) {
  .network__anchor {
    gap: 10px;
  }
}
.network__anchor-link {
  width: calc(50% - 20px);
  height: 48px;
  border: 1px solid #111987;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 10px 10px 30px;
  font-size: 1.5rem;
  font-weight: 500;
  color: #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .network__anchor-link {
    width: calc(50% - 5px);
    height: auto;
    font-size: 14px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    padding: 15px 20px 30px;
    position: relative;
  }
}
.network__anchor-link::before {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  display: inline-block;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  margin-right: 24px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .network__anchor-link::before {
    position: absolute;
    left: 50%;
    bottom: 10px;
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
    margin-right: 0;
  }
}
.network__anchor-link.is-active, .network__anchor-link:hover {
  background-color: #111986;
  color: #fff;
}
.network__anchor-link.is-active::before, .network__anchor-link:hover::before {
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
}
.network__wrap {
  margin-top: 100px;
}
@media screen and (max-width: 1024px) {
  .network__wrap {
    margin-top: 60px;
  }
}
.network__heading {
  border-bottom: 1px solid #111986;
  padding-bottom: 16px;
  margin-bottom: 7px;
}
.network__subtext {
  background-color: #ededf5;
  border-radius: 4px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  padding: 2px 12px 3px;
}
.network__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .network__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 10px;
  }
}
.network__head {
  font-size: 3.2rem;
  color: #111986;
}
@media screen and (max-width: 1024px) {
  .network__head {
    font-size: 24px;
  }
}
.network__btn {
  min-width: 208px;
  height: 40px;
  background-color: #111986;
  border: 1px solid #111987;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  padding: 10px 20px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 767px) {
  .network__btn {
    min-width: unset;
    height: unset;
    font-size: 14px;
    padding: 6px 12px;
    margin: 30px 0 0 auto;
  }
}
.network__btn::after {
  content: "";
  width: 10px;
  height: 10px;
  background: url("./src/img/icons/website.svg") center/cover no-repeat;
  display: inline-block;
  margin-left: 11px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.network__btn:hover {
  color: #111986;
  background-color: #fff;
}
.network__btn:hover::after {
  background: url("./src/img/icons/website-blue.svg") center/cover no-repeat;
}
.network__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 48px;
  padding-block: 24px;
  border-bottom: 1px solid #e4e6ef;
}
@media screen and (max-width: 767px) {
  .network__item {
    gap: 0 24px;
    padding-block: 20px;
  }
}
.network__label {
  width: 200px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .network__label {
    width: 100px;
    font-size: 16px;
  }
}
.network__content {
  width: calc(100% - 248px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .network__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .network__content {
    width: calc(100% - 124px);
  }
}
.network__info {
  color: #333;
}
.network__address {
  margin-bottom: 10px;
  line-height: 1.75em;
}
.network__phone::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("./src/img/icons/phone.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 13px;
  vertical-align: middle;
}
@media screen and (max-width: 1024px) {
  .network__phone::before {
    width: 18px;
    height: 18px;
    margin: -2px 10px 0 0;
  }
}
.network__map {
  min-width: 72px;
  height: 32px;
  border: 1px solid rgba(17, 25, 135, 0.4);
  border-radius: 5px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 1024px) {
  .network__map {
    min-width: unset;
    height: auto;
    font-size: 12px;
    padding: 5px 10px;
    margin-top: 20px;
  }
}
.network__map::after {
  content: "";
  width: 10px;
  height: 10px;
  background: url("./src/img/icons/website-blue.svg") center/cover no-repeat;
  display: inline-block;
  margin-left: 9px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.network__map:hover {
  color: #fff;
  background-color: #111986;
}
.network__map:hover::after {
  background: url("./src/img/icons/website.svg") center/cover no-repeat;
}

.history__list {
  position: relative;
}
.history__list::before {
  content: "";
  width: 1px;
  height: calc(100% - 70px);
  background-color: #111986;
  position: absolute;
  top: 12px;
  left: 7px;
  z-index: -1;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .history__list::before {
    height: calc(100% - 100px);
  }
}
@media screen and (max-width: 767px) {
  .history__list::before {
    height: calc(100% - 160px);
  }
}
.history__item {
  width: calc(100% - 56px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 32px;
  border-bottom: 1px solid #e4e6ef;
  position: relative;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .history__item {
    width: calc(100% - 41px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.history__item::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: #4046d5;
  border-radius: 5px;
  position: absolute;
  top: 12px;
  left: -57px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .history__item::before {
    top: 8px;
    left: -42px;
  }
}
.history__item::after {
  content: "";
  width: 32px;
  height: 32px;
  background-color: #fff;
  position: absolute;
  top: 4px;
  left: -66px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .history__item::after {
    top: 0;
    left: -51px;
  }
}
.history__item:not(:last-child) {
  margin-bottom: 32px;
}
.history__year {
  font: 600 3.2rem "Montserrat", sans-serif;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .history__year {
    font-size: 24px;
  }
}
.history__wrapper {
  width: 100%;
  max-width: 664px;
  margin-top: 6px;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .history__wrapper {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .history__wrapper {
    margin-top: 15px;
  }
}
.history__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .history__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.history__row:not(:last-child) {
  margin-bottom: 24px;
}
.history__label, .history__info {
  font-size: 1.8rem;
  color: #333;
}
@media screen and (max-width: 767px) {
  .history__label, .history__info {
    font-size: 16px;
  }
}
.history__label {
  width: 57%;
  font-weight: 500;
  display: inline-block;
  margin-right: 48px;
}
@media screen and (max-width: 1024px) {
  .history__label {
    width: 100%;
    margin: 0 0 3px;
  }
}
.history__info {
  width: 35%;
  color: #666;
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .history__info {
    width: 100%;
  }
}

.message {
  position: relative;
}
.message::before {
  content: "";
  width: 100%;
  height: 1101px;
  background: linear-gradient(-60deg, rgba(245, 248, 250, 0.4) 0%, rgba(224, 233, 249, 0.4) 40%);
  position: absolute;
  left: 0;
  bottom: -100px;
  z-index: -1;
}
@media screen and (max-width: 1330px) {
  .message::before {
    height: 99%;
  }
}
@media screen and (max-width: 767px) {
  .message::before {
    bottom: -57px;
  }
}
.message__heading {
  font-size: 5.6rem;
  line-height: 1.5em;
  color: #111986;
  margin-bottom: 48px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .message__heading {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .message__heading {
    font-size: 30px;
  }
}
.message__wrapper {
  padding-left: 56px;
}
@media screen and (max-width: 767px) {
  .message__wrapper {
    padding-left: 0;
  }
}
.message__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .message__wrap {
    margin-bottom: 40px;
    padding-left: 30px;
  }
}
.message__wrap::before {
  content: "";
  width: 32px;
  height: 1px;
  background-color: #333;
  position: absolute;
  top: 50%;
  left: -56px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .message__wrap::before {
    width: 16px;
    left: 0;
  }
}
.message__wrap--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-block: 40px 0;
}
.message__wrap--col::before {
  content: none;
}
.message__position, .message__name {
  color: #333;
}
.message__position {
  font-size: 1.6rem;
}
.message__name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1em;
  display: inline-block;
  border-left: 1px solid rgba(51, 51, 51, 0.2);
  position: relative;
  margin-left: 12px;
  padding-left: 12px;
}
.message__ceo {
  width: 137px;
  height: 43px;
  margin-top: 6px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.company__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 56px 40px;
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .company__list {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .company__list {
    gap: 20px 0;
  }
}
.company__item {
  width: calc(50% - 20px);
  height: 184px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .company__item {
    width: 100%;
  }
}
.company__item:hover {
  opacity: 0.8;
}
.company__content {
  width: calc(100% - 156px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 20px;
}
.company__title {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #111986;
  display: inline-block;
  position: relative;
  padding-left: 24px;
  margin-bottom: 15px;
}
@media screen and (max-width: 1330px) {
  .company__title {
    font-size: 16px;
    padding-left: 20px;
  }
}
.company__title::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 10px;
  left: -3px;
}
@media screen and (max-width: 1330px) {
  .company__title::before {
    top: 6px;
  }
}
.company__subtitle {
  font-size: 1.4rem;
  letter-spacing: -0.05em;
  display: block;
  white-space: nowrap;
}
@media screen and (max-width: 1330px) {
  .company__subtitle {
    font-size: 10px;
  }
}
.company__desc {
  font-size: 1.8rem;
  line-height: 1.6em;
}
@media screen and (max-width: 1330px) {
  .company__desc {
    font-size: 14px;
  }
}
.company__img {
  width: 156px;
  height: 184px;
  position: relative;
}
.company__img::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url("./src/img/company/company-overlay.png") center/cover no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}

.profile__table {
  width: 100%;
  border-top: 1px solid #111986;
}

.philosophy__head {
  line-height: 1.75em;
  padding-bottom: 24px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .philosophy__head {
    margin-bottom: 10px;
  }
}
.philosophy__wrap:not(:last-child) {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .philosophy__wrap:not(:last-child) {
    margin-bottom: 60px;
  }
}
.philosophy__wrap--mb0 {
  margin-bottom: 0;
}
.philosophy__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 12px;
}
@media screen and (max-width: 1330px) {
  .philosophy__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 40px;
  }
}
.philosophy__row--mb24 {
  margin-bottom: 24px;
}
.philosophy__row--mb0 {
  margin-bottom: 0;
}
.philosophy__col {
  width: 500px;
}
@media screen and (max-width: 1330px) {
  .philosophy__col {
    width: 100%;
  }
}
.philosophy__col--w270 {
  width: 270px;
}
@media screen and (max-width: 1330px) {
  .philosophy__col--w270 {
    width: 100%;
  }
}
.philosophy__col--sm-hide {
  display: block;
}
@media screen and (max-width: 1330px) {
  .philosophy__col--sm-hide {
    display: none;
  }
}
.philosophy__text {
  width: 100%;
  max-width: 399px;
  margin-top: 16px;
}
@media screen and (max-width: 1330px) {
  .philosophy__text {
    max-width: 100%;
    margin-top: 0;
  }
}
.philosophy__illus {
  width: 404px;
  height: 344px;
}
@media screen and (max-width: 1330px) {
  .philosophy__illus {
    width: 300px;
    height: 256px;
    margin: 30px auto 0;
  }
}
.philosophy__heading {
  margin-bottom: 32px;
}
@media screen and (max-width: 1024px) {
  .philosophy__heading {
    line-height: unset;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__heading {
    font-size: 18px;
    line-height: auto;
    margin-bottom: 24px;
  }
}
.philosophy__values {
  width: 100%;
  background-color: #f5f6fa;
  border-radius: 5px;
  padding: 34px 24px 40px;
  margin-top: 56px;
}
.philosophy__col-title, .philosophy__subhead {
  text-align: center;
}
.philosophy__col-title {
  font-size: 2.4rem;
  font-weight: 900;
  color: #203864;
}
.philosophy__col-title--fs22 {
  font-size: 2.2rem;
}
.philosophy__subhead {
  font-size: 1.6rem;
  font-weight: 700;
  color: #666;
  display: block;
  margin-top: 8px;
}
.philosophy__wrapper {
  width: 100%;
  min-height: 231px;
  background-color: #203864;
  border-radius: 5px;
  padding: 24px 12px;
}
@media screen and (max-width: 1024px) {
  .philosophy__wrapper {
    padding: 0 10px;
  }
}
.philosophy__wrapper--arrow {
  position: relative;
}
@media screen and (max-width: 1330px) {
  .philosophy__wrapper--arrow {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__wrapper--arrow {
    margin-bottom: 30px;
  }
}
.philosophy__wrapper--arrow::after {
  content: "";
  width: 14px;
  height: 25px;
  background: url("./src/img/icons/caret-navy.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: -30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1330px) {
  .philosophy__wrapper--arrow::after {
    bottom: -32px;
  }
}
@media screen and (max-width: 1330px) {
  .philosophy__wrapper--arrow::after {
    top: unset;
    left: 50%;
    right: unset;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
            transform: translate(-50%, 0) rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .philosophy__wrapper--arrow::after {
    bottom: -28px;
  }
}
.philosophy__wrapper--blue {
  width: 254px;
  border: 1px solid #939393;
  background-color: #fff;
  margin: 0 auto;
  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;
}
@media screen and (max-width: 1330px) {
  .philosophy__wrapper--blue {
    width: 100%;
    min-height: 100px;
  }
}
.philosophy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .philosophy__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.philosophy__item {
  width: 50%;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .philosophy__item {
    padding: 20px 10px;
  }
}
@media screen and (max-width: 767px) {
  .philosophy__item {
    width: 100%;
    padding: 20px;
  }
}
.philosophy__item:not(:last-child) {
  border-right: 1px solid #e4e6ef;
}
@media screen and (max-width: 767px) {
  .philosophy__item:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid #e4e6ef;
  }
}
.philosophy__icon {
  width: 48px;
  height: 48px;
}
.philosophy__icon--w50 {
  width: 50px;
  height: 50px;
}
.philosophy__title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  display: block;
  margin: 11px auto 8px;
}
@media screen and (max-width: 1024px) {
  .philosophy__title {
    font-size: 18px;
  }
}
.philosophy__desc {
  color: #fff;
  line-height: 1.75em;
}
.philosophy__behavior {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #363c3d;
  line-height: 1.75em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .philosophy__behavior {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .new-business__bnr {
    margin-bottom: 64px !important;
  }
}
.new-business__wrap {
  margin-bottom: 80px !important;
}
.new-business__wrap-head {
  margin-bottom: 40px !important;
}
.new-business__image-wrap {
  width: 100%;
  background-color: #f5f6fa;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 24px;
  margin-top: 24px;
  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;
}
@media screen and (max-width: 767px) {
  .new-business__image-wrap {
    padding: 24px 12px;
    margin-top: 32px;
  }
}
.new-business__image-head {
  font-size: 2.4rem;
  font-weight: 900;
  color: #333;
  display: block;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .new-business__image-head {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 1.6666666667em;
  }
}
.new-business__image-head.center {
  text-align: center;
}
.new-business__image-head .highlight {
  color: #4046d5;
}
.new-business__img {
  display: block;
  margin: 0 auto;
}
.new-business__img--mt40 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .new-business__img--mt40 {
    margin-top: 32px;
  }
}
.new-business__illus img {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1330px) {
  .new-business__illus img {
    width: 100%;
  }
}
.new-business__sub {
  width: 100%;
  min-height: 77px;
  background-color: #111986;
  border-radius: 5px;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: block;
  padding: 24px 20px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .new-business__sub {
    font-size: 18px;
  }
}
.new-business__cta {
  width: 100%;
  height: 150px;
  display: block;
  border-radius: 5px;
  margin-top: 100px;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1330px) {
  .new-business__cta {
    height: auto;
    margin-top: 56px;
  }
}
@media screen and (max-width: 767px) {
  .new-business__cta {
    aspect-ratio: 363/105;
  }
}
.new-business__cta:hover {
  opacity: 0.8;
}
.new-business__section {
  width: 100%;
  background-color: #f5f6fa;
  border-top: 2px solid #e4e6ef;
  margin-top: 100px;
  padding-block: 100px;
}
.new-business__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px 20px;
}
.new-business__item {
  width: 270px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .new-business__item {
    width: 100%;
  }
}
.new-business__head {
  width: 100%;
  height: 70px;
  background-color: #fff;
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px;
  position: relative;
}
.new-business__head::before {
  content: "";
  width: 10px;
  height: 4px;
  background-color: #4046d5;
  border-radius: 1px;
  display: inline-block;
  margin-right: 8px;
}
.new-business__inner-item {
  width: 100%;
  min-height: 144px;
  padding: 12px 13px 14px;
}
@media screen and (max-width: 1024px) {
  .new-business__inner-item {
    min-height: 100px;
  }
}
.new-business__inner-item:nth-child(even) {
  background-color: #fff;
}
.new-business__title {
  font-size: 1.2rem;
  color: #fff;
  background-color: #4c82c4;
  border-radius: 5px;
  display: inline-block;
  padding: 5px 8px;
  margin-bottom: 12px;
}

.group__wrap-head {
  margin: 0;
}
.group__banner {
  position: relative;
  padding: 60px 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .group__banner {
    padding: 30px 0;
    margin-bottom: 40px;
  }
}
.group__banner-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.group__banner-text {
  font-size: 2.4rem;
  color: #111986;
}
@media screen and (max-width: 980px) {
  .group__banner-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .group__banner-text {
    font-size: 14px;
  }
}
.group__banner-text-span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 5px 17px 8px;
  border-radius: 2px;
}
@media screen and (max-width: 767px) {
  .group__banner-text-span {
    padding: 3px 10px 6px;
  }
}
.group__banner-text-span:not(:last-child) {
  margin-bottom: 8px;
}
.group__main-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid #e4e6ef;
}
@media screen and (max-width: 980px) {
  .group__main-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .group__main-item {
    padding: 20px 0;
  }
}
.group__main-item:first-child {
  border-top: 1px solid #e4e6ef;
  padding-top: 32px;
}
.group__main-item-label {
  width: 20.71%;
  font-size: 1.8rem;
  color: #111987;
}
@media screen and (max-width: 980px) {
  .group__main-item-label {
    width: 100%;
    font-size: 16px;
  }
}
.group__main-item-cnt {
  width: 61.4%;
  margin-left: 48px;
}
@media screen and (max-width: 980px) {
  .group__main-item-cnt {
    width: 100%;
    margin: 0;
  }
}
.group__main-item-address, .group__main-item-tel {
  font-size: 1.8rem;
  line-height: 1.75em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .group__main-item-address, .group__main-item-tel {
    font-size: 16px;
  }
}
.group__main-item-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-top: 16px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .group__main-item-tel {
    margin-top: 10px;
  }
}
.group__main-item-tel::before {
  content: "";
  width: 24px;
  height: 24px;
  border-radius: 5px;
  background: url("./src/img/icons/tel.svg") center/16px no-repeat, #b8b8b8;
}
.group__main-item-tel:hover {
  color: #111986;
}
.group__main-item-map {
  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;
  gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 32px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  padding: 5px 12px 7px;
  border-radius: 5px;
  border: 1px solid rgba(17, 25, 135, 0.4);
  text-wrap: nowrap;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .group__main-item-map {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .group__main-item-map {
    font-size: 12px;
    padding: 5px 10px;
  }
}
.group__main-item-map::after {
  content: "";
  width: 10px;
  height: 10px;
  background: url("./src/img/icons/link-blue.svg") center/contain no-repeat;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.group__main-item-map:hover {
  background-color: #111987;
  color: #fff;
}
.group__main-item-map:hover::after {
  background: url("./src/img/icons/link.svg") center/contain no-repeat;
}

.media__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px 60px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .media__list {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .media__list {
    display: block;
  }
}
.media__item {
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 5px;
  border: 1px solid #e4e6ef;
}
@media screen and (max-width: 767px) {
  .media__item:not(:last-child) {
    margin-bottom: 30px;
  }
}
.media__item-ctr {
  position: relative;
  padding: 16px 26px 24px 28px;
}
@media screen and (max-width: 767px) {
  .media__item-ctr {
    padding: 26px 16px 16px;
  }
}
.media__item-cat {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  background-color: #fff;
  padding: 1px 11px 2px;
  border: 1px solid #111986;
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .media__item-cat {
    font-size: 12px;
  }
}
.media__item-image {
  max-width: 425px;
  height: 300px;
  aspect-ratio: 425/300;
  margin: 0 auto 24px;
  -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, 0.16);
          box-shadow: 0 8px 15px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .media__item-image {
    width: 77.5%;
    height: unset;
  }
}
.media__item-image-link {
  display: block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.media__item-image-link:hover {
  opacity: 0.7;
}
.media__item-issue {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111986;
  padding-bottom: 8px;
  border-bottom: 1px solid #e4e6ef;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .media__item-issue {
    font-size: 12px;
  }
}
.media__item-loc {
  font-size: 1.4rem;
  margin-bottom: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  gap: 6.6px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .media__item-loc {
    font-size: 12px;
  }
}
.media__item-loc::before {
  content: "";
  min-width: 9.43px;
  width: 9.43px;
  height: 14px;
  background: url("./src/img/icons/location-gray.svg") center/contain no-repeat;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.media__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 26px;
}
.media__item-title {
  font-size: 1.8rem;
  color: #333;
  line-height: 1.7777777778em;
}
@media screen and (max-width: 767px) {
  .media__item-title {
    font-size: 16px;
  }
}
.media__item-external {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2rem;
  font-weight: 500;
  color: #111986;
  background-color: #e4e6ef;
  padding: 4px 8px 5px;
  border-radius: 5px;
  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;
  gap: 8px;
  border: 1px solid #e4e6ef;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.media__item-external::after {
  content: "";
  width: 9px;
  height: 9px;
  background: url("./src/img/icons/link-blue.svg") center/contain no-repeat;
}
.media__item-external:hover {
  background-color: #fff;
}
.media__item-pns {
  background-color: #f5f6fa;
  border-top: 1px solid #e4e6ef;
  padding: 12px 26px 16px;
}
@media screen and (max-width: 767px) {
  .media__item-pns {
    padding: 12px 16px 16px;
  }
}
.media__item-pns-title {
  font-size: 1.2rem;
  font-weight: 500;
}
.media__item-pns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 15px;
  margin-top: 8px;
}
.media__item-pns-cnt {
  position: relative;
  font-size: 1.4rem;
  color: #fff;
  padding: 4px 12px 5px 27px;
  border-radius: 5px;
  background-color: #111986;
  border: 1px solid #111986;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .media__item-pns-cnt {
    font-size: 12px;
  }
}
.media__item-pns-cnt::before {
  content: "";
  width: 8px;
  height: 12px;
  background: url("./src/img/icons/caret-white-sm.svg") center/contain no-repeat;
  position: absolute;
  left: 11px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-image 0.3s ease;
  transition: background-image 0.3s ease;
}
.media__item-pns-cnt:hover {
  color: #111986;
  background-color: #fff;
}
.media__item-pns-cnt:hover::before {
  background-image: url("./src/img/icons/caret-blue-sm.svg");
}

.contact {
  color: #333;
}
@media screen and (max-width: 767px) {
  .contact__intro {
    padding-inline: 15px;
  }
}
.contact__intro--entry {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .contact__intro--entry {
    margin-bottom: 60px;
  }
}
.contact__intro-text {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 2em;
  margin-bottom: 16px;
}
.contact__intro-notes {
  font-size: 1.6rem;
  text-align: center;
  line-height: 2em;
}
.contact__container {
  margin-top: 90px;
  background-color: #f5f6fa;
  padding-block: 80px 100px;
}
.contact + .connect {
  margin-top: 0;
}

.download__intro {
  margin-bottom: 104px;
}
@media screen and (max-width: 767px) {
  .download__intro {
    margin-bottom: 54px;
  }
}
.download__intro-text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .download__intro-text {
    font-size: 14px;
  }
}
.download__intro-text--notes {
  font-weight: 400;
  margin-top: 16px;
}
.download__intro-link {
  color: #4046d5;
  text-decoration: underline;
}
.download__breadcrumbs {
  counter-reset: dl-breadcrumb;
  gap: 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;
}
.download__breadcrumbs-item {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.download__breadcrumbs-item::before {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  content: counter(dl-breadcrumb, decimal-leading-zero);
  counter-increment: dl-breadcrumb;
  font-size: 2.4rem;
  border: 1px solid #4046d5;
  border-radius: 5px;
  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;
}
.download__breadcrumbs-item.active {
  color: #4046d5;
}
.download__form {
  background-color: #f5f6fa;
  padding: 64px 0 100px;
  margin-top: 64px;
}
.download__form-item {
  max-width: 800px;
  margin: 0 auto 120px;
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .download__form-item {
    padding: 14px 0;
    margin-bottom: 60px;
  }
}
.download__form-item:not(:last-child) {
  border-bottom: 1px solid rgba(17, 25, 134, 0.1);
}
.download__form-item--mxw100 {
  max-width: 100%;
  padding: 0;
}
.download__form-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.download__form-label-text {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3333333333em;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .download__form-label-text {
    font-size: 16px;
  }
}
.download__form-label-text.required::after {
  content: "必須";
  width: 44px;
  height: 21px;
  background-color: #e6007d;
  border-radius: 5px;
  font-size: 1.2rem;
  color: #fff;
  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;
}
.download__form-checkbox .wpcf7-list-item label input {
  display: block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.download__form-checkbox .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label::before {
  background-color: #4046d5;
}
.download__form-checkbox .wpcf7-list-item label input:checked ~ .wpcf7-list-item-label::after {
  opacity: 1;
}
.download__form-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  padding-left: 40px;
  cursor: pointer;
}
.download__form-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before, .download__form-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.download__form-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
  width: 28px;
  height: 28px;
  border-radius: 5px;
  border: 1px solid #b8b8b8;
  left: 0;
  top: 0;
}
.download__form-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after {
  width: 14px;
  height: 10px;
  background: url("./src/img/icons/check.svg") center/contain no-repeat;
  top: 9px;
  left: 8px;
  opacity: 0;
}
.download__form-accordion {
  margin-top: 40px;
  max-width: calc(100vw - 30px);
}
@media screen and (max-width: 767px) {
  .download__form-accordion {
    margin-top: 20px;
  }
}
.download__form-accordion-item {
  position: relative;
  border-top: 1px solid rgba(17, 25, 134, 0.2);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-item {
    display: block;
    max-width: 100%;
    width: 100%;
  }
}
.download__form-accordion-item::before, .download__form-accordion-item::after {
  content: "";
  background-color: #111987;
  position: absolute;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.download__form-accordion-item::before {
  width: 16px;
  height: 2px;
  right: 24px;
  top: 40px;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-item::before {
    width: 12px;
    top: 29px;
  }
}
.download__form-accordion-item::after {
  width: 2px;
  height: 16px;
  right: 31px;
  top: 32.5px;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-item::after {
    height: 12px;
    top: 24px;
    right: 29px;
  }
}
.download__form-accordion-item.active {
  border-top: 1px solid #111986;
  border-bottom: 1px solid #111986;
}
.download__form-accordion-item.active::before {
  opacity: 0;
}
.download__form-accordion-item.active::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.download__form-accordion-item.active .download__form-accordion-label {
  background-color: #f5f6fa;
}
.download__form-accordion-item--mw-100 .download__form-accordion-checkbox .wpcf7-list-item {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-item--mw-100 .download__form-accordion-checkbox .wpcf7-list-item {
    max-width: 47%;
  }
}
.download__form-accordion-item--mw-100 .download__form-accordion-image {
  max-width: unset;
}
.download__form-accordion-item--mw-193px .download__form-accordion-checkbox .wpcf7-list-item {
  max-width: 193px;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-item--mw-193px .download__form-accordion-checkbox .wpcf7-list-item {
    max-width: 47%;
  }
}
.download__form-accordion-item--mw-193px .download__form-accordion-image {
  max-width: unset;
}
.download__form-accordion-label {
  padding: 26px 56px 24px;
  background-color: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-label {
    padding: 16px 40px 16px 16px;
  }
}
.download__form-accordion-label-text {
  font-size: 2rem;
  font-weight: 700;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-label-text {
    font-size: 16px;
  }
}
.download__form-accordion-cnt {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.download__form-accordion-cnt-ctr {
  position: relative;
  padding: 24px 56px 56px;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-cnt-ctr {
    padding: 24px 16px;
  }
}
.download__form-accordion-cnt-ctr::before {
  content: "";
  width: calc(100% - 112px);
  height: 1px;
  background-color: rgba(17, 25, 134, 0.2);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .download__form-accordion-cnt-ctr::before {
    width: calc(100% - 32px);
  }
}
.download__form-accordion-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 46px;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-checkbox {
    gap: 20px 6%;
  }
}
.download__form-accordion-checkbox .wpcf7-list-item {
  max-width: 180px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-checkbox .wpcf7-list-item {
    max-width: 47%;
  }
}
.download__form-accordion-checkbox .wpcf7-list-item label {
  cursor: pointer;
}
.download__form-accordion-checkbox .wpcf7-list-item label span {
  display: block;
  text-align: center;
}
.download__form-accordion-checkbox .wpcf7-list-item label .wpcf7-list-item-label,
.download__form-accordion-checkbox .wpcf7-list-item label .sub-label {
  font-size: 1.2rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-checkbox .wpcf7-list-item label .wpcf7-list-item-label,
  .download__form-accordion-checkbox .wpcf7-list-item label .sub-label {
    font-size: 10px;
  }
}
.download__form-accordion-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  margin-top: 16px;
  padding: 32px 0 0;
}
.download__form-accordion-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
  width: 22px;
  height: 22px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #fff;
}
.download__form-accordion-checkbox .wpcf7-list-item label .wpcf7-list-item-label::after {
  top: 7px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.download__form-accordion-checkbox .wpcf7-list-item label .main-label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
  margin: 4px 0;
}
@media screen and (max-width: 767px) {
  .download__form-accordion-checkbox .wpcf7-list-item label .main-label {
    font-size: 14px;
  }
}
.download__form-accordion-image {
  max-width: 180px;
  margin: 0 auto;
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.16);
          box-shadow: 0 10px 20px rgba(0, 0, 0, 0.16);
}
.download .form__progress {
  margin-bottom: 0;
}

.showroom__zoom {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 999;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
.showroom__zoom.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.showroom__zoom.active .showroom__zoom-image {
  -webkit-animation-name: zoom;
          animation-name: zoom;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}
@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom {
  from {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.showroom__zoom-image {
  position: relative;
  max-width: 1000px;
  width: 64.94%;
  border-radius: 5px;
}
@media screen and (max-width: 980px) and (orientation: landscape) {
  .showroom__zoom-image {
    max-width: 350px;
  }
}
@media screen and (max-width: 767px) {
  .showroom__zoom-image {
    width: 85%;
  }
}
.showroom__zoom-close {
  width: 56px;
  height: 56px;
  border: 1px solid rgba(17, 25, 134, 0.2);
  border-radius: 5px;
  background: url("./src/img/icons/close-blue.svg") center/24px no-repeat, #fff;
  position: absolute;
  top: 0;
  right: -64px;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .showroom__zoom-close {
    width: 36px;
    height: 36px;
    background: url("./src/img/icons/close-blue.svg") center/14px no-repeat, #fff;
    top: -44px;
    right: 0;
  }
}
.showroom__zoom-close:hover {
  opacity: 0.7;
}
.showroom__main {
  margin-bottom: 88px;
}
@media screen and (max-width: 767px) {
  .showroom__main {
    margin-bottom: 58px;
  }
}
.showroom__desc {
  font-size: 1.8rem;
  line-height: 2em;
  color: #333;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .showroom__desc {
    font-size: 16px;
    margin-top: 0;
  }
}
.showroom__gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 40px 0 64px;
}
@media screen and (max-width: 767px) {
  .showroom__gallery {
    display: block;
    margin: 30px 0 40px;
  }
}
.showroom__gallery-image {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  cursor: pointer;
}
.showroom__gallery-image::before {
  content: "";
  width: 27px;
  height: 27px;
  border-radius: 3px;
  background: url("./src/img/icons/search-x.svg") center/13px no-repeat, rgba(255, 255, 255, 0.8);
  position: absolute;
  right: 2px;
  bottom: 2px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .showroom__gallery-image:not(:last-child) {
    margin-bottom: 20px;
  }
}
.showroom__gallery-image:hover::before {
  background-color: #fff;
}
.showroom__location {
  padding-bottom: 32px;
  border-bottom: 1px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5%;
}
@media screen and (max-width: 767px) {
  .showroom__location {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.showroom__location-title {
  font-size: 2.4rem;
  font-weight: 900;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 19px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .showroom__location-title {
    font-size: 20px;
    gap: 10px;
  }
}
.showroom__location-title::before {
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: url("./src/img/company-showroom/location-icon.svg") center/23px no-repeat, #111986;
}
@media screen and (max-width: 767px) {
  .showroom__location-title::before {
    width: 35px;
    height: 35px;
    background: url("./src/img/company-showroom/location-icon.svg") center/15px no-repeat, #111986;
  }
}
.showroom__location-info {
  font-size: 1.8rem;
  line-height: 2em;
  color: #333;
}
.showroom__location-link {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  padding: 5px 11px;
  border: 1px solid rgba(17, 25, 135, 0.4);
  border-radius: 5px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.showroom__location-link::before {
  content: "";
  width: 12px;
  height: 10px;
  background: url("./src/img/icons/caret-blue.svg") center/contain no-repeat;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.showroom__location-link:hover {
  padding: 5px 10px 7px 22px;
  padding: 5px 7px 5px 15px;
  background-color: #111986;
  color: #fff;
}
.showroom__location-link:hover::before {
  background: url("./src/img/icons/caret.svg") center/contain no-repeat;
}

.efficiency {
  position: relative;
  overflow: hidden;
}
.efficiency__navigations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .efficiency__navigations {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 15px;
  }
}
.efficiency__nav {
  padding: 12px 20px;
  border: 1px solid #111987;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-weight: 500;
  font-size: 1.6rem;
  color: #111986;
  position: relative;
}
@media screen and (max-width: 767px) {
  .efficiency__nav {
    padding: 7px 12px;
  }
}
.efficiency__nav::before {
  content: "";
  position: relative;
  top: -2px;
  width: 14px;
  min-width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/contain no-repeat;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .efficiency__nav::before {
    position: absolute;
    top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .efficiency__nav span {
    width: 100%;
    text-align: center;
    padding-left: 5px;
  }
}
.efficiency__item {
  padding-block: 64px;
  position: relative;
  width: 100%;
}
.efficiency__item:nth-of-type(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  background-color: #f5f6fa;
  width: 200vw;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .efficiency__item:nth-of-type(even)::before {
    width: 100vw;
  }
}
.efficiency__item:last-of-type {
  padding-bottom: 0;
}
.efficiency__banner {
  position: relative;
  width: 100%;
  z-index: 0;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .efficiency__banner {
    margin-bottom: 30px;
  }
}
.efficiency__banner-img {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 5px;
  overflow: hidden;
}
.efficiency__banner-content {
  padding: 15px 48px 19px;
}
@media screen and (max-width: 1024px) {
  .efficiency__banner-content {
    padding: 15px 20px;
  }
}
.efficiency__banner-heading {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  padding-bottom: 4px;
  border-bottom: 1px solid #e4e6ef;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 12px;
}
@media screen and (max-width: 1024px) {
  .efficiency__banner-heading {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .efficiency__banner-heading {
    font-size: 18px;
  }
}
.efficiency__banner-text {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 2px 10px #001847;
}
@media screen and (max-width: 1024px) {
  .efficiency__banner-text {
    font-size: 14px;
    letter-spacing: unset;
  }
}
.efficiency__item-wrapper {
  border: 1px solid rgba(17, 25, 134, 0.2);
  border-radius: 5px;
}
.efficiency__item-wrap {
  padding: 36px 24px 44px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
}
@media screen and (max-width: 1024px) {
  .efficiency__item-wrap {
    padding: 24px 14px 40px;
    grid-template-columns: 1fr;
  }
}
.efficiency__item-wrap:not(:last-child) {
  border-bottom: 1px solid rgba(17, 25, 134, 0.2);
}
@media screen and (max-width: 767px) {
  .efficiency__item-wrap:not(:last-child) {
    padding-bottom: 56px;
  }
}
.efficiency__item-wrap--item03-2 {
  padding-top: 48px;
}
.efficiency__item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.efficiency__item-text-wrap {
  min-height: 220px;
}
.efficiency__item-heading {
  border-left: 8px solid #111986;
  padding-left: 16px;
  font-weight: 700;
  font-size: 2.4rem;
  color: #111986;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .efficiency__item-heading {
    font-size: 22px;
    border-left: 4px solid #111986;
  }
}
.efficiency__item-subheading {
  font-size: 1.6rem;
  font-weight: 700;
  padding-bottom: 4px;
  border-bottom: 1px solid #e4e6ef;
  margin-bottom: 16px;
  color: #333;
}
@media screen and (max-width: 767px) {
  .efficiency__item-subheading {
    font-size: 18px;
    margin-bottom: 12px;
    border: none;
  }
}
.efficiency__item-text {
  font-size: 1.6rem;
  line-height: 2em;
  color: #333;
}
.efficiency__item-content-img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  margin-top: 24px;
}
.efficiency__item-content-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: #333;
}
.efficiency__item-content-img img {
  border-radius: 5px;
}
.efficiency__item-buttons {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .efficiency__item-buttons {
    margin-top: 40px;
  }
}
.efficiency__item-button {
  background-color: #111986;
  border-radius: 5px;
  position: relative;
  width: 282px;
  height: 64px;
}
@media screen and (max-width: 1024px) {
  .efficiency__item-button {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .efficiency__item-button {
    width: 100%;
  }
}
.efficiency__item-button::before {
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  left: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("./src/img/icons/caret.svg") center/contain no-repeat;
}
.efficiency__item-button-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  color: #fff;
}
.efficiency__item-button-txt-jp {
  font-size: 1.4rem;
  font-weight: 500;
}
.efficiency__item-button-txt-model {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .efficiency__item-img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 200px;
    margin: 0 auto 24px;
  }
}
@media screen and (max-width: 767px) {
  .efficiency__item-img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .efficiency__item-img--4 {
    height: 226px;
    width: 205px;
  }
}
.efficiency__item1-subimg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 24px;
}
@media screen and (max-width: 1300px) {
  .efficiency__item1-subimg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 1024px) {
  .efficiency__item1-subimg {
    position: relative;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin: 16px auto 0;
    max-width: 330px;
  }
}
.efficiency__item1-subimg span {
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 11px;
  color: #333;
}
@media screen and (max-width: 1300px) {
  .efficiency__item1-subimg span {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
@media screen and (max-width: 1024px) {
  .efficiency__item1-subimg span {
    white-space: nowrap;
    margin-bottom: 0;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
@media screen and (max-width: 1024px) {
  .efficiency__item1-subimg img {
    width: 251px;
  }
}
.efficiency__item2-subimg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 24px;
}
@media screen and (max-width: 1300px) {
  .efficiency__item2-subimg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-top: 16px;
  }
}
.efficiency__item2-subimg span {
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: 11px;
  color: #333;
  width: 158px;
}
@media screen and (max-width: 767px) {
  .efficiency__item2-subimg span {
    margin-block: 8px 0;
  }
}
.efficiency__item3-subimg {
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 16px 20px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .efficiency__item3-subimg {
    border: none;
    padding: 0;
  }
}
.efficiency__item3-subimg-heading {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 13px;
  display: block;
}
.efficiency__item3-subimg-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 19px;
}
@media screen and (max-width: 1300px) {
  .efficiency__item3-subimg-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 1024px) {
  .efficiency__item3-subimg-wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 15px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.efficiency__item3-subimg-img {
  max-width: 165px;
}
@media screen and (max-width: 767px) {
  .efficiency__item3-subimg-img {
    width: 100%;
    max-width: 155px;
  }
}
@media screen and (max-width: 400px) {
  .efficiency__item3-subimg-img {
    max-width: 140px;
  }
}
.efficiency__item3-subimg-text {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.75em;
  color: #333;
}
.efficiency__item3-subimg-text .note {
  font-size: 1rem;
  font-weight: 400;
  margin-top: 8px;
}

.csr__banner {
  width: 100%;
  height: 360px;
  background: url("./src/img/csr/banner.jpg") center/cover no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .csr__banner {
    height: 360px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    background: url("./src/img/csr/banner-sp.jpg") center/cover no-repeat;
    padding-block: 40px;
    margin-bottom: 40px;
  }
}
.csr__container {
  width: 100%;
}
.csr__heading {
  font-size: 4rem;
  line-height: 1.75em;
  margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
  .csr__heading {
    line-height: unset;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .csr__heading {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .csr__heading {
    font-size: 22px;
  }
}
.csr__main {
  width: 100%;
  background: url("./src/img/csr/csr-bg.png") top/cover no-repeat;
  padding-bottom: 100px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .csr__main {
    padding-bottom: 50px;
    margin-bottom: 40px;
  }
}
.csr__wrapper {
  width: 100%;
  max-width: 1220px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 5px;
  padding: 48px 56px;
}
@media screen and (max-width: 1024px) {
  .csr__wrapper {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .csr__wrapper {
    padding: 24px;
  }
}
.csr__text {
  margin-bottom: 40px;
}
.csr__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .csr__list {
    gap: 16px;
    margin-bottom: 40px;
  }
}
.csr__item {
  width: calc(50% - 10px);
  background-color: #fff;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 16px 32px;
}
@media screen and (max-width: 1024px) {
  .csr__item {
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .csr__item {
    width: 100%;
  }
}
.csr__title {
  font-size: 2rem;
  font-weight: 700;
  color: #111986;
  padding-left: 20px;
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
}
@media screen and (max-width: 1024px) {
  .csr__title {
    font-size: 16px;
  }
}
.csr__title::before {
  content: "";
  width: 10px;
  height: 4px;
  background-color: #4046d5;
  border-radius: 1px;
  position: absolute;
  top: 12px;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .csr__title::before {
    top: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .csr__desc {
    font-size: 14px;
  }
}
.csr__goal-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 19px;
  margin-block: 40px 56px;
}
@media screen and (max-width: 767px) {
  .csr__goal-list {
    gap: 16px;
  }
}
.csr__goal-item {
  width: 262px;
  height: 255px;
  background-color: #fff;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .csr__goal-item {
    width: calc(50% - 8px);
    height: auto;
    padding: 16px;
  }
}
.csr__goal-img {
  width: 144px;
  height: 144px;
  display: block;
  margin: 0 auto 15px;
}
@media screen and (max-width: 767px) {
  .csr__goal-img {
    width: 100%;
    height: auto;
    aspect-ratio: 144/144;
  }
}
.csr__goal-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
  line-height: 1.5em;
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .csr__goal-title {
    font-size: 12px;
    line-height: unset;
  }
}
.csr__highlight {
  font-size: 2.4rem;
  font-weight: 700;
  color: #111986;
  line-height: 2em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .csr__highlight {
    font-size: 18px;
    line-height: 1.8em;
  }
}
.csr__highlight--fw800 {
  font-weight: 800;
}
.csr__logo {
  width: 515px;
  height: 64px;
  margin: 80px 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .csr__logo {
    width: 300px;
    height: 37px;
    margin-top: 40px;
  }
}
.csr__cta {
  width: 1000px;
  height: 177px;
  display: block;
  margin: 55px auto 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .csr__cta {
    width: 100%;
    height: auto;
    margin-top: 40px;
  }
}
.csr__cta:hover {
  opacity: 0.8;
}

.ring__banner {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}
.ring__inner-row {
  gap: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1330px) {
  .ring__inner-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1330px) {
  .ring__inner-col {
    width: 100%;
  }
}
.ring__wrap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 30px 24px;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .ring__wrap {
    padding: 20px;
  }
}
.ring__heading {
  width: 100%;
  margin-bottom: 20px;
  position: relative;
  padding-left: 12px;
}
.ring__heading::before {
  content: "";
  width: 4px;
  height: 58px;
  background-color: #111986;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ring__subhead, .ring__title {
  width: 100%;
  display: block;
  font-weight: 700;
}
.ring__subhead {
  font-size: 1.4rem;
  color: #111986;
}
.ring__title {
  font-size: 2.4rem;
  color: #4046d5;
}
.ring__step-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 38px;
  margin-block: 27px 24px;
}
.ring__step-item {
  width: calc(50% - 19px);
  min-height: 64px;
  background-color: #111986;
  border-radius: 5px;
  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;
  position: relative;
}
@media screen and (max-width: 767px) {
  .ring__step-item {
    width: 45%;
  }
}
.ring__step-item:first-child::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: -25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ring__step-subhead, .ring__step-head {
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.ring__step-subhead {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .ring__step-subhead {
    font-size: 12px;
  }
}
.ring__step-head {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .ring__step-head {
    font-size: 16px;
  }
}
.ring__img-wrap {
  width: 100%;
  height: 155px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1330px) {
  .ring__img-wrap {
    height: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .ring__img-wrap > img {
    width: 80%;
    height: auto;
    margin: 24px auto 0;
  }
}
.ring__function {
  width: 100%;
  background: linear-gradient(-60deg, rgba(245, 248, 250, 0.4) 0%, rgba(224, 233, 249, 0.4) 40%);
  margin-top: 55px;
  padding: 34px 48px 65px;
}
@media screen and (max-width: 767px) {
  .ring__function {
    padding: 36px 15px 40px;
  }
}
.ring__function-head {
  font-size: 2.4rem;
  color: #4046d5;
  text-align: center;
  border-bottom: 1px solid #111986;
  padding-bottom: 13px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .ring__function-head {
    font-size: 20px;
  }
}
.ring__function-illus {
  margin-top: 35px;
}
.ring__table, .ring__thead, .ring__tbody {
  border-collapse: collapse;
}
.ring__table {
  width: 100%;
  margin-top: 40px;
}
.ring__thead {
  height: 48px;
}
.ring__thead-title {
  width: 50%;
  background-color: #111986;
  border-radius: 5px 0 0 5px;
  font-size: 1.6rem;
  color: #fff;
  text-align: left;
  padding-inline: 25px;
}
@media screen and (max-width: 767px) {
  .ring__thead-title {
    padding-inline: 10px;
    text-align: center;
  }
}
.ring__thead-title:last-child {
  border-radius: 0 5px 5px 0;
  position: relative;
}
.ring__thead-title:last-child::before {
  content: "";
  width: 1px;
  height: 36px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.ring__tbody-label, .ring__tbody-info {
  font-size: 1.6rem;
  border-bottom: 1px solid rgba(17, 25, 134, 0.2);
  padding: 12px 25px;
}
@media screen and (max-width: 767px) {
  .ring__tbody-label, .ring__tbody-info {
    font-size: 14px;
    text-align: center;
    padding-inline: 8px;
  }
}
.ring__tbody-label {
  font-weight: 700;
  color: #111987;
}
.ring__tbody-info {
  color: #333;
}

.navi__main-heading {
  margin-bottom: 32px;
}
.navi__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 29px;
  margin-top: 48px;
}
@media screen and (max-width: 1330px) {
  .navi__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 56px 0;
  }
}
.navi__item {
  min-width: 264px;
  position: relative;
}
@media screen and (max-width: 1330px) {
  .navi__item {
    width: 100%;
    max-width: 500px;
  }
}
.navi__item:not(:last-child)::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 60%;
  right: -20px;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}
@media screen and (max-width: 1330px) {
  .navi__item:not(:last-child)::after {
    top: unset;
    left: 50%;
    right: unset;
    bottom: -35px;
    -webkit-transform: translate(-50%, 0) rotate(90deg);
            transform: translate(-50%, 0) rotate(90deg);
  }
}
.navi__num {
  width: 48px;
  height: 48px;
  background-color: #4046d5;
  border-radius: 50%;
  font: 700 2rem "Montserrat", sans-serif;
  color: #fff;
  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;
}
.navi__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.navi__heading-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4046d5;
  line-height: 1.5em;
}
.navi__img-wrap {
  width: 100%;
  min-height: 200px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  overflow: hidden;
  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;
}
.navi__img--01 {
  width: 232px;
  height: 126px;
}
.navi__img--02 {
  width: 158px;
  height: 168px;
}
.navi__img--03 {
  width: 256px;
  height: 198px;
}

.interview__banner {
  width: 100%;
  height: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .interview__banner {
    height: 560px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 40px;
  }
}
.interview__banner-img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .interview__banner-cntr {
    width: calc(100% - 19px);
  }
}
.interview__detail {
  width: 100%;
  max-width: 450px;
  margin-top: 68px;
}
@media screen and (max-width: 767px) {
  .interview__detail {
    margin-top: 20px;
    max-width: 100%;
  }
}
.interview__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #111986;
}
.interview__name {
  font-size: 2.4rem;
  font-weight: 700;
  color: #333;
  width: 100%;
  display: inline-block;
  border-bottom: 1px solid #111986;
  padding-bottom: 13px;
  margin-block: 7px 15px;
}
@media screen and (max-width: 767px) {
  .interview__name {
    margin-block: 0 12px;
    padding-bottom: 8px;
  }
}
.interview__label {
  font-size: 1.4rem;
  font-weight: 700;
  color: #111986;
  background-color: #fff;
  border: 1px solid #111986;
  border-radius: 5px;
  padding: 2px 11px 3px;
  display: inline-block;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .interview__label {
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.interview__entry {
  width: 112px;
  height: 112px;
  background-color: #fff;
  border: 2px solid #4046d5;
  border-radius: 50%;
  -webkit-box-shadow: 5px 5px 20px rgba(59, 111, 234, 0.64);
          box-shadow: 5px 5px 20px rgba(59, 111, 234, 0.64);
  font-size: 2.4rem;
  font-weight: 500;
  color: #4046d5;
  text-align: center;
  position: fixed;
  right: 36px;
  bottom: 47px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .interview__entry {
    width: 64px;
    height: 64px;
    font-size: 14px;
    right: 15px;
    bottom: 17px;
  }
}
.interview__entry:hover {
  color: #fff;
  background-color: #111986;
  -webkit-box-shadow: unset;
          box-shadow: unset;
}
.interview__entry-sub {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.08em;
}
@media screen and (max-width: 767px) {
  .interview__entry-sub {
    font-size: 7px;
  }
}
.interview__wrapper--bg {
  background: -webkit-gradient(linear, left top, right top, from(rgb(245, 248, 250)), to(rgb(224, 233, 249)));
  background: linear-gradient(90deg, rgb(245, 248, 250) 0%, rgb(224, 233, 249) 100%);
  margin-block: 100px;
  padding-block: 65px 100px;
}
@media screen and (max-width: 767px) {
  .interview__wrapper--bg {
    margin-block: 65px;
    padding-block: 65px;
  }
}
.interview__wrapper--last {
  margin-bottom: 0;
  padding-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .interview__wrapper--last {
    padding-bottom: 200px;
  }
}
.interview__row, .interview__inner-row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.interview__row {
  padding: 0 4%;
  margin: 0 auto;
  max-width: calc(1222px + 8%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 86px 54px;
}
@media screen and (max-width: 767px) {
  .interview__row {
    max-width: 100%;
    padding: 0 15px;
  }
}
@media screen and (max-width: 1024px) {
  .interview__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 48px 32px;
  }
}
.interview__row--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 33px;
}
.interview__row--rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 1024px) {
  .interview__row--rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.interview__row--mx1000 {
  max-width: calc(1000px + 8%);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 120px;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .interview__row--mx1000 {
    max-width: 100%;
    padding: 0;
    margin-top: 80px;
    gap: 48px;
  }
}
@media screen and (max-width: 1024px) {
  .interview__inner-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.interview__inner-col {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .interview__inner-col {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .interview__inner-wrap {
    padding-inline: 4%;
  }
}
@media screen and (max-width: 767px) {
  .interview__inner-wrap {
    padding-inline: 15px;
  }
}
@media screen and (max-width: 767px) {
  .interview__inner-wrap .interview__question {
    margin-bottom: 35px;
  }
}
.interview__img {
  width: 556px;
  height: 600px;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .interview__img {
    width: 100%;
    height: auto;
  }
}
.interview__img--w1000 {
  width: 100%;
  max-width: 1000px;
  height: 425px;
}
@media screen and (max-width: 767px) {
  .interview__img--w1000 {
    max-width: 393px;
    height: 240px;
  }
}
.interview__wrap {
  width: calc(100% - 610px);
}
@media screen and (max-width: 1024px) {
  .interview__wrap {
    width: 100%;
  }
}
.interview__question {
  font-size: 1.6rem;
  font-weight: 900;
  color: #111986;
}
.interview__question--center {
  text-align: center;
  margin-bottom: 40px;
}
.interview__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75em;
  color: #333;
  display: block;
  margin-block: 33px 43px;
}
@media screen and (max-width: 767px) {
  .interview__title {
    font-size: 20px;
    line-height: 1.5em;
    margin-block: 32px 40px;
  }
}
.interview__title--mb0 {
  margin-block: 0;
}
@media screen and (max-width: 1024px) {
  .interview__title--mb0 {
    margin-bottom: 42px;
  }
}
.interview__section {
  background: url("./src/img/interview/bg.png") top right/cover no-repeat;
  padding-block: 96px 100px;
}
@media screen and (max-width: 767px) {
  .interview__section {
    padding-block: 60px;
  }
}
.interview__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 64px;
  margin-top: 67px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .interview__list {
    gap: 26px;
  }
}
.interview__item {
  width: calc(50% - 32px);
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .interview__item {
    width: calc(50% - 13px);
  }
}
@media screen and (max-width: 767px) {
  .interview__item {
    width: 100%;
  }
}
.interview__item::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  right: 15px;
  bottom: 13px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.interview__item:hover {
  opacity: 0.5;
}
.interview__item:hover::after {
  right: 0;
}
.interview__item-img {
  width: 100%;
  height: 280px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .interview__item-img {
    height: auto;
    aspect-ratio: 578/280;
  }
}
.interview__item-label {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111986;
  letter-spacing: 0.1em;
  line-height: 1em;
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(17, 25, 134, 0.5);
  border-radius: 5px;
  padding: 5px 10px 6px;
  position: absolute;
  top: 18px;
  left: 16px;
}
@media screen and (max-width: 767px) {
  .interview__item-label {
    font-size: 14px;
  }
}
.interview__item-title {
  width: 120px;
  height: 120px;
  background-color: #111986;
  border-radius: 5px;
  position: absolute;
  top: 176px;
  left: 16px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
@media screen and (max-width: 767px) {
  .interview__item-title {
    width: 90px;
    height: 90px;
    top: 35%;
  }
}
.interview__item-sub {
  font: 500 1.2rem "Montserrat", sans-serif;
  color: rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
  .interview__item-sub {
    font-size: 10px;
  }
}
.interview__item-sub > .fs16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .interview__item-sub > .fs16 {
    font-size: 14px;
  }
}
.interview__item-position {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .interview__item-position {
    font-size: 18px;
  }
}
.interview__item-wrap {
  padding-block: 7px 10px;
}
.interview__item-name {
  font-size: 2.4rem;
  font-weight: 700;
  color: #333;
  display: inline-block;
  margin-right: 27px;
}
@media screen and (max-width: 767px) {
  .interview__item-name {
    font-size: 20px;
  }
}
.interview__item-text {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .interview__item-text {
    font-size: 14px;
  }
}
.interview__cta {
  width: 100%;
  min-height: 379px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(17, 25, 134)), to(rgb(95, 140, 213)));
  background: linear-gradient(180deg, rgb(17, 25, 134) 0%, rgb(95, 140, 213) 100%);
  padding-block: 100px;
  position: relative;
}
.interview__cta-container {
  height: 100%;
}
.interview__cta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .interview__cta-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.interview__cta-link {
  width: calc(50% - 7px);
  height: 179px;
  background-color: rgba(255, 255, 255, 0.25);
  -webkit-backdrop-filter: blur(5px) brightness(1.1);
          backdrop-filter: blur(5px) brightness(1.1);
  border: 1px solid #fff;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .interview__cta-link {
    width: 100%;
    height: 120px;
    gap: 5px;
  }
}
.interview__cta-link::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("./src/img/icons/caret.svg") center/cover;
  position: absolute;
  top: 50%;
  left: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .interview__cta-link::before {
    width: 16px;
    height: 16px;
    left: 20px;
  }
}
.interview__cta-link:hover {
  background-color: #fff;
}
.interview__cta-link:hover::before {
  background: url("./src/img/icons/caret-blue.svg") center/cover;
}
.interview__cta-link:hover .interview__cta-en,
.interview__cta-link:hover .interview__cta-ja {
  color: #111986;
}
.interview__cta-en {
  font: 700 1.6rem "Montserrat", sans-serif;
  color: rgba(255, 255, 255, 0.4);
}
.interview__cta-ja {
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .interview__cta-ja {
    font-size: 20px;
  }
}
.interview__marquee {
  width: 100%;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
}
.interview__marquee-track {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 130px;
  -webkit-animation: scroll 20s linear infinite;
          animation: scroll 20s linear infinite;
}
@media screen and (max-width: 767px) {
  .interview__marquee-track {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0 80px;
    -webkit-animation: scroll 10s linear infinite;
            animation: scroll 10s linear infinite;
  }
}
.interview__marquee-text {
  font: 700 12.6rem "Montserrat", sans-serif;
  color: rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .interview__marquee-text {
    font-size: 80px;
  }
}
.interview__offtime {
  width: 100%;
  max-width: 1000px;
  min-height: 383px;
  background-color: #fff;
  -webkit-box-shadow: 0 10px 20px rgba(0, 102, 255, 0.16);
          box-shadow: 0 10px 20px rgba(0, 102, 255, 0.16);
  border: 2px solid #4046d5;
  border-radius: 5px;
  display: block;
  margin: -120px auto 100px;
  padding: 56px;
}
@media screen and (max-width: 1024px) {
  .interview__offtime {
    max-width: 92%;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .interview__offtime {
    padding: 24px 20px;
  }
}
.interview__offtime-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px 54px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .interview__offtime-row {
    row-gap: 54px;
  }
}
@media screen and (max-width: 1024px) {
  .interview__offtime-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.interview__offtime-content {
  width: calc(100% - 344px);
}
@media screen and (max-width: 1024px) {
  .interview__offtime-content {
    width: 100%;
  }
}
.interview__offtime-desc {
  color: #111986;
  text-align: justify;
  padding-top: 8px;
}
@media screen and (max-width: 767px) {
  .interview__offtime-desc {
    padding-top: 0;
  }
}
.interview__offtime-desc--fs14 {
  font-size: 1.4rem;
  line-height: 1.7857142857em;
  margin-top: 20px;
}
.interview__offtime-desc .bold {
  font-weight: 700;
}
.interview__offtime-img {
  width: 290px;
  height: 271px;
  border-radius: 5px;
  overflow: hidden;
}

.supply {
  color: #333;
}
.supply__banner {
  width: 100%;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .supply__banner {
    margin-bottom: 64px;
  }
}
.supply__text {
  font-size: 1.6rem;
  line-height: 2em;
}
.supply__main {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .supply__main {
    margin-top: 56px;
  }
}
.supply__item {
  padding-block: 80px;
  border-bottom: 2px solid #e4e6ef;
}
@media screen and (max-width: 767px) {
  .supply__item {
    padding-block: 64px 16px;
    border-bottom: none;
  }
}
.supply__item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.supply__heading {
  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;
  height: 48px;
}
@media screen and (max-width: 1200px) {
  .supply__heading {
    height: unset;
    line-height: unset;
  }
}
.supply__heading--mb56 {
  margin-bottom: 56px;
}
.supply__heading--with-tag {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .supply__heading--with-tag {
    margin-bottom: 12px;
  }
}
.supply__heading h3 {
  font-size: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width: 1200px) {
  .supply__heading h3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .supply__heading h3 {
    font-size: 22px;
  }
}
.supply__heading span {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .supply__heading span {
    font-size: 14px;
  }
}
.supply__heading-logo {
  max-width: 174px;
}
@media screen and (max-width: 767px) {
  .supply__heading-logo {
    max-width: 115px;
  }
}
.supply__tag {
  padding: 2px 12px 3px;
  border: 1px solid #111986;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
  color: #111986;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .supply__tag {
    font-size: 14px;
    padding: 1px 12px 2px;
  }
}
.supply__subheading {
  margin-bottom: 16px;
}
.supply__buddycom-wrap-head {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-wrap-head {
    margin-block: 40px 24px;
  }
}
.supply__list-wrap--2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .supply__list-wrap--2 {
    grid-template-columns: 1fr;
    gap: 64px;
  }
}
.supply__list {
  padding: 16px 16px 16px 32px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .supply__list {
    padding-inline: 7px;
  }
}
.supply__list--before, .supply__list--after {
  padding: 40px 15px 30px;
  position: relative;
  left: 5px;
}
@media screen and (max-width: 767px) {
  .supply__list--before, .supply__list--after {
    padding: 24px 7px 16px;
  }
}
.supply__list--before::before, .supply__list--after::before {
  position: absolute;
  top: -24px;
  left: -5px;
  padding: 7px 16px 9px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
}
.supply__list--before::before {
  content: "これまで";
  border: 1px solid #111986;
  color: #111986;
  background-color: #fff;
}
.supply__list--before::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -31px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 32px;
  background: url("./src/img/icons/caret-big.svg") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .supply__list--before::after {
    top: unset;
    bottom: -48px;
    right: 50%;
    -webkit-transform: translateX(50%) rotate(90deg);
            transform: translateX(50%) rotate(90deg);
  }
}
.supply__list--before .supply__list-item {
  font-weight: 400;
}
.supply__list--after {
  background-color: #f5f6fa;
}
.supply__list--after::before {
  content: "これから";
  background-color: #4046d5;
  color: #fff;
}
.supply__list--after .supply__list-item {
  font-weight: 500;
  color: #111986;
}
.supply__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75em;
}
.supply__list-item::before {
  content: "";
  position: relative;
  top: 12px;
  max-width: 10px;
  width: 100%;
  height: 4px;
  background: #4046d5;
  border-radius: 1px;
}
.supply__list-item:not(:last-of-type) {
  margin-bottom: 12px;
}
.supply__buddycom-head {
  font-size: 2.4rem;
  font-weight: 900;
  color: #111986;
  margin-block: 72px 40px;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-head {
    font-size: 1.8rem;
    margin-block: 56px 32px;
  }
}
.supply__buddycom-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 56px 40px;
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.supply__buddycom-item--full {
  grid-area: 3/1/4/3;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-item--full {
    grid-area: unset;
  }
}
.supply__buddycom-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-heading {
    gap: 12px;
  }
}
.supply__buddycom-heading h6 {
  font-size: 2rem;
  font-weight: 700;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-heading h6 {
    font-size: 18px;
  }
}
.supply__buddycom-count {
  background-color: #4046d5;
  border-radius: 50%;
  max-width: 48px;
  width: 100%;
  height: 48px;
  font-size: 2rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  line-height: 1em;
  color: #fff;
  text-align: center;
  padding-block: 14px;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-count {
    max-width: 36px;
    height: 36px;
    font-size: 16px;
    padding-block: 11px;
  }
}
.supply__buddycom-item-wrap {
  background-color: #f5f6fa;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  padding: 32px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .supply__buddycom-item-wrap {
    padding: 24px 12px;
  }
}
.supply__buddycom-item-heading {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75em;
}
.supply__buddycom-item-subheading {
  font-size: 1.6rem;
  line-height: 1.75em;
}
.supply__buddycom-item-content--1 {
  margin-top: 24px;
}
.supply__buddycom-item-content--2 {
  margin-top: 17px;
}
.supply__buddycom-item-content--4 {
  margin-top: 24px;
}
.supply__buddycom-note {
  margin-top: 52px;
  padding: 16px 24px;
  border-radius: 5px;
  background-color: #111986;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.75em;
  font-weight: 700;
}
.supply__papimo-wrap {
  margin-top: 40px;
}
.supply__papimo-image {
  margin-top: 16px;
}
.supply__esco-image {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .supply__esco-image {
    margin-bottom: 24px;
  }
}
.supply__esco-wrap {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .supply__esco-wrap {
    margin-top: 48px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.supply__prevention-text {
  margin-bottom: 15px;
}
.supply__prevention-list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 29px;
}
@media screen and (max-width: 767px) {
  .supply__prevention-list {
    grid-template-columns: 1fr;
    width: 320px;
    margin-inline: auto;
  }
}
.supply__prevention-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .supply__prevention-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    font-weight: 700;
  }
}
.supply__prevention-item-image {
  border-radius: 5px;
  overflow: hidden;
}
.supply__img-text {
  font-weight: 700;
  color: #707070;
}
.supply__counter-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .supply__counter-wrap {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}
.supply__counter-item {
  border-radius: 5px;
}
.supply__counter-item--before, .supply__counter-item--after {
  position: relative;
  left: 5px;
}
.supply__counter-item--before::before, .supply__counter-item--after::before {
  position: absolute;
  top: -20px;
  left: -5px;
  padding: 7px 23px 9px;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
}
.supply__counter-item--before::before {
  content: "BEFORE";
  border: 1px solid #111986;
  color: #111986;
  background-color: #fff;
}
.supply__counter-item--before::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -31px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 32px;
  background: url("./src/img/icons/caret-big.svg") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .supply__counter-item--before::after {
    top: unset;
    bottom: -40px;
    right: 50%;
    -webkit-transform: translateX(50%) rotate(90deg);
            transform: translateX(50%) rotate(90deg);
  }
}
.supply__counter-item--after {
  background-color: #f5f6fa;
}
.supply__counter-item--after::before {
  content: "AFTER";
  background-color: #4046d5;
  border: 1px solid #fff;
  color: #fff;
}
.supply__carpet-wrap {
  display: grid;
  grid-template-columns: 36.85% 58.22%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.69%;
}
@media screen and (max-width: 767px) {
  .supply__carpet-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.supply__carpet-image-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .supply__carpet-image-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    width: 240px;
    margin-inline: auto;
  }
}
.supply__carpet-image-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .supply__carpet-image-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.supply__carpet-image-text {
  font-size: 1.6rem;
  font-weight: 700;
}
.supply__partition-wrap {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 40px;
}
@media screen and (max-width: 767px) {
  .supply__partition-wrap {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.supply__partition-item-text {
  grid-area: 2/1/3/3;
}
@media screen and (max-width: 767px) {
  .supply__partition-item-text {
    grid-area: unset;
    margin-top: 16px;
  }
}
.supply__partition-item-text th,
.supply__partition-item-text td {
  font-size: 16px;
  font-weight: 400;
  text-align: left;
}

.yudo__wrapper--bg-gradient {
  padding-top: 100px;
  background: -webkit-gradient(linear, left bottom, right top, from(rgba(237, 237, 245, 0.4)), to(rgba(224, 233, 249, 0.4)));
  background: linear-gradient(to top right, rgba(237, 237, 245, 0.4), rgba(224, 233, 249, 0.4));
}
@media screen and (max-width: 767px) {
  .yudo__wrapper--bg-gradient {
    padding-top: 80px;
  }
}
.yudo__main {
  margin-bottom: 103px;
}
@media screen and (max-width: 767px) {
  .yudo__main {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .yudo__block-banner {
    margin-bottom: 40px !important;
  }
}
.yudo__block-heading {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .yudo__block-heading {
    margin-bottom: 20px;
  }
}
.yudo__block-heading > .fs-32 {
  font-size: 3.2rem;
}
.yudo__block-main {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .yudo__block-main {
    margin-top: 50px;
  }
}
.yudo__block-ctr:not(:last-child) {
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .yudo__block-ctr:not(:last-child) {
    margin-top: 40px;
  }
}
.yudo__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .yudo__column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .yudo__column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
.yudo__column-image {
  padding: 24px 32px;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #e4e6ef;
}
.yudo__column-image--p-secondary {
  padding: 24px 16px;
}
.yudo__column-image.mx-405 {
  max-width: 405px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .yudo__column-image.mx-405 {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .yudo__column-image.mx-405 {
    max-width: 100%;
  }
}
.yudo__column-image.mn-550 {
  min-width: 64.71%;
}
.yudo__analysis {
  margin-top: 56px;
}
.yudo__analysis-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  padding-bottom: 148px;
}
@media screen and (max-width: 767px) {
  .yudo__analysis-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 80px;
    padding-bottom: 80px;
  }
}
.yudo__analysis-list::before {
  content: "";
  width: 80px;
  height: 80px;
  background: url("./src/img/icons/cross.svg") center/contain no-repeat;
  position: absolute;
  top: 137px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 1025px) and (max-width: 1300px) {
  .yudo__analysis-list::before {
    width: calc(40px + (80 - 40) * (100vw - 1025px) / (1300 - 1025));
    height: calc(40px + (80 - 40) * (100vw - 1025px) / (1300 - 1025));
  }
}
@media screen and (min-width: 768px) and (max-width: 850px) {
  .yudo__analysis-list::before {
    width: calc(40px + (80 - 40) * (100vw - 768px) / (850 - 768));
    height: calc(40px + (80 - 40) * (100vw - 768px) / (850 - 768));
  }
}
@media screen and (max-width: 767px) {
  .yudo__analysis-list::before {
    width: 40px;
    height: 40px;
    top: calc(50% - 40px);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.yudo__analysis-list::after {
  content: "";
  width: 120px;
  height: 67px;
  background: url("./src/img/yudo/arrow-down.svg") center/contain no-repeat;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 1025px) and (max-width: 1300px) {
  .yudo__analysis-list::after {
    width: calc(90px + (120 - 90) * (100vw - 1025px) / (1300 - 1025));
    height: calc(37px + (67 - 37) * (100vw - 1025px) / (1300 - 1025));
  }
}
@media screen and (min-width: 768px) and (max-width: 850px) {
  .yudo__analysis-list::after {
    width: calc(90px + (120 - 90) * (100vw - 768px) / (850 - 768));
    height: calc(37px + (67 - 37) * (100vw - 768px) / (850 - 768));
  }
}
@media screen and (max-width: 767px) {
  .yudo__analysis-list::after {
    width: 100px;
    height: 47px;
  }
}
.yudo__analysis-item {
  position: relative;
  width: 318px;
  padding: 24px 60px 54px;
  border-radius: 5px;
  background-color: #111986;
  color: #fff;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 1025px) and (max-width: 1300px) {
  .yudo__analysis-item {
    width: calc(250px + (318 - 250) * (100vw - 1025px) / (1300 - 1025));
    padding: 24px calc(20px + (60 - 20) * (100vw - 1025px) / (1300 - 1025)) 54px;
  }
}
@media screen and (max-width: 767px) {
  .yudo__analysis-item {
    max-width: 318px;
    width: 100%;
    margin: 0 auto 148px;
  }
}
.yudo__analysis-item--violet {
  background-color: #602582;
}
.yudo__analysis-item--violet .yudo__analysis-info-title {
  color: #602582;
}
.yudo__analysis-item--violet .yudo__analysis-info {
  background: url("./src/img/yudo/chatbox-violet.svg") center/cover no-repeat;
}
.yudo__analysis-subtitle {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 12px;
}
.yudo__analysis-title {
  font-size: 2.8rem;
}
.yudo__analysis-icon {
  max-width: 163px;
  margin: 0 auto;
}
.yudo__analysis-info {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  min-width: 199px;
  height: 134px;
  text-align: center;
  background: url("./src/img/yudo/chatbox.svg") center/cover no-repeat;
  padding: 20px 0;
  margin-top: 24px;
}
.yudo__analysis-info-title {
  font-size: 2rem;
  color: #111986;
  margin-bottom: 12px;
}
.yudo__analysis-info-text {
  font-size: 1.4rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #333;
}
.yudo__analysis-image {
  width: 79.25%;
  position: absolute;
  bottom: -148px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.yudo__analysis-data {
  padding: 40px 55px;
  margin-top: 32px;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  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: 75px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .yudo__analysis-data {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .yudo__analysis-data {
    padding: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
.yudo__analysis-data-title {
  font-size: 3.2rem;
  color: #4046d5;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .yudo__analysis-data-title {
    font-size: 20px;
  }
}
.yudo__analysis-data-image {
  width: 59.6%;
  margin: 0 auto;
  -webkit-filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.08));
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .yudo__analysis-data-image {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .yudo__analysis-data-image {
    width: 100%;
  }
}
.yudo__analysis-chart {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
  margin-top: 81px;
}
@media screen and (max-width: 767px) {
  .yudo__analysis-chart {
    grid-template-columns: 1fr;
    gap: 80px;
    max-width: 388px;
    margin: 50px auto 0;
  }
}
.yudo__analysis-chart::before {
  content: "";
  width: 16px;
  height: 32px;
  background: url("./src/img/yudo/chart-arrow.svg") center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: calc(50% + 8px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .yudo__analysis-chart::before {
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
}
.yudo__analysis-chart-image {
  position: relative;
  padding: 24px 0 0 13px;
}
.yudo__analysis-chart-image-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111986;
  padding: 7px 16px 9px;
  background-color: #fff;
  border: 1px solid #111986;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 0;
}
.yudo__analysis-chart-image-title--blue {
  background-color: #4046d5;
  color: #fff;
  border: none;
}

@media screen and (max-width: 767px) {
  .atari {
    overflow-x: hidden;
    padding-bottom: 100px;
  }
}
.atari__banner {
  margin-bottom: 64px;
}
.atari__info-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 22px;
  margin-bottom: 33px;
}
@media screen and (max-width: 767px) {
  .atari__info-list {
    gap: 9px;
  }
}
.atari__info-item {
  min-width: 126px;
  background-color: #4046d5;
  border-radius: 5px;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 7px;
}
@media screen and (max-width: 767px) {
  .atari__info-item {
    font-size: 16px;
    min-width: unset;
    padding: 5px 9px;
  }
}
@media screen and (max-width: 767px) {
  .atari__illus {
    width: 100%;
  }
}
.atari__model {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px 39px;
  margin-top: 45px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1025px) {
  .atari__model {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .atari__model {
    gap: 24px 0;
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .atari__model::before {
    content: "";
    width: 702px;
    height: calc(100% + 100px);
    background: url("./src/img/atari/deco.svg") center/cover no-repeat;
    position: absolute;
    top: 60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
}
.atari__model-main {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (min-width: 1025px) and (max-width: 1330px) {
  .atari__model-main {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
  }
}
@media screen and (max-width: 1330px) {
  .atari__model-main {
    position: relative;
    top: unset;
    left: unset;
    -webkit-transform: unset;
            transform: unset;
    margin: 0 auto 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025px) {
  .atari__model-main {
    margin-bottom: 0;
  }
}
.atari__model-item {
  width: calc(50% - 19.5px);
  min-height: 445px;
  background: linear-gradient(-45deg, rgba(245, 248, 250, 0.4) 0%, rgba(224, 233, 249, 0.4) 100%);
  padding: 30px;
  position: relative;
}
@media screen and (max-width: 1025px) {
  .atari__model-item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .atari__model-item {
    min-height: 442px;
    padding: 12px;
  }
}
@media screen and (max-width: 767px) {
  .atari__model-item::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
  }
}
@media screen and (max-width: 767px) {
  .atari__model-item--01::before, .atari__model-item--04::before {
    height: calc(100% + 24px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .atari__model-item--01::before {
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .atari__model-item--04::before {
    top: unset;
    bottom: 0;
  }
}
@media screen and (max-width: 1330px) {
  .atari__model-item .text-right {
    text-align: left;
  }
}
.atari__model-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .atari__model-heading {
    margin-bottom: 15px;
  }
}
.atari__model-heading--end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 1330px) {
  .atari__model-heading--end {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.atari__model-num {
  width: 48px;
  height: 48px;
  background-color: #4046d5;
  border-radius: 50%;
  font: 700 2rem "Montserrat", sans-serif;
  color: #fff;
  margin-right: 16px;
  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;
}
@media screen and (max-width: 767px) {
  .atari__model-num {
    width: 36px;
    height: 36px;
    font-size: 16px;
    margin-right: 12px;
  }
}
.atari__model-title {
  font-size: 2rem;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .atari__model-title {
    font-size: 18px;
  }
}
.atari__model-img {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
@media screen and (max-width: 1024px) {
  .atari__model-img {
    margin: 0 auto;
  }
}
.atari__model-img--01 {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .atari__model-img--01 {
    margin: 16px auto 0;
  }
}
.atari__model-img--02 {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1330px) {
  .atari__model-img--02 {
    margin: 24px auto 0;
  }
}
.atari__model-img--03 {
  margin: 15px auto 24px;
}
.atari__model-img--04 {
  margin: 46px auto 24px;
}
@media screen and (max-width: 767px) {
  .atari__model-img--03, .atari__model-img--04 {
    margin: 24px auto;
  }
}
.atari__model-wrap {
  width: 100%;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  font-size: 1.3rem;
  font-weight: 400;
  color: #333;
  display: block;
  padding: 6px 15px;
  margin-block: 19px 7px;
}
@media screen and (max-width: 767px) {
  .atari__model-wrap {
    border: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.5em;
  }
}
.atari__model-head {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111986;
  border-left: 3px solid #111986;
  display: block;
  padding-left: 11px;
  margin-bottom: 8px;
}
.atari__model-text {
  font-size: 1.4rem;
  line-height: 1.5em;
}

.facecope__main-bnr picture,
.facecope__main-bnr img {
  display: block;
}
.facecope__subheading {
  font-weight: 900;
}
.facecope__subheading--solution {
  color: #333;
}
.facecope__subheading span {
  color: #4046d5;
}
.facecope__text18 {
  margin-bottom: 32px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .facecope__text18 {
    font-size: 16px;
  }
}
.facecope__subhead {
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.75em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .facecope__subhead {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 767px) {
  .facecope__figure {
    overflow-x: scroll;
    width: 100%;
  }
}
.facecope__figure--accuracy .scroll-hint-icon {
  top: calc(50% - 45px);
}
.facecope__img {
  display: block;
  max-width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .facecope__img--accuracy {
    max-width: 782px;
  }
}
@media screen and (max-width: 767px) {
  .facecope__img--auto {
    max-width: 650px;
  }
}
.facecope__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .facecope__grid {
    grid-template-columns: 100%;
    gap: 20px;
  }
}
.facecope__circle {
  position: relative;
  width: 124px;
  height: 124px;
  background: linear-gradient(45deg, rgb(17, 25, 134) 0%, rgb(95, 140, 213) 100%);
  border-radius: 50%;
  font-weight: 500;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  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;
}
@media screen and (max-width: 767px) {
  .facecope__circle {
    width: 110px;
    height: 110px;
    font-size: 16px;
  }
}
.facecope__circle::after {
  content: "";
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  inset: 3px;
}
.facecope__solution-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 24px 20px;
  counter-reset: pt;
}
.facecope__point {
  position: relative;
  margin-top: 32px;
  padding: 32px 24px;
  width: calc(33.33% - 13.5px);
  border: 1px solid #111986;
  border-radius: 5px;
  counter-increment: pt;
  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;
}
@media screen and (max-width: 767px) {
  .facecope__point {
    margin-top: 16px;
    width: 100%;
  }
}
.facecope__point:first-child, .facecope__point:nth-child(2) {
  width: calc(50% - 21px);
}
@media screen and (max-width: 767px) {
  .facecope__point:first-child, .facecope__point:nth-child(2) {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .facecope__point:nth-child(2) {
    margin-left: auto;
  }
}
.facecope__point-label {
  width: 64px;
  height: 64px;
  background: #111986;
  border-radius: 100%;
  font: 600 1.2rem "Montserrat", sans-serif;
  color: #fff;
  text-align: center;
  position: absolute;
  top: -32px;
  left: 12px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.facecope__point-label::after {
  content: counter(pt, decimal-leading-zero);
  display: block;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1em;
}
.facecope__point-text {
  font-weight: 700;
  font-size: 2rem;
  color: #111986;
  line-height: 1.6em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .facecope__point-text {
    font-size: 16px;
  }
}
.facecope__point-text--fs24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .facecope__point-text--fs24 {
    font-size: 18px;
  }
}
.facecope__accuracy-ai {
  margin-top: 72px;
}
.facecope__accuracy-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .facecope__accuracy-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .facecope__accuracy-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.facecope__accuracy-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.facecope__accuracy-figure {
  display: block;
  margin-inline: auto;
  width: 264px;
  height: 344px;
}
.facecope__accuracy-stability {
  margin-bottom: 0;
}
.facecope__features-container {
  border-top: 1px solid #e4e6ef;
}
.facecope__features-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 32px;
  margin: 24px 0 32px;
}
@media screen and (max-width: 767px) {
  .facecope__features-header {
    gap: 16px;
  }
}
.facecope__features-header-text {
  font-weight: 700;
  font-size: 3.9rem;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .facecope__features-header-text {
    font-size: 20px;
  }
}
.facecope__features-header-text span {
  font-size: 8.7rem;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .facecope__features-header-text span {
    font-size: 48px;
  }
}
.facecope__features-desc {
  padding-bottom: 20px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.75em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .facecope__features-desc {
    font-size: 18px;
  }
}
.facecope__detail-picture {
  display: block;
  aspect-ratio: 405/160;
}
.facecope__features-auto {
  margin-top: 80px;
}
.facecope__auto-picture {
  display: block;
  padding-top: 32px;
}
.facecope__security-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .facecope__security-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.facecope__security-picture {
  display: block;
  margin: -20.5px -22.5px;
  aspect-ratio: 264/252;
  overflow: hidden;
}
.facecope__skeletal-item {
  font-weight: 500;
}
.facecope__skeletal-item::before {
  top: 12px;
}
.facecope__skeletal-image {
  display: block;
  margin: 49px auto 22px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .facecope__skeletal-image {
    max-width: 850px;
  }
}
.facecope__skeletal-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 30px;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .facecope__skeletal-feature {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-inline: 0;
  }
}
.facecope__skeletal-feature:first-child {
  border-top: 1px solid #111986;
}
.facecope__skeletal-feature-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 150px;
  font-weight: 700;
  font-size: 1.6rem;
  color: #111987;
}
.facecope__skeletal-feature-number {
  margin-right: 8px;
  width: 22px;
  height: 22px;
  background: #111987;
  border-radius: 100%;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  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;
}
.facecope__skeletal-feature-number span {
  margin-top: -2px;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fff;
  line-height: 1em;
}
.facecope__skeletal-feature-desc {
  font-size: 1.6rem;
  line-height: 2em;
  color: #333;
}
.facecope__mktg-img {
  display: block;
  max-width: 100%;
  height: auto;
}
.facecope__vehicle {
  position: relative;
  padding-top: 34px;
}
@media screen and (max-width: 767px) {
  .facecope__vehicle {
    padding-top: 24px;
  }
}
.facecope__vehicle-chat {
  position: absolute;
  top: 0;
  left: 24px;
}
@media screen and (max-width: 767px) {
  .facecope__vehicle-chat {
    width: 100px;
  }
}
.facecope__vehicle-container {
  padding: 40px 24px;
  background: #f5f6fa;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
}
.facecope__vehicle-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 24px;
  font-weight: 900;
}
.facecope__vehicle-head span {
  margin-left: 16px;
  padding: 0 18px;
  background: #fff;
  border: 1px solid #101881;
  border-radius: 2px;
  font-weight: 700;
  font-size: 1.6rem;
  color: #111986;
}
.facecope__vehicle-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .facecope__vehicle-wrapper {
    grid-template-columns: 100%;
  }
}
.facecope__vehicle-text18 {
  margin-bottom: 16px;
}
.facecope__vehicle-chart {
  display: block;
  margin: 24px auto 0;
  max-width: 100%;
  aspect-ratio: 385/90;
}
.facecope__vehicle-picture {
  display: block;
  margin-inline: auto;
  aspect-ratio: 385/204;
}

.application .table__label {
  padding-inline: 56px 30px;
  width: 260px;
}
@media screen and (max-width: 767px) {
  .application .table__label {
    padding: 10px 10px 10px 0;
    width: 100px;
  }
}
.application .table__info {
  width: calc(100% - 260px);
}
.application__row-gap0 {
  gap: 0;
}
@media screen and (max-width: 767px) {
  .application__row-gap0 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
  }
}
.application__row-gap24 {
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .application__row-gap24 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-bottom: 10px;
  }
}
.application__row-mt12 {
  margin-top: 12px;
}
.application__table-col {
  min-width: 64px;
}
@media screen and (max-width: 767px) {
  .application__table-col {
    font-weight: 500;
  }
}
.application__button {
  margin: 80px auto 100px;
  width: 335px;
  height: 80px;
  background-color: #111986;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  border-radius: 5px;
  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;
  gap: 16px;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.application__button::before {
  content: "";
  position: relative;
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret.svg") center/16px no-repeat;
}
.application__button:hover {
  opacity: 0.8;
}
.application__guidelines {
  background-color: #f5f6fa;
  padding-block: 80px 100px;
}
.application__block-wrap {
  border: 1px solid #111986;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 800px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .application__block-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    margin-inline: auto;
  }
}
.application__block {
  max-width: 400px;
  padding: 24px 40px 40px;
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.application__block:not(:last-of-type)::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
  background-color: #111986;
}
@media screen and (max-width: 767px) {
  .application__block:not(:last-of-type)::after {
    width: 100%;
    height: 1px;
    top: unset;
    bottom: 0;
  }
}
.application__block.active {
  pointer-events: none;
}
.application__block.active::before {
  content: "";
  background-color: #e4e6ef;
  mix-blend-mode: darken;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.application__block.active:hover {
  opacity: 1;
}
.application__block:hover {
  opacity: 0.8;
}
.application__block-count {
  display: block;
  font: 500 1.6rem "Montserrat", sans-serif;
  letter-spacing: 0.1em;
  color: #111986;
  opacity: 0.4;
  margin-bottom: 12px;
}
.application__block-img {
  width: 100%;
}
.application__block-texts {
  margin-top: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
  color: #111986;
  position: relative;
}
.application__block-texts::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 3px;
  width: 14px;
  height: 14px;
  background: url("./src/img/icons/caret-blue.svg") center/14px no-repeat;
}
.active .application__block-texts {
  opacity: 0.4;
}
.application__block-title {
  font-size: 2.4rem;
  font-weight: 700;
}
.application__block-text {
  font-size: 14px;
  font-weight: 500;
}

.smart .product-related {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .smart__main-bnr {
    aspect-ratio: unset;
  }
}
.smart__main-block:not(:last-child) {
  padding-bottom: 24px;
  border-bottom: 1px solid #f5f6fa;
  margin-bottom: 24px;
}
.smart__main-block-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .smart__main-block-heading {
    gap: 20px;
  }
}
.smart__main-block-heading-icon {
  max-width: 68px;
}
@media screen and (max-width: 767px) {
  .smart__main-block-heading-icon {
    max-width: 48px;
  }
}
.smart__inner-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.smart__inner-item::before {
  top: 14px;
  -webkit-transform: none;
          transform: none;
}
.smart__inner-item-label {
  text-wrap: nowrap;
}
.smart__inner-item-text {
  font-weight: 400;
  line-height: 1.75em;
}

.g8-exsim .product-related {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .g8-exsim__main-bnr {
    aspect-ratio: 0;
  }
}
.g8-exsim__wrap-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .g8-exsim__wrap-head {
    gap: 16px;
  }
}
.g8-exsim__wrap-head-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.g8-exsim__wrap-head-icon {
  max-width: 40px;
}
@media screen and (max-width: 767px) {
  .g8-exsim__wrap-head-icon {
    max-width: 30px;
  }
}
.g8-exsim__wrap-subheading {
  font-size: 1.6rem;
  font-weight: 700;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .g8-exsim__wrap-subheading {
    font-size: 14px;
  }
}

.pbank__main-bnr {
  height: auto;
}
.pbank__img {
  margin-top: 24px;
}

.banknote {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .banknote {
    padding-bottom: 57px;
  }
}
.banknote__main-bnr {
  height: auto;
}
@media screen and (max-width: 767px) {
  .banknote__main-bnr {
    aspect-ratio: 726/932;
  }
}
.banknote__main {
  margin-top: 20px;
  height: -webkit-fill-available;
  height: -moz-available;
  height: fill-available;
}
@media screen and (max-width: 767px) {
  .banknote__main {
    margin-top: 0;
    height: auto;
  }
}
.banknote .product-related {
  height: 100%;
  margin-top: 0;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .banknote .product-related {
    height: auto;
  }
}
.banknote .product-related::before {
  height: calc(100% + 100px);
}
@media screen and (max-width: 767px) {
  .banknote .product-related::before {
    height: calc(100% + 57px);
  }
}

.prize__head {
  margin-bottom: 48px;
}
.prize__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 43px auto;
  gap: 0 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  .prize__item {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .prize__item {
    grid-template-columns: 1fr;
  }
}
.prize__item:not(:last-of-type) {
  margin-bottom: 64px;
}
.prize__item-img {
  grid-area: 1/2/3/3;
  max-width: 400px;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) and (max-width: 1250px) {
  .prize__item-img {
    grid-area: unset;
  }
}
@media screen and (max-width: 767px) {
  .prize__item-img {
    grid-area: unset;
  }
}
.prize__item-heading {
  height: 35px;
  margin-bottom: 8px;
  text-wrap: nowrap;
}
.prize .product__inner-item {
  font-weight: 500;
}
.prize .product__inner-item::before {
  top: 11px;
  -webkit-transform: unset;
          transform: unset;
}

.service__desc {
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .service__desc {
    margin-bottom: 32px;
  }
}
.service__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 1024px) {
  .service__list {
    gap: 20px;
  }
}
.service__link {
  width: 33.3333333333%;
  max-width: 380px;
  min-height: 114px;
  border: 1px solid #111986;
  border-radius: 5px;
  font-size: 2.6rem;
  font-weight: 700;
  color: #111986;
  line-height: 1.5em;
  text-align: center;
  position: relative;
  padding: 10px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  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;
}
@media screen and (max-width: 1024px) {
  .service__link {
    font-size: 20px;
    max-width: unset;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .service__link {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .service__link {
    width: 100%;
  }
}
.service__link::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/website-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 15px;
  right: 20px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.service__link:hover {
  background-color: #111986;
  color: #fff;
}
.service__link:hover::after {
  background: url("./src/img/icons/website.svg") center/cover no-repeat;
}

.p-recruit__row, .p-recruit__app-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1300px) {
  .p-recruit__row, .p-recruit__app-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-recruit__container {
  width: 100%;
  height: 100%;
}
.p-recruit__row {
  width: 100%;
  min-height: 425px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .p-recruit__row {
    min-height: 593px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-block: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__shadow {
    text-shadow: 0 0 6px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 50px rgb(255, 255, 255);
  }
}
.p-recruit__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-recruit__img img {
    -o-object-position: center;
       object-position: center;
  }
}
.p-recruit__sec-wrap {
  width: 100%;
  max-width: 65%;
}
@media screen and (max-width: 767px) {
  .p-recruit__sec-wrap {
    max-width: 100%;
    margin-bottom: 55px;
  }
}
.p-recruit__sec-wrap--52 {
  max-width: 52%;
}
@media screen and (max-width: 767px) {
  .p-recruit__sec-wrap--52 {
    max-width: 100%;
  }
}
.p-recruit__desc, .p-recruit__desc ~ p.text {
  text-shadow: 0 0 6px rgb(255, 255, 255), 0 0 20px rgb(255, 255, 255), 0 0 50px rgb(255, 255, 255);
}
.p-recruit__desc {
  font-size: 3.2rem;
  color: #333;
  margin-bottom: 15px;
}
.p-recruit__app {
  margin-bottom: 100px;
}
.p-recruit__app-row {
  gap: 32px;
}
.p-recruit__app-text {
  width: calc(100% - 832px);
}
@media screen and (max-width: 1300px) {
  .p-recruit__app-text {
    width: 100%;
  }
}
@media screen and (max-width: 1300px) {
  .p-recruit__app-block {
    margin: 0 auto;
  }
}
.p-recruit__sec {
  padding-block: 80px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-recruit__sec::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
.p-recruit__btn {
  width: 335px;
  height: 80px;
  background-color: #111986;
  font-size: 16px;
  color: #fff;
  margin-top: 55px;
}
.p-recruit__btn::before {
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
}

.support__heading {
  width: 100%;
  height: 400px;
  background: url("./src/img/support/support-main.jpg") center right/cover no-repeat;
  margin-bottom: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__heading {
    background-position: center right -200px;
  }
}
@media screen and (max-width: 767px) {
  .support__heading {
    background: url("./src/img/support/support-main-sp.jpg") bottom center/cover no-repeat;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-block: 40px;
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 767px) {
  .support__heading-text {
    margin-bottom: 30px;
  }
}
.support__phone {
  min-height: 255px;
  border: 1px solid #111986;
  border-radius: 5px;
  margin-bottom: 82px;
}
@media screen and (max-width: 767px) {
  .support__phone {
    margin-bottom: 60px;
  }
}
.support__phone-head {
  width: 100%;
  background-color: #111986;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: block;
  padding: 16px 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .support__phone-head {
    font-size: 14px;
  }
}
.support__phone-content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 48px;
  padding-block: 40px;
}
@media screen and (max-width: 1024px) {
  .support__phone-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-block: 20px;
  }
}
.support__phone-num {
  font: 700 8rem "Montserrat", sans-serif;
  color: #333;
  line-height: 1em;
}
@media screen and (min-width: 1024px) and (max-width: 1300px) {
  .support__phone-num {
    font-size: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__phone-num {
    font-size: 48px;
  }
}
@media screen and (max-width: 767px) {
  .support__phone-num {
    font-size: 32px;
  }
}
.support__phone-num::before {
  content: "";
  width: 72px;
  height: 72px;
  background: url("./src/img/support/icon-phone.svg") center/cover no-repeat;
  display: inline-block;
  margin-right: 24px;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__phone-num::before {
    width: 48px;
    height: 48px;
  }
}
@media screen and (max-width: 767px) {
  .support__phone-num::before {
    width: 32px;
    height: 32px;
    margin-right: 10px;
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
}
.support__phone-detail {
  border-left: 1px solid #e4e6ef;
  padding-left: 48px;
}
@media screen and (max-width: 1024px) {
  .support__phone-detail {
    border-left: 0;
    border-top: 1px solid #e4e6ef;
    padding: 24px 20px 0;
    margin-top: 24px;
  }
}
.support__phone-label {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  background-color: #e4e6ef;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 16px;
  border-radius: 5px;
  display: inline-block;
  margin-right: 24px;
}
@media screen and (max-width: 767px) {
  .support__phone-label {
    font-size: 16px;
  }
}
.support__phone-time {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333;
}
@media screen and (max-width: 767px) {
  .support__phone-time {
    font-size: 14px;
  }
}
.support__phone-desc {
  font-size: 1.4rem;
  line-height: 1.5em;
  margin-top: 20px;
}
.support__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px 64px;
}
@media screen and (max-width: 1300px) {
  .support__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.support__col {
  width: calc(50% - 32px);
  background-color: #f5f6fa;
  -webkit-box-shadow: 0 10px 20px rgba(17, 25, 134, 0.2);
          box-shadow: 0 10px 20px rgba(17, 25, 134, 0.2);
  border-radius: 5px;
  padding: 38px 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1300px) {
  .support__col {
    width: 100%;
    padding: 30px 20px;
  }
}
.support__col--purple {
  background-color: #fff;
  border: 1px solid rgba(138, 43, 131, 0.4);
}
.support__col--purple .support__icon {
  width: 143px;
  height: 104px;
}
.support__col--purple .support__title,
.support__col--purple .support__fee-head {
  color: #8a2b83;
}
.support__col--purple .support__subhead::after {
  background-color: #8a2b83;
}
.support__title {
  font-size: 3.2rem;
  font-weight: 900;
  color: #111986;
  margin-bottom: 35px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .support__title {
    font-size: 22px;
  }
}
.support__icon {
  width: 123px;
  height: 104px;
  margin-bottom: 40px;
}
.support__content {
  width: 100%;
  min-height: 148px;
  text-align: center;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(17, 25, 134, 0.4);
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .support__content {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
.support__content-title, .support__content-note {
  color: #333;
}
.support__content-title {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .support__content-title {
    font-size: 20px;
  }
}
.support__content-note {
  font-size: 1.6rem;
  line-height: 1.75em;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .support__content-note {
    font-size: 14px;
  }
}
.support__subhead {
  font-size: 2.4rem;
  font-weight: 900;
  color: #333;
  position: relative;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .support__subhead {
    font-size: 20px;
  }
}
.support__subhead::after {
  content: "";
  width: 31px;
  height: 4px;
  background-color: #111986;
  position: absolute;
  left: 50%;
  bottom: -12px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.support__fee {
  width: 100%;
  min-height: 117px;
  border-radius: 5px;
  border: 1px solid #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-block: 50px 16px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .support__fee {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.support__fee--mt24 {
  margin-top: 18px;
}
.support__fee-title {
  width: 80px;
  height: 100%;
  min-height: 117px;
  background-color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
  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;
}
@media screen and (max-width: 767px) {
  .support__fee-title {
    width: 100%;
    min-height: 58px;
    height: auto;
    padding: 5px;
  }
}
.support__fee-content {
  width: calc(100% - 80px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .support__fee-content {
    width: 100%;
    padding: 20px 10px;
  }
}
.support__fee-head {
  font-size: 2rem;
  font-weight: 900;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .support__fee-head {
    font-size: 16px;
  }
}
.support__fee-desc {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  margin-top: 8px;
}
.support__fee-text {
  width: 100%;
  text-align: left;
}
.support__banner {
  position: relative;
  width: 100%;
  height: 379px;
  background: url("./src/img/support/support-banner.jpg") right center/cover no-repeat;
  margin-block: 100px 65px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .support__banner {
    background-position: center;
  }
}
.support__banner::after {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#111986), color-stop(36%, rgba(94, 139, 212, 0.8392156863)), color-stop(64%, rgba(95, 140, 213, 0)), to(rgba(95, 140, 213, 0)));
  background: linear-gradient(to right, #111986 0%, rgba(94, 139, 212, 0.8392156863) 36%, rgba(95, 140, 213, 0) 64%, rgba(95, 140, 213, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .support__banner::after {
    background: -webkit-gradient(linear, left top, right top, from(#111986), color-stop(36%, rgba(94, 139, 212, 0.8392156863)), color-stop(100%, rgba(95, 140, 213, 0)), to(rgba(95, 140, 213, 0)));
    background: linear-gradient(to right, #111986 0%, rgba(94, 139, 212, 0.8392156863) 36%, rgba(95, 140, 213, 0) 100%, rgba(95, 140, 213, 0) 100%);
  }
}
.support__banner-cntnr {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.support__banner-heading, .support__banner-desc {
  color: #fff;
  text-shadow: 0 2px 10px rgba(17, 25, 134, 0.4);
}
.support__banner-heading {
  font-size: 4rem;
  margin-bottom: 48px;
}
@media screen and (max-width: 767px) {
  .support__banner-heading {
    font-size: 32px;
    line-height: 1.8em;
    margin-bottom: 24px;
  }
}
.support__banner-heading > span {
  position: relative;
}
.support__banner-heading > span::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: -6px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.support__area-head {
  font-size: 2.4rem;
  font-weight: 700;
  color: #111986;
}
@media screen and (max-width: 767px) {
  .support__area-head {
    font-size: 18px;
  }
}
.support__area-list {
  border-top: 1px solid #111986;
  margin-top: 40px;
  counter-reset: area;
  position: relative;
}
.support__area-list::before {
  content: "";
  width: 416px;
  height: 100%;
  background: linear-gradient(-45deg, rgb(224, 233, 249) 0%, rgb(245, 248, 250) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.4;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__area-list::before {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .support__area-list::before {
    display: none;
  }
}
.support__area-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 84px;
  border-bottom: 1px solid #ccc;
  counter-increment: area;
}
@media screen and (max-width: 767px) {
  .support__area-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.support__area-label, .support__area-address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.support__area-label {
  width: 416px;
  padding: 12px 24px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__area-label {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .support__area-label {
    width: 100%;
    background: linear-gradient(-45deg, rgb(224, 233, 249) 0%, rgb(245, 248, 250) 100%);
    padding: 16px;
  }
}
.support__area-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #111986;
  margin-right: 32px;
  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;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .support__area-num {
    margin-right: 16px;
  }
}
.support__area-num::before {
  content: counter(area, decimal-leading-zero);
  font: 500 1.4rem "Montserrat", sans-serif;
  color: #111986;
}
.support__area-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111986;
}
.support__area-address {
  width: calc(100% - 416px);
  padding: 12px 32px;
  line-height: 1.75em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .support__area-address {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .support__area-address {
    width: 100%;
    padding: 16px;
  }
}

.stock__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .stock__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .stock__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
  }
}
.stock__image {
  min-width: 264px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .stock__image {
    max-width: 264px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .stock__image {
    max-width: 264px;
    margin-inline: auto;
  }
}
.stock__image-full {
  width: 100%;
  max-width: 100%;
  padding-inline: 30px;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .stock__image-full {
    padding-inline: 0;
  }
}
.stock__image-text {
  font-weight: 700;
  font-size: 1.8rem;
  margin-top: 40px;
  text-align: center;
  color: #333;
}
.stock__system {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 56px;
  margin-block: 64px 80px;
}
.stock__system-item-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.stock__system-heading-count {
  font: 700 2rem "Montserrat", sans-serif;
  color: #fff;
  background-color: #4046d5;
  width: 48px;
  height: 48px;
  border-radius: 48px;
  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;
}
.stock__system-heading-text {
  font-weight: 700;
  font-size: 2.4rem;
  color: #4046d5;
}

.onehall {
  overflow: hidden;
}
.onehall__main-bnr {
  border: 1px solid #d9dae6;
  height: initial;
}
.onehall__main-bnr-img, .onehall__main-bnr-src {
  width: 100%;
  display: block;
}
.onehall__data {
  background: -webkit-gradient(linear, left bottom, right top, from(rgba(245, 246, 250, 0.4)), to(rgba(224, 233, 249, 0.4)));
  background: linear-gradient(to top right, rgba(245, 246, 250, 0.4), rgba(224, 233, 249, 0.4));
  padding: 3.2rem 2rem 5.6rem;
}
.onehall__data-flow {
  margin-bottom: 9.9rem;
  position: relative;
  z-index: 1;
}
.onehall__data-flow::after {
  content: "";
  width: 12rem;
  aspect-ratio: 120/67;
  background: url("./src/img/onehall/flow.svg") no-repeat center/contain;
  position: absolute;
  bottom: -8.3px;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  z-index: -1;
  pointer-events: none;
}
.onehall__flow-image {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: block;
}
.onehall__sol-heading {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 1.5em;
  text-align: center;
  color: #111986;
  margin-bottom: 3.2rem;
}
.onehall__sol-list {
  gap: 1.6rem 8px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  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;
}
.onehall__sol-item {
  width: 25.6rem;
  aspect-ratio: 256/200;
  background: #fff;
  border-radius: 5px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.onehall__sol-icon {
  margin-bottom: 12px;
  width: 8.8rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #4046d5;
}
.onehall__sol-title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5em;
  color: #4046d5;
}
.onehall__sol-desc {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #333;
  margin-top: 8px;
}
.onehall__service {
  margin-top: 8rem;
}
.onehall__service-heading {
  margin-bottom: 4rem;
  text-align: center;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.7rem;
}
.onehall__service-heading span {
  font-weight: 900;
  font-size: 2.4rem;
  color: #111986;
}
.onehall__service-heading::before, .onehall__service-heading::after {
  content: "";
  display: block;
  border-bottom: 1px solid #111986;
}
.onehall__service-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
  gap: 4.8rem 4.12%;
}
@media screen and (max-width: 480px) {
  .onehall__service-list {
    max-width: 25.6rem;
    margin-inline: auto;
  }
}
.onehall__service-link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.onehall__service-link:hover {
  opacity: 0.8;
}
.onehall__service-link:hover .onehall__service-name {
  color: #111986;
}
.onehall__service-image {
  width: 100%;
  aspect-ratio: 26/16;
  margin-bottom: 1.6rem;
}
.onehall__service-name {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5em;
  color: #333;
}
.onehall__ach {
  margin-top: 10.7rem;
  position: relative;
  padding-block: 8rem 10rem;
}
@media screen and (max-width: 767px) {
  .onehall__ach {
    padding-bottom: 5rem;
    margin-top: 0;
  }
}
.onehall__ach::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% + 18.5rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, #f1f5fa), to(#e0e9f9));
  background: linear-gradient(to bottom, transparent, #f1f5fa 20%, #e0e9f9);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .onehall__ach::before {
    left: 50%;
  }
}
.onehall__ach-heading {
  font-weight: 900;
  font-size: 2.4rem;
  color: #111986;
  margin-bottom: 7.7rem;
}
.onehall__ach-list {
  margin-bottom: 13.9rem;
  position: relative;
  z-index: 1;
  gap: 6.9rem 2.1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  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;
}
.onehall__ach-list::before {
  content: "";
  width: 12rem;
  aspect-ratio: 120/67;
  background: url("./src/img/onehall/flow.svg") no-repeat center/contain;
  position: absolute;
  bottom: -4.8rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  z-index: -1;
  pointer-events: none;
}
.onehall__ach-item {
  width: 27rem;
  aspect-ratio: 27/14;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 5px;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.onehall__ach-icon {
  max-height: 6.7rem;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.onehall__ach-title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #333;
  text-align: center;
  padding: 5.6rem 2rem 3.2rem;
}
.onehall__ach-bnr {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 13.5rem;
  padding: 1.6rem 2.4rem;
  background: #111986;
  border-radius: 5px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.onehall__ach-bnr-para {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #fff;
  text-align: center;
}
.onehall__ach-bnr-hl {
  display: block;
  margin-top: 1.6rem;
  font-size: 2.4rem;
  line-height: 1.5em;
}
.onehall__foot {
  margin-top: 8rem;
  gap: 2.4rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
@media screen and (max-width: 767px) {
  .onehall__foot {
    margin-top: 5rem;
  }
}
.onehall__foot-title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #111986;
  text-align: center;
  position: relative;
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.onehall__foot-title::before, .onehall__foot-title::after {
  content: "";
  display: block;
  width: 12.894px;
  height: 24.447px;
  background: url("./src/img/onehall/line-deco.svg") no-repeat center/contain;
}
.onehall__foot-title::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
  margin-left: -8px;
}
.onehall__foot-bnr {
  border: 1px solid #d9dae6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .onehall__foot-bnr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.onehall__foot-img, .onehall__foot-src {
  width: 100%;
  display: block;
}
.onehall__foot-btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16rem;
  padding-inline: 1rem 4rem;
  background: #011f77;
  position: relative;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.5454545455em;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .onehall__foot-btn {
    width: 100%;
    height: 50px;
    font-size: 1.8rem;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.onehall__foot-btn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 100%;
  background: #e62169;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.onehall__foot-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7.5px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-style: solid;
  border-width: 7.5px 0 7.5px 13px;
  border-color: transparent transparent transparent #fff;
}

/* PACHIPICKS */
.onehall-pp__feat .hl {
  font-weight: 700;
  color: #4046d5;
}
.onehall-pp__feat-heading {
  font-weight: 900;
  font-size: 2.8rem;
  line-height: 1.9642857143em;
  color: #4046d5;
  margin-bottom: 2.6rem;
}
@media screen and (max-width: 767px) {
  .onehall-pp__feat-heading {
    font-size: 20px;
  }
}
.onehall-pp__feat-heading .hl {
  font-size: 6rem;
  font-weight: 900;
  line-height: 0.9166666667em;
}
@media screen and (max-width: 767px) {
  .onehall-pp__feat-heading .hl {
    font-size: 40px;
    line-height: unset;
  }
}
.onehall-pp__feat-intro {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.4166666667em;
  color: #333;
}
@media screen and (max-width: 767px) {
  .onehall-pp__feat-intro {
    font-size: 2rem;
  }
}
.onehall-pp__feat-list {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7.6rem 2.9rem;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__feat-list {
    -webkit-column-gap: 1.6rem;
       -moz-column-gap: 1.6rem;
            column-gap: 1.6rem;
  }
}
.onehall-pp__feat-item {
  position: relative;
  width: 26.4rem;
}
.onehall-pp__feat-head {
  width: 83.33%;
  aspect-ratio: 220/94;
  background: url("./src/img/onehall/pp-feat-bubble.svg") no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.onehall-pp__feat-title {
  width: 100%;
  aspect-ratio: 220/80;
  border-radius: 5px;
  font-weight: 700;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  gap: 4px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.onehall-pp__feat-subtitle {
  display: block;
  font-weight: 400;
  font-size: 1.4rem;
}
.onehall-pp__feat-content {
  font-size: 1.6rem;
  line-height: 1.75em;
  color: #333;
  padding: 5.9rem 1.8rem 2.4rem;
  border-radius: 5px;
  border: 1px solid #e4e6ef;
  height: 100%;
  display: grid;
  gap: 1.6rem;
  grid-template-rows: auto 1fr;
}
.onehall-pp__feat-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.6rem;
}
.onehall-pp__data-note {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5em;
}
.onehall-pp__data-image {
  width: 100%;
  margin-inline: auto;
  max-width: 21rem;
}
.onehall-pp__data-custom {
  border: 1px solid #9fa3ce;
  border-radius: 3px;
  overflow: hidden;
  border-collapse: collapse;
}
.onehall-pp__custom-title {
  width: 100%;
  max-width: 224px;
  height: 3.4rem;
  background: #9fa3ce;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
  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;
}
.onehall-pp__custom-data {
  padding: 1.2rem 1rem;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px 9px;
}
.onehall-pp__custom-data span {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5em;
  color: #111986;
  letter-spacing: -0.05em;
}
.onehall-pp__custom-data span::before {
  content: "・";
}
.onehall-pp__data-func {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 8px;
  margin-top: auto;
}
.onehall-pp__func {
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.25em;
  letter-spacing: -0.04em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
.onehall-pp__func-icon {
  background: #9fa3ce;
  border-radius: 5px;
  width: 6.4rem;
  aspect-ratio: 1/1;
  margin: 0 auto 6px;
}
.onehall-pp__service-list {
  margin-top: 7.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 4rem;
  list-style: none;
  counter-reset: service;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-list {
    -webkit-column-gap: 3.2rem;
       -moz-column-gap: 3.2rem;
            column-gap: 3.2rem;
  }
}
@media screen and (max-width: 1100px) {
  .onehall-pp__service-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.onehall-pp__service-item {
  counter-increment: service;
  position: relative;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  background: #fff;
  padding: 5.6rem 2.4rem 2.4rem;
  color: #333;
  display: grid;
  grid-template: "head image" auto "desc desc" auto/1fr auto;
  gap: 2.4rem 1rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  min-width: 39.4rem;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-item {
    grid-template: "head" auto "desc" auto "image"/1fr;
    min-width: initial;
  }
}
@media screen and (max-width: 1100px) {
  .onehall-pp__service-item {
    max-width: 400px;
  }
}
@media screen and (max-width: 1100px) {
  .onehall-pp__service-item:not(:first-child) {
    margin-top: 7.2rem;
  }
}
.onehall-pp__service-item:nth-child(3n) {
  margin-top: 3.2rem;
  padding-top: 1.6rem;
  grid-column: 1/span 2;
  grid-template-areas: "head image" "desc image";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1100px) {
  .onehall-pp__service-item:nth-child(3n) {
    grid-template: "head" auto "desc" auto "image"/1fr;
    min-width: initial;
  }
}
.onehall-pp__service-item:nth-child(3n) .onehall-pp__service-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-item:nth-child(3n) .onehall-pp__service-head {
    gap: 1.8rem;
  }
}
@media screen and (max-width: 1100px) {
  .onehall-pp__service-item:nth-child(3n) .onehall-pp__service-head {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-inline: auto;
  }
}
.onehall-pp__service-item:nth-child(3n) .onehall-pp__service-label {
  width: 9.6rem;
  position: static;
  -webkit-transform: initial;
          transform: initial;
}
.onehall-pp__service-item:nth-child(3n) .onehall-pp__service-image {
  height: 21rem;
  max-width: 100%;
  max-height: -webkit-fit-content;
  max-height: -moz-fit-content;
  max-height: fit-content;
}
.onehall-pp__service-item:nth-child(3n) .onehall-pp__service-title {
  text-align: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 1100px) {
  .onehall-pp__service-item:nth-child(3n) .onehall-pp__service-title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1100px) {
  .onehall-pp__service-item:nth-child(3n) .onehall-pp__service-subtitle {
    font-size: 1.6rem;
  }
}
.onehall-pp__service-link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.onehall-pp__service-link:hover {
  color: #4046d5;
}
.onehall-pp__service-head {
  grid-area: head;
  align-self: end;
}
.onehall-pp__service-label {
  position: absolute;
  top: 0;
  left: 2.4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #4046d5;
  font-weight: 700;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  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;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-label {
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
.onehall-pp__service-label::before {
  content: counter(service, decimal-leading-zero);
  font: 700 1.6rem/1 "Montserrat", sans-serif;
}
.onehall-pp__service-title {
  color: #4046d5;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
.onehall-pp__service-subtitle {
  color: #333;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2.2857142857em;
}
.onehall-pp__service-desc {
  grid-area: desc;
  font-size: 1.6rem;
  line-height: 1.75em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.05em;
  align-self: start;
}
.onehall-pp__service-image {
  grid-area: image;
  height: 8rem;
}
@media screen and (max-width: 1366px) {
  .onehall-pp__service-image {
    margin-inline: auto;
  }
}

.selfpos2 ~ .connect {
  margin-top: 0;
}
.selfpos2 picture,
.selfpos2 img {
  display: block;
}
.selfpos2__intro-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .selfpos2__intro-wrapper {
    grid-template-columns: 100%;
    gap: 20px;
  }
}
.selfpos2__intro-img {
  aspect-ratio: 404/234;
  border-radius: 5px;
}
.selfpos2__features {
  counter-reset: number;
}
.selfpos2__feature {
  padding: 24px;
  background: linear-gradient(-45deg, rgba(245, 248, 250, 0.4) 0%, rgba(224, 233, 249, 0.4) 100%);
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .selfpos2__feature {
    padding-inline: 15px;
  }
}
.selfpos2__feature:not(:last-child) {
  margin-bottom: 40px;
}
.selfpos2__feature--speed {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
}
@media screen and (min-width: 1025px) and (max-width: 1309px) {
  .selfpos2__feature--speed {
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 767px) {
  .selfpos2__feature--speed {
    grid-template-columns: 100%;
  }
}
.selfpos2__feature-title {
  counter-increment: number;
  margin-bottom: 24px;
  font-size: 2rem;
  line-height: 1.5em;
  color: #4046d5;
}
@media screen and (max-width: 767px) {
  .selfpos2__feature-title {
    font-size: 18px;
  }
}
.selfpos2__feature-title::before {
  content: counter(number, decimal-leading-zero);
  margin-right: 16px;
  width: 56px;
  height: 56px;
  background: #4046d5;
  border-radius: 50%;
  font: 700 2.4rem "Montserrat", sans-serif;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .selfpos2__feature-title::before {
    width: 46px;
    height: 46px;
    font-size: 20px;
  }
}
.selfpos2__notif-picture {
  margin: 24px 24px 16px 0;
  aspect-ratio: 778/188;
}
@media screen and (max-width: 767px) {
  .selfpos2__notif-picture {
    margin-right: 0;
  }
}
.selfpos2__efficiency {
  margin: 24px 0 16px;
  background: #fff;
  border: 1px solid #111986;
  border-radius: 5px;
  overflow: hidden;
}
.selfpos2__efficiency-header {
  padding: 7px 24px 9px;
  background: #111986;
  font-weight: 700;
  font-size: 1.6rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .selfpos2__efficiency-header {
    padding-inline: 15px;
  }
}
.selfpos2__efficiency-header span {
  font-size: 1.4rem;
}
.selfpos2__efficiency-footer {
  padding: 12px 24px;
  background: #e4e6ef;
  font-size: 1.2rem;
  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;
}
@media screen and (max-width: 767px) {
  .selfpos2__efficiency-footer {
    padding-inline: 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.selfpos2__efficiency-footer span {
  font-size: 1rem;
  text-align: right;
}
.selfpos2__efficiency-main {
  padding: 24px 40px;
}
@media screen and (max-width: 1330px) {
  .selfpos2__efficiency-main {
    overflow-x: scroll;
  }
}
.selfpos2__efficiency-table {
  display: grid;
  grid-template-columns: 138px 280px auto;
  position: relative;
  margin-bottom: 162px;
  min-width: 722px;
}
.selfpos2__efficiency-table::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #e4e6ef;
  position: absolute;
  top: 181px;
  left: 0;
}
.selfpos2__after-callout {
  max-width: 581px;
  height: auto;
  position: absolute;
  top: calc(100% - 10px);
  right: -6px;
}
.selfpos2__table-col--before {
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  color: #333;
}
.selfpos2__table-col--after {
  position: relative;
  margin-left: 22px;
  border: 1px solid #4046d5;
  border-radius: 5px;
  outline: 6px solid #4046d5;
  color: #4046d5;
}
.selfpos2__table-col .row2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.selfpos2__table-col .row3 {
  padding-bottom: 24px;
}
.selfpos2__table-head {
  position: relative;
  padding-top: 14px;
  height: 104px;
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
  background: #e4e6ef;
  color: #333;
}
.selfpos2__table-head span {
  font-size: 1.4rem;
}
.selfpos2__table-head--after {
  background: #4046d5;
  color: #fff;
}
.selfpos2__table-head--hide {
  background: transparent;
}
.selfpos2__table-head-img {
  position: absolute;
  left: 50%;
  bottom: -9px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.selfpos2__table-row {
  padding: 8px 0 12px;
  min-height: 77px;
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
}
.selfpos2__table-row .gy66 {
  color: #666;
}
.selfpos2__table-row span {
  font-size: 2.4rem;
}
.selfpos2__table-row span.fs32 {
  font-size: 3.2rem;
}
.selfpos2__table-title {
  min-height: 77px;
  padding: 8px 10px 8px 0;
  font-weight: 900;
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #333;
}
.selfpos2__table-title span {
  display: block;
  margin-top: 22px;
  font-weight: 400;
  font-size: 1rem;
  color: #666;
  line-height: 1.8em;
}
.selfpos2__efficiency-arrow {
  margin: 24px auto 8px;
}
.selfpos2__banner {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.selfpos2__banner:not(:last-child) {
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .selfpos2__banner:not(:last-child) {
    margin-bottom: 28px;
  }
}
.selfpos2__banner:hover {
  opacity: 0.7;
}
.selfpos2__section:not(:last-child) {
  margin-bottom: 80px;
}
@media screen and (min-width: 1025px) and (max-width: 1309px) {
  .selfpos2__speed .resWidth {
    display: none;
  }
}

.jch-50__desc {
  font-size: 1.8rem;
  font-weight: 900;
  color: #111986;
  line-height: 2em;
}

.sitemap__wrap:not(:last-child) {
  margin-bottom: 64px;
}
.sitemap__title {
  width: 100%;
  display: block;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.5em;
  color: #111986;
  border-bottom: 2px solid #111986;
  padding-bottom: 10px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .sitemap__title {
    font-size: 20px;
  }
}
.sitemap__title--link {
  padding-left: 20px;
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.sitemap__title--link::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
  position: absolute;
  top: 45%;
  left: -7px;
  -webkit-transform: translateY(-55%);
          transform: translateY(-55%);
}
.sitemap__title--link:hover {
  opacity: 0.6;
}
.sitemap__title--mb0 {
  margin-bottom: 0;
}
.sitemap__inner-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .sitemap__inner-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sitemap__inner-wrap:not(:last-child) {
  margin-bottom: 48px;
}
.sitemap__inner-title {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  color: #b8b8b8;
  line-height: 1.65em;
  display: block;
  margin-bottom: 24px;
}
.sitemap__group-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .sitemap__group-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 16px;
  }
}
.sitemap__list {
  width: 33.3333333333%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .sitemap__list {
    width: 100%;
  }
}
.sitemap__list:nth-child(2), .sitemap__list:nth-child(3) {
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  .sitemap__list:nth-child(2), .sitemap__list:nth-child(3) {
    padding-right: 0;
  }
}
.sitemap__list--inner {
  width: 100%;
  padding-left: 15px;
}
.sitemap__list--mb24 {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .sitemap__list--mb24 {
    margin-bottom: 16px;
  }
}
.sitemap__list--g16 {
  row-gap: 16px;
}
.sitemap__link, .sitemap__sublink {
  font-size: 1.6rem;
  font-weight: 900;
  color: #333;
  position: relative;
  padding-left: 10px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sitemap__link, .sitemap__sublink {
    font-size: 14px;
  }
}
.sitemap__link::before, .sitemap__sublink::before {
  content: "";
  width: 6px;
  height: 9px;
  background: url("./src/img/icons/caret-purple.svg") center/cover no-repeat;
  position: absolute;
  top: 8px;
  left: 0;
}
.sitemap__link--mb24, .sitemap__sublink--mb24 {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .sitemap__link--mb24, .sitemap__sublink--mb24 {
    margin-bottom: 16px;
  }
}
.sitemap__link--no-arrow, .sitemap__sublink--no-arrow {
  padding-left: 0;
  pointer-events: none;
}
.sitemap__link--no-arrow::before, .sitemap__sublink--no-arrow::before {
  display: none;
}
.sitemap__link:hover, .sitemap__sublink:hover {
  opacity: 0.6;
}
.sitemap__sublink {
  font-weight: 400;
  padding-left: 12px;
}
.sitemap__sublink::before {
  background: url("./src/img/icons/caret-grey.svg") center/cover no-repeat;
}

.sso__img {
  width: 100%;
  height: auto;
}
.sso__img--h290 {
  height: 290px;
  display: block;
  margin-bottom: 24px;
}
@media screen and (max-width: 1330px) {
  .sso__img--h290 {
    height: auto;
    aspect-ratio: 405/290;
  }
}
.sso__img--mt32 {
  margin-top: 32px;
}

.self-pos__banner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .self-pos__banner {
    padding-bottom: 50px;
  }
}
.self-pos__banner-title {
  font-size: 3rem;
  padding: 10px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  color: #3264be;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
}
@media screen and (max-width: 767px) {
  .self-pos__banner-title {
    font-size: 16px;
    top: 10px;
    left: 10px;
    right: 10px;
  }
}
.self-pos__banner-ctr {
  width: 70%;
  background-color: rgba(50, 100, 190, 0.8);
  color: #fff;
  padding: 20px;
  position: absolute;
  right: 0;
  bottom: 30px;
}
@media screen and (max-width: 767px) {
  .self-pos__banner-ctr {
    width: 90%;
    padding: 10px;
    bottom: 0;
  }
}
.self-pos__banner-ctr-title {
  display: block;
  font-size: 2.8rem;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .self-pos__banner-ctr-title {
    font-size: 14px;
  }
}
.self-pos__banner-ctr-desc {
  color: #fff;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .self-pos__banner-ctr-desc {
    margin-top: 10px;
    font-size: 10px;
  }
}
.self-pos__block {
  margin: 40px 0;
}
.self-pos__block--col, .self-pos__block--col-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .self-pos__block--col, .self-pos__block--col-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.self-pos__block--col-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .self-pos__block--col-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.self-pos__col-image {
  min-width: 350px;
  width: 350px;
}
@media screen and (max-width: 767px) {
  .self-pos__col-image {
    min-width: 0;
    width: 100%;
  }
}
.self-pos__image-caption {
  display: block;
  font-size: 1.4rem;
  color: #707070;
  margin-top: 5px;
}

.page-404__heading, .page-404__desc {
  text-align: center;
}
.page-404__heading {
  font-size: 3.2rem;
  font-weight: 900;
  color: #111986;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .page-404__heading {
    font-size: 28px;
  }
}
.page-404__desc {
  font-size: 1.6rem;
  color: #333;
  line-height: 2em;
}
.page-404__btn-list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px 30px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .page-404__btn-list {
    margin-top: 40px;
  }
}
.page-404__btn-list .button__link {
  min-width: 216px;
  height: 56px;
  font-size: 1.6rem;
  background-color: #111986;
  color: #fff;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-inline: 20px;
}
.page-404__btn-list .button__link::before {
  background: url("./src/img/icons/caret.svg") center/cover no-repeat;
  margin-right: 10px;
}
.page-404__btn-list .button__link:hover {
  background-color: #fff;
  color: #111986;
}
.page-404__btn-list .button__link:hover::before {
  background: url("./src/img/icons/caret-blue.svg") center/cover no-repeat;
}
.page-404__btn-top::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

@-webkit-keyframes fade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-110px);
            transform: translateY(-110px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-110px);
            transform: translateY(-110px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes bounce-pc {
  0% {
    top: -36px;
  }
  25% {
    top: -50px;
  }
  50% {
    top: -36px;
  }
  75% {
    top: -50px;
  }
  100% {
    top: -36px;
  }
}
@keyframes bounce-pc {
  0% {
    top: -36px;
  }
  25% {
    top: -50px;
  }
  50% {
    top: -36px;
  }
  75% {
    top: -50px;
  }
  100% {
    top: -36px;
  }
}
@-webkit-keyframes bounce-sp {
  0% {
    top: 32px;
  }
  25% {
    top: 46px;
  }
  50% {
    top: 32px;
  }
  75% {
    top: 46px;
  }
  100% {
    top: 32px;
  }
}
@keyframes bounce-sp {
  0% {
    top: 32px;
  }
  25% {
    top: 46px;
  }
  50% {
    top: 32px;
  }
  75% {
    top: 46px;
  }
  100% {
    top: 32px;
  }
}
@-webkit-keyframes scroll {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes scroll {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mv__slider,
.mv__slider .splide__track,
.mv__slider .splide__slide {
  width: 100%;
  height: 100%;
}

.mv__slider .splide__arrow {
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.8) url("./src/img/icons/caret-blue.svg") center left 12px/18px no-repeat;
  border: 1px solid #e4e6ef;
  border-radius: 5px;
  opacity: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .mv__slider .splide__arrow {
    width: 26px;
    height: 26px;
    background-size: 12px;
    background-position: center left 4px;
  }
}
.mv__slider .splide__arrow:hover {
  opacity: 0.8;
}
.mv__slider .splide__arrow > svg {
  display: none;
}
.mv__slider .splide__arrow--prev {
  left: 24px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
@media screen and (max-width: 767px) {
  .mv__slider .splide__arrow--prev {
    left: 10px;
  }
}
.mv__slider .splide__arrow--next {
  right: 24px;
}
@media screen and (max-width: 767px) {
  .mv__slider .splide__arrow--next {
    right: 10px;
  }
}
.mv__slider .splide__pagination {
  width: 100%;
  max-width: calc(1222px + 8%);
  padding: 0 4%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  left: 50%;
  bottom: 107px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .mv__slider .splide__pagination {
    bottom: 15%;
  }
}
@media screen and (max-width: 767px) {
  .mv__slider .splide__pagination {
    bottom: 15px;
  }
}
.mv__slider .splide__pagination li:not(:last-child) {
  margin-right: 15px;
}
.mv__slider .splide__pagination__page {
  width: 100px;
  height: 8px;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.3);
  border-radius: 0;
  opacity: 1;
  margin: 0;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
@media screen and (max-width: 1330px) {
  .mv__slider .splide__pagination__page {
    width: 40px;
  }
}
.mv__slider .splide__pagination__page.is-active {
  background-color: #111986;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}

.case__slider .splide__list {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important;
}
.case__slider .splide__slide {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  z-index: 1;
}
.case__slider .splide__slide .case__slide-content {
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}
.case__slider .splide__slide.is-active {
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .case__slider .splide__slide.is-active {
    width: 280px !important;
    height: auto !important;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.case__slider .splide__slide.is-active .case__slide-content {
  -webkit-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.3);
          box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.3);
}
.case__slider .splide__slide.is-active .case__slide-content::before {
  opacity: 0;
}
.case__slider .splide__slide.is-active:not(.is-clone) .case__slide-content {
  -webkit-transform: scale(1.23);
          transform: scale(1.23);
  z-index: 2;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@media screen and (max-width: 1024px) {
  .case__slider .splide__slide.is-active:not(.is-clone) .case__slide-content {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.case__slider .splide__slide.is-active-custom .case__slide-content {
  -webkit-transform: scale(1.23);
          transform: scale(1.23);
}
@media screen and (max-width: 1024px) {
  .case__slider .splide__slide.is-active-custom .case__slide-content {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.case__slider .splide__slide.is-zooming {
  -webkit-transform: scale(1.23);
          transform: scale(1.23);
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .case__slider .splide__slide.is-zooming {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.case__slider .splide__pagination {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  bottom: -8px;
}
@media screen and (max-width: 767px) {
  .case__slider .splide__pagination {
    bottom: -34px;
  }
}
.case__slider .splide__pagination__page {
  width: 12px;
  height: 12px;
  background-color: #ccc;
  margin: 0 10px;
  opacity: 1;
}
.case__slider .splide__pagination__page.is-active {
  background-color: #111987;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.product__gallery-splide .splide__slide {
  height: 400px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .product__gallery-splide .splide__slide {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .product__gallery-splide .splide__slide img {
    width: 100% !important;
  }
}

.product__gallery-thumbnails:not(.is-overflow) .splide__list {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.product__gallery-thumbnails .splide__list {
  gap: 12px;
}
.product__gallery-thumbnails .splide__slide {
  max-width: 64px;
  aspect-ratio: 1/1;
  border-radius: 5px;
  border: 1px solid #e4e6ef !important;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .product__gallery-thumbnails .splide__slide {
    max-width: 50px;
  }
}
.product__gallery-thumbnails .splide__slide.is-active::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(228, 230, 239, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}

.map__modal-slider {
  position: relative;
}
.map__modal-slider .splide__arrows {
  width: calc(100% + 80px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.map__modal-slider .splide__arrow {
  width: 20px;
  height: 20px;
  background: transparent url("./src/img/icons/caret-blue.svg") center left 3px/10px no-repeat;
  border: 1px solid rgba(17, 25, 134, 0.3);
  border-radius: 5px;
  position: unset;
  top: unset;
  -webkit-transform: unset;
          transform: unset;
  opacity: 1;
}
.map__modal-slider .splide__arrow svg {
  display: none;
}
.map__modal-slider .splide__arrow--prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  left: -48px;
}
.map__modal-slider .splide__arrow--next {
  right: -48px;
}
.map__modal-slider .splide__pagination {
  position: relative;
  left: unset;
  bottom: unset;
  gap: 0 12px;
}
.map__modal-slider .splide__pagination__page {
  width: 8px;
  height: 8px;
  background-color: #ccc;
  opacity: 1;
  margin: 0;
}
.map__modal-slider .splide__pagination__page.is-active {
  background-color: #111987;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.overflow {
  overflow: hidden;
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-flex {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.sp-flex {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tablet {
  display: none;
}
@media screen and (max-width: 1024px) {
  .tablet {
    display: block;
  }
}

.tablet-flex {
  display: none;
}
@media screen and (max-width: 1024px) {
  .tablet-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tablet-hide {
  display: block;
}
@media screen and (max-width: 1024px) {
  .tablet-hide {
    display: none;
  }
}

.tablet-sm {
  display: none;
}
@media screen and (max-width: 1330px) {
  .tablet-sm {
    display: block;
  }
}

.tablet-sm-hide {
  display: block;
}
@media screen and (max-width: 1330px) {
  .tablet-sm-hide {
    display: none;
  }
}

.pc-tablet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .pc-tablet {
    display: none;
  }
}

.text-trim,
.text-trim-1 {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.text-trim {
  -webkit-line-clamp: 2;
}

.text-trim-1 {
  -webkit-line-clamp: 1;
}

.bg-gray {
  background-color: #f5f6fa;
}

.link {
  color: #4046d5;
  text-decoration: underline;
  cursor: pointer;
}

.regular {
  font-weight: 400;
}

.bold {
  font-weight: 700;
}

.medium {
  font-weight: 500;
}

.block {
  display: block;
}

.anchor {
  display: block;
  position: relative;
  top: -110px;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .anchor {
    top: -65px;
  }
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.nowrap {
  white-space: nowrap;
}

.hidden {
  visibility: hidden;
}

.empty-post__message {
  font-weight: 500;
  font-size: 1.6rem;
  margin-top: 30px;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  cursor: pointer;
  z-index: -1;
  opacity: 0;
  pointer-events: none;
}
.overlay.active {
  opacity: 1;
  pointer-events: initial;
  z-index: 998;
}

.wpcf7-form {
  display: grid;
}

.wpcf7-response-output {
  display: none;
  grid-area: 1/1/2/2;
}
.wpcf7-form.invalid .wpcf7-response-output {
  display: block;
  background: #fff;
  border: 1px solid #e6001f;
  border-radius: 5px;
  padding: 10px;
  font-size: 1.6rem;
  text-align: center;
  color: #e6001f;
  position: relative;
  top: -24px;
  max-width: 800px;
  width: 100%;
  margin: 0 auto 40px;
}
@media screen and (max-width: 1024px) {
  .wpcf7-form.invalid .wpcf7-response-output {
    width: 92%;
  }
}
.wpcf7-form.unaccepted .wpcf7-response-output {
  grid-area: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  background-color: rgba(230, 0, 31, 0.1);
  font-size: 1.4rem;
  text-align: center;
  color: #e6001f;
  line-height: 1.5em;
  padding: 5px 10px;
  border: none !important;
  border-radius: 5px;
  position: absolute;
  bottom: 170px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1200px) {
  .wpcf7-form.unaccepted .wpcf7-response-output {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-form.unaccepted .wpcf7-response-output {
    max-width: 350px;
    width: 90%;
  }
}

.form__input-radio .wpcf7-list-item {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .form__input-radio .wpcf7-list-item {
    font-size: 14px;
  }
}
.form__input-radio .wpcf7-list-item label input[type=radio] {
  opacity: 0;
  width: 0;
  height: 0;
  margin-right: 0;
}
.form__input-radio .wpcf7-list-item label {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .form__input-radio .wpcf7-list-item label {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.form__input-radio .wpcf7-list-item label input[type=radio] + span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form__input-radio .wpcf7-list-item label input[type=radio] + span::before {
  content: "";
  width: 26px;
  height: 26px;
  min-width: 26px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #b8b8b8;
}
@media screen and (max-width: 767px) {
  .form__input-radio .wpcf7-list-item label input[type=radio] + span::before {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-right: 8px;
  }
}
.form__input-radio .wpcf7-list-item label input[type=radio]:checked + span {
  color: #111986;
}
.form__input-radio .wpcf7-list-item label input[type=radio]:checked + span::before {
  border: 1px solid #e4e6ef;
}
.form__input-radio .wpcf7-list-item label input[type=radio]:checked + span::after {
  content: "";
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background-color: #4046d5;
  position: absolute;
  left: 4px;
  top: 14px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .form__input-radio .wpcf7-list-item label input[type=radio]:checked + span::after {
    width: 16px;
    height: 16px;
    min-width: 16px;
    top: 11px;
    left: 3px;
  }
}

.form__input-checkbox .wpcf7-list-item {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .form__input-checkbox .wpcf7-list-item {
    font-size: 16px;
  }
}
.form__input-checkbox .wpcf7-list-item label input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
  margin-right: 0;
}
.form__input-checkbox .wpcf7-list-item label {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form__input-checkbox .wpcf7-list-item label::before {
  content: "";
  width: 26px;
  height: 26px;
  min-width: 26px;
  margin-right: 12px;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #b8b8b8;
}
.form__input-checkbox .wpcf7-list-item label input[type=checkbox]:checked + span::after {
  content: "";
  width: 21px;
  height: 18px;
  min-width: 21px;
  background: url("./src/img/icons/checkbox.svg") center/contain no-repeat;
  position: absolute;
  left: 4px;
  top: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form__input-checkbox .custom-error {
  position: absolute;
  max-width: 500px;
  width: 90vw;
  left: 50%;
  top: 35px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 14px;
  text-align: center;
}

.wpcf7-form-control.wpcf7-radio.custom-error .wpcf7-list-item label::before {
  border-color: #e6007d;
}

.custom-error {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  background-color: rgba(230, 0, 31, 0.1);
  font-size: 1.4rem !important;
  color: #e6001f;
  line-height: 1.5em;
  padding: 5px 5px 5px 10px;
  border-radius: 5px;
}
.custom-error::before {
  content: "";
  position: relative;
  width: 100%;
  max-width: 20px;
  height: 17.5px;
  background: url("./src/img/icons/error.svg") center/contain no-repeat;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip {
  display: none !important;
}

.form__button-wrap.is-disabled:hover .form__submit-button-wrap {
  border: unset;
  background-color: #111986;
  opacity: 1;
}

.form__button-wrap.is-disabled .form__submit-button-wrap:hover .form__submit-button {
  color: #fff;
}

.form__button-wrap.is-disabled .form__submit-button-wrap:hover::before {
  background: url("./src/img/icons/caret.svg") no-repeat;
}

.form__submit-button-wrap.is-disabled:hover {
  border: unset;
  background-color: #111986;
  opacity: 1;
}

.form__submit-button-wrap.is-disabled:hover .form__submit-button {
  color: #fff;
}

.form__submit-button-wrap.is-disabled:hover::before {
  background: url("./src/img/icons/caret.svg") no-repeat;
}

.form__button-wrap.is-disabled .form__submit-button {
  cursor: not-allowed;
}

.form__submit-button-wrap.is-disabled .form__submit-button {
  cursor: not-allowed;
}