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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

@media screen and (max-width: 1103px) and (min-width: 768px) {
  html {
    font-size: calc(16 / 1104 * 100vw);
  }
}
@media screen and (max-width: 749px) {
  html {
    font-size: calc(16 / 750 * 100vw);
  }
}

body {
  color: #474747;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a,
span {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: transparent;
  background: none;
  border: none;
}

input,
textarea,
select {
  font: inherit;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.l-main {
  min-height: 100vh;
  overflow-x: clip;
}

.l-main__bg {
  background: linear-gradient(220deg, #00A4E1 0%, #064DA1 100%);
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: 1104px;
  height: inherit;
  padding: 0 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    max-width: 750px;
    padding: 0 1.5625rem;
  }
}

.l-inner__narrow {
  max-width: 50rem;
}
@media screen and (max-width: 767px) {
  .l-inner__narrow {
    padding: 0 1.5625rem;
    max-width: 700px;
  }
}

.c-link-viewmore {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.0625rem;
     -moz-column-gap: 1.0625rem;
          column-gap: 1.0625rem;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .c-link-viewmore {
    -webkit-column-gap: 1.375rem;
       -moz-column-gap: 1.375rem;
            column-gap: 1.375rem;
  }
}
@media (any-hover: hover) {
  .c-link-viewmore:hover .c-link-viewmore__arrow::before {
    width: 4.1875rem;
  }
  .c-link-viewmore:hover .c-link-viewmore__arrow::after {
    left: 3.3125rem;
  }
}
@media screen and (any-hover: hover) and (max-width: 767px) {
  .c-link-viewmore:hover .c-link-viewmore__arrow::before {
    width: 6.625rem;
  }
  .c-link-viewmore:hover .c-link-viewmore__arrow::after {
    left: 4.625rem;
  }
}

.c-link-viewmore__text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-link-viewmore__text {
    font-size: max(1rem, 14px);
  }
}
.c-link-viewmore__text {
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-link-viewmore__text {
    font-size: max(1.625rem, 20.8px);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-link-viewmore__text {
    font-size: max(1.625rem, 14px);
  }
}

.c-link-viewmore__arrow {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.3125rem;
  height: 0.75rem;
}
@media screen and (max-width: 767px) {
  .c-link-viewmore__arrow {
    width: 4.75rem;
    height: 1.5rem;
  }
}
.c-link-viewmore__arrow::before {
  content: "";
  position: absolute;
  top: calc(50% + 0.25rem);
  left: 0;
  width: 2.3125rem;
  height: 1px;
  background: #ffffff;
  translate: 0 -50%;
  -webkit-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
@media screen and (max-width: 767px) {
  .c-link-viewmore__arrow::before {
    width: 4.75rem;
  }
}
.c-link-viewmore__arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.10625rem);
  left: 1.4375rem;
  width: 1rem;
  height: 1px;
  background: #ffffff;
  rotate: 45deg;
  translate: 0 -50%;
  -webkit-transition: left 0.5s ease;
  transition: left 0.5s ease;
}
@media screen and (max-width: 767px) {
  .c-link-viewmore__arrow::after {
    top: calc(50% - 0.5625rem);
    left: 2.75rem;
    width: 2.375rem;
  }
}

.c-link-viewmore.is-main {
  color: #064ea1;
}
.c-link-viewmore.is-main .c-link-viewmore__arrow::before,
.c-link-viewmore.is-main .c-link-viewmore__arrow::after {
  background: #064ea1;
}

.c-link-viewmore--bg.is-main {
  color: #064ea1;
}
.c-link-viewmore--bg.is-main .c-link-viewmore__arrow::before,
.c-link-viewmore--bg.is-main .c-link-viewmore__arrow::after {
  background: #064ea1;
}

.c-link-viewmore--bg {
  color: #ffffff;
}
@media (any-hover: hover) {
  .c-link-viewmore--bg:hover .c-link-viewmore__arrow::before {
    width: 6.8125rem;
  }
  .c-link-viewmore--bg:hover .c-link-viewmore__arrow::after {
    left: 5rem;
  }
}

.c-link-viewmore.c-link-viewmore--bg {
  -webkit-column-gap: 1.75rem;
     -moz-column-gap: 1.75rem;
          column-gap: 1.75rem;
}

.c-link-viewmore--bg .c-link-viewmore__text {
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .c-link-viewmore--bg .c-link-viewmore__text {
    font-size: max(1.625rem, 14px);
  }
}
.c-link-viewmore--bg .c-link-viewmore__text {
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: normal;
}

.c-link-viewmore--bg .c-link-viewmore__arrow {
  width: 4.9375rem;
}
.c-link-viewmore--bg .c-link-viewmore__arrow::before {
  width: 4.9375rem;
}
.c-link-viewmore--bg .c-link-viewmore__arrow::after {
  top: calc(50% - 0.5rem);
  left: 3.125rem;
  width: 2.125rem;
}

.c-section-title {
  padding-left: 5px;
  color: #ffffff;
}

.c-section-title.is-blue {
  color: #064ea1;
}

.c-section-title.is-blue .c-section-title--ja {
  margin-top: -0.3125rem;
  color: #474747;
}
@media screen and (max-width: 767px) {
  .c-section-title.is-blue .c-section-title--ja {
    margin-top: 0.0625rem;
  }
}

.c-section-title--en {
  font-size: max(4.125rem, 52.8px);
}
@media screen and (max-width: 767px) {
  .c-section-title--en {
    font-size: max(4.125rem, 14px);
  }
}
.c-section-title--en {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-section-title--en {
    font-size: max(4.75rem, 60.8px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-section-title--en {
    font-size: max(4.75rem, 14px);
  }
}

@media screen and (max-width: 767px) {
  .c-section-title.is-blue .c-section-title--en {
    font-size: max(4.75rem, 60.8px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-section-title.is-blue .c-section-title--en {
    font-size: max(4.75rem, 14px);
  }
}

.c-section-title--ja {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-section-title--ja {
    font-size: max(1rem, 14px);
  }
}
.c-section-title--ja {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-section-title--ja {
    margin-top: 0.0625rem;
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-section-title--ja {
    font-size: max(1.25rem, 14px);
  }
}

.c-lower-mv {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-top: 1.375rem;
  padding-bottom: 8.3125rem;
  background: linear-gradient(-0.82deg, #ffffff 10.33%, #019fde 98.48%);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-lower-mv {
    padding-top: 1.1875rem;
    padding-bottom: 5rem;
  }
}

.c-lower-mv__container {
  position: relative;
  overflow: visible;
  margin-inline: 1.25rem;
  aspect-ratio: 1400/400;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0 0.25rem 1.875rem 0.3125rem rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.25rem 1.875rem 0.3125rem rgba(0, 0, 0, 0.25);
}
@media (min-width: 1441px) {
  .c-lower-mv__container {
    height: 25rem;
    aspect-ratio: auto;
  }
}
@media screen and (max-width: 767px) {
  .c-lower-mv__container {
    height: 21.875rem;
    aspect-ratio: auto;
    margin-inline: 0.9375rem;
  }
}
.c-lower-mv__container .l-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  overflow: visible;
  pointer-events: none;
}
.c-lower-mv__container .l-header a,
.c-lower-mv__container .l-header button {
  pointer-events: auto;
}

.c-lower-mv__container.is-light-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255, 255, 255, 0.6);
  border-radius: inherit;
  pointer-events: none;
}

.c-lower-mv__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}
.c-lower-mv__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-lower-mv__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(351deg, rgba(255, 255, 255, 0) 6.64%, rgba(255, 255, 255, 0.5) 49.74%, #ffffff 92.84%);
  pointer-events: none;
}

.c-lower-mv__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 1441px) {
  .c-lower-mv__inner {
    max-width: 1440px;
    margin-inline: auto;
  }
}

.c-lower-mv__content {
  position: absolute;
  top: 12.7777777778vw;
  left: 13.1944444444vw;
}
@media (min-width: 1441px) {
  .c-lower-mv__content {
    top: 11.5rem;
    left: 11.875rem;
  }
}
@media (max-width: 1199px) {
  .c-lower-mv__content {
    left: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-lower-mv__content {
    top: 20vw;
    left: 6.6666666667vw;
  }
}

.c-lower-mv__title {
  color: #064ea1;
}

.c-lower-mv__title-en {
  font-size: max(4.125rem, 52.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-mv__title-en {
    font-size: max(4.125rem, 14px);
  }
}
.c-lower-mv__title-en {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-mv__title-en {
    font-size: max(3.5rem, 44.8px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-mv__title-en {
    font-size: max(3.5rem, 14px);
  }
}

.c-lower-mv__title-ja {
  margin-top: 0.0625rem;
  color: #474747;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-mv__title-ja {
    font-size: max(1rem, 14px);
  }
}
.c-lower-mv__title-ja {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-mv__title-ja {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-mv__title-ja {
    font-size: max(1.5rem, 14px);
  }
}

.c-lower-mv__deco-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.c-lower-mv__image {
  position: absolute;
  bottom: -16.875rem;
  right: -3.75rem;
  width: 35.625rem;
  height: auto;
  aspect-ratio: 570/567;
}
.c-lower-mv__image img {
  width: 100%;
  height: 100%;
}

.c-lower-mv__deco-top {
  position: absolute;
  top: -9.375rem;
  right: calc(50% - 3.4375rem);
  width: 28.125rem;
  height: auto;
  aspect-ratio: 304/303;
}
.c-lower-mv__deco-top img {
  width: 100%;
  height: 100%;
}

.c-lower-head__label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-head__label {
    font-size: max(1rem, 14px);
  }
}
.c-lower-head__label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-head__label {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-head__label {
    font-size: max(1.625rem, 14px);
  }
}

.c-lower-head__title-ja {
  margin-top: -0.125rem;
  color: #474747;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-head__title-ja {
    font-size: max(1.625rem, 14px);
  }
}
.c-lower-head__title-ja {
  font-weight: 700;
  line-height: 2.5384615385;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-head__title-ja {
    margin-top: 0.4375rem;
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-head__title-ja {
    font-size: max(2.25rem, 14px);
  }
}

.c-lower-head__line {
  position: relative;
  height: 1px;
  margin-top: 0.125rem;
  background-color: #b0e4ff;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .c-lower-head__line {
    margin-top: 0.9375rem;
  }
}

.c-lower-head__line-accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 6.25rem;
  height: 100%;
  background-color: #064ea1;
  border-radius: 0.625rem;
}

.c-lower-lead__label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-lead__label {
    font-size: max(1rem, 14px);
  }
}
.c-lower-lead__label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-lead__label {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-lead__label {
    font-size: max(1.625rem, 14px);
  }
}

.c-lower-lead__title-ja {
  margin-top: 0.125rem;
  color: #064ea1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .c-lower-lead__title-ja {
    font-size: max(2.25rem, 14px);
  }
}
.c-lower-lead__title-ja {
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .c-lower-lead__title-ja {
    font-size: max(2.5rem, 32px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.025em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-lead__title-ja {
    font-size: max(2.5rem, 14px);
  }
}

.c-lower-section-head__title {
  color: #474747;
  font-size: max(1.25rem, 16px);
}
@media screen and (max-width: 767px) {
  .c-lower-section-head__title {
    font-size: max(1.25rem, 14px);
  }
}
.c-lower-section-head__title {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .c-lower-section-head__title {
    font-size: max(1.875rem, 24px);
    font-weight: 700;
    line-height: 1.3333333333;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-lower-section-head__title {
    font-size: max(1.875rem, 14px);
  }
}

.c-lower-section-head__line {
  position: relative;
  width: 100%;
  max-width: 64rem;
  height: 1px;
  margin-top: 0.9375rem;
  background-color: #b0e4ff;
  border-radius: 0.625rem;
}

.c-lower-section-head__line-accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 6.25rem;
  height: 100%;
  background-color: #064ea1;
  border-radius: 0.625rem;
}

.p-header {
  position: relative;
  z-index: 100;
  overflow: visible;
  background-color: transparent;
}

.p-header__inner {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  padding-block: 1.0625rem 1.6875rem;
  padding-left: 1.875rem;
  padding-right: 10.4375rem;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    grid-template-columns: 1fr;
    padding-block: 0.4375rem;
    padding-left: 0.625rem;
    padding-right: 1.5625rem;
  }
}
@media (min-width: 1441px) {
  .p-header__inner {
    max-width: 1440px;
    margin-inline: auto;
  }
}

.p-header__logo {
  display: block;
  width: 20.875rem;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 26.4375rem;
  }
}
.p-header__logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 334/78;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-header__nav {
  justify-self: end;
}

.p-header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3.1875rem;
     -moz-column-gap: 3.1875rem;
          column-gap: 3.1875rem;
}
@media (max-width: 899px) {
  .p-header__list {
    -webkit-column-gap: 22px;
       -moz-column-gap: 22px;
            column-gap: 22px;
  }
}

.p-header__link {
  position: relative;
  display: inline-block;
  color: #000000;
  text-transform: uppercase;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-header__link {
    font-size: max(1rem, 14px);
  }
}
.p-header__link {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
}
.p-header__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 100%;
  height: 1px;
  background-color: #000000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (any-hover: hover) {
  .p-header__link:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

.p-header__aside {
  position: absolute;
  z-index: 2;
  top: 0;
  right: -0.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}
.p-mv .p-header__aside, .c-lower-mv__container .p-header__aside {
  top: -0.625rem;
}

.p-header__contact {
  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;
  width: 9.9375rem;
  height: 7.5625rem;
  color: #064ea1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header__contact {
    width: 9.0625rem;
    height: 6.1875rem;
  }
}
@media (any-hover: hover) {
  .p-header__contact:hover {
    color: #ffffff;
  }
  .p-header__contact:hover .p-header__contact-bg {
    background: #064ea1;
  }
}

.p-header__contact-bg {
  position: absolute;
  z-index: -1;
  top: -10.875rem;
  right: -10.875rem;
  width: 19.875rem;
  height: 19.875rem;
  border-radius: 50%;
  background: linear-gradient(263.31deg, #e15600 0.74%, #ffe100 97.32%);
  pointer-events: none;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-header__contact-bg {
    top: -10.5625rem;
    width: 19.875rem;
    height: 19.875rem;
  }
}

.p-header__contact-body {
  position: relative;
  top: -1rem;
  left: 2rem;
  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;
  row-gap: 0.375rem;
}

.p-header__contact-icon {
  display: block;
  width: 2.0625rem;
  height: 1.5625rem;
}
.p-header__contact-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.p-header__contact-text {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-header__contact-text {
    font-size: max(1rem, 14px);
  }
}
.p-header__contact-text {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
  margin-top: 0.75rem;
}

@media screen and (max-width: 767px) {
  .p-header__contact {
    display: none;
  }
}
.p-header__sp-contact {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-header__sp-contact {
    display: block;
    position: fixed;
    z-index: 102;
    inset: 0 0 auto;
    width: 100%;
    height: 9.375rem;
    overflow: hidden;
    pointer-events: none;
  }
}

.p-header__sp-contact-bg {
  position: absolute;
  top: -10.5625rem;
  left: 80.6666666667vw;
  width: 19.875rem;
  height: 19.875rem;
  border-radius: 50%;
  background: linear-gradient(263.31deg, #e15600 0.74%, #ffe100 97.32%);
  pointer-events: none;
}

.p-drawer__icon {
  position: relative;
  z-index: 103;
  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;
  width: 4.0625rem;
  height: 2rem;
  margin-top: 2.25rem;
  margin-right: 1.25rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-drawer__icon {
    position: fixed;
    top: 2.25rem;
    right: 1.375rem;
    margin: 0;
  }
}

.p-drawer__icon-bar {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #064ea1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-drawer__icon.js-show .p-drawer__icon-bar:nth-of-type(1) {
  rotate: 30deg;
  translate: 0 0.875rem;
}
.p-drawer__icon.js-show .p-drawer__icon-bar:nth-of-type(2) {
  opacity: 0;
}
.p-drawer__icon.js-show .p-drawer__icon-bar:nth-of-type(3) {
  rotate: -30deg;
  translate: 0 -0.875rem;
}

.p-drawer {
  position: fixed;
  z-index: 101;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  min-height: 100svh;
  min-height: 100dvh;
  background-color: #fffffe;
  translate: 100% 0;
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
}
@media (min-width: 768px) {
  .p-drawer {
    display: none;
  }
}
.p-drawer.js-show {
  translate: 0 0;
}

.p-drawer__inner {
  position: relative;
  z-index: 1;
  padding: 2.125rem 1.5rem 0;
}

.p-drawer__logo {
  display: block;
  width: 26.4375rem;
}
.p-drawer__logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 423/99;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-drawer__body {
  position: relative;
  z-index: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 6.8125rem 3.5625rem 5rem 4.5625rem;
}

.p-drawer__list {
  display: grid;
}

.p-drawer__item {
  border-bottom: 1px solid #47b3db;
}

.p-drawer__item--sub {
  padding-left: 2.25rem;
  border-bottom: none;
}
.p-drawer__item--sub:last-child {
  border-bottom: 1px solid #47b3db;
}

.p-drawer__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.375rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  width: 100%;
  padding-block: 2.5rem 2rem;
  color: #064ea1;
  font-size: max(2rem, 25.6px);
}
@media screen and (max-width: 767px) {
  .p-drawer__link {
    font-size: max(2rem, 14px);
  }
}
.p-drawer__link {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
}
@media (any-hover: hover) {
  .p-drawer__link:hover {
    opacity: 0.7;
  }
}

.p-drawer__item--sub .p-drawer__line {
  margin-top: 2.6875rem;
}

.p-drawer__item--sub .p-drawer__link {
  padding-block: 1rem;
  font-size: max(1.75rem, 22.4px);
}
@media screen and (max-width: 767px) {
  .p-drawer__item--sub .p-drawer__link {
    font-size: max(1.75rem, 14px);
  }
}
.p-drawer__item--sub .p-drawer__link {
  font-weight: 700;
  line-height: 3.0714285714;
  letter-spacing: 0em;
}

.p-drawer__item--sub:last-child .p-drawer__link {
  padding-bottom: 2rem;
}

.p-drawer__line {
  position: relative;
  justify-self: end;
  width: 4.375rem;
  height: 1px;
  margin-top: 0.9375rem;
  background-color: #47b3db;
}
.p-drawer__line::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5rem);
  left: 3.0625rem;
  width: 1.5rem;
  height: 1px;
  background-color: #37C8FD;
  rotate: 45deg;
}

