@charset "UTF-8";
:root {
  --white: #FFFFFF;
  --black: #212121;
  --gray: #BEBFBF;
  --base-color: #D9F1F4;
  --main-color: #0774A4;
  --shadow-primary: 0px 2px 8px rgb(0 0 0 / .04);
  --shadow-secondary: 2px 2px 3px rgb(45 127 134 / .16);
  --shadow-tertiary: 0px 17px 10px rgb(29 82 139 / .30);
  --gradient-primary: linear-gradient(115deg,rgba(0, 177, 255, 1) 0%, rgba(7, 116, 164, 1) 55%, rgba(154, 219, 114, 1) 100%);
  --gradient-primary-reverse: linear-gradient(115deg,rgba(154, 219, 114, 1) 0%, rgba(7, 116, 164, 1) 55%, rgba(0, 177, 255, 1) 100%);
  --radius-sm: clamp(3px, 2.171px + 0.221vw, 5px);
  --radius-md: clamp(5px, 2.928px + 0.552vw, 10px);
  --radius-lg: clamp(8px, 5.099px + 0.773vw, 15px);
  --radius-xl: clamp(15px, 8.785px + 1.657vw, 30px);
  --radius-xxl: clamp(60px, 35.138px + 6.63vw, 120px);
  --radius-full: calc(1px / 0);
  --family-primary: "Noto Sans JP", sans-serif;
  --family-secondary: "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-default: 1.5;
  --line-height-normal: 1.75;
  --line-height-relaxed: 2;
  --header-height: 100px;
  --header-height-sm: 60px;
  --spacing-gutter: clamp(15px, 0.497px + 3.867vw, 50px);
  --spacing-gutter-outer: clamp(8px, 1.370px + 1.768vw, 24px);
  --leading-trim: calc((1em - 1lh) / 2);
  --text-box: trim-both cap alphabetic;
}

:root {
  --icon-logo: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="138.041" height="138.04" viewBox="0 0 138.041 138.04"><path d="M57.978,138.04C47.234,101.635,17.666,86.434,0,80.063V57.977C40.792,44.426,50.608,17.431,57.978,0H80.063c7.816,28.32,29.6,49.027,57.978,57.977V80.063c-32.523,9.149-47.4,27.707-57.978,57.977ZM10.615,69.511S51.8,83.23,69.02,126.935c16.891-45.127,58.406-57.424,58.406-57.424C83.584,52.555,68.039,11.1,68.039,11.1S58.042,48.873,10.615,69.511Zm57.378,46.127c-16.6-32.79-45.608-45.041-45.9-45.161l-2.326-.959,2.244-1.138C54.8,51.775,67.054,22.774,67.174,22.482l1-2.432,1.11,2.386c.136.291,13.926,29.325,46.745,45.944l2.244,1.138-2.326.959c-.291.12-29.293,12.371-45.9,45.161l-1.029,2.03ZM25.133,69.355a104.685,104.685,0,0,1,43.888,43.263,104.692,104.692,0,0,1,43.887-43.263A113.75,113.75,0,0,1,68.293,25.524,104.67,104.67,0,0,1,25.133,69.355Zm48.8,11.381a3.415,3.415,0,0,1-1.479-2.7V71.459h5.064V76.1a.534.534,0,0,0,.239.464.983.983,0,0,0,.573.167.875.875,0,0,0,.591-.166.6.6,0,0,0,.185-.464V56.009h5.656V77.447a3.906,3.906,0,0,1-1.774,3.474A8.255,8.255,0,0,1,78.333,82.1,6.793,6.793,0,0,1,73.935,80.736ZM60,80.958a3.953,3.953,0,0,1-1.959-3.512V55.934H63.7V75.948a.7.7,0,0,0,.25.574,1.172,1.172,0,0,0,.749.2,1.092,1.092,0,0,0,.731-.2.728.728,0,0,0,.229-.574V55.934h5.656V77.409a3.913,3.913,0,0,1-1.866,3.474A8.526,8.526,0,0,1,64.7,82.1,8.662,8.662,0,0,1,60,80.958Zm-13.529.851V55.935H57.119v5.08h-4.99v5.2H56.6v4.968H52.129v10.63Zm39.439,0V55.933h5.656V81.807Z" fill="black"/></svg>');
  --icon-logo-shape: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="138" height="138" viewBox="0 0 138 138"><path d="M2022.2-2507.439h-21.977a88.33,88.33,0,0,1-58.016,58.017v21.97a88.335,88.335,0,0,1,58.016,58.013H2022.2a88.4,88.4,0,0,1,58.007-58.013v-21.97a88.312,88.312,0,0,1-58.007-58.017m-10.988,127.069a102.513,102.513,0,0,0-58.019-58.062,102.514,102.514,0,0,0,58.019-58.052,102.463,102.463,0,0,0,58.022,58.052,102.446,102.446,0,0,0-58.022,58.062" transform="translate(-1942.207 2507.439)" fill="black"/></svg>');
  --icon-arrow: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13.853" height="13.147" viewBox="0 0 13.853 13.147"><path d="M13.8,6.855a.751.751,0,0,0,0-.563.636.636,0,0,0-.077-.121.669.669,0,0,0-.071-.113L8.15.235a.75.75,0,0,0-1.09,1.03l4.3,4.558H.75a.75.75,0,0,0,0,1.5H11.365l-4.3,4.558a.75.75,0,1,0,1.09,1.031l5.5-5.824a.66.66,0,0,0,.071-.112.729.729,0,0,0,.077-.121" fill="black"/></svg>');
  --icon-arrow-circle-sm: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><path d="M20,40A20.005,20.005,0,0,1,12.215,1.572a20.005,20.005,0,0,1,15.57,36.856A19.875,19.875,0,0,1,20,40ZM14.63,19.893a.63.63,0,1,0,0,1.26h8.919l-3.617,3.83a.63.63,0,1,0,.915.866l4.622-4.893a.264.264,0,0,0,.041-.062c.006-.011.012-.022.018-.032l.02-.028a.32.32,0,0,0,.045-.074.628.628,0,0,0,0-.472.316.316,0,0,0-.047-.078l-.018-.024c-.006-.01-.012-.021-.018-.031a.283.283,0,0,0-.042-.064L20.848,15.2a.63.63,0,1,0-.915.866l3.617,3.83Z" fill="black"/></svg>');
  --icon-arrow-circle-lg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="25.219" height="25.219" viewBox="0 0 25.219 25.219"><path d="M12.609,25.219A12.609,12.609,0,0,1,3.693,3.693,12.609,12.609,0,1,1,21.526,21.526,12.527,12.527,0,0,1,12.609,25.219ZM7.63,11.893a.63.63,0,1,0,0,1.26h8.919l-3.617,3.83a.63.63,0,1,0,.916.866l4.621-4.893a.263.263,0,0,0,.04-.059c.007-.012.013-.024.021-.035s.015-.023.024-.034a.325.325,0,0,0,.041-.068.63.63,0,0,0,0-.473.335.335,0,0,0-.045-.074l-.02-.028c-.007-.011-.014-.023-.02-.035a.28.28,0,0,0-.04-.06L13.848,7.2a.63.63,0,1,0-.916.866l3.617,3.829Z" fill="black"/></svg>');
  --icon-next: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7.572" height="14.093" viewBox="0 0 7.572 14.093"><path d="M.75,14.094a.75.75,0,0,1-.54-1.271L5.78,7.047.21,1.271A.75.75,0,1,1,1.29.23l6.072,6.3a.75.75,0,0,1,0,1.041l-6.072,6.3a.751.751,0,0,1-.54.229" fill="black"/></svg>');
  --icon-prev: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="7.572" height="14.093" viewBox="0 0 7.572 14.093"><path d="M6.822,14.093a.75.75,0,0,0,.54-1.271L1.792,7.047l5.57-5.776A.75.75,0,1,0,6.282.23L.21,6.527a.75.75,0,0,0,0,1.041l6.072,6.3a.751.751,0,0,0,.54.229" fill="black"/></svg>');
  --icon-tel: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28.517" height="28.518" viewBox="0 0 28.517 28.518"><path d="M17.29,27.614a29.366,29.366,0,0,1-9.721-6.666A29.372,29.372,0,0,1,.9,11.227C-.43,7.767-.284,4.981,1.317,3.38L3.522,1.175A3.837,3.837,0,0,1,6.022,0h.053A2.926,2.926,0,0,1,8.188.932l3.573,3.574a3.774,3.774,0,0,1,.787,1.371,3.04,3.04,0,0,1-.821,3.143l-1.9,1.9a18.328,18.328,0,0,0,3.323,4.448A18.668,18.668,0,0,0,17.6,18.689l1.9-1.9a3,3,0,0,1,3.143-.821,3.776,3.776,0,0,1,1.37.787l.024.022,3.551,3.551a2.916,2.916,0,0,1,.931,2.166,3.837,3.837,0,0,1-1.174,2.5l-2.2,2.2a4.9,4.9,0,0,1-3.614,1.319A11.98,11.98,0,0,1,17.29,27.614ZM5.065,2.66l-.02.021L2.831,4.9c-.937.937-.91,3.016.07,5.562a27.2,27.2,0,0,0,6.182,8.976,27.2,27.2,0,0,0,8.976,6.182,10,10,0,0,0,3.456.758,2.918,2.918,0,0,0,2.106-.688l2.239-2.238a1.721,1.721,0,0,0,.514-.994.817.817,0,0,0-.3-.609l-3.528-3.528a1.751,1.751,0,0,0-.57-.311.971.971,0,0,0-.271-.042.939.939,0,0,0-.689.343L18.9,20.415a1.6,1.6,0,0,1-1.168.536,1.513,1.513,0,0,1-.358-.044,17.23,17.23,0,0,1-5.731-4.024l-.008-.008A17.246,17.246,0,0,1,7.61,11.141,1.555,1.555,0,0,1,8.1,9.615L10.212,7.5a.875.875,0,0,0,.3-.96,1.706,1.706,0,0,0-.312-.57L6.674,2.446a.821.821,0,0,0-.6-.3H6.062A1.726,1.726,0,0,0,5.065,2.66Z" fill="black"/></svg>');
}

