@charset "UTF-8";
/* ---------------------------------------------------
  Reset
  --------------------------------------------------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
  -webkit-tap-highlight-color: transparent;
}

body {
  line-height: 1.15;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

ol, ul, menu, summary {
  padding: 0;
  list-style: none;
}

table {
  border-collapse: collapse;
}

/* ===================================================
  INDEX
  - Common
  - Header
  - Footer
	- Breadcrum
	- main / section
	- Heading / ttl / txt
	- Button
	- CTA area
	- List
	- Table
  =================================================== */
/* ---------------------------------------------------
  Common
  --------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}
@media screen and (max-width: 1160px) {
  html {
    scroll-padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 56px;
  }
}

body {
  color: #333640;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  font-weight: normal;
  line-height: 2;
}

body.is-menu-open {
  overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: #1E3A8E;
}

a:active,
a:focus {
  text-decoration: none;
}

em {
  font-weight: 700;
  font-style: normal;
}

/* ---------------------------------------------------
  Header
  --------------------------------------------------- */
.header {
  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;
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 112px;
  background: #fff;
  -webkit-box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
          box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
  padding: 0 0 0 24px;
}
@media screen and (max-width: 1160px) {
  .header {
    height: 80px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 56px;
    padding: 0 0 0 4.25vw;
  }
}

.header__logo {
  width: 260px;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 440px) {
  .header__logo {
    width: 48vw;
  }
}

.header__nav__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
}
@media screen and (max-width: 1160px) {
  .header__nav__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    position: absolute;
    left: 0;
    top: 80px;
    width: 100%;
    height: calc(100vh - 80px);
    padding: 48px;
    background: #FFFFFF;
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
@media screen and (max-width: 767px) {
  .header__nav__wrap {
    top: 56px;
    height: calc(100vh - 56px);
    padding: 24px;
  }
}
@media screen and (max-width: 1160px) {
  .header__nav__wrap.is-open {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    visibility: visible;
    overflow: scroll;
  }
}

.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 24px 0 0;
}
@media screen and (max-width: 1160px) {
  .header__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 0;
  }
}

.header__nav__first {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 24px;
  margin: 0 0 auto;
  padding: 20px 0 0;
}
@media screen and (max-width: 1160px) {
  .header__nav__first {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 0 0;
  }
}

.header__nav__btn {
  display: block;
  padding: 4px 16px;
  border-radius: 20px;
  background: #FFFFFF;
  border: 1px solid #1E3A8E;
  font-size: 14px;
  line-height: 1.5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__nav__btn:hover {
  background: #DAE3F2;
}

.header__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1160px) {
  .header__nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.header__nav__item {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1160px) {
  .header__nav__item {
    border-bottom: 1px solid #BEC2C8;
  }
}

.header__nav__link {
  position: relative;
  display: block;
  padding: 12px 0;
  color: #333640;
}
.header__nav__link::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #1E3A8E;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__nav__link:hover::before {
  width: 100%;
}
@media screen and (max-width: 1160px) {
  .header__nav__link {
    padding: 16px 0;
  }
  .header__nav__link::before {
    content: none;
  }
}

.header__nav__drop::details-content {
  opacity: 0;
  -webkit-transition: opacity 0.3s, content-visibility 0.3s allow-discrete;
  transition: opacity 0.3s, content-visibility 0.3s allow-discrete;
}
.header__nav__drop[open]::details-content {
  opacity: 1;
}
.header__nav__drop summary {
  display: block;
  position: relative;
  padding: 12px 20px 12px 0;
  color: #333640;
  cursor: pointer;
}
.header__nav__drop summary::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background-color: #1E3A8E;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__nav__drop summary::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../img/icon/icon_chevron-down_bl.svg) center center;
  background-size: contain;
  content: "";
}
.header__nav__drop:hover summary::before, .header__nav__drop[open] summary::before {
  width: 100%;
}
.header__nav__drop:focus {
  outline: 1px solid #5A6FAD;
  outline-offset: 2px;
  border-radius: 1px;
}
@media screen and (max-width: 1160px) {
  .header__nav__drop summary {
    padding: 16px 0;
  }
  .header__nav__drop summary::before {
    content: none;
  }
  .header__nav__drop summary::after {
    padding: 16px 20px 16px 0;
  }
}

.dropmenu {
  position: absolute;
  top: 112px;
  left: 0;
  width: 100%;
  background: #F2F4F7;
  z-index: 1100;
  -webkit-box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
          box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1160px) {
  .dropmenu {
    position: initial;
    -webkit-transform: initial;
            transform: initial;
    background: #F2F4F7;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-top: 1px solid #BEC2C8;
  }
}

.dropmenu__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 944px;
  margin: 0 auto;
  padding: 24px;
  overflow: hidden;
}
@media screen and (max-width: 1160px) {
  .dropmenu__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}

.dropmenu__ttl {
  position: relative;
  width: 30%;
}
@media screen and (max-width: 1160px) {
  .dropmenu__ttl {
    width: 100%;
  }
}

