@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
          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: 1920;
  --min-font-size: 12;
  --max-font-size: 16;
  /*【明朝】スタンダード日本Webサイトなら*/
  /*【明朝】流行の感じを出していく（かつ文字コンテンツがメインなら）*/
  /*【ゴシック】スタンダード日本Webサイトなら*/
  /*【ゴシック】流行の感じを出していく（かつ文字コンテンツがメインなら）*/
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 2;
  color: #222427;
  -webkit-transition: 0.6s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: 0.6s cubic-bezier(0.45, 0.05, 0.5, 1);
  margin: 0;
  overflow-x: clip;
}
: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));
}
@media (min-width: 1440px) {
  :where(body) {
    line-height: 2.2;
  }
}
@media (max-width: 767px) {
  :where(body) {
    --viewport-from: 390;
    --viewport-to: 767;
    --min-font-size: 14;
    --max-font-size: 18;
  }
  :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).is-dark {
  background: #222427;
}
: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;
}
@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; /* ダイアログが開いている間はスクロールを禁止 */
}

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

/* ページ遷移時のトランジション */
html.is-changing .transition-fade {
  -webkit-transition: opacity 250ms;
  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: "";
}

.grecaptcha-badge {
  visibility: hidden;
}

.js-hoge-hoge.is-hoge {
  color: #fff;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes text-clip {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes text-clip {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
/* 画像スライドアニメーション */
.js-image-slide figure {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.js-image-slide figure::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: #cfd6e2;
  border-radius: 8px;
}
.js-image-slide figure img {
  opacity: 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.js-image-slide.is-animated figure::before {
  -webkit-animation: slideBar 0.8s ease forwards 0.1s;
          animation: slideBar 0.8s ease forwards 0.1s;
}
.js-image-slide.is-animated figure img {
  -webkit-animation: slideImage 0.8s ease forwards 0.5s;
          animation: slideImage 0.8s ease forwards 0.5s;
}

@-webkit-keyframes slideBar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  68% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}

@keyframes slideBar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  68% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@-webkit-keyframes slideImage {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  50% {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes slideImage {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  50% {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.l-footer {
  background-color: #171f2b;
  padding-block: 72px 58px;
}
@media (min-width: 768px) {
  .l-footer {
    padding-block: 130px 120px;
  }
}
.l-footer__inner {
  padding-inline: 8.2051282051vw;
}
@media (min-width: 1024px) {
  .l-footer__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "info nav" "bottom bottom";
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .l-footer__info {
    grid-area: info;
  }
}
.l-footer__logo {
  max-width: 233px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .l-footer__logo {
    max-width: 339px;
    margin-inline: 0;
  }
}
.l-footer__logo img {
  width: 100%;
}
.l-footer__address {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 28px;
  text-align: center;
  color: #fff;
  font-style: normal;
}
.l-footer__address *,
.l-footer__address *::before,
.l-footer__address *::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 (min-width: 1024px) {
  .l-footer__address {
    text-align: left;
  }
}
.l-footer__tel {
  display: block;
}
.l-footer__nav {
  margin-top: 72px;
}
@media (min-width: 1024px) {
  .l-footer__nav {
    grid-area: nav;
    margin-top: 31px;
  }
}
.l-footer__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  grid-template-areas: "home recruit" "about recruit" "company recruit" "service recruit" "service contact" "service .";
  max-width: 500px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .l-footer__list {
    margin-top: 0;
    grid-template-areas: "home service recruit contact" "about service recruit ." "company service recruit ." ". . recruit .";
    gap: 32px 57px;
    max-width: 100%;
  }
}
.l-footer__item:first-child {
  grid-area: home;
}
.l-footer__item:nth-child(2) {
  grid-area: about;
}
.l-footer__item:nth-child(3) {
  grid-area: company;
}
.l-footer__item:nth-child(4) {
  grid-area: service;
}
.l-footer__item:nth-child(5) {
  grid-area: recruit;
}
.l-footer__item:nth-child(6) {
  grid-area: contact;
}
.l-footer__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 500;
  line-height: 1.4285714286;
  color: #fff;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out;
}
.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));
}
@media (min-width: 768px) {
  .l-footer__link {
    line-height: 1.5;
  }
}
@media (any-hover: hover) {
  .l-footer__link:hover {
    text-decoration: underline;
  }
}
.l-footer__sub-list {
  margin-top: 19px;
  display: grid;
  gap: 14px;
}
.l-footer__sub-link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 1.4166666667;
  color: #9197a0;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out;
}
.l-footer__sub-link *,
.l-footer__sub-link *::before,
.l-footer__sub-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) {
  .l-footer__sub-link:hover {
    text-decoration: underline;
  }
}
.l-footer__bottom {
  margin-top: 80px;
}
@media (min-width: 1024px) {
  .l-footer__bottom {
    margin-top: 280px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "copyright list";
    grid-column: 1/-1;
  }
}
.l-footer__bottom-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 42px;
}
@media (min-width: 1024px) {
  .l-footer__bottom-list {
    grid-area: list;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.l-footer__bottom-link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #9197a0;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out;
  position: relative;
  padding-left: 15px;
}
.l-footer__bottom-link *,
.l-footer__bottom-link *::before,
.l-footer__bottom-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__bottom-link::after {
  content: "";
  background-image: url(../img/common/icon-document.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  inset: 4px auto auto 0;
  width: 10px;
  height: 13px;
}
.l-footer__copyright {
  margin-top: 40px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
  line-height: 1.4166666667;
  text-align: center;
  color: #9197a0;
}
.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));
}
@media (min-width: 1024px) {
  .l-footer__copyright {
    grid-area: copyright;
    margin-top: 0;
    text-align: left;
  }
}

.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
  height: 80px;
  opacity: 1;
  visibility: visible;
  -webkit-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), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  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), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.l-header.is-slide-up {
  opacity: 0;
  visibility: hidden;
}
.l-header.is-white {
  position: fixed;
  height: 72px;
  -webkit-box-shadow: 0 10px 16px 0 rgba(33, 49, 93, 0.04);
          box-shadow: 0 10px 16px 0 rgba(33, 49, 93, 0.04);
  border-bottom: none;
  background-color: #fff;
}
.l-header:has(.c-drawer__dialog.is-open) {
  background-color: #fff;
}
@media (min-width: 1024px) {
  .l-header {
    height: 89px;
  }
}
.l-header__inner {
  padding-inline: 4.1025641026vw;
  height: inherit;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1024px) {
  .l-header__inner {
    padding-inline: 2.7777777778vw;
    grid-template-columns: auto 1fr auto;
  }
}
.l-header__logo {
  display: grid;
}
.l-header__logo img {
  max-width: 170px;
}
@media (min-width: 768px) {
  .l-header__logo img {
    max-width: 213px;
  }
}
.l-header__nav {
  display: none;
}
@media (min-width: 1024px) {
  .l-header__nav {
    justify-self: end;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    height: inherit;
  }
}
.l-header__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  height: inherit;
}
.l-header__item {
  position: relative;
  cursor: pointer;
  height: inherit;
  display: block;
}
.l-header__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: #fff;
  height: inherit;
  display: block;
  place-content: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.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.is-white .l-header__link {
  color: #222427;
}
.l-header__link:hover, .l-header__link:focus-visible {
  opacity: 0.8;
}
.l-header__sub-list {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  inset: 100% auto auto 50%;
  translate: -50% 0;
  padding: 36px 32px 40px;
  border-radius: 8px;
  -webkit-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);
  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);
  z-index: 0;
}
.l-header__sub-list._col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 32px;
}
.l-header__item:has(.l-header__sub-list):hover .l-header__sub-list, .l-header__item:has(.l-header__sub-list):focus-within .l-header__sub-list {
  visibility: visible;
  opacity: 1;
}
.l-header__sub-list::after {
  content: "";
  position: absolute;
  inset: 16px 0 0 0;
  background-color: #fff;
  border-radius: 8px;
  z-index: -1;
  -webkit-box-shadow: 0 0 12px 0 rgba(33, 49, 93, 0.1);
          box-shadow: 0 0 12px 0 rgba(33, 49, 93, 0.1);
}
.l-header__sub-list._col2 .l-header__sub-item:first-child {
  grid-column: 1/-1;
}
.l-header__sub-link {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding-block: 12px;
  border-bottom: 1px solid #cfd6e2;
}
.l-header__sub-arrow {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  -webkit-transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.l-header__sub-arrow::before {
  content: "";
  -webkit-mask-image: url("../img/common/icon-arrow.svg");
          mask-image: url("../img/common/icon-arrow.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  background-color: #222427;
  width: 7px;
  height: 10px;
  display: block;
  rotate: -90deg;
  -webkit-transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.l-header__sub-link:hover .l-header__sub-arrow, .l-header__sub-link:focus-visible .l-header__sub-arrow {
  background-color: #222427;
}
.l-header__sub-link:hover .l-header__sub-arrow::before, .l-header__sub-link:focus-visible .l-header__sub-arrow::before {
  background-color: #fff;
}
.l-header__button {
  max-width: 140px;
  place-self: center;
}
.l-header__drawer {
  display: block;
}
@media (min-width: 1024px) {
  .l-header__drawer {
    display: none;
  }
}

.l-main__page-mv-inner, .l-main__breadcrumbs-inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .l-main__page-mv-inner, .l-main__breadcrumbs-inner {
    max-width: calc(1200px + 5.5555555556vw);
    padding-inline: 2.7777777778vw;
  }
}

/*------------------------------------
  .p-component
-------------------------------------*/
.l-main:has(.c-page-mv02) {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .l-main:has(.c-page-mv02) {
    margin-top: 89px;
  }
}

.l-main__breadcrumbs {
  margin-block: 24px;
}
.l-main__page-mv {
  margin-top: 120px;
}
@media (min-width: 768px) {
  .l-main__page-mv {
    margin-top: 209px;
  }
}
.l-main__page-mv-content {
  border-bottom: 1px solid #cfd6e2;
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .l-main__page-mv-content {
    padding-bottom: 96px;
  }
}

.l-pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}
@media (min-width: 768px) {
  .l-pagetop {
    bottom: 40px;
    right: 40px;
  }
}

@media (min-width: 768px) {
  .c-access__inner {
    display: grid;
    grid-template-columns: auto 364px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 32px;
  }
}
.c-access__address {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  margin-top: 11px;
}
.c-access__address *,
.c-access__address *::before,
.c-access__address *::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 (min-width: 768px) {
  .c-access__address {
    line-height: 2;
    margin-top: 16px;
  }
}
.c-access__image {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .c-access__image {
    margin-top: 0px;
  }
}
.c-access__map {
  width: 100%;
  margin-top: 32px;
  aspect-ratio: 16/9;
}
@media (min-width: 768px) {
  .c-access__map {
    aspect-ratio: 972/400;
  }
}

.c-anchor {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  border-top: solid 1px #cfd6e2;
  border-bottom: solid 1px #cfd6e2;
  padding: 16px 0;
}
@media (min-width: 768px) {
  .c-anchor {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    border-top: none;
    border-bottom: none;
  }
}
.c-anchor__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-anchor__item::before {
  content: "";
  width: 1px;
  height: 24px;
  background-color: none;
}
@media (min-width: 768px) {
  .c-anchor__item::before {
    background-color: #cfd6e2;
  }
}
.c-anchor__item:last-child::after {
  content: "";
  width: 1px;
  height: 24px;
  background-color: none;
}
@media (min-width: 768px) {
  .c-anchor__item:last-child::after {
    background-color: #cfd6e2;
  }
}
.c-anchor__link {
  -webkit-transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (any-hover: hover) {
  .c-anchor__link:hover {
    opacity: 0.7;
  }
}
.c-anchor__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.4285714286;
  display: grid;
  grid-template-columns: auto auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  position: relative;
  letter-spacing: 0.02em;
}
.c-anchor__text *,
.c-anchor__text *::before,
.c-anchor__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));
}
@media (min-width: 768px) {
  .c-anchor__text {
    line-height: 1.5;
  }
}
.c-anchor__icon {
  position: absolute;
  right: 16px;
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
}
@media (min-width: 768px) {
  .c-anchor__icon {
    position: relative;
    right: 0;
  }
}
.c-anchor._col2 {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .c-anchor._col2 {
    grid-template-columns: 1fr 1fr;
  }
}

.c-balloon {
  position: relative;
  background-color: #fcfcfc;
  border: 1px solid #cfd6e2;
  border-radius: 8px;
  padding: 29px 14px;
}
@media (min-width: 768px) {
  .c-balloon {
    padding: 41px 20px;
  }
}
.c-balloon::before {
  content: "";
  position: absolute;
  top: 90%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 26px solid transparent;
  border-right: 26px solid transparent;
  border-top: 26px solid #cfd6e2;
  z-index: -1;
}
.c-balloon::after {
  content: "";
  position: absolute;
  top: 90%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 25px solid #fcfcfc;
}
.c-balloon__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  line-height: 1.4705882353;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.c-balloon__text *,
.c-balloon__text *::before,
.c-balloon__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));
}
@media (min-width: 768px) {
  .c-balloon__text {
    line-height: 1.4583333333;
  }
}

.c-breadcrumbs > span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-breadcrumbs .breadcrumb_last,
.c-breadcrumbs a {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 12;
  line-height: 1.4166666667;
  color: #8d9298;
}
.c-breadcrumbs .breadcrumb_last *,
.c-breadcrumbs .breadcrumb_last *::before,
.c-breadcrumbs .breadcrumb_last *::after,
.c-breadcrumbs a *,
.c-breadcrumbs a *::before,
.c-breadcrumbs a *::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 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-breadcrumbs a::after {
  content: "";
  width: 10px;
  height: 10px;
  background-image: url("../img/common/breadcrumbs-arrow.svg");
  background-size: cover;
  margin-top: 2px;
}
@media (any-hover: hover) {
  .c-breadcrumbs a:hover {
    text-decoration: underline;
  }
}

