:root {
  --global-header-height: 48px;
  --side-padding: 32px;
  --page-header-padding-vertical: 48px;
  --section-content-padding-vertical: 48px;
  --common-border-radius: 16px;
  --common-border-radius-8: 8px;
}
@media (min-width: 480px) {
  :root {
    --side-padding: 48px;
  }
}
@media (min-width: 768px) {
  :root {
    --global-header-height: 72px;
  }
}

html,
body {
  margin: 0;
  padding: 0;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  position: relative;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body a,
body ul,
body li,
body dl,
body dt,
body dd,
body figure,
body time,
body label,
body input,
body textarea,
body button {
  margin: 0;
  padding: 0;
  outline: none;
  font-family: "Outfit", "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  text-decoration: none;
  color: #00203b;
}
@media (min-width: 768px) {
  body h1,
  body h2,
  body h3,
  body h4,
  body h5,
  body h6,
  body p,
  body a,
  body ul,
  body li,
  body dl,
  body dt,
  body dd,
  body figure,
  body time,
  body label,
  body input,
  body textarea,
  body button {
    font-size: 16px;
  }
}
body h1 a,
body h2 a,
body h3 a,
body h4 a,
body h5 a,
body h6 a,
body p a,
body a a,
body ul a,
body li a,
body dl a,
body dt a,
body dd a,
body figure a,
body time a,
body label a,
body input a,
body textarea a,
body button a {
  font-size: inherit;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-weight: 700;
}
body ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
body ul > li {
  max-width: 100%;
  min-width: 0;
}
body br {
  font-family: sans-serif !important;
}
body img {
  display: block;
}
body figcaption {
  font-size: 12px;
  line-height: 1.5;
  color: rgb(178.5, 188.1, 196.2);
}
body time {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
body dialog {
  margin: auto !important;
  padding: 0;
  border: 0;
  outline: 0;
  background-color: transparent;
  overflow: hidden;
}
body.en h1,
body.en h2,
body.en h3,
body.en h4,
body.en h5,
body.en h6,
body.en p,
body.en a,
body.en ul,
body.en li,
body.en dl,
body.en dt,
body.en dd,
body.en figure,
body.en time,
body.en label,
body.en input,
body.en textarea {
  font-weight: 300;
  line-height: 1.7;
}
body.en h1,
body.en h2,
body.en h3,
body.en h4,
body.en h5,
body.en h6 {
  font-weight: 500;
}

.red {
  color: red !important;
}

.button.border-radius {
  cursor: pointer;
  padding: 12px 16px;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  border-radius: var(--common-border-radius-8);
  background-color: #003f76;
  font-size: 14px;
  color: #ffffff;
  line-height: 1;
}
.button.border-radius p {
  font-size: 14px;
  line-height: 1;
  color: #ffffff;
}
@media (min-width: 768px) {
  .button.border-radius {
    font-size: 16px;
  }
  .button.border-radius p {
    font-size: 16px;
    color: #ffffff;
  }
}
@media (hover: hover) {
  .button.border-radius:hover {
    opacity: 0.7;
  }
}

.max-width {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
.max-width.side-padding {
  width: calc(100% - var(--side-padding));
}
.max-width.w-1600 {
  max-width: 1600px;
}
.max-width.w-1280 {
  max-width: 1280px;
}
.max-width.w-960 {
  max-width: 960px;
}
.max-width.w-600 {
  max-width: 600px;
}

a[href] {
  color: #00203b;
}
@media (hover: hover) {
  a[href]:hover {
    opacity: 0.7;
  }
}

.global-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--global-header-height);
  background-color: #ffffff;
  z-index: 10;
}
.global-header .global-header-wrapper {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.global-header .global-header-wrapper .logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.global-header .global-header-wrapper .logo .logo-wrapper {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.global-header .global-header-wrapper .logo .logo-wrapper a {
  width: auto;
  height: 100%;
  display: flex;
  align-items: center;
}
.global-header .global-header-wrapper .logo .logo-wrapper a img {
  height: 50%;
}
.global-header .global-header-wrapper .navigation {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  pointer-events: none;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child {
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button {
  cursor: pointer;
  position: relative;
  height: 50%;
  aspect-ratio: 1/1;
  background-color: rgb(242.25, 245.4, 248.15);
  pointer-events: all;
}
@media (hover: hover) {
  .global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button:hover {
    opacity: 0.7;
  }
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button div {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 2px;
  background-color: rgb(76.5, 98.9, 117.8);
  transition: all 0.2s ease;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button div:first-child {
  translate: -50% -4px;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button div:last-child {
  translate: -50% 1px;
}
@media (min-width: 768px) {
  .global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button div:first-child {
    translate: -50% -4px;
  }
  .global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button div:last-child {
    translate: -50% 2 px;
  }
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button.open div:first-child {
  translate: -50% -1px !important;
  transform: rotate(-45deg);
  transform-origin: center;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:first-child .menu-button.open div:last-child {
  translate: -50% -1px !important;
  transform: rotate(45deg);
  transform-origin: center;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child {
  position: absolute;
  top: var(--global-header-height);
  width: 100%;
  height: calc(100dvh - var(--global-header-height));
  padding: 24px calc(var(--side-padding) / 2) 32px calc(var(--side-padding) / 2);
  box-sizing: border-box;
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 32, 59, 0.7);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  pointer-events: all;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child.open {
  display: flex;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child nav ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 8px;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child nav ul li.current {
  position: relative;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child nav ul li.current::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: -12px;
  translate: 0 -50%;
  width: 4px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #d7a400;
}
.global-header .global-header-wrapper .navigation .navigation-wrapper:last-child nav ul li p {
  color: #ffffff;
}
.global-header--home {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 10;
}
.global-header--home .global-header-wrapper .logo a img {
  width: 200px;
  height: auto;
  margin-top: 24px;
}
@media (min-width: 480px) {
  .global-header--home .global-header-wrapper .logo a img {
    width: 240px;
  }
}
@media (min-width: 768px) {
  .global-header--home .global-header-wrapper .logo a img {
    width: 280px;
  }
}

body > header.fixed-global-header {
  padding-top: var(--global-header-height);
}

main {
  display: block;
}

footer {
  background-color: #00203b;
}
footer .header-text {
  color: #ffffff;
}
footer a,
footer p {
  color: #ffffff !important;
}
footer a,
footer p {
  font-size: 12px;
}
footer .label {
  margin-right: 4px;
}
footer .external-link.inline {
  position: relative;
  padding-right: 16px;
}
footer .external-link.inline .external-link-icon {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 10px;
  aspect-ratio: 1/1;
  background-image: url("../img/external-link-white.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
footer .footer-content:not(:first-child) {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
footer .footer-wrapper {
  padding-top: 48px;
  padding-bottom: 48px;
}
footer .footer-wrapper *.current {
  position: relative;
  padding-left: 8px;
}
footer .footer-wrapper *.current::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 4px;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #d7a400;
}
footer .footer-wrapper a.current {
  text-decoration: none !important;
}
footer .footer-wrapper .company-details .company-name .header-text {
  font-size: 18px;
  color: #ffffff;
}
footer .footer-wrapper .company-details .company-address .postal-code {
  display: block;
}
footer .footer-wrapper .contact {
  margin-top: 24px;
}
footer .footer-wrapper .contact a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
footer .footer-wrapper .legal-links {
  margin-top: 48px;
}
footer .footer-wrapper .parent-company {
  display: flex;
  flex-direction: column;
  row-gap: 72px;
}
@media (min-width: 768px) {
  footer .footer-wrapper .parent-company {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    row-gap: 0;
  }
}
footer .footer-wrapper .parent-company .footer-content-wrapper:nth-child(2) {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  footer .footer-wrapper .parent-company .footer-content-wrapper:nth-child(2) {
    width: auto;
    display: block;
  }
}
footer .footer-wrapper .parent-company img {
  width: 30vw;
  max-width: 240px;
}
@media (min-width: 768px) {
  footer .footer-wrapper .parent-company img {
    width: 50vw;
  }
}/*# sourceMappingURL=main.css.map */