.dropmenu__ttl__link {
  position: relative;
  padding: 8px 40px 8px 16px;
  color: #1E3A8E;
  font-size: 20px;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.dropmenu__ttl__link::before {
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: #1E3A8E;
  border-radius: 8px;
  content: "";
}
.dropmenu__ttl__link::after {
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../img/icon/icon_chevron-right_wh.svg) center center;
  background-size: contain;
  content: "";
}
.dropmenu__ttl__link:hover {
  background: #DAE3F2;
}
@media screen and (max-width: 1160px) {
  .dropmenu__ttl__link {
    display: inline-block;
    padding-left: 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .dropmenu__ttl__link {
    display: block;
  }
  .dropmenu__ttl__link::before, .dropmenu__ttl__link::after {
    right: 8px;
  }
}

.dropmenu__content {
  width: 70%;
}
@media screen and (max-width: 1160px) {
  .dropmenu__content {
    width: 100%;
  }
}

.dropmenu__content__service {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.dropmenu__content__service .dropmenu__list {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .dropmenu__content__service {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .dropmenu__content__service .dropmenu__list {
    width: 100%;
  }
}

.dropmenu__content__needs .dropmenu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 440px) {
  .dropmenu__content__needs .dropmenu__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.dropmenu__content__needs .dropmenu__item {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: calc(50% - 8px);
}
@media screen and (max-width: 440px) {
  .dropmenu__content__needs .dropmenu__item {
    width: 100%;
  }
}

.dropmenu__list {
  padding: 0 0 0 12px;
  border-left: 1px solid #BEC2C8;
}
@media screen and (max-width: 1160px) {
  .dropmenu__list {
    padding: 0;
    border-left: none;
  }
}

.dropmenu__item__link {
  display: block;
  position: relative;
  padding: 8px 20px 8px 12px;
  color: #333640;
  font-size: 16px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.dropmenu__item__link::after {
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../img/icon/icon_chevron-right_bl.svg) center center;
  background-size: contain;
  content: "";
}
.dropmenu__item__link:hover {
  background: #DAE3F2;
}
@media screen and (max-width: 1160px) {
  .dropmenu__item__link {
    padding: 12px 20px 12px 16px;
  }
}
@media screen and (max-width: 1160px) {
  .dropmenu__item__link {
    padding: 12px 20px 12px 0;
  }
}
.dropmenu__content__cases .dropmenu__item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 440px) {
  .dropmenu__content__cases .dropmenu__item__link {
    gap: 12px;
  }
}

.dropmenu__item__thumbnail {
  width: 104px;
}
@media screen and (max-width: 440px) {
  .dropmenu__item__thumbnail {
    width: 80px;
  }
}

.dropmenu__cta {
  width: 50%;
  padding: 0 12px 0 24px;
  border-left: 1px solid #B4BFDB;
}
@media screen and (max-width: 767px) {
  .dropmenu__cta {
    width: 100%;
    padding: 0;
    border-left: none;
  }
}

.dropmenu__cta__ttl {
  margin: 0 0 16px;
  font-weight: 700;
}

.dropmenu__cta__txt {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 400;
}

.dropmenu__cta__btn {
  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;
  height: 48px;
  padding: 4px 16px;
  border-radius: 24px;
  background: #001133;
  border: 1px solid #001133;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
}

.dropmenu__scrim {
  position: fixed;
  top: 112px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(51, 54, 64, 0.7);
  backdrop-filter: blur(10px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1160px) {
  .dropmenu__scrim {
    display: none;
  }
}

.header__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
}
@media screen and (max-width: 1160px) {
  .header__cta {
    height: initial;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .header__cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.header__cta__btn {
  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: 8px;
  position: relative;
  width: 122px;
  padding: 8px 16px;
  color: #FFFFFF;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__cta__btn.-contact {
  background: #1E3A8E;
}
.header__cta__btn.-contact::before {
  width: 24px;
  height: 24px;
  background: url(../img/icon/icon_mail.svg);
  content: "";
}
.header__cta__btn.-contact:hover {
  background: #3C559D;
}
.header__cta__btn.-pamphlet {
  background: #001133;
}
.header__cta__btn.-pamphlet::before {
  width: 24px;
  height: 24px;
  background: url(../img/icon/icon_file.svg);
  content: "";
}
.header__cta__btn.-pamphlet:hover {
  background: #122B6E;
}
@media screen and (max-width: 1160px) {
  .header__cta__btn {
    border-radius: 40px;
    max-width: 252px;
    height: 48px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
  }
  .header__cta__btn.-contact::before {
    content: none;
  }
  .header__cta__btn.-pamphlet::before {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .header__cta__btn {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: 100%;
    max-width: initial;
  }
}

.header__menu {
  display: none;
}
@media screen and (max-width: 1160px) {
  .header__menu {
    display: block;
    margin: 0 2.22vw;
  }
}
.header__menu.is-open {
  background: #001133;
}

.header__menu__btn {
  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;
  width: 40px;
  height: 40px;
  background: #1E3A8E;
  border: none;
}

/* ---------------------------------------------------
  Footer
  --------------------------------------------------- */
.footer {
  padding: 48px 0;
  background: #001133;
}

.footer__inner {
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    width: 91.46%;
  }
}

.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 48px 0 0;
}
@media screen and (max-width: 767px) {
  .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 32px 0 0;
  }
}

.footer__info {
  width: 252px;
  margin: 0 auto 0 0;
}
@media screen and (max-width: 1023px) {
  .footer__info {
    width: 23.5%;
  }
}
@media screen and (max-width: 767px) {
  .footer__info {
    width: 58.3%;
    max-width: 240px;
  }
}

.footer__mark,
.footer__info__list {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.4;
}

.footer__info__item {
  padding: 4px 0;
  overflow: hidden;
}
.footer__info__item .info__link {
  position: relative;
  color: #DAE3F2;
}
.footer__info__item .info__link::after {
  position: absolute;
  bottom: -3px;
  left: -100%;
  width: 100%;
  height: 1px;
  background: #DAE3F2;
  content: "";
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.footer__info__item .info__link:hover::after {
  left: 0;
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  width: 65.925%;
}
@media screen and (max-width: 1023px) {
  .footer__nav {
    gap: 2%;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.2vw;
    width: 100%;
    margin: 24px 0 0;
  }
}

.footer__nav__col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
@media screen and (max-width: 767px) {
  .footer__nav__col {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
    width: calc(50% - 2.1vw);
  }
  .footer__nav__col:last-child {
    width: 100%;
  }
}

.footer__nav__ttl {
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  overflow: hidden;
}
.footer__nav__ttl:not(:first-child) {
  margin: 16px 0 0;
}
.footer__nav__ttl .ttl__link {
  position: relative;
  padding: 0 20px 0 0;
  color: #FFFFFF;
}
.footer__nav__ttl .ttl__link::before {
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  background: url(../img/icon/icon_chevron-right_wh.svg) center center no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
}
.footer__nav__ttl .ttl__link::after {
  position: absolute;
  bottom: -3px;
  left: -100%;
  width: 100%;
  height: 1px;
  background: #DAE3F2;
  content: "";
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.footer__nav__ttl .ttl__link:hover::after {
  left: 0;
}

.footer__nav__list {
  margin: 8px 0 0;
}

.footer__nav__item {
  padding: 4px 0;
  font-size: 13px;
  line-height: 1.4;
  overflow: hidden;
}

.footer__nav__link {
  position: relative;
  color: #DAE3F2;
}
.footer__nav__link::after {
  position: absolute;
  bottom: -3px;
  left: -100%;
  width: 100%;
  height: 1px;
  background: #DAE3F2;
  content: "";
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.footer__nav__link:hover::after {
  left: 0;
}

.footer__bottom {
  margin: 48px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid #494F5B;
}
@media screen and (max-width: 767px) {
  .footer__bottom {
    margin: 24px 0 0;
  }
}

.footer__bottom .copyright {
  color: #FFFFFF;
  font-size: 14px;
}

/* ---------------------------------------------------
  Breadcrum
  --------------------------------------------------- */
@media screen and (max-width: 767px) {
  .breadcrumb {
    overflow-x: scroll;
  }
}

.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF;
  font-size: 0.75rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb__list {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding-bottom: 8px;
  }
}

.breadcrumb__item {
  margin: 0 1em 0 0;
}

.breadcrumb__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 0 2em 0 0;
  color: #B4BFDB;
}
.breadcrumb__link::after {
  position: absolute;
  right: 0;
  width: 12px;
  height: 12px;
  background: url(../img/icon/icon_slash-divider.svg) center center no-repeat;
  content: "";
}
.breadcrumb__link:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------
  main / section
  --------------------------------------------------- */
.main {
  margin: 112px 0 0;
}
@media screen and (max-width: 1160px) {
  .main {
    margin: 80px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .main {
    margin: 56px 0 0;
  }
}

.section {
  padding: 80px 0;
}

.section__inner {
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .section__inner {
    width: 91.46%;
  }
}

.section_block {
  margin: 48px 0 0;
}

/* ---------------------------------------------------
  heading / ttl / txt
  --------------------------------------------------- */
.section__ttl { /* h2 */
  margin: 0 0 48px;
  color: #1E3A8E;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .section__ttl {
    font-size: 1.75rem;
  }
}

.section__desc {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .section__desc {
    text-align: left;
  }
}

.heading1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1160px) {
  .heading1 {
    font-size: 3.7vw;
  }
}
@media screen and (max-width: 767px) {
  .heading1 {
    font-size: 2rem;
  }
}

.heading2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1160px) {
  .heading2 {
    font-size: 2.75vw;
  }
}
@media screen and (max-width: 767px) {
  .heading2 {
    font-size: 1.75rem;
  }
}

.heading2__wrap.--line-left_blue {
  padding: 0 0 0 1em;
  border-left: 3px solid #1E3A8E;
}
.heading2__wrap.--line-btm_blue {
  padding: 0 0 0.5em;
  border-bottom: 2px solid #1E3A8E;
}

.heading3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1160px) {
  .heading3 {
    font-size: 2.06vw;
  }
}
@media screen and (max-width: 767px) {
  .heading3 {
    font-size: 1.375rem;
  }
}

