*,
*::before,
*::after {
  box-sizing: border-box;
}
@media only screen and (max-width: 47.9375em) {
  *,
  *::before,
  *::after {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  font-size: 1rem;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  line-break: strict;
}

*:focus {
  outline: 0;
}

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

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

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

figure,
img,
picture,
svg {
  display: block;
}

img,
picture,
svg {
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 47.9375em) {
  img,
  picture,
  svg {
    width: 100%;
  }
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  border-radius: 0;
}

input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=password],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

select {
  background: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
select::-ms-value {
  color: inherit;
  background: transparent;
}
select::-ms-expand {
  display: none;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 0;
}

button,
input[type=button],
input[type=submit],
input[type=reset] {
  background: transparent;
  font: inherit;
  border: 0;
  padding: 0;
  margin: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
}

table {
  border-collapse: separate;
  border-spacing: 0;
}

:root {
  --base-width: 1280;
  --size-factor: 1;
}
@media only screen and (max-width: 47.9375em) {
  :root {
    --base-width: 390;
    --size-factor: Infinity;
  }
}

html {
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media only screen and (max-width: 47.9375em) {
  .pc-only {
    display: none !important;
  }
}

@media only screen and (min-width: 48em) {
  .sp-only {
    display: none !important;
  }
}

html,
body {
  background: #e6e6e6;
  color: #000;
  scrollbar-gutter: stable;
}

html.is-menu-opened {
  overflow: hidden;
}

.cover {
  position: fixed;
  z-index: 999999;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #e6e6e6;
}

.main {
  padding-top: calc(116 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .main {
    padding-top: calc(122 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.arrow {
  display: block;
  width: calc(46 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(46 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
  transition-property: color, border, background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.arrow path {
  stroke: currentColor;
  stroke-width: 2px;
}

.inner {
  width: calc(1240 / var(--base-width) * var(--inner-width) * 1px);
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 47.9375em) {
  .inner {
    width: auto;
    margin-left: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    margin-right: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.tags {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: calc(5 / var(--base-width) * var(--inner-width) * 1px);
}

.tag {
  flex-shrink: 0;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #0089c8;
  background: #ffffff;
  border: 1px solid currentColor;
  border-radius: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  padding: 0 calc(12 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(29 / var(--base-width) * var(--inner-width) * 1px);
}

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

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

@media only screen and (max-width: 47.9375em) {
  .sp-scroll {
    --sp-scroll-bar-fg-color: #0089c8;
    --sp-scroll-bar-bg-color: #e6e6e6;
    position: relative;
  }
  .sp-scroll .simplebar-vertical {
    display: none !important;
  }
}

@media only screen and (max-width: 47.9375em) {
  .sp-scroll__content {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: calc(28 / var(--base-width) * var(--inner-width) * 1px);
  }
  .sp-scroll__content .simplebar-track.simplebar-horizontal {
    height: 5px;
    border-radius: 3px;
    background: var(--sp-scroll-bar-bg-color);
  }
  .sp-scroll__content .simplebar-scrollbar::before {
    inset: 0;
    opacity: 1;
    background: var(--sp-scroll-bar-fg-color);
  }
}

.sp-scroll__guide {
  display: none;
}
@media only screen and (max-width: 47.9375em) {
  .sp-scroll__guide {
    position: absolute;
    inset: 0;
    margin: auto;
    pointer-events: none;
    width: calc(130 / var(--base-width) * var(--inner-width) * 1px);
    height: calc(162 / var(--base-width) * var(--inner-width) * 1px);
    background: rgba(0, 45, 114, 0.4);
    color: #fff;
    border: 1px solid #ffffff;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
    border-radius: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: 700;
    font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
    text-align: center;
    transition-property: opacity;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .sp-scroll__guide.is-hidden {
    opacity: 0;
  }
}
.sp-scroll__guide::before, .sp-scroll__guide::after {
  content: "";
  display: block;
  background: no-repeat center center/contain;
}
.sp-scroll__guide::before {
  order: 1;
  width: calc(36 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(36 / var(--base-width) * var(--inner-width) * 1px);
  background-image: url(../img/common/sp-scroll-arrow.svg);
}
.sp-scroll__guide::after {
  order: 2;
  width: calc(34 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(34 / var(--base-width) * var(--inner-width) * 1px);
  background-image: url(../img/common/sp-scroll-pointer.svg);
  animation: sp-scroll-guide 1.5s infinite cubic-bezier(0.15, 0.8, 0.2, 1);
}
.sp-scroll__guide span {
  order: 3;
}

@keyframes sp-scroll-guide {
  0% {
    transform: translate(-50%, 0);
  }
  90% {
    transform: translate(50%, 0);
  }
  100% {
    transform: translate(50%, 0);
  }
}
.dash {
  display: inline-block;
  width: 2em;
  transform-origin: left top;
  transform: scale(2, 1);
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  padding: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}

.header__inner {
  background: #fff;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(76 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(10 / var(--base-width) * var(--inner-width) * 1px) calc(98 / var(--base-width) * var(--inner-width) * 1px) calc(10 / var(--base-width) * var(--inner-width) * 1px) calc(10 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 47.9375em) {
  .header__inner {
    height: calc(82 / var(--base-width) * var(--inner-width) * 1px);
    padding: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.header-brand a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(10 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .header-brand a {
    align-items: flex-start;
    flex-direction: column;
    gap: calc(4 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.header-brand img {
  width: calc(260 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .header-brand img {
    width: calc(200 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.header-brand__name {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.3;
  color: #0089c8;
  padding-left: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  border-left: 1px solid currentColor;
}
@media only screen and (max-width: 47.9375em) {
  .header-brand__name {
    padding-left: calc(5 / var(--base-width) * var(--inner-width) * 1px);
    border-left: 0;
    font-size: calc(10 / var(--base-width) * var(--inner-width) * 1px);
    line-height: 1;
  }
}

.header-entry {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  margin-left: auto;
}
@media only screen and (max-width: 47.9375em) {
  .header-entry {
    display: none;
  }
}

.header-entry__button {
  --header-entry__button-color: #0089c8;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(150 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(4 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  background: var(--header-entry__button-color);
  border: 1px solid var(--header-entry__button-color);
  color: #fff;
  transition-property: background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media (hover: hover) {
  .header-entry__button:hover {
    background-color: #fff;
    color: var(--header-entry__button-color);
  }
}
.header-entry__button.is-27 {
  --header-entry__button-color: #0089c8;
}
.header-entry__button.is-28 {
  --header-entry__button-color: #002d72;
}

.menu-button {
  position: fixed;
  z-index: 201;
  width: calc(64 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(64 / var(--base-width) * var(--inner-width) * 1px);
  top: calc(26 / var(--base-width) * var(--inner-width) * 1px);
  right: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  transition-property: border, background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media only screen and (max-width: 47.9375em) {
  .menu-button {
    top: calc(32 / var(--base-width) * var(--inner-width) * 1px);
    background: rgba(0, 45, 114, 0);
  }
}
.menu-button svg {
  width: calc(28 / var(--base-width) * var(--inner-width) * 1px);
}
.menu-button path {
  stroke-width: 2px;
  stroke: #002d72;
  transform-origin: center center;
  transition-property: stroke-width, stroke, transform;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.menu-button path:nth-child(1) {
  transform: translate(0, -3.5px);
}
.menu-button path:nth-child(2) {
  transform: translate(0, 3.5px);
}
.is-menu-opened .menu-button {
  border-color: rgb(255, 255, 255);
  background: #002d72;
}
.is-menu-opened .menu-button path {
  stroke-width: 3px;
  stroke: #fff;
}
.is-menu-opened .menu-button path:nth-child(1) {
  transform: rotate(135deg);
}
.is-menu-opened .menu-button path:nth-child(2) {
  transform: rotate(-135deg);
}

@media (hover: hover) {
  .menu-button:hover {
    background: #fff;
  }
  .menu-button:hover path {
    stroke: #002d72;
  }
}

.menu {
  z-index: 200;
}

.menu__backdrop {
  display: none;
  position: fixed;
  z-index: 200;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.menu__inner {
  display: none;
  position: fixed;
  z-index: 200;
  top: 0;
  bottom: 0;
  right: 0;
  width: calc(1100 / var(--base-width) * var(--inner-width) * 1px);
  background: #002d72;
  color: #fff;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px) 0 0 calc(8 / var(--base-width) * var(--inner-width) * 1px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media only screen and (max-width: 47.9375em) {
  .menu__inner {
    left: 0;
    width: auto;
    border-radius: 0;
  }
}

.menu__body {
  width: calc(1100 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  margin: 0 auto 0 0;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media only screen and (max-width: 47.9375em) {
  .menu__body {
    width: auto;
    padding: 0;
  }
}
.menu__body.is-active {
  opacity: 1;
}

.menu-brand {
  padding: calc(6 / var(--base-width) * var(--inner-width) * 1px) calc(16 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(258 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(40 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-brand {
    padding: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    width: auto;
    margin-bottom: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.menu-brand a {
  display: block;
}
.menu-brand img {
  width: calc(240 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-brand img {
    width: calc(258 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.menu-brand__name {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1;
  color: #0089c8;
  white-space: nowrap;
  margin-top: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  border-top: 1px solid #fff;
  padding-top: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  padding-left: calc(7 / var(--base-width) * var(--inner-width) * 1px);
}

.menu-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media only screen and (max-width: 47.9375em) {
  .menu-content {
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column-reverse;
    padding: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    gap: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.menu-items {
  width: calc(620 / var(--base-width) * var(--inner-width) * 1px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-left: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  -moz-column-gap: calc(15 / var(--base-width) * var(--inner-width) * 1px);
       column-gap: calc(15 / var(--base-width) * var(--inner-width) * 1px);
  row-gap: calc(40 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-items {
    width: auto;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    row-gap: calc(32 / var(--base-width) * var(--inner-width) * 1px);
    margin-left: 0;
  }
}
.menu-items.menu-items--footer {
  width: 100%;
  margin-left: 0;
  grid-template-columns: 1fr 1fr 1fr;
}
@media only screen and (max-width: 47.9375em) {
  .menu-items.menu-items--footer {
    width: auto;
    row-gap: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.menu-group {
  padding: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.menu-group--about {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media only screen and (max-width: 47.9375em) {
  .menu-group--about {
    order: 1;
  }
}

.menu-group--people {
  grid-column: 1/2;
  grid-row: 3/4;
}
@media only screen and (max-width: 47.9375em) {
  .menu-group--people {
    order: 3;
  }
}

.menu-group--environment {
  grid-column: 2/3;
  grid-row: 1/2;
}
@media only screen and (max-width: 47.9375em) {
  .menu-group--environment {
    order: 4;
  }
}

.menu-group--works {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media only screen and (max-width: 47.9375em) {
  .menu-group--works {
    order: 2;
  }
}

.menu-group--recruit {
  grid-column: 2/3;
  grid-row: 2/3;
}
@media only screen and (max-width: 47.9375em) {
  .menu-group--recruit {
    order: 5;
  }
}

.menu-items--footer .menu-group--people {
  grid-column: 2/3;
  grid-row: 1/2;
}
.menu-items--footer .menu-group--environment {
  grid-column: 3/4;
  grid-row: 1/2;
}
.menu-items--footer .menu-group--works {
  grid-column: 1/3;
  grid-row: 2/3;
}
.menu-items--footer .menu-group--recruit {
  grid-column: 3/4;
  grid-row: 2/3;
}

.menu-group__label {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1;
  margin-bottom: calc(4 / var(--base-width) * var(--inner-width) * 1px);
}

.menu-group__title {
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.4;
  margin-bottom: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  white-space: nowrap;
}

.menu-item {
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.65;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  white-space: nowrap;
  transition-property: color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.menu-item::before {
  content: "";
  display: block;
  width: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  background: currentColor;
  margin-left: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  margin-right: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  margin-top: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}
@media (hover: hover) {
  .menu-item:hover {
    color: #0089c8;
  }
}

.menu-item + .menu-item {
  margin-top: calc(10 / var(--base-width) * var(--inner-width) * 1px);
}

.menu-buttons {
  width: calc(400 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  gap: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-buttons {
    width: auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.menu-recruit,
.menu-entry {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: linear-gradient(180deg, #002d72 0%, #001c47 100%);
  border: 1px solid #ffffff;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}
.menu-recruit .arrow,
.menu-entry .arrow {
  border-width: 1px;
  border-color: #fff;
  background: rgba(255, 255, 255, 0);
  color: #fff;
  margin-left: auto;
  transition-property: background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media (hover: hover) {
  .menu-recruit:hover .arrow,
  .menu-entry:hover .arrow {
    color: #002d72;
    background: #fff;
  }
}

.menu-recruit {
  height: calc(168 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(12 / var(--base-width) * var(--inner-width) * 1px) calc(10 / var(--base-width) * var(--inner-width) * 1px);
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-recruit {
    height: calc(74 / var(--base-width) * var(--inner-width) * 1px);
    grid-column: 1/3;
    grid-row: 1/2;
    padding: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.menu-recruit img {
  width: calc(148 / var(--base-width) * var(--inner-width) * 1px);
  mix-blend-mode: screen;
  margin-right: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .menu-recruit img {
    width: calc(96 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.menu-entry {
  height: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  padding-left: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  padding-right: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  font-weight: 700;
  font-size: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  letter-spacing: -0.04em;
}
@media only screen and (max-width: 47.9375em) {
  .menu-entry {
    font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
    letter-spacing: 0;
  }
}

.mv {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .mv {
    flex-direction: column;
    margin-top: calc(40 / var(--base-width) * var(--inner-width) * 1px);
    margin-bottom: calc(80 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.mv__body {
  width: calc(670 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(370 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: 0 calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(40 / var(--base-width) * var(--inner-width) * 1px) 0;
  padding: calc(64 / var(--base-width) * var(--inner-width) * 1px) 0 0 calc(80 / var(--base-width) * var(--inner-width) * 1px);
  background: #fff;
}
@media only screen and (max-width: 47.9375em) {
  .mv__body {
    width: auto;
    height: auto;
    margin-right: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    padding: calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.mv__caption svg {
  width: auto;
  height: calc(98 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(-8 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .mv__caption svg {
    height: calc(67 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.mv__title {
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.4;
  color: #0089c8;
  margin-bottom: calc(32 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .mv__title {
    font-size: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    line-height: 2;
    letter-spacing: -0.04em;
  }
}

.mv__text {
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  padding-right: calc(100 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .mv__text {
    padding-right: 0;
  }
}

.mv__note {
  font-size: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  padding-right: calc(100 / var(--base-width) * var(--inner-width) * 1px);
}

.mv__image {
  position: relative;
  width: calc(560 / var(--base-width) * var(--inner-width) * 1px);
  -webkit-mask: url(../img/common/mv-mask.svg) no-repeat center center/contain;
          mask: url(../img/common/mv-mask.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 47.9375em) {
  .mv__image {
    width: calc(350 / var(--base-width) * var(--inner-width) * 1px);
    height: calc(266 / var(--base-width) * var(--inner-width) * 1px);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    -webkit-mask-image: url(../img/common/mv-mask-sp.svg);
            mask-image: url(../img/common/mv-mask-sp.svg);
  }
}
.mv__image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 45, 114, 0);
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
          clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  transition-property: background, -webkit-clip-path;
  transition-property: clip-path, background;
  transition-property: clip-path, background, -webkit-clip-path;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.28, 0.59, 0.63, 1);
}
.mv__image img {
  position: relative;
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
          clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.28, 0.59, 0.63, 1);
  transition-delay: 0.4s;
}
.mv.is-active .mv__image::before {
  background: #002d72;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.mv.is-active .mv__image img {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.content {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
@media only screen and (max-width: 47.9375em) {
  .content {
    display: block;
  }
}

.content-nav {
  flex-shrink: 0;
  width: calc(220 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(40 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  background: #0089c8;
  border-radius: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px) 0;
  position: -webkit-sticky;
  position: sticky;
  bottom: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .content-nav {
    position: relative;
    top: auto;
    display: none;
    width: auto;
    margin: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px);
    border-radius: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    padding: calc(24 / var(--base-width) * var(--inner-width) * 1px);
    grid-template-columns: 1fr 1fr;
    gap: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.content-nav__title {
  align-self: stretch;
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #ffffff;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.3em;
  margin-bottom: calc(-12 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .content-nav__title {
    grid-column: 1/3;
    margin-bottom: 0;
    border: 0;
    color: #002d72;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  }
  .content-nav__title::after {
    content: "";
    display: block;
    flex-grow: 1;
    height: 0;
    border-top: 1px solid #002d72;
  }
}

.content-nav__item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: calc(6 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #002d72;
  transition-property: color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media only screen and (max-width: 47.9375em) {
  .content-nav__item {
    color: #fff;
    letter-spacing: 0;
  }
}
.content-nav__item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(7 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(7 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(2 / var(--base-width) * var(--inner-width) * 1px);
  background: #002d72;
  margin-top: calc(7 / var(--base-width) * var(--inner-width) * 1px);
  transition-property: background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media only screen and (max-width: 47.9375em) {
  .content-nav__item::before {
    background: #fff;
  }
}
@media (hover: hover) {
  .content-nav__item:hover {
    color: #fff;
  }
  .content-nav__item:hover::before {
    background: rgba(255, 255, 255, 0.7);
  }
}
.content-nav__item.is-active {
  color: #fff;
}
.content-nav__item.is-active::before {
  background: rgba(255, 255, 255, 0.7);
}

.content-nav__item-2 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: calc(6 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1;
  color: #002d72;
  transition-property: color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  margin-left: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
.content-nav__item-2::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: calc(7 / var(--base-width) * var(--inner-width) * 1px);
  border-top: 1px solid #002d72;
  margin-top: 0.5em;
  transition-property: border;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media (hover: hover) {
  .content-nav__item-2:hover {
    color: #fff;
  }
  .content-nav__item-2:hover::before {
    border-color: rgba(255, 255, 255, 0.7);
  }
}
.content-nav__item-2.is-active {
  color: #fff;
}
.content-nav__item-2.is-active::before {
  border-color: rgba(255, 255, 255, 0.7);
}

.content-body {
  flex-grow: 1;
  margin: 0 calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .content-body {
    margin: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.content-title-1 {
  font-weight: 700;
  font-size: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  color: #002d72;
}
@media only screen and (max-width: 47.9375em) {
  .content-title-1 {
    font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
    line-height: 1.4;
  }
}

.content-title-2 {
  font-weight: 700;
  font-size: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  color: #002d72;
}

.content-caption {
  font-weight: 700;
  font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .content-caption {
    font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.content-lead {
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}

.content-note {
  font-size: calc(12 / var(--base-width) * var(--inner-width) * 1px);
}

.detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(40 / var(--base-width) * var(--inner-width) * 1px);
}

.detail-section {
  --detail-section-color: #f39186;
}

.detail-section__title {
  font-weight: 700;
  font-size: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  color: #002d72;
  margin-bottom: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .detail-section__title {
    font-weight: 700;
    font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
    text-align: center;
  }
}

@media only screen and (max-width: 47.9375em) {
  .detail-items {
    margin-left: calc(-20 / var(--base-width) * var(--inner-width) * 1px);
    margin-right: calc(-20 / var(--base-width) * var(--inner-width) * 1px);
    width: 100vw;
    overflow: hidden;
  }
}
.detail-items .swiper {
  overflow: visible;
}
@media only screen and (max-width: 47.9375em) {
  .detail-items .swiper {
    padding: 0 calc(16 / var(--base-width) * var(--inner-width) * 1px);
  }
}
@media only screen and (min-width: 48em) {
  .detail-items .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(16 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}
@media only screen and (max-width: 47.9375em) {
  .detail-items .swiper-wrapper {
    align-items: stretch;
  }
}
@media only screen and (max-width: 47.9375em) {
  .detail-items .swiper-slide {
    padding: 0 calc(5 / var(--base-width) * var(--inner-width) * 1px);
    height: auto;
  }
}

.detail-items__dots {
  display: none;
}
@media only screen and (max-width: 47.9375em) {
  .detail-items__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.detail-items__dots .swiper-pagination-bullet {
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bullet-inactive-opacity: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(22 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(22 / var(--base-width) * var(--inner-width) * 1px);
  background: transparent;
}
.detail-items__dots .swiper-pagination-bullet::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #b2b2b2;
}
.detail-items__dots .swiper-pagination-bullet-active::after {
  background: #0089c8;
}

.detail-item {
  background: var(--detail-section-color);
  border-radius: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;
  gap: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  min-height: calc(340 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .detail-item {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.detail-item__title {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  min-height: calc(71 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .detail-item__title {
    margin-right: calc(-20 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.detail-item__title i,
.detail-item__title span {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}
.detail-item__title i {
  border-radius: calc(71 / var(--base-width) * var(--inner-width) * 1px);
  width: calc(71 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(71 / var(--base-width) * var(--inner-width) * 1px);
  flex-shrink: 0;
}
.detail-item__title i img {
  width: 100%;
}
.detail-item__title span {
  border-radius: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  font-weight: 700;
  font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
  color: #002d72;
  min-height: calc(71 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .detail-item__title span {
    font-size: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    letter-spacing: -0.04em;
    white-space: nowrap;
  }
}

.detail-item__text {
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}

.comment__title {
  font-weight: 700;
  font-size: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  color: #002d72;
  margin-bottom: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .comment__title {
    font-weight: 700;
    font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
    text-align: center;
  }
}

@media only screen and (max-width: 47.9375em) {
  .comment__items {
    margin-left: calc(-20 / var(--base-width) * var(--inner-width) * 1px);
    margin-right: calc(-20 / var(--base-width) * var(--inner-width) * 1px);
    width: 100vw;
    padding: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px);
    overflow: hidden;
  }
}
.comment__items .swiper {
  overflow: visible;
}
@media only screen and (min-width: 48em) {
  .comment__items .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(50 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}
@media only screen and (max-width: 47.9375em) {
  .comment__items .swiper-wrapper {
    align-items: stretch;
  }
}
@media only screen and (max-width: 47.9375em) {
  .comment__items .swiper-slide {
    padding: 0 calc(5 / var(--base-width) * var(--inner-width) * 1px) calc(60 / var(--base-width) * var(--inner-width) * 1px);
    height: auto;
  }
}

.comment-item {
  background: #fff;
  border-radius: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  min-height: calc(274 / var(--base-width) * var(--inner-width) * 1px);
  position: relative;
}
@media only screen and (max-width: 47.9375em) {
  .comment-item {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.comment-item::after {
  content: "";
  position: absolute;
  display: block;
  width: calc(61 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(56 / var(--base-width) * var(--inner-width) * 1px);
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: calc(-25 / var(--base-width) * var(--inner-width) * 1px);
  background: url(../img/common/comment-arrow.svg) no-repeat center center/contain;
}

.comment-item__title {
  place-self: start start;
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(71 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(71 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  font-weight: 700;
  font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
  color: #fff;
  background: #0089c8;
}
@media only screen and (max-width: 47.9375em) {
  .comment-item__title {
    font-size: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    padding: calc(8 / var(--base-width) * var(--inner-width) * 1px) calc(16 / var(--base-width) * var(--inner-width) * 1px);
    height: calc(56 / var(--base-width) * var(--inner-width) * 1px);
    border-radius: calc(56 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.comment-item__text {
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}

.comment-item__by {
  margin-top: calc(-4 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
}

.comment__dots {
  display: none;
}
@media only screen and (max-width: 47.9375em) {
  .comment__dots {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(-24 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.comment__dots .swiper-pagination-bullet {
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bullet-inactive-opacity: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(22 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(22 / var(--base-width) * var(--inner-width) * 1px);
  background: transparent;
}
.comment__dots .swiper-pagination-bullet::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background: #b2b2b2;
}
.comment__dots .swiper-pagination-bullet-active::after {
  background: #0089c8;
}

.faq .content-title-1,
.faq .content-title-2 {
  margin-bottom: calc(56 / var(--base-width) * var(--inner-width) * 1px);
}

.faq__title {
  font-weight: 700;
  font-size: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  color: #002d72;
  margin-bottom: calc(56 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .faq__title {
    font-size: calc(28 / var(--base-width) * var(--inner-width) * 1px);
    line-height: 1.4;
    margin-bottom: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.faq__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(24 / var(--base-width) * var(--inner-width) * 1px);
}

.faq-item {
  background: #f5f5f5;
  border-radius: calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(40 / var(--base-width) * var(--inner-width) * 1px) 0 calc(40 / var(--base-width) * var(--inner-width) * 1px);
  overflow: hidden;
}

.faq-item__trigger {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: calc(24 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .faq-item__trigger {
    display: grid;
    grid-template-columns: auto calc(48 / var(--base-width) * var(--inner-width) * 1px);
    grid-template-rows: calc(54 / var(--base-width) * var(--inner-width) * 1px) auto;
    padding: calc(24 / var(--base-width) * var(--inner-width) * 1px) calc(16 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.faq-item__trigger svg {
  margin-left: auto;
}
@media only screen and (max-width: 47.9375em) {
  .faq-item__trigger svg {
    grid-column: 2/3;
    grid-row: 1/2;
    width: calc(48 / var(--base-width) * var(--inner-width) * 1px);
    flex-shrink: 0;
  }
}
.faq-item__trigger path {
  stroke: #0089c8;
  transition-property: transform, opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  transform-origin: center center;
}
.faq-item__trigger.is-active path:nth-child(1) {
  transform: rotate(90deg);
  opacity: 0;
}
.faq-item__trigger.is-active path:nth-child(2) {
  transform: rotate(90deg);
}

.faq-item__icon {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: calc(32 / var(--base-width) * var(--inner-width) * 1px);
  color: #ffffff;
  background: #0089c8;
  width: calc(59 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(54 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(59 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 0.1em;
  padding-right: 0.1em;
}
@media only screen and (max-width: 47.9375em) {
  .faq-item__icon {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.faq-item__title {
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  background: #fff;
  padding: calc(8 / var(--base-width) * var(--inner-width) * 1px) calc(16 / var(--base-width) * var(--inner-width) * 1px);
  min-height: calc(50 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(100 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 47.9375em) {
  .faq-item__title {
    grid-column: 1/3;
    grid-row: 2/3;
    padding: calc(24 / var(--base-width) * var(--inner-width) * 1px);
    font-size: calc(18 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.faq-item__body {
  display: none;
  padding: 0 calc(56 / var(--base-width) * var(--inner-width) * 1px);
  transition-property: margin;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media only screen and (max-width: 47.9375em) {
  .faq-item__body {
    padding: 0 calc(32 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.faq-item__body > * {
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  opacity: 0;
}
.faq-item__body.is-active {
  margin-bottom: calc(32 / var(--base-width) * var(--inner-width) * 1px);
}
.faq-item__body.is-active > * {
  opacity: 1;
}

.faq-item__text {
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
.faq-item__text a {
  color: #0089c8;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.other {
  padding-top: calc(76 / var(--base-width) * var(--inner-width) * 1px);
  padding-bottom: calc(38 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .other {
    padding-top: calc(60 / var(--base-width) * var(--inner-width) * 1px);
    padding-bottom: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.other__title {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: calc(48 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1.2;
  text-align: center;
  color: #002d72;
  margin-bottom: calc(32 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .other__title {
    font-size: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.other__button {
  width: calc(194 / var(--base-width) * var(--inner-width) * 1px);
  height: calc(70 / var(--base-width) * var(--inner-width) * 1px);
  border: 1px solid #fff;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 calc(24 / var(--base-width) * var(--inner-width) * 1px);
  margin: 0 auto;
  font-weight: 700;
  font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  position: relative;
  overflow: hidden;
  transition-property: background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.other__button::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #0089c8;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.other__button span,
.other__button .arrow {
  position: relative;
}
.other__button .arrow {
  border-width: 1px;
}
@media (hover: hover) {
  .other__button:hover::before {
    opacity: 0.8;
  }
}

.entry {
  width: calc(1240 / var(--base-width) * var(--inner-width) * 1px);
  margin: 0 auto calc(5 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  background: #002d72;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .entry {
    width: auto;
    margin: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(4 / var(--base-width) * var(--inner-width) * 1px);
    padding: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.entry .inner {
  width: auto;
  gap: calc(20 / var(--base-width) * var(--inner-width) * 1px);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media only screen and (max-width: 47.9375em) {
  .entry .inner {
    row-gap: calc(8 / var(--base-width) * var(--inner-width) * 1px);
    -moz-column-gap: calc(10 / var(--base-width) * var(--inner-width) * 1px);
         column-gap: calc(10 / var(--base-width) * var(--inner-width) * 1px);
    margin: 0;
  }
}

.entry-recruit-button,
.entry-button {
  background: linear-gradient(180deg, #002d72 0%, #001c47 100%);
  color: #fff;
  border: 1px solid #ffffff;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 700;
  overflow: hidden;
}
.entry-recruit-button .arrow,
.entry-button .arrow {
  border-width: 1px;
  border-color: #fff;
  margin-left: auto;
}
@media (hover: hover) {
  .entry-recruit-button:hover .arrow,
  .entry-button:hover .arrow {
    color: #002d72;
    background: #fff;
  }
}

.entry-recruit-button {
  grid-row: 1/3;
  height: calc(168 / var(--base-width) * var(--inner-width) * 1px);
  padding: calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(24 / var(--base-width) * var(--inner-width) * 1px);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .entry-recruit-button {
    grid-row: 1/2;
    grid-column: 1/3;
    padding: calc(14 / var(--base-width) * var(--inner-width) * 1px) calc(8 / var(--base-width) * var(--inner-width) * 1px);
    height: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.entry-recruit-button img {
  width: calc(227 / var(--base-width) * var(--inner-width) * 1px);
  mix-blend-mode: screen;
  margin-left: calc(-10 / var(--base-width) * var(--inner-width) * 1px);
  margin-right: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .entry-recruit-button img {
    width: calc(96 / var(--base-width) * var(--inner-width) * 1px);
    margin-left: 0;
    margin-right: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.entry-button {
  height: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  padding: 0 calc(10 / var(--base-width) * var(--inner-width) * 1px) 0 calc(20 / var(--base-width) * var(--inner-width) * 1px);
  font-size: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .entry-button {
    padding-left: calc(10 / var(--base-width) * var(--inner-width) * 1px);
    font-size: calc(16 / var(--base-width) * var(--inner-width) * 1px);
  }
}

/*
<div class="crosstalk-caption">
  <p><span>Cross</span><span>Talk</span><i></i></p>
  <p><b>01</b><i></i></p>
  <p><strong>...</strong></p>
</div>
*/
.crosstalk-caption p {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.crosstalk-caption i,
.crosstalk-caption b,
.crosstalk-caption span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(74 / var(--base-width) * var(--inner-width) * 1px);
  padding: 0 calc(24 / var(--base-width) * var(--inner-width) * 1px);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: calc(48 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .crosstalk-caption i,
  .crosstalk-caption b,
  .crosstalk-caption span {
    height: calc(64 / var(--base-width) * var(--inner-width) * 1px);
    border-radius: calc(64 / var(--base-width) * var(--inner-width) * 1px);
    font-size: calc(40 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.crosstalk-caption p:nth-child(1) i {
  width: calc(74 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .crosstalk-caption p:nth-child(1) i {
    width: calc(64 / var(--base-width) * var(--inner-width) * 1px);
  }
}
.crosstalk-caption p:nth-child(2) i {
  width: calc(160 / var(--base-width) * var(--inner-width) * 1px);
}
.crosstalk-caption b {
  color: #fff;
  background: #002d72;
}
.crosstalk-caption strong {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(50 / var(--base-width) * var(--inner-width) * 1px);
  border-radius: calc(50 / var(--base-width) * var(--inner-width) * 1px);
  padding: 0 calc(24 / var(--base-width) * var(--inner-width) * 1px);
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  color: #fff;
  background: #002d72;
}
.crosstalk-caption span[data-fade-status=ready],
.crosstalk-caption i[data-fade-status=ready],
.crosstalk-caption b[data-fade-status=ready],
.crosstalk-caption strong[data-fade-status=ready] {
  opacity: 0;
  transform: translate(calc(60 / var(--base-width) * var(--inner-width) * 1px), 0);
}
.crosstalk-caption span[data-fade-status=active],
.crosstalk-caption i[data-fade-status=active],
.crosstalk-caption b[data-fade-status=active],
.crosstalk-caption strong[data-fade-status=active] {
  transition-property: opacity, transform;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.28, 0.25, 0.45, 1);
  opacity: 1;
  transform: translate(0, 0);
}

.crosstalk-caption--1 p:nth-child(1) span:nth-child(1) {
  background: linear-gradient(270deg, #dfb345 0%, #ffffff 100%);
}
.crosstalk-caption--1 p:nth-child(1) span:nth-child(2) {
  background: linear-gradient(180deg, #f39186 0%, #ffffff 100%);
}
.crosstalk-caption--1 p:nth-child(1) i {
  background: linear-gradient(90deg, #0089c8 0%, #ffffff 100%);
}
.crosstalk-caption--1 p:nth-child(2) i {
  background: linear-gradient(270deg, #ffffff 0%, #7dd57c 100%);
}

.crosstalk-caption--2 p:nth-child(1) span:nth-child(1) {
  background: linear-gradient(270deg, #0089c8 0%, #ffffff 100%);
}
.crosstalk-caption--2 p:nth-child(1) span:nth-child(2) {
  background: linear-gradient(180deg, #7dd57c 0%, #ffffff 100%);
}
.crosstalk-caption--2 p:nth-child(1) i {
  background: linear-gradient(90deg, #dfb345 0%, #ffffff 100%);
}
.crosstalk-caption--2 p:nth-child(2) i {
  background: linear-gradient(270deg, #ffffff 0%, #f39186 100%);
}

.footer {
  width: calc(1240 / var(--base-width) * var(--inner-width) * 1px);
  margin: 0 auto calc(20 / var(--base-width) * var(--inner-width) * 1px);
  background: #002d72;
  color: #fff;
  border-radius: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer {
    width: auto;
    margin: 0 calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
  }
}

.footer__inner {
  width: calc(1240 / var(--base-width) * var(--inner-width) * 1px);
  margin: 0 auto;
  padding: calc(40 / var(--base-width) * var(--inner-width) * 1px) calc(32 / var(--base-width) * var(--inner-width) * 1px);
  display: grid;
  grid-template-columns: calc(285 / var(--base-width) * var(--inner-width) * 1px) auto;
  gap: calc(40 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer__inner {
    width: auto;
    padding: calc(20 / var(--base-width) * var(--inner-width) * 1px);
    grid-template-columns: auto;
  }
}

.footer-brand {
  grid-column: 1/2;
  grid-row: 1/2;
}
.footer-brand img {
  width: calc(258 / var(--base-width) * var(--inner-width) * 1px);
}

.footer-brand__name {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1;
  color: #0089c8;
  margin-top: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  padding-top: calc(12 / var(--base-width) * var(--inner-width) * 1px);
  padding-left: calc(7 / var(--base-width) * var(--inner-width) * 1px);
  border-top: 1px solid #fff;
}

.footer-tag {
  grid-column: 2/3;
  grid-row: 1/2;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer-tag {
    grid-column: 1/2;
    grid-row: 2/3;
    flex-direction: column;
  }
}

.footer-tag__group {
  flex: 1;
  position: relative;
  padding: calc(20 / var(--base-width) * var(--inner-width) * 1px) calc(20 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer-tag__group {
    flex: 0 0 auto;
  }
}
.footer-tag__group::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #d9d9d9;
  opacity: 0.2;
  box-shadow: 0 0 calc(15 / var(--base-width) * var(--inner-width) * 1px) calc(4 / var(--base-width) * var(--inner-width) * 1px) rgba(255, 255, 255, 0.5);
  border-radius: calc(40 / var(--base-width) * var(--inner-width) * 1px);
}

.footer-tag__title {
  font-weight: 700;
  font-size: calc(24 / var(--base-width) * var(--inner-width) * 1px);
  margin-bottom: calc(20 / var(--base-width) * var(--inner-width) * 1px);
}

.footer-tag__tags + .footer-tag__tags {
  margin-top: calc(8 / var(--base-width) * var(--inner-width) * 1px);
}

.footer-content {
  grid-column: 2/3;
  grid-row: 2/3;
  padding-bottom: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer-content {
    grid-column: 1/2;
    grid-row: 3/4;
    padding-bottom: 0;
  }
}

.footer-other {
  grid-column: 1/2;
  grid-row: 2/3;
  align-self: end;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: calc(16 / var(--base-width) * var(--inner-width) * 1px);
}
@media only screen and (max-width: 47.9375em) {
  .footer-other {
    grid-column: 1/2;
    grid-row: 4/5;
  }
}

.footer-other__link {
  font-size: calc(14 / var(--base-width) * var(--inner-width) * 1px);
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  color: #fff;
  transition-property: color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
@media (hover: hover) {
  .footer-other__link:hover {
    color: #0089c8;
  }
}

.footer-other__copyright {
  font-size: calc(10 / var(--base-width) * var(--inner-width) * 1px);
  line-height: 1;
}

[data-fade-status=init] {
  opacity: 0;
}

[data-fade-status=ready] {
  opacity: 0;
  transform: translate(0, calc(60 / var(--base-width) * var(--inner-width) * 1px));
}

[data-fade-status=active] {
  transition-property: opacity, transform;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.28, 0.25, 0.45, 1);
  opacity: 1;
  transform: translate(0, 0);
}

.text-effect__span {
  display: inline-block;
  transform: translate(3em, 0);
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.28, 0.59, 0.63, 1);
}
.text-effect.is-active .text-effect__span {
  transform: translate(0, 0);
  opacity: 1;
}

.text-effect-svg svg {
  visibility: hidden;
}
.text-effect-svg path {
  transform-origin: left top;
  transform: translate(calc(100 / var(--base-width) * var(--inner-width) * 1px), 0);
  opacity: 0;
  will-change: opacity, transform;
}
.text-effect-svg path.is-active {
  transition-property: transform, opacity;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.28, 0.59, 0.63, 1);
  transform: translate(0, 0);
  opacity: 1;
}
.text-effect-svg.is-active svg {
  visibility: visible;
}/*# sourceMappingURL=common.css.map */