.c-button {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  line-height: 1.4285714286;
  text-align: center;
  color: #fff;
  background-color: #1e2434;
  border-radius: 100vmax;
  padding: 9px 27px 11px;
  border: solid 1px #364871;
  -webkit-transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  display: block;
  width: 100%;
}
.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));
}
@media (any-hover: hover) {
  .c-button:hover {
    background-color: #fff;
    color: #1e2434;
  }
}
.c-button._large {
  padding: 16px 27px 19px;
}
.c-button._white {
  background-color: #fff;
  color: #1e2434;
  border: none;
  -webkit-filter: drop-shadow(0px 0px 20px rgba(33, 49, 93, 0.12));
          filter: drop-shadow(0px 0px 20px rgba(33, 49, 93, 0.12));
}
.c-button._white:hover {
  background-color: #1e2434;
  color: #fff;
}
.c-button._blue {
  background: -webkit-gradient(linear, left top, left bottom, from(#2172e3), color-stop(49.75%, #519fe6), to(#4d9ceb));
  background: -webkit-linear-gradient(#2172e3 0%, #519fe6 49.75%, #4d9ceb 100%);
  background: linear-gradient(#2172e3 0%, #519fe6 49.75%, #4d9ceb 100%);
  -webkit-filter: drop-shadow(0px 0px 20px rgba(33, 49, 93, 0.12));
          filter: drop-shadow(0px 0px 20px rgba(33, 49, 93, 0.12));
  color: #fff;
  border: none;
  z-index: 1;
  position: relative;
  overflow: clip;
  -webkit-transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  border-color: #2172e3;
}
.c-button._blue::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(49.75%, #fff), to(#fff));
  background: -webkit-linear-gradient(#fff 0%, #fff 49.75%, #fff 100%);
  background: linear-gradient(#fff 0%, #fff 49.75%, #fff 100%);
  opacity: 0;
  -webkit-transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  z-index: -1;
}
.c-button._blue:hover {
  color: #2172e3;
}
.c-button._blue:hover::after {
  opacity: 1;
}

/*------------------------------------
  c-button02
-------------------------------------*/
.c-button02 {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.4285714286;
  text-align: center;
  background-color: #fff;
  border-radius: 30px;
  padding: 15px 37px 17px 38px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  -webkit-transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-button02 *,
.c-button02 *::before,
.c-button02 *::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 (min-width: 768px) {
  .c-button02 {
    line-height: 1.5;
  }
}
.c-button02:hover {
  background-color: #364871;
  color: #fff;
}
.c-button02._blue {
  background-image: -webkit-linear-gradient(290deg, #238ced 0%, #7dbefa 100%);
  background-image: linear-gradient(160deg, #238ced 0%, #7dbefa 100%);
  color: #fff;
  -webkit-transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-image 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-image 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-button02._blue:hover {
  background-image: -webkit-linear-gradient(290deg, #fff 0%, #fff 100%);
  background-image: linear-gradient(160deg, #fff 0%, #fff 100%);
  color: #238ced;
}

/*------------------------------------
  c-arrow-button
-------------------------------------*/
.c-arrow-button {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 15;
  line-height: 1.4285714286;
  color: #fff;
  background-color: #1e2434;
  border-radius: 30px;
  padding: 17px;
  border: solid 1px #1e2434;
  position: relative;
  -webkit-transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  display: block;
}
.c-arrow-button *,
.c-arrow-button *::before,
.c-arrow-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));
}
@media (min-width: 768px) {
  .c-arrow-button {
    line-height: 1.4;
    border-radius: 33px;
    padding: 16px 24px 19px;
  }
}
.c-arrow-button__icon {
  position: absolute;
  top: 50%;
  right: 19px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 768px) {
  .c-arrow-button__icon {
    right: 25px;
  }
}
.c-arrow-button__path {
  fill: #fff;
}
.c-arrow-button:hover {
  background-color: #fff;
  color: #1e2434;
}
.c-arrow-button:hover .c-arrow-button__path {
  fill: #1e2434;
}
.c-arrow-button__path {
  fill: #fff;
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.c-arrow-button._white {
  text-align: center;
  color: #1e2434;
  background-color: #fff;
  grid-template-columns: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.c-arrow-button._white:hover {
  background-color: #1e2434;
  color: #fff;
}
.c-arrow-button._white:hover .c-arrow-button__path {
  fill: #fff;
}
.c-arrow-button._white .c-arrow-button__icon {
  position: absolute;
  top: 50%;
  right: 19px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 768px) {
  .c-arrow-button._white .c-arrow-button__icon {
    right: 25px;
  }
}
.c-arrow-button._white .c-arrow-button__path {
  fill: #1e2434;
}
.c-arrow-button._transparent {
  background-color: transparent;
  border: solid 1px #fff;
  color: #fff;
}
.c-arrow-button._transparent:hover {
  background-color: #fff;
  color: #1e2434;
}

.c-card {
  gap: 0;
}
.c-card:not(.c-flow__item) {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.c-card__image img {
  border-radius: 8px;
}
.c-card__heading {
  margin-top: 17px;
}
@media (min-width: 768px) {
  .c-card__heading {
    margin-top: 24px;
  }
}
.c-card__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "EB Garamond", serif;
  line-height: 1.5714285714;
  gap: 6px;
}
.c-card__number *,
.c-card__number *::before,
.c-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));
}
@media (min-width: 768px) {
  .c-card__number {
    line-height: 1.5;
    gap: 8px;
  }
}
.c-card__number::before {
  width: 6px;
  height: 6px;
}
@media (min-width: 768px) {
  .c-card__number::before {
    width: 8px;
    height: 8px;
  }
}
.c-card__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  line-height: 1.5;
  margin-top: 4px;
  letter-spacing: 0.02em;
}
.c-card__title *,
.c-card__title *::before,
.c-card__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));
}
@media (min-width: 768px) {
  .c-card__title {
    line-height: 1.45;
    margin-top: 6px;
  }
}
.c-card__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 16px;
  letter-spacing: 0.02em;
}
.c-card__text *,
.c-card__text *::before,
.c-card__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));
}
@media (min-width: 768px) {
  .c-card__text {
    margin-top: 24px;
  }
}

.c-checkbox {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  font-weight: bold;
  position: relative;
}
.c-checkbox *,
.c-checkbox *::before,
.c-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-checkbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-left: 32px;
  outline: none;
}
.c-checkbox input::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid #222427;
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #f5f6f9;
}
@media (min-width: 768px) {
  .c-checkbox input::before {
    width: 25px;
    height: 25px;
  }
}
.c-checkbox input::after {
  content: "";
  display: block;
  position: absolute;
  inset: 50% auto auto 9px;
  translate: 0 -55%;
  width: 6px;
  height: 10px;
  border: 2px solid #384c64;
  border-left: none;
  border-top: none;
  scale: 0;
  rotate: 45deg;
  -webkit-transition: scale 0.2s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: scale 0.2s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .c-checkbox input::after {
    width: 8px;
    height: 14px;
  }
}
.c-checkbox input:checked::after {
  scale: 1;
}

.c-date {
  background-color: #fff;
  border: solid 1px #cfd6e2;
  border-radius: 8px;
  padding: 22px 28px 0;
  position: relative;
}
@media (min-width: 768px) {
  .c-date {
    display: grid;
    grid-template-columns: 139px auto;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 35px;
    padding: 0 40px;
  }
}
.c-date::before {
  content: "泊";
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.4285714286;
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
  background-image: -webkit-linear-gradient(290deg, #238CED 0%, #7DBEFA 100%);
  background-image: linear-gradient(160deg, #238CED 0%, #7DBEFA 100%);
  border-radius: 50%;
  padding: 14px 17px;
}
.c-date::before *,
.c-date::before *::before,
.c-date::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));
}
.c-date__head {
  padding: 32px 0;
}
@media (min-width: 768px) {
  .c-date__head {
    padding: 32px 0;
  }
}
.c-date__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 34;
  --max-font-size: 48;
  line-height: 1.2647058824;
  text-align: left;
}
.c-date__number *,
.c-date__number *::before,
.c-date__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));
}
@media (min-width: 768px) {
  .c-date__number {
    line-height: 1.2916666667;
  }
}
.c-date__unit {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 15;
  line-height: 1.5714285714;
}
.c-date__unit *,
.c-date__unit *::before,
.c-date__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));
}
@media (min-width: 768px) {
  .c-date__unit {
    line-height: 1.4;
  }
}
.c-date__row {
  position: relative;
  display: grid;
  grid-template-columns: 50px auto;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 24px;
  border-bottom: solid 1px #cfd6e2;
  margin-left: 26px;
  padding: 32px 0;
  position: relative;
}
@media (min-width: 768px) {
  .c-date__row {
    margin-left: 0px;
  }
}
.c-date__row::before {
  content: "";
  position: absolute;
  top: 41px;
  left: -9px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  width: 8px;
  height: 8px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  border-radius: 50%;
  z-index: 2;
}
@media (min-width: 768px) {
  .c-date__row::before {
    left: -13px;
    width: 12px;
    height: 12px;
  }
}
.c-date__row::after {
  content: "";
  position: absolute;
  top: 47px;
  left: -14px;
  width: 1px;
  height: calc(100% - 4px);
  background-color: #37BBFC;
  z-index: 1;
}
@media (min-width: 768px) {
  .c-date__row::after {
    bottom: 47px;
    left: -19px;
  }
}
.c-date__row:last-child {
  border-bottom: none;
}
.c-date__row:last-child::after {
  display: none;
}
.c-date__time {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  line-height: 1.5;
  justify-self: right;
}
.c-date__time *,
.c-date__time *::before,
.c-date__time *::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 (min-width: 768px) {
  .c-date__time {
    line-height: 1.45;
  }
}
.c-date__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  letter-spacing: 0.02em;
  margin-top: 1px;
}
.c-date__text *,
.c-date__text *::before,
.c-date__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));
}
@media (min-width: 768px) {
  .c-date__text {
    line-height: 1.5;
    margin-top: 2px;
  }
}
.c-date._light::before {
  content: "帰";
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.4285714286;
  color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  border-radius: 50%;
  padding: 13px 16px;
}
.c-date._light::before *,
.c-date._light::before *::before,
.c-date._light::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));
}

/* モーダルのdialog要素 */
.c-drawer {
  /* モーダルが開いた状態 */
  /* モーダルを閉じるアニメーション */
  /* モーダル内部のコンテナ */
  /* 閉じるボタン */
  /* 閉じるボタンの「×」アイコン */
}
.c-drawer__dialog {
  display: grid;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-drawer__dialog.is-open {
  -webkit-animation: modalOpen 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
          animation: modalOpen 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
  opacity: 1;
  visibility: visible;
}
.c-drawer__dialog.is-close {
  opacity: 0;
  visibility: hidden;
  -webkit-animation: modalClose 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
          animation: modalClose 0.3s cubic-bezier(0.45, 0.05, 0.5, 1) forwards;
  -webkit-transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.c-drawer__container {
  height: 100dvh;
  width: 100%;
  overflow: auto;
  -webkit-transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-clip-path 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-clip-path 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), clip-path 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), clip-path 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-clip-path 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  position: relative;
  background-color: #fff;
  margin-left: auto;
  margin-top: 79px;
  display: grid;
  grid-template-rows: auto 1fr;
}
.l-header.is-white .c-drawer__container {
  margin-top: 71px;
}
.c-drawer__inner {
  padding-inline: 8.2051282051vw;
}
.c-drawer__button {
  position: fixed;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
  display: block;
}
.l-header.is-white .c-drawer__button {
  width: 72px;
  height: 72px;
}
.c-drawer__line {
  inset: 0;
  margin: auto;
}
.c-drawer__line, .c-drawer__line:after, .c-drawer__line:before {
  display: block;
  height: 2px;
  width: 28px;
  position: absolute;
  content: "";
  background-color: #fff;
  -webkit-transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), top 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), bottom 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transition-delay 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), top 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), bottom 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transition-delay 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), top 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), bottom 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), transition-delay 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), background-color 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), opacity 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), top 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), bottom 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), transition-delay 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transform 0.3s cubic-bezier(0.45, 0.05, 0.5, 1), -webkit-transition-delay 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.l-header.is-white .c-drawer__line, .l-header.is-white .c-drawer__line:before, .l-header.is-white .c-drawer__line:after {
  background-color: #222427;
}
.c-drawer__line:before {
  top: -8px;
}
.c-drawer__line:after {
  bottom: -8px;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line, .c-drawer__dialog.is-open .c-drawer__line {
  background-color: transparent;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line:before, .c-drawer__dialog.is-open .c-drawer__line:before {
  top: 0;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  background-color: #222427;
}
.c-drawer__button[aria-expanded=true] .c-drawer__line:after, .c-drawer__dialog.is-open .c-drawer__line:after {
  bottom: 0;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  background-color: #222427;
}
.c-drawer__nav {
  margin-block: 48px 120px;
}
.c-drawer__item {
  border-top: 1px solid #cfd6e2;
}
.c-drawer__item:last-child {
  border-bottom: 1px solid #cfd6e2;
}
.c-drawer__link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 16;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding-block: 24px;
  display: block;
  cursor: pointer;
}
.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._accordion {
  position: relative;
}
.c-drawer__link._accordion::before, .c-drawer__link._accordion::after {
  content: "";
  display: block;
  width: 15px;
  height: 1.5px;
  background-color: #1e2434;
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -50%;
  border-radius: 100vmax;
}
.c-drawer__link._accordion::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-drawer__details-content {
  overflow: clip;
}
.c-drawer__sub-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 40px;
  padding: 12px 0 40px 24px;
}
.c-drawer__sub-link {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  line-height: 1.4285714286;
  letter-spacing: 0.02em;
}
.c-drawer__sub-link *,
.c-drawer__sub-link *::before,
.c-drawer__sub-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__sub-link::before {
  content: "-";
  margin-right: 5px;
}
.c-drawer__nav-button {
  margin-top: 40px;
  margin-inline: auto;
  max-width: 246px;
}
.c-drawer__nav-button .c-arrow-button {
  text-align: center;
}

/* 開閉アニメーション */
@-webkit-keyframes modalOpen {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes modalOpen {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes modalClose {
  0% {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes modalClose {
  0% {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
.c-flow__item {
  border: solid 1px #cfd6e2;
  border-radius: 8px;
  margin-bottom: 25px;
  padding: 22px;
  position: relative;
}
@media (min-width: 768px) {
  .c-flow__item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
    border: solid 1px #cfd6e2;
    border-radius: 8px;
    padding: 24px;
  }
}
@media (min-width: 1024px) {
  .c-flow__item {
    grid-template-columns: 364px auto;
    gap: 56px;
    padding: 32px 75px 32px 32px;
  }
}
.c-flow__item::after {
  content: "";
  width: 50px;
  height: 25px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  border-radius: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
}
.c-flow__item:last-child {
  margin-bottom: 0px;
}
.c-flow__item:last-child::after {
  display: none;
}
.c-flow__image {
  border-radius: 8px;
}
@media (min-width: 768px) {
  .c-flow__heading {
    margin-top: 0px;
  }
}
.c-flow__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.5714285714;
  gap: 6px;
}
.c-flow__number *,
.c-flow__number *::before,
.c-flow__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));
}
@media (min-width: 768px) {
  .c-flow__number {
    line-height: 1.5;
    gap: 8px;
  }
}
.c-flow__number::before {
  width: 6px;
  height: 6px;
}
@media (min-width: 768px) {
  .c-flow__number::before {
    width: 8px;
    height: 8px;
  }
}

.c-heading {
  position: relative;
}
.c-heading__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 100;
  --max-font-size: 220;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.21;
  color: #eff1f5;
  font-weight: 600;
  margin-left: -25px;
}
.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));
}
@media (min-width: 768px) {
  .c-heading__en {
    line-height: 1.0272727273;
    margin-left: -88px;
  }
}
.c-heading__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
  line-height: 1.4166666667;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: #222427;
  display: grid;
  grid-template-columns: 12px auto;
  gap: 8px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 20px;
  font-weight: 700;
}
.c-heading__title *,
.c-heading__title *::before,
.c-heading__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));
}
@media (min-width: 768px) {
  .c-heading__title {
    line-height: 1.5;
    bottom: 28px;
  }
}
.c-heading__title::before {
  content: "";
  height: 2px;
  background-color: #e60013;
}
@media (min-width: 768px) {
  .c-heading__title::before {
    height: 4px;
  }
}
.c-heading._white .c-heading__en {
  color: rgba(239, 241, 245, 0.1);
}
.c-heading._white .c-heading__title {
  color: #fff;
  bottom: 12px;
}
@media (min-width: 768px) {
  .c-heading._white .c-heading__title {
    bottom: 38px;
  }
}
.c-heading._white .c-heading__title::before {
  background-color: rgba(255, 255, 255, 0.7);
}
.c-heading._jp-large .c-heading__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 40;
  line-height: 1.3666666667;
  grid-template-columns: 24px auto;
  gap: 16px;
  bottom: 11px;
}
.c-heading._jp-large .c-heading__title *,
.c-heading._jp-large .c-heading__title *::before,
.c-heading._jp-large .c-heading__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));
}
@media (min-width: 768px) {
  .c-heading._jp-large .c-heading__title {
    line-height: 1.45;
    bottom: 4px;
  }
}
.c-heading._jp-large .c-heading__title:has(.u-dn-md) {
  bottom: -20px;
}
@media (min-width: 768px) {
  .c-heading._jp-large .c-heading__title:has(.u-dn-md) {
    bottom: 4px;
  }
}
.c-heading._jp-large .c-heading__title::before {
  height: 2px;
}
@media (min-width: 768px) {
  .c-heading._jp-large .c-heading__title::before {
    height: 4px;
  }
}
.c-heading._center .c-heading__en {
  text-align: center;
  margin: 0 auto;
}
.c-heading._center .c-heading__title {
  display: grid;
  grid-template-columns: initial;
  grid-template-rows: auto;
  gap: 8px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.c-heading._center .c-heading__title::before {
  width: 24px;
  position: absolute;
  bottom: -13px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (min-width: 768px) {
  .c-heading._center .c-heading__title::before {
    bottom: -16px;
  }
}

/*------------------------------------
  .c-heading02
-------------------------------------*/
.c-heading02 {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 32;
  line-height: 1.4545454545;
  background-color: #f5f6f9;
  border-radius: 8px;
  display: grid;
  grid-template-columns: auto auto;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 8px;
  padding: 10px 17px 14px;
}
.c-heading02 *,
.c-heading02 *::before,
.c-heading02 *::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:has(.c-heading02__number) {
  grid-template-columns: auto 1fr;
}
@media (min-width: 768px) {
  .c-heading02:has(.c-heading02__number) {
    grid-template-columns: auto auto 1fr;
  }
}
@media (min-width: 768px) {
  .c-heading02 {
    line-height: 1.4375;
    gap: 16px;
    padding: 14px 24px 20px;
  }
}
.c-heading02::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  position: relative;
  top: 0.5em;
}
@media (min-width: 768px) {
  .c-heading02::before {
    width: 15px;
    height: 15px;
  }
}
.c-heading02__small {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  line-height: 1.45;
  font-weight: bold;
  display: block;
}
.c-heading02__small *,
.c-heading02__small *::before,
.c-heading02__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));
}
@media (min-width: 768px) {
  .c-heading02__small {
    display: inline-block;
  }
}
.c-heading02__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "EB Garamond", serif;
  line-height: 1.3125;
  font-weight: 500;
  color: #384c64;
  text-align: right;
  grid-column: 1/-1;
}
.c-heading02__number *,
.c-heading02__number *::before,
.c-heading02__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));
}
@media (min-width: 768px) {
  .c-heading02__number {
    grid-column: auto;
  }
}
.c-heading02__number::before {
  content: "/";
  margin-right: 12px;
}
.c-heading02._white {
  background-color: #fff;
}

