@charset "UTF-8";
html {
  font-size: 0.694444vw;
  scroll-behavior: smooth;
}
@media screen and (min-width: 1441px) {
  html {
    font-size: 10px !important;
  }
}
@media screen and (max-width: 960px) {
  html {
    font-size: 10px !important;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 2.66666667vw !important;
  }
}

body {
  color: #222222;
  font-family: var(--jp-primary-font);
  line-height: 1;
  position: relative;
}

body.is-fixed {
  overflow: hidden;
}

a {
  text-decoration: none;
  display: inline-block;
  color: inherit;
  word-break: break-all;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  display: inline-block;
}

li {
  list-style: none;
}

:root {
  --jp-primary-font: "Yu Gothic",
  "Yu Gothic Medium",
  "YuGothic",
  "游ゴシック体",
  "Hiragino Kaku Gothic ProN",
  "Noto Sans JP",
  sans-serif;
  --jp-secondary-font: "Noto Sans JP", sans-serif;
  --en-primary-font: "Roboto", sans-serif;
  --color-primary: #222222;
  --color-secondary: #16376E;
  --color-tertiary: #F77F2C;
}

html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
  appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

.header {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 98px;
  top: 0;
  left: 0;
  padding-left: 10rem;
  padding-right: 8rem;
  box-shadow: 0px 2px 6px 0px rgba(217, 217, 217, 0.4);
  background-color: #fff;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 960px) {
  .header {
    height: 7.4rem;
    padding-left: 2rem;
    padding-right: 2rem;
    align-items: center;
  }
}

.header__logo {
  width: 142px;
  margin-top: 18px;
}
@media screen and (max-width: 960px) {
  .header__logo {
    width: 11.7rem;
    margin-right: 0;
    margin-top: 1rem;
  }
}

.header-links {
  display: flex;
  gap: 24px;
  margin-top: 26px;
}
@media screen and (max-width: 960px) {
  .header-links {
    gap: 1.6rem;
    margin-top: 0;
  }
}

.header-link {
  border-radius: 9999px;
  font-weight: 700;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-link-1 {
  padding: 14px 24px 12px 28px;
  color: #16376E;
  border: 1px solid #16376E;
}
@media screen and (max-width: 960px) {
  .header-link-1 {
    width: 4.2rem;
    aspect-ratio: 1;
    padding: 0;
    border-radius: 8px;
    display: grid;
    place-content: center;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 960px) {
  .header-link-1 span {
    display: none;
  }
}

.header-link-img {
  width: 18px;
  margin-right: 12px;
}
@media screen and (max-width: 960px) {
  .header-link-img {
    width: 2rem;
    margin-right: 0;
  }
}

.header-link-2 {
  padding: 10px 24px 8px;
  color: #fff;
  background-color: #F77F2C;
}
@media screen and (max-width: 960px) {
  .header-link-2 {
    padding: 8px;
    font-size: 1.6rem;
    border-radius: 8px;
    line-height: 1.6;
  }
}

.footer {
  background-color: #16376E;
  color: #fff;
  padding: 64px 0;
}

.footer-txt {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 960px) {
  .footer-txt {
    font-size: 16px;
  }
}

.footer__logo {
  width: 184px;
  margin: 0 auto 24px;
  display: block;
}
@media screen and (max-width: 960px) {
  .footer__logo {
    width: 184px;
  }
}

.footer-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media screen and (max-width: 960px) {
  .footer-list {
    gap: 1.6rem;
    font-size: 14px;
  }
}

.footer-copy {
  font-family: var(--jp-secondary-font);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .footer-copy {
    font-size: 10px;
  }
}

.top-fv {
  margin-top: 98px;
  padding: 0 10rem 4.8rem;
  background: url("../img/top/fv-bg.webp") center/cover no-repeat;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-fv {
    margin-top: 7.4rem;
    padding: 0 2rem 4.8rem;
  }
}

.top-fv::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(236, 244, 249, 0.9) 100%);
  top: 0;
  left: 0;
}

.top-fv-box {
  position: relative;
  padding-top: 2.7rem;
  max-width: 1440px;
  margin: auto;
}
@media screen and (max-width: 960px) {
  .top-fv-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    max-width: 430px;
  }
}

.top-fv-box-content {
  position: absolute;
  top: 3.2rem;
  left: 0;
}
@media screen and (max-width: 960px) {
  .top-fv-box-content {
    position: static;
  }
}

.top-fv-box-content-img {
  width: 20rem;
}
@media screen and (max-width: 960px) {
  .top-fv-box-content-img {
    width: 18rem;
    margin-left: -0.5rem;
  }
}

.top-fv-box-content-ttl {
  margin-top: 2.4rem;
  margin-bottom: 1.6rem;
  font-size: 4.8rem;
  line-height: 1.6;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-fv-box-content-ttl {
    margin-top: -0.5rem;
    margin-bottom: 0;
    font-size: 3.2rem;
  }
}
.top-fv-box-content-ttl .top-fv-box-content-ttl-mod {
  font-size: 5.6rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 960px) {
  .top-fv-box-content-ttl .top-fv-box-content-ttl-mod {
    font-size: 4.8rem;
  }
}
.top-fv-box-content-ttl .top-fv-box-content-ttl-gradation {
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-size: 8rem;
  line-height: 1.4;
  display: inline-block;
  margin-right: 0.8rem;
}
@media screen and (max-width: 960px) {
  .top-fv-box-content-ttl .top-fv-box-content-ttl-gradation {
    font-size: 4.8rem;
  }
}

.top-fv-box-content-txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  font-feature-settings: "palt";
}
.top-fv-box-content-txt span {
  color: #16376e;
}

.top-fv-box-img-wrap {
  width: 107.7rem;
  margin-left: auto;
}
@media screen and (max-width: 960px) {
  .top-fv-box-img-wrap {
    width: 48.6rem;
    margin-left: -13rem;
  }
}
.top-fv-box-img-wrap p {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1.6rem;
  text-align: right;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-fv-box-img-wrap p {
    font-size: 10px;
  }
}

.top-cta {
  background: rgba(236, 244, 249, 0.5);
  padding: 115px 0 72px;
}
@media screen and (max-width: 960px) {
  .top-cta {
    padding: 64px 2rem 80px;
  }
}

.top-cta-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7.2rem;
}
@media screen and (max-width: 960px) {
  .top-cta-box {
    gap: 0;
    flex-direction: column;
  }
}

.top-cta-box-content {
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content {
    width: 100%;
  }
}

.top-cta-box-content-txt {
  margin-bottom: 10px;
  white-space: nowrap;
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-txt {
    position: relative;
    gap: 0.4rem;
    font-size: 2rem;
    top: 0;
    left: inherit;
    transform: translate(0);
    justify-content: center;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-txt svg {
    width: 1rem;
  }
}

.top-cta-box-content-txt-large {
  font-size: 32px;
  vertical-align: text-bottom;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-txt-large {
    font-size: 2.4rem;
    vertical-align: inherit;
  }
}

.top-cta-box-content-link {
  padding: 20px 26px 20px 32px;
  background-color: #f77f2c;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-link {
    font-size: 2.4rem;
    width: 100%;
    padding: 1.6rem 0;
    gap: 1.6rem;
    text-align: center;
    justify-content: center;
    margin-bottom: 24px;
  }
}
.top-cta-box-content-link span {
  font-size: max(2.4rem, 22px);
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-link span {
    line-height: 1.6;
    font-size: 2rem;
  }
}
.top-cta-box-content-link svg {
  width: 9px;
}
@media screen and (max-width: 960px) {
  .top-cta-box-content-link svg {
    width: 1.5rem;
  }
}

@media screen and (max-width: 960px) {
  .top-cta-box-dl-wrap {
    width: 100%;
  }
}

.top-cta-box-dl {
  box-shadow: 4px 10px 15px 0px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 0 20px 0;
  width: 48rem;
  justify-content: center;
}
@media screen and (max-width: 960px) {
  .top-cta-box-dl {
    width: 100%;
    padding: 1.6rem 0;
    gap: 0.8rem;
    justify-content: center;
  }
}
.top-cta-box-dl span {
  color: #16376e;
  font-size: max(2.4rem, 22px);
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .top-cta-box-dl span {
    font-size: 2rem;
    line-height: 1.6;
  }
}
.top-cta-box-dl svg {
  width: 22.17px;
}
@media screen and (max-width: 960px) {
  .top-cta-box-dl svg {
    width: 3.2rem;
  }
}