.heading3__wrap {
  margin: 48px 0 0;
}
.heading3__wrap.--line-btm_gray {
  padding: 0 0 8px;
  border-bottom: 1px solid #BEC2C8;
}

.heading4 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.heading4__wrap {
  margin: 24px 0 0;
}
.heading4__wrap.--line-left_blue {
  padding: 0 0 0 0.5em;
  border-left: 2px solid #1E3A8E;
}

.heading5 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}

.sub-balloon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 40px;
  margin: 0 0 16px;
  padding: 4px 16px;
  background: #1E3A8E;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 700;
}
.sub-balloon::after {
  position: absolute;
  bottom: -8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 12px;
  height: 8px;
  background: #1E3A8E;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  content: "";
}

.annotation {
  position: relative;
  padding: 0 0 0 1.05em;
  font-size: 0.75rem;
  line-height: 1.5;
}
.annotation::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  content: "※";
}

/* ---------------------------------------------------
  Button
  --------------------------------------------------- */
.btn_base, .cta-1btn__btn, .cta-2columns__item .item__btn, .cta-3columns__item .item__btn, .btn_base_fill, .btn__fill--xl, .btn__fill--lg, .btn__fill--md, .btn__fill--sm, .btn_base_outline, .btn__outline--xl, .btn__outline--lg, .btn__outline--md, .btn__outline--sm {
  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;
  position: relative;
  border-radius: 40px;
  line-height: 1.4;
}

.btn_base_outline, .btn__outline--xl, .btn__outline--lg, .btn__outline--md, .btn__outline--sm {
  background: #FFFFFF;
  border: 1px solid #1E3A8E;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.btn_base_outline:hover, .btn__outline--xl:hover, .btn__outline--lg:hover, .btn__outline--md:hover, .btn__outline--sm:hover {
  background: #DAE3F2;
}

.btn__outline--sm {
  min-width: 96px;
  height: 32px;
  padding: 4px 16px;
  font-size: 14px;
}
.btn__outline--md {
  min-width: 96px;
  height: 40px;
  padding: 8px 20px;
  font-size: 16px;
}
.btn__outline--lg {
  min-width: 152px;
  height: 48px;
  padding: 8px 24px;
  font-size: 16px;
}
.btn__outline--xl {
  min-width: 152px;
  height: 64px;
  padding: 8px 24px;
  font-size: 20px;
}

.btn_base_fill, .btn__fill--xl, .btn__fill--lg, .btn__fill--md, .btn__fill--sm {
  background: #001133;
  color: #FFFFFF;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.btn_base_fill:hover, .btn__fill--xl:hover, .btn__fill--lg:hover, .btn__fill--md:hover, .btn__fill--sm:hover {
  background: #122B6E;
}

.btn__fill--sm {
  min-width: 96px;
  height: 32px;
  padding: 4px 16px;
  font-size: 14px;
}
.btn__fill--md {
  min-width: 96px;
  height: 40px;
  padding: 8px 20px;
  font-size: 16px;
}
.btn__fill--lg {
  min-width: 152px;
  height: 48px;
  padding: 8px 24px;
  font-size: 16px;
}
.btn__fill--xl {
  min-width: 152px;
  height: 64px;
  padding: 8px 24px;
  font-size: 20px;
}

/* ---------------------------------------------------
  CTA area
  --------------------------------------------------- */
/*  3columns -------------------------------------------------------------- */
.cta-3columns {
  padding: 80px 0;
  background: #061C4F;
  color: #FFFFFF;
}

.cta-3columns__inner {
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .cta-3columns__inner {
    width: 91.46%;
  }
}

.cta-3columns__ttl {
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .cta-3columns__ttl {
    font-size: 1.5rem;
  }
}

.cta-3columns__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 48px 0 0;
}
@media screen and (max-width: 767px) {
  .cta-3columns__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}

.cta-3columns__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  padding: 0 24px;
}
.cta-3columns__item:not(:last-child) {
  border-right: 1px solid #3C559D;
}
@media screen and (max-width: 1023px) {
  .cta-3columns__item {
    padding: 0 2.2%;
  }
}
@media screen and (max-width: 767px) {
  .cta-3columns__item:not(:last-child) {
    padding: 0 0 40px;
    border-bottom: 1px solid #3C559D;
    border-right: none;
  }
}
.cta-3columns__item .item__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding: 32px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}
.cta-3columns__item .item__ttl::before {
  position: absolute;
  top: 0;
  width: 24px;
  height: 24px;
  content: "";
}
.cta-3columns__item .item__ttl.-pamphlet::before {
  background: url(../img/icon/icon_file.svg) center center no-repeat;
}
.cta-3columns__item .item__ttl.-contact::before {
  background: url(../img/icon/icon_mail.svg) center center no-repeat;
}
.cta-3columns__item .item__ttl.-demo::before {
  background: url(../img/icon/icon_monitor.svg) center center no-repeat;
}
@media screen and (max-width: 767px) {
  .cta-3columns__item .item__ttl {
    font-size: 1.375rem;
  }
}
.cta-3columns__item .item__desc:last-child {
  margin: auto 0 0;
}
.cta-3columns__item .item__btn {
  height: 64px;
  padding: 24px 16px;
  background: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.cta-3columns__item .item__btn:hover {
  background: #DAE3F2;
}

/*  2columns -------------------------------------------------------------- */
.cta-2columns {
  margin: 80px 0;
  container-type: inline-size;
}

.cta-2columns__inner {
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
}
@container (max-width: 767px) {
  .cta-2columns__inner {
    width: 91.46%;
  }
}
.columns-cnt .cta-2columns__inner {
  width: 100%;
}

.cta-2columns .section__ttl {
  color: #333640;
}

.cta-2columns__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  margin: 48px 0 0;
}
@container (max-width: 1023px) {
  .cta-2columns__block {
    gap: 4.4%;
  }
}
@container (max-width: 767px) {
  .cta-2columns__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}