/*------------------------------------
  .c-heading03
-------------------------------------*/
.c-heading03 {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 24;
  line-height: 1.0416666667;
  display: grid;
  grid-template-columns: auto auto;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
.c-heading03 *,
.c-heading03 *::before,
.c-heading03 *::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 (min-width: 768px) {
  .c-heading03 {
    line-height: 2.0588235294;
    gap: 10px;
  }
}
.c-heading03::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
}
@media (min-width: 768px) {
  .c-heading03::before {
    width: 12px;
    height: 12px;
  }
}
.c-heading03._medium {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  line-height: 1.4285714286;
  gap: 6px;
}
.c-heading03._medium *,
.c-heading03._medium *::before,
.c-heading03._medium *::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 (min-width: 768px) {
  .c-heading03._medium {
    line-height: 1.45;
    gap: 8px;
  }
}
.c-heading03._medium::before {
  content: "";
  width: 6px;
  height: 6px;
}
@media (min-width: 768px) {
  .c-heading03._medium::before {
    width: 8px;
    height: 8px;
  }
}

/*------------------------------------
  .c-heading04
-------------------------------------*/
.c-heading04 {
  position: relative;
  z-index: 1;
}
.c-heading04__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 62;
  --max-font-size: 88;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.1935483871;
  color: #eff1f5;
  opacity: 0.1;
  position: absolute;
  top: -41px;
  left: -27px;
}
.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));
}
@media (min-width: 768px) {
  .c-heading04__en {
    line-height: 1.2045454545;
    top: -56px;
    left: -36px;
  }
}
.c-heading04__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 32;
  line-height: 1.4545454545;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: #fff;
}
.c-heading04__title *,
.c-heading04__title *::before,
.c-heading04__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));
}
@media (min-width: 768px) {
  .c-heading04__title {
    line-height: 1.4375;
  }
}

.c-history {
  background-color: #384C64;
}
.c-history__row {
  display: grid;
  grid-template-columns: 118px 1fr;
}
@media (min-width: 768px) {
  .c-history__row {
    grid-template-columns: 212px 1fr;
  }
}
.c-history__row:last-child .c-history__data {
  border-left: none;
  padding-bottom: 0px;
}
.c-history__header {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 28;
  --max-font-size: 40;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  line-height: 1.2857142857;
  color: #fff;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px;
  position: relative;
  margin-top: -8px;
}
.c-history__header *,
.c-history__header *::before,
.c-history__header *::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 (min-width: 768px) {
  .c-history__header {
    line-height: 1.3;
    gap: 10px;
  }
}
.c-history__header::after {
  content: "";
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: #fff;
  border: solid 8px #37bbfc;
  -webkit-filter: blur(2px);
          filter: blur(2px);
  position: absolute;
  top: 7px;
  right: 0;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media (min-width: 768px) {
  .c-history__header::after {
    width: 33px;
    height: 33px;
    border: solid 12px #37bbfc;
  }
}
.c-history__month {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 24;
  line-height: 1.2941176471;
  display: block;
  margin-top: 10px;
}
.c-history__month *,
.c-history__month *::before,
.c-history__month *::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 (min-width: 768px) {
  .c-history__month {
    line-height: 1.2916666667;
    margin-top: 16px;
  }
}
.c-history__data {
  color: #fff;
  border-left: solid 1px #778596;
  padding: 0 0 39px 32px;
}
@media (min-width: 768px) {
  .c-history__data {
    padding: 0 0 56px 91px;
  }
}

.c-input {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 15;
  line-height: 1.4285714286;
  background-color: #f8f9fa;
  border: solid #cfd6e2 1px;
  border-radius: 4px;
  padding: 11px 15px 10px;
  width: 100%;
}
.c-input *,
.c-input *::before,
.c-input *::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 (min-width: 768px) {
  .c-input {
    line-height: 1.4;
    padding: 16px 22px 15px;
  }
}
.c-input::-webkit-input-placeholder {
  color: #babec6;
}
.c-input::-moz-placeholder {
  color: #babec6;
}
.c-input:-ms-input-placeholder {
  color: #babec6;
}
.c-input::-ms-input-placeholder {
  color: #babec6;
}
.c-input::placeholder {
  color: #babec6;
}

.c-interview {
  border: solid 1px #cfd6e2;
  border-radius: 8px;
  padding: 24px 24px 32px;
  background: #fff;
}
@media (min-width: 768px) {
  .c-interview {
    padding: 32px 32px 40px;
  }
}
.c-interview__question {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.2777777778;
  display: grid;
  grid-template-columns: 32px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.c-interview__question *,
.c-interview__question *::before,
.c-interview__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));
}
@media (min-width: 768px) {
  .c-interview__question {
    line-height: 1.45;
  }
}
.c-interview__question::before {
  content: "Q";
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.375;
  height: 32px;
  color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#37bbfc), to(#9ae5ff));
  background-image: -webkit-linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  background-image: linear-gradient(#37bbfc 0%, #9ae5ff 100%);
  border-radius: 50%;
  padding: 5px 7px 6px 9px;
}
.c-interview__question::before *,
.c-interview__question::before *::before,
.c-interview__question::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));
}
@media (min-width: 768px) {
  .c-interview__question::before {
    line-height: 1.2777777778;
    padding: 3px 7px 6px 8px;
  }
}
.c-interview__answer {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  margin-top: 6px;
}
.c-interview__answer *,
.c-interview__answer *::before,
.c-interview__answer *::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 (min-width: 768px) {
  .c-interview__answer {
    line-height: 2;
    margin-top: 9px;
  }
}
.c-interview__answer::before {
  content: "A";
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.375;
  height: 32px;
  color: #fff;
  background-image: -webkit-linear-gradient(290deg, #238ced 0%, #7dbefa 100%);
  background-image: linear-gradient(160deg, #238ced 0%, #7dbefa 100%);
  border-radius: 50%;
  padding: 5px 9px 6px 10px;
}
.c-interview__answer::before *,
.c-interview__answer::before *::before,
.c-interview__answer::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));
}
@media (min-width: 768px) {
  .c-interview__answer::before {
    line-height: 1.2777777778;
    padding: 5px 9px 6px 10px;
  }
}

@media (min-width: 768px) {
  .c-media {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 62px;
  }
}
@media (min-width: 1024px) {
  .c-media {
    grid-template-columns: 445fr 668fr;
    gap: min(6.0416666667vw, 87px);
  }
}
.c-media__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 25;
  --max-font-size: 40;
  line-height: 1.6;
}
.c-media__title *,
.c-media__title *::before,
.c-media__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));
}
@media (min-width: 768px) {
  .c-media__title {
    --viewport-from: 390;
    --viewport-to: 768;
    --min-font-size: 25;
    --max-font-size: 28;
    line-height: 1.7857142857;
  }
  .c-media__title *,
  .c-media__title *::before,
  .c-media__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));
  }
}
@media (min-width: 1024px) {
  .c-media__title {
    line-height: 1.6;
  }
}
.c-media__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.c-media__text *,
.c-media__text *::before,
.c-media__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));
}
@media (min-width: 1024px) {
  .c-media__text {
    line-height: 2;
    margin-top: 40px;
  }
}
.c-media__image {
  margin-top: 62px;
}
@media (min-width: 768px) {
  .c-media__image {
    margin-top: 0px;
  }
}
.c-media__video {
  margin-top: 62px;
}
@media (min-width: 768px) {
  .c-media__video {
    margin-top: 0px;
  }
}
.c-media__video iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

/*------------------------------------
  .c-media02
-------------------------------------*/
.c-media02 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
@media (min-width: 768px) {
  .c-media02 {
    grid-template-columns: 400px 1fr;
    grid-template-areas: "image text";
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 1024px) {
  .c-media02 {
    grid-template-columns: 592fr 516fr;
    gap: 92px;
  }
}
.c-media02__image img {
  border-radius: 8px;
}
@media (min-width: 768px) {
  .c-media02__image {
    grid-area: image;
  }
}
@media (min-width: 768px) {
  .c-media02__inner {
    grid-area: text;
  }
}
.c-media02__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
  line-height: 1.2;
  color: #fff;
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  display: grid;
  grid-template-columns: 18px auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding-bottom: 17px;
}
.c-media02__title *,
.c-media02__title *::before,
.c-media02__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));
}
@media (min-width: 768px) {
  .c-media02__title {
    line-height: 1.4583333333;
    grid-template-columns: 25px auto;
    gap: 14px;
    padding-bottom: 24px;
  }
}
.c-media02__title::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #fff;
  border: solid 6px #37bbfc;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media (min-width: 768px) {
  .c-media02__title::before {
    width: 25px;
    height: 25px;
    border: solid 8px #37bbfc;
  }
}
.c-media02__description {
  margin-top: 17px;
}
@media (min-width: 768px) {
  .c-media02__description {
    margin-top: 24px;
  }
}
.c-media02__subtitle {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
  line-height: 1.4285714286;
  color: #fff;
}
.c-media02__subtitle *,
.c-media02__subtitle *::before,
.c-media02__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));
}
@media (min-width: 768px) {
  .c-media02__subtitle {
    line-height: 1.45;
  }
}
.c-media02__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  color: #fff;
  margin-top: 17px;
  letter-spacing: 0.02em;
}
.c-media02__text *,
.c-media02__text *::before,
.c-media02__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));
}
@media (min-width: 768px) {
  .c-media02__text {
    line-height: 2;
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .c-media02._reverse {
    grid-template-columns: 1fr 400px;
    grid-template-areas: "text image";
  }
}
@media (min-width: 1024px) {
  .c-media02._reverse {
    grid-template-columns: 516fr 592fr;
  }
}

/*------------------------------------
  .c-media04
-------------------------------------*/
.c-media04 {
  border: solid 1px #cfd6e2;
  padding: 28px 24px;
  border-radius: 8px;
}
@media (min-width: 768px) {
  .c-media04 {
    display: grid;
    grid-template-columns: auto 200px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px;
    padding: 40px 48px;
  }
}
@media (min-width: 1024px) {
  .c-media04 {
    grid-template-columns: auto 316px;
  }
}
.c-media04__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
  line-height: 1.2;
}
.c-media04__title *,
.c-media04__title *::before,
.c-media04__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));
}
@media (min-width: 768px) {
  .c-media04__title {
    line-height: 1.4583333333;
  }
}
.c-media04__button {
  display: block;
  margin-top: 24px;
}
.c-media04__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 17px;
  letter-spacing: 0.02em;
}
.c-media04__text *,
.c-media04__text *::before,
.c-media04__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));
}
@media (min-width: 768px) {
  .c-media04__text {
    line-height: 2;
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .c-media04__images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
.c-media04__image {
  border-radius: 8px;
  margin-top: 32px;
}
@media (min-width: 768px) {
  .c-media04__image {
    margin-top: 0px;
  }
}
@media (min-width: 768px) {
  .c-media04._image-double {
    display: grid;
    grid-template-columns: none;
    grid-template-rows: auto 1fr;
    gap: 35px;
  }
}
@media (min-width: 1024px) {
  .c-media04._image-double {
    display: grid;
    grid-template-columns: 398fr 656fr;
    grid-template-rows: none;
    gap: 50px;
  }
}

.c-page-mv {
  width: 100vw;
  height: 320px;
  position: relative;
}
@media (min-width: 768px) {
  .c-page-mv {
    height: 640px;
  }
}
.c-page-mv__inner {
  position: absolute;
  top: 40%;
  left: 32px;
}
@media (min-width: 768px) {
  .c-page-mv__inner {
    top: 45%;
    left: 2.7777777778vw;
  }
}
@media (min-width: 1200px) {
  .c-page-mv__inner {
    left: calc(50% - 600px);
  }
}
.c-page-mv__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.2;
  color: #fff;
  display: grid;
  grid-template-columns: 12px auto;
  gap: 10px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-page-mv__en *,
.c-page-mv__en *::before,
.c-page-mv__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));
}
@media (min-width: 768px) {
  .c-page-mv__en {
    line-height: 1.2083333333;
    gap: 8px;
  }
}
.c-page-mv__en::before {
  content: "";
  width: 12px;
  height: 2px;
  background-color: #fff;
}
.c-page-mv__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 38;
  --max-font-size: 64;
  line-height: 1.4473684211;
  color: #fff;
  margin-top: 6px;
}
.c-page-mv__title *,
.c-page-mv__title *::before,
.c-page-mv__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));
}
@media (min-width: 768px) {
  .c-page-mv__title {
    line-height: 1.4375;
    margin-top: 8px;
  }
}
.c-page-mv__background {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media (min-width: 768px) {
  .c-page-mv__background {
    left: 0%;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
.c-page-mv__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------
  c-page-mv02
-------------------------------------*/
.c-page-mv02__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  line-height: 1.2;
  color: #1e2434;
  display: grid;
  grid-template-columns: 12px auto;
  gap: 10px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-page-mv02__en *,
.c-page-mv02__en *::before,
.c-page-mv02__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));
}
@media (min-width: 768px) {
  .c-page-mv02__en {
    line-height: 1.2083333333;
    gap: 8px;
  }
}
.c-page-mv02__en::before {
  content: "";
  width: 12px;
  height: 2px;
  background-color: #e60013;
}
.c-page-mv02__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 38;
  --max-font-size: 64;
  line-height: 1.4473684211;
  color: #1e2434;
  margin-top: 6px;
}
.c-page-mv02__title *,
.c-page-mv02__title *::before,
.c-page-mv02__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));
}
@media (min-width: 768px) {
  .c-page-mv02__title {
    line-height: 1.4375;
    margin-top: 8px;
  }
}

.c-point {
  background-color: #384c64;
  border-radius: 8px;
  padding: 32px 24px;
}
@media (min-width: 768px) {
  .c-point {
    padding: 48px;
  }
}
.c-point__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  line-height: 1.5;
  color: #fff;
  display: grid;
  grid-template-columns: 23px auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
.c-point__title *,
.c-point__title *::before,
.c-point__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));
}
@media (min-width: 768px) {
  .c-point__title {
    line-height: 1.45;
    grid-template-columns: 33px auto;
    gap: 9px;
  }
}
.c-point__title::before {
  content: "";
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: #fff;
  border: solid 8px #37bbfc;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
@media (min-width: 768px) {
  .c-point__title::before {
    width: 33px;
    height: 33px;
    border: solid 12px #37bbfc;
  }
}
.c-point__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.4285714286;
  color: #fff;
  text-align: center;
  margin-top: 28px;
  letter-spacing: 0.02em;
}
.c-point__text *,
.c-point__text *::before,
.c-point__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));
}
@media (min-width: 768px) {
  .c-point__text {
    line-height: 1.5;
    margin-top: 40px;
  }
}
.c-point__image {
  margin-top: 24px;
}