/* ---------------------------
  CSS Reset
----------------------------- */
* {
  min-inline-size: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

:where(body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol) {
  margin: 0;
}

:where(ul, ol) {
  list-style-type: "";
  padding: unset;
}

:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

:where(a) {
  text-decoration: none;
}

:where(img, picture) {
  max-width: 100%;
  height: auto;
  display: block;
}

:where(input, button, textarea, select) {
  font: inherit;
}

:where(input[type=text], textarea) {
  font-size: 16px;
}

:where(textarea) {
  field-sizing: content;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(address) {
  font-style: normal;
}

:where(table) {
  border-collapse: collapse;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
body {
  background-color: var(--base-color);
  color: var(--black);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-family: var(--family-primary);
  font-weight: 500;
  letter-spacing: 0;
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-autospace: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body:has(dialog[open]) {
  overflow: hidden;
}

a {
  color: var(--black);
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

legend {
  width: 100%;
  margin: 0;
  padding: 0;
}

:where(:focus-visible) {
  outline-width: 3px;
  outline-offset: 0.125rem;
  outline-style: solid;
}

.header__wrapper {
  position: relative;
  height: var(--header-height);
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: space-between;
  padding-right: 62px;
}
@media (max-width: 979px) {
  .header__wrapper {
    height: var(--header-height-sm);
    gap: 10px;
  }
}

.header__logo {
  display: grid;
  grid-template-columns: auto auto;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
}
.header__logo a {
  transition: opacity 0.2s ease-in-out;
}
.header__logo a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__logo a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 979px) {
  .header__logo img {
    width: 190px;
  }
}
@media (max-width: 599px) {
  .header__logo img {
    width: 170px;
  }
}
.header__logo span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.6875rem, 0.52rem + 0.678vw, 1rem);
  font-weight: 600;
  color: var(--main-color);
  background-color: var(--white);
  border-radius: var(--radius-sm);
  margin-left: 1em;
  padding: 0.2em 0.65em;
}

.header__action {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--main-color);
  background-color: var(--white);
  border-radius: var(--radius-full);
  border: 2px solid var(--main-color);
  box-shadow: var(--shadow-secondary);
  padding: 0.7em 1.8em;
  transition: opacity 0.2s ease-in-out;
}
.header__action:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__action:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .header__action {
    display: none;
  }
}

.hamburger {
  display: grid;
  align-content: center;
  width: 36px;
  height: 36px;
  background-color: transparent;
  position: fixed;
  top: 32px;
  right: var(--spacing-gutter-outer);
  z-index: 9999;
}
@media (max-width: 979px) {
  .hamburger {
    top: 12px;
  }
}
@media (max-width: 599px) {
  .hamburger {
    right: calc(var(--spacing-gutter-outer) * 2);
  }
}

.hamburger__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  height: 100%;
}
.hamburger__inner span {
  display: block;
  width: 100%;
  height: 4px;
  transform-origin: center;
  background-color: var(--main-color);
}

.hamburger-close {
  position: static;
  margin-left: auto;
  display: grid;
  align-content: center;
  width: 36px;
  height: 36px;
  background-color: transparent;
}

.hamburger-close__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  height: 100%;
  position: relative;
}
.hamburger-close__inner span {
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-color: var(--white);
}
.hamburger-close__inner span:first-child {
  rotate: 45deg;
}
.hamburger-close__inner span:last-child {
  rotate: -45deg;
}

.folded-nav {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  max-width: 380px;
  margin-left: auto;
  margin-right: 0;
  background-color: var(--main-color);
  transition: opacity 0.2s ease-out, translate 0.2s ease-out;
}
@media (min-width: 1281px) {
  .folded-nav {
    max-width: 29.7vw;
  }
}
@media (max-width: 599px) {
  .folded-nav {
    max-width: 100%;
  }
}
.folded-nav[open] {
  display: block;
  translate: 0 0;
}
.folded-nav:not(.is-open) {
  translate: 100% 0;
  opacity: 0;
}
.folded-nav:not(.is-open) .folded-nav__inner {
  opacity: 0;
}
.folded-nav::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.2s ease-out;
}
.folded-nav:not(.is-open)::backdrop {
  opacity: 0;
}

.folded-nav__inner {
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 40px 4vw;
}
@media (max-width: 979px) {
  .folded-nav__inner {
    padding: 24px;
  }
}

.sm-nav {
  margin-top: 10px;
}

.sm-nav__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: block;
  padding: 1.3em 0;
}
@media (max-width: 599px) {
  .sm-nav__item {
    padding: 1.5em 0;
  }
}
.sm-nav__item > a {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.6em;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  transition: opacity 0.2s ease-in-out;
}
.sm-nav__item > a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .sm-nav__item > a:hover {
    opacity: 0.7;
  }
}
.sm-nav__item > a::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: auto;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo-shape);
          mask-image: var(--icon-logo-shape);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--white);
  opacity: 0.2;
}

.using-mouse dialog * {
  outline: none;
}
.using-mouse .hamburger {
  outline: none;
}

.cr-action {
  margin-bottom: -24px;
  position: relative;
  z-index: 10;
}
.cr-action .u-inner-1000 {
  position: relative;
}
.cr-action .u-inner-1000::before, .cr-action .u-inner-1000::after {
  content: "";
  display: inline-block;
  position: absolute;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo-shape);
          mask-image: var(--icon-logo-shape);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  opacity: 0.1;
}
.cr-action .u-inner-1000::before {
  width: clamp(4.375rem, 2.13rem + 9.214vw, 8.625rem);
  top: 0;
  left: -7%;
}
.cr-action .u-inner-1000::after {
  width: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
  bottom: -16%;
  right: -5.5%;
}
@media (max-width: 599px) {
  .cr-action .u-inner-1000::after {
    bottom: -6%;
  }
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.cr-action__wrapper {
  background-image: var(--gradient-primary);
  background-size: 200% 200%;
  animation: gradient 12s ease infinite;
  padding: clamp(2.5rem, 1.97rem + 2.168vw, 3.5rem) 0 clamp(2.5rem, 0.85rem + 6.775vw, 5.625rem);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.cr-action-lead {
  font-size: clamp(0.9375rem, 0.84rem + 0.407vw, 1.125rem);
  font-weight: 700;
  line-height: var(--line-height-normal);
  text-align: center;
  color: var(--white);
}

.cr-action-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 40px;
  margin-top: clamp(1.5rem, 1.1rem + 1.626vw, 2.25rem);
}
@media (max-width: 979px) {
  .cr-action-links {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin-inline: auto;
    padding-inline: var(--spacing-gutter);
  }
}
.cr-action-links a {
  display: grid;
  grid-template-columns: max-content auto max-content;
  align-items: center;
  gap: 0.5em;
  color: var(--main-color);
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 2.35em 1.6em;
  text-align: center;
  background-color: var(--white);
  border-radius: var(--radius-md);
}
@media (max-width: 599px) {
  .cr-action-links a {
    padding: 1.8em 1em;
  }
}
.cr-action-links a:focus-visible::after {
  translate: 20% 0;
}
@media (any-hover: hover) {
  .cr-action-links a:hover::after {
    translate: 20% 0;
  }
}
.cr-action-links a::before, .cr-action-links a::after {
  content: "";
  display: inline-block;
  width: 0.55em;
  aspect-ratio: 1/1;
}
.cr-action-links a::after {
  -webkit-mask-image: var(--icon-arrow);
          mask-image: var(--icon-arrow);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--main-color);
  transition: translate 0.1s ease-in;
}

.c-btn-plus {
  position: relative;
  display: block;
  width: 22px;
  aspect-ratio: 1/1;
  background-color: var(--white);
  border-radius: 50%;
}
.c-btn-plus::before, .c-btn-plus::after {
  content: "";
  display: inline-block;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 10;
}
.c-btn-plus::before {
  width: 14px;
  height: 2px;
}
.c-btn-plus::after {
  width: 2px;
  height: 14px;
}