.cta-2columns__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  padding: 64px 80px;
  background: #061C4F;
  border-radius: 16px;
}
@container (max-width: 1023px) {
  .cta-2columns__item {
    padding: 48px 7.2%;
  }
}
@container (max-width: 767px) {
  .cta-2columns__item {
    padding: 48px 6.99%;
  }
}
.cta-2columns__item .item__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding: 32px 0 0;
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 700;
}
.cta-2columns__item .item__ttl::before {
  position: absolute;
  top: 0;
  width: 24px;
  height: 24px;
  content: "";
}
.cta-2columns__item .item__ttl.-pamphlet::before {
  background: url(../img/icon/icon_file.svg) center center no-repeat;
}
.cta-2columns__item .item__ttl.-contact::before {
  background: url(../img/icon/icon_mail.svg) center center no-repeat;
}
.cta-2columns__item .item__ttl.-demo::before {
  background: url(../img/icon/icon_monitor.svg) center center no-repeat;
}
.cta-2columns__item .item__desc {
  color: #FFFFFF;
}
.cta-2columns__item .item__desc:last-child {
  margin: auto 0 0;
}
.cta-2columns__item .item__btn {
  height: 64px;
  padding: 24px 16px;
  background: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.cta-2columns__item .item__btn:hover {
  background: #DAE3F2;
}

/*  1btn -------------------------------------------------------------- */
.cta-1btn {
  margin: 80px 0;
  container-type: inline-size;
}

.cta-1btn__inner {
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 64px 80px;
  background: #061C4F;
  border-radius: 16px;
}
@container (max-width: 1023px) {
  .cta-1btn__inner {
    padding: 48px 7.2%;
  }
}
@container (max-width: 767px) {
  .cta-1btn__inner {
    width: 91.46%;
    padding: 48px 6.99%;
  }
}
.columns-cnt .cta-1btn__inner {
  width: 100%;
}

.cta-1btn__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 48px;
}
@container (max-width: 1023px) {
  .cta-1btn__block {
    gap: 4.4%;
  }
}
@container (max-width: 767px) {
  .cta-1btn__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}

.cta-1btn__img {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

.cta-1btn__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

.cta-1btn__ttl {
  color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 700;
}

.cta-1btn__desc {
  margin: 24px 0 0;
  color: #FFFFFF;
}

.cta-1btn__btn {
  height: 64px;
  margin: 24px 0 0;
  padding: 24px 16px;
  background: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.cta-1btn__btn:hover {
  background: #DAE3F2;
}

/* ---------------------------------------------------
  List
  --------------------------------------------------- */
.bulleted-list.-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 40px;
  container-type: inline-size;
}
@container (max-width: 620px) {
  .bulleted-list.-columns {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.bulleted-list__item {
  position: relative;
  padding: 0 0 0 1em;
}
.bulleted-list__item::before {
  position: absolute;
  top: calc(1em - 3px);
  left: calc(0.5em - 3px);
  width: 6px;
  height: 6px;
  background-color: #1E3A8E;
  border-radius: 3px;
  content: "";
}
.-columns .bulleted-list__item {
  width: calc(50% - 20px);
}
@container (max-width: 620px) {
  .-columns .bulleted-list__item {
    width: 100%;
  }
}

.tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1em;
}

.tag-list__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  padding: 4px 1em;
  background: #F2F4F7;
  border-radius: 20px;
  color: #646C76;
  font-size: 1rem;
  line-height: 1.4;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.tag-list__link span {
  position: relative;
  padding: 0 0 0 1.125em;
}
.tag-list__link span::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url(../img/icon/icon_tag.svg) center center no-repeat;
  background-size: contain;
  content: "";
}
.tag-list__link:hover {
  background: #DAE3F2;
  color: #1E3A8E;
}

/* ---------------------------------------------------
  Table
  --------------------------------------------------- */
.table__wrap--scroll {
  width: 100%;
  container-type: inline-size;
}
@media screen and (max-width: 767px) {
  .table__wrap--scroll {
    overflow: scroll;
  }
  .table__wrap--scroll .table {
    width: 735px;
  }
}
@container (max-width: 620px) {
  .table__wrap--scroll {
    overflow: scroll;
  }
}

.table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #BEC2C8;
  border-radius: 4px;
}
.table thead th {
  padding: 0.75em 1em;
  background: #F2F4F7;
  border-bottom: 1px solid #1E3A8E;
  color: #1E3A8E;
  text-align: left;
  line-height: 1.5;
}
.table thead tr:first-child th:first-child {
  border-radius: 4px 0 0 0;
}
.table thead tr:first-child th:last-child {
  border-radius: 0 4px 0 0;
}
.table tbody tr {
  border-bottom: 1px solid #BEC2C8;
}
.table tbody th {
  padding: 0.75em 1em;
  border-bottom: 1px solid #BEC2C8;
  text-align: left;
  line-height: 1.5;
}
.table tbody td {
  padding: 0.75em 1em;
  border-bottom: 1px solid #BEC2C8;
  line-height: 1.5;
}
.table tbody tr:last-child th,
.table tbody tr:last-child td {
  border-bottom: none;
}
.table.--left_ttl tbody th {
  background: #F2F4F7;
}
.table.--left_ttl tbody tr:first-child th {
  border-radius: 4px 0 0 0;
}
.table.--left_ttl tbody tr:last-child th {
  border-radius: 0 0 0 4px;
}
.table.--celled th:not(:first-child), .table.--celled td:not(:first-child) {
  border-left: 1px solid #BEC2C8;
}
.table.--celled .border-btm_gray {
  border-bottom: 1px solid #BEC2C8;
}
.table.--celled .border-lft_gray {
  border-left: 1px solid #BEC2C8;
}

/* ===================================================
  INDEX
  - logo slider
  - solution 課題別リンク一覧
  - case 導入事例
	- function 機能
	- 2カラム コンテンツ
	- フォーム
  =================================================== */
/* ---------------------------------------------------
  logo slider
  --------------------------------------------------- */
.logo-slider {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 48px 0 0;
}

.logo-slider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: ani_slide_logo 30s linear infinite;
          animation: ani_slide_logo 30s linear infinite;
}
@media screen and (max-width: 767px) {
  .logo-slider__track {
    gap: 24px;
  }
}

.track__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .track__group {
    gap: 24px;
  }
}

.track__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.track__item img {
  max-width: 160px;
  max-height: 64px;
}
@media screen and (max-width: 767px) {
  .track__item img {
    max-width: 120px;
    max-height: 40px;
  }
}