.c-radio {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.c-radio *,
.c-radio *::before,
.c-radio *::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 (min-width: 768px) {
  .c-radio {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
  }
}
.c-radio label {
  position: relative;
  padding-left: 24px;
}
.c-radio label input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-radio label input::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border: 1px solid #222427;
  border-radius: 50%;
  position: absolute;
  inset: 50% auto auto 0;
  translate: 0 -50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #fff;
}
@media (min-width: 768px) {
  .c-radio label input::before {
    width: 20px;
    height: 20px;
  }
}
.c-radio label input::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background: #384c64;
  border-radius: 50%;
  inset: 50% auto auto 3px;
  translate: 0 -50%;
  scale: 0;
  -webkit-transition: scale 0.2s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: scale 0.2s cubic-bezier(0.45, 0.05, 0.5, 1);
}
@media (min-width: 768px) {
  .c-radio label input::after {
    width: 14px;
    height: 14px;
  }
}
.c-radio label input:checked::after {
  scale: 1;
}

.c-system {
  border: solid 1px #cfd6e2;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 100px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px;
  gap: 16px;
}
@media (min-width: 1024px) {
  .c-system {
    grid-template-columns: auto 183fr;
    padding: 20px 28px 19px;
    gap: 21px;
  }
}
.c-system__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.45;
}
.c-system__title *,
.c-system__title *::before,
.c-system__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-system__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 12;
  line-height: 1.5;
  margin-top: 4px;
  letter-spacing: 0.02em;
}
.c-system__text *,
.c-system__text *::before,
.c-system__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));
}
@media (min-width: 768px) {
  .c-system__text {
    margin-top: 6px;
  }
}
.c-system__image {
  max-width: 112px;
}

.c-table__row {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid #cfd6e2;
  padding: 24px 0;
}
.c-table__row:last-child {
  border-bottom: 1px solid #cfd6e2;
}
@media (min-width: 768px) {
  .c-table__row {
    display: grid;
    grid-template-columns: 228px 1fr;
    padding: 0px;
  }
}
.c-table__header, .c-table__data {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
}
.c-table__header *,
.c-table__header *::before,
.c-table__header *::after, .c-table__data *,
.c-table__data *::before,
.c-table__data *::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 (min-width: 768px) {
  .c-table__header, .c-table__data {
    padding: 32px 0 32px 0;
  }
}
.c-table__header {
  text-align: left;
}
.c-table__data {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .c-table__data {
    margin-top: 0px;
  }
}

.c-textarea {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 15;
  line-height: 1.4285714286;
  background-color: #f8f9fa;
  border: solid #cfd6e2 1px;
  border-radius: 4px;
  padding: 11px 15px 10px;
  width: 100%;
  min-height: 350px;
  field-sizing: content;
}
.c-textarea *,
.c-textarea *::before,
.c-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));
}
@media (min-width: 768px) {
  .c-textarea {
    line-height: 1.4;
    padding: 16px 22px 15px;
  }
}
.c-textarea::-webkit-input-placeholder {
  color: #babec6;
}
.c-textarea::-moz-placeholder {
  color: #babec6;
}
.c-textarea:-ms-input-placeholder {
  color: #babec6;
}
.c-textarea::-ms-input-placeholder {
  color: #babec6;
}
.c-textarea::placeholder {
  color: #babec6;
}

.p-about-strength__inner, .p-about-message__inner, .p-about-outline__inner, .p-about-anchor__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-about-strength__inner, .p-about-message__inner, .p-about-outline__inner, .p-about-anchor__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

@media (min-width: 768px) {
  .p-about-message__heading {
    margin-left: 0;
  }
}
@media (min-width: 1440px) {
  .p-about-message__heading {
    margin-left: calc(50% - 688px);
  }
}

/*------------------------------------
  .p-about-anchor
-------------------------------------*/
.p-about-anchor {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-about-anchor {
    margin-top: 56px;
  }
}
.p-about-anchor__inner {
  max-width: calc(1048px + 5.5555555556vw);
}

/*------------------------------------
  .p-about-outline
-------------------------------------*/
.p-about-outline {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-about-outline {
    margin-top: 160px;
  }
}
/*------------------------------------
  .p-about-message
-------------------------------------*/
.p-about-message {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-about-message {
    margin-top: 120px;
  }
}
.p-about-message__content {
  max-width: 972px;
  margin-left: auto;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-about-message__content {
    margin-top: 96px;
  }
}
.p-about-message__sub-heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: bold;
  line-height: 1.4583333333;
}
.p-about-message__sub-heading *,
.p-about-message__sub-heading *::before,
.p-about-message__sub-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-about-message__texts {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .p-about-message__texts {
    margin-top: 40px;
  }
}
.p-about-message__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 16;
  line-height: 2;
  letter-spacing: 0.02em;
}
.p-about-message__text *,
.p-about-message__text *::before,
.p-about-message__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-message__text:not(:first-child) {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .p-about-message__text:not(:first-child) {
    margin-top: 24px;
  }
}
.p-about-message__text span {
  display: block;
}

/*------------------------------------
  .p-about-strength
-------------------------------------*/
.p-about-strength {
  margin-top: 100px;
}
@media (min-width: 768px) {
  .p-about-strength {
    margin-top: 200px;
  }
}
.p-about-strength__background {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
.p-about-strength__background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-about-strength__content {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(10, 26, 44, 0.7)), color-stop(50%, rgba(10, 26, 44, 0.7)), to(rgba(93, 114, 139, 0.7)));
  background: -webkit-linear-gradient(top, rgba(10, 26, 44, 0.7) 0%, rgba(10, 26, 44, 0.7) 50%, rgba(93, 114, 139, 0.7) 100%);
  background: linear-gradient(180deg, rgba(10, 26, 44, 0.7) 0%, rgba(10, 26, 44, 0.7) 50%, rgba(93, 114, 139, 0.7) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding-block: 60px 100px;
}
@media (min-width: 768px) {
  .p-about-strength__content {
    padding-block: 120px 200px;
  }
}
.p-about-strength__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  color: #fff;
  margin-top: 40px;
  position: relative;
  background-image: url(../img/about-us/strength-text-background.png.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 12px 40px;
  letter-spacing: 0.02em;
}
.p-about-strength__text *,
.p-about-strength__text *::before,
.p-about-strength__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));
}
@media (min-width: 768px) {
  .p-about-strength__text {
    margin-top: 96px;
    padding: 24px 80px;
  }
}
.p-about-strength__medias {
  margin-top: 40px;
  display: grid;
  gap: 54px;
}
@media (min-width: 768px) {
  .p-about-strength__medias {
    margin-top: 96px;
    gap: 104px;
  }
}

.p-accordion {
  border: 1px solid #cfd6e2;
  border-radius: 8px;
}
.p-accordion__summary {
  display: grid;
  grid-template-columns: auto 15px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 17px 22px 20px;
}
@media (min-width: 768px) {
  .p-accordion__summary {
    grid-template-columns: auto 22px;
    padding: 24px 32px 28px;
  }
}
.p-accordion__summary::marker {
  content: none;
}
.p-accordion__summary__title {
  display: grid;
  gap: 11px;
}
@media (min-width: 768px) {
  .p-accordion__summary__title {
    gap: 16px;
  }
}
.p-accordion__summary::before {
  width: 15px;
  height: 15px;
}
.p-accordion__summary-button {
  width: 15px;
  height: 15px;
  position: relative;
}
@media (min-width: 768px) {
  .p-accordion__summary-button {
    width: 22px;
    height: 22px;
  }
}
.p-accordion__summary-button::before, .p-accordion__summary-button::after {
  content: "";
  width: 15px;
  height: 2px;
  background-color: #384c64;
  position: absolute;
  top: 50%;
  left: 0%;
}
@media (min-width: 768px) {
  .p-accordion__summary-button::before {
    width: 22px;
  }
}
.p-accordion__summary-button::after {
  rotate: 90deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: rotate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: rotate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.p-accordion.is-open .p-accordion__summary-button::after {
  rotate: 0deg;
}
@media (min-width: 768px) {
  .p-accordion__summary-button::after {
    width: 22px;
  }
}
.p-accordion__content {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .p-accordion__content {
    margin-top: 52px;
  }
}
.p-accordion__content-inner {
  padding: 0 22px 20px;
}
@media (min-width: 768px) {
  .p-accordion__content-inner {
    padding: 0 32px 28px;
  }
}
.p-accordion__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  color: #fff;
  font-weight: bold;
  background-image: -webkit-linear-gradient(290deg, #238ced 0%, #7dbefa 100%);
  background-image: linear-gradient(160deg, #238ced 0%, #7dbefa 100%);
  text-align: center;
  border-radius: 8px;
  padding: 16px;
  letter-spacing: 0.02em;
}
.p-accordion__text *,
.p-accordion__text *::before,
.p-accordion__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));
}
@media (min-width: 768px) {
  .p-accordion__text {
    line-height: 1.5;
  }
}
.p-accordion__table {
  margin-top: 32px;
}
.p-accordion__row {
  padding: 22px 17px;
}
.p-accordion__row:last-child {
  border-bottom: none;
}
@media (min-width: 768px) {
  .p-accordion__row {
    padding-left: 0px;
  }
}
.p-accordion__header {
  padding-left: 0px;
}
@media (min-width: 768px) {
  .p-accordion__header {
    padding-left: 24px;
  }
}
.p-accordion__button {
  display: block;
  max-width: 160px;
  margin-top: 24px;
}

.p-benefits-tank__inner, .p-benefits-support__inner, .p-benefits-fulfillment__inner, .p-benefits-system__inner, .p-benefits-balloon__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-benefits-tank__inner, .p-benefits-support__inner, .p-benefits-fulfillment__inner, .p-benefits-system__inner, .p-benefits-balloon__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

.p-benefits-support__list, .p-benefits-fulfillment__list, .p-benefits-system__list {
  margin-top: 22px;
  display: grid;
  gap: 21px;
}
@media (min-width: 768px) {
  .p-benefits-support__list, .p-benefits-fulfillment__list, .p-benefits-system__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 30px;
    margin-top: 32px;
  }
}
@media (min-width: 1024px) {
  .p-benefits-support__list, .p-benefits-fulfillment__list, .p-benefits-system__list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}

.p-benefits-support__item:last-child, .p-benefits-fulfillment__item:last-child, .p-benefits-system__item:last-child {
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  .p-benefits-support__item, .p-benefits-fulfillment__item, .p-benefits-system__item {
    margin: 0px;
  }
}

/*------------------------------------
  .p-benefits-balloon
-------------------------------------*/
.p-benefits-balloon {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-benefits-balloon {
    margin-top: 120px;
  }
}
/*------------------------------------
  .p-benefits-system
-------------------------------------*/
.p-benefits-system {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-benefits-system {
    margin-top: 80px;
  }
}
/*------------------------------------
  .p-benefits-fulfillment
-------------------------------------*/
.p-benefits-fulfillment {
  margin-block: 60px;
}
@media (min-width: 768px) {
  .p-benefits-fulfillment {
    margin-block: 120px;
  }
}
/*------------------------------------
  .p-benefits-support
-------------------------------------*/
.p-benefits-support {
  margin-block: 60px;
}
@media (min-width: 768px) {
  .p-benefits-support {
    margin-block: 120px;
  }
}
/*------------------------------------
  .p-benefits-tank
-------------------------------------*/
.p-benefits-tank {
  margin-block: 60px;
}
@media (min-width: 768px) {
  .p-benefits-tank {
    margin-block: 160px;
  }
}
.p-company-access__inner, .p-company-history__inner, .p-company-outline__inner, .p-company-anchor__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-company-access__inner, .p-company-history__inner, .p-company-outline__inner, .p-company-anchor__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

@media (min-width: 768px) {
  .p-company-access__heading, .p-company-history__heading, .p-company-outline__heading {
    margin-left: 0;
  }
}
@media (min-width: 1440px) {
  .p-company-access__heading, .p-company-history__heading, .p-company-outline__heading {
    margin-left: calc(50% - 600px);
  }
}

/*------------------------------------
  .p-company-anchor
-------------------------------------*/
.p-company-anchor {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-company-anchor {
    margin-top: 56px;
  }
}
.p-company-anchor__inner {
  max-width: calc(1048px + 5.5555555556vw);
}

/*------------------------------------
  .p-company-outline
-------------------------------------*/
.p-company-outline {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-company-outline {
    margin-top: 120px;
  }
}
.p-company-outline__table {
  max-width: 972px;
  margin-left: auto;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-company-outline__table {
    margin-top: 96px;
  }
}

/*------------------------------------
  .p-company-history
-------------------------------------*/
.p-company-history {
  background: #384c64;
  position: relative;
  overflow-x: clip;
  margin-top: 200px;
}
@media (min-width: 768px) {
  .p-company-history {
    margin-top: 360px;
  }
}
.p-company-history::before, .p-company-history::after {
  content: "";
  position: absolute;
  background: #384c64;
  translate: -50% 0;
  height: 200px;
  width: 1000px;
}
@media (min-width: 768px) {
  .p-company-history::before, .p-company-history::after {
    width: 1868px;
    height: 408px;
  }
}
@media (min-width: 1500px) {
  .p-company-history::before, .p-company-history::after {
    width: calc(100% + 20vw);
  }
}
.p-company-history::before {
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: -100px auto auto 50%;
}
@media (min-width: 768px) {
  .p-company-history::before {
    inset: -200px auto auto 50%;
  }
}
.p-company-history::after {
  -webkit-clip-path: ellipse(50% 100% at 50% 0);
          clip-path: ellipse(50% 100% at 50% 0);
  inset: auto auto -150px 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-company-history::after {
    inset: auto auto -300px 50%;
  }
}
.p-company-history__table {
  max-width: 972px;
  margin-left: auto;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-company-history__table {
    margin-top: 96px;
  }
}

/*------------------------------------
  .p-company-access
-------------------------------------*/
.p-company-access {
  margin-top: 200px;
  margin-bottom: 100px;
}
@media (min-width: 768px) {
  .p-company-access {
    margin-top: 420px;
    margin-bottom: 160px;
  }
}
.p-company-access__list {
  max-width: 972px;
  margin-left: auto;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-company-access__list {
    margin-top: 96px;
  }
}
.p-company-access__item {
  padding-block: 40px;
  border-top: 1px solid #cfd6e2;
}
@media (min-width: 768px) {
  .p-company-access__item {
    padding-block: 64px;
  }
}
.p-company-access__item:last-child {
  border-bottom: 1px solid #cfd6e2;
}

.p-complete__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-complete__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(895px + 5.5555555556vw);
  }
}

/*------------------------------------
  complete
-------------------------------------*/
.p-complete {
  padding-block: 120px 100px;
}
@media (min-width: 768px) {
  .p-complete {
    padding-block: 249px 160px;
  }
}
.p-complete__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 64;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 40px;
  border-bottom: solid 1px #cfd6e2;
}
.p-complete__title *,
.p-complete__title *::before,
.p-complete__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));
}
@media (min-width: 768px) {
  .p-complete__title {
    padding-bottom: 96px;
  }
}
.p-complete__content {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-complete__content {
    margin-top: 80px;
  }
}
.p-complete__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 16;
  line-height: 2;
  letter-spacing: 0.01em;
}
.p-complete__text *,
.p-complete__text *::before,
.p-complete__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-complete__button {
  margin-inline: auto;
  max-width: 240px;
  margin-top: 64px;
}
@media (min-width: 768px) {
  .p-complete__button {
    margin-top: 80px;
  }
}

.p-component__inner {
  padding: 0 5vw;
  max-width: calc(1200px + 10vw);
  margin-inline: auto;
  display: grid;
  gap: 30px;
}

/*------------------------------------
  .p-component
-------------------------------------*/
.p-component {
  margin-top: 20px;
}
/*------------------------------------
  contact
-------------------------------------*/
.p-contact {
  background-color: #384c64;
  background-image: url("../img/common/contact-background-sp.png.webp");
  background-size: contain;
  background-position: center;
}
@media (min-width: 768px) {
  .p-contact {
    background-image: url("../img/common/contact-background-pc.png.webp");
  }
}
.p-contact__inner {
  padding: 127px 0 171px;
}
@media (min-width: 768px) {
  .p-contact__inner {
    padding: 33px 0 100px;
  }
}
.p-contact__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 25;
  --max-font-size: 40;
  line-height: 1.44;
  color: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  bottom: 7px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-contact__title *,