.c-btn-arrow {
  display: grid;
  grid-template-columns: max-content auto max-content;
  align-items: center;
  gap: 0.5em;
  max-width: 370px;
  width: 100%;
  margin-inline: auto;
  color: var(--white);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 1.45em 1.6em;
  text-align: center;
  background-color: var(--main-color);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-secondary);
  transition: filter 0.2s ease-in;
}
.c-btn-arrow:focus-visible {
  filter: brightness(1.05);
}
.c-btn-arrow:focus-visible::after {
  translate: 20% 0;
}
@media (any-hover: hover) {
  .c-btn-arrow:hover {
    filter: brightness(1.05);
  }
  .c-btn-arrow:hover::after {
    translate: 20% 0;
  }
}
.c-btn-arrow::before, .c-btn-arrow::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  aspect-ratio: 1/1;
}
.c-btn-arrow::after {
  -webkit-mask-image: var(--icon-arrow);
          mask-image: var(--icon-arrow);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  transition: translate 0.1s ease-in;
}
.c-btn-arrow[data-bg=white] {
  background-color: var(--white);
  color: var(--main-color);
}
.c-btn-arrow[data-bg=white]::after {
  background-color: var(--main-color);
}

.c-btn-action {
  display: block;
  position: relative;
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  background-color: var(--main-color);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-primary);
  color: var(--white);
  padding: 1.55em;
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  font-weight: 700;
  text-align: center;
}
.c-btn-action::after {
  content: "";
  display: inline-block;
  width: clamp(1.25rem, 1.08rem + 0.678vw, 1.5625rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-arrow-circle-lg);
          mask-image: var(--icon-arrow-circle-lg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  transition: translate 0.1s ease-in;
  position: absolute;
  top: 50%;
  right: 1.6em;
  z-index: 10;
  translate: 0 -50%;
}
@media (max-width: 599px) {
  .c-btn-action::after {
    right: 1em;
  }
}
.c-btn-action span {
  display: block;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-family: var(--family-secondary);
  font-weight: bold;
  line-height: 1.2;
}

.c-hgroup {
  position: relative;
  text-align: center;
  color: var(--main-color);
}
.c-hgroup p {
  position: relative;
  z-index: 10;
  font-family: var(--family-secondary);
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  font-weight: bold;
  text-transform: uppercase;
  padding-top: 1.6em;
  margin-bottom: 0.3em;
}
.c-hgroup h1, .c-hgroup h2, .c-hgroup h3, .c-hgroup p:not([lang=en]) {
  position: relative;
  z-index: 10;
  font-size: clamp(1.25rem, 0.72rem + 2.168vw, 2.25rem);
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: -0.03em;
}
.c-hgroup h1 span, .c-hgroup h2 span, .c-hgroup h3 span, .c-hgroup p:not([lang=en]) span {
  font-size: clamp(2rem, 1.08rem + 3.794vw, 3.75rem);
  font-weight: 800;
  padding-inline: 0.1em;
}
.c-hgroup::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  z-index: 1;
  width: clamp(6.25rem, 4.99rem + 5.149vw, 8.625rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo-shape);
          mask-image: var(--icon-logo-shape);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
}
.c-hgroup[data-left] {
  text-align: left;
}
.c-hgroup[data-left]::before {
  left: 0;
  translate: -40% 0;
}
.c-hgroup[data-left] p {
  margin-bottom: 0;
}
.c-hgroup[data-left] h2 {
  line-height: var(--line-height-tight);
}
.c-hgroup[data-white] {
  color: var(--white);
}
.c-hgroup[data-white]::before {
  background-color: rgba(255, 255, 255, 0.12);
}

.c-headline {
  position: relative;
  text-align: center;
  color: var(--main-color);
}
.c-headline h1, .c-headline h2, .c-headline h3 {
  position: relative;
  z-index: 10;
  font-size: clamp(1.25rem, 0.72rem + 2.168vw, 2.25rem);
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: -0.03em;
}
.c-headline h1 span, .c-headline h2 span, .c-headline h3 span {
  font-size: clamp(2rem, 1.08rem + 3.794vw, 3.75rem);
  font-weight: 800;
  padding-inline: 0.1em;
}
.c-headline::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 1;
  width: clamp(6.25rem, 4.99rem + 5.149vw, 8.625rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo);
          mask-image: var(--icon-logo);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--base-color);
}
.c-headline[data-left] {
  text-align: left;
}
.c-headline[data-left]::before {
  left: 0;
  translate: -40% -50%;
}
.c-headline[data-left] h1, .c-headline[data-left] h2, .c-headline[data-left] h3 {
  line-height: var(--line-height-tight);
}
.c-headline[data-white]::before {
  background-color: rgba(255, 255, 255, 0.5);
}

.c-pagination {
  margin-top: clamp(3.125rem, 1.47rem + 6.775vw, 6.25rem);
}
.c-pagination ol {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-pagination li .page-numbers {
  display: grid;
  place-content: center;
  width: 1.9em;
  aspect-ratio: 1/1;
  font-family: var(--family-secondary);
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  line-height: 1;
  border-radius: 50%;
}
.c-pagination li a.page-numbers {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.c-pagination li a.page-numbers:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .c-pagination li a.page-numbers:hover {
    text-decoration: none;
  }
}
.c-pagination li .current {
  background-color: var(--main-color);
  color: var(--white);
  margin-inline: 0.5em;
}
.c-pagination li.next a, .c-pagination li.prev a {
  width: 1.9em;
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  transition: opacity 0.2s ease-in-out;
}
.c-pagination li.next a:focus-visible, .c-pagination li.prev a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-pagination li.next a:hover, .c-pagination li.prev a:hover {
    opacity: 0.7;
  }
}
.c-pagination li.next a::before, .c-pagination li.prev a::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  aspect-ratio: 8/14;
  background-color: var(--main-color);
}
.c-pagination li.next {
  margin-left: 20px;
}
.c-pagination li.next a::before {
  -webkit-mask-image: var(--icon-next);
          mask-image: var(--icon-next);
}
.c-pagination li.prev {
  margin-right: 20px;
}
.c-pagination li.prev a::before {
  -webkit-mask-image: var(--icon-prev);
          mask-image: var(--icon-prev);
}

.c-typo img {
  width: auto;
  height: clamp(2.25rem, -0.33rem + 10.569vw, 7.125rem);
}
.c-typo[data-right] img {
  margin-left: auto;
}

.u-sm-only {
  display: none;
}
@media (max-width: 599px) {
  .u-sm-only {
    display: block;
  }
}

@media (max-width: 599px) {
  br.u-sm-only {
    display: inline;
  }
}

.u-md-only {
  display: none;
}
@media (max-width: 979px) {
  .u-md-only {
    display: block;
  }
}

@media (max-width: 979px) {
  br.u-md-only {
    display: inline;
  }
}

.u-sm-none {
  display: block;
}
@media (max-width: 599px) {
  .u-sm-none {
    display: none;
  }
}

br.u-sm-none {
  display: inline;
}
@media (max-width: 599px) {
  br.u-sm-none {
    display: none;
  }
}

.u-md-none {
  display: block;
}
@media (max-width: 979px) {
  .u-md-none {
    display: none;
  }
}

br.u-md-none {
  display: inline;
}
@media (max-width: 979px) {
  br.u-md-none {
    display: none;
  }
}

.u-outer {
  padding-inline: var(--spacing-gutter-outer);
}

.u-wrapper {
  margin-inline: auto;
  max-width: 80vw;
}
@media (max-width: 1412px) {
  .u-wrapper {
    max-width: calc(1130px + var(--spacing-gutter) * 2);
    padding-inline: var(--spacing-gutter);
  }
}

.u-inner-1000 {
  max-width: 70vw;
  margin-inline: auto;
}
@media (max-width: 1430px) {
  .u-inner-1000 {
    max-width: 1000px;
  }
}