.top-cta-box-dl-mod {
  margin-top: 32px;
}
@media screen and (max-width: 960px) {
  .top-cta-box-dl-mod {
    width: 100%;
    margin-top: 24px;
  }
}

.top-cta-box-dl-mod-img {
  width: 3.2rem;
}

.top-worry {
  padding: 144px 3rem;
  background: linear-gradient(180deg, #ffffff 26.88%, #ecf4f9 100%);
}
@media screen and (max-width: 960px) {
  .top-worry {
    padding: 88px 2rem 0;
  }
}

.top-worry-inner {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 960px) {
  .top-worry-inner {
    max-width: 430px;
  }
}

.top-ttl {
  font-weight: 700;
  font-size: 48px;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 24px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-ttl {
    font-size: 2.8rem;
  }
}

.top-txt {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.top-ttl-line {
  width: 72px;
  height: 4px;
  background: linear-gradient(270deg, #182f5a 0%, #114999 100%);
  margin: 40px auto 0;
}
@media screen and (max-width: 960px) {
  .top-ttl-line {
    width: 7.2rem;
    height: 2px;
  }
}

.top-worry-list {
  display: flex;
  justify-content: space-between;
  margin-top: 96px;
}
@media screen and (max-width: 960px) {
  .top-worry-list {
    margin-top: 80px;
    flex-direction: column;
    gap: 40px;
  }
}

.top-worry-list-item {
  width: 31.4%;
  box-shadow: 0px 0px 24px 0px rgba(22, 55, 110, 0.1019607843);
  display: flex;
  flex-direction: column;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .top-worry-list-item {
    width: 100%;
  }
}

.top-worry-list-item-box {
  padding: 32px 3.2rem 40px;
  background-color: #fff;
  flex-grow: 1;
  aspect-ratio: 365/552;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-box {
    aspect-ratio: inherit;
    padding: 2.4rem 2.4rem 4.8rem;
  }
}

.top-worry-list-item-delta {
  width: 76px;
  height: 44px;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: -33px;
  transform: translateX(-50%);
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-delta {
    width: 7.6rem;
  }
}

.top-worry-list-item-en {
  font-family: var(--en-primary-font);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.4;
  text-align: center;
  color: #16376e;
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-en {
    font-size: 2.4rem;
  }
}

.top-worry-list-item-num {
  font-family: var(--en-primary-font);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.4;
  text-align: center;
  color: #16376e;
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-num {
    font-size: 3.6rem;
  }
}

.top-worry-list-item-ttl {
  font-size: max(2rem, 15px);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 24px;
  color: #16376e;
  text-align: center;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-ttl {
    font-size: 2rem;
  }
}

.top-worry-list-item-img {
  width: 91%;
  margin: 0 auto 24px;
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-img {
    width: 100%;
  }
}

.top-worry-list-item-txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.top-worry-list-item-under {
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
  font-size: max(2.4rem, 20px);
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  padding-inline: 3.2rem;
  margin-top: auto;
  height: max(24.5rem, 200px);
}
@media screen and (max-width: 960px) {
  .top-worry-list-item-under {
    font-size: 2rem;
    padding: 4.8rem 2rem 2.4rem !important;
    height: auto;
  }
}
.top-worry-list-item-under span {
  color: #fcfe79;
}

.top-worry-list-item-1 .top-worry-list-item-under {
  padding-top: 5.6rem;
}

.top-worry-list-item-2 .top-worry-list-item-under {
  padding-top: 7.5rem;
}

.top-worry-list-item-3 .top-worry-list-item-under {
  padding-top: 7.5rem;
}

.top-all {
  padding: 104px 3rem 144px;
  background: #ecf4f9;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-all {
    padding: 152px 2rem 88px;
  }
}

.top-all-delta {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  transform: translateY(calc(100% - 0.7px));
}

.top-all-list {
  max-width: 920px;
  margin: 96px auto 0;
  display: grid;
  gap: 40px;
}
@media screen and (max-width: 960px) {
  .top-all-list {
    margin-top: 80px;
  }
}

.top-all-list-item {
  box-shadow: 12px 12px 24px 0px rgba(22, 55, 110, 0.1019607843);
  background-color: #fff;
  border-radius: 5px;
  padding: 48px 8rem;
}
@media screen and (max-width: 960px) {
  .top-all-list-item {
    padding: 4.8rem 2rem;
  }
}

.top-all-list-item-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  color: #16376e;
  text-align: center;
  margin-bottom: 40px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-all-list-item-ttl {
    font-size: 2.4rem;
    margin-top: 40px;
    margin-bottom: 16px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

.top-all-list-item-box {
  display: flex;
  align-items: flex-start;
  gap: 4.8rem;
}
@media screen and (max-width: 960px) {
  .top-all-list-item-box {
    font-size: 2rem;
    flex-direction: column;
    gap: 0;
  }
}

.top-all-list-item-box-img {
  width: 196px;
  flex-shrink: 0;
}
@media screen and (max-width: 960px) {
  .top-all-list-item-box-img {
    width: 19.6rem;
    margin: auto;
  }
}

.top-all-list-item-box-txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .top-all-list-item-box-txt {
    font-size: 1.6rem;
  }
}

.top-optimization {
  background: #114999 url("../img/top/optimization-bg.webp") center/cover no-repeat;
  padding: 14.44vw 3rem 144px;
}
@media screen and (max-width: 960px) {
  .top-optimization {
    padding: 8.8rem 2rem 88px;
  }
}
.top-optimization .top-ttl {
  margin-bottom: 40px;
  color: #fff;
  white-space: nowrap;
  font-size: max(4.8rem, 40px);
}
@media screen and (max-width: 960px) {
  .top-optimization .top-ttl {
    font-size: 3.2rem;
    margin-bottom: 24px;
  }
}
.top-optimization .top-txt {
  color: #fff;
}

.top-ttl-gradation {
  background: #fff;
  padding: 0 16px;
  display: inline-block;
  margin-left: 8px;
  margin-right: 8px;
}
@media screen and (max-width: 960px) {
  .top-ttl-gradation {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}
.top-ttl-gradation span {
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.top-optimization-list {
  display: flex;
  justify-content: space-between;
  max-width: 890px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 250px;
}
@media screen and (max-width: 960px) {
  .top-optimization-list {
    margin-top: 26rem;
    flex-direction: column;
    gap: 26rem;
  }
}

.top-optimization-list-item {
  width: 46.4%;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-optimization-list-item {
    width: 100%;
  }
}

.top-optimization-list-item-img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.top-optimization-list-item-box {
  box-shadow: 12px 12px 20px 0px rgba(22, 55, 110, 0.3019607843);
  background-color: #fff;
  padding: 56px 4.6rem 24px;
}
@media screen and (max-width: 960px) {
  .top-optimization-list-item-box {
    padding: 5.6rem 2rem 2.4rem;
  }
}
.top-optimization-list-item-box h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 8px;
  color: #16376e;
}
.top-optimization-list-item-box p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.top-optimization-list-item-1 .top-optimization-list-item-img {
  top: -211px;
  width: 202px;
}
@media screen and (max-width: 960px) {
  .top-optimization-list-item-1 .top-optimization-list-item-img {
    width: 20rem !important;
    top: -21rem !important;
  }
}

.top-optimization-list-item-2 .top-optimization-list-item-img {
  top: -202px;
  width: 220px;
}
@media screen and (max-width: 960px) {
  .top-optimization-list-item-2 .top-optimization-list-item-img {
    width: 22rem !important;
    top: -21rem !important;
  }
}

.top-navis {
  padding: 144px 0;
  background: url("../img/top/navis-bg.webp") center/cover no-repeat;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 960px) {
  .top-navis {
    padding: 88px 2rem;
  }
}
.top-navis .top-ttl {
  margin-bottom: 54px;
}
@media screen and (max-width: 960px) {
  .top-navis .top-ttl {
    margin-bottom: 24px;
  }
}

.top-ttl-navis {
  position: relative;
}
.top-ttl-navis span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -30px;
  white-space: nowrap;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .top-ttl-navis span {
    position: static;
    transform: translate(0);
  }
}

.top-navis-list-wrap {
  width: fit-content;
  margin: 17.2rem auto 0;
}
@media screen and (max-width: 960px) {
  .top-navis-list-wrap {
    margin-top: 80px;
  }
}

.top-navis-list {
  display: flex;
  justify-content: center;
  gap: 1.6rem;
}
@media screen and (max-width: 960px) {
  .top-navis-list {
    flex-direction: column;
    justify-content: right;
  }
}

.top-navis-list-item {
  width: 22rem;
  position: relative;
  box-shadow: 0px 0px 20px 0px #ccdfeb;
  background-color: #fff;
  padding: 2.4rem 2.2rem 2.4rem;
}
@media screen and (max-width: 960px) {
  .top-navis-list-item {
    width: calc(100% - 7.4rem);
    margin-left: 7.4rem;
    padding: 2.4rem 1.6rem;
    box-shadow: 0px 0px 12px 0px rgba(33, 89, 182, 0.6980392157);
  }
}

.top-navis-list-item-img {
  width: 9.2rem;
  position: absolute;
  left: 50%;
  top: -7.6rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 960px) {
  .top-navis-list-item-img {
    width: 8.2rem;
    left: -7rem;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.top-navis-list-item-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.top-navis-list-item-en {
  font-family: var(--en-primary-font);
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
.top-navis-list-item-en span {
  font-size: 4.4rem;
  font-weight: 700;
  color: #114999;
}

.top-navis-list-item-sub {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.6;
  width: fit-content;
  padding: 0 1.6rem;
  border-radius: 8px;
  margin-left: auto;
  margin-right: auto;
}

.top-navis-list-item-ttl {
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
  color: #16376e;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-navis-list-item-ttl {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}

.top-navis-list-item-txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.top-navis-list-item-1 .top-navis-list-item-img::after {
  content: "";
  width: 87.1rem;
  height: 1px;
  background: linear-gradient(270deg, #182f5a 0%, #114999 100%);
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 8rem;
}
@media screen and (max-width: 960px) {
  .top-navis-list-item-1 .top-navis-list-item-img::after {
    display: none;
  }
}
.top-navis-list-item-1 .top-navis-list-item-sub {
  color: #16376e;
  background-color: #e0f3ff;
}
.top-navis-list-item-1 .top-navis-list-item-ttl {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 960px) {
  .top-navis-list-item::after {
    content: "";
    height: calc(100% + 1.6rem);
    width: 1px;
    background: linear-gradient(270deg, #182f5a 0%, #114999 100%);
    position: absolute;
    z-index: -1;
    top: 50%;
    transform: translateY(-50%);
    left: -3rem;
  }
}

@media screen and (max-width: 960px) {
  .top-navis-list-item-1::after {
    content: "";
    height: calc(50% + 1.6rem);
    width: 1px;
    background: linear-gradient(270deg, #182f5a 0%, #114999 100%);
    position: absolute;
    z-index: -1;
    top: inherit;
    bottom: -1.6rem;
    transform: translateY(0);
    left: -3rem;
  }
}

@media screen and (max-width: 960px) {
  .top-navis-list-item-5::after {
    content: "";
    height: calc(50% + 1.6rem);
    width: 1px;
    background: linear-gradient(270deg, #182f5a 0%, #114999 100%);
    position: absolute;
    z-index: -1;
    top: -1.6rem;
    transform: translateY(0);
    left: -3rem;
  }
}

.top-navis-list-item-2 .top-navis-list-item-sub {
  color: #16376e;
  background-color: #b7d5fc;
}
.top-navis-list-item-2 .top-navis-list-item-ttl {
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
}

.top-navis-list-item-3 .top-navis-list-item-sub {
  color: #fff;
  background-color: #87b4fb;
}
.top-navis-list-item-3 .top-navis-list-item-ttl {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

.top-navis-list-item-4 .top-navis-list-item-sub {
  color: #fff;
  background-color: #114999;
}
.top-navis-list-item-4 .top-navis-list-item-ttl {
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
}

.top-navis-list-item-5 .top-navis-list-item-sub {
  color: #fff;
  background-color: #16376e;
}
.top-navis-list-item-5 .top-navis-list-item-ttl {
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
}

.top-navis-list-under {
  margin-top: 16px;
  text-align: right;
  font-family: var(--jp-secondary-font);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
}

.top-function {
  padding: 144px 6rem 94px;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .top-function {
    padding: 88px 2rem;
  }
}
.top-function .top-ttl-line {
  margin-bottom: 165px;
}
@media screen and (max-width: 960px) {
  .top-function .top-ttl-line {
    bm: 100px;
  }
}

.top-function-inner {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

.top-function-box {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 56px 6.4rem 72px;
  box-shadow: 0px 0px 24px 0px rgba(22, 55, 110, 0.1019607843);
  background-color: #fff;
}
@media screen and (max-width: 960px) {
  .top-function-box {
    flex-direction: column;
    padding: 3.2rem 2rem 4.8rem;
  }
}

.top-function-box::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #fff;
  left: 0;
  top: 0;
}

.top-function-box-en {
  position: absolute;
  z-index: -2;
  font-size: 88px;
  font-weight: 700;
  line-height: 1.6;
  color: #ecf4f9;
  top: -97px;
}
@media screen and (max-width: 960px) {
  .top-function-box-en {
    font-size: 4.8rem;
    top: -5.5rem;
  }
}

.top-function-box-content {
  width: 50.6%;
}
@media screen and (max-width: 960px) {
  .top-function-box-content {
    width: 100%;
  }
}

.top-function-box-content-num {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #114999;
  margin-bottom: 8px;
}

.top-function-box-content-num-en {
  font-family: var(--en-primary-font);
  font-size: max(2.4rem, 20px);
  font-weight: 500;
  line-height: 1.4;
  border-bottom: 1px solid #114999;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-num-en {
    font-size: 2.4rem;
  }
}

.top-function-box-content-num-txt {
  font-family: var(--en-primary-font);
  font-size: max(5.6rem, 40px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-num-txt {
    font-size: 5.6rem;
  }
}

.top-function-box-content-ttl {
  font-size: max(2.4rem, 20px);
  font-weight: 700;
  line-height: 1.6;
  padding: 5px 2rem;
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
  color: #fff;
  width: fit-content;
  clip-path: polygon(7px 0, 100% 0, calc(100% - 7px) 100%, 0 100%);
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-function-box-content-ttl {
    font-size: 2.4rem;
  }
}

.top-function-box-content-sub {
  font-size: max(2rem, 18px);
  font-weight: 500;
  line-height: 1.6;
  color: #16376e;
  margin-top: 2.4rem;
  margin-bottom: 8px;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-sub {
    font-size: 2rem;
    margin-top: 24px;
  }
}

.top-function-box-content-txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-txt {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}

.top-function-box-content-list {
  padding: 16px 2.4rem;
  background-color: #ecf4f9;
  border-radius: 8px;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-list {
    padding: 1.6rem 2.4rem;
  }
}

.top-function-box-content-list-item {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  position: relative;
  padding-left: 2rem;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-list-item {
    font-size: 1.6rem;
  }
}

.top-function-box-content-list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  aspect-ratio: 1;
  background-color: #16376e;
  border-radius: 50%;
}
@media screen and (max-width: 960px) {
  .top-function-box-content-list-item::before {
    top: 1rem;
  }
}

.top-function-box-img-wrap {
  width: 43.9%;
}
@media screen and (max-width: 960px) {
  .top-function-box-img-wrap {
    width: 100%;
    margin-bottom: 24px;
  }
}

.top-function-box-img-wrap-txt {
  color: #16376e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  text-align: right;
  margin-bottom: 8px;
}

.top-function-box-img-wrap-under {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 12px;
}

.top-function-box-odd .top-function-box-en {
  left: 0;
}

.top-function-box-even .top-function-box-en {
  right: 0;
}

.top-function-box::before {
  content: "";
  position: absolute;
  z-index: -1;
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
  width: 82rem;
  aspect-ratio: 820/365;
  bottom: -2.6rem;
}
@media screen and (max-width: 960px) {
  .top-function-box::before {
    width: 30rem;
    aspect-ratio: 300/250;
  }
}

.top-function-box-odd::before {
  right: -14rem;
  border-bottom-left-radius: 10rem;
}
@media screen and (max-width: 960px) {
  .top-function-box-odd::before {
    right: -4rem;
    border-bottom-left-radius: 5rem;
  }
}

.top-function-box-even::before {
  left: -14rem;
  border-bottom-right-radius: 10rem;
}
@media screen and (max-width: 960px) {
  .top-function-box-even::before {
    left: -4rem;
    border-bottom-right-radius: 5rem;
  }
}

.top-function-box-1 .top-function-box-img-wrap {
  margin-top: 1.2rem;
}

.top-function-box-2 {
  margin-top: 125px;
  margin-bottom: 125px;
}
@media screen and (max-width: 960px) {
  .top-function-box-2 .top-function-box-img-wrap {
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 960px) {
  .top-function-box-3 .top-function-box-img-wrap {
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 960px) {
  .top-function-under-wrap {
    padding-inline: 2.75rem;
  }
}

.top-function-under {
  background: #ecf4f9;
  width: fit-content;
  margin: 96px auto 0;
  padding: 40px 7.2rem;
  border-radius: 5px;
}
@media screen and (max-width: 960px) {
  .top-function-under {
    width: 100%;
    padding: 3.2rem 4rem;
    margin-top: 48px;
  }
}

.top-function-under-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 24px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-function-under-ttl {
    font-size: 2rem;
    margin-bottom: 16px;
  }
}

.top-function-under-list {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media screen and (max-width: 960px) {
  .top-function-under-list {
    flex-direction: column;
    gap: 12px;
  }
}

.top-function-under-list-item {
  padding: 1.6rem 2.4rem;
  background-color: #fff;
  border: 1px solid #16376e;
  border-radius: 8.8rem;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  font-family: var(--jp-secondary-font);
  color: #16376e;
  white-space: nowrap;
}
@media screen and (max-width: 960px) {
  .top-function-under-list-item {
    padding: 1.2rem 2rem;
    font-size: 1.6rem;
  }
}

.top-function-under-list-item-other {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

.top-management {
  background: linear-gradient(180deg, #ecf4f9 97.16%, #ffffff 100%);
  padding: 144px 3rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-management {
    padding: 88px 0 104px;
  }
}
@media screen and (max-width: 960px) {
  .top-management .top-ttl {
    width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 960px) {
  .top-management .top-txt {
    width: calc(100% - 4rem);
    margin-left: auto;
    margin-right: auto;
  }
}

.top-management-shape {
  position: absolute;
  width: 116px;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
}
@media screen and (max-width: 960px) {
  .top-management-shape {
    width: 7.4rem;
  }
}

.top-management-ttl {
  color: #114999;
}

.top-management-box {
  max-width: 1072px;
  margin: 96px auto 66px;
}
@media screen and (max-width: 960px) {
  .top-management-box {
    width: 61.8rem;
    margin: 80px 0 0;
  }
}

@media screen and (max-width: 960px) {
  .top-management-box-wrap {
    overflow: auto;
    margin-left: 2rem;
    margin-bottom: 64px;
  }
}

/* バーを常に表示させる */
.simplebar-track .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

/* バー本体の色 */
.simplebar-track .simplebar-scrollbar::before {
  background: var(--color-secondary);
}

.scrollHint__box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 18px 3.5rem;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
  border-radius: 3rem;
}
.scrollHint__box img {
  width: 6rem;
}
.scrollHint__box span {
  white-space: nowrap;
  color: #fff;
  font-size: 13px;
  font-weight: 400;
}

.top-management-under {
  padding: 40px 6.4rem;
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px rgba(33, 89, 182, 0.2);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 960px) {
  .top-management-under {
    width: calc(100% - 4rem);
    padding: 2.4rem 2rem;
    box-shadow: 0px 0px 20px 0px rgba(33, 89, 182, 0.2);
    font-size: 2rem;
  }
}
.top-management-under span {
  font-size: 32px;
  color: #16376e;
}
@media screen and (max-width: 960px) {
  .top-management-under span {
    font-size: 2.4rem;
  }
}

.top-change {
  padding: 144px 3rem;
}
@media screen and (max-width: 960px) {
  .top-change {
    padding: 88px 2rem;
  }
}

.top-tab {
  max-width: 1004px;
  width: fit-content;
  margin: 96px auto 64px;
}
@media screen and (max-width: 960px) {
  .top-tab {
    margin: 80px auto 46px;
    max-width: 430px;
  }
}

.top-tab-nav {
  display: flex;
  align-items: flex-end;
  gap: 16px;
}
@media screen and (max-width: 960px) {
  .top-tab-nav {
    gap: 0.8rem;
  }
}

.top-tab-nav-btn {
  flex: 1;
  padding: 16px 0;
  border: 1px solid #16376e;
  border-bottom: none;
  background: #fff;
  color: #16376e;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-tab-nav-btn {
    font-size: 1.6rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 960px) {
  .top-tab-nav-btn-2 {
    padding: 0.5rem 0;
    white-space: nowrap;
  }
}

.top-tab-nav-btn.is-active {
  background: #16376e;
  color: #fcfe79;
  padding: 24px 0;
}
@media screen and (max-width: 960px) {
  .top-tab-nav-btn.is-active {
    padding: 16px 0;
  }
}

@media screen and (max-width: 960px) {
  .top-tab-nav-btn-2.is-active {
    padding: 3.6px 0;
  }
}

@media screen and (max-width: 960px) {
  .top-tab-nav-btn-2 {
    padding: 3.6px 0;
  }
}

.top-tab-title {
  display: none;
  padding: 16px 0;
  background: #16376e;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .top-tab-title {
    font-size: 2.4rem;
  }
}

.top-tab-title.is-active {
  display: block;
}

.top-tab-content {
  border: 1px solid #16376e;
  border-top: none;
  background: #ecf4f9;
  padding: 7.2rem 12rem 6.4rem;
  width: fit-content;
  margin: auto;
  border-radius: 0 0 5px 5px;
}
@media screen and (max-width: 960px) {
  .top-tab-content {
    padding: 7.2rem 2rem 6.4rem;
    aspect-ratio: inherit;
  }
}

.top-tab-panel {
  display: none;
}

.top-tab-panel-inner {
  display: flex;
  justify-content: center;
  gap: 5.6rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .top-tab-panel-inner {
    flex-direction: column;
    gap: 0;
  }
}

.top-tab-panel-inner-img {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 8.4rem;
  transform: translateX(-50%);
  width: 18.7rem;
}
@media screen and (max-width: 960px) {
  .top-tab-panel-inner-img {
    position: static;
    transform: translateX(0);
    width: 100%;
    margin: 16px auto 52px;
  }
}

.top-tab-content-box {
  width: 35.4rem;
  position: relative;
  padding: 4.8rem 4rem;
  aspect-ratio: 354/422;
  border-radius: 5px;
}
@media screen and (max-width: 960px) {
  .top-tab-content-box {
    width: 100%;
    padding: 4.8rem 2rem 3.2rem;
  }
}

.top-tab-content-box-ttl {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.top-tab-content-box-before {
  background-color: #e3e3e3;
}
.top-tab-content-box-before .top-tab-content-box-ttl {
  background-color: #45474a;
  border-radius: 7.2rem;
  padding: 8px 2.4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  font-family: var(--en-primary-font);
}
@media screen and (max-width: 960px) {
  .top-tab-content-box-before .top-tab-content-box-ttl {
    font-size: 3.6rem;
  }
}

.top-tab-content-box-after {
  background-color: #fff;
  box-shadow: 0px 0px 20px 0px #f77f2c;
}
.top-tab-content-box-after .top-tab-content-box-ttl {
  background-color: #45474a;
  border-radius: 7.2rem;
  padding: 8px 2.4rem;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  font-family: var(--en-primary-font);
  background-color: #f77f2c;
  box-shadow: 0px 0px 20px 0px #f77f2c;
}
@media screen and (max-width: 960px) {
  .top-tab-content-box-after .top-tab-content-box-ttl {
    font-size: 3.6rem;
  }
}

.top-tab-content-box-list {
  display: grid;
  gap: 8px;
  margin-top: 2.4rem;
}

.top-tab-content-box-list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}
.top-tab-content-box-list-item span {
  background: linear-gradient(#fcfe79, #fcfe79) left calc(100% - 0.2rem)/100% 0.7rem no-repeat;
}

.top-tab-content-box-list-img {
  width: 1.87rem;
  flex-shrink: 0;
}

.top-tab-panel.is-active {
  display: block;
}

.top-change-under {
  margin: auto;
  width: fit-content;
  border: 2px solid #114999;
  border-radius: 5px;
  padding: 48px 7.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  box-shadow: 8px 8px 12px 0px rgba(22, 55, 110, 0.2);
}
@media screen and (max-width: 960px) {
  .top-change-under {
    padding: 4rem 2rem;
    font-size: 2rem;
  }
}
.top-change-under span {
  color: #114999;
  font-size: 3.2rem;
}
@media screen and (max-width: 960px) {
  .top-change-under span {
    font-size: 2.4rem;
  }
}

.top-proceed {
  padding: 112px 0 144px;
  background: linear-gradient(180deg, #182f5a 0%, #114999 100%);
}
@media screen and (max-width: 960px) {
  .top-proceed {
    padding: 80px 2rem;
  }
}
.top-proceed .top-cta-box {
  color: #fff;
  margin-top: 123px;
  margin-bottom: 40px;
  align-items: flex-end;
}
@media screen and (max-width: 960px) {
  .top-proceed .top-cta-box {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.top-proceed .color-blue {
  color: #fcfe79;
}

.top-proceed-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .top-proceed-list {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }
}

.top-proceed-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}

.top-proceed-list-item-ttl {
  padding: 8px 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  border-radius: 100px;
  border: 2px solid #fff;
  color: #fff;
}
@media screen and (max-width: 960px) {
  .top-proceed-list-item-ttl {
    font-size: 1.6rem;
    padding: 0.8rem 1.6rem;
    border-radius: 9.6rem;
  }
}

.top-proceed-list-item-txt {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .top-proceed-list-item-txt {
    font-size: 2rem;
  }
}

.top-proceed-list-item-1 {
  padding-right: 4rem;
}
@media screen and (max-width: 960px) {
  .top-proceed-list-item-1 {
    padding-right: 0;
  }
}

.top-proceed-list-item-2 {
  padding-left: 4rem;
  padding-right: 4rem;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 960px) {
  .top-proceed-list-item-2 {
    padding-left: 0;
    padding-right: 0;
    border: none;
  }
}

.top-proceed-list-item-3 {
  padding-left: 4rem;
}
@media screen and (max-width: 960px) {
  .top-proceed-list-item-3 {
    padding-left: 0;
  }
}

.top-qa {
  padding: 144px 3rem;
}
@media screen and (max-width: 960px) {
  .top-qa {
    padding: 88px 2rem;
  }
}

.top-qa-inner {
  max-width: 1158px;
  margin-left: auto;
  margin-right: auto;
}

.qa-lists {
  margin-top: 96px;
}
@media screen and (max-width: 960px) {
  .qa-lists {
    margin-top: 80px;
  }
}

.qa-list {
  box-shadow: 8px 8px 12px 0px rgba(119, 119, 119, 0.2);
  background-color: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  transition: 0.3s;
}

.qa-list:not(:last-child) {
  margin-bottom: 24px;
}

.qa-list-ttl {
  padding: 33px 83px 25.5px 40px;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 16px;
  font-feature-settings: "palt";
}
@media screen and (max-width: 960px) {
  .qa-list-ttl {
    padding: 2.4rem 3.5rem 2.4rem 1.6rem;
  }
}

.qa-list__txt-en {
  font-size: 24px;
  font-weight: 500;
  font-family: var(--en-primary-font);
  line-height: 1.4;
  color: #16376e;
}
@media screen and (max-width: 960px) {
  .qa-list__txt-en {
    font-size: 2.4rem;
  }
}

.qa-list__txt {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .qa-list__txt {
    font-size: 1.6rem;
  }
}

.qa-list-answer-wrap {
  display: none;
}

.qa-list-answer {
  margin-left: 32px;
  margin-right: 32px;
  padding: 24.5px 46px 32px;
  border-top: 1px solid #e3e3e3;
}
@media screen and (max-width: 960px) {
  .qa-list-answer {
    padding: 2.4rem 4.8rem;
    margin: auto;
  }
}

.qa-list-answer-mod {
  display: block;
}

.qa-list-answer__txt {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .qa-list-answer__txt {
    font-size: 1.6rem;
  }
}

.qa-list-line-1 {
  position: absolute;
  width: 2px;
  height: 21px;
  background-color: #16376e;
  right: 42px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
@media screen and (max-width: 960px) {
  .qa-list-line-1 {
    height: 2.1rem;
    right: 2.5rem;
  }
}

.qa-list-line-2 {
  position: absolute;
  width: 21px;
  height: 2px;
  background-color: #16376e;
  right: 33px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 960px) {
  .qa-list-line-2 {
    width: 2.1rem;
    right: 1.6rem;
  }
}

.tab-active {
  box-shadow: 8px 8px 12px 0px rgba(22, 55, 110, 0.2);
  border: 1px solid #16376e;
}
.tab-active .qa-list-line-1 {
  opacity: 0;
}

.error404 .header {
  background-color: #fff !important;
}
.error404 .header-nav-link {
  color: var(--font-color) !important;
}
.error404 .header__logo-black {
  opacity: 1 !important;
  visibility: visible !important;
}

.notfound {
  padding-top: 230px;
  padding-bottom: 120px;
  text-align: center;
}

.notfound__txt-1 {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 50px;
  line-height: 1.5;
}

.notfound__txt-2 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2;
  margin-bottom: 40px;
  font-family: var(--jp-secondary-font);
}

.header-lower {
  background-color: #fff;
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 87px;
  top: 0;
  display: flex;
  align-items: center;
  padding-left: 6rem;
}
@media screen and (max-width: 960px) {
  .header-lower {
    padding-inline: 3rem;
    height: 74px;
  }
}

.header-lower__logo {
  width: 130px;
}
.header-lower__logo span {
  font-size: 11px;
}

.policy {
  max-width: 1440px;
  margin: 190px auto 115px;
  padding-inline: 8rem;
}
@media screen and (max-width: 960px) {
  .policy {
    padding-inline: 3rem;
  }
}

.policy-inner {
  max-width: 960px;
}

.policy-ttl {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 85px;
}
@media screen and (max-width: 960px) {
  .policy-ttl {
    font-size: 3rem;
  }
}

.policy-box {
  display: grid;
  gap: 15px;
}

.policy-txt {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.policy-sub {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 960px) {
  .policy-sub {
    line-height: 1.5;
  }
}

.policy-margin {
  margin-bottom: 35px;
}

.policy-link {
  display: flex;
  align-items: center;
  gap: 33px;
  width: fit-content;
  padding: 24px 43px 22px 45px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  background-color: #0b3d85;
  color: #fff;
  margin-top: 25px;
  margin-bottom: 20px;
}

.policy-link-img {
  width: 11px;
}

.terms-ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
}

.terms-margin {
  margin-bottom: 15px;
}

.terms-sub {
  font-size: 16px;
  letter-spacing: 0.05em;
}

.terms-ttl-margin {
  margin-top: 40px;
}

.about-root {
  font-size: 0.694444vw;
  scroll-behavior: smooth;
}
@media screen and (min-width: 1441px) {
  .about-root {
    font-size: 10px !important;
  }
}
@media screen and (max-width: 1125px) {
  .about-root {
    font-size: 0.8888888889vw !important;
  }
}
@media screen and (max-width: 1125px) {
  .about-root .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 1126px) {
  .about-root .is-sp {
    display: none !important;
  }
}

.about {
  color: #000;
}
.about p,
.about h2,
.about h3,
.about h4,
.about li,
.about a {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1125px) {
  .about .footer-list {
    flex-direction: column;
    font-size: 18px;
  }
}

.header-about {
  position: fixed;
  top: 0;
  width: 100%;
  height: 88px;
  z-index: 100;
  padding-left: 8.6rem;
  padding-right: 8.6rem;
  background-color: #fff;
}
@media screen and (max-width: 1125px) {
  .header-about {
    padding-left: 5rem;
    padding-right: 17.3rem;
    height: 20rem;
  }
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.header-logo {
  width: 20rem;
}
@media screen and (max-width: 1125px) {
  .header-logo {
    width: 41rem;
  }
}

.header-nav {
  height: 100%;
}

.header-lists {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 4.2rem;
}

.header-list {
  font-weight: 450;
  font-size: max(1.8rem, 14px);
}

.header-list-outer a {
  padding: 18px 20px 18px 26px;
  border-radius: 29px;
  border: 1px solid #16376d;
  display: flex;
  gap: 19px;
  align-items: center;
}
@media screen and (max-width: 1125px) {
  .header-list-outer a {
    padding: 2.7rem 3rem 2.7rem 3.7rem;
    gap: 2.8rem;
  }
}

.header-list-outer-img-1 {
  width: 82px;
}
@media screen and (max-width: 1125px) {
  .header-list-outer-img-1 {
    width: 11.7rem;
  }
}

.header-list-outer-img-2 {
  width: 21px;
}
@media screen and (max-width: 1125px) {
  .header-list-outer-img-2 {
    width: 3rem;
  }
}

.sp-nav-wrap {
  overflow-y: auto;
  position: fixed;
  top: 0;
  z-index: 100;
  right: 0;
  width: min(100%, 430px);
  height: 100vh;
  transition: 900ms cubic-bezier(0.77, 0, 0.175, 1);
  transform: translateX(100%);
  background-color: #f4f8fb;
}

.sp-nav {
  z-index: 100;
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 4rem 40px 4rem;
}

.sp-nav-lists {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 100px;
}

.sp-nav-list {
  font-weight: 700;
  font-size: 4rem;
}

.sp-nav-list-contact a {
  background-color: var(--yellow);
  padding: 8px 24px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 30px;
}

.sp-menu-btn {
  position: fixed;
  top: 6.2rem;
  right: 5rem;
  z-index: 10000;
  width: 7.8rem;
  aspect-ratio: 1/1;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.sp-menu-btn__line {
  display: block;
  width: 30px;
  height: 2px;
  background-color: var(--font-color-primary);
  transition: 0.4s;
}

.is-active .sp-nav-wrap {
  transform: translateX(0);
}

.is-active .sp-menu-btn__bg {
  opacity: 0;
}

.is-active .sp-menu-btn__line-1 {
  transform: translateY(7.3px) rotate(45deg);
}

.is-active .sp-menu-btn__line-2 {
  opacity: 0;
}

.is-active .sp-menu-btn__line-3 {
  transform: translateY(-7.3px) rotate(-45deg);
}

.is-active .sp-menu__bg {
  opacity: 1;
  visibility: visible;
}

.sp-menu__bg {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  z-index: 11;
}

.about-fv {
  background: linear-gradient(to bottom, #111e3e, #3678e6);
  padding: 21rem 16rem 20.5rem;
  color: #fff;
  margin-top: 88px;
}
@media screen and (max-width: 1125px) {
  .about-fv {
    padding: 33.6rem 0 27.8rem 14.5rem;
    margin-top: 20rem;
  }
}
.about-fv h1 {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 1125px) {
  .about-fv h1 {
    font-size: 7.2rem;
  }
}
.about-fv h1 span {
  color: #CFECFF;
}
.about-fv p {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 5.3rem;
  color: #B9C5DF;
}
@media screen and (max-width: 1125px) {
  .about-fv p {
    font-size: 3.6rem;
  }
}

@media screen and (min-width: 1126px) {
  .is-sp-about {
    display: none !important;
  }
}

.about-fv-inner {
  max-width: 1440px;
  margin: auto;
}

.about-1 {
  padding: 110px 0 150px;
}
@media screen and (max-width: 1125px) {
  .about-1 {
    padding: 115px 0 92px;
  }
}

.about-ttl {
  color: #16376D;
  font-size: 4.8rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1125px) {
  .about-ttl {
    font-size: 6rem;
  }
}

.about-1-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7.8rem;
  margin-top: 73px;
}
@media screen and (max-width: 1125px) {
  .about-1-box {
    gap: 6rem;
  }
}

.about-1-box-ttl {
  display: grid;
  gap: 3.6rem;
  padding-top: 16px;
  padding-bottom: 16px;
}
@media screen and (max-width: 1125px) {
  .about-1-box-ttl {
    gap: 5.5rem;
    padding-top: 0;
    padding-bottom: 0;
  }
}
.about-1-box-ttl h3 {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: right;
}
@media screen and (max-width: 1125px) {
  .about-1-box-ttl h3 {
    font-size: 3.6rem;
    line-height: 1.6;
  }
}

.about-1-box-txt {
  border-left: 2px solid #0a3d86;
  display: grid;
  gap: 3.6rem;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-left: 7.8rem;
}
@media screen and (max-width: 1125px) {
  .about-1-box-txt {
    gap: 5.5rem;
    margin-top: 5rem;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 6rem;
  }
}
.about-1-box-txt p {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 1125px) {
  .about-1-box-txt p {
    font-size: 3.6rem;
    line-height: 1.6;
  }
}

.about-2 {
  padding: 100px 0 90px;
  background-color: #f4f8fb;
}
@media screen and (max-width: 1125px) {
  .about-2 {
    padding: 137px 0 55px;
  }
}

.about-2-list {
  margin-top: 54px;
  display: flex;
  justify-content: center;
  gap: 6.4rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list {
    margin-top: 28px;
    flex-direction: column;
    align-items: center;
    gap: 61px;
  }
}

.about-2-list-item {
  width: 64.1rem;
  background-color: #fff;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item {
    width: 69rem;
    aspect-ratio: 692/598;
  }
}
.about-2-list-item h3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item h3 {
    font-size: 3.6rem;
  }
}

.about-2-list-item-1 {
  padding: 7rem 0 10rem;
  gap: 6.7rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-1 {
    padding: 0;
    padding-top: 8.3rem;
    gap: 5.5rem;
  }
}
.about-2-list-item-1 .about-2-list-item-img {
  width: 22.4rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-1 .about-2-list-item-img {
    width: 25rem;
  }
}

.about-2-list-item-2 {
  padding: 4rem 0 4rem;
  gap: 2.2rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-2 {
    padding: 0;
    padding-top: 4rem;
    gap: 2.8rem;
    aspect-ratio: 689/730;
  }
}
.about-2-list-item-2 .about-2-list-item-img {
  width: 28rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-2 .about-2-list-item-img {
    width: 32rem;
  }
}
.about-2-list-item-2 a {
  border-radius: 9px;
  background-color: #f76812;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8.4rem;
  padding: 1.8rem 1.8rem 1.8rem 5rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-2 a {
    padding: 1.8rem 1.8rem 1.8rem 3.2rem;
    font-size: 3.6rem;
    gap: 2.5rem;
  }
}
.about-2-list-item-2 a img {
  width: 2.2rem;
}
@media screen and (max-width: 1125px) {
  .about-2-list-item-2 a img {
    width: 3.5rem;
  }
}

.about-3 {
  padding-top: 130px;
  padding-bottom: 145px;
}
@media screen and (max-width: 1125px) {
  .about-3 {
    padding-top: 100px;
    padding-bottom: 133px;
    padding-left: 8rem;
    padding-right: 7rem;
  }
}

.about-3-box {
  display: grid;
  gap: 10rem;
  overflow: hidden;
  width: fit-content;
  margin: 100px auto 0;
  position: relative;
}
@media screen and (max-width: 1125px) {
  .about-3-box {
    gap: 5rem;
    margin-top: 88px;
  }
}

.about-3-box-content {
  display: flex;
  align-items: center;
  z-index: 0;
}
@media screen and (max-width: 1125px) {
  .about-3-box-content {
    align-items: flex-start;
  }
}
.about-3-box-content h3 {
  font-size: 3rem;
  font-weight: 700;
  color: #16376D;
  margin-left: 2.6rem;
  margin-right: 10rem;
}
@media screen and (max-width: 1125px) {
  .about-3-box-content h3 {
    font-size: 3.8rem;
    margin-left: 2.6rem;
    margin-right: 8rem;
    white-space: nowrap;
    line-height: 1.6;
  }
}
.about-3-box-content p {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (max-width: 1125px) {
  .about-3-box-content p {
    font-size: 3.6rem;
  }
}

.about-3-box-img {
  width: 6rem;
}
@media screen and (max-width: 1125px) {
  .about-3-box-img {
    width: 7rem;
    flex-shrink: 0;
  }
}

.about-3-box-img-line {
  position: absolute;
  left: 3rem;
  transform: translateX(-50%);
  height: 80rem;
}
@media screen and (max-width: 1125px) {
  .about-3-box-img-line {
    left: 3.5rem;
    width: 1px;
    height: 94rem;
    top: 2rem;
  }
}

.about-4 {
  padding: 13rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 1125px) {
  .about-4 {
    padding: 110px 6.5rem 140px 7rem;
  }
}
.about-4 svg {
  position: absolute;
  z-index: 1;
  width: 1000%;
  height: 1000%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.about-4-inner {
  max-width: 1440px;
  margin: auto;
}

.about-4-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1125px) {
  .about-4-box {
    gap: 90px;
    flex-direction: column;
  }
}
.about-4-box h2 {
  color: #16376D;
  font-size: 4.8rem;
  font-weight: 700;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1125px) {
  .about-4-box h2 {
    font-size: 6rem;
    text-align: center;
  }
}

.about-4-box-img {
  position: absolute;
  z-index: -1;
  width: 122rem;
  top: 50%;
  transform: translateY(-50%);
  left: 0rem;
}
@media screen and (max-width: 1125px) {
  .about-4-box-img {
    width: 98rem;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.about-4-box-content {
  display: grid;
  gap: 3rem;
  position: relative;
  z-index: 2;
}

.about-4-box-content-txt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 1125px) {
  .about-4-box-content-txt {
    font-size: 3.6rem;
  }
}

.about-4-box-content-txt-l {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  color: #16376D;
}
@media screen and (max-width: 1125px) {
  .about-4-box-content-txt-l {
    font-size: 4.8rem;
  }
}

.about-contact {
  padding: 152px 2rem 240px;
}
@media screen and (max-width: 1125px) {
  .about-contact {
    padding: 114px 14rem 100px;
  }
}

.about-txt {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 44px;
  margin-bottom: 55px;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1125px) {
  .about-txt {
    font-size: 3.6rem;
    margin-top: 75px;
    margin-bottom: 86px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }
}

.top-contact-form-wrap {
  max-width: 560px;
  margin: auto;
  display: grid;
  gap: 33px;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-wrap {
    gap: max(6.7rem, 30px);
  }
}
.top-contact-form-wrap label:not(.top-contact-form-consent label) {
  display: flex;
  align-items: center;
  gap: 2.2rem;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 11px;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-wrap label:not(.top-contact-form-consent label) {
    gap: 3rem;
    font-size: max(3rem, 15px);
    margin-bottom: 16px;
  }
}
.top-contact-form-wrap input:not(.top-contact-form-consent input) {
  border-radius: 9px;
  background-color: #fff;
  border: 2px solid #0a3d86;
  width: 100%;
  height: 62px;
  padding: 1rem;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-wrap input:not(.top-contact-form-consent input) {
    font-size: max(3rem, 15px);
    height: max(9rem, 45px);
  }
}
.top-contact-form-wrap textarea {
  border-radius: 9px;
  resize: none;
  width: 100%;
  background-color: #fff;
  border: 2px solid #0a3d86;
  width: 100%;
  height: 200px;
  padding: 1rem;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-wrap textarea {
    font-size: max(3rem, 15px);
    height: max(30rem, 200px);
  }
}

.top-contact-form-box-required {
  padding: 8px 1.6rem;
  background-color: #ee3c3c;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  border-radius: 5px;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-box-required {
    font-size: max(3rem, 15px);
    padding: 1.4rem 2.4rem;
  }
}

.top-contact-form-box-required-mod {
  background-color: #c7c4c4;
  color: #000;
}

.top-contact-form-consent {
  margin-top: 25px;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-consent {
    margin-top: 20px;
  }
}
.top-contact-form-consent label {
  display: flex;
  align-items: center;
  gap: 2.2rem;
  justify-content: center;
  cursor: pointer;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-consent label {
    gap: 3rem;
  }
}
.top-contact-form-consent input {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  aspect-ratio: 1;
  background-color: #fff;
  border: 2px solid #0a3d86;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-consent input {
    width: 30px;
    height: 30px;
  }
}
.top-contact-form-consent input:checked {
  background-color: #0a3d86;
}
.top-contact-form-consent input:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}
@media screen and (max-width: 1125px) {
  .top-contact-form-consent input:checked::after {
    left: 9px;
    top: 4px;
    width: 8px;
    height: 15px;
  }
}

.top-contact-form-consent-text {
  font-size: 1.83rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1125px) {
  .top-contact-form-consent-text {
    font-size: max(2.75rem, 14px);
    line-height: 1.6;
  }
}
.top-contact-form-consent-text a {
  color: #0a3d86;
  text-decoration: underline;
}

.submit-button {
  background-color: #0a3d86;
  width: fit-content;
  padding: 22px 40px 22px 55px;
  margin: 30px auto 0;
  border-radius: 15px;
  text-align: center;
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
@media screen and (max-width: 1125px) {
  .submit-button {
    border-radius: 0;
    padding: max(2.2rem, 14px) max(6rem, 40px) max(2.2rem, 14px) max(8rem, 60px);
  }
}

.submit-button-txt {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 1125px) {
  .submit-button-txt {
    font-size: max(2.75rem, 14px);
    line-height: 1.6;
  }
}

.submit-button-icon {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 10px;
  aspect-ratio: 1;
  display: block;
  transform: rotate(-45deg);
}

.form-message-2 {
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .inner {
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
  }
}

.fitCover {
  overflow: hidden;
}
.fitCover img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.fitCover picture {
  width: 100%;
  height: 100%;
  display: inline-block;
}

.over-hidden {
  overflow: hidden;
}

@media screen and (max-width: 960px) {
  .is-pc {
    display: none !important;
  }
}

@media screen and (max-width: 430px) {
  .is-pc-02 {
    display: none !important;
  }
}

@media screen and (min-width: 961px) {
  .is-sp {
    display: none !important;
  }
}

@media screen and (min-width: 431px) {
  .is-sp-02 {
    display: none !important;
  }
}

.hover-opacity {
  transition: opacity 0.6s ease;
}

@media (hover: hover) {
  .hover-opacity:hover {
    opacity: 0.8;
  }
}
.hover-color {
  transition: color 0.6s ease;
}

@media (hover: hover) {
  .hover-color:hover {
    color: #16376e;
  }
}
.margin-center {
  margin-left: auto;
  margin-right: auto;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 1000;
}

.color-blue {
  color: #16376E;
}

.color-white {
  color: #fff;
}

.color-yellow {
  color: #FCFE79;
  font-size: 36px;
  font-family: var(--en-primary-font);
  display: block;
  margin-top: -9px;
}
@media screen and (max-width: 960px) {
  .color-yellow {
    font-size: 3.6rem;
  }
}

.palt {
  font-feature-settings: "palt";
}

/* =========================================
   トライアル応募フォーム (/trial)
   - 配色: orange #F77F2C (主CTA), blue #16376E (ghost), red #ee3c3c (required)
   - 既存 .top-contact-form-* 系の意匠 (border 2px #16376E, radius 9px) を踏襲
   ========================================= */
.top-trial-fv {
  /* .header (position:fixed; height:98px) と被らないよう、index 側
     .top-fv:477 と同じく margin-top:98px で逃がす。 */
  margin-top: 98px;
  padding: 60px 24px 40px;
  background: linear-gradient(135deg, #eff6ff 0%, #f0fdfa 60%, #fef3c7 100%);
  text-align: center;
}
.top-trial-fv-inner {
  max-width: 880px;
  margin: 0 auto;
}
.top-trial-fv-ttl {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.5;
  color: #16376E;
  margin-bottom: 20px;
  /* fixed header (.header height:98px) 分の余白を含めて scrollIntoView 時に
     上端がここで止まるようにする (中途半端な見切れを防止)。 */
  scroll-margin-top: 120px;
}
.top-trial-fv-ttl:focus {
  outline: 2px solid #16376E;
  outline-offset: 6px;
}
.top-trial-fv-lead {
  font-size: 15px;
  line-height: 1.8;
  color: #334155;
  margin-bottom: 24px;
}
.top-trial-fv-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  background: #ffffff;
  border: 1.5px solid #F77F2C;
  border-radius: 9999px;
  font-size: 14px;
  color: #222222;
}
.top-trial-fv-meta strong {
  color: #F77F2C;
  font-size: 18px;
  font-weight: 800;
  margin: 0 4px;
}
.top-trial-fv-meta-sep {
  color: #cbd5e1;
}
@media (max-width: 640px) {
  .top-trial-fv-ttl { font-size: 22px; }
  .top-trial-fv-meta { font-size: 13px; padding: 12px 18px; gap: 8px; }
  .top-trial-fv-meta strong { font-size: 16px; }
}

.top-trial-step {
  max-width: 760px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.top-trial-step[hidden] {
  display: none !important;
}
/* `.top-trial-fv` ヒーローを置かないページ (例: /docs/download, /docs-thanks)
   で最初に来る `.top-trial-step` 用。fixed `.header` (height:98px) と被るのを
   避けるため上余白を追加する。`.top-trial-fv` の margin-top と同じ値。 */
.top-trial-step--standalone {
  margin-top: 98px;
}
.top-trial-step-ttl {
  font-size: 24px;
  font-weight: 800;
  color: #16376E;
  margin-bottom: 12px;
  /* fixed header 分のオフセット (.top-trial-fv-ttl と同じ理由) */
  scroll-margin-top: 120px;
}
.top-trial-step-ttl:focus {
  outline: 2px solid #16376E;
  outline-offset: 6px;
}
.top-trial-step-lead {
  font-size: 15px;
  line-height: 1.8;
  color: #334155;
  margin-bottom: 16px;
}
.top-trial-step-note {
  font-size: 13px;
  line-height: 1.7;
  color: #64748b;
  padding: 12px 16px;
  background: #f8fafc;
  border-left: 3px solid #F77F2C;
  border-radius: 4px;
  margin-bottom: 16px;
}
.top-trial-step-note a { color: #16376E; text-decoration: underline; }

.top-trial-form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: relative;
}
.top-trial-fieldset {
  border: 1px solid #c7d2e3;
  border-radius: 12px;
  padding: 24px;
  /* 薄いネイビー (#16376E 系を低彩度で薄く) */
  background: #eef2f7;
}

/* 各 .top-trial-field の下に表示する個別バリデーションエラー */
.top-trial-field-error {
  margin: 6px 0 0;
  color: #b91c1c;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
}
.top-trial-field-error[hidden] { display: none; }
/* invalid input/select/textarea の枠を赤に強調 */
.top-trial-form input[aria-invalid="true"],
.top-trial-form select[aria-invalid="true"],
.top-trial-form textarea[aria-invalid="true"] {
  border-color: #ee3c3c;
  background: #fff5f5;
}
.top-trial-legend {
  font-size: 18px;
  font-weight: 700;
  color: #16376E;
  padding: 0 12px;
}
.top-trial-field { margin-top: 20px; }
.top-trial-field:first-of-type { margin-top: 8px; }
.top-trial-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 20px;
  /* input の下端を揃える (label が 1 行/2 行に分かれた場合の保険) */
  align-items: end;
}
/* row 内の左右 field は :first-of-type と nth-of-type(2) で margin-top が
   異なるため、明示的にリセットして縦位置をそろえる。 */
.top-trial-field-row .top-trial-field { margin-top: 0; }
@media (max-width: 640px) {
  .top-trial-field-row { grid-template-columns: 1fr; }
}
.top-trial-field-sub { margin-top: 8px; padding-left: 12px; }
.top-trial-label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #222222;
  margin-bottom: 8px;
}
.top-trial-label-sub {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 6px;
}
.top-trial-required {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #ee3c3c;
  color: #ffffff;
  font-size: 11px;
  border-radius: 4px;
  vertical-align: middle;
}
.top-trial-optional {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #94a3b8;
  color: #ffffff;
  font-size: 11px;
  border-radius: 4px;
  vertical-align: middle;
}

/* 項目ラベル (`.top-trial-label`) 内のバッジだけ、テキストをバッジの
   真ん中に配置 (line-height のデフォルト 1.4 のせいで text が上寄り
   になる問題の修正)。同意事項 (`.top-trial-consent`) 内にはバッジを
   表示しない方針のため、ここでは `.top-trial-label` 内のバッジのみ対象。 */
.top-trial-label .top-trial-required,
.top-trial-label .top-trial-optional {
  font-size: 10px;
  line-height: 1;
  padding: 4px 8px;
}

.top-trial-form input[type="text"],
.top-trial-form input[type="email"],
.top-trial-form select,
.top-trial-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid #cbd5e1;
  border-radius: 9px;
  font-size: 15px;
  font-family: inherit;
  background: #ffffff;
  color: #222222;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.top-trial-form input:focus,
.top-trial-form select:focus,
.top-trial-form textarea:focus {
  outline: none;
  border-color: #16376E;
  box-shadow: 0 0 0 3px rgba(22, 55, 110, 0.15);
}
.top-trial-form input:invalid:not(:placeholder-shown),
.top-trial-form select:invalid,
.top-trial-form textarea:invalid {
  border-color: #ee3c3c;
}
.top-trial-form textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.7;
}

.top-trial-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.top-trial-options--column { flex-direction: column; }
.top-trial-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  color: #222222;
  background: #ffffff;
  transition: border-color 0.15s, background 0.15s;
}
.top-trial-option:hover {
  border-color: #16376E;
  background: #f8fafc;
}
.top-trial-option input[type="radio"],
.top-trial-option input[type="checkbox"] {
  margin: 0;
  accent-color: #16376E;
}

.top-trial-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fafafa;
  font-size: 14px;
  line-height: 1.7;
  color: #222222;
  margin-top: 12px;
  cursor: pointer;
}
.top-trial-consent input[type="checkbox"] {
  margin-top: 4px;
  accent-color: #16376E;
}
.top-trial-consent a { color: #16376E; text-decoration: underline; }

.top-trial-error {
  margin: 16px 0;
  padding: 12px 16px;
  background: #fef2f2;
  border: 1.5px solid #ee3c3c;
  border-radius: 6px;
  color: #b91c1c;
  font-size: 14px;
  line-height: 1.6;
}

.top-trial-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.top-trial-btn {
  min-width: 200px;
  padding: 14px 32px;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.15s, background 0.15s, color 0.15s;
  border: 1.5px solid transparent;
}
.top-trial-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.top-trial-btn--primary {
  background: #F77F2C;
  color: #ffffff;
  border-color: #F77F2C;
}
.top-trial-btn--primary:hover:not(:disabled),
.top-trial-btn--primary:focus-visible {
  opacity: 0.85;
  outline: 2px solid #F77F2C;
  outline-offset: 2px;
}
.top-trial-btn--ghost {
  background: #ffffff;
  color: #16376E;
  border-color: #16376E;
}
.top-trial-btn--ghost:hover,
.top-trial-btn--ghost:focus-visible {
  background: #16376E;
  color: #ffffff;
  outline: 2px solid #16376E;
  outline-offset: 2px;
}

.top-trial-confirm-list {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 2fr;
  gap: 8px 24px;
  padding: 24px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 24px;
}
.top-trial-confirm-list dt {
  font-weight: 700;
  color: #64748b;
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
}
.top-trial-confirm-list dd {
  color: #222222;
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
  white-space: pre-wrap;
  word-break: break-word;
}
.top-trial-confirm-list dt:last-of-type,
.top-trial-confirm-list dd:last-of-type {
  border-bottom: none;
}
@media (max-width: 640px) {
  .top-trial-confirm-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .top-trial-confirm-list dt {
    padding-bottom: 2px;
    border-bottom: none;
  }
  .top-trial-confirm-list dd { padding-top: 2px; margin-bottom: 8px; }
}

/* =========================================
   Cookie 同意バナー (GA4 同意取得用)
   - JS は ./js/cookie-consent.js が制御
   - 配色は header-link-2 (orange CTA) / color-blue (#16376E) と整合
   ========================================= */
.cookie-banner {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 10001;
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.08);
  padding: 18px 20px;
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  font-family: "Noto Sans JP", sans-serif;
}

.cookie-banner.is-visible {
  transform: translateY(0);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.cookie-banner__text {
  flex: 1 1 280px;
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: #222222;
}

.cookie-banner__text a {
  color: #16376E;
  text-decoration: underline;
}

.cookie-banner__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.cookie-banner__btn {
  min-width: 120px;
  padding: 10px 22px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.cookie-banner__btn--accept {
  background: #F77F2C;
  color: #ffffff;
  border: 1.5px solid #F77F2C;
}

.cookie-banner__btn--accept:hover,
.cookie-banner__btn--accept:focus-visible {
  opacity: 0.8;
  outline: 2px solid #F77F2C;
  outline-offset: 2px;
}

.cookie-banner__btn--decline {
  background: #ffffff;
  color: #16376E;
  border: 1.5px solid #16376E;
}

.cookie-banner__btn--decline:hover,
.cookie-banner__btn--decline:focus-visible {
  background: #16376E;
  color: #ffffff;
  outline: 2px solid #16376E;
  outline-offset: 2px;
}

@media (max-width: 600px) {
  .cookie-banner__inner {
    flex-direction: column;
    align-items: stretch;
  }
  .cookie-banner__actions {
    display: flex;
    gap: 8px;
  }
  .cookie-banner__btn {
    flex: 1;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner {
    transition: none;
  }
}

/*# sourceMappingURL=style.css.map */
