@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-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;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  -webkit-tap-highlight-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: 2px solid #cfd6e2;
}

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

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #cfd6e2;
}

select {
  -moz-appearance: none;
  -webkit-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;
}

/**
* Available vars:
* @var --viewport-from: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --viewport-to: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --font-size-from: <number> - Number in pixels without the unit. Required if `--font-size` and `--min-font-size` is not exist.
* @var --font-size-to: <number> - Number in pixels without the unit. Required if `--font-size` and `--max-font-size` is not exist.
* @var --max-font-size: <number> - Number in pixels without the unit. Optional.
* @var --min-font-size: <number> - Number in pixels without the unit. Optional.
* @var --viewport-unit-converter: 1vw | 1vh | 1vmin | 1vmax - Optional. Default: 1vw.
* @var --font-size: <length> | <percentage> | <absolute-size> | <relative-size> | Global values - Optional.
*/
*,
*::before,
*::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

:where(body) {
  --viewport-from: 767;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 16;
}
:where(body) *,
:where(body) *::before,
:where(body) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
:where(body) {
  /*【明朝】スタンダード日本Webサイトなら*/
  /*【明朝】流行の感じを出していく（かつ文字コンテンツがメインなら）*/
  /*【ゴシック】スタンダード日本Webサイトなら*/
  /*【ゴシック】流行の感じを出していく（かつ文字コンテンツがメインなら）*/
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
  color: #0e318d;
  transition: 0.6s cubic-bezier(0.45, 0.05, 0.5, 1);
  margin: 0;
  overflow-x: clip;
}
:where(body).is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

html,
body {
  overflow-x: clip;
}