.u-visually-hidden {
  position: fixed !important;
  inset: 0 !important;
  contain: strict !important;
  visibility: initial !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  margin: unset !important;
  padding: unset !important;
  border: unset !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.top-intro-section {
  background-image: linear-gradient(180deg, rgb(7, 116, 164) 0%, rgb(110, 178, 203) 60%, rgb(217, 241, 244) 100%);
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.top-intro-hero {
  position: relative;
}

.top-intro-hero__slider {
  width: 75.5%;
  margin-left: auto;
  border-bottom-left-radius: var(--radius-sm);
  overflow: hidden;
}
@media (max-width: 599px) {
  .top-intro-hero__slider {
    width: 85%;
  }
}
.top-intro-hero__slider picture, .top-intro-hero__slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 599px) {
  .top-intro-hero__slider picture, .top-intro-hero__slider img {
    aspect-ratio: 5/4;
  }
}
.top-intro-hero__slider .splide__pagination {
  display: block;
  top: 50%;
  bottom: auto;
  left: auto;
  right: 20px;
  translate: 0 -50%;
  padding: 0;
}
@media (max-width: 599px) {
  .top-intro-hero__slider .splide__pagination {
    right: 15px;
  }
}
.top-intro-hero__slider .splide__pagination li {
  display: block;
}
.top-intro-hero__slider .splide__pagination__page {
  display: block;
  margin: 0;
  border-radius: 0;
  width: 2px;
  height: 40px;
  background-color: var(--white);
  opacity: 0.5;
  margin-top: 1px;
}
@media (max-width: 599px) {
  .top-intro-hero__slider .splide__pagination__page {
    height: 24px;
  }
}
.top-intro-hero__slider .splide__pagination__page.is-active {
  background-color: #005CB5;
  transform: none;
  opacity: 1;
}
.top-intro-hero__slider .splide__slide.is-active span img,
.top-intro-hero__slider .splide__slide.is-prev span img,
.top-intro-hero__slider .splide__slide span.is-prev img {
  animation: zoom-out 4s linear 0s normal both;
}

@keyframes zoom-out {
  0% {
    scale: 1.1;
  }
  100% {
    scale: 1;
  }
}
.top-intro-hero__text {
  position: absolute;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
}
.top-intro-hero__text > .u-wrapper {
  width: 100%;
}
.top-intro-hero__text hgroup {
  color: var(--white);
}
.top-intro-hero__text h2 {
  font-size: clamp(1.25rem, 0.26rem + 4.065vw, 3.125rem);
  font-weight: 800;
  line-height: 1.4;
  text-shadow: 0 0 11px rgba(23, 41, 74, 0.7);
}
@media (min-width: 1281px) {
  .top-intro-hero__text h2 {
    font-size: 3.9vw;
  }
}
.top-intro-hero__text span {
  font-size: clamp(1.625rem, 0.44rem + 4.878vw, 3.875rem);
  font-weight: 800;
  line-height: 1.13;
}
@media (min-width: 1281px) {
  .top-intro-hero__text span {
    font-size: 4.85vw;
  }
}
.top-intro-hero__text p {
  font-size: clamp(0.5625rem, 0.33rem + 0.949vw, 1rem);
  font-weight: 800;
  text-shadow: 0 0 11px #17294A;
  margin-top: 0.5em;
}
@media (min-width: 1281px) {
  .top-intro-hero__text p {
    font-size: 1.25vw;
  }
}

.top-intro-lead p {
  text-align: center;
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  font-weight: 700;
  line-height: var(--line-height-relaxed);
  color: var(--white);
}
.top-intro-lead p + p {
  margin-top: 1.8em;
}
.top-intro-lead .u-inner-1000 {
  position: relative;
  padding-block: clamp(4rem, 2.15rem + 7.588vw, 7.5rem);
}

.top-intro-lead__deco {
  position: absolute;
  z-index: 10;
}
.top-intro-lead__deco::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo-shape);
          mask-image: var(--icon-logo-shape);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  opacity: 0.1;
}
.top-intro-lead__deco:nth-of-type(1) {
  top: 13%;
  left: -5%;
}
.top-intro-lead__deco:nth-of-type(1)::before {
  width: clamp(4.375rem, 2.13rem + 9.214vw, 8.625rem);
}
.top-intro-lead__deco:nth-of-type(2) {
  bottom: 9%;
  left: 10%;
}
@media (max-width: 599px) {
  .top-intro-lead__deco:nth-of-type(2) {
    bottom: 4%;
  }
}
.top-intro-lead__deco:nth-of-type(2)::before {
  width: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}
.top-intro-lead__deco:nth-of-type(3) {
  top: 10%;
  right: 3%;
}
@media (max-width: 599px) {
  .top-intro-lead__deco:nth-of-type(3) {
    top: 5%;
  }
}
.top-intro-lead__deco:nth-of-type(3)::before {
  width: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}

.top-intro-slider picture, .top-intro-slider img {
  width: 100%;
}

.top-service-section {
  padding: clamp(3.5rem, 3.04rem + 1.897vw, 4.375rem) 0 clamp(4rem, 2.15rem + 7.588vw, 7.5rem);
  overflow: hidden;
}

.top-service-section__wrapper {
  position: relative;
  padding-top: clamp(0.25rem, -1.2rem + 5.962vw, 3rem);
}

.top-service-typo {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.top-service-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 20px 0;
}
@media (max-width: 979px) {
  .top-service-grid {
    grid-template-columns: 1fr;
  }
}

.top-service-grid__text {
  position: relative;
  z-index: 100;
  padding-top: 20px;
}
@media (max-width: 979px) {
  .top-service-grid__text {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.top-service-grid__text hgroup {
  line-height: 1.23;
  letter-spacing: -0.03em;
  color: var(--main-color);
  white-space: nowrap;
}
.top-service-grid__text hgroup h2 {
  font-feature-settings: "palt";
  font-size: clamp(2.375rem, 1.19rem + 4.878vw, 4.625rem);
  font-weight: 800;
  line-height: 1.3;
  margin-bottom: 0.3em;
}
@media (min-width: 1281px) {
  .top-service-grid__text hgroup h2 {
    font-size: 5.65vw;
  }
}
.top-service-grid__text hgroup span {
  font-size: 0.8em;
}
.top-service-grid__text hgroup p {
  font-size: clamp(1.25rem, 0.72rem + 2.168vw, 2.25rem);
  font-weight: 800;
  margin-bottom: 0.2em;
}
@media (min-width: 1281px) {
  .top-service-grid__text hgroup p {
    font-size: 2.8vw;
  }
}
.top-service-grid__text > p {
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  font-weight: 500;
  line-height: var(--line-height-relaxed);
  margin-top: 1.2em;
}
@media (min-width: 1281px) {
  .top-service-grid__text > p {
    margin-top: 1.5vw;
  }
}

@media (max-width: 979px) {
  .top-service-grid__img {
    max-width: 500px;
    margin-inline: auto;
  }
}
.top-service-grid__img picture, .top-service-grid__img img {
  width: 100%;
}

.top-service-headline {
  margin-top: clamp(3rem, 1.41rem + 6.504vw, 6rem);
  margin-bottom: 1.3em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: grid;
  align-items: center;
  grid-template-columns: max-content 1fr max-content;
  gap: 1em;
  font-size: clamp(1.25rem, 1.12rem + 0.542vw, 1.5rem);
  font-weight: 800;
  color: var(--main-color);
}
.top-service-headline::before, .top-service-headline::after {
  content: "";
  display: inline-block;
  width: 2.5em;
  height: 4px;
  background-color: var(--main-color);
}

.top-service-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 18px;
}
@media (max-width: 979px) {
  .top-service-list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
}
@media (max-width: 599px) {
  .top-service-list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 12px;
  }
}

.top-service-list__item > a, .top-service-list__item > span {
  display: block;
  padding: clamp(1.5rem, 0.44rem + 4.336vw, 3.5rem) 16px clamp(1.25rem, 0.46rem + 3.252vw, 2.75rem);
  background-color: var(--white);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-tertiary);
  height: 100%;
  position: relative;
}
.top-service-list__item > a::before, .top-service-list__item > span::before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 10;
  background-color: #1D528B;
  opacity: 0.5;
  transition: opacity 0.1s ease-in;
}
.top-service-list__item > a:focus-visible::before, .top-service-list__item > span:focus-visible::before {
  opacity: 0;
}
.top-service-list__item > a:focus-visible .top-service-list__bg, .top-service-list__item > span:focus-visible .top-service-list__bg {
  scale: 1.05;
}
@media (any-hover: hover) {
  .top-service-list__item > a:hover::before, .top-service-list__item > span:hover::before {
    opacity: 0;
  }
  .top-service-list__item > a:hover .top-service-list__bg, .top-service-list__item > span:hover .top-service-list__bg {
    scale: 1.05;
  }
}
.top-service-list__item h4 {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  font-weight: 700;
  color: var(--white);
  text-align: center;
  margin-top: 0.8em;
  position: relative;
  z-index: 100;
}
@media (max-width: 599px) {
  .top-service-list__item h4 {
    min-height: auto;
  }
}

.top-service-list__icon {
  width: clamp(2.25rem, 1.59rem + 2.71vw, 3.5rem);
  margin-inline: auto;
  position: relative;
  z-index: 100;
}

.top-service-list__bg {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.2s ease-in;
}

.top-why-section {
  padding: clamp(3rem, 1.94rem + 4.336vw, 5rem) 0 clamp(2.5rem, 1.97rem + 2.168vw, 3.5rem);
  border-top-left-radius: var(--radius-xxl);
  border-top-right-radius: var(--radius-xxl);
  background-color: var(--white);
  overflow: hidden;
}

.top-why-typo {
  margin-bottom: 40px;
}

.top-why-list {
  position: relative;
  width: calc(100% - 48px);
  margin-inline: auto;
  aspect-ratio: 1055/560;
  margin-top: -4%;
}
@media (max-width: 979px) {
  .top-why-list {
    width: 100%;
  }
}
@media (max-width: 599px) {
  .top-why-list {
    max-width: 400px;
    margin-inline: auto;
    aspect-ratio: 269/569;
    margin-top: 48px;
  }
}