@-webkit-keyframes ani_slide_logo {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes ani_slide_logo {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/* ---------------------------------------------------
  solution 課題別リンク一覧
  --------------------------------------------------- */
.solution__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
.solution__list::before {
  position: absolute;
  bottom: -16px;
  left: -16px;
  z-index: 1;
  width: 32px;
  height: 32px;
  background: #1E3A8E;
  content: "";
}
.solution__list::after {
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 32px;
  height: 32px;
  background: #1E3A8E;
  content: "";
}
@media screen and (max-width: 767px) {
  .solution__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.solution__item {
  position: relative;
  width: 50%;
  padding: 16px;
  border-top: 1px solid #96A4CC;
  border-left: 1px solid #96A4CC;
}
.solution__item::before {
  position: absolute;
  top: -16px;
  left: -16px;
  width: 32px;
  height: 32px;
  background: #1E3A8E;
  content: "";
}
.solution__item:nth-child(2n) {
  border-right: 1px solid #96A4CC;
}
.solution__item:nth-child(2n)::after {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 32px;
  height: 32px;
  background: #1E3A8E;
  content: "";
}
.solution__item:last-child, .solution__item:nth-last-child(2) {
  border-bottom: 1px solid #96A4CC;
}
.solution__item:last-child::after, .solution__item:nth-last-child(2)::after {
  position: absolute;
  bottom: -16px;
  right: -16px;
  z-index: 1;
  width: 32px;
  height: 32px;
  background: #1E3A8E;
  content: "";
}
@media screen and (max-width: 1160px) {
  .solution__item {
    padding: 1.4%;
  }
}
@media screen and (max-width: 767px) {
  .solution__item {
    width: 100%;
    padding: 12px;
    border-right: 1px solid #96A4CC;
  }
  .solution__item::after {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 32px;
    height: 32px;
    background: #1E3A8E;
    content: "";
  }
  .solution__item:nth-last-child(2) {
    border-bottom: none;
  }
}

.solution__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 16px;
  color: #FFFFFF;
  font-size: 22px;
  line-height: 1.5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.solution__link:hover {
  background: #3C559D;
}
.solution__link .details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #B4BFDB;
  margin: 0 0 0 auto;
  padding: 2px 28px 2px 8px;
  background: url(../img/icon/icon_arrow-right_wh.svg) no-repeat right 8px center;
  background-size: 16px;
  border-radius: 2px;
  font-size: 14px;
}
@media screen and (max-width: 1160px) {
  .solution__link {
    padding: 2.8%;
    font-size: 1.896vw;
  }
}
@media screen and (max-width: 767px) {
  .solution__link {
    gap: 8px;
    padding: 12px;
    font-size: 1.25rem;
  }
  .solution__link .txt {
    width: calc(100% - 80px - 8px);
  }
  .solution__link .details {
    width: 80px;
  }
}

/* ---------------------------------------------------
  case 導入事例
  --------------------------------------------------- */
.case__list__wrap {
  margin: 48px 0 0;
  padding: 24px;
  background: #FFFFFF;
  border-radius: 16px;
}

.case__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: 24px;
}

.case__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin: 48px 0 0;
}
@media screen and (max-width: 767px) {
  .case__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.case__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17.5%;
}
.case__item img {
  max-width: 160px;
  max-height: 64px;
}
@media screen and (max-width: 767px) {
  .case__item img {
    max-width: 120px;
    max-height: 40px;
  }
}

.case__card {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  padding: 24px;
  background: #FFFFFF;
  border-radius: 16px;
  -webkit-box-shadow: 0px 2px 6px rgba(0, 17, 51, 0.13);
          box-shadow: 0px 2px 6px rgba(0, 17, 51, 0.13);
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
.case__card:hover {
  -webkit-box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
          box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
}

.case__card__name {
  margin: 16px 0 0;
  color: #646C76;
}

.case__card__desc {
  margin: 16px 0 0;
  color: #333640;
}

.case__card__link {
  position: relative;
  margin: 16px 0 0;
  padding: 0 20px 0 0;
  text-align: right;
  line-height: 1.4;
}
.case__card__link::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../img/icon/icon_arrow-right_bl.svg) center center no-repeat;
  background-size: contain;
  content: "";
}

.case__btn {
  width: 266px;
  margin: 48px auto 0;
}

/* ---------------------------------------------------
  function 機能
  --------------------------------------------------- */
.function__content__wrap {
  position: relative;
  margin: 48px 0 0;
}
.function__content__wrap::before {
  position: absolute;
  top: 128px;
  right: 0;
  width: 380px;
  height: 234px;
  background: url(../img/bg_function.png) center center no-repeat;
  background-size: contain;
  border-radius: 8px;
  opacity: 0.6;
  content: "";
}
@media screen and (max-width: 1023px) {
  .function__content__wrap::before {
    content: none;
  }
}

.function__content {
  position: relative;
  width: 720px;
}
@media screen and (max-width: 1160px) {
  .function__content {
    width: 66.66%;
  }
}
@media screen and (max-width: 1023px) {
  .function__content {
    width: 100%;
  }
}