:where(a) {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
@media (any-hover: hover) {
  :where(a):hover {
    text-decoration: none;
  }
}

@media (any-hover: hover) {
  :where(a[href^="tel:"]) {
    pointer-events: none;
  }
}
:where(img) {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

:where(ul) {
  padding: 0;
  margin: 0;
}
:where(ul) :where(li) {
  list-style: none;
  line-height: 1;
}

/*
 * ダイアログスタイル
 * ============================================
 */
:where(dialog) {
  /* ダイアログのデフォルトスタイルをリセット */
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

/* ダイアログ表示時のスクロール制御 */
:root:has(dialog[open]) {
  overflow: hidden; /* ダイアログが開いている間はスクロールを禁止 */
}

/* ダイアログ背景のスタイル */
::backdrop {
  background-color: unset; /* ダイアログの背景色をリセット */
}

/* ページ遷移時のトランジション */
html.is-changing .transition-fade {
  transition: opacity 250ms;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}

details {
  cursor: pointer;
}

summary {
  list-style-type: none;
}

summary::-webkit-details-marker {
  display: none;
}

summary::marker {
  content: "";
}

/* インタラクティブ要素のタッチ操作を最適化 */
a,
area,
button,
[role=button],
input:not([type=range]),
label,
select,
details,
summary,
textarea {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes text-clip {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes fadeInLogo {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.l-footer {
  padding: 60px 0 100px;
  position: relative;
}
@media (min-width: 768px) {
  .l-footer {
    padding: 105px 0 40px;
  }
}
.l-footer::before {
  content: "";
  position: absolute;
  inset: -50px 0 0 0;
  background: #f4f4f4;
  z-index: -1;
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 768px) {
  .l-footer__inner {
    display: grid;
    grid-template-columns: 1fr min(480px, 50%);
  }
}
.l-footer__top {
  display: contents;
}
@media (min-width: 768px) {
  .l-footer__top {
    display: block;
  }
}
.l-footer__logo-area {
  display: grid;
  order: 1;
}
@media (min-width: 768px) {
  .l-footer__logo-area {
    order: unset;
  }
}
.l-footer__logo {
  display: grid;
  gap: 12px;
  text-decoration: none;
}
.l-footer__logo img {
  width: auto;
  height: 36px;
}
@media (min-width: 768px) {
  .l-footer__logo img {
    height: 40px;
  }
}
.l-footer__logo-text {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
}
.l-footer__logo-text *,
.l-footer__logo-text *::before,
.l-footer__logo-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__logo-text {
  color: #000000;
  letter-spacing: 0.05em;
}
.l-footer__sns {
  display: inline-block;
  width: 30px;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  margin-top: 20px;
}
@media (min-width: 768px) {
  .l-footer__sns {
    margin-top: 42px;
  }
}
@media (any-hover: hover) {
  .l-footer__sns:hover {
    opacity: 0.7;
  }
}
.l-footer__privacy-area {
  order: 3;
}
@media (min-width: 768px) {
  .l-footer__privacy-area {
    margin-top: 50px;
    text-align: left;
    order: unset;
  }
}
.l-footer__privacy {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 13;
}
.l-footer__privacy *,
.l-footer__privacy *::before,
.l-footer__privacy *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__privacy {
  color: #0e318d;
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.l-footer__privacy[target=_blank]::after {
  content: "";
  position: absolute;
  background: url(../../assets/img/common/icon-target.svg) no-repeat center center/contain;
  width: 12px;
  height: 8px;
  inset: 50% 0 auto auto;
  translate: calc(100% + 4px) -50%;
}
@media (any-hover: hover) {
  .l-footer__privacy:hover {
    opacity: 0.7;
  }
}
.l-footer__privacy-list {
  display: grid;
  gap: 8px;
}
.l-footer__copyright {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.l-footer__copyright *,
.l-footer__copyright *::before,
.l-footer__copyright *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__copyright {
  color: #96a1be;
  margin-top: 10px;
  line-height: 1.4545454545;
}
@media (min-width: 768px) {
  .l-footer__copyright {
    margin-top: 20px;
  }
}
.l-footer__nav {
  order: 2;
}
@media (min-width: 768px) {
  .l-footer__nav {
    order: unset;
  }
  .l-footer:has(.l-footer__sns) .l-footer__nav {
    margin-top: 50px;
  }
}
.l-footer__nav-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .l-footer__nav-list {
    gap: 60px;
  }
}
.l-footer__sub-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 768px) {
  .l-footer__sub-list {
    gap: 34px;
  }
}
.l-footer__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.l-footer__link *,
.l-footer__link *::before,
.l-footer__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__link {
  color: #0e318d;
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .l-footer__link:hover {
    opacity: 0.7;
  }
}
.l-footer__bg {
  position: absolute;
  inset: auto 0 0 0;
  z-index: -1;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 10px 15px 0;
  background: transparent;
  transition: transform 0.4s cubic-bezier(0.45, 0.05, 0.5, 1), background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .l-header {
    padding: 21px 15px 0;
  }
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-inline: auto;
  height: 56px;
  padding: 0 16px;
  background: #ffffff;
  border-radius: 100vmax;
  box-shadow: 3px 3px 10px 0px rgba(128, 128, 128, 0.13);
  transition: background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), box-shadow 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), border-radius 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .l-header__inner {
    padding: 0 32px;
  }
}
@media (min-width: 1024px) {
  .l-header__inner {
    height: 70px;
    padding: 0 56px;
  }
}
.l-header__logo {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  flex-shrink: 0;
  z-index: 1000;
}
@media (min-width: 768px) {
  .l-header__logo {
    gap: 12px;
  }
}
.l-header__logo img {
  width: auto;
  height: 28px;
  transition: filter 0.4s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .l-header__logo img {
    height: 40px;
  }
}
.l-header__logo-text {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.l-header__logo-text *,
.l-header__logo-text *::before,
.l-header__logo-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-header__logo-text {
  color: #000000;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: color 0.4s cubic-bezier(0.45, 0.05, 0.5, 1);
  margin-top: 6px;
}
@media (min-width: 768px) {
  .l-header__logo-text {
    margin-top: 8px;
  }
}
.l-header__nav {
  display: none;
}
@media (min-width: 1024px) {
  .l-header__nav {
    display: block;
  }
}
.l-header__list {
  display: flex;
  align-items: center;
  gap: 42px;
}
.l-header__item {
  position: relative;
}
.l-header__item--dropdown .l-header__link {
  display: flex;
  align-items: center;
  gap: 6px;
}
.l-header__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.l-header__link *,
.l-header__link *::before,
.l-header__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-header__link {
  font-weight: 600;
  color: #0e318d;
  text-decoration: none;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  white-space: nowrap;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), color 0.4s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .l-header__link:hover {
    opacity: 0.7;
  }
}
.l-header__dropdown-arrow {
  width: 9px;
  height: auto;
  transition: rotate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  will-change: rotate;
}
.is-dropdown-open .l-header__dropdown-arrow {
  rotate: 180deg;
}
.l-header__dropdown {
  position: absolute;
  inset: 35px auto auto 50%;
  translate: -50% 0;
  min-width: 200px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 3px 3px 10px 0px rgba(128, 128, 128, 0.13);
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), visibility 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.l-header__dropdown::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  width: 100%;
  height: 16px;
}
.is-dropdown-open > .l-header__dropdown {
  opacity: 1;
  visibility: visible;
}
.l-header__dropdown-list {
  list-style: none;
}
.l-header__dropdown-item + .l-header__dropdown-item {
  border-top: 1px solid rgba(217, 217, 217, 0.5);
}
.l-header__dropdown-link {
  display: block;
  padding: 10px 24px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 14;
}
.l-header__dropdown-link *,
.l-header__dropdown-link *::before,
.l-header__dropdown-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-header__dropdown-link {
  font-weight: 500;
  color: #0e318d;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .l-header__dropdown-link:hover {
    background: #f0fbfd;
  }
}
@media (min-width: 1024px) {
  .l-header__drawer {
    display: none;
  }
}
.l-header:not(.l-header--lower) .l-header__inner {
  background: transparent;
  box-shadow: none;
}

.l-inner {
  padding-inline: 5.1282051282vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-inner {
    max-width: calc(1300px + 9.7222222222vw);
    padding-inline: 4.8611111111vw;
  }
}

@media (min-width: 768px) {
  .l-inner--lg {
    max-width: calc(1100px + 9.7222222222vw);
  }
}

@media (min-width: 768px) {
  .l-inner--md {
    max-width: calc(785px + 9.7222222222vw);
  }
}

@media (min-width: 768px) {
  .l-inner--contact {
    max-width: calc(908px + 9.7222222222vw);
  }
}

.c-accordion__item {
  background: #f4f4f4;
  border-radius: 20px;
  overflow: hidden;
}
.c-accordion__item + .c-accordion__item {
  margin-top: 20px;
}
.c-accordion__question {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  text-align: left;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.c-accordion__question *,
.c-accordion__question *::before,
.c-accordion__question *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-accordion__question {
  font-weight: 600;
  color: #0e318d;
  line-height: 1.8;
  list-style: none;
}
.c-accordion__question::-webkit-details-marker {
  display: none;
}
.c-accordion__question::marker {
  display: none;
}
@media (min-width: 768px) {
  .c-accordion__question {
    padding: 40px 30px 40px 40px;
    gap: 40px;
  }
}
.c-accordion__icon {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 30;
}
.c-accordion__icon *,
.c-accordion__icon *::before,
.c-accordion__icon *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-accordion__icon {
  color: #3aa4ea;
  flex-shrink: 0;
  line-height: 1;
}
.c-accordion__toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0e318d;
  flex-shrink: 0;
  margin-left: auto;
}
.c-accordion__toggle::before, .c-accordion__toggle::after {
  content: "";
  position: absolute;
  background: #ffffff;
  transition: rotate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-accordion__toggle::before {
  width: 16px;
  height: 2px;
}
.c-accordion__toggle::after {
  width: 2px;
  height: 16px;
}
.is-open .c-accordion__toggle::after {
  rotate: 90deg;
}
.c-accordion__answer {
  overflow: hidden;
}
.c-accordion__answer-inner {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 0 24px 24px;
}
@media (min-width: 768px) {
  .c-accordion__answer-inner {
    padding: 0 40px 32px 40px;
    gap: 40px;
  }
}
.c-accordion__answer-icon {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 30;
}
.c-accordion__answer-icon *,
.c-accordion__answer-icon *::before,
.c-accordion__answer-icon *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-accordion__answer-icon {
  color: #22c934;
  flex-shrink: 0;
  line-height: 1;
}
.c-accordion__answer-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-accordion__answer-text *,
.c-accordion__answer-text *::before,
.c-accordion__answer-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-accordion__answer-text {
  line-height: 2;
  color: #0e318d;
}

.c-breadcrumbs {
  margin-left: auto;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 15;
}
.c-breadcrumbs *,
.c-breadcrumbs *::before,
.c-breadcrumbs *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-breadcrumbs {
  line-height: 1.6;
  color: #b4c3f2;
}
@media (min-width: 768px) {
  .c-breadcrumbs {
    padding-top: 32px;
  }
}
.c-breadcrumbs__inner {
  max-width: 1440px;
}
.c-breadcrumbs__inner > span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: end;
  gap: 4px 42px;
}
.c-breadcrumbs__inner > span > span:not(:first-child) {
  position: relative;
}
.c-breadcrumbs__inner > span > span:not(:first-child)::before {
  content: "";
  background-image: url(../img/common/icon-arrow02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 6px;
  height: 11px;
  position: absolute;
  inset: 50% auto auto -22px;
  translate: 0 -50%;
}
.c-breadcrumbs a {
  color: #0e318d;
}

.c-button02__arrow, .c-button-large__icon, .c-button__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  display: grid;
  place-items: center;
  transition: scale 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  will-change: scale;
}
.c-button02__arrow img, .c-button-large__icon img, .c-button__icon img {
  width: 16px;
  height: auto;
}

.c-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
  padding: 12px 16px 12px 24px;
  border: 1px solid #7c92d8;
  border-radius: 100vmax;
  background: #ffffff;
  color: #0e318d;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-button *,
.c-button *::before,
.c-button *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button {
  line-height: 30px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  cursor: pointer;
}
.c-button__icon {
  background: #22c934;
  transition: background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-button__icon img {
  transition: filter 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .c-button:hover {
    background: #0e318d;
    color: #ffffff;
  }
  .c-button:hover .c-button__icon {
    background: #ffffff;
  }
  .c-button:hover .c-button__icon img {
    filter: brightness(0) saturate(100%) invert(14%) sepia(63%) saturate(3956%) hue-rotate(222deg) brightness(85%) contrast(101%);
  }
}

.c-button-large {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
  padding: 30px 24px;
  border-radius: 20px;
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .c-button-large {
    border-radius: 35px;
  }
}
@media (min-width: 1024px) {
  .c-button-large {
    padding: 50px 50px;
  }
}
.c-button-large__text-en {
  display: block;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 39;
}
.c-button-large__text-en *,
.c-button-large__text-en *::before,
.c-button-large__text-en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button-large__text-en {
  letter-spacing: 0.025em;
  line-height: 1;
}
.c-button-large__text-ja {
  display: block;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.c-button-large__text-ja *,
.c-button-large__text-ja *::before,
.c-button-large__text-ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button-large__text-ja {
  font-weight: 600;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .c-button-large__text-ja {
    margin-top: 4px;
  }
}
.c-button-large--sky {
  background: #5cbfea;
}
.c-button-large--green {
  background: #6ad776;
}
@media (any-hover: hover) {
  .c-button-large:hover .c-button-large__icon {
    scale: 1.3;
  }
}

.c-button02 {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 400px;
  gap: 12px;
  padding: 10px 24px;
  background: #9fd7f0;
  border-radius: 20px;
  text-decoration: none;
  color: #0e318d;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .c-button02 {
    padding: 14px 30px;
  }
}
.c-button02__icon {
  width: 30px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-button02__icon {
    width: 80px;
  }
}
.c-button02__icon img {
  width: 100%;
  height: auto;
}
.c-button02__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 17;
}
.c-button02__text *,
.c-button02__text *::before,
.c-button02__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button02__text {
  font-weight: 600;
  line-height: 1.4705882353;
  flex: 1;
}
.c-button02__arrow {
  flex-shrink: 0;
}
@media (any-hover: hover) {
  .c-button02:hover .c-button02__arrow {
    scale: 1.3;
  }
}

.c-coming-soon {
  padding-block: 80px 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-coming-soon {
    padding-block: 120px 180px;
  }
}
.c-coming-soon__title {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 36;
  --max-font-size: 44;
}
.c-coming-soon__title *,
.c-coming-soon__title *::before,
.c-coming-soon__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-coming-soon__title {
  color: #d1d9f2;
  text-align: center;
  line-height: 1.25;
  letter-spacing: 0.025em;
  border-bottom: 1px solid #bfcaf0;
  padding-bottom: 15px;
}
.c-coming-soon__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-coming-soon__text *,
.c-coming-soon__text *::before,
.c-coming-soon__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-coming-soon__text {
  line-height: 2;
  margin-top: 20px;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.c-card03__arrow, .c-card02__arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: scale 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  will-change: scale;
}
.c-card03__arrow img, .c-card02__arrow img {
  width: 16px;
  height: auto;
}

.c-card {
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-card__img {
  max-width: 300px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-card__img {
    max-width: 100%;
  }
}
.c-card__tag {
  margin-top: 25px;
}
.c-card__catch {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.c-card__catch *,
.c-card__catch *::before,
.c-card__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card__catch {
  font-weight: 700;
  line-height: 1.5;
  margin-top: 10px;
  color: #263775;
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-card__meta {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.c-card__meta *,
.c-card__meta *::before,
.c-card__meta *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card__meta {
  display: flex;
  gap: 20px;
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid #0e318d;
  color: #263775;
}
@media (any-hover: hover) {
  .c-card:hover {
    opacity: 0.7;
  }
}

.c-card02 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 25px 30px;
  border-radius: 28px;
  text-decoration: none;
  text-align: center;
  transition: box-shadow 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  position: relative;
}
.c-card02::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -35px auto auto 50%;
  translate: -50% 0;
  width: min(214px, 80%);
  aspect-ratio: 1;
  border-radius: 28px;
  border-radius: 50%;
}
.c-card02--green {
  background: #a9ebaf;
}
.c-card02--green::before {
  background: #a9ebaf;
}
.c-card02--green .c-card02__text {
  color: #005217;
}
@media (any-hover: hover) {
  .c-card02:hover .c-card02__arrow {
    scale: 1.3;
  }
}
.c-card02--green02 {
  background: #87e5d6;
}
.c-card02--green02::before {
  background: #87e5d6;
}
.c-card02--green02 .c-card02__text {
  color: #073e35;
}
.c-card02--blue {
  background: #9fd7f0;
}
.c-card02--blue::before {
  background: #9fd7f0;
}
.c-card02__icon {
  width: 90px;
}
.c-card02__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 17;
}
.c-card02__text *,
.c-card02__text *::before,
.c-card02__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card02__text {
  font-weight: 600;
  line-height: 1.4705882353;
}
.c-card02__arrow {
  margin-top: 18px;
}

.c-card03 {
  display: block;
  padding: 20px;
  text-decoration: none;
  color: #0e318d;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  background: #ffffff;
  border-radius: 20px;
  display: block;
}
@media (min-width: 768px) {
  .c-card03 {
    padding: 26px 30px 25px;
  }
}
@media (any-hover: hover) {
  .c-card03:hover {
    opacity: 0.7;
  }
  .c-card03:hover .c-card03__arrow {
    scale: 1.1;
  }
}
.c-card03__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  gap: 4px;
}
.c-card03__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 25;
}
.c-card03__title *,
.c-card03__title *::before,
.c-card03__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card03__title {
  font-weight: 600;
  color: #0e318d;
}
.c-card03__body {
  padding-top: 28px;
  border-top: 1px solid #0e318d;
}
.c-card03:has(.c-card03__free-text) .c-card03__body {
  padding-top: 20px;
}
.c-card03__labels {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.c-card03__text {
  line-height: 1.875;
}
.c-card03__tags {
  margin-top: 12px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}
.c-card03__free-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-card03__free-text *,
.c-card03__free-text *::before,
.c-card03__free-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card03__free-text {
  color: #0e318d;
}
.c-card03__tag {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.c-card03__tag *,
.c-card03__tag *::before,
.c-card03__tag *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-card03__tag {
  line-height: 2.1428571429;
}
.c-card03__arrow {
  background: #0e318d;
  transition: scale 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  flex-shrink: 0;
}

.c-drawer__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
  z-index: 1001;
  padding: 0;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line {
  background: transparent;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line::before {
  transform: rotate(45deg);
  top: 0;
  background: #0e318d;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line::after {
  transform: rotate(-45deg);
  top: 0;
  background: #0e318d;
}
.c-drawer__button.-close {
  position: absolute;
  top: 18px;
  right: 31px;
}
@media (min-width: 768px) {
  .c-drawer__button.-close {
    top: 29px;
    right: 47px;
  }
}
.c-drawer__button.-close .c-drawer__line {
  background: transparent;
}
.c-drawer__button.-close .c-drawer__line::before {
  transform: rotate(45deg);
  top: 0;
}
.c-drawer__button.-close .c-drawer__line::after {
  transform: rotate(-45deg);
  top: 0;
}
.c-drawer__line {
  display: block;
  width: 24px;
  height: 2px;
  background: #0e318d;
  position: relative;
  transition: background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-drawer__line::before, .c-drawer__line::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #0e318d;
  position: absolute;
  left: 0;
  transition: transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), top 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-drawer__line::before {
  top: -8px;
}
.c-drawer__line::after {
  top: 8px;
}
.c-drawer__dialog {
  position: fixed;
  width: 100%;
  height: 100%;
  max-width: 100%;
  inset: 0;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: rgba(255, 255, 255, 0.95);
  z-index: 999;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
}
.c-drawer__dialog::backdrop {
  display: none;
}
.c-drawer__dialog[open] {
  display: block;
}
.c-drawer__dialog.is-open {
  animation: drawerFadeIn 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
}
.c-drawer__dialog.is-close {
  animation: drawerFadeOut 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
}
.c-drawer__inner {
  padding-top: 116px;
  padding-bottom: 40px;
}
.c-drawer__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media (min-width: 768px) {
  .c-drawer__nav {
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
  }
}
.c-drawer__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 230px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-drawer__list {
    max-width: 100%;
  }
}
.c-drawer__item {
  border-bottom: 1px solid #d9e8f8;
  padding: 20px 0;
}
.c-drawer__item:first-child {
  border-top: 1px solid #d9e8f8;
}
.c-drawer__link {
  display: block;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 22;
}
.c-drawer__link *,
.c-drawer__link *::before,
.c-drawer__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-drawer__link {
  font-weight: 600;
  line-height: 1.4285714286;
  color: #0e318d;
  text-decoration: none;
}
.c-drawer__label {
  display: block;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 22;
}
.c-drawer__label *,
.c-drawer__label *::before,
.c-drawer__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-drawer__label {
  font-weight: 600;
  line-height: 1.4285714286;
  color: #0e318d;
  margin-bottom: 16px;
}
.c-drawer__list-lv2 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-left: 20px;
}
.c-drawer__link-lv2 {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 17;
}
.c-drawer__link-lv2 *,
.c-drawer__link-lv2 *::before,
.c-drawer__link-lv2 *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-drawer__link-lv2 {
  color: #0e318d;
  line-height: 1.4166666667;
  text-decoration: none;
}
.c-drawer__buttons {
  display: grid;
  gap: 10px;
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-drawer__buttons {
    gap: 16px;
    max-width: 100%;
  }
}
.c-drawer__buttons .c-button-large {
  width: 100%;
}

@keyframes drawerFadeIn {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes drawerFadeOut {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.c-filter {
  display: flex;
  gap: 10px 20px;
}
.c-filter__item {
  padding: 10px 18px;
  border-radius: 999px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 17;
}
.c-filter__item *,
.c-filter__item *::before,
.c-filter__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-filter__item {
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  background: #bdc8eb;
  color: #ffffff;
  border: none;
  line-height: 1;
}
@media (min-width: 768px) {
  .c-filter__item {
    padding: 10px 21px;
  }
}
.c-filter__item.is-active {
  background: #0e318d;
}
@media (any-hover: hover) {
  .c-filter__item:hover:not(.is-active) {
    background: #0e318d;
  }
}

.c-floating-nav {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 100;
  display: flex;
}
@media (min-width: 768px) {
  .c-floating-nav {
    inset: 75% 0 auto auto;
    translate: 0 -50%;
    flex-direction: column;
    gap: 5px;
  }
}
.c-floating-nav__item {
  display: flex;
  align-items: center;
  justify-content: center;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.c-floating-nav__item *,
.c-floating-nav__item *::before,
.c-floating-nav__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-floating-nav__item {
  width: 50%;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  height: 50px;
}
@media (min-width: 768px) {
  .c-floating-nav__item {
    width: 50px;
    height: 140px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    border-radius: 5px 0 0 5px;
  }
}
.c-floating-nav__item--sky {
  background: #3aa4ea;
}
.c-floating-nav__item--green {
  background: #22c934;
}
@media (any-hover: hover) {
  .c-floating-nav__item:hover {
    opacity: 0.8;
  }
}

.c-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-flow__item {
  max-width: 789px;
  width: 100%;
  padding: 30px 0;
  border-bottom: 1px solid #d9d9d9;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 768px) {
  .c-flow__item {
    flex-direction: row;
    align-items: flex-start;
    gap: 44px;
    padding: 48px 0;
  }
}
.c-flow__item:last-child {
  border-bottom: none;
}
.c-flow__step {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 23;
}
.c-flow__step *,
.c-flow__step *::before,
.c-flow__step *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-flow__step {
  color: #3aa4ea;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-flow__step {
    min-width: 80px;
  }
}
.c-flow__content {
  flex: 1;
}
.c-flow__label {
  display: inline-block;
  padding: 0px 16px;
  background: #0e318d;
  color: #ffffff;
  border-radius: 10px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.c-flow__label *,
.c-flow__label *::before,
.c-flow__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-flow__label {
  font-weight: 600;
}
.c-flow__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-flow__text *,
.c-flow__text *::before,
.c-flow__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-flow__text {
  line-height: 2;
  color: #0e318d;
  margin-top: 16px;
}
.c-flow__button {
  margin-top: 16px;
  max-width: 289px;
}

/*------------------------------------
  c-form
-------------------------------------*/
.c-form__group {
  display: grid;
  gap: 8px;
}
@media (min-width: 768px) {
  .c-form__group {
    grid-template-columns: 195px 1fr;
    align-items: center;
    gap: 0;
  }
}
.c-form__group + .c-form__group {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .c-form__group + .c-form__group {
    margin-top: 56px;
  }
}
.c-form__group:has(.c-form__checkbox) {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .c-form__group:has(.c-form__checkbox) {
    margin-bottom: 60px;
  }
}
[data-orig_data_id] .c-form__group {
  margin-block: 24px;
}
@media (min-width: 768px) {
  [data-orig_data_id] .c-form__group {
    margin-block: 60px;
  }
}
@media (min-width: 768px) {
  .c-form__group--radio {
    align-items: start;
  }
}
.c-form__label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-form__label *,
.c-form__label *::before,
.c-form__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-form__label {
  font-weight: 600;
  color: #0e318d;
  line-height: 2;
}
.c-form__labelWrapper {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
@media (min-width: 768px) {
  .c-form__group:has(.c-form__checkbox) .c-form__labelWrapper, .c-form__group:has(.c-form__textarea) .c-form__labelWrapper {
    align-self: start;
  }
}
@media (min-width: 768px) {
  .c-form__group:has(.c-form__textarea) .c-form__labelWrapper {
    margin-top: 8px;
  }
}
.c-form__required {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 15;
}
.c-form__required *,
.c-form__required *::before,
.c-form__required *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-form__required {
  display: inline-block;
  color: #fd8800;
  font-weight: 600;
  line-height: 2;
}
.c-form .wpcf7-list-item {
  margin: 0;
}
.c-form__column {
  display: grid;
  margin-block: 32px;
}
@media (min-width: 768px) {
  .c-form__column {
    margin-block: 40px;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    width: -moz-fit-content;
    width: fit-content;
    gap: 40px;
  }
}
.c-form__checkbox .wpcf7-form-control {
  display: flex;
  flex-direction: column;
}
.c-form__checkbox .wpcf7-form-control label {
  display: flex;
  gap: 12px;
  align-items: center;
}
.c-form input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  position: relative;
  border: 1px solid #0e318d;
  border-radius: 50%;
  flex-shrink: 0;
}
.c-form input[type=radio]::after {
  content: "";
  width: 12px;
  height: 12px;
  background: #22c934;
  border-radius: 50%;
  position: absolute;
  inset: 0;
  margin: auto;
  opacity: 0;
}
.c-form input[type=radio]:checked::after {
  opacity: 1;
}
.c-form input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  position: relative;
  border: 1px solid #7c92d8;
  border-radius: 2px;
  flex-shrink: 0;
}
.c-form input[type=checkbox]::after {
  content: "";
  width: 7px;
  height: 12px;
  border-bottom: 2px solid #22c934;
  border-right: 2px solid #22c934;
  rotate: 45deg;
  position: absolute;
  top: 1px;
  left: 6px;
  opacity: 0;
}
.c-form input[type=checkbox]:checked::after {
  opacity: 1;
}
.c-form__button {
  padding: 0;
}
.c-form__button .c-button__icon {
  display: none;
}
.c-form__button input {
  width: 100%;
  padding: 12px 16px 12px 24px;
  text-align: center;
}
.c-form__privacy {
  margin-inline: auto;
  margin-top: 40px;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .c-form__privacy {
    margin-top: 82px;
  }
}
.c-form__privacy .wpcf7-list-item {
  margin-top: 0;
}
.c-form__privacy-checkbox {
  text-align: center;
  margin-top: 24px;
}
.c-form__privacy label {
  display: flex;
  gap: 8px;
  align-items: center;
}
@media (min-width: 768px) {
  .c-form__privacy label {
    gap: 18px;
  }
}
.c-form__privacy-checkbox {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-form__privacy-checkbox *,
.c-form__privacy-checkbox *::before,
.c-form__privacy-checkbox *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-form__privacy-checkbox {
  font-weight: 400;
  line-height: 2;
}
.c-form__privacy-checkbox a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.c-form__recaptcha-note {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 13;
}
.c-form__recaptcha-note *,
.c-form__recaptcha-note *::before,
.c-form__recaptcha-note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-form__recaptcha-note {
  color: #0e318d;
  text-align: center;
  margin-top: 20px;
  line-height: 2.3076923077;
}
.c-form__recaptcha-note a {
  text-decoration: underline;
}
.c-form__submit {
  margin-top: 44px;
  max-width: 289px;
  margin-inline: auto;
  position: relative;
}
@media (min-width: 768px) {
  .c-form__submit {
    margin-top: 44px;
  }
}
.c-form__submit .c-button {
  width: 100%;
  text-align: left;
}
.c-form__submit .c-button input {
  color: #0e318d;
}
@media (any-hover: hover) {
  .c-form__submit .c-button:hover input {
    color: #ffffff;
  }
}
.c-form__submit .c-button__icon {
  position: absolute;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
}
@media (any-hover: hover) {
  .c-form__submit .c-button__icon:hover {
    background: #0e318d;
  }
}
.c-form .wpcf7-spinner {
  display: none;
}
.c-form__input[type=text], .c-form__input[type=email], .c-form__input[type=tel], .c-form__textarea {
  background: #f4f4f4;
  border: none;
  border-radius: 10px;
  padding: 9px 16px;
  width: 100%;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 15;
}
.c-form__input[type=text] *,
.c-form__input[type=text] *::before,
.c-form__input[type=text] *::after, .c-form__input[type=email] *,
.c-form__input[type=email] *::before,
.c-form__input[type=email] *::after, .c-form__input[type=tel] *,
.c-form__input[type=tel] *::before,
.c-form__input[type=tel] *::after, .c-form__textarea *,
.c-form__textarea *::before,
.c-form__textarea *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-form__input[type=text], .c-form__input[type=email], .c-form__input[type=tel], .c-form__textarea {
  line-height: 2;
  color: #0e318d;
  font-weight: 500;
}
.c-form__input[type=text]::placeholder, .c-form__input[type=text]::-webkit-input-placeholder, .c-form__input[type=text]::-moz-placeholder, .c-form__input[type=text]:-ms-input-placeholder, .c-form__input[type=email]::placeholder, .c-form__input[type=email]::-webkit-input-placeholder, .c-form__input[type=email]::-moz-placeholder, .c-form__input[type=email]:-ms-input-placeholder, .c-form__input[type=tel]::placeholder, .c-form__input[type=tel]::-webkit-input-placeholder, .c-form__input[type=tel]::-moz-placeholder, .c-form__input[type=tel]:-ms-input-placeholder, .c-form__textarea::placeholder, .c-form__textarea::-webkit-input-placeholder, .c-form__textarea::-moz-placeholder, .c-form__textarea:-ms-input-placeholder {
  color: #bfbebe;
  opacity: 1;
  font-weight: 500;
}
.wpcf7-form:not(.hide_error_message) .c-form__input[type=text].wpcf7-not-valid, .wpcf7-form:not(.hide_error_message) .c-form__input[type=email].wpcf7-not-valid, .wpcf7-form:not(.hide_error_message) .c-form__input[type=tel].wpcf7-not-valid, .wpcf7-form:not(.hide_error_message) .c-form__textarea.wpcf7-not-valid {
  border: 1px solid #e5002d;
}
.c-form__textarea {
  min-height: 4lh;
  height: 6lh;
  line-height: 2.1333333333;
}

.wpcf7 form .wpcf7-response-output {
  border-color: transparent;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
  display: none;
}

.wpcf7-form:not(.hide_error_message) .wpcf7-not-valid input[type=checkbox],
.wpcf7-form:not(.hide_error_message) .wpcf7-not-valid input[type=radio] {
  border-color: #e5002d;
}

.c-heading__ja {
  display: block;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.c-heading__ja *,
.c-heading__ja *::before,
.c-heading__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading__ja {
  font-weight: 500;
  color: #0e318d;
  letter-spacing: 0.05em;
}
.c-heading__en {
  display: block;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 80;
}
.c-heading__en *,
.c-heading__en *::before,
.c-heading__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading__en {
  color: #0e318d;
  line-height: 1.1;
  letter-spacing: 0.025em;
}
.c-heading--white .c-heading__ja,
.c-heading--white .c-heading__en {
  color: #fff;
}

.c-heading02__en {
  display: block;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 17;
}
.c-heading02__en *,
.c-heading02__en *::before,
.c-heading02__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading02__ja {
  display: block;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 26;
  --max-font-size: 48;
}
.c-heading02__ja *,
.c-heading02__ja *::before,
.c-heading02__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading02__ja {
  line-height: 1.4;
}
.c-heading02--center {
  text-align: center;
}
.c-heading02--data .c-heading02__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 13;
}
.c-heading02--data .c-heading02__en *,
.c-heading02--data .c-heading02__en *::before,
.c-heading02--data .c-heading02__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading02--green-darker {
  color: #005217;
}
.c-heading02--green-dark {
  color: #073e35;
}

.c-heading03 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
}
@media (min-width: 768px) {
  .c-heading03 {
    gap: 12px 40px;
  }
}
.c-heading03__en {
  display: block;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 57;
}
.c-heading03__en *,
.c-heading03__en *::before,
.c-heading03__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading03__en {
  color: #0e318d;
  line-height: 1.1;
  letter-spacing: 0.025em;
}
.c-heading03__ja {
  display: block;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.c-heading03__ja *,
.c-heading03__ja *::before,
.c-heading03__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading03__ja {
  color: #0e318d;
}

.c-heading04__en {
  display: block;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 13;
}
.c-heading04__en *,
.c-heading04__en *::before,
.c-heading04__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading04__en {
  color: #0e318d;
  letter-spacing: 0.0153846154em;
  line-height: 3.0769230769;
}
.c-heading04__ja {
  display: block;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 50;
}
.c-heading04__ja *,
.c-heading04__ja *::before,
.c-heading04__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading04__ja {
  color: #0e318d;
  line-height: 1;
  letter-spacing: 0.03em;
}

.c-heading05__ja {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.c-heading05__ja *,
.c-heading05__ja *::before,
.c-heading05__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading05__ja {
  font-weight: 600;
}
.c-heading05__en {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 50;
  --max-font-size: 88;
}
.c-heading05__en *,
.c-heading05__en *::before,
.c-heading05__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-heading05__en {
  line-height: 1.1;
  letter-spacing: 0.025em;
  word-break: break-all;
}

.c-label {
  display: inline-block;
  padding: 8px 10px;
  border-radius: 5px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 13;
}
.c-label *,
.c-label *::before,
.c-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-label {
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #ffffff;
}
.c-label--navy {
  background: #0e318d;
}
.c-label--cyan {
  background: #2cabe3;
}
.c-label--purple {
  background: #9175dd;
}
.c-label--orange {
  background: #e69902;
}
.c-label--green {
  background: #57ce63;
}
.c-label--purple-light {
  background: #9175dd;
}

.c-label02 {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 100vmax;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 12;
}
.c-label02 *,
.c-label02 *::before,
.c-label02 *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-label02 {
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #ffffff;
}
.c-label02--green {
  background: #22c934;
}
.c-label02--blue {
  background: #3aa4ea;
}
.c-label02--teal {
  background: #1dc3a9;
}
.c-label02--large {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.c-label02--large *,
.c-label02--large *::before,
.c-label02--large *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-label02--large {
  padding: 10px 20px 9px;
}

.c-table__row {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
  border-bottom: 1px solid #d9d9d9;
}
@media (min-width: 768px) {
  .c-table__row {
    flex-direction: row;
    gap: 52px;
    padding: 24px 0;
  }
}
.c-table__label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-table__label *,
.c-table__label *::before,
.c-table__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-table__label {
  font-weight: 600;
  color: #0e318d;
  margin-bottom: 8px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .c-table__label {
    width: 160px;
    margin-bottom: 0;
  }
}
.c-table__value {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-table__value *,
.c-table__value *::before,
.c-table__value *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-table__value {
  line-height: 1.9;
  color: #0e318d;
  flex: 1;
}

.c-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.c-text *,
.c-text *::before,
.c-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-text {
  line-height: 2;
  letter-spacing: 0;
}

.p-about-mv {
  position: relative;
  background: #f0fbfd;
  overflow: hidden;
  padding: 82px 0 0;
}
@media (min-width: 768px) {
  .p-about-mv {
    padding: 188px 0 0;
  }
}
.p-about-mv__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(221.63deg, #e7fee8 0%, #f0fbfd 69.378%);
  pointer-events: none;
}
.p-about-mv__inner {
  position: relative;
  z-index: 1;
  padding-inline: 5.1282051282vw;
  max-width: calc(1300px + 9.7222222222vw);
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-about-mv__inner {
    padding-inline: 4.8611111111vw;
  }
}
.p-about-mv__heading-wrapper {
  display: grid;
  grid-template-areas: "breadcrumbs" "heading";
}
@media (min-width: 768px) {
  .p-about-mv__heading-wrapper {
    grid-template-areas: "heading" "breadcrumbs";
  }
}
.p-about-mv__heading {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  grid-area: heading;
}
.p-about-mv__breadcrumbs {
  grid-area: breadcrumbs;
}
.p-about-mv__photos {
  position: relative;
  margin-top: 30px;
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .p-about-mv__photos {
    gap: min(4.4444444444vw, 64px);
  }
}
.p-about-mv__photo {
  overflow: hidden;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .p-about-mv__photo {
    border-radius: 50px;
  }
}
.p-about-mv__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-about-mv__photo--01 {
  width: 25%;
  aspect-ratio: 290/375;
  align-self: start;
}
@media (min-width: 768px) {
  .p-about-mv__photo--01 {
    width: 200px;
  }
}
@media (min-width: 1024px) {
  .p-about-mv__photo--01 {
    width: 290px;
  }
}
.p-about-mv__photo--02 {
  width: 45%;
  aspect-ratio: 593/736;
}
@media (min-width: 768px) {
  .p-about-mv__photo--02 {
    width: 400px;
  }
}
@media (min-width: 1024px) {
  .p-about-mv__photo--02 {
    width: 593px;
  }
}
.p-about-mv__photo--03 {
  width: 25%;
  aspect-ratio: 290/375;
  align-self: end;
}
@media (min-width: 768px) {
  .p-about-mv__photo--03 {
    width: 200px;
  }
}
@media (min-width: 1024px) {
  .p-about-mv__photo--03 {
    width: 290px;
  }
}
.p-about-mv__deco {
  position: absolute;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-about-mv__deco {
    display: block;
  }
}
.p-about-mv__deco--01 {
  inset: 0 0 auto auto;
  width: min(180px, 48vw);
  height: auto;
}
@media (min-width: 1024px) {
  .p-about-mv__deco--01 {
    width: 34.5138888889vw;
  }
}
.p-about-mv__deco--02 {
  inset: auto auto 0 0;
  width: min(120px, 40vw);
  height: auto;
}
@media (min-width: 1024px) {
  .p-about-mv__deco--02 {
    width: 20.2083333333vw;
  }
}

.p-about-side {
  display: none;
}
@media (min-width: 768px) {
  .p-about-side {
    display: none;
    position: fixed;
    inset: 120px auto auto auto;
    z-index: 10;
    width: auto;
    background: transparent;
    box-shadow: none;
  }
}
.p-about-side.is-visible {
  display: block;
}
.p-about-side__list {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .p-about-side__list {
    flex-direction: column;
    gap: 20px;
    overflow-x: visible;
  }
}
.p-about-side__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 15;
}
.p-about-side__link *,
.p-about-side__link *::before,
.p-about-side__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-side__link {
  line-height: 1.0666666667;
  color: #b4c3f2;
  text-decoration: none;
  font-weight: 400;
  white-space: nowrap;
  padding: 12px 16px;
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .p-about-side__link {
    padding: 0;
    white-space: normal;
  }
}
.p-about-side__link.is-active {
  color: #0e318d;
  font-weight: 600;
}

.p-about-container {
  background: #f0fbfd;
  padding: 60px 0 80px;
  border-radius: 0 0 30px 30px;
}
@media (min-width: 768px) {
  .p-about-container {
    padding: 160px 0 140px;
    border-radius: 0 0 60px 60px;
  }
}
@media (min-width: 768px) {
  .p-about-container__inner {
    display: grid;
    grid-template-columns: min(17.7083333333vw, 255px) 1fr;
    gap: min(4.1666666667vw, 60px);
    align-items: start;
  }
}

.p-about-content {
  width: 100%;
}
@media (min-width: 768px) {
  .p-about-content {
    grid-column: 2;
  }
}

.p-about-introduction__text {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-about-introduction__text {
    margin-top: 40px;
  }
}
.p-about-introduction__note {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 12;
}
.p-about-introduction__note *,
.p-about-introduction__note *::before,
.p-about-introduction__note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-introduction__note {
  line-height: 2.5;
  margin-top: 7px;
  letter-spacing: 0;
}
.p-about-introduction__img {
  margin-top: 40px;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-about-introduction__img {
    margin-top: 40px;
    border-radius: 50px;
  }
}
.p-about-introduction__img img {
  width: 100%;
  height: auto;
}

.p-about-story {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #7c92d8;
}
@media (min-width: 768px) {
  .p-about-story {
    margin-top: 100px;
    padding-top: 90px;
  }
}
.p-about-story__text {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-about-story__text {
    margin-top: 35px;
  }
}
.p-about-story__button {
  margin-top: 24px;
}

.p-about-value {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px solid #7c92d8;
}
@media (min-width: 768px) {
  .p-about-value {
    margin-top: 100px;
    padding-top: 90px;
  }
}
.p-about-value__subtitle {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-about-value__subtitle *,
.p-about-value__subtitle *::before,
.p-about-value__subtitle *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-value__subtitle {
  font-weight: 600;
  line-height: 1.6;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-about-value__subtitle {
    margin-top: 35px;
  }
}
.p-about-value__text {
  margin-top: 15px;
}
.p-about-value__philosophy {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px 24px;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-about-value__philosophy {
    border-radius: 30px;
    padding: 45px 70px;
    margin-top: 45px;
  }
}
.p-about-value__philosophy-label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 18;
}
.p-about-value__philosophy-label *,
.p-about-value__philosophy-label *::before,
.p-about-value__philosophy-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-value__philosophy-label {
  font-weight: 600;
  color: #7c92d8;
}
.p-about-value__philosophy-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-about-value__philosophy-text *,
.p-about-value__philosophy-text *::before,
.p-about-value__philosophy-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-value__philosophy-text {
  font-weight: 600;
  line-height: 2;
  color: #0e318d;
  margin-top: 10px;
}

.p-about-message-wrapper {
  background: #ffffff;
  padding: 60px 0 60px;
  border-radius: 0 0 30px 30px;
  position: relative;
}
@media (min-width: 768px) {
  .p-about-message-wrapper {
    padding: 125px 0 75px;
    border-radius: 0 0 60px 60px;
  }
}
@media (min-width: 768px) {
  .p-about-message-wrapper__inner {
    display: grid;
    grid-template-columns: min(17.7083333333vw, 255px) 1fr;
    gap: min(4.1666666667vw, 60px);
  }
}

.p-about-message {
  width: 100%;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-about-message {
    grid-column: 2;
  }
}
.p-about-message__img {
  margin-top: 30px;
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-about-message__img {
    margin-top: 40px;
    border-radius: 50px;
  }
}
.p-about-message__img img {
  width: 100%;
  height: auto;
}
.p-about-message__text {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-about-message__text {
    margin-top: 45px;
  }
}
.p-about-message__text span {
  display: block;
}
.p-about-message__text span + span {
  margin-top: 1lh;
}
.p-about-message__sign {
  margin-top: 20px;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-about-message__sign {
    margin-top: 27px;
  }
}
.p-about-message__position {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.p-about-message__position *,
.p-about-message__position *::before,
.p-about-message__position *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-message__position {
  font-weight: 600;
}
.p-about-message__name {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 20;
}
.p-about-message__name *,
.p-about-message__name *::before,
.p-about-message__name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-message__name {
  font-weight: 600;
}

.p-about-overview-wrapper {
  background: #f4f4f4;
  padding: 60px 0 80px;
  border-radius: 0 0 30px 30px;
  position: relative;
  z-index: 0;
}
@media (min-width: 768px) {
  .p-about-overview-wrapper {
    padding: 185px 0 140px;
    border-radius: 0 0 60px 60px;
  }
}
@media (min-width: 768px) {
  .p-about-overview-wrapper__inner {
    display: grid;
    grid-template-columns: min(17.7083333333vw, 255px) 1fr;
    gap: min(4.1666666667vw, 60px);
  }
}
.p-about-overview-wrapper__deco {
  position: absolute;
  pointer-events: none;
  inset: 0 0 auto auto;
  width: min(405px, 108vw);
  height: auto;
  z-index: -1;
  translate: 0 -40%;
}
@media (min-width: 768px) {
  .p-about-overview-wrapper__deco {
    width: 28.125vw;
  }
}

.p-about-overview {
  width: 100%;
}
@media (min-width: 768px) {
  .p-about-overview {
    grid-column: 2;
  }
}
.p-about-overview__list {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-about-overview__list {
    margin-top: 60px;
  }
}
.p-about-overview__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  padding: 20px 0;
  border-top: 1px solid #d9d9d9;
}
@media (min-width: 768px) {
  .p-about-overview__row {
    grid-template-columns: 194px 1fr;
    gap: 20px;
    padding: 24px 0;
  }
}
.p-about-overview__row:last-child {
  border-bottom: 1px solid #d9d9d9;
}
.p-about-overview__term {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-about-overview__term *,
.p-about-overview__term *::before,
.p-about-overview__term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-overview__term {
  font-weight: 600;
}
.p-about-overview__desc {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-about-overview__desc *,
.p-about-overview__desc *::before,
.p-about-overview__desc *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-overview__desc {
  line-height: 2;
}
.p-about-overview__address + .p-about-overview__address {
  margin-top: 4px;
}
.p-about-overview__address-label {
  font-weight: 600;
}
.p-about-overview__map-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #0098fc;
  text-decoration: underline;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-about-overview__map-link *,
.p-about-overview__map-link *::before,
.p-about-overview__map-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (any-hover: hover) {
  .p-about-overview__map-link:hover {
    opacity: 0.7;
  }
}
.p-about-overview__map-link img {
  width: 16px;
  height: auto;
}

.p-complete {
  padding: 100px 0 80px;
}
@media (min-width: 768px) {
  .p-complete {
    padding: 220px 0 140px;
  }
}
.p-complete__text {
  margin-top: 30px;
  max-width: 704px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-complete__text {
    margin-top: 40px;
  }
}
.p-complete__button {
  margin-top: 40px;
  max-width: 289px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-complete__button {
    margin-top: 60px;
  }
}

.p-contact {
  padding: 0 0 80px;
}
@media (min-width: 768px) {
  .p-contact {
    padding: 0 0 140px;
  }
}
.p-contact__required-note {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.p-contact__form {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-contact__form {
    margin-top: 60px;
  }
}

.p-cta {
  background: #ffffff;
  border-radius: 33px;
  padding: 60px 0;
}
@media (min-width: 768px) {
  .p-cta {
    padding: 140px 0;
    border-radius: 60px;
  }
}
.p-cta__heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 35;
}
.p-cta__heading *,
.p-cta__heading *::before,
.p-cta__heading *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-cta__heading {
  font-weight: 600;
  color: #0e318d;
  line-height: 1.6;
  letter-spacing: 0.0628571429em;
  text-align: center;
  letter-spacing: 0;
}
.p-cta__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-cta__text *,
.p-cta__text *::before,
.p-cta__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-cta__text {
  font-weight: 600;
  color: #0e318d;
  line-height: 2;
  margin-top: 20px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-cta__text {
    margin-top: 13px;
  }
}
.p-cta__buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-inline: auto;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-cta__buttons {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 46px;
    gap: 24px;
  }
}

.p-data-section {
  position: relative;
  padding: 60px 0 80px;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media (min-width: 768px) {
  .p-data-section {
    padding: 135px 0 100px;
    border-radius: 0 0 60px 60px;
  }
}
.p-data-section:first-of-type {
  margin-top: 15px;
}
.p-data-section:not(:first-of-type) {
  padding-top: 120px;
  margin-top: -30px;
}
@media (min-width: 768px) {
  .p-data-section:not(:first-of-type) {
    padding-top: 190px;
    margin-top: -60px;
  }
}
.p-data-section--green {
  background: #e7fde9;
  border-radius: 30px;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-data-section--green {
    border-radius: 60px;
  }
}
.p-data-section--blue {
  background: #f0fbfd;
  z-index: 1;
}
.p-data-section--teal {
  background: #e5fcf8;
}
.p-data-section__deco {
  width: min(290px, 77.3333333333vw);
  height: auto;
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-data-section__deco {
    width: clamp(632px, 43.8888888889vw, 1000px);
  }
}
.p-data-section:not(:first-of-type) .p-data-section__deco {
  inset: 30px auto auto 0;
}
@media (min-width: 768px) {
  .p-data-section:not(:first-of-type) .p-data-section__deco {
    inset: 60px auto auto 0;
  }
}
.p-data-section__note {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-data-section__note *,
.p-data-section__note *::before,
.p-data-section__note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-section__note {
  color: #005217;
  margin-top: 16px;
}
.p-data-section--blue .p-data-section__note {
  color: #263775;
}
.p-data-section--teal .p-data-section__note {
  color: #073e35;
}

.p-data-cards {
  display: grid;
  gap: 16px;
  margin-top: 40px;
}
@media (min-width: 479px) {
  .p-data-cards {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .p-data-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 45px;
  }
}
.p-data-cards + .p-data-cards {
  margin-top: 16px;
}
@media (min-width: 1024px) {
  .p-data-cards + .p-data-cards {
    margin-top: 40px;
  }
}
.p-data-cards--col2 .p-data-card:has(.p-data-card__sub) {
  padding-bottom: 16px;
}
@media (min-width: 768px) {
  .p-data-cards--col2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-data-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 24px 16px;
  display: grid;
  align-items: center;
  position: relative;
}
@media (min-width: 768px) {
  .p-data-card {
    border-radius: 30px;
    padding: 30px 30px 20px;
  }
}
@media (min-width: 768px) {
  .p-data-cards--col2 .p-data-card {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .p-data-card:has(.p-data-card__body--row) {
    padding: 30px 18px 12px;
  }
}
@media (min-width: 768px) {
  .p-data-card:has(.p-data-card__body--row) .c-label02 {
    margin-left: 12px;
  }
}
.p-data-card .c-label02 {
  align-self: flex-start;
  width: -moz-fit-content;
  width: fit-content;
}
.p-data-card__icon {
  margin-top: 12px;
  justify-self: center;
}
.p-data-card__icon img {
  max-width: 270px;
  height: auto;
}
@media (min-width: 768px) {
  .p-data-card__icon img {
    max-width: 270px;
  }
}
.p-data-card__body {
  margin-top: 12px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}
.p-data-section--green .p-data-card__body {
  color: #005217;
}
@media (min-width: 768px) {
  .p-data-section--green .p-data-card__body {
    margin-top: 20px;
  }
}
.p-data-section--teal .p-data-card__body {
  color: #073e35;
}
.p-data-card__body--row {
  gap: 4px;
}
@media (min-width: 768px) {
  .p-data-card__body--row {
    gap: 12px;
  }
}
.p-data-card__body:has(+ .p-data-card__sub) {
  margin-top: 0;
  position: relative;
  top: -4px;
}
.p-data-card__body-item {
  display: flex;
  align-items: baseline;
  gap: 4px;
  position: relative;
}
.p-data-card__body-item .p-data-card__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 77;
}
.p-data-card__body-item .p-data-card__number *,
.p-data-card__body-item .p-data-card__number *::before,
.p-data-card__body-item .p-data-card__number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__body-item .p-data-card__unit {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 25;
}
.p-data-card__body-item .p-data-card__unit *,
.p-data-card__body-item .p-data-card__unit *::before,
.p-data-card__body-item .p-data-card__unit *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__number {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 70;
  --max-font-size: 105;
}
.p-data-card__number *,
.p-data-card__number *::before,
.p-data-card__number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__number {
  line-height: 1;
}
.p-data-card__number--large {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 70;
}
.p-data-card__number--large *,
.p-data-card__number--large *::before,
.p-data-card__number--large *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__number-small {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 58;
}
.p-data-card__number-small *,
.p-data-card__number-small *::before,
.p-data-card__number-small *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__unit {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 30;
}
.p-data-card__unit *,
.p-data-card__unit *::before,
.p-data-card__unit *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__unit {
  font-weight: 600;
  line-height: 1;
}
.p-data-card__label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.p-data-card__label *,
.p-data-card__label *::before,
.p-data-card__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__label {
  font-weight: 600;
  position: absolute;
  inset: -20px auto auto 50%;
  translate: -93% 0;
}
@media (min-width: 768px) {
  .p-data-card__label {
    inset: -24px auto auto 50%;
    translate: -93% 0;
  }
}
.p-data-card__sub {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 13;
}
.p-data-card__sub *,
.p-data-card__sub *::before,
.p-data-card__sub *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__sub {
  text-align: center;
  margin-top: -4px;
  width: 100%;
}
.p-data-card__ratio {
  display: flex;
  gap: 8px;
  margin-top: -8px;
}
@media (min-width: 768px) {
  .p-data-card__ratio {
    margin-top: -12px;
  }
}
.p-data-card__ratio-item {
  display: grid;
  text-align: center;
}
.p-data-card__ratio-item .p-data-card__number {
  line-height: 0.9;
}
.p-data-card__ratio-label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.p-data-card__ratio-label *,
.p-data-card__ratio-label *::before,
.p-data-card__ratio-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__ratio-label {
  font-weight: 600;
  line-height: 1;
}
.p-data-card__ratio-colon {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 70;
}
.p-data-card__ratio-colon *,
.p-data-card__ratio-colon *::before,
.p-data-card__ratio-colon *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-data-card__ratio-colon {
  font-weight: 600;
  line-height: 1;
  margin-top: 24px;
}
@media (min-width: 1024px) {
  .p-data-card__ratio-colon {
    margin-top: 18px;
  }
}
.p-data-card__chart {
  margin-top: 16px;
}

.p-home-environment__inner, .p-home-work__inner, .p-home-mission__inner {
  padding-inline: 5.1282051282vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-environment__inner, .p-home-work__inner, .p-home-mission__inner {
    padding-inline: 4.8611111111vw;
    max-width: calc(1300px + 9.7222222222vw);
  }
}

.p-home-mv {
  position: relative;
  padding-top: 87px;
  background: linear-gradient(122.5deg, rgb(122, 192, 244) 17.97%, rgb(141, 234, 141) 84.13%);
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: 10px;
}
@media (min-width: 768px) {
  .p-home-mv {
    margin: 15px;
    border-radius: 60px;
    padding-top: 127px;
  }
}
.p-home-mv__deco01 {
  position: absolute;
  inset: 0 auto auto 0;
  width: auto;
  height: 357px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-home-mv__deco01 {
    height: max(557px, 38.6805555556vw);
  }
}
.p-home-mv__deco02 {
  position: absolute;
  inset: auto 0 0 auto;
  width: auto;
  height: 236px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-home-mv__deco02 {
    height: max(436px, 30.2777777778vw);
  }
}
.p-home-mv__slider {
  position: relative;
  z-index: 1;
}
.p-home-mv__image {
  border-radius: 20px;
}
@media (min-width: 768px) {
  .p-home-mv__image {
    border-radius: 30px;
  }
}
.p-home-mv__image--01, .p-home-mv__image--05 {
  max-width: min(355px, 91.0256410256vw);
  margin-top: min(50px, 12.8205128205vw);
  margin-bottom: min(30px, 7.6923076923vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--01, .p-home-mv__image--05 {
    max-width: max(555px, 38.5416666667vw);
    margin-top: max(96px, 6.6666666667vw);
    margin-bottom: max(60px, 4.1666666667vw);
  }
}
.p-home-mv__image--02, .p-home-mv__image--06 {
  max-width: min(240px, 61.5384615385vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--02, .p-home-mv__image--06 {
    max-width: max(355px, 24.6527777778vw);
  }
}
.p-home-mv__image--03, .p-home-mv__image--04 {
  max-width: min(180px, 46.1538461538vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--03, .p-home-mv__image--04 {
    max-width: max(289px, 20.0694444444vw);
  }
}
.p-home-mv__image--02 {
  margin-left: min(45px, 11.5384615385vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--02 {
    margin-left: max(73px, 5.0694444444vw);
  }
}
.p-home-mv__image--04 {
  translate: min(-50px, -12.8205128205vw) 0;
  margin-top: min(10px, 2.5641025641vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--04 {
    translate: max(-90px, -6.25vw) 0;
    margin-top: max(13px, 0.9027777778vw);
  }
}
.p-home-mv__image--06 {
  margin-left: min(55px, 14.1025641026vw);
}
@media (min-width: 768px) {
  .p-home-mv__image--06 {
    margin-left: max(85px, 5.9027777778vw);
  }
}
.p-home-mv .splide__slide:has(.p-home-mv__image--03) {
  display: flex;
  margin-top: auto;
}
.p-home-mv__inner {
  padding-inline: 5.1282051282vw;
  padding-bottom: 30px;
  margin-top: 38px;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: 24px;
}
@media (min-width: 768px) {
  .p-home-mv__inner {
    padding-inline: 3.8888888889vw;
    padding-bottom: 50px;
  }
}
.p-home-mv__catch {
  width: auto;
}
@media (min-width: 768px) {
  .p-home-mv__catch {
    height: clamp(59px, 3.0729166667vw, 89px);
  }
}
.p-home-mv__text {
  position: relative;
  z-index: 1;
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1920;
  --min-font-size: 16;
  --max-font-size: 28;
}
.p-home-mv__text *,
.p-home-mv__text *::before,
.p-home-mv__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mv__text {
  color: #ffffff;
  line-height: 1.2380952381;
  letter-spacing: 0.025em;
  margin-top: 16px;
}
@media (min-width: 768px) {
  .p-home-mv__text {
    margin-top: 22px;
  }
}
.p-home-mv__news {
  z-index: 2;
  display: flex;
  align-items: center;
  width: 100%;
  height: 74px;
  background: #ffffff;
  border-radius: 10px;
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  margin-left: auto;
}
@media (min-width: 768px) {
  .p-home-mv__news {
    width: 369px;
  }
}
@media (any-hover: hover) {
  .p-home-mv__news:hover {
    opacity: 0.8;
  }
}
.p-home-mv__news-badge {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 17;
}
.p-home-mv__news-badge *,
.p-home-mv__news-badge *::before,
.p-home-mv__news-badge *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mv__news-badge {
  color: #0e318d;
  letter-spacing: 0.025em;
  flex-shrink: 0;
  padding-inline: 24px 16px;
}
.p-home-mv__news-divider {
  width: 1px;
  height: 51px;
  background: #d9d9d9;
  flex-shrink: 0;
}
.p-home-mv__news-body {
  display: flex;
  flex-direction: column;
  padding-inline: 22px;
  min-width: 0;
  gap: 3px;
}
.p-home-mv__news-date {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 11;
}
.p-home-mv__news-date *,
.p-home-mv__news-date *::before,
.p-home-mv__news-date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mv__news-date {
  color: #7c92d8;
  line-height: 1.4545454545;
}
.p-home-mv__news-title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.p-home-mv__news-title *,
.p-home-mv__news-title *::before,
.p-home-mv__news-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mv__news-title {
  color: #0e318d;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.p-home-mv__news-arrow {
  flex-shrink: 0;
  margin-left: auto;
  padding-right: 18px;
}
.p-home-mv__news-arrow img {
  width: 16px;
  height: auto;
  margin-top: 22px;
}

.p-home-mission {
  position: relative;
  background: #f4f4f4;
  border-radius: 30px;
  margin-top: 15px;
  padding: 280px 0 80px;
  overflow: hidden;
  z-index: 2;
}
@media (min-width: 768px) {
  .p-home-mission {
    border-radius: 60px;
    padding: 155px 0 195px;
  }
}
.p-home-mission__deco {
  position: absolute;
  inset: 0 auto auto 0;
  width: auto;
  height: 307px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-home-mission__deco {
    height: max(667px, 46.3194444444vw);
  }
}
.p-home-mission__photo {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}
.p-home-mission__photo--01 {
  width: 131px;
  top: 110px;
  left: calc(50% - 46.1538461538vw);
}
@media (min-width: 768px) {
  .p-home-mission__photo--01 {
    width: 220px;
    top: 240px;
    left: calc(50% - 650px);
  }
}
.p-home-mission__photo--02 {
  width: 150px;
  top: 110px;
  left: calc(50% + 20.5128205128vw);
}
@media (min-width: 768px) {
  .p-home-mission__photo--02 {
    width: 250px;
    top: 430px;
    left: calc(50% + 400px);
  }
}
.p-home-mission__photo--03 {
  position: relative;
  margin-block: 60px 95px;
  width: 38.4615384615vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-mission__photo--03 {
    margin-block: 0;
    position: absolute;
    width: 190px;
    top: 650px;
    left: calc(50% - 550px);
  }
}
.p-home-mission__inner {
  position: relative;
  z-index: 1;
}
.p-home-mission__header {
  text-align: center;
}
.p-home-mission__subtitle {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 67;
}
.p-home-mission__subtitle *,
.p-home-mission__subtitle *::before,
.p-home-mission__subtitle *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mission__subtitle {
  color: #0e318d;
  line-height: 1.2;
  display: block;
}
.p-home-mission__main-title {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 50;
  --max-font-size: 117;
}
.p-home-mission__main-title *,
.p-home-mission__main-title *::before,
.p-home-mission__main-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mission__main-title {
  color: #0e318d;
  line-height: 1.1;
  margin-top: 10px;
  letter-spacing: 0.0256410256em;
}
@media (min-width: 768px) {
  .p-home-mission__main-title {
    margin-top: 16px;
  }
}
.p-home-mission__copy {
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 30;
}
.p-home-mission__copy *,
.p-home-mission__copy *::before,
.p-home-mission__copy *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mission__copy {
  color: #0e318d;
  line-height: 1.8;
  letter-spacing: 0.1066666667em;
}
.p-home-mission__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-home-mission__text *,
.p-home-mission__text *::before,
.p-home-mission__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mission__text {
  font-weight: 600;
  line-height: 2.5;
  margin-top: 40px;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  .p-home-mission__text {
    text-align: center;
    line-height: 2.7;
    margin-top: 50px;
  }
}
.p-home-mission__note {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 12;
}
.p-home-mission__note *,
.p-home-mission__note *::before,
.p-home-mission__note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-mission__note {
  font-weight: 400;
  margin-top: 30px;
  line-height: 1.7769230769;
  letter-spacing: 0.0666666667em;
}
@media (min-width: 768px) {
  .p-home-mission__note {
    text-align: center;
    line-height: 2.5;
    margin-top: 20px;
  }
}
.p-home-mission__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 50px 30px;
  margin-top: 90px;
  max-width: 1100px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-mission__cards {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 140px;
  }
}

.p-home-work {
  position: relative;
  background: #74c9ef;
  padding: 100px 0 0;
  overflow: hidden;
  margin-top: -33px;
}
@media (min-width: 768px) {
  .p-home-work {
    padding: 197px 0 0;
    margin-top: -60px;
  }
}
.p-home-work__bg {
  position: absolute;
  inset: 118px auto auto 50%;
  translate: -50% 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.p-home-work__inner {
  position: relative;
  z-index: 1;
}
.p-home-work__content {
  background-color: #ffffff;
  border-radius: 30px;
  padding: 60px 0 80px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-home-work__content {
    padding: 100px 0 120px;
    margin-top: 60px;
  }
}
.p-home-work__job {
  max-width: min(1100px, 90%);
  margin-inline: auto;
  display: grid;
}
@media (min-width: 768px) {
  .p-home-work__job {
    grid-template-columns: auto min(525px, 36.4583333333vw);
    gap: 40px;
    align-items: flex-start;
    padding-right: 25px;
  }
}
.p-home-work__job-heading {
  order: 1;
}
@media (min-width: 768px) {
  .p-home-work__job-heading {
    order: unset;
  }
}
.p-home-work__job-content {
  display: contents;
}
@media (min-width: 768px) {
  .p-home-work__job-content {
    display: block;
  }
}
.p-home-work__job-img {
  border-radius: 30px;
  overflow: hidden;
  order: 3;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-home-work__job-img {
    order: unset;
    border-radius: 50px;
    margin-top: 0;
  }
}
.p-home-work__job-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-home-work__job-text *,
.p-home-work__job-text *::before,
.p-home-work__job-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-work__job-text {
  line-height: 2;
  order: 2;
  margin-top: 12px;
}
@media (min-width: 768px) {
  .p-home-work__job-text {
    order: unset;
    margin-top: 22px;
  }
}
.p-home-work__job-button {
  margin-top: 30px;
  max-width: 289px;
  order: 4;
}
@media (min-width: 768px) {
  .p-home-work__job-button {
    margin-top: 35px;
    order: unset;
  }
}
.p-home-work__interview {
  max-width: min(1100px, 90%);
  margin-inline: auto;
  margin-top: 80px;
}
@media (min-width: 768px) {
  .p-home-work__interview {
    margin-top: 110px;
  }
}
.p-home-work__interview-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-home-work__interview-cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 70px;
  }
}
@media (min-width: 768px) {
  .p-home-work__interview-card:nth-child(2) {
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  .p-home-work__interview-card:nth-child(3) {
    margin-top: 60px;
  }
}
.p-home-work__interview-button {
  margin-top: 30px;
  margin-inline: auto;
  max-width: 289px;
}
@media (min-width: 768px) {
  .p-home-work__interview-button {
    margin-top: 55px;
  }
}

.p-home-environment {
  padding: 220px 0 80px;
  position: relative;
  background: #f0fbfd;
  margin-top: -160px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-home-environment {
    padding: 427px 0 120px;
    margin-top: -290px;
  }
}
.p-home-environment__bg {
  position: absolute;
  inset: 0 auto auto 0;
  width: auto;
  height: 220px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-home-environment__bg {
    inset: -180px auto auto calc(50% - 1270px);
    height: clamp(937px, 65.0694444444vw, 1250px);
  }
}
.p-home-environment__inner {
  gap: 20px;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-home-environment__inner {
    flex-direction: row;
    gap: 0 24px;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.p-home-environment__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-home-environment__text *,
.p-home-environment__text *::before,
.p-home-environment__text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-environment__text {
  color: #0e318d;
  line-height: 2;
  margin-top: 0;
}
@media (min-width: 768px) {
  .p-home-environment__text {
    margin-top: 35px;
  }
}
.p-home-environment__slider {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-home-environment__slider {
    margin-top: 60px;
  }
}
.p-home-environment__slider .splide__slide img {
  border-radius: 20px;
}
@media (min-width: 768px) {
  .p-home-environment__slider .splide__slide img {
    border-radius: 30px;
  }
}
.p-home-environment__button {
  z-index: 1;
  position: relative;
  margin-top: 40px;
  margin-inline: auto;
  max-width: 289px;
}
@media (min-width: 768px) {
  .p-home-environment__button {
    margin-top: 69px;
  }
}

.p-job-section {
  padding: 60px 0 80px;
  border-radius: 0 0 30px 30px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-job-section {
    padding: 192px 0 140px;
    border-radius: 0 0 60px 60px;
  }
}
.p-job-section:first-of-type {
  z-index: 4;
}
@media (min-width: 768px) {
  .p-job-section:first-of-type {
    padding-top: 144px;
  }
}
.p-job-section:nth-of-type(2) {
  z-index: 3;
}
.p-job-section:nth-of-type(3) {
  z-index: 2;
}
.p-job-section:nth-of-type(4) {
  z-index: 1;
}
.p-job-section:not(:first-of-type) {
  margin-top: -30px;
}
@media (min-width: 768px) {
  .p-job-section:not(:first-of-type) {
    margin-top: -60px;
  }
}
.p-job-section--white {
  background: #ffffff;
}
.p-job-section--gray {
  background: #f4f4f4;
}
.p-job-section--lightblue {
  background: #f0fbfd;
}
.p-job-section__deco {
  width: min(290px, 77.3333333333vw);
  height: auto;
  display: block;
  position: absolute;
  inset: 0 auto auto 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-job-section__deco {
    width: clamp(632px, 43.8888888889vw, 1000px);
  }
}
.p-job-section:not(:first-of-type) .p-job-section__deco {
  inset: 30px auto auto 0;
}
@media (min-width: 768px) {
  .p-job-section:not(:first-of-type) .p-job-section__deco {
    inset: 60px auto auto 0;
  }
}
.p-job-section__heading {
  border-bottom: 1px solid #7c92d8;
  padding-bottom: 24px;
}
@media (min-width: 768px) {
  .p-job-section__heading {
    padding-bottom: 40px;
  }
}

.p-job-roles {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-job-roles {
    margin-top: 100px;
  }
}

.p-job-role {
  display: grid;
  gap: 24px;
}
@media (min-width: 768px) {
  .p-job-role {
    grid-template-columns: 1fr min(35.4166666667vw, 510px);
    gap: min(5.5555555556vw, 80px);
    align-items: start;
  }
}
.p-job-role + .p-job-role {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-job-role + .p-job-role {
    margin-top: 100px;
  }
}
.p-job-role__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 30;
}
.p-job-role__title *,
.p-job-role__title *::before,
.p-job-role__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-role__title {
  font-weight: 600;
  color: #0e318d;
  line-height: 1.4;
}
.p-job-role__text {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .p-job-role__text {
    margin-top: 20px;
  }
}
.p-job-role__tasks {
  margin-top: 24px;
  background: #f4f4f4;
  border-radius: 20px;
  padding: 24px;
}
@media (min-width: 768px) {
  .p-job-role__tasks {
    margin-top: 20px;
    padding: 30px;
  }
}
.p-job-section--gray .p-job-role__tasks, .p-job-section--lightblue .p-job-role__tasks {
  background: #ffffff;
}
.p-job-role__tasks-title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-job-role__tasks-title *,
.p-job-role__tasks-title *::before,
.p-job-role__tasks-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-role__tasks-title {
  font-weight: 600;
  color: #0e318d;
}
.p-job-role__tasks-list {
  margin-top: 8px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-job-role__tasks-list *,
.p-job-role__tasks-list *::before,
.p-job-role__tasks-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-role__tasks-list {
  line-height: 2;
}
.p-job-role__tasks-list li {
  text-indent: 0;
  padding-left: 1em;
  position: relative;
  line-height: 1.4;
}
.p-job-role__tasks-list li + li {
  margin-top: 14px;
}
.p-job-role__tasks-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #0e318d;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5lh;
  translate: 0 -45%;
}
@media (min-width: 768px) {
  .p-job-role__tasks-list li::before {
    width: 8px;
    height: 8px;
  }
}
.p-job-role__img {
  border-radius: 20px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-job-role__img {
    border-radius: 30px;
  }
}
.p-job-role__img img {
  width: 100%;
  height: auto;
}

.p-job-interview {
  margin-top: 60px;
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
}
@media (min-width: 479px) {
  .p-job-interview {
    padding: 40px 24px;
  }
}
@media (min-width: 768px) {
  .p-job-interview {
    margin-top: 100px;
    border-radius: 30px;
    padding: 60px 60px 40px;
  }
}
.p-job-interview--blue {
  background: #f0fbfd;
}
.p-job-interview__heading {
  text-align: center;
}
.p-job-interview__label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-job-interview__label *,
.p-job-interview__label *::before,
.p-job-interview__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-interview__label {
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #0e318d;
}
.p-job-interview__en {
  font-family: "Outfit", sans-serif;
  font-style: normal;
  font-weight: 600;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 48;
}
.p-job-interview__en *,
.p-job-interview__en *::before,
.p-job-interview__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-interview__en {
  color: #0e318d;
  line-height: 1.1;
}
.p-job-interview__cards {
  display: grid;
  margin-top: 5px;
  gap: 8px;
}
@media (min-width: 479px) {
  .p-job-interview__cards {
    gap: 24px;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .p-job-interview__cards {
    gap: min(10.625vw, 153px);
    max-width: 795px;
    margin-inline: auto;
  }
}
.p-job-interview__card {
  text-decoration: none;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .p-job-interview__card:hover {
    opacity: 0.7;
  }
}
.p-job-interview__card-img {
  width: 100%;
  overflow: hidden;
}
.p-job-interview__card-info {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
}
.p-job-interview__card-info .c-label {
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .p-job-interview__card-info {
    flex-direction: row;
  }
}
.p-job-interview__card-name {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-job-interview__card-name *,
.p-job-interview__card-name *::before,
.p-job-interview__card-name *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-interview__card-name {
  font-weight: 500;
  margin-left: 20px;
}
.p-job-interview__card-year {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-job-interview__card-year *,
.p-job-interview__card-year *::before,
.p-job-interview__card-year *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-job-interview__card-year {
  font-weight: 500;
  margin-left: 14px;
}

.p-page-mv {
  position: relative;
  padding: 82px 0 40px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-page-mv {
    padding: 190px 0 45px;
  }
}
.p-page-mv--has-photo {
  padding: 82px 0 0;
}
@media (min-width: 768px) {
  .p-page-mv--has-photo {
    padding: 185px 0 0;
  }
}
.p-page-mv__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-areas: "breadcrumbs" "heading";
}
@media (min-width: 768px) {
  .p-page-mv__inner {
    grid-template-areas: "heading" "breadcrumbs";
  }
}
.p-page-mv__heading {
  width: -moz-fit-content;
  width: fit-content;
  grid-area: heading;
}
.p-page-mv__breadcrumbs {
  grid-area: breadcrumbs;
}
.p-page-mv__deco {
  z-index: -1;
  display: block;
  position: absolute;
  inset: 0 0 auto auto;
  width: min(290px, 77.3333333333vw);
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .p-page-mv__deco {
    width: min(35.9722222222vw, 518px);
  }
}
.p-page-mv__photo {
  position: relative;
  margin-top: 20px;
  margin-inline: 15px;
  overflow: hidden;
  border-radius: 30px;
}
@media (min-width: 768px) {
  .p-page-mv__photo {
    margin-top: 30px;
    border-radius: 60px;
    max-height: 667px;
  }
}
.p-page-mv__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.p-privacy {
  padding: 60px 0 80px;
}
@media (min-width: 768px) {
  .p-privacy {
    padding: 105px0 140px;
  }
}
.p-privacy__content {
  max-width: 850px;
  margin-inline: auto;
}
.p-privacy__content > *:first-child {
  margin-top: 0;
}
.p-privacy__content > * {
  margin-block: 12px;
}
.p-privacy__content :where(p) {
  line-height: 2;
  color: #0e318d;
}
@media (min-width: 768px) {
  .p-privacy__content :where(p) {
    --viewport-from: 390;
    --viewport-to: 1440;
    --min-font-size: 15;
    --max-font-size: 15;
  }
  .p-privacy__content :where(p) *,
  .p-privacy__content :where(p) *::before,
  .p-privacy__content :where(p) *::after {
    --viewport-unit-converter: 1vw;
    --fz-from: var(--font-size-from, var(--min-font-size));
    --fz-to: var(--font-size-to, var(--max-font-size));
    --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
    --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
    --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
    --min-fz-px: calc(var(--min-font-size) * 1px);
    --max-fz-px: calc(var(--max-font-size) * 1px);
    --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
    --max: var(--has-max, var(--min));
    --min: var(--has-min, var(--font-size));
    --has-max: min(var(--max-fz-px), var(--font-size));
    --has-min: max(var(--min-fz-px), var(--font-size));
    font-size: var(--clamp, var(--max));
  }
}
.p-privacy__content :where(h2) {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 30;
}
.p-privacy__content :where(h2) *,
.p-privacy__content :where(h2) *::before,
.p-privacy__content :where(h2) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content :where(h2) {
  font-weight: 500;
  line-height: 1.4666666667;
  color: #0e318d;
  margin-block: 30px 20px;
}
@media (min-width: 768px) {
  .p-privacy__content :where(h2) {
    margin-block: 60px 55px;
  }
}
.p-privacy__content :where(h3) {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
}
.p-privacy__content :where(h3) *,
.p-privacy__content :where(h3) *::before,
.p-privacy__content :where(h3) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content :where(h3) {
  font-weight: 500;
  line-height: 1.4583333333;
  position: relative;
  margin-block: 24px 20px;
  color: #0e318d;
}
@media (min-width: 768px) {
  .p-privacy__content :where(h3) {
    margin-block: 60px 20px;
  }
}
.p-privacy__content :where(h4) {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-privacy__content :where(h4) *,
.p-privacy__content :where(h4) *::before,
.p-privacy__content :where(h4) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content :where(h4) {
  font-weight: 500;
  line-height: 1.5;
  font-weight: bold;
  padding-inline-start: 1em;
  text-indent: -1em;
  color: #0e318d;
  margin-block: 24px 20px;
  color: #0e318d;
}
@media (min-width: 768px) {
  .p-privacy__content :where(h4) {
    margin-block: 60px 20px;
  }
}
.p-privacy__content :where(a) {
  color: #0e318d;
  text-decoration: underline;
  font-weight: bold;
  color: #0e318d;
}
@media (any-hover: hover) {
  .p-privacy__content :where(a):hover {
    text-decoration: none;
  }
}
.p-privacy__content > :is(ul, ol),
.p-privacy__content > :is(ul, ol) > li :is(ul, ol),
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) {
  line-height: 2;
  color: #0e318d;
  margin-inline-start: 1em;
  list-style: none;
}
.p-privacy__content > :is(ul, ol) > li,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) {
  position: relative;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-privacy__content > :is(ul, ol) > li *,
.p-privacy__content > :is(ul, ol) > li *::before,
.p-privacy__content > :is(ul, ol) > li *::after,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li *,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li *::before,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li *::after,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) *,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) *::before,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content > :is(ul, ol) > li,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li :is(ul, ol) {
  line-height: 2;
}
.p-privacy__content > ul > li::before,
.p-privacy__content > :is(ul, ol) > li ul > li::before,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li ul > li::before {
  content: "";
  position: absolute;
  left: -0.7em;
  top: 1em;
  translate: 0 -50%;
  width: 3px;
  height: 3px;
  background-color: #0e318d;
  border-radius: 50%;
}
.p-privacy__content > ol > li,
.p-privacy__content > :is(ul, ol) > li ol > li,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li ol > li {
  position: relative;
  list-style: none;
}
.p-privacy__content > ol > li::before,
.p-privacy__content > :is(ul, ol) > li ol > li::before,
.p-privacy__content > :is(ul, ol) > li :is(ul, ol) > li ol > li::before {
  content: counter(list-item, decimal) ".";
  color: #0e318d;
  position: absolute;
  left: -1em;
  font-weight: bold;
}
.p-privacy__content .has-drop-cap:not(:focus)::first-letter {
  font-size: 2em;
  float: left;
  color: #0e318d;
}
.p-privacy__content .wp-block-verse {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-privacy__content .wp-block-verse *,
.p-privacy__content .wp-block-verse *::before,
.p-privacy__content .wp-block-verse *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content .wp-block-verse {
  line-height: 1.8;
  margin-block: 10px;
  background-color: #0e318d;
  padding: 20px;
  color: #0e318d;
}
.p-privacy__content .wp-block-table td,
.p-privacy__content .wp-block-table th {
  border: 1px solid #0e318d;
  padding: 10px;
  color: #0e318d;
}
.p-privacy__content .wp-block-spacer {
  display: none;
}
@media (min-width: 768px) {
  .p-privacy__content .wp-block-spacer {
    display: block;
  }
}
.p-privacy__content .bl-box {
  border: 1px solid #e6f0ff;
  padding: 20px;
  border-radius: 10px;
  margin-top: 40px;
}
.p-privacy__content .bl-box h2 {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-privacy__content .bl-box h2 *,
.p-privacy__content .bl-box h2 *::before,
.p-privacy__content .bl-box h2 *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy__content .bl-box h2 {
  font-weight: 400;
}
@media (min-width: 768px) {
  .p-privacy__content .bl-box {
    margin-top: 80px;
    padding: 30px;
  }
}
.p-privacy__content .bl-box p {
  margin-top: 12px;
}
.p-privacy__content .bl-box a[href^=tel] {
  font-weight: 400;
  text-decoration: none;
}

.p-recruit-list {
  padding: 60px 0 80px;
  background: #f0fbfd;
  border-radius: 60px;
}
@media (min-width: 768px) {
  .p-recruit-list {
    padding: 144px 0 140px;
  }
}
.p-recruit-list .c-filter {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-recruit-list .c-filter {
    margin-top: 80px;
  }
}

.p-recruit-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-recruit-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 46px;
  }
}
.p-recruit-cards__empty {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.p-recruit-cards__empty *,
.p-recruit-cards__empty *::before,
.p-recruit-cards__empty *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-recruit-cards__empty {
  text-align: center;
  color: #96a1be;
  grid-column: 1/-1;
  padding: 60px 0;
}

.p-recruit-faq {
  padding: 60px 0 80px;
  background: #ffffff;
  border-radius: 0 0 30px 30px;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-recruit-faq {
    padding: 130px 0 140px;
    border-radius: 0 0 60px 60px;
  }
}
.p-recruit-faq__list {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-recruit-faq__list {
    margin-top: 50px;
  }
}

.p-recruit-flow {
  padding: 90px 0 80px;
  background: #f0fbfd;
  border-radius: 0 0 30px 30px;
  margin-top: -30px;
}
@media (min-width: 768px) {
  .p-recruit-flow {
    padding: 185px 0 140px;
    border-radius: 0 0 60px 60px;
    margin-top: -60px;
  }
}
.p-recruit-flow__box {
  margin-top: 30px;
  background: #ffffff;
  border-radius: 20px;
  padding: 20px 24px;
}
@media (min-width: 768px) {
  .p-recruit-flow__box {
    margin-top: 50px;
    padding: 50px 60px;
  }
}

.p-recruit-detail {
  padding: 82px 0 80px;
}
@media (min-width: 1024px) {
  .p-recruit-detail {
    padding: 226px 0 140px;
  }
}
@media (min-width: 768px) {
  .p-recruit-detail__header-wrapper {
    padding-inline: 12vw 4.8611111111vw;
  }
}
.p-recruit-detail__header {
  display: grid;
  grid-template-areas: "breadcrumbs" "title";
  gap: 16px;
}
@media (min-width: 1024px) {
  .p-recruit-detail__header {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
  }
}
.p-recruit-detail .p-recruit-detail__breadcrumbs {
  grid-area: breadcrumbs;
}
@media (min-width: 1024px) {
  .p-recruit-detail .p-recruit-detail__breadcrumbs {
    flex-shrink: 0;
  }
}
.p-recruit-detail__title {
  grid-area: title;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 26;
  --max-font-size: 50;
}
.p-recruit-detail__title *,
.p-recruit-detail__title *::before,
.p-recruit-detail__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-recruit-detail__title {
  font-weight: 600;
  color: #0e318d;
  line-height: 1.4;
}
.p-recruit-detail__tags {
  display: flex;
  gap: 12px 8px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-recruit-detail__tags {
    margin-top: 48px;
  }
}
.p-recruit-detail__hashtag {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-recruit-detail__hashtag *,
.p-recruit-detail__hashtag *::before,
.p-recruit-detail__hashtag *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-recruit-detail__hashtag {
  color: #0e318d;
  line-height: 2.1428571429;
  display: block;
  width: 100%;
}
.p-recruit-detail__table {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-recruit-detail__table {
    margin-top: 85px;
  }
}
.p-recruit-detail__button {
  margin-top: 40px;
  max-width: 289px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-recruit-detail__button {
    margin-top: 80px;
  }
}

/*----------------------------------------------------
  margin-top
----------------------------------------------------*/
.u-mt10 {
  margin-top: 10px;
}

.u-mt20 {
  margin-top: 20px;
}

.u-mt30 {
  margin-top: 30px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mt50 {
  margin-top: 50px;
}

.u-mt60 {
  margin-top: 60px;
}

.u-mt70 {
  margin-top: 70px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mt90 {
  margin-top: 90px;
}

.u-mt100 {
  margin-top: 100px;
}

.u-mt160 {
  margin-top: 160px;
}

@media (min-width: 1024px) {
  .u-mt10-lg-min {
    margin-top: 10px;
  }
}

@media (min-width: 1024px) {
  .u-mt20-lg-min {
    margin-top: 20px;
  }
}

@media (min-width: 1024px) {
  .u-mt30-lg-min {
    margin-top: 30px;
  }
}

@media (min-width: 1024px) {
  .u-mt40-lg-min {
    margin-top: 40px;
  }
}

@media (min-width: 1024px) {
  .u-mt50-lg-min {
    margin-top: 50px;
  }
}

@media (min-width: 1024px) {
  .u-mt60-lg-min {
    margin-top: 60px;
  }
}

@media (min-width: 1024px) {
  .u-mt70-lg-min {
    margin-top: 70px;
  }
}

@media (min-width: 1024px) {
  .u-mt80-lg-min {
    margin-top: 80px;
  }
}

@media (min-width: 1024px) {
  .u-mt90-lg-min {
    margin-top: 90px;
  }
}

@media (min-width: 1024px) {
  .u-mt100-lg-min {
    margin-top: 100px;
  }
}

/*----------------------------------------------------
  margin-bottom
----------------------------------------------------*/
.u-mb10 {
  margin-bottom: 10px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.u-mb40 {
  margin-bottom: 40px;
}

.u-mb50 {
  margin-bottom: 50px;
}

.u-mb60 {
  margin-bottom: 60px;
}

.u-mb70 {
  margin-bottom: 70px;
}

.u-mb80 {
  margin-bottom: 80px;
}

.u-mb90 {
  margin-bottom: 90px;
}

.u-mb100 {
  margin-bottom: 100px;
}

@media (min-width: 1024px) {
  .u-mb10-lg-min {
    margin-bottom: 10px;
  }
}

@media (min-width: 1024px) {
  .u-mb20-lg-min {
    margin-bottom: 20px;
  }
}

@media (min-width: 1024px) {
  .u-mb30-lg-min {
    margin-bottom: 30px;
  }
}

@media (min-width: 1024px) {
  .u-mb40-lg-min {
    margin-bottom: 40px;
  }
}

@media (min-width: 1024px) {
  .u-mb50-lg-min {
    margin-bottom: 50px;
  }
}

@media (min-width: 1024px) {
  .u-mb60-lg-min {
    margin-bottom: 60px;
  }
}

@media (min-width: 1024px) {
  .u-mb70-lg-min {
    margin-bottom: 70px;
  }
}

@media (min-width: 1024px) {
  .u-mb80-lg-min {
    margin-bottom: 80px;
  }
}

@media (min-width: 1024px) {
  .u-mb90-lg-min {
    margin-bottom: 90px;
  }
}

@media (min-width: 1024px) {
  .u-mb100-lg-min {
    margin-bottom: 100px;
  }
}

/*----------------------------------------------------
  margin-left
----------------------------------------------------*/
.u-ml10 {
  margin-left: 10px;
}

.u-ml20 {
  margin-left: 20px;
}

.u-ml30 {
  margin-left: 30px;
}

.u-ml40 {
  margin-left: 40px;
}

.u-ml50 {
  margin-left: 50px;
}

.u-ml60 {
  margin-left: 60px;
}

.u-ml70 {
  margin-left: 70px;
}

.u-ml80 {
  margin-left: 80px;
}

.u-ml90 {
  margin-left: 90px;
}

.u-ml100 {
  margin-left: 100px;
}

@media (min-width: 1024px) {
  .u-ml10-lg-min {
    margin-left: 10px;
  }
}

@media (min-width: 1024px) {
  .u-ml20-lg-min {
    margin-left: 20px;
  }
}

@media (min-width: 1024px) {
  .u-ml30-lg-min {
    margin-left: 30px;
  }
}

@media (min-width: 1024px) {
  .u-ml40-lg-min {
    margin-left: 40px;
  }
}

@media (min-width: 1024px) {
  .u-ml50-lg-min {
    margin-left: 50px;
  }
}

@media (min-width: 1024px) {
  .u-ml60-lg-min {
    margin-left: 60px;
  }
}

@media (min-width: 1024px) {
  .u-ml70-lg-min {
    margin-left: 70px;
  }
}

@media (min-width: 1024px) {
  .u-ml80-lg-min {
    margin-left: 80px;
  }
}

@media (min-width: 1024px) {
  .u-ml90-lg-min {
    margin-left: 90px;
  }
}

@media (min-width: 1024px) {
  .u-ml100-lg-min {
    margin-left: 100px;
  }
}

/*----------------------------------------------------
  margin-right
----------------------------------------------------*/
.u-mr10 {
  margin-right: 10px;
}

.u-mr20 {
  margin-right: 20px;
}

.u-mr30 {
  margin-right: 30px;
}

.u-mr40 {
  margin-right: 40px;
}

.u-mr50 {
  margin-right: 50px;
}

.u-mr60 {
  margin-right: 60px;
}

.u-mr70 {
  margin-right: 70px;
}

.u-mr80 {
  margin-right: 80px;
}

.u-mr90 {
  margin-right: 90px;
}

.u-mr100 {
  margin-right: 100px;
}

@media (min-width: 1024px) {
  .u-mr10-lg-min {
    margin-right: 10px;
  }
}

@media (min-width: 1024px) {
  .u-mr20-lg-min {
    margin-right: 20px;
  }
}

@media (min-width: 1024px) {
  .u-mr30-lg-min {
    margin-right: 30px;
  }
}

@media (min-width: 1024px) {
  .u-mr40-lg-min {
    margin-right: 40px;
  }
}

@media (min-width: 1024px) {
  .u-mr50-lg-min {
    margin-right: 50px;
  }
}

@media (min-width: 1024px) {
  .u-mr60-lg-min {
    margin-right: 60px;
  }
}

@media (min-width: 1024px) {
  .u-mr70-lg-min {
    margin-right: 70px;
  }
}

@media (min-width: 1024px) {
  .u-mr80-lg-min {
    margin-right: 80px;
  }
}

@media (min-width: 1024px) {
  .u-mr90-lg-min {
    margin-right: 90px;
  }
}

@media (min-width: 1024px) {
  .u-mr100-lg-min {
    margin-right: 100px;
  }
}

/*----------------------------------------------------
  テキスト
----------------------------------------------------*/
.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

.u-text-justify {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
}

/*----------------------------------------------------
  display: none系
----------------------------------------------------*/
@media (max-width: 767px) {
  .u-dn-sp-only {
    display: none;
  }
}

@media (min-width: 768px) {
  .u-dn-md {
    display: none;
  }
}

.u-ds-md {
  display: none;
}
@media (min-width: 768px) {
  .u-ds-md {
    display: block;
  }
}

@media (min-width: 1024px) {
  .u-dn-lg {
    display: none;
  }
}

.u-ds-lg {
  display: none;
}
@media (min-width: 1024px) {
  .u-ds-lg {
    display: block;
  }
}

@media (min-width: 1300px) {
  .u-dn-inner {
    display: none;
  }
}

.u-ds-inner {
  display: none;
}
@media (min-width: 1300px) {
  .u-ds-inner {
    display: block;
  }
}

/*----------------------------------------------------
  色
----------------------------------------------------*/
.u-color-white {
  color: #ffffff;
}

/*----------------------------------------------------
  スクリーンリーダーには読み上げられる要素
----------------------------------------------------*/
.u-visually-hidden {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
}

/*----------------------------------------------------
  スキップナビゲーション
----------------------------------------------------*/
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 9999;
}
.skip-link:focus {
  position: fixed;
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  overflow: visible;
  padding: 12px 24px;
  background: #0e318d;
  color: #ffffff;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
}
.skip-link:focus *,
.skip-link:focus *::before,
.skip-link:focus *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.skip-link:focus {
  font-weight: 600;
  border-radius: 5px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}/*# sourceMappingURL=style.css.map */