.top-why-list__item {
  position: absolute;
}
.top-why-list__item[data-number="1"] {
  top: 10%;
  left: 7%;
  width: 31.5%;
}
@media (max-width: 599px) {
  .top-why-list__item[data-number="1"] {
    top: 0;
    left: auto;
    right: 0;
    width: 73.7%;
  }
}
.top-why-list__item[data-number="2"] {
  top: 0;
  right: 2.5%;
  width: 22.7%;
}
@media (max-width: 599px) {
  .top-why-list__item[data-number="2"] {
    top: 17%;
    right: auto;
    left: 0;
    width: 52.8%;
  }
}
.top-why-list__item[data-number="3"] {
  bottom: 3%;
  left: 0;
  width: 23.8%;
}
@media (max-width: 599px) {
  .top-why-list__item[data-number="3"] {
    bottom: 36%;
    left: auto;
    right: 0;
    width: 55.7%;
  }
}
.top-why-list__item[data-number="4"] {
  bottom: 12%;
  right: 35%;
  width: 20.4%;
}
@media (max-width: 599px) {
  .top-why-list__item[data-number="4"] {
    bottom: 13%;
    right: auto;
    left: 2%;
    width: 48.1%;
  }
}
.top-why-list__item[data-number="5"] {
  bottom: 0;
  right: 0;
  width: 33.6%;
}
@media (max-width: 599px) {
  .top-why-list__item[data-number="5"] {
    right: auto;
    right: 2%;
    width: 51.6%;
  }
}
.top-why-list__item img {
  width: 100%;
}

.top-why-bridge {
  margin-top: 10px;
  text-align: center;
  line-height: var(--line-height-snug);
  margin-bottom: clamp(2rem, 1.74rem + 1.084vw, 2.5rem);
}
@media (max-width: 599px) {
  .top-why-bridge {
    margin-top: 28px;
  }
}
.top-why-bridge span {
  display: inline-block;
  font-size: clamp(0.875rem, 0.61rem + 1.084vw, 1.375rem);
  font-weight: 700;
  text-align: center;
}
.top-why-bridge strong {
  display: inline-block;
  font-size: clamp(1.875rem, 0.16rem + 7.046vw, 5.125rem);
  font-weight: 900;
  background-image: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0.1em;
}
@media (max-width: 599px) {
  .top-why-bridge strong {
    margin-top: 0.2em;
    margin-bottom: 0.3em;
  }
}

.top-why-chart {
  display: grid;
  grid-template-columns: 1fr max-content 1fr;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding-block: 3%;
}
@media (max-width: 979px) {
  .top-why-chart {
    grid-template-columns: 1fr;
    padding-block: 0;
  }
}
.top-why-chart::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  z-index: 0;
  width: 100%;
  height: 218px;
  background-color: #EFF5F7;
  border-radius: var(--radius-xl);
}
@media (max-width: 979px) {
  .top-why-chart::before {
    height: 100%;
    width: 240px;
    left: 50%;
    top: 0;
    translate: -50% 0;
  }
}

.top-why-chart__side {
  text-align: center;
  padding: 24px 20px;
  position: relative;
  z-index: 1;
}
@media (max-width: 979px) {
  .top-why-chart__side {
    width: 100%;
    max-width: 240px;
    margin-inline: auto;
  }
}
.top-why-chart__side p {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
}
.top-why-chart__side h3 {
  font-size: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.05em;
  color: var(--main-color);
}
.top-why-chart__side h3::after {
  content: "";
  display: block;
  margin-inline: auto;
  width: 2.2em;
  height: 3px;
  background-color: var(--black);
  margin-top: 0.6em;
  margin-bottom: 0.5em;
}
.top-why-chart__side[data-side=left] {
  padding-right: 40px;
}
@media (max-width: 979px) {
  .top-why-chart__side[data-side=left] {
    padding-right: 20px;
    padding-bottom: 40px;
  }
}
.top-why-chart__side[data-side=right] {
  padding-left: 40px;
}
@media (max-width: 979px) {
  .top-why-chart__side[data-side=right] {
    padding-left: 20px;
    padding-top: 40px;
  }
}

.top-why-chart__center {
  display: grid;
  place-content: center;
  text-align: center;
  aspect-ratio: 1/1;
  width: clamp(18.75rem, 15.78rem + 12.195vw, 24.375rem);
  position: relative;
}
@media (max-width: 979px) {
  .top-why-chart__center {
    margin-inline: auto;
  }
}
.top-why-chart__center p {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  position: relative;
  z-index: 100;
}
.top-why-chart__center h3 {
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  line-height: 1.33;
  letter-spacing: 0.05em;
  color: var(--main-color);
  position: relative;
  z-index: 100;
  margin-block: 0.4em;
}

@keyframes rotate {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.top-why-chart__rotate {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 50%;
  z-index: 10;
  width: 115%;
  max-width: inherit;
  animation: rotate 10s linear infinite;
}

.top-voice-section {
  background-color: var(--white);
  overflow: hidden;
}

.top-voice-section__inner {
  padding: clamp(4rem, 2.15rem + 7.588vw, 7.5rem) 0 clamp(4rem, 2.15rem + 7.588vw, 7.5rem);
  background-image: linear-gradient(to bottom, rgba(7, 116, 164, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);
}
@media (max-width: 979px) {
  .top-voice-section__inner {
    background-image: linear-gradient(to bottom, rgba(7, 116, 164, 0.1) 60%, rgba(255, 255, 255, 0.1) 100%);
  }
}

.top-voice-typo {
  translate: 0 50%;
}

.top-voice-lead {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-top: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}
@media (max-width: 979px) {
  .top-voice-lead {
    flex-direction: column;
    align-items: start;
  }
}
.top-voice-lead p {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 700;
  line-height: var(--line-height-relaxed);
}
.top-voice-lead .c-btn-arrow {
  margin-inline: 0;
}
@media (max-width: 979px) {
  .top-voice-lead .c-btn-arrow {
    display: none;
  }
}

.top-voice-list {
  --_gap: 10vw;
  margin-top: clamp(2.5rem, 1.97rem + 2.168vw, 3.5rem);
  width: calc(100% + var(--_gap));
  margin-right: calc(-1 * var(--_gap));
}
@media (max-width: 1412px) {
  .top-voice-list {
    --_gap: calc(50vw - 565px);
  }
}
@media (max-width: 1226px) {
  .top-voice-list {
    --_gap: calc(var(--spacing-gutter) + var(--spacing-gutter-outer));
  }
}

.top-voice-list__ctrl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: clamp(2rem, 1.21rem + 3.252vw, 3.5rem);
}
.top-voice-list__ctrl .splide__arrows {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  width: -moz-fit-content;
  width: fit-content;
}
.top-voice-list__ctrl .splide__arrow {
  position: static;
  transform: none;
  width: clamp(2.5rem, 2.07rem + 1.762vw, 3.3125rem);
  height: clamp(2.5rem, 2.07rem + 1.762vw, 3.3125rem);
}
.top-voice-list__ctrl .my-carousel-progress {
  background-color: #DBDBDB;
  width: clamp(11.25rem, 6.49rem + 19.512vw, 20.25rem);
}
.top-voice-list__ctrl .my-carousel-progress-bar {
  background-color: #959595;
  height: 3px;
  transition: width 0.4s ease;
  width: 0;
}

.top-voice-more {
  margin-top: clamp(2rem, 1.47rem + 2.168vw, 3rem);
  margin-inline: auto;
  display: none;
}
@media (max-width: 979px) {
  .top-voice-more {
    display: grid;
  }
}

.top-job-section {
  background-color: var(--white);
  overflow: hidden;
}

.top-job-section__inner {
  padding-top: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
  background-color: var(--base-color);
  border-top-left-radius: var(--radius-xxl);
  border-top-right-radius: var(--radius-xxl);
}

.top-job-typo {
  margin-bottom: 40px;
}

.top-job-lead {
  margin-top: 1.5em;
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 700;
  line-height: var(--line-height-relaxed);
  position: relative;
  z-index: 10;
}
@media (max-width: 599px) {
  .top-job-lead {
    margin-top: 2em;
  }
}

.top-job-list {
  --_gap: 40px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--_gap);
  margin-top: 16px;
}
@media (max-width: 979px) {
  .top-job-list {
    margin-top: 24px;
  }
}
@media (max-width: 599px) {
  .top-job-list {
    padding-inline: var(--spacing-gutter);
    --_gap: 20px;
  }
}
.top-job-list li {
  width: calc((100% - var(--_gap) * 2) / 3);
}
@media (max-width: 979px) {
  .top-job-list li {
    width: calc((100% - var(--_gap)) / 2);
  }
}
@media (max-width: 599px) {
  .top-job-list li {
    width: 100%;
  }
}