.p-contact__title *::before,
.p-contact__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));
}
@media (min-width: 768px) {
  .p-contact__title {
    line-height: 1.45;
    bottom: 4px;
  }
}
.p-contact__text {
  color: #fff;
  text-align: center;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-contact__text-sp {
  display: block;
}
@media (min-width: 768px) {
  .p-contact__text-sp {
    display: none;
  }
}
.p-contact__button {
  max-width: 246px;
  display: block;
  margin: 32px auto 0;
}
@media (min-width: 768px) {
  .p-contact__button {
    max-width: 440px;
  }
}

.p-contact-section__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-contact-section__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(895px + 5.5555555556vw);
  }
}

/*------------------------------------
  p-contact-section
-------------------------------------*/
.p-contact-section {
  margin-top: 60px;
  padding-bottom: 100px;
}
@media (min-width: 768px) {
  .p-contact-section {
    margin-top: 120px;
    padding-bottom: 160px;
  }
}
.p-contact-section__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  line-height: 1.4285714286;
  border-bottom: solid 1px #cfd6e2;
  padding-bottom: 16px;
}
.p-contact-section__text *,
.p-contact-section__text *::before,
.p-contact-section__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-contact-section__required {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  color: #e60013;
}
.p-contact-section__required *,
.p-contact-section__required *::before,
.p-contact-section__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));
}

/*------------------------------------
  p-contact-form
-------------------------------------*/
.p-contact-form {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-contact-form {
    margin-top: 48px;
  }
}
.p-contact-form__group {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-contact-form__group + .p-contact-form__group {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-contact-form__group + .p-contact-form__group {
    margin-top: 48px;
  }
}
.p-contact-form__label {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 15;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.p-contact-form__label *,
.p-contact-form__label *::before,
.p-contact-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));
}
.p-contact-form__labelWrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-contact-form__required {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  color: #e60013;
}
.p-contact-form__required *,
.p-contact-form__required *::before,
.p-contact-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));
}
.p-contact-form .wpcf7-list-item {
  margin: 0;
}
.p-contact-form__list {
  margin-top: 32px;
  border-block: solid 1px #cfd6e2;
  padding-block: 32px;
}
@media (min-width: 768px) {
  .p-contact-form__list {
    margin-top: 48px;
    padding-block: 48px;
  }
}
.p-contact-form__item {
  padding-left: calc(1em + 4px);
  text-indent: calc(-1em - 6px);
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 14;
  letter-spacing: 0.02em;
  line-height: 2;
}
.p-contact-form__item *,
.p-contact-form__item *::before,
.p-contact-form__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));
}
.p-contact-form__item::before {
  content: "※";
  margin-right: 4px;
}
.p-contact-form__item a {
  text-decoration: underline;
}
.p-contact-form__privacy {
  margin-inline: auto;
  margin-top: 40px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .p-contact-form__privacy {
    margin-top: 72px;
  }
}
.p-contact-form__privacy .wpcf7-list-item {
  margin-top: 0;
}
.p-contact-form__submit {
  margin-top: 64px;
  text-align: center;
  max-width: 240px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-contact-form__submit {
    margin-top: 80px;
  }
}
.p-contact-form .wpcf7-spinner {
  display: none;
}

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

.p-food-trucks__inner, .p-food-care__inner, .p-food-technology__inner, .p-food-quality__inner, .p-food-about__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-food-trucks__inner, .p-food-care__inner, .p-food-technology__inner, .p-food-quality__inner, .p-food-about__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-food-about
-------------------------------------*/
.p-food-about {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-food-about {
    margin-top: 160px;
  }
}
.p-food-about__media {
  gap: 53px;
}
@media (min-width: 768px) {
  .p-food-about__media {
    gap: 62px;
  }
}
@media (min-width: 1024px) {
  .p-food-about__media {
    grid-template-columns: 592fr 536fr;
    gap: min(5.2083333333vw, 75px);
  }
}
.p-food-about__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 24;
  line-height: 1.7857142857;
}
.p-food-about__title *,
.p-food-about__title *::before,
.p-food-about__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));
}
@media (min-width: 768px) {
  .p-food-about__title {
    line-height: 1.4583333333;
  }
}
.p-food-about__list {
  border: solid 1px #cfd6e2;
  border-radius: 8px;
  padding: 26px 34px;
  margin-top: 22px;
}
@media (min-width: 768px) {
  .p-food-about__list {
    padding: 36px 48px;
    margin-top: 32px;
  }
}
.p-food-about__item {
  border-bottom: solid 1px #cfd6e2;
  padding-bottom: 28px;
}
@media (min-width: 768px) {
  .p-food-about__item {
    padding-bottom: 40px;
  }
}
.p-food-about__item:last-child {
  border-bottom: none;
  padding-top: 28px;
  padding-bottom: 0px;
}
@media (min-width: 768px) {
  .p-food-about__item:last-child {
    padding-top: 36px;
  }
}
.p-food-about__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.7857142857;
  padding-top: 8px;
  letter-spacing: 0.02em;
}
.p-food-about__text *,
.p-food-about__text *::before,
.p-food-about__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));
}
@media (min-width: 768px) {
  .p-food-about__text {
    line-height: 2;
    padding-top: 12px;
  }
}
.p-food-about__image {
  border-radius: 8px;
  margin-top: 50px;
}

/*------------------------------------
  .p-food-quality
-------------------------------------*/
.p-food-quality {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-food-quality {
    margin-top: 120px;
  }
}
.p-food-quality__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.7857142857;
  margin-top: 22px;
  letter-spacing: 0.02em;
}
.p-food-quality__text *,
.p-food-quality__text *::before,
.p-food-quality__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));
}
@media (min-width: 768px) {
  .p-food-quality__text {
    line-height: 2;
    margin-top: 32px;
  }
}
.p-food-quality__list {
  margin-top: 45px;
}
@media (min-width: 768px) {
  .p-food-quality__list {
    margin-top: 64px;
  }
}
.p-food-quality__media {
  border-top: solid 1px #cfd6e2;
  padding: 28px 0;
}
@media (min-width: 768px) {
  .p-food-quality__media {
    padding: 40px 0;
  }
}
.p-food-quality__media:last-child {
  border-bottom: solid 1px #cfd6e2;
}
.p-food-quality__heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.4444444444;
}
.p-food-quality__heading *,
.p-food-quality__heading *::before,
.p-food-quality__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));
}
@media (min-width: 768px) {
  .p-food-quality__heading {
    line-height: 1.45;
  }
}
.p-food-quality__heading::before {
  width: 6px;
  height: 6px;
}
@media (min-width: 768px) {
  .p-food-quality__heading::before {
    width: 8px;
    height: 8px;
  }
}

/*------------------------------------
  .p-food-technology
-------------------------------------*/
.p-food-technology {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-food-technology {
    margin-top: 120px;
  }
}
/*------------------------------------
  .p-food-care
-------------------------------------*/
.p-food-care {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-food-care {
    margin-top: 120px;
  }
}
.p-food-care__list {
  max-width: 800px;
  margin-top: 34px;
}
@media (min-width: 768px) {
  .p-food-care__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
    margin-top: 48px;
  }
}
.p-food-care__item {
  width: 192px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  display: grid;
  grid-template-columns: 6px auto;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  margin-top: 11px;
}
.p-food-care__item *,
.p-food-care__item *::before,
.p-food-care__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));
}
@media (min-width: 768px) {
  .p-food-care__item {
    line-height: 2;
    grid-template-columns: 8px auto;
    gap: 8px;
    margin-top: 0px;
  }
}
.p-food-care__item::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #cacfd8;
}
@media (min-width: 768px) {
  .p-food-care__item::before {
    width: 6px;
    height: 6px;
  }
}
.p-food-care__item:nth-child(n+5):nth-child(-n+10) {
  margin-top: 16px;
}
.p-food-care__item:first-child {
  margin-top: 0px;
}
.p-food-care__media {
  margin-top: 39px;
}
@media (min-width: 768px) {
  .p-food-care__media {
    margin-top: 56px;
  }
}
@media (min-width: 1024px) {
  .p-food-care__media {
    gap: 200px;
  }
}
@media (min-width: 1440px) {
  .p-food-care__media {
    gap: 281px;
  }
}

/*------------------------------------
  .p-food-trucks
-------------------------------------*/
.p-food-trucks {
  margin-block: 60px 100px;
}
@media (min-width: 768px) {
  .p-food-trucks {
    margin-block: 160px;
  }
}
.p-info-banner__inner, .p-info__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-info-banner__inner, .p-info__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-info
-------------------------------------*/
.p-info {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-info {
    margin-top: 120px;
  }
}
.p-info__list {
  display: grid;
  gap: 24px;
}

/*------------------------------------
  .p-info-banner
-------------------------------------*/
.p-info-banner {
  margin-block: 60px 100px;
}
@media (min-width: 768px) {
  .p-info-banner {
    margin-block: 160px;
  }
}
.p-info-banner__list {
  display: grid;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-info-banner__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .p-info-banner__list {
    gap: 64px;
  }
}
.p-info-banner__form {
  background-color: #384c64;
  padding: 24px 32px 24px 40px;
  border-radius: 8px;
  display: grid;
  grid-template-areas: "heading button" "text button";
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #384c64;
  height: 200px;
}
@media (min-width: 1024px) {
  .p-info-banner__form {
    padding: 40px 40px 40px 56px;
    height: 260px;
  }
}
.p-info-banner__form svg {
  grid-area: button;
  margin-left: auto;
  -webkit-transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.p-info-banner__form svg path {
  fill: #fff;
}
.p-info-banner__form:hover svg {
  translate: 10px 0;
}
.p-info-banner__heading {
  grid-area: heading;
  fill: #fff;
  align-self: end;
}
.p-info-banner__form-text {
  grid-area: text;
  margin-top: 12px;
  color: #fff;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5;
}
.p-info-banner__form-text *,
.p-info-banner__form-text *::before,
.p-info-banner__form-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-info-banner__baitoru {
  padding: 24px 32px 24px 40px;
  border-radius: 8px;
  display: grid;
  grid-template-areas: "image button" "text button";
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #384c64;
  height: 200px;
}
@media (min-width: 1024px) {
  .p-info-banner__baitoru {
    height: 260px;
    padding: 40px 40px 40px 56px;
  }
}
.p-info-banner__baitoru svg {
  grid-area: button;
  margin-left: auto;
  -webkit-transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
  transition: translate 0.3s cubic-bezier(0.45, 0.05, 0.5, 1);
}
.p-info-banner__baitoru:hover svg {
  translate: 10px 0;
}
.p-info-banner__baitoru-image {
  display: block;
  max-width: 180px;
  grid-area: image;
  align-self: end;
}
@media (min-width: 1024px) {
  .p-info-banner__baitoru-image {
    max-width: 256px;
  }
}
.p-info-banner__baitoru-text {
  grid-area: text;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.5555555556;
  margin-top: 15px;
  font-weight: bold;
  align-self: start;
}
.p-info-banner__baitoru-text *,
.p-info-banner__baitoru-text *::before,
.p-info-banner__baitoru-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-interview-section__inner, .p-interview-balloon__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-interview-section__inner, .p-interview-balloon__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

.p-interview-section._third::before, .p-interview-section._second::before {
  content: "";
  position: absolute;
  background: #fff;
  translate: -50% 0;
  height: 120px;
  width: 1000px;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-interview-section._third::before, .p-interview-section._second::before {
    width: 1868px;
    height: 408px;
  }
}
@media (min-width: 1500px) {
  .p-interview-section._third::before, .p-interview-section._second::before {
    width: calc(100% + 20vw);
  }
}
.p-interview-section._third::before, .p-interview-section._second::before {
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: -40px auto auto 50%;
}
@media (min-width: 768px) {
  .p-interview-section._third::before, .p-interview-section._second::before {
    inset: -200px auto auto 50%;
  }
}

/*------------------------------------
  .p-interview-balloon
-------------------------------------*/
.p-interview-balloon {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-interview-balloon {
    margin-top: 120px;
  }
}
/*------------------------------------
  .p-interview-section
-------------------------------------*/
.p-interview-section {
  padding-block: 58px 60px;
}
@media (min-width: 768px) {
  .p-interview-section {
    padding-block: 72px 160px;
  }
}
.p-interview-section._second {
  position: relative;
  margin-top: 72px;
  padding-bottom: 120px;
  background-color: #f7f8fd;
  z-index: 1;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .p-interview-section._second {
    margin-top: 200px;
    padding-bottom: 360px;
  }
}
.p-interview-section._second::before {
  background-color: #f7f8fd;
}
.p-interview-section._third {
  position: relative;
  z-index: 1;
  overflow-x: clip;
}
.p-interview-section._third::before, .p-interview-section._third::after {
  background-color: #fff;
}
@media (min-width: 768px) {
  .p-interview-section__image {
    position: -webkit-sticky;
    position: sticky;
    top: 96px;
  }
}
.p-interview-section__image img {
  border-radius: 8px;
}
.p-interview-section__body {
  margin-top: 40px;
  display: grid;
  gap: 32px;
}
@media (min-width: 768px) {
  .p-interview-section__body {
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    margin-top: 50px;
  }
}
@media (min-width: 1024px) {
  .p-interview-section__body {
    gap: 56px;
    grid-template-columns: 600fr 544fr;
  }
}
.p-interview-section__list {
  display: grid;
  gap: 24px;
}
.p-interview-section__point {
  margin-top: 40px;
}

.p-home-instagram__inner, .p-home-recruit__inner, .p-home-company__inner, .p-home-trucks__inner, .p-home-business__inner, .p-home-mission__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-instagram__inner, .p-home-recruit__inner, .p-home-company__inner, .p-home-trucks__inner, .p-home-business__inner, .p-home-mission__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

.p-home-instagram__catch, .p-home-recruit__catch, .p-home-company__catch, .p-home-trucks__catch, .p-home-business__catch, .p-home-mission__catch {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 25;
  --max-font-size: 40;
  line-height: 1.44;
  color: #fff;
  font-weight: bold;
}
.p-home-instagram__catch *, .p-home-recruit__catch *, .p-home-company__catch *, .p-home-trucks__catch *, .p-home-business__catch *, .p-home-mission__catch *,
.p-home-instagram__catch *::before,
.p-home-recruit__catch *::before,
.p-home-company__catch *::before,
.p-home-trucks__catch *::before,
.p-home-business__catch *::before,
.p-home-mission__catch *::before,
.p-home-instagram__catch *::after,
.p-home-recruit__catch *::after,
.p-home-company__catch *::after,
.p-home-trucks__catch *::after,
.p-home-business__catch *::after,
.p-home-mission__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));
}

/*------------------------------------
  home-mv
-------------------------------------*/
.p-home-mv {
  height: 100svh;
}
.p-home-mv__background {
  position: fixed;
  inset: 0;
  z-index: -1;
}
.p-home-mv__background video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-mv__background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(34, 48, 64, 0.3);
  z-index: 1;
}
.p-home-mv__inner {
  width: 100%;
  position: absolute;
  padding-left: 8.2051282051vw;
  inset: auto auto 30px 0;
}
@media (min-width: 768px) {
  .p-home-mv__inner {
    padding-left: 2.7777777778vw;
    inset: auto auto 56px 0;
  }
}
.p-home-mv__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
  font-family: "Cormorant Garamond", serif;
  font-style: normal;
  color: #fff;
}
.p-home-mv__title *,
.p-home-mv__title *::before,
.p-home-mv__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__text {
  margin-top: 6px;
  max-width: 68.9743589744%;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .p-home-mv__text {
    margin-top: 21px;
    max-width: min(35.4861111111vw, 681px);
  }
}
.p-home-mv__text img {
  width: 100%;
}