.p-footer {
  position: relative;
  z-index: 1;
  margin-top: -1.6875rem;
  padding-bottom: 3.75rem;
  background: linear-gradient(220deg, #00A4E1 0%, #064DA1 100%);
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-bottom: 3.9375rem;
  }
}

.p-footer__inner {
  color: #ffffff;
}

.p-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .p-footer__top {
    grid-template-columns: 1fr;
    row-gap: 5.5625rem;
  }
}

.p-footer__info {
  width: 24.625rem;
  padding-top: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__info {
    width: 100%;
    padding-top: 0;
    padding-left: 1.125rem;
  }
}

.p-footer__logo {
  display: block;
  width: 16.0625rem;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    width: 29rem;
  }
}
.p-footer__logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 257/60;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-footer__logo img {
    aspect-ratio: 464/108;
  }
}

.p-footer__address {
  max-width: 24.625rem;
  font-size: max(0.75rem, 9.6px);
}
@media screen and (max-width: 767px) {
  .p-footer__address {
    font-size: max(0.75rem, 14px);
  }
}
.p-footer__address {
  font-weight: 700;
  line-height: 3;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-footer__address {
    max-width: none;
    margin-top: -0.25rem;
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer__address {
    font-size: max(1.25rem, 14px);
  }
}

.p-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, 15rem);
  -webkit-column-gap: 3.625rem;
     -moz-column-gap: 3.625rem;
          column-gap: 3.625rem;
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 2.625rem;
       -moz-column-gap: 2.625rem;
            column-gap: 2.625rem;
  }
}
@media (max-width: 499px) {
  .p-footer__nav {
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
  }
}

.p-footer-nav__list {
  display: grid;
  width: 15rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__list {
    width: 100%;
  }
}

.p-footer-nav__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.0625rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #2990b6;
  cursor: pointer;
}
.p-footer-nav__item:not(:first-child):not(.p-footer-nav__item--sub) {
  padding-top: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item:not(:first-child):not(.p-footer-nav__item--sub) {
    padding-top: 3rem;
    padding-bottom: 2.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item {
    grid-template-columns: minmax(0, 1fr) 4.375rem;
    padding-bottom: 3.6875rem;
    border-bottom-color: #47b3db;
  }
}

.p-footer-nav__item--sub {
  padding-left: 1.25rem;
  padding-bottom: 0;
  border-bottom: none;
}
@media (max-width: 849px) {
  .p-footer-nav__item--sub {
    padding-left: 0.3125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 1.125rem;
  }
}
@media (max-width: 499px) {
  .p-footer-nav__item--sub {
    padding-left: 0;
  }
}
.p-footer-nav__item--sub:last-child {
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #2990b6;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub:last-child {
    padding-bottom: 2.625rem;
    border-bottom-color: #47b3db;
  }
}