.top-job-list__item {
  display: block;
  border-radius: var(--radius-md);
  padding-top: clamp(2.5rem, 1.58rem + 3.794vw, 4.25rem);
  position: relative;
}
.top-job-list__item img {
  width: 100%;
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
}
.top-job-list__item hgroup {
  position: absolute;
  top: 0;
  left: 0;
  translate: -10% 0;
  z-index: 100;
  border-radius: 50%;
  width: clamp(6.25rem, 4.47rem + 7.317vw, 9.625rem);
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  background-image: linear-gradient(45deg, rgb(0, 177, 255) 0%, rgba(7, 116, 164, 0.85) 55%, rgba(154, 219, 114, 0.85) 100%);
  box-shadow: 10px 10px 3px rgba(0, 0, 0, 0.16);
}
@media (max-width: 599px) {
  .top-job-list__item hgroup {
    box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.16);
  }
}
.top-job-list__item hgroup p {
  color: var(--white);
  text-align: center;
  font-size: clamp(0.625rem, 0.43rem + 0.813vw, 1rem);
  font-family: var(--family-secondary);
  font-weight: bold;
  margin-top: 0.2em;
}
.top-job-list__item h3 {
  font-size: clamp(1.0625rem, 0.77rem + 1.22vw, 1.625rem);
  text-align: center;
  font-weight: 700;
  color: var(--white);
}
.top-job-list__item:first-child {
  margin-top: clamp(3.125rem, 1.47rem + 6.775vw, 6.25rem);
}
@media (max-width: 979px) {
  .top-job-list__item:first-child {
    margin-top: 0;
  }
}
.top-job-list__item:nth-child(2) {
  margin-top: clamp(1.5625rem, 0.74rem + 3.388vw, 3.125rem);
}
@media (max-width: 979px) {
  .top-job-list__item:nth-child(2) {
    margin-top: 0;
  }
}

.top-job-list__text {
  background-color: var(--white);
  padding: 16px 20px 20px;
  border-bottom-left-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
.top-job-list__text p {
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  line-height: var(--line-height-normal);
  margin-bottom: 1.6em;
  min-height: 7em;
}
@media (max-width: 599px) {
  .top-job-list__text p {
    min-height: inherit;
  }
}

.top-job-dialog-opener {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  max-width: 15em;
  width: 100%;
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 700;
  color: var(--black);
  text-align: left;
  padding-bottom: 0.6em;
  border-bottom: 1px solid #A7C2DD;
  margin-top: auto;
  transition: filter 0.2s ease-in;
}
.top-job-dialog-opener:focus-visible {
  filter: brightness(1.05);
}
@media (any-hover: hover) {
  .top-job-dialog-opener:hover {
    filter: brightness(1.05);
  }
}

.top-job-dialog {
  position: fixed;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  min-height: 480px;
  max-height: calc(100vh - 80px);
  max-width: 680px;
  top: 0;
  right: 0;
  margin: auto;
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: opacity 0.2s ease-out;
  overscroll-behavior-y: contain;
}
@media (max-width: 979px) {
  .top-job-dialog {
    width: 90%;
  }
}
.top-job-dialog[open] {
  display: block;
  translate: 0 0;
}
.top-job-dialog:not(.is-open) {
  translate: 100% 0;
  opacity: 0;
}
.top-job-dialog:not(.is-open) .folded-nav__inner {
  opacity: 0;
}
.top-job-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.7);
  transition: opacity 0.2s ease-out;
}
.top-job-dialog:not(.is-open)::backdrop {
  opacity: 0;
}

.top-job-dialog__inner {
  position: relative;
  height: 100%;
  max-height: calc(100vh - 80px);
  overflow: auto;
}

.top-job-dialog__label {
  font-size: clamp(1.25rem, 0.85rem + 1.626vw, 2rem);
  font-weight: 700;
  text-align: center;
  padding: 0.35em 1em;
  background-image: var(--gradient-primary);
  color: var(--white);
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
}
.top-job-dialog__label span {
  display: block;
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 500;
}

.top-job-dialog__closer {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  display: block;
  width: clamp(2.75rem, 1.89rem + 3.523vw, 4.375rem);
  aspect-ratio: 1/1;
}
.top-job-dialog__closer::before, .top-job-dialog__closer::after {
  content: "";
  display: inline-block;
  width: 60%;
  height: 3px;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.top-job-dialog__closer::before {
  rotate: 45deg;
}
.top-job-dialog__closer::after {
  rotate: -45deg;
}

.top-job-dialog__data {
  padding: 40px;
  background-color: var(--white);
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
}
.top-job-dialog__data dl {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.top-job-dialog__data div {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 16px;
}
.top-job-dialog__data div:not(:last-child) {
  position: relative;
  padding-bottom: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}
.top-job-dialog__data div:not(:last-child)::after {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background-color: var(--base-color);
  font-size: clamp(0.9375rem, 0.77rem + 0.678vw, 1.25rem);
  position: absolute;
  top: 0;
  left: 1.7em;
  z-index: 1;
}
.top-job-dialog__data dt {
  position: relative;
  z-index: 10;
  font-family: var(--family-secondary);
  font-size: clamp(0.9375rem, 0.77rem + 0.678vw, 1.25rem);
  font-weight: bold;
  color: var(--white);
  background-color: var(--main-color);
  border-radius: var(--radius-full);
  line-height: 1;
  white-space: nowrap;
  padding: 0.2em;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  min-width: 3.7em;
  text-align: center;
}
.top-job-dialog__data dd {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  line-height: 1.44;
}

.top-reason-section {
  padding: clamp(3.5rem, 1.39rem + 8.672vw, 7.5rem) 0 clamp(3.5rem, 2.05rem + 5.962vw, 6.25rem);
  overflow: hidden;
}

.top-reason-typo {
  margin-bottom: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}

.top-reason-lead {
  margin-top: 1.8em;
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 700;
  text-align: center;
  line-height: var(--line-height-relaxed);
}

.top-reason-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 10px;
  margin-top: clamp(3rem, 2.21rem + 3.252vw, 4.5rem);
  counter-reset: number 0;
}
@media (max-width: 979px) {
  .top-reason-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .top-reason-list {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.top-reason-list__item {
  position: relative;
  display: block;
  counter-increment: number 1;
  background-color: var(--white);
  border-radius: var(--radius-md);
  padding: clamp(1.875rem, 1.21rem + 2.71vw, 3.125rem) 24px clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
}
.top-reason-list__item::before {
  content: counter(number, decimal-leading-zero);
  font-size: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
  font-weight: bold;
  font-family: var(--family-secondary);
  text-align: center;
  color: var(--main-color);
  line-height: 1;
  white-space: nowrap;
  background-image: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  z-index: 10;
}

.top-reason-list__inner {
  height: 100%;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 16px;
}
@media (min-width: 1281px) {
  .top-reason-list__inner {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (max-width: 599px) {
  .top-reason-list__inner {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.top-reason-list__inner img {
  width: clamp(2.5rem, 1.91rem + 2.439vw, 3.625rem);
}
.top-reason-list__inner h3 {
  font-size: clamp(1.125rem, 0.99rem + 0.542vw, 1.375rem);
  font-weight: 700;
  color: var(--main-color);
  line-height: var(--line-height-snug);
}
.top-reason-list__inner strong {
  font-size: 1.45em;
  font-family: var(--family-secondary);
  line-height: 1;
}
.top-reason-list__inner p {
  font-size: clamp(0.75rem, 0.65rem + 0.407vw, 0.9375rem);
  color: var(--main-color);
}

.top-about-section {
  padding-bottom: clamp(3.5rem, 2.44rem + 4.336vw, 5.5rem);
}

.top-about-head {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.top-about-head::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  height: 100%;
  z-index: 10;
  background-image: linear-gradient(115deg, rgba(7, 116, 164, 0.5) 0%, rgba(110, 178, 203, 0.5) 55%, rgba(217, 241, 244, 0.5) 100%);
}

.top-about-head__bg {
  position: relative;
  z-index: 1;
}
.top-about-head__bg picture, .top-about-head__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-about-head__title {
  position: absolute;
  inset: 0;
  height: 100%;
  display: grid;
  place-content: center;
  z-index: 100;
  text-align: center;
  color: var(--white);
}
.top-about-head__title p {
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 700;
  text-transform: uppercase;
  line-height: var(--line-height-tight);
}
.top-about-head__title h2 {
  font-size: clamp(1.5rem, 0.97rem + 2.168vw, 2.5rem);
  font-weight: 800;
}

.top-about-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 70px;
  margin-top: clamp(1.25rem, 0.06rem + 4.878vw, 3.5rem);
}
@media (max-width: 979px) {
  .top-about-list {
    gap: 14px 40px;
  }
}
@media (max-width: 599px) {
  .top-about-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.top-about-list li {
  border-bottom: 1px solid #A7C2DD;
}
.top-about-list a {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: 1em;
  font-size: clamp(1rem, 0.74rem + 1.084vw, 1.5rem);
  font-weight: 600;
  color: var(--main-color);
  padding: 0.5em 0;
  transition: opacity 0.2s ease-in-out;
}
.top-about-list a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .top-about-list a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .top-about-list a {
    padding: 0.8em 0;
  }
}
.top-about-list span {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: var(--main-color);
  width: 1.05em;
  aspect-ratio: 1/1;
}
.top-about-list span::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-arrow);
          mask-image: var(--icon-arrow);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
}

.p-header {
  padding-top: clamp(1.5rem, 0.71rem + 3.252vw, 3rem);
  padding-bottom: clamp(3.5rem, 2.38rem + 4.607vw, 5.625rem);
}

.p-content {
  padding-bottom: clamp(5rem, 3.68rem + 5.42vw, 7.5rem);
}

.p-action {
  margin-top: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
}
.p-action a {
  margin-inline: auto;
}

.voice-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
}
@media (min-width: 1281px) {
  .voice-list {
    gap: 3.2vw 2.4vw;
  }
}
@media (max-width: 979px) {
  .voice-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .voice-list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.voice-article a {
  display: block;
  position: relative;
}
.voice-article a::before, .voice-article a::after {
  content: "";
  width: 100%;
  height: 80%;
  display: block;
  border-radius: var(--radius-lg);
  position: absolute;
  bottom: 0;
  right: 0;
}
.voice-article a::before {
  z-index: 2;
  background-image: var(--gradient-primary);
  transition: opacity 0.3s ease;
}
.voice-article a::after {
  z-index: 1;
  background-image: var(--gradient-primary-reverse);
}
.voice-article a:focus-visible .voice-list__thumb > img {
  scale: 1.05;
}
.voice-article a:focus-visible::before {
  opacity: 0;
}
@media (any-hover: hover) {
  .voice-article a:hover .voice-list__thumb > img {
    scale: 1.05;
  }
  .voice-article a:hover::before {
    opacity: 0;
  }
}

.voice-list__thumb {
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  z-index: 100;
  width: calc(100% - 15px);
}
.voice-list__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  height: 100%;
  z-index: 10;
  display: block;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.5) 100%);
}
.voice-list__thumb > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 670/754;
  transition: scale 0.2s ease-in;
}