/*------------------------------------
  home-mission
-------------------------------------*/
.p-home-mission {
  position: relative;
  overflow-x: clip;
  padding-block: 437px 362px;
}
@media (min-width: 768px) {
  .p-home-mission {
    padding-block: 366px 329px;
  }
}
.p-home-mission__inner {
  z-index: 2;
  position: relative;
}
@media (min-width: 768px) {
  .p-home-mission__inner {
    max-width: calc(760px + 5.5555555556vw);
  }
}
.p-home-mission__catch {
  margin-top: -48px;
}
@media (min-width: 1024px) {
  .p-home-mission__content {
    max-width: 592px;
    margin-left: auto;
  }
}
.p-home-mission__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #fff;
  line-height: 2;
  margin-top: 48px;
  letter-spacing: 0.02em;
}
.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 span {
  display: block;
}
.p-home-mission__button {
  margin-top: 32px;
  max-width: 200px;
}
.p-home-mission__background {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  .p-home-mission__background {
    width: 4640px;
    height: 1360px;
    inset: 0 auto auto 50%;
    translate: -50% 0;
    z-index: 0;
  }
}
.p-home-mission__background img {
  height: 100%;
}

/*------------------------------------
  home-business
-------------------------------------*/
.p-home-business {
  background-color: #fff;
  padding-top: 40px;
  position: relative;
  z-index: 0;
}
@media (min-width: 768px) {
  .p-home-business {
    padding-top: 107px;
  }
}
.p-home-business__inner {
  z-index: 1;
}
@media (min-width: 768px) {
  .p-home-business__inner {
    display: grid;
    grid-template-areas: "images heading" "images catch" "images text" "images button";
    grid-template-columns: 440fr 516fr;
    grid-template-rows: 0fr 0fr 0fr 0fr;
    -webkit-column-gap: min(11.7361111111vw, 169px);
       -moz-column-gap: min(11.7361111111vw, 169px);
            column-gap: min(11.7361111111vw, 169px);
  }
}
@media (min-width: 1024px) {
  .p-home-business__inner {
    grid-template-areas: "images heading" "images catch" "images text" "images button" "image .";
    grid-template-rows: 0fr 0fr 0fr 0fr 1fr;
  }
}
@media (min-width: 1200px) {
  .p-home-business__inner {
    grid-template-columns: 440px 1fr;
  }
}
@media (min-width: 768px) {
  .p-home-business__heading {
    grid-area: heading;
  }
}
.p-home-business__catch {
  color: #222427;
}
@media (min-width: 768px) {
  .p-home-business__catch {
    grid-area: catch;
  }
}
.p-home-business__images {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-home-business__images {
    grid-area: images;
    margin-top: 0;
    align-self: start;
  }
}
.p-home-business__images img {
  border-radius: 8px;
}
.p-home-business__image01 {
  width: 43.8461538462vw;
}
@media (min-width: 768px) {
  .p-home-business__image01 {
    width: min(30.5555555556vw, 440px);
  }
}
.p-home-business__image02 {
  width: 27.1794871795vw;
  margin-top: -40px;
  margin-left: 34.1025641026vw;
}
@media (min-width: 768px) {
  .p-home-business__image02 {
    width: min(18.0555555556vw, 260px);
    margin-top: -130px;
    margin-left: min(21.1111111111vw, 304px);
  }
}
.p-home-business__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-home-business__text *,
.p-home-business__text *::before,
.p-home-business__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));
}
@media (min-width: 768px) {
  .p-home-business__text {
    grid-area: text;
  }
}
@media (min-width: 1024px) {
  .p-home-business__text {
    max-width: 516px;
  }
}
.p-home-business__text span {
  display: block;
}
.p-home-business__button {
  margin-top: 32px;
  max-width: 200px;
}
@media (min-width: 768px) {
  .p-home-business__button {
    grid-area: button;
  }
}
.p-home-business__background {
  position: absolute;
  width: 371px;
  inset: 58px auto auto calc(50% - 59px);
  z-index: -1;
}
@media (min-width: 768px) {
  .p-home-business__background {
    width: min(71.1805555556vw, 1025px);
    height: min(78.125vw, 1125px);
    inset: 130px auto auto calc(50% - 16px);
  }
}

/*------------------------------------
  home-trucks
-------------------------------------*/
.p-home-trucks {
  background-color: #fff;
  margin-top: -1px;
  padding-top: 72px;
  padding-bottom: 1px;
}
@media (min-width: 768px) {
  .p-home-trucks {
    padding-top: min(21.3888888889vw, 308px);
  }
}
@media (min-width: 1024px) {
  .p-home-trucks__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas: "heading ." "catch text" "catch button";
    -webkit-column-gap: min(8.8888888889vw, 128px);
       -moz-column-gap: min(8.8888888889vw, 128px);
            column-gap: min(8.8888888889vw, 128px);
  }
}
@media (min-width: 1024px) {
  .p-home-trucks__heading {
    grid-area: heading;
  }
}
.p-home-trucks__catch {
  color: #222427;
}
@media (min-width: 1024px) {
  .p-home-trucks__catch {
    grid-area: catch;
  }
}
.p-home-trucks__catch span {
  display: block;
}
.p-home-trucks__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-home-trucks__text *,
.p-home-trucks__text *::before,
.p-home-trucks__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));
}
@media (min-width: 1024px) {
  .p-home-trucks__text {
    grid-area: text;
    margin-top: 0;
  }
}
.p-home-trucks__button {
  margin-top: 32px;
  max-width: 220px;
}
@media (min-width: 1024px) {
  .p-home-trucks__button {
    grid-area: button;
    margin-top: 40px;
  }
}

/*------------------------------------
  home-slider
-------------------------------------*/
.p-home-slider {
  padding-top: 88px;
  margin-top: -1px;
  z-index: 0;
  position: relative;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .p-home-slider {
    padding-top: 80px;
  }
}
.p-home-slider::before {
  content: "";
  position: absolute;
  background: #fff;
  width: 100%;
  height: 100%;
  z-index: -1;
  inset: 0;
}
.p-home-slider::after {
  content: "";
  position: absolute;
  background: #384c64;
  translate: -50% 0;
  height: 120px;
  width: 1000px;
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: auto auto -40px 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-home-slider::after {
    width: min(129.7222222222vw, 1868px);
    height: min(28.3333333333vw, 408px);
    inset: auto auto -200px 50%;
  }
}
@media (min-width: 1500px) {
  .p-home-slider::after {
    width: calc(100% + 20vw);
  }
}
.p-home-slider .splide__slide:nth-child(odd) {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-home-slider .splide__slide:nth-child(odd) {
    margin-top: 60px;
  }
}
.p-home-slider .splide__slide img {
  border-radius: 8px;
  aspect-ratio: 200/161;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------
  home-company
-------------------------------------*/
.p-home-company {
  background-color: #384c64;
  position: relative;
  padding-top: 32px;
  padding-bottom: 96px;
  z-index: 0;
}
@media (min-width: 768px) {
  .p-home-company {
    padding-top: 150px;
    padding-bottom: 100px;
  }
}
.p-home-company::after {
  content: "";
  position: absolute;
  background: #384c64;
  translate: -50% 0;
  height: 120px;
  width: 1000px;
  -webkit-clip-path: ellipse(50% 100% at 50% 0);
          clip-path: ellipse(50% 100% at 50% 0);
  inset: auto auto -80px 50%;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-home-company::after {
    width: 1868px;
    height: 408px;
    inset: auto auto -240px 50%;
  }
}
@media (min-width: 1500px) {
  .p-home-company::after {
    width: calc(100% + 20vw);
  }
}
.p-home-company__inner {
  z-index: 2;
  position: relative;
}
@media (min-width: 768px) {
  .p-home-company__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "heading ." "catch images" "text images" "button images";
    grid-template-rows: 0fr 0fr 0fr 0fr;
  }
}
@media (min-width: 1024px) {
  .p-home-company__inner {
    grid-template-areas: "heading ." "catch images" "text images" "button images" ". images";
    grid-template-rows: 0fr 0fr 0fr 0fr 1fr;
  }
}
@media (min-width: 768px) {
  .p-home-company__heading {
    grid-area: heading;
  }
}
.p-home-company__catch span {
  display: block;
}
@media (min-width: 768px) {
  .p-home-company__catch {
    grid-area: catch;
  }
}
.p-home-company__images {
  margin-top: 32px;
  position: relative;
}
@media (min-width: 768px) {
  .p-home-company__images {
    grid-area: images;
    margin-top: 0;
  }
}
.p-home-company__images img {
  border-radius: 8px;
}
.p-home-company__image01 {
  width: 43.8461538462%;
  margin-left: 35.1282051282%;
}
@media (min-width: 768px) {
  .p-home-company__image01 {
    width: min(25.5555555556vw, 368px);
    margin-left: min(9.5138888889vw, 137px);
  }
}
.p-home-company__image02 {
  width: 30.7692307692%;
  margin-top: -80px;
  margin-left: 14.8717948718%;
  aspect-ratio: 230/297;
}
@media (min-width: 768px) {
  .p-home-company__image02 {
    width: min(15.9722222222vw, 240px);
    margin-left: 0;
    margin-top: -190px;
  }
}
.p-home-company__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #fff;
  line-height: 2;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-home-company__text *,
.p-home-company__text *::before,
.p-home-company__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));
}
@media (min-width: 768px) {
  .p-home-company__text {
    grid-area: text;
    padding-right: min(6.3888888889vw, 92px);
  }
}
.p-home-company__text span {
  display: block;
}
.p-home-company__button {
  margin-top: 32px;
  max-width: 200px;
}
@media (min-width: 768px) {
  .p-home-company__button {
    grid-area: button;
  }
}

/*------------------------------------
  home-recruit
-------------------------------------*/
.p-home-recruit {
  padding-top: 160px;
  padding-bottom: 218px;
  position: relative;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .p-home-recruit {
    padding-top: 496px;
    padding-bottom: 425px;
  }
}
.p-home-recruit::before {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(0, 0, 0, 0.2);
  z-index: -1;
}
.p-home-recruit::after {
  content: "";
  position: absolute;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
  height: 210px;
  width: 100%;
  inset: auto 0 0 0;
}
@media (min-width: 768px) {
  .p-home-recruit::after {
    height: 355px;
  }
}
@media (min-width: 768px) {
  .p-home-recruit__inner {
    position: relative;
  }
}
.p-home-recruit__heading .c-heading__title {
  position: relative;
}
.p-home-recruit__copy {
  margin-top: 57px;
  max-width: calc(100% - 36px);
  margin-inline: auto;
  display: block;
}
.p-home-recruit__images {
  margin-top: 71px;
  position: relative;
  aspect-ratio: 326/287;
}
@media (min-width: 768px) {
  .p-home-recruit__images {
    aspect-ratio: unset;
    margin-top: 0;
    position: static;
  }
}
.p-home-recruit__images img {
  border-radius: 8px;
}
.p-home-recruit__image01, .p-home-recruit__image02, .p-home-recruit__image03, .p-home-recruit__image04 {
  position: absolute;
}
@media (min-width: 768px) {
  .p-home-recruit__image01, .p-home-recruit__image02, .p-home-recruit__image03, .p-home-recruit__image04 {
    z-index: -1;
  }
}
.p-home-recruit__image01 {
  width: 41.5384615385vw;
  inset: 47px 0 auto -14.358974359vw;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-home-recruit__image01 {
    width: 226px;
    inset: -80px auto auto calc(50% - 730px);
    z-index: -1;
  }
}
.p-home-recruit__image02 {
  width: 27.6923076923vw;
  inset: 0 auto auto calc(50% - 16.1538461538vw);
}
@media (min-width: 768px) {
  .p-home-recruit__image02 {
    width: 198px;
    inset: 182px auto auto calc(50% + 465px);
  }
}
.p-home-recruit__image03 {
  width: 33.5897435897vw;
  inset: 123px auto auto calc(50% - 2.3076923077vw);
}
@media (min-width: 768px) {
  .p-home-recruit__image03 {
    width: 197px;
    inset: 417px auto auto calc(50% - 567px);
  }
}
.p-home-recruit__image04 {
  width: 35.641025641vw;
  inset: 32px auto auto calc(50% + 19.2307692308vw);
  z-index: 1;
}
@media (min-width: 768px) {
  .p-home-recruit__image04 {
    width: 170px;
    inset: auto auto -180px calc(50% + 352px);
  }
}
.p-home-recruit__catch {
  margin-top: 62px;
}
@media (min-width: 768px) {
  .p-home-recruit__catch {
    margin-top: 74px;
    text-align: center;
  }
}
.p-home-recruit__catch span {
  display: block;
  text-align: center;
}
@media (min-width: 768px) {
  .p-home-recruit__catch span {
    display: inline-block;
  }
}
.p-home-recruit__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  color: #fff;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-home-recruit__text *,
.p-home-recruit__text *::before,
.p-home-recruit__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));
}
@media (min-width: 768px) {
  .p-home-recruit__text {
    max-width: 472px;
    margin-inline: auto;
    margin-top: 56px;
  }
}
@media (min-width: 768px) {
  .p-home-recruit__text span {
    display: block;
    text-align: center;
  }
}
.p-home-recruit__button {
  margin-top: 22px;
  max-width: 246px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-recruit__button {
    margin-top: 64px;
    max-width: 440px;
  }
}

/*------------------------------------
  home-instagram
-------------------------------------*/
.p-home-instagram {
  overflow-x: clip;
  background-color: #fff;
  margin-top: -1px;
  padding-top: 32px;
  padding-bottom: 104px;
}
.p-home-instagram__catch {
  color: #222427;
  z-index: 1;
  position: relative;
}
.p-home-instagram__catch span {
  display: block;
}
@media (min-width: 768px) {
  .p-home-instagram__catch span {
    display: inline-block;
  }
}
.p-home-instagram__content {
  margin-top: 32px;
}
.p-home-instagram__feed {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-home-instagram__feed {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 93px;
    gap: 14px;
    max-width: 1048px;
    margin-inline: auto;
  }
}
.p-home-instagram__post {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-home-instagram__post:hover {
  opacity: 0.7;
}
.p-home-instagram__post img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-instagram__button {
  margin-top: 22px;
  max-width: 200px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-home-instagram__button {
    margin-top: 56px;
  }
}

.p-not-found__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-not-found__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(895px + 5.5555555556vw);
  }
}

/*------------------------------------
  complete
-------------------------------------*/
.p-not-found {
  padding-block: 120px 100px;
}
@media (min-width: 768px) {
  .p-not-found {
    padding-block: 249px 160px;
  }
}
.p-not-found__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 64;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 40px;
  border-bottom: solid 1px #cfd6e2;
}
.p-not-found__title *,
.p-not-found__title *::before,
.p-not-found__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));
}
@media (min-width: 768px) {
  .p-not-found__title {
    padding-bottom: 96px;
  }
}
.p-not-found__content {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-not-found__content {
    margin-top: 80px;
  }
}
.p-not-found__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 16;
  line-height: 2;
  letter-spacing: 0.01em;
  text-align: center;
}
.p-not-found__text *,
.p-not-found__text *::before,
.p-not-found__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-not-found__button {
  margin-inline: auto;
  max-width: 240px;
  margin-top: 64px;
}
@media (min-width: 768px) {
  .p-not-found__button {
    margin-top: 80px;
  }
}

/*------------------------------------
  .p-media03
-------------------------------------*/
@media (min-width: 768px) {
  .p-media03 {
    display: grid;
    gap: 24px;
  }
}
@media (min-width: 1024px) {
  .p-media03 {
    grid-template-columns: 17.7777777778vw 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 48px;
  }
}
@media (min-width: 1440px) {
  .p-media03 {
    grid-template-columns: 256fr 896px;
  }
}
.p-media03 img {
  border-radius: 8px;
}
.p-media03__inner {
  margin-top: 34px;
}
@media (min-width: 768px) {
  .p-media03__inner {
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 48px;
    margin-top: 0px;
  }
}
@media (min-width: 1024px) {
  .p-media03__inner {
    grid-template-columns: 288fr 560fr;
  }
}
.p-media03__inner > img {
  border-radius: 8px;
}
.p-media03__button {
  max-width: 200px;
  display: block;
  margin-top: 24px;
}
.p-media03__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 32px;
  letter-spacing: 0.02em;
}
.p-media03__text *,
.p-media03__text *::before,
.p-media03__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));
}
@media (min-width: 768px) {
  .p-media03__text {
    line-height: 2;
    margin-top: 0px;
  }
}
@media (min-width: 1024px) {
  .p-media03._heading-large {
    gap: 40px;
    grid-template-columns: 23.6111111111vw 1fr;
  }
}
@media (min-width: 1440px) {
  .p-media03._heading-large {
    grid-template-columns: 340fr 896px;
  }
}