.p-footer-nav__item:not(.p-footer-nav__item--sub) + .p-footer-nav__item--sub {
  padding-top: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item:not(.p-footer-nav__item--sub) + .p-footer-nav__item--sub {
    padding-top: 2.125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub + .p-footer-nav__item--sub {
    padding-top: 1.5rem;
  }
}

.p-footer-nav__link {
  color: #ffffff;
  white-space: nowrap;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-footer-nav__link {
    font-size: max(1.125rem, 14px);
  }
}
.p-footer-nav__link {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__link {
    font-size: max(1.75rem, 22.4px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer-nav__link {
    font-size: max(1.75rem, 14px);
  }
}
@media (any-hover: hover) {
  .p-footer-nav__link:hover {
    opacity: 0.7;
  }
}

.p-footer-nav__item--sub .p-footer-nav__link {
  font-size: max(0.875rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub .p-footer-nav__link {
    font-size: max(0.875rem, 14px);
  }
}
.p-footer-nav__item--sub .p-footer-nav__link {
  font-weight: 700;
  line-height: 4;
  letter-spacing: 0em;
}
@media (max-width: 849px) {
  .p-footer-nav__item--sub .p-footer-nav__link {
    font-size: max(0.875rem, 10.5px);
  }
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub .p-footer-nav__link {
    white-space: normal;
    font-size: max(1.375rem, 17.6px);
    font-weight: 700;
    line-height: 1.6363636364;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer-nav__item--sub .p-footer-nav__link {
    font-size: max(1.375rem, 14px);
  }
}

.p-footer-nav__line {
  position: relative;
  justify-self: end;
  width: 2.0625rem;
  height: 1px;
  margin-top: 0.5rem;
  background-color: #00a4e1;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__line {
    width: 4.375rem;
    margin-top: 0.8125rem;
  }
}
.p-footer-nav__line::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.25rem);
  left: 1.5rem;
  width: 0.6875rem;
  height: 1px;
  background-color: #00a4e1;
  rotate: 45deg;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__line::after {
    width: 1.5rem;
    top: calc(50% - 0.5rem);
    left: 3.0625rem;
    background-color: #37C8FD;
  }
}

.p-footer-nav__item--sub .p-footer-nav__line {
  margin-top: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__item--sub .p-footer-nav__line {
    margin-top: 0;
  }
}

.p-footer__middle {
  position: relative;
  padding-top: 10.875rem;
  padding-left: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__middle {
    padding-top: 15.0625rem;
    padding-left: 0;
  }
}

.p-footer__catch {
  position: relative;
  z-index: 1;
  max-width: 64rem;
}

.p-footer__catch-line {
  font-size: max(3.5rem, 44.8px);
}
@media screen and (max-width: 767px) {
  .p-footer__catch-line {
    font-size: max(3.5rem, 14px);
  }
}
.p-footer__catch-line {
  font-weight: 700;
  line-height: 1.1785714286;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-footer__catch-line {
    font-size: max(4.25rem, 54.4px);
    font-weight: 700;
    line-height: 1.2647058824;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer__catch-line {
    font-size: max(4.25rem, 14px);
  }
}

.p-footer__icon {
  position: absolute;
  top: 4.5625rem;
  right: -0.25rem;
  width: 23.0625rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-footer__icon {
    top: 4.9375rem;
    width: 31.0625rem;
  }
}
.p-footer__icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 369/367;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-filter: drop-shadow(0 0.25rem 3.125rem rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 0.25rem 3.125rem rgba(0, 0, 0, 0.15));
}
@media screen and (max-width: 767px) {
  .p-footer__icon img {
    aspect-ratio: 497/495;
  }
}

.p-footer__bottom {
  margin-top: 13.375rem;
  padding-top: 1.875rem;
  padding-left: 0.3125rem;
  border-top: 1px solid #2990b6;
}
@media screen and (max-width: 767px) {
  .p-footer__bottom {
    margin-top: 16.625rem;
    padding-top: 3rem;
  }
}

.p-footer__copy {
  text-align: left;
}
.p-footer__copy small {
  color: #9cbbcb;
  font-size: max(0.625rem, 8px);
}
@media screen and (max-width: 767px) {
  .p-footer__copy small {
    font-size: max(0.625rem, 14px);
  }
}
.p-footer__copy small {
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-footer__copy small {
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer__copy small {
    font-size: max(1.25rem, 14px);
  }
}

.p-mv {
  position: relative;
  z-index: 3;
  padding-top: 1.625rem;
  padding-bottom: 1.6875rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-mv {
    padding-top: 1.1875rem;
  }
}
.p-mv .l-header {
  position: relative;
  z-index: 3;
  overflow: visible;
}

.p-mv__container {
  position: relative;
  min-height: 55.5rem;
  border-radius: 1.875rem;
  margin-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-mv__container {
    min-height: auto;
    height: 61.25rem;
    margin-inline: 0.9375rem;
  }
}

.p-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}
.p-mv__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.p-mv__icon {
  position: absolute;
  z-index: 1;
  top: 10.5rem;
  right: 2.0625rem;
  width: 35.625rem;
  height: auto;
  aspect-ratio: 570/567;
  pointer-events: none;
}
.p-mv__icon img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-mv__icon {
    top: auto;
    bottom: 2.1875rem;
    right: 2.5625rem;
    width: 20.0625rem;
  }
}

.p-mv__inner {
  position: relative;
  z-index: 2;
  padding-left: 7.0833333333vw;
}
@media screen and (max-width: 767px) {
  .p-mv__inner {
    padding-left: 1.25rem;
  }
}

.p-mv__content {
  padding-block: 13.25rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-mv__content {
    padding-block: 11.9375rem 5rem;
    max-width: none;
  }
}

.p-mv__title {
  color: #064ea1;
  font-size: max(3.5rem, 44.8px);
}
@media screen and (max-width: 767px) {
  .p-mv__title {
    font-size: max(3.5rem, 14px);
  }
}
.p-mv__title {
  font-weight: 700;
  line-height: 1.1785714286;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-mv__title {
    font-size: max(4.25rem, 54.4px);
    font-weight: 700;
    line-height: 1.2647058824;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-mv__title {
    font-size: max(4.25rem, 14px);
  }
}

.p-mv__title-line {
  display: block;
}

.p-mv__lead {
  margin-top: 1.75rem;
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-mv__lead {
    font-size: max(1rem, 14px);
  }
}
.p-mv__lead {
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-mv__lead {
    margin-top: 1.5625rem;
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-mv__lead {
    font-size: max(1.25rem, 14px);
  }
}

.p-mv__catch-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}

.p-mv__catch-clip {
  overflow: hidden;
  width: 100%;
}

.p-mv__catch-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: p-mv-catch-scroll 30s linear infinite;
          animation: p-mv-catch-scroll 30s linear infinite;
}

.p-mv__catch {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 5rem;
  background: -webkit-gradient(linear, left top, right top, from(#0090ff), to(#0851a3));
  background: linear-gradient(to right, #0090ff, #0851a3);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
  font-size: max(7.875rem, 100.8px);
}
@media screen and (max-width: 767px) {
  .p-mv__catch {
    font-size: max(7.875rem, 14px);
  }
}
.p-mv__catch {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

@-webkit-keyframes p-mv-catch-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes p-mv-catch-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-mv__catch-track {
    -webkit-animation: none;
            animation: none;
  }
}
.p-mv__deco-top {
  position: absolute;
  top: -10rem;
  left: 19.0625rem;
  width: 31.25rem;
  height: auto;
  aspect-ratio: 304/303;
}
@media screen and (max-width: 767px) {
  .p-mv__deco-top {
    top: -9.125rem;
    left: auto;
    right: -3.125rem;
    width: 28.125rem;
  }
}
.p-mv__deco-top img {
  width: 100%;
  height: 100%;
}

.p-mv__deco-left {
  position: absolute;
  bottom: -2.5rem;
  left: -10.625rem;
  width: 40.625rem;
  height: auto;
  aspect-ratio: 469/467;
}
@media screen and (max-width: 767px) {
  .p-mv__deco-left {
    left: -15.6875rem;
  }
}
.p-mv__deco-left picture {
  width: 100%;
  height: 100%;
}
.p-mv__deco-left img {
  width: 100%;
  height: 100%;
}

.p-mv__deco-right {
  position: absolute;
  bottom: -5.625rem;
  right: -10.625rem;
  width: 50rem;
  height: auto;
  aspect-ratio: 570/567;
}
@media screen and (max-width: 767px) {
  .p-mv__deco-right {
    bottom: -13.625rem;
    right: -19.8125rem;
    width: 35.625rem;
  }
}
.p-mv__deco-right img {
  width: 100%;
  height: 100%;
}

.p-message {
  padding-top: 3.5625rem;
  padding-bottom: 3.8125rem;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-message {
    padding-top: 3rem;
    padding-bottom: 6.25rem;
  }
}

.p-message__content {
  padding-left: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-message__content {
    padding-left: 0;
  }
}

.p-message__title {
  max-width: 64rem;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-message__title {
    font-size: max(2.25rem, 14px);
  }
}
.p-message__title {
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-message__title {
    max-width: none;
    font-size: max(3.5rem, 44.8px);
    font-weight: 700;
    line-height: 1.3571428571;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-message__title {
    font-size: max(3.5rem, 14px);
  }
}

.p-message__line {
  width: 100%;
  max-width: 64rem;
  height: 1px;
  margin-top: 0.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#ffffff), to(#028dd0));
  background: linear-gradient(90deg, #ffffff 0%, #028dd0 100%);
}
@media screen and (max-width: 767px) {
  .p-message__line {
    max-width: none;
    margin-top: 1.5625rem;
  }
}

.p-message__body {
  max-width: 63.625rem;
  margin-top: 1.9375rem;
}
@media screen and (max-width: 767px) {
  .p-message__body {
    max-width: none;
    margin-top: 4.5rem;
  }
}
.p-message__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-message__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-message__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-message__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.7692307692;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-message__body p {
    font-size: max(1.625rem, 14px);
  }
}

.p-message__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 64rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-message__btn {
    max-width: none;
    padding-right: 0.5rem;
    margin-top: 2.5rem;
  }
}

.p-message__link {
  color: #ffffff;
}

.p-strengths {
  padding-bottom: 6.1875rem;
}
@media screen and (max-width: 767px) {
  .p-strengths {
    padding-bottom: 4.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-strengths__inner {
    padding-inline: 1.6875rem 0.625rem;
  }
}

.p-strengths__list {
  position: relative;
  margin-top: 1.8125rem;
  padding-bottom: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-strengths__list {
    margin-top: 1.0625rem;
    padding-bottom: 1rem;
  }
}

.p-strengths-card {
  position: relative;
  display: grid;
  grid-template-columns: 6.875rem 1fr;
  -webkit-column-gap: 3.1875rem;
     -moz-column-gap: 3.1875rem;
          column-gap: 3.1875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 63.375rem;
  height: 16.25rem;
  padding: 0.5rem 3.3125rem 2rem 3.4375rem;
  background-color: transparent;
  border-radius: 0.625rem;
}
.p-strengths-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: #ffffff;
  border-radius: 0.625rem;
  pointer-events: none;
}
.p-strengths-card::after {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 0;
  width: 63.375rem;
  height: 16.25rem;
  border-radius: 0.625rem;
  background-color: #005e94;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-strengths-card::after {
    left: 0.8125rem;
    right: -0.8125rem;
    bottom: -0.8125rem;
    width: auto;
    height: auto;
    overflow: hidden;
  }
}
.p-strengths-card > * {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-strengths-card {
    grid-template-columns: 7.1875rem 1fr;
    -webkit-column-gap: 2.375rem;
       -moz-column-gap: 2.375rem;
            column-gap: 2.375rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    width: calc(100% - 0.8125rem);
    height: auto;
    min-height: 26.5rem;
    padding: 3.375rem 1.5rem;
  }
}
.p-strengths-card:nth-of-type(1) .p-strengths-card__icon {
  width: 6.875rem;
}
.p-strengths-card:nth-of-type(1) .p-strengths-card__text {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-strengths-card:nth-of-type(1) .p-strengths-card__text {
    font-size: max(1.125rem, 14px);
  }
}
.p-strengths-card:nth-of-type(1) .p-strengths-card__text {
  font-weight: 500;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  max-width: 41.25rem;
}
@media screen and (max-width: 767px) {
  .p-strengths-card:nth-of-type(1) .p-strengths-card__text {
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.6153846154;
    letter-spacing: 0em;
    max-width: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-strengths-card:nth-of-type(1) .p-strengths-card__text {
    font-size: max(1.625rem, 14px);
  }
}
.p-strengths-card:nth-of-type(2) .p-strengths-card__icon {
  position: relative;
  right: 0.8125rem;
  width: 8.0625rem;
}
@media screen and (max-width: 767px) {
  .p-strengths-card:nth-of-type(2) .p-strengths-card__icon {
    right: 0;
  }
}
.p-strengths-card:nth-of-type(3) .p-strengths-card__icon {
  width: 6.125rem;
}
.p-strengths-card:nth-of-type(4) .p-strengths-card__icon {
  position: relative;
  left: 0.3125rem;
  width: 5.5625rem;
}

.p-strengths-card + .p-strengths-card {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-strengths-card + .p-strengths-card {
    margin-top: 1.9375rem;
  }
}

.p-strengths-card__icon {
  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-top: 1.125rem;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-strengths-card__icon {
    padding-top: 0;
  }
}
.p-strengths-card__icon img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-strengths-card__number {
  position: absolute;
  top: 0.75rem;
  right: 0.4375rem;
  z-index: 1;
  color: #efefef;
  pointer-events: none;
  font-size: max(6rem, 76.8px);
}
@media screen and (max-width: 767px) {
  .p-strengths-card__number {
    font-size: max(6rem, 14px);
  }
}
.p-strengths-card__number {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-strengths-card__number {
    top: auto;
    bottom: 0.3125rem;
    right: 1.5rem;
  }
}

.p-strengths-card__title {
  color: #000000;
  font-size: max(3.25rem, 41.6px);
}
@media screen and (max-width: 767px) {
  .p-strengths-card__title {
    font-size: max(3.25rem, 14px);
  }
}
.p-strengths-card__title {
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-strengths-card__title {
    font-size: max(3.875rem, 49.6px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-strengths-card__title {
    font-size: max(3.875rem, 14px);
  }
}

.p-strengths-card__title-accent {
  color: #064ea1;
}

.p-strengths-card__line {
  width: 100%;
  max-width: 37.5rem;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#028dd0), to(#ffffff));
  background: linear-gradient(90deg, #028dd0 0%, #ffffff 100%);
}
@media screen and (max-width: 767px) {
  .p-strengths-card__line {
    margin-top: 0.125rem;
  }
}

.p-strengths-card__tagline {
  margin-top: 0.9375rem;
  color: #474747;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-strengths-card__tagline {
    font-size: max(1rem, 14px);
  }
}
.p-strengths-card__tagline {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-strengths-card__tagline {
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-strengths-card__tagline {
    font-size: max(1.25rem, 14px);
  }
}

.p-strengths-card__text {
  margin-top: 1.625rem;
  color: #474747;
  font-size: max(1.25rem, 16px);
}
@media screen and (max-width: 767px) {
  .p-strengths-card__text {
    font-size: max(1.25rem, 14px);
  }
}
.p-strengths-card__text {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-strengths-card__text {
    margin-top: 1.75rem;
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.6153846154;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-strengths-card__text {
    font-size: max(1.625rem, 14px);
  }
}

.p-strengths__deco {
  position: absolute;
  z-index: 3;
  top: -8.75rem;
  width: 19rem;
  height: auto;
  aspect-ratio: 304/303;
}
.p-strengths__deco img {
  width: 100%;
  height: 100%;
}
.p-strengths__deco.is-right {
  right: -7.625rem;
}
@media screen and (max-width: 767px) {
  .p-strengths__deco.is-right {
    top: auto;
    bottom: -7.1875rem;
    right: -5.9375rem;
  }
}
.p-strengths__deco.is-left {
  left: -7.625rem;
}
@media screen and (max-width: 767px) {
  .p-strengths__deco.is-left {
    top: auto;
    bottom: -2.8125rem;
    left: -14.6875rem;
    width: 28.125rem;
  }
}

.p-business {
  padding-block: 5.875rem 7.75rem;
  background-color: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-business {
    padding-block: 5rem 5.8125rem;
  }
}

.p-business__inner {
  max-width: 90rem;
  margin-inline: auto;
  padding-inline: 1.5rem 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-business__inner {
    padding-inline: 1.5625rem;
  }
}

.p-business__list {
  position: relative;
  margin-top: 3.3125rem;
  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: 4rem;
}
@media screen and (max-width: 767px) {
  .p-business__list {
    margin-top: 1.875rem;
    row-gap: 4.875rem;
  }
}

.p-business-item {
  position: relative;
  display: grid;
  grid-template-columns: 43.2274247492% 52.3411371237%;
  -webkit-column-gap: 3.25rem;
     -moz-column-gap: 3.25rem;
          column-gap: 3.25rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.p-business-item:nth-of-type(odd) {
  padding-left: 11.875rem;
}
.p-business-item:nth-of-type(even) {
  padding-right: 10.8125rem;
  grid-template-columns: 51.7783291977% 42.5144747725%;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
}
.p-business-item:nth-of-type(even) .p-business-item__content {
  margin-top: 0.125rem;
}
@media screen and (max-width: 767px) {
  .p-business-item {
    grid-template-columns: 1fr;
    row-gap: 1.25rem;
  }
  .p-business-item:nth-of-type(odd) {
    padding-left: 0;
  }
  .p-business-item:nth-of-type(even) {
    padding-right: 0;
    grid-template-columns: 1fr;
  }
}

.p-business-item__content {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-business-item__content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-left: 0.5rem;
  }
}

.p-business-item__media {
  position: relative;
  z-index: 2;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-business-item__media {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.p-business-item__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 626/399;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
}

.p-business-item__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 0.8125rem 1rem;
  border-radius: 0.625rem 0 0 0;
  background: -webkit-gradient(linear, left top, right top, from(#007aff), to(#004999));
  background: linear-gradient(to right, #007aff, #004999);
  color: #ffffff;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-business-item__badge {
    font-size: max(1rem, 14px);
  }
}
.p-business-item__badge {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.p-business-item__label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-business-item__label {
    font-size: max(1rem, 14px);
  }
}
.p-business-item__label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-business-item__label {
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-business-item__label {
    font-size: max(1.25rem, 14px);
  }
}

.p-business-item__title {
  color: #474747;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-business-item__title {
    font-size: max(1.625rem, 14px);
  }
}
.p-business-item__title {
  font-weight: 700;
  line-height: 2.5384615385;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-business-item__title {
    margin-top: -0.5rem;
    padding-bottom: 0.3125rem;
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.8333333333;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-business-item__title {
    font-size: max(2.25rem, 14px);
  }
}

.p-business-item__line {
  position: relative;
  width: 100%;
  max-width: 32.125rem;
  height: 1px;
  margin-top: 0.1875rem;
  background-color: #b0e4ff;
}
@media screen and (max-width: 767px) {
  .p-business-item__line {
    margin-top: 0;
    max-width: none;
  }
}
.p-business-item__line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6.25rem;
  height: 100%;
  background-color: #064ea1;
}
@media screen and (max-width: 767px) {
  .p-business-item__line::before {
    width: 18.75rem;
  }
}

.p-business-item__text {
  margin-top: 1.25rem;
  color: #474747;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-business-item__text {
    font-size: max(1rem, 14px);
  }
}
.p-business-item__text {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-business-item__text {
    margin-top: 1rem;
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-business-item__text {
    font-size: max(1.625rem, 14px);
  }
}

.p-business-item__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-business-item__btn {
    margin-top: 2.1875rem;
    padding-right: 1.0625rem;
  }
}

@media (any-hover: hover) {
  .p-business-item:has(.p-business-item__btn-link:hover) .p-business-item__media img {
    scale: 1.05;
  }
}

.p-business-item__deco {
  position: absolute;
  top: -15rem;
  width: 41.875rem;
  height: auto;
  aspect-ratio: 489/487;
}
.p-business-item__deco img {
  width: 100%;
  height: 100%;
}
.p-business-item__deco.is-right {
  right: -13.75rem;
}
@media screen and (max-width: 767px) {
  .p-business-item__deco.is-right {
    top: 4.0625rem;
    right: -12.5rem;
  }
}
.p-business-item__deco.is-left {
  left: -19.4375rem;
}
.p-business-item__deco.is-bottom {
  right: -20.625rem;
  bottom: -21.875rem;
  top: auto;
}
@media screen and (max-width: 767px) {
  .p-business-item__deco.is-bottom {
    top: 4.0625rem;
    right: -12.5rem;
  }
}

.p-career {
  position: relative;
  overflow: hidden;
  color: #ffffff;
}

.p-career__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-career__bg picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-career__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-career__overlay {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 164, 225, 0.5)), to(rgba(6, 77, 161, 0.5)));
  background: linear-gradient(to bottom, rgba(0, 164, 225, 0.5), rgba(6, 77, 161, 0.5));
  pointer-events: none;
}

.p-career__inner {
  position: relative;
  z-index: 1;
  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;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  min-height: 35rem;
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-career__inner {
    -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;
    min-height: 38.3125rem;
    padding-block: 12.6875rem 6.875rem;
    padding-inline: 2.375rem;
  }
}

.p-career__content {
  margin-top: -1.5rem;
  max-width: 32.125rem;
}
@media screen and (max-width: 767px) {
  .p-career__content {
    max-width: none;
  }
}

.p-career__text {
  margin-top: 1.9375rem;
  padding-left: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-career__text {
    margin-top: 1.625rem;
  }
}
.p-career__text p {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-career__text p {
    font-size: max(1rem, 14px);
  }
}
.p-career__text p {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-career__text p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-career__text p {
    font-size: max(1.625rem, 14px);
  }
}
.p-career__text p + p {
  margin-top: 0;
}

.p-career__btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-career__btn {
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin-top: 5.875rem;
  }
}

.p-people-culture {
  position: relative;
  overflow: hidden;
  padding-top: 4.0625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-people-culture {
    padding-top: 6.4375rem;
    padding-bottom: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .p-people-culture-section__title.c-section-title.is-blue {
    padding-left: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-people-culture-section__title.c-section-title.is-blue .c-section-title--en.p-people-culture__title--en {
    line-height: 1.1;
  }
}

.p-people-culture-section__title.c-section-title.is-blue .c-section-title--ja.p-people-culture__title--ja {
  margin-top: 0.0625rem;
}
@media screen and (max-width: 767px) {
  .p-people-culture-section__title.c-section-title.is-blue .c-section-title--ja.p-people-culture__title--ja {
    margin-top: 0.0625rem;
  }
}

.p-people-culture__text-wrap {
  margin-top: 1.9375rem;
  padding-left: 0.375rem;
  max-width: 64rem;
}
@media screen and (max-width: 767px) {
  .p-people-culture__text-wrap {
    margin-top: 1.75rem;
    padding-left: 1.25rem;
    max-width: none;
  }
}

.p-people-culture__text {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-people-culture__text {
    font-size: max(1rem, 14px);
  }
}
.p-people-culture__text {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-people-culture__text {
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-people-culture__text {
    font-size: max(1.25rem, 14px);
  }
}

.p-people-culture__swiper-container {
  margin-top: 2rem;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-people-culture__swiper-container {
    margin-top: 2.5rem;
  }
}

.p-people-culture__swiper {
  overflow: visible;
}

.p-people-culture__swiper-slide {
  width: 33.75rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-people-culture__swiper-slide {
    width: 41.25rem;
  }
}

.p-people-culture__card {
  position: relative;
  display: block;
  color: #ffffff;
}
@media (any-hover: hover) {
  .p-people-culture__card:hover .p-people-culture__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .p-people-culture__card:hover .p-people-culture__btn {
    background-color: #ffffff;
    color: #064ea1;
    border-color: #064ea1;
  }
}

.p-people-culture__image {
  width: 33.75rem;
  height: auto;
  aspect-ratio: 540/359;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-people-culture__image {
    width: 41.25rem;
    aspect-ratio: 660/439;
  }
}
.p-people-culture__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 540/359;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .p-people-culture__image img {
    aspect-ratio: 660/439;
  }
}

.p-people-culture__overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 8.5625rem;
  border-radius: 0 0 0.625rem 0.625rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(6, 78, 161, 0)), to(#064ea1));
  background: linear-gradient(to bottom, rgba(6, 78, 161, 0), #064ea1);
  pointer-events: none;
}

.p-people-culture__content {
  position: absolute;
  right: 6.25rem;
  bottom: 1.25rem;
  left: 1.4375rem;
  z-index: 1;
  width: 100%;
  padding-right: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-people-culture__content {
    right: 6.875rem;
    bottom: 1.5rem;
    left: 1.6875rem;
  }
}

.p-people-culture__title {
  font-size: max(1.5rem, 19.2px);
}
@media screen and (max-width: 767px) {
  .p-people-culture__title {
    font-size: max(1.5rem, 14px);
  }
}
.p-people-culture__title {
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-people-culture__title {
    font-size: max(1.875rem, 24px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-people-culture__title {
    font-size: max(1.875rem, 14px);
  }
}

.p-people-culture__name {
  margin-top: 0.4375rem;
  font-size: max(0.875rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .p-people-culture__name {
    font-size: max(0.875rem, 14px);
  }
}
.p-people-culture__name {
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-people-culture__name {
    margin-top: 0.875rem;
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-people-culture__name {
    font-size: max(1.25rem, 14px);
  }
}

.p-people-culture__btn {
  position: absolute;
  right: -1rem;
  bottom: -1.25rem;
  z-index: 2;
  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;
  row-gap: 0.625rem;
  width: 5.1875rem;
  height: 5.1875rem;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background-color: #064ea1;
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-people-culture__btn {
    right: -1.5rem;
    bottom: -2rem;
    row-gap: 0.3125rem;
  }
}

.p-people-culture__arrow {
  display: block;
  width: 0.875rem;
  height: 1.6875rem;
}
.p-people-culture__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
.p-people-culture__arrow line {
  stroke: currentColor;
  -webkit-transition: stroke 0.3s ease;
  transition: stroke 0.3s ease;
}

.p-people-culture__btn-text {
  font-size: 10px;
  font-weight: 700;
  line-height: 20px; /* 200% */
  letter-spacing: 1px;
}
@media (max-width: 449px) {
  .p-people-culture__btn-text {
    font-size: 9px;
  }
}

.p-people-culture__bottom-text {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  margin-top: 1.5625rem;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-people-culture__bottom-text {
    margin-top: 4.625rem;
  }
}

.p-people-culture__bottom-text-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: p-people-culture-bottom-scroll 40s linear infinite;
          animation: p-people-culture-bottom-scroll 40s linear infinite;
}

.p-people-culture__bottom-text-item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 5rem;
  color: #efefef;
  white-space: nowrap;
  font-size: max(7.875rem, 100.8px);
}
@media screen and (max-width: 767px) {
  .p-people-culture__bottom-text-item {
    font-size: max(7.875rem, 14px);
  }
}
.p-people-culture__bottom-text-item {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-people-culture__bottom-text-item {
    font-size: max(9.125rem, 116.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-people-culture__bottom-text-item {
    font-size: max(9.125rem, 14px);
  }
}

@-webkit-keyframes p-people-culture-bottom-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes p-people-culture-bottom-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-people-culture__bottom-text-track {
    -webkit-animation: none;
            animation: none;
  }
}
.p-about-message {
  position: relative;
  z-index: 3;
  top: -3.75rem;
  padding-bottom: 0.0625rem;
}
@media screen and (max-width: 767px) {
  .p-about-message {
    padding-top: 3.75rem;
  }
}

.p-about-message__image {
  width: 64.0625rem;
  max-width: 100%;
  height: auto;
  margin-top: 2.875rem;
  aspect-ratio: 1025/466;
  overflow: hidden;
  border-radius: 0.625rem;
}
.p-about-message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-about-message__catch {
  max-width: 64rem;
  margin-top: 1.375rem;
  color: #064ea1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-about-message__catch {
    font-size: max(2.25rem, 14px);
  }
}
.p-about-message__catch {
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-about-message__catch {
    font-size: max(2.5rem, 32px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-message__catch {
    font-size: max(2.5rem, 14px);
  }
}

.p-about-message__body {
  max-width: 63.625rem;
  margin-top: 0.5rem;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-about-message__body {
    margin-top: 1.125rem;
  }
}
.p-about-message__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-about-message__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-about-message__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-about-message__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-message__body p {
    font-size: max(1.625rem, 14px);
  }
}
.p-about-message__body p + p {
  margin-top: 2.25rem;
}

.p-about-message__sign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 64rem;
  margin-top: 0.75rem;
  margin-left: auto;
  color: #474747;
}
@media screen and (max-width: 767px) {
  .p-about-message__sign {
    gap: 0.625rem;
  }
}

.p-about-message__sign-role {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-about-message__sign-role {
    font-size: max(1rem, 14px);
  }
}
.p-about-message__sign-role {
  font-weight: 500;
  line-height: 4.125;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-about-message__sign-role {
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-message__sign-role {
    font-size: max(1.625rem, 14px);
  }
}

.p-about-message__sign-name {
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-about-message__sign-name {
    font-size: max(1.625rem, 14px);
  }
}
.p-about-message__sign-name {
  font-weight: 500;
  line-height: 2.5384615385;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-about-message__sign-name {
    font-size: max(2.25rem, 28.8px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-message__sign-name {
    font-size: max(2.25rem, 14px);
  }
}

.p-about-info {
  padding-top: 4.0625rem;
  padding-bottom: 5.1875rem;
  background-color: #f8f8f8;
}

.p-about-info__list {
  max-width: 64rem;
  margin-top: 3.125rem;
}

.p-about-info__row {
  display: grid;
  grid-template-columns: 9.1875rem 1fr;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.875rem 0.75rem 2rem;
  background-color: #ffffff;
}
.p-about-info__row:nth-child(odd) {
  background-color: #ffffff;
}
.p-about-info__row:nth-child(even) {
  background-color: #f8f8f8;
}

.p-about-info__row--address,
.p-about-info__row--business {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.p-about-info__term {
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-about-info__term {
    font-size: max(1rem, 14px);
  }
}
.p-about-info__term {
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-about-info__term {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-info__term {
    font-size: max(1.625rem, 14px);
  }
}

.p-about-info__desc {
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-about-info__desc {
    font-size: max(1rem, 14px);
  }
}
.p-about-info__desc {
  font-weight: 400;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-about-info__desc {
    font-size: max(1.625rem, 20.8px);
    font-weight: 400;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-info__desc {
    font-size: max(1.625rem, 14px);
  }
}

.p-about-info__row--address {
  padding-bottom: 2.5rem;
}

.p-about-info__address {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-about-info__address {
    font-size: max(1rem, 14px);
  }
}
.p-about-info__address {
  font-weight: 400;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-about-info__address {
    font-size: max(1.625rem, 20.8px);
    font-weight: 400;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-info__address {
    font-size: max(1.625rem, 14px);
  }
}

.p-about-info__map {
  width: 100%;
  max-width: 50.625rem;
  height: auto;
  margin-top: 1.75rem;
  aspect-ratio: 810/316;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-about-info__map {
    aspect-ratio: 470/350;
  }
}
.p-about-info__map img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-about-info__row--business {
  padding-block: 1.875rem;
}

.p-about-info__business-list li {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-about-info__business-list li {
    font-size: max(1rem, 14px);
  }
}
.p-about-info__business-list li {
  font-weight: 400;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-about-info__business-list li {
    font-size: max(1.625rem, 20.8px);
    font-weight: 400;
    line-height: 1.3846153846;
    letter-spacing: 0.0307692308em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-about-info__business-list li {
    font-size: max(1.625rem, 14px);
  }
}
.p-about-info__business-list li + li {
  margin-top: 0.5rem;
}

.p-lower-business-concept {
  position: relative;
  z-index: 3;
  top: -3.25rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept {
    top: 0;
  }
}

.p-lower-business-concept__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.375rem;
}
@media (min-width: 1104px) {
  .p-lower-business-concept__nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 58.75rem;
    margin-inline: auto;
  }
}

.p-lower-business-concept__nav-link {
  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;
  width: 100%;
  min-width: 15.0625rem;
  height: 3.125rem;
  padding-inline: max(2.25rem, 30px);
  border: 1px solid #064ea1;
  border-radius: 18.75rem;
  background-color: #ffffff;
  color: #064ea1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__nav-link {
    font-size: max(1rem, 14px);
  }
}
.p-lower-business-concept__nav-link {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (min-width: 1104px) {
  .p-lower-business-concept__nav-link {
    min-width: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__nav-link {
    padding-inline: 3.125rem;
    min-height: 30px;
  }
}
@media (any-hover: hover) {
  .p-lower-business-concept__nav-link:hover {
    background-color: #064ea1;
    border-color: #064ea1;
    color: #ffffff;
  }
  .p-lower-business-concept__nav-link:hover .p-lower-business-concept__nav-icon img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}

.p-lower-business-concept__nav-text {
  text-align: center;
  padding-right: 0.1875rem;
  white-space: nowrap;
}

.p-lower-business-concept__nav-icon {
  position: absolute;
  top: calc(50% + 2px);
  right: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.3125rem;
  height: 0.625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-lower-business-concept__nav-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

.p-lower-business-concept__head {
  margin-top: 3.1875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__head {
    margin-top: 3.75rem;
  }
}

.p-lower-business-concept__body {
  max-width: 63.625rem;
  margin-top: 0.5625rem;
  color: #000000;
  padding-left: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__body {
    margin-top: 0.9375rem;
  }
}
.p-lower-business-concept__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-business-concept__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-concept__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-concept__body p {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-business-service {
  padding-block: 3.125rem 5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service {
    padding-block: 3.75rem 4.375rem;
  }
}
.p-lower-business-service ~ .p-lower-business-service {
  padding-block: 5rem 6.1875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service ~ .p-lower-business-service {
    padding-block: 4.375rem 4.375rem;
  }
}
.p-lower-business-service.is-gray {
  background-color: #f8f8f8;
}

.p-lower-business-service__head {
  position: relative;
  display: grid;
  grid-template-columns: 35.3515625% 61.1328125%;
  -webkit-column-gap: 2.25rem;
     -moz-column-gap: 2.25rem;
          column-gap: 2.25rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__head {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 1.875rem;
  }
}

.p-lower-business-service__content {
  position: relative;
  z-index: 2;
}
.p-lower-business-service__content .c-lower-head__line {
  max-width: 20.5rem;
  margin-top: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__content .c-lower-head__line {
    width: 100%;
    max-width: none;
    margin-top: 1.125rem;
  }
}

.p-lower-business-service__media {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-radius: 0.625rem;
}
.p-lower-business-service__media img {
  width: 100%;
  height: auto;
  aspect-ratio: 626/399;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lower-business-service__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 0.8125rem 1rem;
  border-radius: 0.625rem 0 0 0;
  background: -webkit-gradient(linear, left top, right top, from(#007aff), to(#004999));
  background: linear-gradient(to right, #007aff, #004999);
  color: #ffffff;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__badge {
    font-size: max(1rem, 14px);
  }
}
.p-lower-business-service__badge {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.p-lower-business-service__text {
  margin-top: 1.125rem;
  color: #474747;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__text {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-business-service__text {
  font-weight: 500;
  line-height: 1.5555555556;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__text {
    margin-top: 0.9375rem;
    font-size: max(1.5rem, 19.2px);
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-service__text {
    font-size: max(1.5rem, 14px);
  }
}

.p-lower-business-service__section-label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__section-label {
    font-size: max(1rem, 14px);
  }
}
.p-lower-business-service__section-label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__section-label {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-service__section-label {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-business-service__section-label + .c-lower-section-head {
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__section-label + .c-lower-section-head {
    margin-top: 0.625rem;
  }
}

.p-lower-business-service__section {
  margin-top: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__section {
    margin-top: 2.5rem;
  }
}

.p-lower-business-service__section-bottom {
  margin-top: 4.8125rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__section-bottom {
    margin-top: 3.125rem;
  }
}

.p-lower-business-service__head + .p-lower-business-service__section-bottom {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-service__head + .p-lower-business-service__section-bottom {
    margin-top: 3.75rem;
  }
}

.p-lower-business-problems {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.375rem;
  margin-top: 1.625rem;
}
@media (max-width: 1280px) {
  .p-lower-business-problems {
    gap: 0.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}

.p-lower-business-problems--area {
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems--area {
    grid-template-columns: 1fr;
    gap: 1.875rem;
  }
}
.p-lower-business-problems--area .p-lower-business-problems__card {
  min-height: 13.125rem;
}
.p-lower-business-problems--area .p-lower-business-problems__title {
  margin-top: 0.875rem;
}
.p-lower-business-problems--area .p-lower-business-problems__text {
  width: auto;
}

.p-lower-business-problems__card {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 17.875rem;
  padding: 1.5rem 1rem 1rem;
  border-radius: 0.625rem;
  background-color: #eff9ff;
}
.p-lower-business-service.is-gray .p-lower-business-problems__card {
  background-color: #ffffff;
}

.p-lower-business-problems__number {
  position: absolute;
  top: -0.5rem;
  left: 0.5625rem;
  color: #9dc6df;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__number {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-business-problems__number {
  font-weight: 700;
  line-height: 2.5384615385;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__number {
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.9444444444;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-problems__number {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-business-problems__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 6.875rem;
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__icon {
    width: 15.625rem;
  }
}
.p-lower-business-problems__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__icon img {
    max-width: 8.75rem;
    max-height: 8.75rem;
  }
}

.p-lower-business-problems__deco {
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 0;
  width: 14.8125rem;
  height: 14.75rem;
  pointer-events: none;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-lower-business-problems__deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-filter: blur(3.125rem);
          filter: blur(3.125rem);
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.p-lower-business-problems__title {
  margin-top: 1.3125rem;
  color: #064ea1;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__title {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-business-problems__title {
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__title {
    margin-top: 0.9375rem;
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-problems__title {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-business-problems__text {
  margin-top: 1rem;
  color: #474747;
  font-size: max(0.875rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__text {
    font-size: max(0.875rem, 14px);
  }
}
.p-lower-business-problems__text {
  font-weight: 500;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  width: 19.625rem;
}
@media screen and (max-width: 767px) {
  .p-lower-business-problems__text {
    margin-top: 0.375rem;
    font-size: max(1.5rem, 19.2px);
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: 0em;
    width: 100%;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-problems__text {
    font-size: max(1.5rem, 14px);
  }
}

.p-lower-business-features {
  display: grid;
  row-gap: 0.875rem;
  margin-top: 1.625rem;
}

.p-lower-business-features__item {
  display: grid;
  grid-template-columns: 1.9375rem 1fr;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-height: 6.875rem;
  padding: 1.375rem 3.125rem 1.375rem 2.0625rem;
  border: 1px solid #b0e4ff;
  border-radius: 0.625rem;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__item {
    grid-template-columns: 2.5rem 1fr;
    padding: 1.25rem 1.875rem;
  }
}
.p-lower-business-service.is-gray .p-lower-business-features__item {
  border: none;
  background-color: #ffffff;
}

.p-lower-business-features__number {
  color: #9dc6df;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__number {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-business-features__number {
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__number {
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.1111111111;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-features__number {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-business-features__title {
  color: #064ea1;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__title {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-business-features__title {
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__title {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-features__title {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-business-features__text {
  margin-top: 0.5rem;
  color: #474747;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__text {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-business-features__text {
  font-weight: 500;
  line-height: 1.2222222222;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-features__text {
    font-size: max(1.5rem, 19.2px);
    font-weight: 500;
    line-height: 1.3333333333;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-features__text {
    font-size: max(1.5rem, 14px);
  }
}

.p-lower-business-flow {
  padding-block: 3.1875rem 6.4375rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow {
    padding-block: 4.375rem 7.5rem;
  }
}

.p-lower-business-flow__list {
  max-width: 64rem;
  margin-top: 2.25rem;
}

.p-lower-business-flow__item {
  display: grid;
  row-gap: 1rem;
}

.p-lower-business-flow__step {
  position: relative;
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  -webkit-column-gap: 0.6875rem;
     -moz-column-gap: 0.6875rem;
          column-gap: 0.6875rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-height: 5.625rem;
  padding: 1.0625rem 1rem 0.4375rem 1.4375rem;
  border: none;
  border-radius: 0.3125rem;
  background-color: #fbfbfb;
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__step {
    grid-template-columns: 3.75rem 1fr;
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    min-height: 6.25rem;
    padding: 1.5625rem 0.9375rem 1.5625rem 1.25rem;
  }
}
.p-lower-business-flow__step::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.1875rem;
  background-color: #00a4e1;
  border-radius: 0.3125rem 0 0 0.3125rem;
}

.p-lower-business-flow__number {
  color: #9dc6df;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__number {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-business-flow__number {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__number {
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.9444444444;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-flow__number {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-business-flow__step-title {
  color: #064ea1;
  font-size: max(1.25rem, 16px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__step-title {
    font-size: max(1.25rem, 14px);
  }
}
.p-lower-business-flow__step-title {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__step-title {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-flow__step-title {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-business-flow__step-text {
  margin-top: 0.1875rem;
  color: #474747;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__step-text {
    font-size: max(1rem, 14px);
  }
}
.p-lower-business-flow__step-text {
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-business-flow__step-text {
    font-size: max(1.375rem, 17.6px);
    font-weight: 500;
    line-height: 1.2727272727;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-business-flow__step-text {
    font-size: max(1.375rem, 14px);
  }
}

.p-lower-business-flow__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  pointer-events: none;
}
.p-lower-business-flow__arrow img {
  width: 2.6875rem;
  height: auto;
  aspect-ratio: 43/22;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-lower-business-flow__item + .p-lower-business-flow__item {
  margin-top: 1rem;
}

.p-lower-people-intro {
  position: relative;
  z-index: 3;
  top: -2rem;
  padding-block: 0rem 1.6875rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-people-intro {
    padding-block: 1rem 1.6875rem;
  }
}

.p-lower-people-intro__text {
  max-width: 63.625rem;
  margin-inline: auto;
  color: #000000;
  text-align: center;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-intro__text {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-people-intro__text {
  font-weight: 700;
  line-height: 1.6153846154;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-intro__text {
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.1666666667;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-intro__text {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-people-team {
  padding-bottom: 1.8125rem;
}
@media screen and (max-width: 767px) {
  .p-lower-people-team {
    padding-bottom: 1.25rem;
  }
}

.p-lower-people-team__image {
  width: 64.0625rem;
  max-width: 100%;
  margin-inline: auto;
  aspect-ratio: 1025/630;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-lower-people-team__image {
    width: 100%;
  }
}
.p-lower-people-team__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lower-people-interviews {
  background-color: #ffffff;
}

.p-lower-people-interview {
  position: relative;
  padding-top: 5.1875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview {
    padding-top: 4.375rem;
  }
}
.p-lower-people-interview .l-inner {
  position: relative;
}

.p-lower-people-interview__script {
  position: absolute;
  top: -0.1875rem;
  left: 0.9375rem;
  z-index: 1;
  color: #064ea1;
  white-space: nowrap;
  pointer-events: none;
  -webkit-transform: rotate(-11.56deg);
          transform: rotate(-11.56deg);
  font-size: max(4.125rem, 52.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__script {
    font-size: max(4.125rem, 14px);
  }
}
.p-lower-people-interview__script {
  font-weight: 400;
  line-height: 0.3939393939;
  letter-spacing: 0em;
}

.p-lower-people-interview__inner {
  display: grid;
  grid-template-columns: 31.25% 1fr;
  -webkit-column-gap: 3.125rem;
     -moz-column-gap: 3.125rem;
          column-gap: 3.125rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__inner {
    grid-template-columns: 1fr;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}

.p-lower-people-interview__media {
  overflow: hidden;
  border-radius: 0.625rem;
  margin-top: 0.5625rem;
  width: 20rem;
  height: auto;
  aspect-ratio: 320/400;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__media {
    margin-top: 0;
    max-width: 500px;
    margin-inline: auto;
    width: 100%;
  }
}
.p-lower-people-interview__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lower-people-interview__title {
  color: #000000;
  font-size: max(1.875rem, 24px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__title {
    font-size: max(1.875rem, 14px);
  }
}
.p-lower-people-interview__title {
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__title {
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.2777777778;
    letter-spacing: 0em;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-interview__title {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-people-interview__meta {
  margin-top: 0.5rem;
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__meta {
    font-size: max(1rem, 14px);
  }
}
.p-lower-people-interview__meta {
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__meta {
    margin-top: 1rem;
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-interview__meta {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-people-interview__lead {
  margin-top: 1.4375rem;
  color: #000000;
}
.p-lower-people-interview__lead p {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__lead p {
    font-size: max(1rem, 14px);
  }
}
.p-lower-people-interview__lead p {
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__lead p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-interview__lead p {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-people-interview__lead p + p {
  margin-top: 0;
}

.p-lower-people-interview__blocks {
  display: grid;
  row-gap: 1.8125rem;
  margin-top: 1.6875rem;
}

.p-lower-people-interview__block {
  display: grid;
  row-gap: 0.5rem;
}

.p-lower-people-interview__block-label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__block-label {
    font-size: max(1rem, 14px);
  }
}
.p-lower-people-interview__block-label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__block-label {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-interview__block-label {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-people-interview__block-body {
  padding: 1rem 2.375rem 1.375rem;
  border-radius: 0.3125rem;
  background-color: #f1fafe;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__block-body {
    padding: 1rem 1.25rem 1.25rem;
  }
}
.p-lower-people-interview__block-body p {
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__block-body p {
    font-size: max(1rem, 14px);
  }
}
.p-lower-people-interview__block-body p {
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-interview__block-body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 500;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-interview__block-body p {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-people-interview__block-body p + p {
  margin-top: 0;
}

.p-lower-people-culture {
  padding-block: 4.875rem 4.5rem;
}

.p-lower-people-culture__label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__label {
    font-size: max(1rem, 14px);
  }
}
.p-lower-people-culture__label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.p-lower-people-culture__title {
  margin-top: 0.125rem;
  color: #064ea1;
  font-size: max(3.5rem, 44.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__title {
    font-size: max(3.5rem, 14px);
  }
}
.p-lower-people-culture__title {
  font-weight: 700;
  line-height: 1.5357142857;
  letter-spacing: 0.2em;
}

.p-lower-people-culture__text {
  max-width: 63.9375rem;
  margin-top: 2.625rem;
  color: #000000;
}
.p-lower-people-culture__text p {
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__text p {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-people-culture__text p {
  font-weight: 700;
  line-height: 1.7692307692;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__text p {
    font-size: max(2rem, 25.6px);
    font-weight: 700;
    line-height: 1.4375;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-people-culture__text p {
    font-size: max(2rem, 14px);
  }
}
.p-lower-people-culture__text p + p {
  margin-top: 0;
}

.p-lower-people-culture__text-wrap {
  margin-top: 2.875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__text-wrap {
    margin-top: 2rem;
  }
}

.p-lower-people-culture__swiper-container {
  margin-top: 3.25rem;
  padding-bottom: 1.5rem;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-lower-people-culture__swiper-container {
    margin-top: 2.8125rem;
  }
}

.p-lower-people-culture__swiper {
  overflow: visible;
}

.p-lower-people-culture__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-lower-people-culture__swiper-slide {
  width: 22.8125rem;
  height: auto;
}
.p-lower-people-culture__swiper-slide:nth-child(even) .p-lower-people-culture__gallery-image {
  margin-top: 1.5rem;
}

.p-lower-people-culture__gallery-image {
  width: 22.8125rem;
  overflow: hidden;
  border-radius: 0.625rem;
}
.p-lower-people-culture__gallery-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 365/215;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lower-career-concept {
  position: relative;
  z-index: 3;
  top: -2.5625rem;
  padding-block: 0 2.75rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-career-concept {
    top: 0;
    padding-block: 1rem 2.5rem;
  }
}

.p-lower-career-concept__body {
  max-width: 63.625rem;
  margin-top: 0.5625rem;
  color: #000000;
  padding-left: 0.4375rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-concept__body {
    margin-top: 0.875rem;
    padding-left: 0;
  }
}
.p-lower-career-concept__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-concept__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-career-concept__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-concept__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-concept__body p {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-career-concept__body p + p {
  margin-top: 0;
}

.p-lower-career-people {
  padding-bottom: 6.125rem;
}

.p-lower-career-people__head {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  row-gap: 0.125rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-people__head {
    row-gap: 0.9375rem;
  }
}
.p-lower-career-people__head .c-lower-head__line {
  grid-column: 1/-1;
  margin-top: 0;
}

.p-lower-career-people__link {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: end;
      align-self: end;
  margin-bottom: 1.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-people__link {
    margin-bottom: 0.0625rem;
    padding-right: 0.9375rem;
  }
}

.p-lower-career-step {
  padding-bottom: 1.25rem;
  background-color: #ffffff;
}

.p-lower-career-step__scroll {
  margin-top: 1.75rem;
  margin-right: calc(50% - 50vw);
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 1.5rem;
  padding-right: calc(50vw - 50% + 2.5rem);
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__scroll {
    padding-right: calc(50vw - 50% + 1.5625rem);
  }
}
.p-lower-career-step__scroll {
  scrollbar-width: thin;
  scrollbar-color: #c9c9c9 #f1f1f1;
}
.p-lower-career-step__scroll::-webkit-scrollbar {
  height: 0.75rem;
}
.p-lower-career-step__scroll::-webkit-scrollbar-track {
  background-color: #f1f1f1;
}
.p-lower-career-step__scroll::-webkit-scrollbar-thumb {
  background-color: #c9c9c9;
  border: 0.1875rem solid #f1f1f1;
  border-radius: 0.625rem;
}

.p-lower-career-step__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.9375rem;
}

.p-lower-career-step__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-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 23.25rem;
  min-width: 0;
  min-height: 21.5625rem;
  padding: 2.625rem 2.75rem 3.0625rem;
  border-radius: 0.625rem;
  background-color: #e7f5fd;
}
@media (max-width: 899px) {
  .p-lower-career-step__item {
    padding: 2.625rem 1.875rem 3.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__item {
    padding: 2.5rem 0.9375rem;
    min-height: 15.625rem;
    min-width: 230px;
  }
}

.p-lower-career-step__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 0.875rem;
     -moz-column-gap: 0.875rem;
          column-gap: 0.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-lower-career-step__number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #87ccf1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__number {
    font-size: max(2.25rem, 14px);
  }
}
.p-lower-career-step__number {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.p-lower-career-step__name {
  color: #064ea1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__name {
    font-size: max(2.25rem, 14px);
  }
}
.p-lower-career-step__name {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.p-lower-career-step__text {
  margin-top: 1.25rem;
  color: #060606;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__text {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-career-step__text {
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-step__text {
    font-size: max(1.375rem, 17.6px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-step__text {
    font-size: max(1.375rem, 14px);
  }
}

.p-lower-career-education {
  padding-block: 4rem 3.75rem;
}

.p-lower-career-education__body {
  max-width: 63.9375rem;
  margin-top: 0.5625rem;
  color: #000000;
}
.p-lower-career-education__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-education__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-career-education__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-education__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-education__body p {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-education__text-wrap {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-education__text-wrap {
    margin-top: 1.5rem;
  }
}

.p-lower-career-training {
  padding-bottom: 1.875rem;
  background-color: #ffffff;
}

.p-lower-career-training__scroll {
  margin-top: 1.75rem;
  margin-right: calc(50% - 50vw);
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 1.5rem;
  padding-right: calc(50vw - 50% + 2.5rem);
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__scroll {
    padding-right: calc(50vw - 50% + 1.5625rem);
  }
}
.p-lower-career-training__scroll {
  scrollbar-width: thin;
  scrollbar-color: #c9c9c9 #f1f1f1;
}
.p-lower-career-training__scroll::-webkit-scrollbar {
  height: 0.75rem;
}
.p-lower-career-training__scroll::-webkit-scrollbar-track {
  background-color: #f1f1f1;
}
.p-lower-career-training__scroll::-webkit-scrollbar-thumb {
  background-color: #c9c9c9;
  border: 0.1875rem solid #f1f1f1;
  border-radius: 0.625rem;
}

.p-lower-career-training__list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.8125rem;
}

.p-lower-career-training__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 20rem;
  min-width: 0;
  min-height: 12.5rem;
  padding: 2.25rem 1.25rem 1.5rem 2.125rem;
  border-radius: 0.625rem;
  background-color: #064ea1;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__item {
    width: 26.25rem;
    padding: 1.8125rem 1.25rem 1.5rem 2.125rem;
  }
}

.p-lower-career-training__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__item-head {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
  }
}

.p-lower-career-training__item-head-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__item-head-label {
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
  }
}

.p-lower-career-training__number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #87ccf1;
  font-size: max(1.25rem, 16px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__number {
    font-size: max(1.25rem, 14px);
  }
}
.p-lower-career-training__number {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__number {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-training__number {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-training__en {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #87ccf1;
  font-size: max(1.25rem, 16px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__en {
    font-size: max(1.25rem, 14px);
  }
}
.p-lower-career-training__en {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__en {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-training__en {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-training__ja {
  color: #87ccf1;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__ja {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-career-training__ja {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__ja {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-training__ja {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-training__text {
  margin-top: 1.1875rem;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__text {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-career-training__text {
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-training__text {
    margin-top: 0.625rem;
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.3333333333;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-training__text {
    font-size: max(2.25rem, 14px);
  }
}

.p-lower-career-stories {
  padding-block: 3.4375rem 4.75rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories {
    padding-block: 2.8125rem 3.75rem;
  }
}

.p-lower-career-stories__label {
  color: #87ccf1;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__label {
    font-size: max(1rem, 14px);
  }
}
.p-lower-career-stories__label {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__label {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-stories__label {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-stories__title {
  margin-top: 0.125rem;
  color: #064ea1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__title {
    font-size: max(2.25rem, 14px);
  }
}
.p-lower-career-stories__title {
  font-weight: 700;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
}

.p-lower-career-stories__body {
  max-width: 63.9375rem;
  margin-top: 0.5625rem;
  color: #000000;
}
.p-lower-career-stories__body p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__body p {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-career-stories__body p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__body p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-stories__body p {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-career-stories__text-wrap {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .p-lower-career-stories__text-wrap {
    margin-top: 1.5rem;
  }
}

.p-lower-career-info {
  padding-block: 4.0625rem 8rem;
  background-color: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .p-lower-career-info {
    padding-block: 3.4375rem 5.3125rem;
  }
}

.p-lower-career-info__list {
  margin-top: 3.125rem;
}

.p-lower-career-info__row {
  display: grid;
  grid-template-columns: 9.1875rem 1fr;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4.375rem;
  padding: 2rem 0.5625rem;
}
.p-lower-career-info__row:nth-child(odd) {
  background-color: #ffffff;
}
.p-lower-career-info__row:nth-child(even) {
  background-color: #f8f8f8;
}

.p-lower-career-info__term {
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-info__term {
    font-size: max(1rem, 14px);
  }
}
.p-lower-career-info__term {
  font-weight: 700;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-info__term {
    font-size: max(1.5rem, 19.2px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-info__term {
    font-size: max(1.5rem, 14px);
  }
}

.p-lower-career-info__desc {
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-career-info__desc {
    font-size: max(1rem, 14px);
  }
}
.p-lower-career-info__desc {
  font-weight: 400;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-lower-career-info__desc {
    font-size: max(1.5rem, 19.2px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-career-info__desc {
    font-size: max(1.5rem, 14px);
  }
}

.p-lower-contact-form {
  position: relative;
  z-index: 3;
  top: -2.125rem;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form {
    top: 0;
  }
}

.p-lower-contact-form__inner {
  max-width: 58.375rem;
}

.p-lower-contact-form__title {
  color: #064ea1;
  font-size: max(2.25rem, 28.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__title {
    font-size: max(2.25rem, 14px);
  }
}
.p-lower-contact-form__title {
  font-weight: 700;
  line-height: 1.2777777778;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__title {
    font-size: max(2.5rem, 32px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__title {
    font-size: max(2.5rem, 14px);
  }
}

.p-lower-contact-form__lead {
  text-align: left;
  color: #000000;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__lead {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-contact-form__lead {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
  margin-top: 1.4375rem;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__lead {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    margin-top: 1.0625rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__lead {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-contact-form__body {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body {
    margin-top: 3rem;
  }
}

.p-lower-contact-form__body .smf-progress-tracker {
  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;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  max-width: 30rem;
  margin-inline: auto;
  margin-bottom: 4.0625rem;
  padding-left: 1.4375rem;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 3.9375rem;
          flex: 0 0 3.9375rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  width: auto;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item::before {
  display: none;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item:not(:last-child)::after {
  content: "";
  position: static;
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5rem;
  height: 1px;
  margin-inline: 2.5rem;
  background-color: #00a4e1;
  -webkit-transform: none;
          transform: none;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item:last-child::after {
  display: none;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__number {
  position: relative;
  z-index: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.6875rem;
  height: 0.6875rem;
  min-width: 0.6875rem;
  border-radius: 50%;
  overflow: hidden;
  font-size: 0;
  background-color: #b0e4ff;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
  background-color: #064ea1;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
  color: #000000;
  font-weight: 700;
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__text {
  position: relative;
  z-index: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0;
  color: #000000;
  background-color: #ffffff;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__text {
    font-size: max(1rem, 14px);
  }
}
.p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__text {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__text {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0.0307692308em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-progress-tracker .smf-progress-tracker__item__text {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-contact-form__body .smf-form {
  max-width: 55.625rem;
  margin-inline: auto;
}

.p-lower-contact-form__body .smf-item {
  margin-top: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item {
    margin-top: 1.5rem;
    display: block;
  }
  .p-lower-contact-form__body .smf-item .smf-item__col--label,
  .p-lower-contact-form__body .smf-item .smf-item__col--controls {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    max-width: none;
    width: 100%;
  }
  .p-lower-contact-form__body .smf-item .smf-item__col--controls {
    margin-top: 0.5rem;
  }
}
@media (min-width: 768px) {
  .p-lower-contact-form__body .smf-item {
    display: grid;
    grid-template-columns: 13.625rem 1fr;
    gap: 3.0625rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-lower-contact-form__body .smf-item .smf-item__col--label,
  .p-lower-contact-form__body .smf-item .smf-item__col--controls {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: auto;
    min-width: 0;
  }
  .p-lower-contact-form__body .smf-item .smf-item__col--controls {
    margin-top: 0;
  }
}

.smf-form--simple-table .smf-item {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-form.smf-form--simple-table .smf-item {
    display: block;
  }
  .p-lower-contact-form__body .smf-form.smf-form--simple-table .smf-item .smf-item__col--label {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    max-width: none;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .p-lower-contact-form__body .smf-item__col--label {
    padding-right: 6rem;
  }
}

.p-lower-contact-form__body .smf-item__label__text {
  color: #000000;
  white-space: nowrap;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item__label__text {
    font-size: max(1rem, 14px);
  }
}
.p-lower-contact-form__body .smf-item__label__text {
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item__label__text {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0.0307692308em;
    white-space: normal;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item__label__text {
    font-size: max(1.625rem, 14px);
  }
}

@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=confirm] .smf-item__controls {
    color: #000000;
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0.0307692308em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=confirm] .smf-item__controls {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-contact-form__body .smf-system-error-content {
  color: #000000;
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-contact-form__body .smf-system-error-content {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-contact-form__body .smf-system-error-content p {
  font-size: max(1.125rem, 14.4px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content p {
    font-size: max(1.125rem, 14px);
  }
}
.p-lower-contact-form__body .smf-system-error-content p {
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content p {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-content p {
    font-size: max(1.625rem, 14px);
  }
}

.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content {
  color: #000000;
}
.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content > :first-child {
  display: block;
  margin-bottom: 1.75rem;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content > :first-child {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content > :first-child {
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content > :first-child {
    margin-bottom: 1.875rem;
    font-size: max(2.25rem, 28.8px);
    font-weight: 700;
    line-height: 1.2777777778;
    letter-spacing: 0.0833333333em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content > :first-child {
    font-size: max(2.25rem, 14px);
  }
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content {
    font-size: max(1.625rem, 20.8px);
    font-weight: 400;
    line-height: 1.3846153846;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content {
    font-size: max(1.625rem, 14px);
  }
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .smf-complete-content p + p {
    margin-top: 1.25rem;
  }
}

@media (min-width: 768px) {
  .p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label {
  position: relative;
  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) {
  .p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label {
    gap: 0.625rem;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label .smf-item__label {
    min-width: 0;
  }
}
.p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label::after {
  content: "必須";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  width: 2.5625rem;
  min-width: 2.5625rem;
  height: 1.3125rem;
  padding-inline: 0.125rem;
  border: 1px solid #c1001a;
  border-radius: 0.1875rem;
  color: #c1001a;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0;
  font-size: 0.75rem;
  font-weight: 400;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label::after {
    position: static;
    width: 41px;
    min-width: 41px;
    height: 21px;
    padding-inline: 4px;
    font-size: 12px;
    -webkit-transform: none;
            transform: none;
  }
}
@media (min-width: 768px) {
  .p-lower-contact-form__body .smf-item:has(.smf-item__controls [data-validations*=required]) .smf-item__col--label::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.p-lower-contact-form__body .smf-select-control {
  position: relative;
  display: block;
  width: 100%;
}

.p-lower-contact-form__body .smf-select-control__toggle::before {
  top: calc(50% - 3px);
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-width: 0 1px 1px 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.p-lower-contact-form__body .smf-text-control__control,
.p-lower-contact-form__body .smf-select-control__control,
.p-lower-contact-form__body .smf-textarea-control__control {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 36.625rem;
  min-height: 3.1875rem;
  padding: 0.75rem 1rem 0.75rem 2.875rem;
  border: 1px solid #5c5c5c;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #000000;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-text-control__control,
  .p-lower-contact-form__body .smf-select-control__control,
  .p-lower-contact-form__body .smf-textarea-control__control {
    font-size: max(1rem, 14px);
  }
}
.p-lower-contact-form__body .smf-text-control__control,
.p-lower-contact-form__body .smf-select-control__control,
.p-lower-contact-form__body .smf-textarea-control__control {
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-text-control__control,
  .p-lower-contact-form__body .smf-select-control__control,
  .p-lower-contact-form__body .smf-textarea-control__control {
    max-width: none;
    font-size: max(1.625rem, 20.8px);
    font-weight: 400;
    line-height: 1.3846153846;
    letter-spacing: 0.0307692308em;
    padding: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-text-control__control,
  .p-lower-contact-form__body .smf-select-control__control,
  .p-lower-contact-form__body .smf-textarea-control__control {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-contact-form__body .smf-text-control__control::-webkit-input-placeholder, .p-lower-contact-form__body .smf-select-control__control::-webkit-input-placeholder, .p-lower-contact-form__body .smf-textarea-control__control::-webkit-input-placeholder {
  color: #d3d3d3;
}
.p-lower-contact-form__body .smf-text-control__control::-moz-placeholder, .p-lower-contact-form__body .smf-select-control__control::-moz-placeholder, .p-lower-contact-form__body .smf-textarea-control__control::-moz-placeholder {
  color: #d3d3d3;
}
.p-lower-contact-form__body .smf-text-control__control:-ms-input-placeholder, .p-lower-contact-form__body .smf-select-control__control:-ms-input-placeholder, .p-lower-contact-form__body .smf-textarea-control__control:-ms-input-placeholder {
  color: #d3d3d3;
}
.p-lower-contact-form__body .smf-text-control__control::-ms-input-placeholder, .p-lower-contact-form__body .smf-select-control__control::-ms-input-placeholder, .p-lower-contact-form__body .smf-textarea-control__control::-ms-input-placeholder {
  color: #d3d3d3;
}
.p-lower-contact-form__body .smf-text-control__control::placeholder,
.p-lower-contact-form__body .smf-select-control__control::placeholder,
.p-lower-contact-form__body .smf-textarea-control__control::placeholder {
  color: #d3d3d3;
}
.p-lower-contact-form__body .smf-text-control__control:hover, .p-lower-contact-form__body .smf-text-control__control:focus,
.p-lower-contact-form__body .smf-select-control__control:hover,
.p-lower-contact-form__body .smf-select-control__control:focus,
.p-lower-contact-form__body .smf-textarea-control__control:hover,
.p-lower-contact-form__body .smf-textarea-control__control:focus {
  border-color: #5c5c5c;
}

.p-lower-contact-form__body .smf-select-control__control {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 3rem;
}

.p-lower-contact-form__body .smf-text-control,
.p-lower-contact-form__body .smf-select-control,
.p-lower-contact-form__body .smf-textarea-control {
  display: block;
  width: 100%;
  max-width: 36.625rem;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-text-control,
  .p-lower-contact-form__body .smf-select-control,
  .p-lower-contact-form__body .smf-textarea-control {
    max-width: none;
  }
}

@media (min-width: 768px) {
  .p-lower-contact-form__body .smf-item__col--controls > .smf-item__controls,
  .p-lower-contact-form__body .smf-item__col--controls .smf-placeholder {
    width: 36.625rem;
  }
  .p-lower-contact-form__body .smf-text-control,
  .p-lower-contact-form__body .smf-select-control,
  .p-lower-contact-form__body .smf-textarea-control,
  .p-lower-contact-form__body .smf-text-control__control,
  .p-lower-contact-form__body .smf-select-control__control,
  .p-lower-contact-form__body .smf-textarea-control__control {
    width: 36.625rem;
    max-width: none;
  }
}
.p-lower-contact-form__body .smf-textarea-control__control {
  min-height: 20.75rem;
  resize: vertical;
}

.p-lower-contact-form__body .smf-action {
  margin-top: 1.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-action {
    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;
    gap: 1.5rem;
    margin-top: 2.5rem;
  }
}

.p-lower-contact-form__body .smf-button-control__control {
  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;
  gap: 0.75rem;
  width: 22.5rem;
  min-width: 22.5rem;
  height: 3.75rem;
  min-height: 3.75rem;
  padding: 0 3rem 0 1.75rem;
  border: none;
  border-radius: 18.75rem;
  background: linear-gradient(234.87deg, #e15600 0.74%, #ffe100 97.32%);
  color: #ffffff;
  cursor: pointer;
  font-size: max(1rem, 12.8px);
}
.p-lower-contact-form__body .smf-button-control__control,
.p-lower-contact-form__body .smf-button-control__control:disabled {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-button-control__control {
    font-size: max(1rem, 14px);
  }
}
.p-lower-contact-form__body .smf-button-control__control {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-button-control__control {
    font-size: max(1.625rem, 20.8px);
    font-weight: 700;
    line-height: 1.3846153846;
    letter-spacing: 0.0615384615em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-lower-contact-form__body .smf-button-control__control {
    font-size: max(1.625rem, 14px);
  }
}
.p-lower-contact-form__body .smf-button-control__control::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  left: -3.125rem;
  width: 1.75rem;
  height: 1.4375rem;
  background: url("../img/icon-contact-button-mail.svg") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-button-control__control::before {
    left: 0;
    width: 28px;
    height: 23px;
  }
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-button-control__control {
    width: 100%;
    min-height: 5.625rem;
    max-width: 22.5rem;
  }
}
@media (max-width: 499px) {
  .p-lower-contact-form__body .smf-button-control__control {
    min-height: 70px;
    min-width: 300px;
  }
}
@media (any-hover: hover) {
  .p-lower-contact-form__body .smf-button-control__control:hover {
    opacity: 0.85;
  }
}

.p-lower-contact-form__body .smf-system-error-status-text,
.p-lower-contact-form__body .smf-error-messages {
  color: #c1001a;
  font-size: max(0.875rem, 11.2px);
}
@media screen and (max-width: 767px) {
  .p-lower-contact-form__body .smf-system-error-status-text,
  .p-lower-contact-form__body .smf-error-messages {
    font-size: max(0.875rem, 14px);
  }
}
.p-lower-contact-form__body .smf-system-error-status-text,
.p-lower-contact-form__body .smf-error-messages {
  font-weight: 700;
  line-height: 1.7142857143;
  letter-spacing: 0em;
}

.p-contact {
  padding-block: 1.8125rem 5.3125rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-block: 1.875rem 3.4375rem;
    padding-inline: 1.5625rem;
  }
}

.p-contact__card {
  position: relative;
  overflow: hidden;
  max-width: 87.5rem;
  width: 100%;
  margin-inline: auto;
  min-height: 19.75rem;
  background-color: #ffffff;
  border-radius: 1.875rem;
  -webkit-box-shadow: 0 0.25rem 1.875rem 0.3125rem rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.25rem 1.875rem 0.3125rem rgba(0, 0, 0, 0.25);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media (any-hover: hover) {
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) {
    background-color: #064ea1;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .c-section-title.is-blue {
    color: #ffffff;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .c-section-title.is-blue .c-section-title--ja {
    color: #ffffff;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .p-contact__text {
    color: #ffffff;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .c-link-viewmore.is-main {
    color: #ffffff;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .c-link-viewmore.is-main .c-link-viewmore__arrow::before,
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .c-link-viewmore.is-main .c-link-viewmore__arrow::after {
    background-color: #ffffff;
  }
  .p-contact__card:has(.p-contact__btn .c-link-viewmore:hover) .p-contact__deco {
    opacity: 0;
    -webkit-transition: opacity 0.1s ease;
    transition: opacity 0.1s ease;
  }
}

.p-contact__card-inner {
  position: relative;
  z-index: 2;
  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;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  padding-block: 4rem 5.4375rem;
}
@media screen and (max-width: 767px) {
  .p-contact__card-inner {
    -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;
    min-height: auto;
    padding-bottom: 3.75rem;
  }
}

.p-contact__content {
  margin-top: 1.0625rem;
}

.p-contact .c-section-title.is-blue,
.p-contact .c-section-title.is-blue .c-section-title--ja,
.p-contact__text,
.p-contact__btn .c-link-viewmore.is-main {
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.p-contact__btn .c-link-viewmore.is-main .c-link-viewmore__arrow::before,
.p-contact__btn .c-link-viewmore.is-main .c-link-viewmore__arrow::after {
  -webkit-transition: background-color 0.3s ease, width 0.5s ease, left 0.5s ease;
  transition: background-color 0.3s ease, width 0.5s ease, left 0.5s ease;
}

.p-contact .c-section-title--ja {
  margin-top: 0.875rem;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-contact .c-section-title--ja {
    font-size: max(1rem, 14px);
  }
}
.p-contact .c-section-title--ja {
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact .c-section-title--ja {
    margin-top: 1.25rem;
    font-size: max(1.25rem, 16px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-contact .c-section-title--ja {
    font-size: max(1.25rem, 14px);
  }
}

.p-contact__text {
  width: 33.5rem;
  min-width: 430px;
  margin-top: 1.3125rem;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-contact__text {
    font-size: max(1rem, 14px);
  }
}
.p-contact__text {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-contact__text {
    width: 100%;
    min-width: auto;
    margin-top: 1.5rem;
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-contact__text {
    font-size: max(1.25rem, 14px);
  }
}

.p-contact__btn {
  margin-top: 1.5625rem;
  padding-right: 3.3125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-contact__btn {
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin-top: 2rem;
    padding-right: 0.9375rem;
  }
}

.p-contact__deco {
  position: absolute;
  width: 30.4375rem;
  height: auto;
  aspect-ratio: 1/1;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease 0.05s;
  transition: opacity 0.3s ease 0.05s;
}
.p-contact__deco img {
  width: 100%;
  height: 100%;
}
.p-contact__deco.is-right {
  top: -13.75rem;
  right: -17.875rem;
}
.p-contact__deco.is-left {
  bottom: -13.8125rem;
  left: -10.4375rem;
}

.p-footer-simple {
  padding-top: 4.375rem;
  padding-bottom: 4.0625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-footer-simple {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
  }
}

.p-footer-simple__line {
  height: 1px;
  background-color: #2990b6;
  border-radius: 1.875rem;
}

.p-footer-simple__copy {
  margin-top: 1.875rem;
  padding-left: 0.3125rem;
}
.p-footer-simple__copy small {
  color: #9cbbcb;
  font-size: max(0.625rem, 8px);
}
@media screen and (max-width: 767px) {
  .p-footer-simple__copy small {
    font-size: max(0.625rem, 14px);
  }
}
.p-footer-simple__copy small {
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-footer-simple__copy small {
    font-size: max(1.25rem, 16px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .p-footer-simple__copy small {
    font-size: max(1.25rem, 14px);
  }
}

.p-404 {
  padding-top: 4.125rem;
  padding-bottom: 8.3125rem;
}

.p-404__inner {
  max-width: 64rem;
  text-align: center;
}

.p-404__text {
  color: #064ea1;
  font-size: max(1.625rem, 20.8px);
}
@media screen and (max-width: 767px) {
  .p-404__text {
    font-size: max(1.625rem, 14px);
  }
}
.p-404__text {
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0em;
}

.p-404__desc {
  margin-top: 1.5rem;
  color: #474747;
  font-size: max(1rem, 12.8px);
}
@media screen and (max-width: 767px) {
  .p-404__desc {
    font-size: max(1rem, 14px);
  }
}
.p-404__desc {
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0.05em;
}

.p-404__btn {
  margin-top: 3rem;
}

.p-to-top {
  position: fixed;
  right: 2.6875rem;
  bottom: 4.4375rem;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-to-top {
    right: 1.5625rem;
    bottom: 1.5625rem;
  }
}
.p-to-top.js-show {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .p-to-top:hover {
    opacity: 0.7;
  }
  .p-to-top.js-show:hover {
    opacity: 0.7;
  }
}

.p-to-top__arrow {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 4.9375rem;
}
.p-to-top__arrow::before {
  content: "";
  position: absolute;
  top: 0.0625rem;
  right: 0;
  width: 1px;
  height: calc(100% - 0.0625rem);
  background-color: #ffffff;
  border-radius: 1px;
}
.p-to-top__arrow::after {
  content: "";
  position: absolute;
  top: 0.03125rem;
  right: 0;
  width: 2.0625rem;
  height: 1px;
  background-color: #ffffff;
  rotate: -45deg;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  border-radius: 1px;
}

@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
.u-font {
  font-family: "Noto Sans JP", sans-serif;
}
.u-font__jp {
  font-family: "Noto Sans JP", sans-serif;
}
.u-font__en {
  font-family: "Fustat", sans-serif;
}
.u-font__script {
  font-family: "Qwitcher Grypen", cursive;
}

.u-text__center {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .u-text__center--sp {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .u-text__center--pc {
    text-align: center !important;
  }
}

.u-text__left {
  text-align: left !important;
}
@media screen and (max-width: 767px) {
  .u-text__left--sp {
    text-align: left !important;
  }
}
@media (min-width: 768px) {
  .u-text__left--pc {
    text-align: left !important;
  }
}

.u-text__right {
  text-align: right !important;
}
@media screen and (max-width: 767px) {
  .u-text__right--sp {
    text-align: right !important;
  }
}
@media (min-width: 768px) {
  .u-text__right--pc {
    text-align: right !important;
  }
}

.u-text__nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .u-text__nowrap--sp {
    white-space: nowrap;
  }
}
@media (min-width: 768px) {
  .u-text__nowrap--pc {
    white-space: nowrap;
  }
}

.u-pointer__none {
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .u-pointer__none--sp {
    pointer-events: none !important;
  }
}
@media (min-width: 768px) {
  .u-pointer__none--pc {
    pointer-events: none !important;
  }
}

.u-animation__fadeIn {
  translate: 0 20px;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.u-animation__fadeIn.js-show {
  translate: 0;
  opacity: 1;
}
/* BUSINESS — Figma 674:893, 2026-09-24. Scoped to this page. */
.p-business-page .p-lower-business-service,
.p-business-page .p-lower-business-service ~ .p-lower-business-service { padding:0 0 4.375rem; background:#ebf5ff; overflow:hidden; }
.p-business-page .p-lower-business-service__inner { max-width:none; width:100%; padding:0; }
.p-business-page .p-lower-business-service__head { display:grid; grid-template-columns:49.5833% 50.4167%; gap:0; min-height:37.5rem; background:#0655a7; align-items:stretch; }
.p-business-page .p-lower-business-service__content { padding:8.75rem 3rem 7.5rem 4.0625rem; }
.p-business-page #business-alliance .p-lower-business-service__content { padding-top:7.5rem; }
.p-business-page .p-lower-business-service__content .c-lower-head__label { color:#87ccf1; font-size:1rem; line-height:1.5; }
.p-business-page .p-lower-business-service__content .c-lower-head__title-ja { color:white; font-size:2.25rem; line-height:1.5; margin-top:1rem; letter-spacing:0; }
.p-business-page .p-lower-business-service__content .c-lower-head__line { max-width:none; margin-top:1rem; }
.p-business-page .p-lower-business-service__content .c-lower-head__line-accent { background:white; }
.p-business-page .p-lower-business-service__text { color:white; font-size:1.25rem; line-height:1.5; margin-top:1.5rem; }
.p-business-page .p-lower-business-service__media { border-radius:0; }
.p-business-page .p-lower-business-service__media img { width:100%; height:100%; aspect-ratio:auto; border-radius:0; object-fit:cover; object-position:50% 50%; }
.p-business-page .p-lower-business-service__badge { border-radius:0; z-index:4; padding:.8125rem 1.1875rem; }
.p-business-page .p-lower-business-service__marquee { position:relative; z-index:3; height:7.5rem; margin-top:-7.5rem; margin-left:-4.6875rem; font-size:7.25rem; line-height:1.25; font-weight:700; white-space:nowrap; color:#0080ff; background:linear-gradient(90deg,#0080ff,#064ea1); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; pointer-events:none; }
.p-business-page .p-lower-business-service__section,
.p-business-page .p-lower-business-service__section-bottom { width:calc(100% - 3rem); max-width:64rem; margin-inline:auto; }
.p-business-page .p-lower-business-service__section { display:grid; grid-template-columns:12.5625rem minmax(0,1fr); column-gap:2rem; margin-top:4.3125rem; position:relative; }
.p-business-page .p-lower-business-service__section > .p-lower-business-service__section-label { grid-column:1; grid-row:1; }
.p-business-page .p-lower-business-service__section > .c-lower-section-head { grid-column:1; grid-row:1; align-self:start; margin-top:1.5rem; }
.p-business-page .p-lower-business-service__section > .c-lower-section-head .c-lower-section-head__line { display:none; }
.p-business-page .p-lower-business-service__section .c-lower-section-head__title { font-size:1.875rem; }
.p-business-page .p-lower-business-problems--area { grid-column:2; grid-row:1; display:grid; grid-template-columns:1fr; gap:1rem; margin:0; }
.p-business-page .p-lower-business-problems__item { position:relative; min-height:17.125rem; background:#064ea1; border-radius:.625rem; padding:4.3125rem 18rem 2rem 2.625rem; overflow:hidden; }
.p-business-page .p-lower-business-problems__card { position:static; display:block; min-height:0; padding:0; background:none; }
.p-business-page .p-lower-business-problems__number { top:2.625rem; left:2.4375rem; color:#87ccf1; font-size:1.25rem; line-height:1.4; }
.p-business-page .p-lower-business-problems__title { position:relative; z-index:1; margin:0; font-size:2rem; line-height:2.0625; color:white; white-space:nowrap; }
.p-business-page .p-lower-business-problems__text { position:relative; z-index:1; width:auto; margin-top:1rem; font-size:1.25rem; line-height:1.5; color:white; }
.p-business-page .p-lower-business-problems__icon { position:absolute; top:5rem; right:5.125rem; width:auto; height:auto; aspect-ratio:auto; }
.p-business-page .p-lower-business-problems__icon img { width:auto; height:auto; max-width:none; max-height:none; }
.p-business-page .p-lower-business-problems__deco { left:auto; right:1.5rem; top:50%; transform:translateY(-50%); }
.p-business-page .p-lower-business-service__section-bottom { margin-top:4.4375rem; }
.p-business-page .p-lower-business-service__section-bottom .c-lower-section-head__title { font-size:1.875rem; }
.p-business-page .p-lower-business-features { gap:.75rem; }
.p-business-page .p-lower-business-features__item { background:white; border:none; }
.p-business-page .p-lower-business-service__marquee + .p-lower-business-service__section-bottom { margin-top:3.8125rem; }
@media (max-width:767px) {
 .p-business-page .p-lower-business-service__head { grid-template-columns:1fr; }
 .p-business-page .p-lower-business-service__content,
 .p-business-page #business-alliance .p-lower-business-service__content { padding:7rem 3rem 4rem; }
 .p-business-page .p-lower-business-service__content .c-lower-head__label { font-size:1.625rem; }
 .p-business-page .p-lower-business-service__content .c-lower-head__title-ja { font-size:2.625rem; }
 .p-business-page .p-lower-business-service__text { font-size:1.5rem; line-height:1.7; }
 .p-business-page .p-lower-business-service__media { height:28rem; }
 .p-business-page .p-lower-business-service__marquee { height:6rem; margin-top:-6rem; margin-left:-1rem; font-size:4.75rem; }
 .p-business-page .p-lower-business-service__section,
 .p-business-page .p-lower-business-service__section-bottom { width:calc(100% - 4rem); }
 .p-business-page .p-lower-business-service__section { display:block; }
 .p-business-page .p-lower-business-service__section > .c-lower-section-head { margin-top:1rem; }
 .p-business-page .p-lower-business-problems--area { margin-top:2rem; gap:1.5rem; }
 .p-business-page .p-lower-business-problems__item { min-height:23rem; padding:5rem 11rem 2.5rem 2rem; }
 .p-business-page .p-lower-business-problems__number { left:2rem; top:2rem; font-size:1.625rem; }
 .p-business-page .p-lower-business-problems__title { font-size:2rem; line-height:1.5; white-space:normal; }
 .p-business-page .p-lower-business-problems__text { font-size:1.5rem; }
 .p-business-page .p-lower-business-problems__icon { top:7rem; right:1rem; transform:scale(.65); transform-origin:right center; }
 .p-business-page .p-lower-business-problems__deco { right:-5rem; }
 .p-business-page .p-lower-business-service__section-bottom .c-lower-section-head__title { font-size:1.875rem; }
 .p-business-page .p-lower-business-concept__nav-text { white-space:normal; }
 .p-business-page .p-lower-business-concept__nav-link { height:auto; min-height:4.5rem; padding-block:.75rem; }
}

.p-business-page .p-lower-business-service__media img { display:block; position:absolute; inset:0; }

@media (max-width:767px) {
 .p-business-page .p-lower-business-concept { padding-bottom:3rem; }
 .p-business-page .p-lower-business-concept__nav-list { display:grid; grid-template-columns:1fr; }
}
@media (min-width:768px) and (max-width:1100px) {
 .p-business-page .p-lower-business-problems__item { padding-right:13rem; }
 .p-business-page .p-lower-business-problems__icon { right:2rem; transform:scale(.75); transform-origin:right center; }
 .p-business-page .p-lower-business-problems__title { font-size:1.75rem; }
}

/* Continuous decorative text and sticky Service Area heading. */
.p-business-page .p-lower-business-service__marquee {
 margin-left:0; overflow:hidden; background:none; -webkit-text-fill-color:initial;
}
.p-business-page .p-lower-business-service__marquee-track {
 display:flex; width:max-content; animation:business-marquee 28s linear infinite;
}
.p-business-page .p-lower-business-service__marquee-track > span {
 flex:none; padding-right:3rem; background:linear-gradient(90deg,#0080ff,#064ea1);
 background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
@keyframes business-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
/* clip does not create a scroll container, so the heading sticks to the viewport. */
.p-business-page .p-lower-business-service { overflow:clip; }
.p-business-page .p-lower-business-service__area-heading {
 grid-column:1; grid-row:1; position:sticky; top:2rem; align-self:start;
}
.p-business-page .p-lower-business-service__area-heading .c-lower-section-head { margin-top:1.5rem; }
.p-business-page .p-lower-business-service__area-heading .c-lower-section-head__line { display:none; }
@media (max-width:767px) {
 .p-business-page .p-lower-business-service__area-heading { position:static; }
 .p-business-page .p-lower-business-service__area-heading .c-lower-section-head { margin-top:1rem; }
}
@media (prefers-reduced-motion:reduce) {
 .p-business-page .p-lower-business-service__marquee-track { animation:none; }
}

/* Global entrance motion. Content stays visible when JavaScript is unavailable. */
.u-animation__fadeIn { opacity:1; translate:none; }
.p-header { animation:puls-header-enter 700ms cubic-bezier(.22,1,.36,1) both; }
@keyframes puls-header-enter {
 from { opacity:0; translate:0 -28px; }
 to { opacity:1; translate:0 0; }
}
.u-entrance {
 opacity:0; translate:0 20px;
 transition:none;
}
.u-entrance.u-entrance--heading {
 translate:64px 0;
 transition:none;
}
.u-entrance.is-entered { opacity:1; translate:0 0; transition:opacity 550ms ease var(--entrance-delay,0ms), translate 650ms cubic-bezier(.22,1,.36,1) var(--entrance-delay,0ms); }
.u-entrance.u-entrance--heading.is-entered { transition:opacity 350ms ease var(--entrance-delay,0ms), translate 650ms cubic-bezier(.16,1,.3,1) var(--entrance-delay,0ms); }
@media (max-width:767px) { .u-entrance.u-entrance--heading { translate:32px 0; } .u-entrance.u-entrance--heading.is-entered { translate:0 0; } }
@media (prefers-reduced-motion:reduce) {
 .p-header { animation:none; }
 .u-entrance, .u-entrance.u-entrance--heading { opacity:1!important; translate:none!important; transition:none!important; }
}
@media print {
 .p-header { animation:none; }
 .u-entrance, .u-entrance.u-entrance--heading { opacity:1!important; translate:none!important; transition:none!important; }
}

/* Desktop Contact remains attached to the viewport, independently of the header. */
@media (min-width:768px) {
 .p-header__aside.p-header__aside--fixed {
  position:fixed; inset:0 0 auto auto; z-index:100;
  width:9.9375rem; height:10rem; padding-top:1rem; overflow:hidden;
  animation:puls-header-enter 700ms cubic-bezier(.22,1,.36,1) both;
 }
}
.p-mv__title { animation:puls-hero-title 850ms cubic-bezier(.16,1,.3,1) 180ms both; }
.p-mv__lead { animation:puls-hero-lead 900ms cubic-bezier(.22,1,.36,1) 350ms both; }
.p-mv__icon img { animation:puls-symbol-float 6s ease-in-out infinite; }
@keyframes puls-hero-title { from { opacity:0; translate:48px 0; } to { opacity:1; translate:0 0; } }
@keyframes puls-hero-lead { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }
@keyframes puls-symbol-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-14px); } }
@media (prefers-reduced-motion:reduce) {
 .p-header__aside.p-header__aside--fixed,.p-mv__title,.p-mv__lead,.p-mv__icon img { animation:none; }
}
@media print {
 .p-header__aside.p-header__aside--fixed { display:none; }
 .p-mv__title,.p-mv__lead,.p-mv__icon img { animation:none; }
}

/* Align visible lettering with the bottom edge of the business hero. */
.p-business-page .p-lower-business-service__marquee-track { translate:0 .12em; }
@media (max-width:767px) {
 .p-business-page .p-lower-business-service__marquee-track { translate:0 .22em; }
}

/* ABOUT representative message — 2026-09-26 */
.p-about-message__portrait { position: relative; margin-top: 1.75rem; }
.p-about-message__image { margin-top: 0; }
.p-about-message__handwriting { position: absolute; right: -0.5rem; bottom: -0.75rem; color: #064ea1; font-family: "Qwitcher Grypen", cursive; font-size: 6.625rem; font-weight: 400; line-height: 1; white-space: nowrap; transform: rotate(-11.56deg); }
.p-about-message__content { position: relative; isolation: isolate; margin-top: 3.25rem; }
.p-about-message__content::before { content: ""; position: absolute; z-index: -1; top: 5.1875rem; left: 43.5625rem; width: 49.8125rem; height: 49.625rem; background: url("../img/common/mv-icon.png") center / contain no-repeat; opacity: .2; filter: blur(3.125rem); pointer-events: none; }
.p-about-message__quote { position: absolute; z-index: -1; top: -4.7rem; left: -5.5rem; color: #f0f0f0; font-family: Georgia, serif; font-style: italic; font-size: 35rem; line-height: 1; pointer-events: none; }
.p-about-message__catch { max-width: none; margin-top: 0; font-size: 3.5rem; font-weight: 700; line-height: 4.125rem; letter-spacing: .3em; }
.p-about-message__body { max-width: 64rem; margin-top: 3.0625rem; }
.p-about-message__body p { font-size: 1rem; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.p-about-message__body p + p { margin-top: 1.5rem; }
.p-about-message__sign { gap: 1rem; margin-top: 1.25rem; min-height: 4.125rem; }
.p-about-message__sign-role { font-size: .75rem; line-height: 1.5; }
.p-about-message__signature { width: 11.375rem; height: auto; }
@media screen and (max-width: 767px) {
  .p-about-message__portrait { margin-top: 2rem; }
  .p-about-message__handwriting { right: 0; bottom: -1rem; font-size: 5rem; }
  .p-about-message__content { margin-top: 4rem; }
  .p-about-message__content::before { left: 50%; top: 12rem; width: 36rem; height: 36rem; opacity: .12; }
  .p-about-message__quote { left: -1.5rem; top: -3rem; font-size: 20rem; }
  .p-about-message__catch { font-size: clamp(20px, 4.8vw, 36px); line-height: 1.6; letter-spacing: .08em; }
  .p-about-message__body { margin-top: 2rem; }
  .p-about-message__body p { font-size: max(1.625rem, 14px); line-height: 1.85; }
  .p-about-message__body p + p { margin-top: 1.5em; }
  .p-about-message__sign { gap: 1.25rem; flex-wrap: wrap; margin-top: 2.5rem; }
  .p-about-message__sign-role { font-size: max(1.25rem, 11px); }
  .p-about-message__signature { width: 14rem; }
}

/* CAREER redesign — 2026-09-26 */
.p-career-page__accessible-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.p-career-page .p-lower-career-concept { padding-bottom: 4.25rem; }
.p-career-page .p-lower-career-concept .c-lower-lead__title-ja { line-height: 2.875rem; }
.p-career-page .p-lower-career-concept__body { margin-top: 1.375rem; }
.p-career-page__gradient { background: linear-gradient(#fff, #c1e1f3); }
.p-career-page .p-lower-career-step { padding-bottom: 2.4375rem; }
.p-career-page .p-lower-career-step__scroll, .p-career-page .p-lower-career-training__scroll { margin: 2.5rem 0 0; padding: 0; overflow: visible; }
.p-career-page .p-lower-career-step__list { display: flex; align-items: end; gap: .4375rem; position: relative; padding-top: 3.375rem; }
.p-career-page .p-lower-career-step__list::before, .p-career-page .p-lower-career-training__list::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1.4rem; background: url("../img/career-step-arrow.svg") center / 100% 100% no-repeat; transform: rotate(-5.68deg); transform-origin: right center; }
.p-career-page .p-lower-career-step__list::before { top: .5rem; }
.p-career-page .p-lower-career-step__item { flex: 1 1 0; width: auto; min-width: 0; min-height: 12.5rem; padding: .625rem 1.5625rem 1rem; }
.p-career-page .p-lower-career-step__item:nth-child(2) { min-height: 13.875rem; background: #dceef8; padding-top: 1rem; }
.p-career-page .p-lower-career-step__item:nth-child(3) { min-height: 15.625rem; background: #c1e1f3; padding-top: 1.4375rem; }
.p-career-page .p-lower-career-step__item:nth-child(4) { min-height: 17.3125rem; background: #bfe6fc; padding-top: 1.5625rem; }
.p-career-page .p-lower-career-step__item-head { gap: .625rem; }
.p-career-page .p-lower-career-step__number { font-size: 1.875rem; line-height: 1.2; }
.p-career-page .p-lower-career-step__name { font-size: 1.625rem; line-height: 1.2; }
.p-career-page .p-lower-career-step__text { margin-top: .5rem; font-weight: 500; }
.p-lower-career-step__catch { font-size: 1.125rem; line-height: 1.25; }
.p-lower-career-step__item:nth-child(n+3) .p-lower-career-step__catch { font-size: 1rem; }
.p-lower-career-step__description { margin-top: .5rem; font-size: .75rem; line-height: 1.5; }
.p-career-page .p-lower-career-education { padding: 4rem 0 0; }
.p-career-page .p-lower-career-training { background: transparent; padding: 0 0 6.75rem; }
.p-career-page .p-lower-career-training__scroll { margin-top: 4.25rem; }
.p-career-page .p-lower-career-training__list { display: flex; align-items: end; gap: .4375rem; position: relative; padding-top: 1.75rem; }
.p-career-page .p-lower-career-training__list::before { background-image: url("../img/career-training-arrow.svg"); transform: rotate(-5.47deg); }
.p-career-page .p-lower-career-training__item { flex: 1 1 0; width: auto; min-width: 0; min-height: 12.8125rem; border-radius: 0; padding: 2.1875rem 1.5625rem 1rem; background: url("../img/career-training-01.svg") center / 100% 100% no-repeat; }
.p-career-page .p-lower-career-training__item:nth-child(2) { min-height: 14.125rem; padding-top: 2.5625rem; background-image: url("../img/career-training-02.svg"); }
.p-career-page .p-lower-career-training__item:nth-child(3) { min-height: 15.5rem; padding: 2.5625rem 1.25rem 1rem; background-image: url("../img/career-training-03.svg"); }
.p-career-page .p-lower-career-training__item:nth-child(4) { min-height: 16.9375rem; padding: 2.5rem 1.3125rem 1rem; background-image: url("../img/career-training-04.svg"); }
.p-career-page .p-lower-career-training__item-head { gap: .625rem; }
.p-career-page .p-lower-career-training__item-head-label { gap: .25rem; white-space: nowrap; }
.p-career-page .p-lower-career-training__number { font-size: 1.875rem; line-height: 1.2; }
.p-career-page .p-lower-career-training__en, .p-career-page .p-lower-career-training__ja { font-size: 1.375rem; line-height: 1.2; color: #fff; transform: none; }
.p-career-page .p-lower-career-training__ja { font-size: 1.125rem; }
.p-career-page .p-lower-career-training__text { margin-top: 1rem; font-size: 1.4375rem; line-height: 2.125rem; }
.p-career-page .p-lower-career-people { padding-bottom: 3.5rem; }
.p-career-page .p-lower-career-people .c-lower-head__title-ja { font-size: 2.25rem; line-height: 4.125rem; letter-spacing: .2em; color: #064ea1; }
@media screen and (max-width: 767px) {
 .p-career-page .p-lower-career-concept .c-lower-lead__title-ja { font-size: max(1.75rem, 19px); line-height: 1.6; letter-spacing: .05em; }
 .p-career-page .p-lower-career-step__scroll, .p-career-page .p-lower-career-training__scroll { overflow-x: auto; padding-bottom: 1.5rem; }
 .p-career-page .p-lower-career-step__list, .p-career-page .p-lower-career-training__list { min-width: 1024px; gap: 7px; padding-top: 54px; }
 .p-career-page .p-lower-career-step__item { min-height: 240px; padding: 16px 24px; }
 .p-career-page .p-lower-career-step__item:nth-child(2) { min-height: 262px; padding-top: 20px; }
 .p-career-page .p-lower-career-step__item:nth-child(3) { min-height: 290px; padding-top: 24px; }
 .p-career-page .p-lower-career-step__item:nth-child(4) { min-height: 317px; padding-top: 26px; }
 .p-career-page .p-lower-career-step__number, .p-career-page .p-lower-career-training__number { font-size: 30px; }
 .p-career-page .p-lower-career-step__name { font-size: 26px; }
 .p-lower-career-step__catch, .p-lower-career-step__item:nth-child(n+3) .p-lower-career-step__catch { font-size: 18px; }
 .p-lower-career-step__description { font-size: 14px; margin-top: 10px; }
 .p-career-page .p-lower-career-step__list::before, .p-career-page .p-lower-career-training__list::before { height: 22px; }
 .p-career-page .p-lower-career-training__item { min-height: 205px; padding: 35px 24px 16px; }
 .p-career-page .p-lower-career-training__item:nth-child(2) { min-height: 226px; padding: 41px 24px 16px; }
 .p-career-page .p-lower-career-training__item:nth-child(3) { min-height: 248px; padding: 41px 20px 16px; }
 .p-career-page .p-lower-career-training__item:nth-child(4) { min-height: 271px; padding: 40px 21px 16px; }
 .p-career-page .p-lower-career-training__en { font-size: 22px; }
 .p-career-page .p-lower-career-training__ja { font-size: 18px; }
 .p-career-page .p-lower-career-training__text { font-size: 23px; line-height: 34px; margin-top: 16px; }
 .p-career-page .p-lower-career-people__head { grid-template-columns: 1fr; }
 .p-career-page .p-lower-career-people .c-lower-head__title-ja { font-size: max(2rem, 20px); line-height: 1.6; letter-spacing: .08em; }
 .p-career-page .p-lower-career-people__link { justify-self: end; }
}
@media screen and (min-width: 768px) {
 .p-career-page .p-lower-career-concept { padding-bottom: 2.5rem; }
 .p-career-page .p-lower-career-training__scroll { margin-top: 3.5625rem; }
 .p-career-page .p-lower-career-training__item:nth-child(n+3) { padding-right: .9375rem; }
}

/* Hero symbol: 1.5s spin, 0.4s settle, 4s float; alternate left/right. */
.p-mv__icon { perspective: 1200px; }
.p-mv__icon img {
 transform-origin: center;
 animation: puls-symbol-reveal 1.5s ease-out both, puls-symbol-cycle 11.8s linear infinite;
}
@keyframes puls-symbol-reveal { from { opacity: 0; } to { opacity: 1; } }
@keyframes puls-symbol-cycle {
 0% { transform: translateY(0) rotateY(0deg); animation-timing-function: cubic-bezier(.15,.65,.3,1); }
 12.711864% { transform: translateY(0) rotateY(1092deg); animation-timing-function: ease-out; }
 16.101695% { transform: translateY(0) rotateY(1080deg); animation-timing-function: ease-in-out; }
 33.050847% { transform: translateY(-14px) rotateY(1080deg); animation-timing-function: ease-in-out; }
 50% { transform: translateY(0) rotateY(1080deg); animation-timing-function: cubic-bezier(.15,.65,.3,1); }
 512.711864% { transform: translateY(0) rotateY(-12deg); animation-timing-function: ease-out; }
 66.101695% { transform: translateY(0) rotateY(0deg); animation-timing-function: ease-in-out; }
 83.050847% { transform: translateY(-14px) rotateY(0deg); animation-timing-function: ease-in-out; }
 100% { transform: translateY(0) rotateY(0deg); }
}
@media (prefers-reduced-motion: reduce), print {
 .p-mv__icon img { animation: none; transform: none; opacity: 1; }
}

/* Start the footer symbol motion when it first enters the viewport. */
.p-footer__icon { perspective: 1200px; }
.p-footer__icon.is-symbol-active img {
 transform-origin: center;
 animation: puls-symbol-reveal 1.5s ease-out both, puls-symbol-cycle 11.8s linear infinite;
}
@media (prefers-reduced-motion: reduce), print {
 .p-footer__icon.is-symbol-active img { animation: none; transform: none; opacity: 1; }
}

/* Interactive Google map with a cool blue palette. */
.p-about-info__map { background: #e7f5fd; }
.p-about-info__map iframe {
 display: block;
 width: 100%;
 height: 100%;
 border: 0;
 filter: grayscale(1) sepia(.35) saturate(2.4) hue-rotate(165deg);
}

/* Shared staff introduction copy. */
.c-people-introduction { font-size: max(1rem, 14px); line-height: 1.9; }
.c-people-introduction .c-people-introduction__lead { color: #064ea1; font-weight: 700; margin-bottom: .75em; }
.c-people-introduction .c-people-introduction__closing { margin-top: 1.5em; }
.p-lower-career-people__intro { margin-bottom: 2rem; }
@media screen and (max-width: 767px) {
 .c-people-introduction { font-size: max(1.625rem, 14px); }
}

/* PEOPLE & CULTURE intro aligned with the updated Figma layout. */
.p-lower-people-intro { top: 0; margin-top: -4.1875rem; padding-block: 0 3.3125rem; background: transparent; }
.p-lower-people-intro .c-people-introduction { text-align: center; color: #000; font-size: 1.375rem; font-weight: 700; line-height: 2.25rem; }
.p-lower-people-intro .c-people-introduction__lead { margin-bottom: .625rem; color: #064ea1; font-size: 2rem; line-height: 2.625rem; }
.p-lower-people-intro .c-people-introduction__lead strong { font-weight: 700; }
.p-lower-people-intro .c-people-introduction__closing { margin-top: .375rem; }
@media screen and (max-width: 767px) {
 .p-lower-people-intro { margin-top: -1.5rem; padding-bottom: 3rem; }
 .p-lower-people-intro .c-people-introduction { font-size: max(1.625rem, 14px); line-height: 1.8; }
 .p-lower-people-intro .c-people-introduction__lead { font-size: max(2.5rem, 24px); line-height: 1.6; margin-bottom: .6em; }
 .p-lower-people-intro .c-people-introduction__closing { margin-top: .5em; }
}

/* Contact privacy policy, consent, and reCAPTCHA disclosure. */
.p-lower-contact-form__body .snow-monkey-form { display: flex; flex-direction: column; }
.p-lower-contact-form__body .smf-form { order: 1; }
.p-lower-contact-form__body .p-contact-privacy {
 order: 2;
 width: 100%;
 max-width: 36.625rem;
 margin: 3rem auto 0;
 color: #000;
}
.p-contact-privacy__document {
 box-sizing: border-box;
 width: 100%;
 max-width: 100%;
 height: 7.3125rem;
 overflow-x: hidden;
 overflow-y: auto;
 padding: 1.0625rem 1.25rem;
 border: 1px solid #c6c6c6;
 background-color: #fff;
 overscroll-behavior: contain;
 overflow-wrap: anywhere;
 word-break: normal;
 white-space: normal;
 font-size: max(.75rem, 12px);
 font-weight: 400;
 line-height: 1.6666666667;
 letter-spacing: 0;
}
.p-contact-privacy__document * { box-sizing: border-box; max-width: 100%; white-space: normal; }
.p-contact-privacy__document:focus-visible { outline: 2px solid #019fde; outline-offset: 2px; }
.p-contact-privacy__document p + p,
.p-contact-privacy__document ul + p { margin-top: .5rem; }
.p-contact-privacy__document ul { margin-top: .25rem; }
.p-contact-privacy__document li { position: relative; padding-left: 1em; }
.p-contact-privacy__document li::before { content: "-"; position: absolute; left: 0; }
.p-contact-privacy__title,
.p-contact-privacy__section h4 { color: #000; font-weight: 500; }
.p-contact-privacy__title { font-size: max(.875rem, 14px); line-height: 1.4285714286; }
.p-contact-privacy__section,
.p-contact-privacy__date { margin-top: 1rem; }
.p-contact-privacy__guidance {
 margin-top: .75rem;
 font-size: max(.875rem, 14px);
 font-weight: 400;
 line-height: 1.4285714286;
}
.p-contact-privacy__consent {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: .875rem;
 margin-top: 1rem;
 color: #000;
 cursor: pointer;
}
.p-contact-privacy__checkbox {
 appearance: none;
 -webkit-appearance: none;
 box-sizing: border-box;
 flex: 0 0 1.0625rem;
 width: 1.0625rem;
 height: 1.0625rem;
 margin: 0;
 border: 1px solid #5c5c5c;
 border-radius: .1875rem;
 background-color: #fff;
 cursor: pointer;
}
.p-contact-privacy__checkbox:checked { border-color: #064ea1; background-color: #064ea1; }
.p-contact-privacy__checkbox:checked::after {
 content: "";
 display: block;
 width: .3125rem;
 height: .5625rem;
 margin: .125rem auto 0;
 border: solid #fff;
 border-width: 0 .125rem .125rem 0;
 transform: rotate(45deg);
}
.p-contact-privacy__checkbox:focus-visible { outline: 2px solid #019fde; outline-offset: 2px; }
.p-contact-privacy__consent-text { font-size: max(1rem, 16px); line-height: 1.25; }
.p-contact-privacy__required {
 box-sizing: border-box;
 display: inline-grid;
 place-items: center;
 min-width: 2.5625rem;
 height: 1.3125rem;
 padding-inline: .25rem;
 border: 1px solid #c1001a;
 border-radius: .1875rem;
 color: #c1001a;
 line-height: 1;
 font-size: .75rem;
}
.p-lower-contact-form__body .snow-monkey-forms-turnstile {
 order: 3;
 display: flex;
 justify-content: center;
 width: 100%;
 margin: 2.5rem auto 0;
}
.p-lower-contact-form__body .smf-action { order: 4; }
.p-lower-contact-form__body .p-contact-recaptcha {
 order: 5;
 margin: 6.6875rem auto 2.5rem;
 color: #000;
 text-align: center;
 font-size: max(.875rem, 14px);
 font-weight: 400;
 line-height: 1.4285714286;
}
.p-lower-contact-form__body .p-contact-recaptcha a {
 color: inherit;
 text-decoration: underline;
 text-underline-offset: .15em;
}
.p-lower-contact-form__body .snow-monkey-form[data-screen=confirm] .p-contact-privacy,
.p-lower-contact-form__body .snow-monkey-form[data-screen=confirm] .p-contact-recaptcha,
.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .p-contact-privacy,
.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .p-contact-recaptcha,
.p-lower-contact-form__body .snow-monkey-form[data-screen=systemerror] .p-contact-privacy,
.p-lower-contact-form__body .snow-monkey-form[data-screen=systemerror] .p-contact-recaptcha { display: none; }
.p-lower-contact-form__body .snow-monkey-form[data-screen=complete] .snow-monkey-forms-turnstile,
.p-lower-contact-form__body .snow-monkey-form[data-screen=systemerror] .snow-monkey-forms-turnstile { display: none; }
@media screen and (max-width: 767px) {
 .p-lower-contact-form__body .p-contact-privacy { max-width: none; margin-top: 3rem; }
 .p-contact-privacy__document { height: 220px; padding: 18px; font-size: 14px; line-height: 1.7; }
 .p-contact-privacy__title { font-size: 16px; line-height: 1.7; }
 .p-contact-privacy__guidance { font-size: 14px; line-height: 1.7; }
 .p-contact-privacy__consent { flex-wrap: wrap; gap: 10px; }
 .p-contact-privacy__checkbox { flex-basis: 20px; width: 20px; height: 20px; border-radius: 3px; }
 .p-contact-privacy__checkbox:checked::after { width: 6px; height: 11px; margin-top: 2px; border-width: 0 2px 2px 0; }
 .p-contact-privacy__consent-text { font-size: 16px; line-height: 1.5; }
 .p-contact-privacy__required { min-width: 41px; height: 21px; padding-inline: 4px; font-size: 12px; }
 .p-lower-contact-form__body .snow-monkey-forms-turnstile { margin-top: 2.5rem; }
 .p-lower-contact-form__body .p-contact-recaptcha { margin-top: 4.5rem; margin-bottom: 2.5rem; font-size: 14px; line-height: 1.7; }
}