.voice-list__title {
  position: absolute;
  z-index: 100;
  bottom: 0;
  left: 20px;
  bottom: 15px;
}
.voice-list__title img {
  height: 124px;
  width: auto;
}

.voice-list__meta {
  position: inherit;
  z-index: 100;
  font-size: clamp(0.9375rem, 0.84rem + 0.407vw, 1.125rem);
  font-weight: 500;
  color: var(--white);
  padding: 1em 1.5em;
}

.voice-page-header {
  position: relative;
  color: var(--main-color);
  margin-top: clamp(0.5rem, 0.1rem + 1.626vw, 1.25rem);
  margin-bottom: clamp(2rem, -0.25rem + 9.214vw, 6.25rem);
}
.voice-page-header [lang=en] {
  position: relative;
  z-index: 10;
  font-family: var(--family-secondary);
  font-size: clamp(0.8125rem, 0.71rem + 0.407vw, 1rem);
  font-weight: bold;
  text-transform: uppercase;
  padding-top: 2.2em;
}
.voice-page-header :not([lang=en]) {
  position: relative;
  z-index: 10;
  font-size: clamp(1.25rem, 0.72rem + 2.168vw, 2.25rem);
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: -0.03em;
}
.voice-page-header::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  translate: -50% 0;
  z-index: 1;
  width: clamp(7.5rem, 3.27rem + 17.344vw, 15.5rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-logo-shape);
          mask-image: var(--icon-logo-shape);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
}

.voice-single {
  max-width: 800px;
  margin-inline: auto;
}

.voice-header {
  margin-bottom: clamp(2.5rem, 1.18rem + 5.42vw, 5rem);
  position: relative;
  padding-right: 15px;
}
.voice-header::after {
  content: "";
  width: 100%;
  height: 90%;
  display: block;
  background-image: var(--gradient-primary);
  border-radius: var(--radius-lg);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
}

.voice-header__thumb {
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
  z-index: 100;
}
.voice-header__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  height: 100%;
  z-index: 10;
  display: block;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.5) 100%);
}
.voice-header__thumb > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
  aspect-ratio: 785/475;
}
@media (max-width: 599px) {
  .voice-header__thumb > img {
    aspect-ratio: 3/2;
  }
}
.voice-header__thumb h1 {
  position: absolute;
  bottom: clamp(0.5rem, 0.24rem + 1.084vw, 1rem);
  left: clamp(0.625rem, 0.29rem + 1.355vw, 1.25rem);
  z-index: 100;
}
.voice-header__thumb h1 img {
  width: auto;
  height: clamp(5rem, 1.37rem + 14.905vw, 11.875rem);
}

.voice-header__meta {
  color: var(--white);
  position: relative;
  z-index: 100;
  padding: 12px clamp(1rem, 0.74rem + 1.084vw, 1.5rem) 16px;
}

.voice-header__belong {
  font-size: clamp(1rem, 0.8rem + 0.813vw, 1.375rem);
}

.voice-header__name {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
}

.job-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.job-list__item {
  border-radius: var(--radius-sm);
  background-color: var(--main-color);
}
.job-list__item a {
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: clamp(1.125rem, 0.27rem + 3.523vw, 2.75rem);
  color: var(--white);
  padding: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem) clamp(1.25rem, 0.26rem + 4.065vw, 3.125rem);
}
.job-list__item a::after {
  content: "";
  display: inline-block;
  width: clamp(1.875rem, 1.54rem + 1.355vw, 2.5rem);
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-arrow-circle-sm);
          mask-image: var(--icon-arrow-circle-sm);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--white);
  transition: translate 0.1s ease-in;
}
.job-list__item a:focus-visible::after {
  translate: 15% 0;
}
@media (any-hover: hover) {
  .job-list__item a:hover::after {
    translate: 15% 0;
  }
}
.job-list__item h2 {
  font-size: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
  font-weight: 700;
}
.job-list__item dl {
  display: grid;
  grid-template-columns: 5em 1fr;
  gap: 0.8em;
  font-size: clamp(0.6875rem, 0.52rem + 0.678vw, 1rem);
  margin-top: 1.2em;
}
.job-list__item dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8em;
  font-weight: 700;
}
.job-list__item dt::after {
  content: "";
  display: inline-block;
  height: 90%;
  width: 1px;
  background-color: #A7C2DD;
}

.job-list__cat {
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--white);
  color: var(--main-color);
  font-size: clamp(0.75rem, 0.62rem + 0.542vw, 1rem);
  font-weight: 700;
  padding: 0.3em 0.8em;
  border-radius: var(--radius-sm);
  margin-top: 0.7em;
}

.job-single {
  max-width: 1000px;
  margin-inline: auto;
  background-color: var(--white);
  padding: clamp(1.25rem, -0.2rem + 5.962vw, 4rem);
}

.job-single__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #A7C2DD;
  padding-bottom: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
  margin-bottom: clamp(1.25rem, 0.92rem + 1.355vw, 1.875rem);
}
@media (max-width: 599px) {
  .job-single__header {
    grid-template-columns: 1fr;
  }
}
.job-single__header h1 {
  font-size: clamp(1.5rem, 1.1rem + 1.626vw, 2.25rem);
  font-weight: 700;
  color: var(--main-color);
}
.job-single__header dl {
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.68rem + 0.813vw, 1.25rem);
  font-weight: 400;
}
.job-single__header dt::after {
  content: "：";
  display: inline;
  font-size: 1em;
}

.job-single__content p {
  line-height: 1.88;
}

.job-single__table {
  margin-top: clamp(2.5rem, 1.71rem + 3.252vw, 4rem);
  width: 100%;
}
.job-single__table th, .job-single__table td {
  font-size: clamp(0.6875rem, 0.52rem + 0.678vw, 1rem);
  font-weight: 400;
  line-height: 1.88;
  border: 1px solid var(--gray);
  vertical-align: top;
}
.job-single__table th {
  text-align: center;
  color: var(--white);
  background-color: var(--main-color);
  width: 160px;
  padding: 1.4em;
}
@media (max-width: 599px) {
  .job-single__table th {
    width: 80px;
    padding: 1em;
  }
}
.job-single__table td {
  padding: 1.4em 2em;
}
@media (max-width: 599px) {
  .job-single__table td {
    padding: 1em;
  }
}

.entry-lead {
  font-size: clamp(0.875rem, 0.74rem + 0.542vw, 1.125rem);
  font-weight: 700;
  line-height: var(--line-height-normal);
  color: var(--main-color);
  text-align: center;
  margin-bottom: 40px;
}

.entry-tel {
  display: block;
  max-width: 508px;
  margin-inline: auto;
  background-color: var(--white);
  border-radius: var(--radius-full);
  padding: clamp(1.75rem, 1.49rem + 1.084vw, 2.25rem);
  transition: opacity 0.2s ease-in-out;
}
.entry-tel:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .entry-tel:hover {
    opacity: 0.7;
  }
}

.entry-tel__label {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  background-color: var(--main-color);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  color: var(--white);
  letter-spacing: 0.05em;
  border-radius: var(--radius-sm);
  padding: 0.05em 0.8em 0.15em;
  margin-bottom: 0.5em;
}

.entry-tel__number {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0.2em;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-family: var(--family-secondary);
  font-size: clamp(1.875rem, 1.74rem + 0.542vw, 2.125rem);
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: var(--main-color);
  white-space: nowrap;
}
.entry-tel__number::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--icon-tel);
          mask-image: var(--icon-tel);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--main-color);
}

.entry-wrapper {
  margin-top: clamp(2.5rem, 1.84rem + 2.71vw, 3.75rem);
  background-color: var(--white);
  padding: clamp(2rem, 0.94rem + 4.336vw, 4rem) clamp(1.25rem, -0.2rem + 5.962vw, 4rem) clamp(3rem, 2.47rem + 2.168vw, 4rem);
  border-radius: var(--radius-sm);
}