/*------------------------------------
  .p-media05
-------------------------------------*/
@media (min-width: 768px) {
  .p-media05 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 48px;
  }
}
@media (min-width: 1024px) {
  .p-media05 {
    grid-template-columns: 364fr 744fr;
    gap: 92px;
  }
}
.p-media05__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 20px;
  letter-spacing: 0.02em;
}
.p-media05__text *,
.p-media05__text *::before,
.p-media05__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));
}
@media (min-width: 768px) {
  .p-media05__text {
    margin-top: 32px;
  }
}
@media (min-width: 1024px) {
  .p-media05__text {
    line-height: 2;
    margin-top: 40px;
  }
}
.p-media05__image {
  border-radius: 8px;
  margin-top: 32px;
}
@media (min-width: 768px) {
  .p-media05__image {
    margin-top: 0px;
  }
}

/*------------------------------------
  .p-media06
-------------------------------------*/
@media (min-width: 768px) {
  .p-media06 {
    display: grid;
    grid-template-columns: 668fr 452fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 48px;
  }
}
@media (min-width: 1024px) {
  .p-media06 {
    gap: 80px;
  }
}
.p-media06__image img {
  border-radius: 8px;
}
.p-media06__heading {
  position: relative;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .p-media06__heading {
    margin-top: 0px;
  }
}
.p-media06__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 40;
  line-height: 1.3666666667;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: #222427;
  display: grid;
  grid-template-columns: 24px auto;
  gap: 16px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.p-media06__title *,
.p-media06__title *::before,
.p-media06__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));
}
@media (min-width: 768px) {
  .p-media06__title {
    line-height: 1.45;
  }
}
.p-media06__title::before {
  content: "";
  height: 2px;
  background-color: #e60013;
  margin-top: 0.5lh;
}
@media (min-width: 768px) {
  .p-media06__title::before {
    height: 4px;
  }
}
.p-media06__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 17px;
  letter-spacing: 0.02em;
}
.p-media06__text *,
.p-media06__text *::before,
.p-media06__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));
}
@media (min-width: 768px) {
  .p-media06__text {
    line-height: 2;
    margin-top: 32px;
  }
}
.p-media06__button {
  max-width: 200px;
  display: block;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .p-media06__button {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .p-media06._reverse {
    direction: rtl;
  }
}
.p-media06._reverse .p-media06__inner {
  direction: ltr;
}

/*------------------------------------
  .p-media07
-------------------------------------*/
@media (min-width: 768px) {
  .p-media07 {
    display: grid;
    grid-template-columns: 136fr 392fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
  }
}
.p-media07__image {
  border-radius: 8px;
  max-width: 300px;
  margin-inline: auto;
  overflow: clip;
}
.p-media07__inner {
  display: grid;
  grid-template-columns: auto 24px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-top: 19px;
}
@media (min-width: 768px) {
  .p-media07__inner {
    gap: 32px;
    margin-top: 0;
  }
}
.p-media07__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 24;
  line-height: 1.4705882353;
}
.p-media07__title *,
.p-media07__title *::before,
.p-media07__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));
}
@media (min-width: 768px) {
  .p-media07__title {
    line-height: 1.4583333333;
  }
}
.p-media07__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 11px;
  letter-spacing: 0.02em;
}
.p-media07__text *,
.p-media07__text *::before,
.p-media07__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));
}
@media (min-width: 768px) {
  .p-media07__text {
    line-height: 2;
    margin-top: 16px;
  }
}
.p-media07__arrow {
  width: 24px;
  height: 24px;
  background-color: #1e2434;
  border-radius: 50%;
  padding: 9px 7px;
}
@media (min-width: 768px) {
  .p-media07__arrow {
    width: 24px;
    height: 24px;
  }
}
.p-media07__icon {
  fill: #fff;
}

.p-recruit-info__inner, .p-recruit-content__inner, .p-recruit-highlights__inner, .p-recruit-catch__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-recruit-info__inner, .p-recruit-content__inner, .p-recruit-highlights__inner, .p-recruit-catch__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-recruit-mv
-------------------------------------*/
.p-recruit-mv {
  position: relative;
}
.p-recruit-mv__background {
  aspect-ratio: 2/3;
  width: 100%;
  height: 100svh;
  min-height: 600px;
  max-height: 1000px;
  position: relative;
  overflow: clip;
}
.p-recruit-mv__background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-recruit-mv__background::after {
  content: "";
  background-image: url("../img/recruit/mv-cover.png.webp");
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
  position: absolute;
  inset: 0 0 0 auto;
  width: 36.5972222222vw;
}
@media (min-width: 768px) {
  .p-recruit-mv__background::after {
    background-position: center;
  }
}
.p-recruit-mv__text {
  position: absolute;
  inset: auto auto 60px 50%;
  translate: -50% 0;
  max-width: min(500px, 70%);
  width: 100%;
  letter-spacing: 0.02em;
}
@media (min-width: 1024px) {
  .p-recruit-mv__text {
    inset: 50% auto auto calc(50% - 24px);
    translate: 0 -50%;
    max-width: min(47.2222222222vw, 680px);
  }
}

/*------------------------------------
  .p-recruit-catch
-------------------------------------*/
.p-recruit-catch {
  position: relative;
  padding-block: 60px 100px;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .p-recruit-catch {
    padding-block: 160px 200px;
  }
}
.p-recruit-catch__copy {
  display: block;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-recruit-catch__copy {
    max-width: 897px;
  }
}
.p-recruit-catch__heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.6;
  text-align: center;
  margin-top: 40px;
}
.p-recruit-catch__heading *,
.p-recruit-catch__heading *::before,
.p-recruit-catch__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));
}
@media (min-width: 768px) {
  .p-recruit-catch__heading {
    margin-top: 64px;
  }
}
.p-recruit-catch__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  font-weight: bold;
  line-height: 2.7777777778;
  letter-spacing: 0.02em;
  margin-top: 40px;
}
.p-recruit-catch__text *,
.p-recruit-catch__text *::before,
.p-recruit-catch__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));
}
@media (min-width: 768px) {
  .p-recruit-catch__text {
    margin-top: 64px;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .p-recruit-catch__text span {
    display: block;
  }
}
.p-recruit-catch__message {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.7142857143;
  color: #fff;
  font-weight: bold;
  background-image: -webkit-linear-gradient(290deg, #4f95e5 0%, #3f90ec 50%, #3775da 100%);
  background-image: linear-gradient(160deg, #4f95e5 0%, #3f90ec 50%, #3775da 100%);
  text-align: center;
  border-radius: 8px;
  padding: 16px 24px;
  margin-top: 24px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-recruit-catch__message *,
.p-recruit-catch__message *::before,
.p-recruit-catch__message *::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 (min-width: 768px) {
  .p-recruit-catch__message {
    margin-top: 40px;
  }
}
.p-recruit-catch__table {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 768px) {
  .p-recruit-catch__table {
    margin-top: 40px;
  }
}
.p-recruit-catch__table-heading, .p-recruit-catch__table-data {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.7142857143;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.p-recruit-catch__table-heading *,
.p-recruit-catch__table-heading *::before,
.p-recruit-catch__table-heading *::after, .p-recruit-catch__table-data *,
.p-recruit-catch__table-data *::before,
.p-recruit-catch__table-data *::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-catch__table-heading {
  padding-right: 16px;
  position: relative;
}
.p-recruit-catch__table-heading::after {
  content: "";
  position: absolute;
  inset: 50% 0 auto auto;
  translate: 0 -50%;
  width: 2px;
  height: 13px;
  background-color: #222427;
}
.p-recruit-catch__table-data {
  padding-left: 16px;
}
.p-recruit-catch__background {
  position: absolute;
  inset: 56px 0 0 0;
  z-index: -1;
}
.p-recruit-catch__background img {
  width: 100%;
  height: 100%;
}
.p-recruit-catch__image {
  position: absolute;
  border-radius: 8px;
}
.p-recruit-catch__image._image01 {
  width: 407px;
  inset: 358px auto auto calc(50% - 845px);
}
.p-recruit-catch__image._image02 {
  width: 282px;
  inset: 523px auto auto calc(50% + 477px);
}
.p-recruit-catch__image._image03 {
  width: 203px;
  inset: 796px auto auto calc(50% + 379px);
}

/*------------------------------------
  .p-recruit-highlights
-------------------------------------*/
.p-recruit-highlights {
  position: relative;
  background: #384c64;
  margin-top: 100px;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .p-recruit-highlights {
    margin-top: 200px;
  }
}
.p-recruit-highlights::before, .p-recruit-highlights::after {
  content: "";
  position: absolute;
  background: #384c64;
  translate: -50% 0;
  height: 200px;
  width: 1000px;
}
@media (min-width: 768px) {
  .p-recruit-highlights::before, .p-recruit-highlights::after {
    width: 1868px;
    height: 408px;
  }
}
@media (min-width: 1500px) {
  .p-recruit-highlights::before, .p-recruit-highlights::after {
    width: calc(100% + 20vw);
  }
}
.p-recruit-highlights::before {
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: -100px auto auto 50%;
}
@media (min-width: 768px) {
  .p-recruit-highlights::before {
    inset: -200px auto auto 50%;
  }
}
.p-recruit-highlights::after {
  -webkit-clip-path: ellipse(50% 100% at 50% 0);
          clip-path: ellipse(50% 100% at 50% 0);
  inset: auto auto -120px 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-recruit-highlights::after {
    inset: auto auto -300px 50%;
  }
}
.p-recruit-highlights__list {
  display: grid;
  gap: 64px;
  margin-top: 60px;
}
@media (min-width: 1024px) {
  .p-recruit-highlights__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(7.0138888889vw, 101px);
    margin-top: 100px;
  }
}
.p-recruit-highlights__icon {
  background-color: #fff;
  padding-block: 42px 69px;
  border-radius: 50%;
  max-width: 320px;
  margin-inline: auto;
}
.p-recruit-highlights__number {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-family: "EB Garamond", serif;
  font-weight: bold;
  line-height: 1.3125;
  text-align: center;
}
.p-recruit-highlights__number *,
.p-recruit-highlights__number *::before,
.p-recruit-highlights__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-recruit-highlights__image {
  margin-top: 16px;
  max-width: 200px;
  margin-inline: auto;
}
.p-recruit-highlights__heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  line-height: 1.4583333333;
  text-align: center;
  margin-top: 20px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-inline: -0.5em;
}
.p-recruit-highlights__heading *,
.p-recruit-highlights__heading *::before,
.p-recruit-highlights__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));
}
@media (min-width: 768px) {
  .p-recruit-highlights__heading {
    margin-top: 32px;
  }
}
.p-recruit-highlights__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  color: #fff;
  margin-top: 16px;
  letter-spacing: 0.02em;
  text-align: center;
}
.p-recruit-highlights__text *,
.p-recruit-highlights__text *::before,
.p-recruit-highlights__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));
}
@media (min-width: 1024px) {
  .p-recruit-highlights__text {
    text-align: left;
  }
}

/*------------------------------------
  .p-recruit-content
-------------------------------------*/
.p-recruit-content {
  margin-block: 200px 100px;
}
@media (min-width: 768px) {
  .p-recruit-content {
    margin-block: 432px 160px;
  }
}
.p-recruit-content__list {
  display: grid;
  gap: 50px;
}
@media (min-width: 768px) {
  .p-recruit-content__list {
    gap: 100px;
  }
}
.p-recruit-content__medias {
  margin-top: 60px;
}
@media (min-width: 1024px) {
  .p-recruit-content__medias {
    display: grid;
    gap: min(5.5555555556vw, 80px);
    grid-template-columns: repeat(2, 1fr);
    margin-top: 120px;
  }
}
.p-recruit-content__media {
  padding-block: 32px;
  border-top: solid 1px #cfd6e2;
}
@media (min-width: 768px) {
  .p-recruit-content__media {
    border-bottom: solid 1px #cfd6e2;
  }
}
.p-recruit-content__media:last-child {
  border-bottom: solid 1px #cfd6e2;
}

/*------------------------------------
  .p-recruit-info
-------------------------------------*/
.p-recruit-info {
  position: relative;
  padding-block: 34px 136px;
}
.p-recruit-info__inner {
  display: grid;
  gap: 40px;
  grid-template-areas: "heading" "text" "button";
}
@media (min-width: 768px) {
  .p-recruit-info__inner {
    grid-template-columns: 1fr 288px;
    grid-template-areas: "heading heading" "text button";
  }
}
.p-recruit-info__heading {
  grid-area: heading;
}
@media (min-width: 1440px) {
  .p-recruit-info__heading {
    margin-left: calc(50% - 600px);
  }
}
.p-recruit-info__heading .c-heading__en {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 64;
  --max-font-size: 220;
  line-height: 2;
}
.p-recruit-info__heading .c-heading__en *,
.p-recruit-info__heading .c-heading__en *::before,
.p-recruit-info__heading .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));
}
@media (min-width: 768px) {
  .p-recruit-info__heading .c-heading__en {
    --viewport-from: 390;
    --viewport-to: 1440;
    --min-font-size: 100;
    --max-font-size: 220;
    line-height: 1.0272727273;
  }
  .p-recruit-info__heading .c-heading__en *,
  .p-recruit-info__heading .c-heading__en *::before,
  .p-recruit-info__heading .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));
  }
}
.p-recruit-info__text {
  grid-area: text;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  color: #fff;
  letter-spacing: 0.02em;
  line-height: 2;
}
.p-recruit-info__text *,
.p-recruit-info__text *::before,
.p-recruit-info__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-recruit-info__button {
  grid-area: button;
  max-width: 288px;
}
.p-recruit-info__background {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-recruit-info__background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*------------------------------------
  .p-recruit-button
-------------------------------------*/
.p-recruit-button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  inset: auto auto 20px 50%;
  translate: -50% 0;
  z-index: 100;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 768px) {
  .p-recruit-button {
    inset: auto 40px 32px auto;
    translate: 0 0;
  }
}
.p-recruit-button.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-recruit-button .c-button {
  width: 140px;
}

.p-safety-driver__inner, .p-safety-vehicle__inner, .p-safety-anchor__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-safety-driver__inner, .p-safety-vehicle__inner, .p-safety-anchor__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

@media (min-width: 768px) {
  .p-safety-vehicle__heading {
    margin-left: 0;
  }
}
@media (min-width: 1440px) {
  .p-safety-vehicle__heading {
    margin-left: calc(50% - 688px);
  }
}

.p-safety-driver__cards, .p-safety-vehicle__cards {
  margin-top: 60px;
  display: grid;
  border-top: 1px solid #cfd6e2;
}
@media (min-width: 768px) {
  .p-safety-driver__cards, .p-safety-vehicle__cards {
    margin-top: 96px;
    grid-template-columns: repeat(3, 1fr);
    margin-inline: -32px;
  }
}
@media (min-width: 1024px) {
  .p-safety-driver__cards, .p-safety-vehicle__cards {
    margin-inline: -60px;
  }
}