.function__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  padding: 40px;
  background: #F2F4F7;
  border-radius: 16px;
  -webkit-box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
          box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
}
@media screen and (max-width: 767px) {
  .function__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    padding: 24px 16px;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.function__list__col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

.function__item {
  position: relative;
  padding: 0 0 0 1em;
  color: #494F5B;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.function__item:not(:first-child) {
  margin: 8px 0 0;
}
.function__item::before {
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: #1E3A8E;
  border-radius: 3px;
  content: "";
}

.function__btn {
  width: 240px;
  margin: 48px auto 0;
}

/* ---------------------------------------------------
  2カラム コンテンツ
  --------------------------------------------------- */
.columns-cnt {
  display: grid;
  grid-template-columns: 252px 1fr;
  gap: 24px;
  width: 95.73%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 0 0;
}
@media screen and (max-width: 767px) {
  .columns-cnt {
    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;
    width: 91.46%;
    padding: 40px 0 0;
  }
  .columns-cnt.-leftside {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.columns-cnt__side {
  height: 100%;
  padding: 0 0 80px;
}
@media screen and (max-width: 767px) {
  .columns-cnt__side {
    margin: 0 0 80px;
  }
}

.side__inner {
  position: sticky;
  top: 192px;
  padding: 16px;
  background: #FFFFFF;
  border-radius: 8px;
  -webkit-box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
          box-shadow: 0px 3px 8px rgba(0, 17, 51, 0.1);
}
@media screen and (max-width: 767px) {
  .side__inner {
    position: inherit;
  }
}

.side__ttl {
  color: #1E3A8E;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.side__ttl:not(:first-of-type) {
  margin: 24px 0 0;
}

.side__content {
  margin: 8px 0 0;
  border-top: 1px solid #BEC2C8;
}

.side__list {
  margin: 16px 0 0;
}

.side__link {
  display: block;
  position: relative;
  padding: 8px 20px 8px 12px;
  border-radius: 4px;
  color: #333640;
  font-size: 16px;
  line-height: 1.5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.side__link::after {
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../img/icon/icon_chevron-right_bl.svg) center center;
  background-size: contain;
  content: "";
}
.side__link:hover {
  background: #DAE3F2;
}

.columns-cnt__ttl01__wrap {
  padding: 64px 24px;
  background: #F2F4F7;
}

.columns-cnt__sec {
  margin: 80px 0 0;
}

.columns-cnt__desc {
  margin: 24px 0 0;
}

.columns-cnt__img {
  margin: 24px 0 0;
  border-radius: 8px;
  overflow: hidden;
}

/* お役立ち情報 -------------------------------------------------------------- */
.seminar__list {
  margin: 48px 0 0;
}

.seminar__item {
  margin: 24px 0 0;
}

.seminar__link {
  display: block;
  padding: 24px;
  border-radius: 16px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.seminar__link:hover {
  background: #DAE3F2;
  -webkit-box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
          box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
}
.seminar__link .item__img {
  overflow: hidden;
  border-radius: 8px;
}
.seminar__link .item__ttl {
  margin: 16px 0 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .seminar__link .item__ttl {
    font-size: 1.125rem;
  }
}

.divided__list {
  margin: 48px 0 0;
}

.divided__item {
  border-bottom: 1px solid #BEC2C8;
}
.divided__item:first-child {
  border-top: 1px solid #BEC2C8;
}

.divided__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  padding: 24px 64px 24px 24px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.divided__link::after {
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 24px;
  height: 24px;
  background: url(../img/icon/icon_chevron-right_bl.svg) center center no-repeat;
  background-size: contain;
  content: "";
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .divided__link {
    gap: 16px;
    padding: 16px 40px 16px 0;
  }
  .divided__link::after {
    right: 0;
  }
}
@media screen and (max-width: 440px) {
  .divided__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}
.divided__link:hover {
  background: #F5F9FF;
  -webkit-box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
          box-shadow: 0px 8px 20px rgba(0, 17, 51, 0.12);
}
.divided__link:hover::after {
  -webkit-transform: translate(8px, -50%);
          transform: translate(8px, -50%);
}
@media screen and (max-width: 767px) {
  .divided__link:hover::after {
    -webkit-transform: translate(4px, -50%);
            transform: translate(4px, -50%);
  }
}
.divided__link .category {
  width: 102px;
}
.divided__link .category span {
  padding: 4px 8px;
  background: #F5F9FF;
  border-left: 1px solid #96A4CC;
  color: #5A6FAD;
  font-size: 14px;
}
.divided__link .block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}
.divided__link .ttl {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
.divided__link .desc {
  color: #333640;
}
.divided__link .img {
  width: 160px;
}

.divided__list + .btn__outline--lg {
  width: 240px;
  margin: 32px auto 0;
}

/* セミナー詳細 -------------------------------------------------------------- */
.seminar__label {
  display: inline-block;
  border-radius: 4px;
  padding: 4px 1em;
  font-size: 1rem;
  line-height: 1.5;
}
.seminar__label.--open {
  background: #061C4F;
  color: #FFFFFF;
}
.seminar__label.--close {
  background: #BEC2C8;
  color: #494F5B;
}
.seminar__label + .heading__main-ttl {
  margin: 8px 0 0;
}

.heading__wrap--has-sub.--line-left_blue {
  padding: 0 0 0 1em;
  border-left: 3px solid #1E3A8E;
}

.heading__sub-copy {
  color: #646C76;
  font-size: 1rem;
  line-height: 1.5;
}
.heading__sub-copy + .heading__main-ttl {
  margin: 8px 0 0;
}

.heading__main-ttl {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .heading__main-ttl {
    font-size: 1rem;
  }
}

/* ranking -------------------------------------------------------------- */
.ranking__list {
  margin: 48px 0 0;
  padding: 8px 24px 24px;
  background: #F2F4F7;
  border-radius: 8px;
  counter-reset: rank;
}
@media screen and (max-width: 767px) {
  .ranking__list {
    padding: 0 16px 24px;
  }
}

.ranking__item {
  position: relative;
  padding: 24px 0 24px 64px;
  border-bottom: 1px solid #BEC2C8;
}
.ranking__item::before {
  position: absolute;
  top: 24px;
  left: 0;
  width: 40px;
  height: 40px;
  background: #1E3A8E;
  content: "";
}
.ranking__item::after {
  position: absolute;
  top: 44px;
  left: 20px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  counter-increment: rank;
  content: counter(rank);
  color: #FFFFFF;
  font-size: 1.5rem;
  line-height: 1;
}
.ranking__item:first-child::before {
  background-color: #8A7522;
}
.ranking__item:nth-child(2)::before {
  background-color: #6F7375;
}
.ranking__item:nth-child(3)::before {
  background-color: #995E1C;
}
@media screen and (max-width: 767px) {
  .ranking__item {
    padding: 16px 0 16px 48px;
  }
  .ranking__item::before {
    top: 16px;
    width: 32px;
    height: 32px;
  }
  .ranking__item::after {
    top: 32px;
    left: 16px;
    font-size: 1.25rem;
  }
}

.ranking__link {
  display: block;
  position: relative;
  padding: 0 48px 0 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.ranking__link::after {
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 24px;
  height: 24px;
  background: url(../img/icon/icon_chevron-right_bl.svg) center center no-repeat;
  background-size: contain;
  content: "";
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.ranking__link:hover {
  text-decoration: underline;
}
.ranking__link:hover::after {
  right: 12px;
}
.ranking__link .ttl {
  font-size: 1.25rem;
  font-weight: 700;
}

/* ---------------------------------------------------
  フォーム
  --------------------------------------------------- */
.contact__form {
  margin: 0 0 80px;
}
.contact__form h1 {
  font-family: auto;
  margin-bottom: 10px;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
.contact__form h2 {
  font-family: auto;
  margin-bottom: 15px;
  font-size: 1.5rem;
  line-height: 1.5;
}
.contact__form h4 {
  font-size: 1rem;
  line-height: 1.75;
}
div[id^=senses-webform] {
  width: 100%;
  max-width: 100%;
  font-size: 100%;
}
div[id^=senses-webform] select::-ms-expand {
  display: none;
}
div[id^=senses-webform] input[type=text],
div[id^=senses-webform] button,
div[id^=senses-webform] select,
div[id^=senses-webform] textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  outline: none;
}
div[id^=senses-webform] textarea {
  resize: vertical;
}
div[id^=senses-webform] input[type=submit],
div[id^=senses-webform] input[type=button],
div[id^=senses-webform] button,
div[id^=senses-webform] select {
  cursor: pointer;
}
div[id^=senses-webform] input[type=text],
div[id^=senses-webform] select,
div[id^=senses-webform] textarea {
  width: 100%;
  margin: 8px 0 0;
  padding: 12px;
  background: #FFFFFF;
  border: 1px solid #BEC2C8;
  border-radius: 4px;
  color: #333640;
  font-size: 1rem;
  line-height: 1.5;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
div[id^=senses-webform] input[type=text]:focus,
div[id^=senses-webform] select:focus,
div[id^=senses-webform] textarea:focus {
  -webkit-box-shadow: 0 0 16px rgba(28, 75, 216, 0.2);
          box-shadow: 0 0 16px rgba(28, 75, 216, 0.2);
}
div[id^=senses-webform] input[type=text]::-webkit-input-placeholder, div[id^=senses-webform] select::-webkit-input-placeholder, div[id^=senses-webform] textarea::-webkit-input-placeholder {
  color: #9FA5AD;
  opacity: 1;
}
div[id^=senses-webform] input[type=text]::-moz-placeholder, div[id^=senses-webform] select::-moz-placeholder, div[id^=senses-webform] textarea::-moz-placeholder {
  color: #9FA5AD;
  opacity: 1;
}
div[id^=senses-webform] input[type=text]:-ms-input-placeholder, div[id^=senses-webform] select:-ms-input-placeholder, div[id^=senses-webform] textarea:-ms-input-placeholder {
  color: #9FA5AD;
  opacity: 1;
}
div[id^=senses-webform] input[type=text]::-ms-input-placeholder, div[id^=senses-webform] select::-ms-input-placeholder, div[id^=senses-webform] textarea::-ms-input-placeholder {
  color: #9FA5AD;
  opacity: 1;
}
div[id^=senses-webform] input[type=text]::placeholder,
div[id^=senses-webform] select::placeholder,
div[id^=senses-webform] textarea::placeholder {
  color: #9FA5AD;
  opacity: 1;
}
div[id^=senses-webform] .textField,
div[id^=senses-webform] .addressField,
div[id^=senses-webform] .singleSelectionField,
div[id^=senses-webform] .multilinableTextField,
div[id^=senses-webform] .termsField {
  margin: 24px 0;
}
div[id^=senses-webform] .textField input + p,
div[id^=senses-webform] .singleSelectionField input + p,
div[id^=senses-webform] .termField input + p {
  font-size: 0.8125rem;
  padding: 0;
  margin: 0;
}
div[id^=senses-webform] label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-family: auto;
  font-weight: 700;
}
div[id^=senses-webform] label span {
  display: inline-block;
  padding: 0 0.5rem;
  border-radius: 2px;
  background-color: #c11515;
  color: #FFFFFF;
  font-size: 0.75rem;
}
div[id^=senses-webform] label div {
  color: #c11515;
  font-size: 0.8em;
  margin-left: 1em;
  min-width: 2em;
}
div[id^=senses-webform] input[type=checkbox],
div[id^=senses-webform] input[type=radio] {
  -webkit-transform: scale(1.8);
          transform: scale(1.8);
  margin: 0 1.2em 0 8px;
}
div[id^=senses-webform] select {
  padding-right: 32px;
  background: url(../img/icon/icon_chevron-down_bl.svg) right 4px center no-repeat;
}
div[id^=senses-webform] textarea {
  height: 100px;
}
div[id^=senses-webform] button {
  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;
  position: relative;
  width: 252px;
  height: 64px;
  margin: 40px auto;
  padding: 8px 24px;
  background: #001133;
  border-radius: 40px;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
div[id^=senses-webform] button:hover {
  background: #122B6E;
}
div[id^=senses-webform] .termsField a {
  font-weight: 700;
  text-decoration: underline;
}
div[id^=senses-webform] .termsField a:hover {
  text-decoration: none;
}

.humanNameField div,
#contactName div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* ---------------------------------------------------
  Utility
  --------------------------------------------------- */
/* Display -------------------------------------------------------------- */
.xl_block,
.lg_block,
.md_block,
.sm_block {
  display: none;
}

@media screen and (max-width: 1160px) {
  .xl_block {
    display: block !important;
  }
  .xl_none {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .lg_block {
    display: block !important;
  }
  .lg_none {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .md_block {
    display: block !important;
  }
  .md_none {
    display: none !important;
  }
}
@media screen and (max-width: 440px) {
  .sm_block {
    display: block !important;
  }
  .sm_none {
    display: none !important;
  }
}
/* Color -------------------------------------------------------------- */
.u_clr_blue {
  color: #1E3A8E;
}

.u_clr_white {
  color: #FFFFFF;
}

.u_clr_darkgray {
  color: #333640;
}

.u_bg_blue {
  background-color: #1E3A8E;
}

.u_bg_lightgray {
  background-color: #F2F4F7;
}

/* Base Fonts -------------------------------------------------------------- */
.u_fw_normal {
  font-weight: 400;
}

.u_fw_bold {
  font-weight: 700;
}

.u_fz_xs {
  font-size: 0.75rem;
}

.u_fz_sm {
  font-size: 0.875rem;
}

.u_fz_md {
  font-size: 1rem;
}

.u_fz_lg {
  font-size: 1.125rem;
}

.u_fz_xl {
  font-size: 1.25rem;
}

.u_fz_2xl {
  font-size: 1.5rem;
}

sup {
  font-size: 78%;
  vertical-align: top;
}

sub {
  font-size: 78%;
  vertical-align: baseline;
}

/* Inline Align -------------------------------------------------------------- */
.u_t-align_left {
  text-align: left !important;
}

.u_t-align_center {
  text-align: center !important;
}

.u_t-align_right {
  text-align: right !important;
}

.u_v-align_top {
  vertical-align: top !important;
}

.u_v-align_middle {
  vertical-align: middle !important;
}

.u_v-align_bottom {
  vertical-align: bottom !important;
}

/* Shape -------------------------------------------------------------- */
.u_rounded-corners_sm {
  border-radius: 4px;
}

.u_rounded-corners_md {
  border-radius: 8px;
}

.u_rounded-corners_lg {
  border-radius: 16px;
}

/* Width -------------------------------------------------------------- */
.u_w5 {
  width: 5%;
}

.u_w10 {
  width: 10%;
}

.u_w15 {
  width: 15%;
}

.u_w16 {
  width: 16.666%;
} /* 1/6 */
.u_w20 {
  width: 20%;
} /* 1/5 */
.u_w25 {
  width: 25%;
} /* 1/4 */
.u_w30 {
  width: 30%;
}

.u_w33 {
  width: 33.333%;
} /* 1/3 */
.u_w35 {
  width: 35%;
}

.u_w40 {
  width: 40%;
}

.u_w45 {
  width: 45%;
}

.u_w50 {
  width: 50%;
} /* 1/2 */
.u_w55 {
  width: 55%;
}

.u_w60 {
  width: 60%;
}

.u_w65 {
  width: 65%;
}

.u_w66 {
  width: 66.666%;
} /* 2/3 */
.u_w70 {
  width: 70%;
}

.u_w75 {
  width: 75%;
}

.u_w80 {
  width: 80%;
}

.u_w83 {
  width: 83.333%;
} /* 5/6 */
.u_w85 {
  width: 85%;
}

.u_w90 {
  width: 90%;
}

.u_w95 {
  width: 95%;
}

.u_w100 {
  width: 100%;
}

.u_w_auto {
  width: auto;
}

.u_w_fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/* Tools -------------------------------------------------------------- */
.block {
  display: block;
}

.hide {
  display: none;
}

.bgN {
  background: none !important;
}

.tdU {
  text-decoration: underline;
}

.tdN {
  text-decoration: none;
}

/* Margin -------------------------------------------------------------- */
.u_mt0 {
  margin-top: 0px !important;
}

.u_mt8 {
  margin-top: 8px !important;
}

.u_mt16 {
  margin-top: 16px !important;
}

.u_mt24 {
  margin-top: 24px !important;
}

.u_mt32 {
  margin-top: 32px !important;
}

.u_mt40 {
  margin-top: 40px !important;
}

.u_mt48 {
  margin-top: 48px !important;
}

.u_mt56 {
  margin-top: 56px !important;
}

.u_mt64 {
  margin-top: 64px !important;
}

.u_mt72 {
  margin-top: 72px !important;
}

.u_mt80 {
  margin-top: 80px !important;
}

.u_mr0 {
  margin-right: 0px !important;
}

.u_mr8 {
  margin-right: 8px !important;
}

.u_mr16 {
  margin-right: 16px !important;
}

.u_mr24 {
  margin-right: 24px !important;
}

.u_mr32 {
  margin-right: 32px !important;
}

.u_mr40 {
  margin-right: 40px !important;
}

.u_mr48 {
  margin-right: 48px !important;
}

.u_mr56 {
  margin-right: 56px !important;
}

.u_mr64 {
  margin-right: 64px !important;
}

.u_mr72 {
  margin-right: 72px !important;
}

.u_mr80 {
  margin-right: 80px !important;
}

.u_mb0 {
  margin-bottom: 0px !important;
}

.u_mb8 {
  margin-bottom: 8px !important;
}

.u_mb16 {
  margin-bottom: 16px !important;
}

.u_mb24 {
  margin-bottom: 24px !important;
}

.u_mb32 {
  margin-bottom: 32px !important;
}

.u_mb40 {
  margin-bottom: 40px !important;
}

.u_mb48 {
  margin-bottom: 48px !important;
}

.u_mb56 {
  margin-bottom: 56px !important;
}

.u_mb64 {
  margin-bottom: 64px !important;
}

.u_mb72 {
  margin-bottom: 72px !important;
}

.u_mb80 {
  margin-bottom: 80px !important;
}

.u_ml0 {
  margin-left: 0px !important;
}

.u_ml8 {
  margin-left: 8px !important;
}

.u_ml16 {
  margin-left: 16px !important;
}

.u_ml24 {
  margin-left: 24px !important;
}

.u_ml32 {
  margin-left: 32px !important;
}

.u_ml40 {
  margin-left: 40px !important;
}

.u_ml48 {
  margin-left: 48px !important;
}

.u_ml56 {
  margin-left: 56px !important;
}

.u_ml64 {
  margin-left: 64px !important;
}

.u_ml72 {
  margin-left: 72px !important;
}

.u_ml80 {
  margin-left: 80px !important;
}

.u_m0 {
  margin: 0px !important;
}

.u_m8 {
  margin: 8px !important;
}

.u_m16 {
  margin: 16px !important;
}

.u_m24 {
  margin: 24px !important;
}

.u_m32 {
  margin: 32px !important;
}

.u_m40 {
  margin: 40px !important;
}

.u_m48 {
  margin: 48px !important;
}

.u_m56 {
  margin: 56px !important;
}

.u_m64 {
  margin: 64px !important;
}

.u_m72 {
  margin: 72px !important;
}

.u_m80 {
  margin: 80px !important;
}

/* Padding -------------------------------------------------------------- */
.u_pt0 {
  padding-top: 0px !important;
}

.u_pt8 {
  padding-top: 8px !important;
}

.u_pt16 {
  padding-top: 16px !important;
}

.u_pt24 {
  padding-top: 24px !important;
}

.u_pt32 {
  padding-top: 32px !important;
}

.u_pt40 {
  padding-top: 40px !important;
}

.u_pt48 {
  padding-top: 48px !important;
}

.u_pt56 {
  padding-top: 56px !important;
}

.u_pt64 {
  padding-top: 64px !important;
}

.u_pt72 {
  padding-top: 72px !important;
}

.u_pt80 {
  padding-top: 80px !important;
}

.u_pr0 {
  padding-right: 0px !important;
}

.u_pr8 {
  padding-right: 8px !important;
}

.u_pr16 {
  padding-right: 16px !important;
}

.u_pr24 {
  padding-right: 24px !important;
}

.u_pr32 {
  padding-right: 32px !important;
}

.u_pr40 {
  padding-right: 40px !important;
}

.u_pr48 {
  padding-right: 48px !important;
}

.u_pr56 {
  padding-right: 56px !important;
}

.u_pr64 {
  padding-right: 64px !important;
}

.u_pr72 {
  padding-right: 72px !important;
}

.u_pr80 {
  padding-right: 80px !important;
}

.u_pb0 {
  padding-bottom: 0px !important;
}

.u_pb8 {
  padding-bottom: 8px !important;
}

.u_pb16 {
  padding-bottom: 16px !important;
}

.u_pb24 {
  padding-bottom: 24px !important;
}

.u_pb32 {
  padding-bottom: 32px !important;
}

.u_pb40 {
  padding-bottom: 40px !important;
}

.u_pb48 {
  padding-bottom: 48px !important;
}

.u_pb56 {
  padding-bottom: 56px !important;
}

.u_pb64 {
  padding-bottom: 64px !important;
}

.u_pb72 {
  padding-bottom: 72px !important;
}

.u_pb80 {
  padding-bottom: 80px !important;
}

.u_pl0 {
  padding-left: 0px !important;
}

.u_pl8 {
  padding-left: 8px !important;
}

.u_pl16 {
  padding-left: 16px !important;
}

.u_pl24 {
  padding-left: 24px !important;
}

.u_pl32 {
  padding-left: 32px !important;
}

.u_pl40 {
  padding-left: 40px !important;
}

.u_pl48 {
  padding-left: 48px !important;
}

.u_pl56 {
  padding-left: 56px !important;
}

.u_pl64 {
  padding-left: 64px !important;
}

.u_pl72 {
  padding-left: 72px !important;
}

.u_pl80 {
  padding-left: 80px !important;
}

.u_p0 {
  padding: 0px !important;
}

.u_p8 {
  padding: 8px !important;
}

.u_p16 {
  padding: 16px !important;
}

.u_p24 {
  padding: 24px !important;
}

.u_p32 {
  padding: 32px !important;
}

.u_p40 {
  padding: 40px !important;
}

.u_p48 {
  padding: 48px !important;
}

.u_p56 {
  padding: 56px !important;
}

.u_p64 {
  padding: 64px !important;
}

.u_p72 {
  padding: 72px !important;
}

.u_p80 {
  padding: 80px !important;
}

@media screen and (max-width: 767px) {
  .u_p0 {
    padding: 0vw !important;
  }
  .u_p8 {
    padding: 1.06vw !important;
  }
  .u_p16 {
    padding: 2.12vw !important;
  }
  .u_p24 {
    padding: 3.18vw !important;
  }
  .u_p32 {
    padding: 4.24vw !important;
  }
  .u_p40 {
    padding: 5.3vw !important;
  }
  .u_p48 {
    padding: 6.36vw !important;
  }
  .u_p56 {
    padding: 7.42vw !important;
  }
  .u_p64 {
    padding: 8.48vw !important;
  }
  .u_p72 {
    padding: 9.54vw !important;
  }
  .u_p80 {
    padding: 10.6vw !important;
  }
}/*# sourceMappingURL=base.css.map */