.entry-form .fieldset-wrapper {
  display: flex;
}
.entry-form .fieldset-wrapper + .fieldset-wrapper {
  margin-top: 36px;
}
.entry-form .fieldset-wrapper:has([type=file]) + .fieldset-wrapper:has([type=file]) {
  margin-top: 20px;
}
.entry-form #js-require {
  display: none;
}
.entry-form #js-require.is-active {
  display: flex;
}
.entry-form #js-require .field {
  height: 50px;
}
.entry-form fieldset {
  display: contents;
}
@media (max-width: 979px) {
  .entry-form fieldset {
    display: block;
    width: 100%;
  }
}
.entry-form legend {
  width: 230px;
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 500;
  position: relative;
  margin-top: 0.7em;
}
@media (max-width: 979px) {
  .entry-form legend {
    width: 100%;
    margin-top: 0;
    margin-bottom: 10px;
  }
}
.entry-form legend.must::after {
  content: "必須";
  display: inline-block;
  font-size: clamp(0.6875rem, 0.59rem + 0.407vw, 0.875rem);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
  color: var(--white);
  background-color: var(--main-color);
  border-radius: var(--radius-full);
  padding: 0.15em 1.5em 0.25em;
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 979px) {
  .entry-form legend.must::after {
    position: static;
    margin-left: 12px;
    translate: 0 -0.1em;
  }
}
.entry-form legend span {
  display: block;
  font-weight: var(--weight-medium);
  font-size: clamp(0.6875rem, 0.59rem + 0.407vw, 0.875rem);
  margin-top: 0.5em;
}
@media (max-width: 979px) {
  .entry-form legend span {
    display: inline-block;
    margin-left: 0.2em;
  }
}
.entry-form fieldset:has(.wpcf7-checkbox, .wpcf7-radio) legend {
  margin-top: 0;
}
.entry-form .field {
  width: calc(100% - 230px);
  padding-left: 50px;
}
@media (max-width: 979px) {
  .entry-form .field {
    width: 100%;
    padding-left: 0;
  }
}
.entry-form input[type=text],
.entry-form input[type=email],
.entry-form input[type=tel],
.entry-form textarea,
.entry-form select {
  width: 100%;
  background-color: var(--white);
  border: 1px solid #A5A5A5;
  border-radius: var(--radius-sm);
  padding: 0.6em 1.3em;
  font-size: 1rem;
  line-height: var(--line-height-normal);
}
@media (max-width: 599px) {
  .entry-form input[type=text],
  .entry-form input[type=email],
  .entry-form input[type=tel],
  .entry-form textarea,
  .entry-form select {
    padding: 0.6em 1em;
  }
}
.entry-form input[type=text]::-moz-placeholder, .entry-form input[type=email]::-moz-placeholder, .entry-form input[type=tel]::-moz-placeholder, .entry-form textarea::-moz-placeholder, .entry-form select::-moz-placeholder {
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  color: #ccc;
}
.entry-form input[type=text]::placeholder,
.entry-form input[type=email]::placeholder,
.entry-form input[type=tel]::placeholder,
.entry-form textarea::placeholder,
.entry-form select::placeholder {
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  color: #ccc;
}
.entry-form input[type=text]:focus,
.entry-form input[type=email]:focus,
.entry-form input[type=tel]:focus,
.entry-form textarea:focus,
.entry-form select:focus {
  background-color: var(--base-color);
}
.entry-form textarea {
  display: block;
  min-height: 225px;
  resize: vertical;
}
.entry-form label {
  display: flex;
  align-items: center;
  gap: 0.45em;
  cursor: pointer;
}
.entry-form label img {
  width: 100%;
  border: 2px solid var(--border-primary);
  border-radius: var(--radius-sm);
  margin-bottom: 0.5em;
}
@media (max-width: 599px) {
  .entry-form label img {
    margin-bottom: 0.2em;
  }
}
.entry-form input[type=radio] {
  display: grid;
  place-content: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid var(--gray);
  border-radius: 50%;
  background-color: var(--white);
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.entry-form input[type=radio]::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-color: var(--main-color);
  border-radius: 50%;
  opacity: 0;
}
.entry-form input[type=radio]:checked::after {
  opacity: 1;
}
.entry-form select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-image: url("../img/common/select.svg");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 12px;
  padding-right: 40px;
  color: var(--black);
  min-height: 50px;
}
@media (max-width: 599px) {
  .entry-form select {
    background-position: right 16px center;
    padding-right: 40px;
    font-size: 12px;
  }
}
.entry-form .notice {
  display: block;
  margin-top: clamp(1.25rem, 0.59rem + 2.71vw, 2.5rem);
  font-size: clamp(0.625rem, 0.56rem + 0.271vw, 0.75rem);
  letter-spacing: 0.05em;
  line-height: var(--line-height-relaxed);
}
.entry-form .confirm {
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  letter-spacing: 0.05em;
  line-height: var(--line-height-relaxed);
  text-align: center;
  margin-top: clamp(2.25rem, 1.99rem + 1.084vw, 2.75rem);
}
.entry-form .confirm a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.entry-form .confirm a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .entry-form .confirm a:hover {
    text-decoration: none;
  }
}
.entry-form .submit {
  margin-top: clamp(1.875rem, 1.41rem + 1.897vw, 2.75rem);
  width: 100%;
  max-width: clamp(15rem, 8.72rem + 25.745vw, 26.875rem);
  margin-inline: auto;
  position: relative;
}
.entry-form .submit input[type=submit] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  margin: 0;
  width: 100%;
  display: block;
  color: var(--white);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-weight: 500;
  text-align: center;
  border-radius: var(--radius-full);
  background-color: var(--main-color);
  padding: 1.8em;
  transition: opacity 0.2s ease-in-out;
}
.entry-form .submit input[type=submit]:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .entry-form .submit input[type=submit]:hover {
    opacity: 0.7;
  }
}
@media (max-width: 599px) {
  .entry-form .submit input[type=submit] {
    padding: 1.2em;
  }
}
.entry-form .submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 24px;
  margin: 0;
  translate: 0 -50%;
}
.entry-form .wpcf7-form-control-wrap {
  display: block;
}
.entry-form .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
  margin-top: clamp(0.75rem, 0.49rem + 1.084vw, 1.25rem);
}
.entry-form .wpcf7-list-item {
  margin: 0;
}
.entry-form .wpcf7-not-valid-tip {
  font-size: clamp(0.75rem, 0.68rem + 0.271vw, 0.875rem);
  margin-top: 0.5em;
}
.entry-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}
.entry-form .wpcf7-checkbox {
  display: block;
}
.entry-form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
}
.entry-form .wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item {
  margin-top: clamp(0.75rem, 0.49rem + 1.084vw, 1.25rem);
}
.entry-form .fieldset-custom .wpcf7-checkbox {
  margin-top: 0;
}
.entry-form .fieldset-custom .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 0.45em;
}
.entry-form .fieldset-custom .wpcf7-list-item span {
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
}

.using-mouse .form input:focus-visible, .using-mouse .form textarea:focus-visible, .using-mouse .form select:focus-visible {
  outline: none;
}

.wp-block-heading.is-style-heading-border {
  font-size: clamp(1.125rem, 0.93rem + 0.813vw, 1.5rem);
  font-weight: 700;
  line-height: 1.75;
  color: var(--main-color);
  border-top: 2px solid var(--main-color);
  border-bottom: 2px solid var(--main-color);
  padding: 0.5em 0;
  margin-top: 2em;
  margin-bottom: 1.2em;
}

.wp-block-heading.is-style-heading-band {
  position: relative;
  font-size: clamp(0.9375rem, 0.84rem + 0.407vw, 1.125rem);
  font-weight: 700;
  line-height: 1.75;
  color: var(--main-color);
  background-color: var(--white);
  padding: 0.25em 1em;
  padding-left: 1.5em;
  margin-top: 2.5em;
  margin-bottom: 1.5em;
}
.wp-block-heading.is-style-heading-band::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 4px;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

:where(ol.wp-block-list) {
  list-style: decimal;
}

:where(ul.wp-block-list) {
  list-style: disc;
}

.editor-styles-wrapper {
  background-color: var(--base-color);
  color: var(--black);
  font-size: clamp(0.875rem, 0.81rem + 0.271vw, 1rem);
  font-family: var(--family-primary);
  font-weight: 500;
  line-height: 1.88;
  letter-spacing: 0;
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-autospace: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.editor-styles-wrapper .wp-block-post-content *,
.editor-styles-wrapper .wp-block-post-content *::before,
.editor-styles-wrapper .wp-block-post-content *::after {
  box-sizing: border-box;
}

.wp-block-post-title {
  font-family: var(--family-primary);
  font-weight: 700;
  margin-bottom: 80px;
}

.wp-block-post-content {
  font-weight: 500;
  line-height: 1.88;
}
.wp-block-post-content img {
  display: inline;
}

:root .wp-block-image {
  margin-block-start: clamp(1.875rem, 0.88rem + 4.065vw, 3.75rem);
  margin-block-end: clamp(1.875rem, 0.88rem + 4.065vw, 3.75rem);
}

:root :where(.is-layout-flow) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-flow) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-flow) > * {
  margin-block-start: 1.5em;
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-constrained) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > * {
  margin-block-start: 1.5em;
  margin-block-end: 0;
}/*# sourceMappingURL=style.css.map */