.p-safety-driver__card, .p-safety-vehicle__card {
  margin-top: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #cfd6e2;
  position: relative;
}
@media (min-width: 768px) {
  .p-safety-driver__card, .p-safety-vehicle__card {
    margin-top: 48px;
    padding-inline: 32px;
  }
}
@media (min-width: 1024px) {
  .p-safety-driver__card, .p-safety-vehicle__card {
    padding-inline: 60px;
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .p-safety-driver__card::before, .p-safety-vehicle__card::before {
    content: "";
    position: absolute;
    background: #cfd6e2;
    height: calc(100% - 60px);
    width: 1px;
    inset: 0 0 auto auto;
  }
}

/*------------------------------------
  .p-safety-anchor
-------------------------------------*/
.p-safety-anchor {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-safety-anchor {
    margin-top: 56px;
  }
}
.p-safety-anchor__inner {
  max-width: calc(1048px + 5.5555555556vw);
}

/*------------------------------------
  .p-safety-vehicle
-------------------------------------*/
.p-safety-vehicle {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-safety-vehicle {
    margin-top: 120px;
  }
}
.p-safety-vehicle__cards-wrapper {
  overflow-x: clip;
}
/*------------------------------------
  .p-safety-driver
-------------------------------------*/
.p-safety-driver {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-safety-driver {
    margin-top: 120px;
  }
}
.p-safety-driver__content {
  margin-top: 200px;
  padding-bottom: 60px;
  background-color: #f7f8fd;
  position: relative;
  overflow-x: clip;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-safety-driver__content {
    margin-top: 360px;
    padding-bottom: 120px;
  }
}
.p-safety-driver__content::before {
  content: "";
  position: absolute;
  background: #f7f8fd;
  translate: -50% 0;
  height: 200px;
  width: 1000px;
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: -100px auto auto 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-safety-driver__content::before {
    width: 1868px;
    height: 408px;
    inset: -160px auto auto 50%;
  }
}
@media (min-width: 1400px) {
  .p-safety-driver__content::before {
    width: calc(100% + 30vw);
  }
}
.p-safety-driver__cards-wrapper {
  overflow-x: clip;
}
.p-service-section__inner, .p-service-anchor__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-service-section__inner, .p-service-anchor__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-service-anchor
-------------------------------------*/
.p-service-anchor {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-service-anchor {
    margin-top: 56px;
  }
}
.p-service-anchor__inner {
  max-width: calc(1048px + 5.5555555556vw);
}

/*------------------------------------
  .p-service-section
-------------------------------------*/
.p-service-section {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-service-section {
    margin-top: 120px;
  }
}
.p-service-section__content {
  margin-top: 200px;
  background-color: #f7f8fd;
  position: relative;
  overflow-x: clip;
  z-index: 1;
}
@media (min-width: 768px) {
  .p-service-section__content {
    margin-top: 256px;
  }
}
.p-service-section__content::before {
  content: "";
  position: absolute;
  background: #f7f8fd;
  translate: -50% 0;
  height: 200px;
  width: 1000px;
  -webkit-clip-path: ellipse(50% 100% at 50% 100%);
          clip-path: ellipse(50% 100% at 50% 100%);
  inset: -100px auto auto 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-service-section__content::before {
    width: 1868px;
    height: 408px;
    inset: -160px auto auto 50%;
  }
}
@media (min-width: 1400px) {
  .p-service-section__content::before {
    width: calc(100% + 30vw);
  }
}
.p-service-section__description {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.4583333333;
  text-align: center;
}
.p-service-section__description *,
.p-service-section__description *::before,
.p-service-section__description *::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-service-section__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  letter-spacing: 0.02em;
  margin-top: 24px;
}
.p-service-section__text *,
.p-service-section__text *::before,
.p-service-section__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));
}
@media (min-width: 768px) {
  .p-service-section__text {
    margin-top: 40px;
    max-width: 744px;
    margin-inline: auto;
  }
}
.p-service-section__image {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-service-section__image {
    margin-top: 56px;
  }
}
.p-service-section__image img {
  border-radius: 8px;
}
.p-service-section__mark {
  margin-top: 32px;
  background-color: #fff;
  border-radius: 8px;
  padding: 24px 20px;
  display: grid;
  gap: 24px;
}
@media (min-width: 768px) {
  .p-service-section__mark {
    padding: 48px 40px 56px;
  }
}
@media (min-width: 1024px) {
  .p-service-section__mark {
    grid-template-columns: 689fr 432fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.p-service-section__mark-main {
  display: grid;
  gap: 16px 32px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-areas: "image" "title" "text";
  border-bottom: solid 1px #cfd6e2;
  padding-bottom: 32px;
}
@media (min-width: 768px) {
  .p-service-section__mark-main {
    grid-template-columns: 116px 1fr;
    border-right: solid 1px #cfd6e2;
    border-bottom: none;
    padding-right: 40px;
    padding-bottom: 0;
    grid-template-areas: "image title" "image text";
  }
}
.p-service-section__mark-main picture,
.p-service-section__mark-main img {
  grid-area: image;
  max-width: 116px;
  margin-inline: auto;
}
.p-service-section__mark-main h4 {
  grid-area: title;
}
.p-service-section__mark-title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
  font-weight: bold;
  line-height: 1.45;
  letter-spacing: 0.02em;
  grid-area: title;
}
.p-service-section__mark-title *,
.p-service-section__mark-title *::before,
.p-service-section__mark-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-service-section__mark-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  letter-spacing: 0.02em;
  grid-area: text;
}
.p-service-section__mark-text *,
.p-service-section__mark-text *::before,
.p-service-section__mark-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));
}
@media (min-width: 1024px) {
  .p-service-section__mark-sub {
    padding-left: 40px;
  }
}
.p-service-section__mark-sub-title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.p-service-section__mark-sub-title *,
.p-service-section__mark-sub-title *::before,
.p-service-section__mark-sub-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-service-section__mark-sub-text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  line-height: 2;
  letter-spacing: 0.02em;
  margin-top: 16px;
}
.p-service-section__mark-sub-text *,
.p-service-section__mark-sub-text *::before,
.p-service-section__mark-sub-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-service-section__medias {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-service-section__medias {
    margin-top: 80px;
  }
}
.p-service-section__media {
  border-top: solid 1px #cfd6e2;
  padding-block: 40px;
}
@media (min-width: 768px) {
  .p-service-section__media {
    padding-block: 64px;
  }
}
.p-service-section__media:last-child {
  border-bottom: solid 1px #cfd6e2;
}
.p-service-section__trucks {
  margin-top: 80px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .p-service-section__trucks {
    margin-top: 120px;
    padding-bottom: 160px;
  }
}

.p-staff-training-others__inner, .p-staff-training-flow__inner, .p-staff-training-balloon__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-staff-training-others__inner, .p-staff-training-flow__inner, .p-staff-training-balloon__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-staff-training-balloon
-------------------------------------*/
.p-staff-training-balloon {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-staff-training-balloon {
    margin-top: 120px;
  }
}
/*------------------------------------
  .p-staff-training-flow
-------------------------------------*/
.p-staff-training-flow {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .p-staff-training-flow {
    margin-top: 80px;
  }
}
.p-staff-training-flow__text {
  margin-top: 22px;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  letter-spacing: 0.02em;
}
.p-staff-training-flow__text *,
.p-staff-training-flow__text *::before,
.p-staff-training-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));
}
@media (min-width: 768px) {
  .p-staff-training-flow__text {
    margin-top: 32px;
  }
}
.p-staff-training-flow__list {
  margin-top: 45px;
}
@media (min-width: 768px) {
  .p-staff-training-flow__list {
    margin-top: 64px;
  }
}

/*------------------------------------
  .p-staff-training-others
-------------------------------------*/
.p-staff-training-others {
  margin-block: 60px 100px;
}
@media (min-width: 768px) {
  .p-staff-training-others {
    margin-block: 120px;
  }
}
.p-staff-training-others__heading {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
  line-height: 1.4444444444;
}
.p-staff-training-others__heading *,
.p-staff-training-others__heading *::before,
.p-staff-training-others__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));
}
@media (min-width: 768px) {
  .p-staff-training-others__heading {
    line-height: 1.45;
  }
}
.p-staff-training-others__heading::before {
  width: 6px;
  height: 6px;
}
@media (min-width: 768px) {
  .p-staff-training-others__heading::before {
    width: 8px;
    height: 8px;
  }
}
.p-staff-training-others__list {
  margin-top: 22px;
}
@media (min-width: 768px) {
  .p-staff-training-others__list {
    margin-top: 32px;
  }
}
.p-staff-training-others__item {
  border-top: solid 1px #cfd6e2;
  padding-block: 28px;
}
@media (min-width: 768px) {
  .p-staff-training-others__item {
    padding-block: 40px;
  }
}
.p-staff-training-others__item:last-child {
  border-bottom: solid 1px #cfd6e2;
}

/*------------------------------------
  trucks
-------------------------------------*/
.p-trucks {
  position: relative;
  overflow: hidden;
  display: grid;
  border-radius: 8px;
  overflow: hidden;
  grid-template-areas: "image" "content";
}
@media (min-width: 768px) {
  .p-trucks {
    height: 473px;
    grid-template-columns: auto 1fr;
    grid-template-areas: "content image";
  }
}
@media (min-width: 1024px) {
  .p-trucks {
    grid-template-columns: 481fr 719fr;
  }
}
.p-trucks__content {
  grid-area: content;
  position: relative;
  height: inherit;
  z-index: 1;
  display: grid;
  place-content: center;
  padding-block: 32px 40px;
}
@media (min-width: 768px) {
  .p-trucks__content {
    padding-block: 0;
    padding-left: 40px;
  }
}
@media (min-width: 1024px) {
  .p-trucks__content {
    padding-left: 0;
  }
}
.p-trucks__content::after {
  content: "";
  background-color: #384c64;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  inset: -30% auto auto 50%;
  translate: -50% 0;
  width: 1000px;
  height: 600px;
}
@media (min-width: 768px) {
  .p-trucks__content::after {
    width: 140vw;
  }
}
@media (min-width: 768px) {
  .p-trucks__content::after {
    width: 1192px;
    height: 1344px;
    inset: 50% 0 auto auto;
    translate: 55px -50%;
  }
}
.p-trucks__content-inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-trucks__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.5714285714;
  color: #fff;
  margin-top: 17px;
  letter-spacing: 0.02em;
}
.p-trucks__text *,
.p-trucks__text *::before,
.p-trucks__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));
}
@media (min-width: 768px) {
  .p-trucks__text {
    line-height: 2;
    margin-top: 24px;
  }
}
.p-trucks__button {
  display: block;
  margin-top: 28px;
  max-width: 200px;
}
@media (min-width: 768px) {
  .p-trucks__button {
    margin-top: 40px;
  }
}
.p-trucks__image {
  grid-area: image;
  z-index: -1;
}
.p-trucks__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-trucks-page-introduction__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-trucks-page-introduction__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-trucks-page-introduction
-------------------------------------*/
.p-trucks-page-introduction {
  margin-block: 60px 100px;
}
@media (min-width: 768px) {
  .p-trucks-page-introduction {
    margin-block: 160px;
  }
}
.p-trucks-page-introduction__list {
  margin-top: 45px;
}
@media (min-width: 768px) {
  .p-trucks-page-introduction__list {
    margin-top: 64px;
  }
}
.p-trucks-page-introduction__item {
  border-top: solid 1px #cfd6e2;
  padding: 39px 0;
}
@media (min-width: 768px) {
  .p-trucks-page-introduction__item {
    padding: 56px 0;
  }
}
.p-trucks-page-introduction__item:last-child {
  border-bottom: solid 1px #cfd6e2;
}
.p-trucks-page-introduction__text {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 1.7857142857;
  margin-top: 22px;
  letter-spacing: 0.02em;
}
.p-trucks-page-introduction__text *,
.p-trucks-page-introduction__text *::before,
.p-trucks-page-introduction__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));
}
@media (min-width: 768px) {
  .p-trucks-page-introduction__text {
    line-height: 2;
    margin-top: 32px;
  }
}

.p-work-schedule-root__case, .p-work-schedule-root__image, .p-work-schedule-balloon__inner {
  padding-inline: 8.2051282051vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-work-schedule-root__case, .p-work-schedule-root__image, .p-work-schedule-balloon__inner {
    padding-inline: 2.7777777778vw;
    max-width: calc(1200px + 5.5555555556vw);
  }
}

/*------------------------------------
  .p-work-schedule-balloon
-------------------------------------*/
.p-work-schedule-balloon {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-work-schedule-balloon {
    margin-top: 120px;
  }
}
/*------------------------------------
  .p-work-schedule-root
-------------------------------------*/
.p-work-schedule-root {
  padding-block: 58px 60px;
  overflow: clip;
}
@media (min-width: 768px) {
  .p-work-schedule-root {
    padding-block: 72px 160px;
  }
}
.p-work-schedule-root._second {
  padding-block: 0 60px;
  background-color: #f7f8fd;
}
@media (min-width: 768px) {
  .p-work-schedule-root._second {
    padding-block: 0 160px;
  }
}
.p-work-schedule-root._second .p-work-schedule-root__inner::before, .p-work-schedule-root._second .p-work-schedule-root__inner::after {
  background-color: #fff;
  z-index: 0;
}
.p-work-schedule-root._second .p-work-schedule-root__image,
.p-work-schedule-root._second .p-work-schedule-root__case {
  z-index: 1;
  position: relative;
}
.p-work-schedule-root._third {
  padding-block: 0 60px;
}
@media (min-width: 768px) {
  .p-work-schedule-root._third {
    padding-block: 0 160px;
  }
}
.p-work-schedule-root__inner {
  position: relative;
}
.p-work-schedule-root__inner::before {
  content: "";
  width: 120%;
  height: 300px;
  background-color: #f7f8fd;
  border-radius: 100% 100% 0 0;
  position: absolute;
  top: 170px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
@media (min-width: 768px) {
  .p-work-schedule-root__inner::before {
    height: 300px;
    top: 250px;
  }
}
@media (min-width: 1024px) {
  .p-work-schedule-root__inner::before {
    top: 360px;
  }
}
.p-work-schedule-root__inner::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f7f8fd;
  position: absolute;
  top: 150px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media (min-width: 768px) {
  .p-work-schedule-root__inner::after {
    top: 320px;
  }
}
@media (min-width: 1024px) {
  .p-work-schedule-root__inner::after {
    top: 500px;
  }
}
.p-work-schedule-root__image {
  position: relative;
  z-index: 2;
}
.p-work-schedule-root__picture {
  border-radius: 8px;
}
@media (min-width: 768px) {
  .p-work-schedule-root__case {
    line-height: 1.2916666667;
    display: grid;
    grid-template-columns: 300fr 370fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 28px;
    padding-top: 64px;
    position: relative;
  }
}
@media (min-width: 1024px) {
  .p-work-schedule-root__case {
    grid-template-columns: 373fr 744fr;
    gap: 83px;
  }
}
.p-work-schedule-root__heading {
  margin-top: 28px;
  z-index: 10;
}
@media (min-width: 768px) {
  .p-work-schedule-root__heading {
    margin-top: 0px;
    position: -webkit-sticky;
    position: sticky;
    top: 96px;
  }
}
.p-work-schedule-root__title {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 34;
  --max-font-size: 48;
  line-height: 1.2647058824;
  gap: 11px;
}
.p-work-schedule-root__title *,
.p-work-schedule-root__title *::before,
.p-work-schedule-root__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));
}
@media (min-width: 768px) {
  .p-work-schedule-root__title {
    line-height: 1.2916666667;
    gap: 16px;
  }
}
.p-work-schedule-root__subtitle {
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 17;
  --max-font-size: 24;
  line-height: 1.4705882353;
  margin: 6px 0 0 22px;
}
.p-work-schedule-root__subtitle *,
.p-work-schedule-root__subtitle *::before,
.p-work-schedule-root__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));
}
@media (min-width: 768px) {
  .p-work-schedule-root__subtitle {
    line-height: 1.4583333333;
    margin: 8px 0 0 32px;
  }
}
.p-work-schedule-root__text {
  margin: 10px 0 0 22px;
  letter-spacing: 0.02em;
  --viewport-from: 390;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
}
.p-work-schedule-root__text *,
.p-work-schedule-root__text *::before,
.p-work-schedule-root__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));
}
@media (min-width: 768px) {
  .p-work-schedule-root__text {
    margin: 14px 0 0 32px;
  }
}
.p-work-schedule-root__table {
  width: 100%;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .p-work-schedule-root__table {
    grid-template-columns: 100px auto;
    margin-top: 34px;
  }
}
@media (min-width: 768px) {
  .p-work-schedule-root__table:first-child {
    margin-top: 0px;
  }
}

/*----------------------------------------------------
  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;
}

@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;
  }
}

/*----------------------------------------------------
  色
----------------------------------------------------*/
.u-color-accent {
  color: #384c64;
}

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

/*----------------------------------------------------

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