@charset "UTF-8";
/* min-width用 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

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

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul:not(.wp-block-list), ol:not(.wp-block-list)) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

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

html {
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #1B3348;
  line-height: 1.6;
  background: #FFFFFF;
}

:where(section p) {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
}
:where(section p) *,
:where(section p) *::before,
:where(section p) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

b,
strong {
  font-weight: 700;
}

img {
  max-width: 100%;
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: #1B3348;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a[href*="tel:"] {
  text-decoration: none;
}
@media (min-width: 600px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}

.--no-link {
  pointer-events: none;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("../fonts/eot/LINESeedJP_TTF_Rg.eot"); /* IE用 */
  src: url("../fonts/eot/LINESeedJP_TTF_Rg.eot?#iefix") format("embedded-opentype"), url("../fonts/woff2/LINESeedJP_OTF_Rg.woff2") format("woff2"), url("../fonts/woff/LINESeedJP_OTF_Rg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "LINESeedJP";
  src: url("../fonts/eot/LINESeedJP_TTF_Bd.eot"); /* IE用 */
  src: url("../fonts/eot/LINESeedJP_TTF_Bd.eot?#iefix") format("embedded-opentype"), url("../fonts/woff2/LINESeedJP_OTF_Bd.woff2") format("woff2"), url("../fonts/woff/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@-webkit-keyframes loop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -6784px 0;
  }
}
@keyframes loop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -6784px 0;
  }
}
.js-scroll {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  will-change: opacity, transform;
}

.l-header {
  width: 100%;
  min-height: 72px;
  margin: 0 auto;
  padding: 0 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 5;
  position: fixed;
  top: 0;
  left: 0;
}
@media (min-width: 980px) {
  .l-header {
    min-height: 132px;
    border-bottom: 1px solid #D9E1E3;
  }
}
.l-header::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-backdrop-filter: blur(20px) brightness(1.3);
          backdrop-filter: blur(20px) brightness(1.3);
  z-index: -1;
  border: 1px solid #FFFFFF;
  border-radius: 0 0 8px 8px;
  -webkit-box-shadow: 0 12px 56px rgba(8, 32, 69, 0.2);
          box-shadow: 0 12px 56px rgba(8, 32, 69, 0.2);
  -webkit-box-shadow: inset 0 0 12px rgba(8, 32, 69, 0.2), 0 12px 56px rgba(8, 32, 69, 0.2);
          box-shadow: inset 0 0 12px rgba(8, 32, 69, 0.2), 0 12px 56px rgba(8, 32, 69, 0.2);
}
@media (min-width: 980px) {
  .l-header::before {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.l-header__inner {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 0 24px;
  position: relative;
}
.l-header__logo {
  width: min(100%, 163px);
}
@media (min-width: 980px) {
  .l-header__logo {
    width: min(19%, 257px);
  }
}
.l-header__logo::before {
  content: "";
  width: 100%;
  height: 10px;
  background: url(../images/common/img_group-company.svg) no-repeat left center/156px auto;
  margin-bottom: 8px;
  display: block;
}
@media (min-width: 980px) {
  .l-header__logo::before {
    display: none;
  }
}
.l-header__logo-link {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 7;
  --max-font-size: 18;
  color: #296CEB;
  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;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 12px;
}
.l-header__logo-link *,
.l-header__logo-link *::before,
.l-header__logo-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__logo-link img {
  width: 120px;
}
@media (min-width: 980px) {
  .l-header__logo-link img {
    width: auto;
  }
}
@media (min-width: 1280px) {
  .l-header__logo-link {
    gap: 0 24px;
  }
}
.l-header__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
  height: 100%;
}
.l-header__group-logo {
  display: none;
}
@media (min-width: 980px) {
  .l-header__group-logo {
    display: block;
  }
}
.l-header__nav {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  overflow-y: auto;
}
@media (min-width: 980px) {
  .l-header__nav {
    width: auto;
    height: auto;
    opacity: 1;
    visibility: visible;
    position: relative;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
    overflow: inherit;
  }
}
@media (min-width: 1280px) {
  .l-header__nav {
    gap: 32px;
  }
}
.is-open .l-header__nav {
  width: 100vw;
  height: 100dvh;
  margin: 0 calc(50% - 50vw);
  padding: 100px 18px 50px 18px;
  background: #F8F8F8;
  opacity: 1;
  visibility: visible;
  bottom: auto;
  top: 0;
  z-index: -2;
}
@media (min-width: 980px) {
  .is-open .l-header__nav {
    width: initial;
    height: auto;
    margin: 0;
    padding: 0;
    background: initial;
    z-index: 3;
  }
}
.l-header__nav-list {
  margin-top: 40px;
  font-size: 12px;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 980px) {
  .l-header__nav-list {
    font-size: 14px;
  }
}
.l-header__nav-list::before {
  content: "";
  width: 100vw;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  background: #D0D2D3;
}
@media (min-width: 980px) {
  .l-header__nav-list {
    -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;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
    gap: 16px;
  }
  .l-header__nav-list::before {
    display: none;
  }
}
@media (min-width: 1280px) {
  .l-header__nav-list {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 24px;
  }
}
.l-header__nav-item {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 0 24px;
  border-bottom: 1px solid #D0D2D3;
}
@media (min-width: 980px) {
  .l-header__nav-item {
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    white-space: nowrap;
  }
}
.l-header__nav-item.is-active {
  background: #FFFFFF;
  padding-bottom: 24px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 980px) {
  .l-header__nav-item a:hover {
    color: #296CEB;
  }
}
@media (-ms-high-contrast: none) and (min-width: 980px), (-ms-high-contrast: active) and (min-width: 980px) {
  .l-header__nav-item a:hover {
    color: #296CEB;
  }
}
.l-header__nav-item.--news a {
  padding: 24px 0;
  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;
  background: -webkit-linear-gradient(55deg, rgb(208, 210, 211) 0%, rgb(208, 210, 211) 100%);
  background: linear-gradient(35deg, rgb(208, 210, 211) 0%, rgb(208, 210, 211) 100%);
  background-repeat: no-repeat;
  background-position: center right 50px;
  background-size: 1px calc(100% - 48px);
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
  position: relative;
}
@media (min-width: 980px) {
  .l-header__nav-item.--news a {
    padding: 0;
    background: none;
  }
}
.l-header__nav-item.--news a::before {
  content: attr(data-en);
  font-size: 28px;
  color: #296CEB;
  line-height: 1;
  width: 100%;
  display: block;
}
@media (min-width: 980px) {
  .l-header__nav-item.--news a::before {
    display: none;
  }
}
.l-header__nav-item.--news a::after {
  content: "";
  width: 24px;
  aspect-ratio: 1/1;
  background-color: #296CEB;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_button-arrow_sp.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/common/ic_button-arrow_sp.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_button-arrow_sp.svg);
          mask-image: linear-gradient(#000, #000), url(../images/common/ic_button-arrow_sp.svg);
  -webkit-mask-repeat: no-repeat, no-repeat;
          mask-repeat: no-repeat, no-repeat;
  -webkit-mask-position: 0 0, center center;
          mask-position: 0 0, center center;
  -webkit-mask-size: 100% 100%, 10px 10px;
          mask-size: 100% 100%, 10px 10px;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  border-radius: 50%;
  position: absolute;
  right: 0;
}
@media (min-width: 980px) {
  .l-header__nav-item.--news a::after {
    display: none;
  }
}
.l-header__nav-item.--contact {
  font-size: 16px;
  width: 100%;
  margin: 40px 0 0 0;
  padding: 0;
  border: none;
}
@media (min-width: 980px) {
  .l-header__nav-item.--contact {
    font-size: 14px;
    margin: 0;
  }
}
.l-header__nav-item.--contact a {
  padding: 16px 20px;
  background: #FFFFFF;
  border: 1px solid #D0D2D3;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (min-width: 980px) {
  .l-header__nav-item.--contact a {
    background: none;
    padding: 0;
    border: none;
  }
}
.l-header__nav-item.--contact a::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/7;
  -webkit-mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
  background: -webkit-gradient(linear, left top, right top, from(rgba(218, 228, 247, 0.24)), color-stop(50%, rgb(41, 108, 235)), to(rgba(218, 228, 247, 0.24)));
  background: -webkit-linear-gradient(left, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
  background: linear-gradient(90deg, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
}
@media (min-width: 980px) {
  .l-header__nav-item.--contact a::before {
    display: none;
  }
}
.l-header__nav-item.--contact a::after {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  margin-left: auto;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="9" viewBox="0 0 10 9"><path d="M4.162,7.761l2.465-2.4H0V3.635H6.626l-2.464-2.4L5.372,0,10,4.5,5.372,9Z" fill="%23FFFFFF"/></svg>') no-repeat center center/10px auto;
  background-color: #296CEB;
  border-radius: 50%;
}
@media (min-width: 980px) {
  .l-header__nav-item.--contact a::after {
    display: none;
  }
}
.l-header__nav-parent {
  padding: 24px 0;
  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;
  background: -webkit-linear-gradient(55deg, rgb(208, 210, 211) 0%, rgb(208, 210, 211) 100%);
  background: linear-gradient(35deg, rgb(208, 210, 211) 0%, rgb(208, 210, 211) 100%);
  background-repeat: no-repeat;
  background-position: center right 50px;
  background-size: 1px calc(100% - 48px);
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
  position: relative;
  cursor: pointer;
}
.l-header__nav-parent::before {
  content: attr(data-en);
  font-size: 28px;
  color: #296CEB;
  line-height: 1;
  width: 100%;
  display: block;
}
.l-header__nav-parent::after {
  content: "";
  width: 24px;
  aspect-ratio: 1/1;
  background-color: #296CEB;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_plus.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/common/ic_plus.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_plus.svg);
          mask-image: linear-gradient(#000, #000), url(../images/common/ic_plus.svg);
  -webkit-mask-repeat: no-repeat, no-repeat;
          mask-repeat: no-repeat, no-repeat;
  -webkit-mask-position: 0 0, center center;
          mask-position: 0 0, center center;
  -webkit-mask-size: 100% 100%, 10px 10px;
          mask-size: 100% 100%, 10px 10px;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  border-radius: 50%;
  position: absolute;
  right: 0;
}
@media (min-width: 980px) {
  .l-header__nav-parent {
    padding: 0;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
  .l-header__nav-parent::before {
    display: none;
  }
  .l-header__nav-parent::after {
    width: 10px;
    aspect-ratio: 1/1;
    border-radius: 0;
    background-color: #1B3348;
    -webkit-mask-image: url(../images/common/ic_plus.svg);
            mask-image: url(../images/common/ic_plus.svg);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-composite: inherit;
            mask-composite: inherit;
    position: static;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 980px) {
  .l-header__nav-parent:hover {
    color: #296CEB;
  }
  .l-header__nav-parent:hover::after {
    background-color: #296CEB;
  }
}
@media (-ms-high-contrast: none) and (min-width: 980px), (-ms-high-contrast: active) and (min-width: 980px) {
  .l-header__nav-parent:hover {
    color: #296CEB;
  }
  .l-header__nav-parent:hover::after {
    background-color: #296CEB;
  }
}
@media (min-width: 980px) {
  .l-header__nav-parent.is-active::after {
    -webkit-mask-image: url(../images/common/ic_minus.svg);
            mask-image: url(../images/common/ic_minus.svg);
  }
}
.is-active .l-header__nav-parent::after {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_minus.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/common/ic_minus.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/common/ic_minus.svg);
          mask-image: linear-gradient(#000, #000), url(../images/common/ic_minus.svg);
}
.l-header__subnav {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
  position: relative;
}
@media (min-width: 980px) {
  .l-header__subnav {
    width: min(100%, 238px);
    max-height: inherit;
    padding: 24px;
    background: #FFFFFF;
    border-radius: 16px;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    bottom: 0;
    -webkit-box-shadow: 0 12px 56px rgba(27, 51, 72, 0.16);
            box-shadow: 0 12px 56px rgba(27, 51, 72, 0.16);
    -webkit-transform: translateY(calc(100% + 48px));
            transform: translateY(calc(100% + 48px));
    -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
    transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  }
}
.l-header__subnav.is-open {
  opacity: 1;
  visibility: visible;
}
.l-header__subnav-title {
  display: none;
}
@media (min-width: 980px) {
  .l-header__subnav-title {
    font-size: 12px;
    color: #7A8C9F;
    padding-bottom: 8px;
    border-bottom: 1px solid #D0D2D3;
    display: block;
  }
}
.l-header__subnav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media (min-width: 980px) {
  .l-header__subnav-list {
    display: block;
  }
}
.l-header__subnav-item {
  font-size: 14px;
}
@media (min-width: 980px) {
  .l-header__subnav-item {
    font-size: 16px;
    margin-top: 16px;
    white-space: nowrap;
  }
}
.l-header__subnav-link {
  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: 8px;
}
.l-header__subnav-link::before {
  content: "";
  min-width: 5px;
  aspect-ratio: 5/8;
  background: url(../images/common/ic_nav-arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 980px) {
  .l-header__subnav-link::before {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__subnav-link:hover {
    color: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__subnav-link:hover {
    color: #296CEB;
  }
}
.l-header__subnav-link.--blank::after {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%231B3348"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%231B3348"/></g></svg>') no-repeat no-repeat center center/100% auto;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__subnav-link.--blank:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%23296CEB"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%23296CEB"/></g></svg>') no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__subnav-link.--blank:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%23296CEB"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%23296CEB"/></g></svg>') no-repeat center center/100% auto;
  }
}
.l-header__recruit {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
.l-header__recruit *,
.l-header__recruit *::before,
.l-header__recruit *::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: 980px) {
  .l-header__recruit {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media (min-width: 1280px) {
  .l-header__recruit {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 16px;
  }
}
.l-header__recruit-item a {
  color: #FFFFFF;
  min-width: 130px;
  padding: 18px 24px;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 8px;
}
@media (min-width: 980px) {
  .l-header__recruit-item a {
    padding: 8px;
    border-radius: 999px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (min-width: 1280px) {
  .l-header__recruit-item a {
    min-width: 160px;
  }
}
.l-header__recruit-item a::after {
  content: "";
  width: 11px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_blank_line.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_blank_line.svg) no-repeat center center/100% auto;
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__recruit-new-graduate {
  background: #296CEB;
  border: 1px solid #296CEB;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__recruit-new-graduate:hover {
    color: #296CEB;
    background: #FFFFFF;
    border-color: #296CEB;
  }
  .l-header__recruit-new-graduate:hover::after {
    background: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__recruit-new-graduate:hover {
    color: #296CEB;
    background: #FFFFFF;
    border-color: #296CEB;
  }
  .l-header__recruit-new-graduate:hover::after {
    background: #296CEB;
  }
}
.l-header__recruit-career {
  background: #39BA9D;
  border: 1px solid #39BA9D;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__recruit-career:hover {
    color: #39BA9D;
    background: #FFFFFF;
    border-color: #39BA9D;
  }
  .l-header__recruit-career:hover::after {
    background: #39BA9D;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__recruit-career:hover {
    color: #39BA9D;
    background: #FFFFFF;
    border-color: #39BA9D;
  }
  .l-header__recruit-career:hover::after {
    background: #39BA9D;
  }
}
.l-header__company {
  display: block;
}
@media (min-width: 980px) {
  .l-header__company {
    display: none;
  }
}
.l-header__company-nav {
  font-size: 12px;
  margin-top: 32px;
  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: 32px;
}
.l-header__company-link {
  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: 8px;
}
.l-header__company-link::after {
  content: "";
  min-width: 11px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
}
.l-header__copyright {
  font-size: 11px;
  color: #7A8C9F;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  margin-top: 30px;
  display: block;
}
.l-header__menu {
  width: 32px;
  height: 18px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (min-width: 980px) {
  .l-header__menu {
    display: none;
  }
}
.l-header__menu.is-active .l-header__menu-bar:nth-child(1) {
  -webkit-transform: rotate(-30deg) translateY(9px);
          transform: rotate(-30deg) translateY(9px);
}
.l-header__menu.is-active .l-header__menu-bar:nth-child(2) {
  opacity: 0;
}
.l-header__menu.is-active .l-header__menu-bar:nth-child(3) {
  width: 32px;
  -webkit-transform: rotate(30deg) translateY(-10px);
          transform: rotate(30deg) translateY(-10px);
}
.l-header__menu-bar {
  width: 32px;
  height: 2px;
  background: #1B3348;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__menu-bar:nth-child(2) {
  width: 24px;
}
.l-header__menu-bar:nth-child(3) {
  width: 16px;
}

.l-footer {
  margin-top: 32px;
  padding: 40px 0;
  border-top: 1px solid #D0D2D3;
}
@media (min-width: 980px) {
  .l-footer {
    margin-top: 80px;
    padding: 72px 0 80px 0;
  }
}
.l-footer__logo {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #296CEB;
  width: min(100%, 350px);
  margin: 0 auto;
  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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
.l-footer__logo *,
.l-footer__logo *::before,
.l-footer__logo *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__logo img {
  width: min(100%, 200px);
}
@media (min-width: 980px) {
  .l-footer__logo {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0;
    gap: 0 32px;
  }
  .l-footer__logo img {
    width: min(100%, 340px);
  }
}
.l-footer__nav {
  margin-top: 48px;
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (min-width: 980px) {
  .l-footer__nav {
    margin-top: 40px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-footer__copmany {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 980px) {
  .l-footer__copmany {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.l-footer__copmany-nav {
  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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media (min-width: 600px) {
  .l-footer__copmany-nav {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 40px;
  }
}
.l-footer__copmany-link {
  font-size: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media (min-width: 980px) {
  .l-footer__copmany-link {
    font-size: 14px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__copmany-link:hover {
    color: #296CEB;
  }
  .l-footer__copmany-link:hover::after {
    background: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__copmany-link:hover {
    color: #296CEB;
  }
  .l-footer__copmany-link:hover::after {
    background: #296CEB;
  }
}
.l-footer__copmany-link::after {
  content: "";
  width: 11px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
  background: #1B3348;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-footer__sitemap {
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 980px) {
  .l-footer__sitemap {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.l-footer__sitemap-nav {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 48px;
}
@media (min-width: 600px) {
  .l-footer__sitemap-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}
@media (min-width: 980px) {
  .l-footer__sitemap-nav {
    gap: 0 48px;
  }
}
@media (min-width: 1280px) {
  .l-footer__sitemap-nav {
    gap: 0 88px;
  }
}
.l-footer__sitemap-list {
  font-weight: 700;
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .l-footer__sitemap-list {
    margin-top: 24px;
  }
}
.l-footer__sitemap-title {
  font-size: 12px;
  color: #7A8C9F;
  font-weight: 700;
}
@media (min-width: 600px) {
  .l-footer__sitemap-title {
    font-size: 14px;
  }
}
.l-footer__sitemap-link {
  font-size: 14px;
  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: 8px;
}
@media (min-width: 600px) {
  .l-footer__sitemap-link {
    font-size: 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__sitemap-link:hover {
    color: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__sitemap-link:hover {
    color: #296CEB;
  }
}
.l-footer__sitemap-link::before {
  content: "";
  width: 7px;
  height: 9px;
  background: url(../images/common/ic_nav-arrow.svg) no-repeat center center/100% auto;
}
.l-footer__copyright {
  font-size: 11px;
  color: #7A8C9F;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 400;
  text-align: center;
  margin-top: 30px;
  display: block;
}
@media (min-width: 600px) {
  .l-footer__copyright {
    font-size: 14px;
    text-align: left;
    margin-top: 16px;
    display: inline-block;
  }
}

.l-container {
  overflow: clip;
  position: relative;
}
.l-container:after {
  content: "";
  width: 100%;
  height: 100dvh;
  background: #1B3348;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-container.is-open::after {
  opacity: 0.24;
  visibility: visible;
}

@media (min-width: 980px) {
  .l-main {
    padding-top: 132px;
  }
}

.l-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 72px;
}
@media (min-width: 980px) {
  .l-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 1280px) {
  .l-column {
    gap: 0 112px;
  }
}
.l-column__main {
  width: 100%;
}
@media (min-width: 980px) {
  .l-column__main {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
  }
}
.l-column__sidenav {
  width: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 980px) {
  .l-column__sidenav {
    width: min(100%, 240px);
    position: -webkit-sticky;
    position: sticky;
    top: 150px;
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.l-column__sidenav::before {
  content: "Index";
  font-size: 18px;
  color: #296CEB;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding-bottom: 16px;
  border-bottom: 1px solid #D0D2D3;
  display: block;
}
.l-column__sidenav ul {
  font-size: 14px;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 600px) {
  .l-column__sidenav ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 980px) {
  .l-column__sidenav ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.l-column__sidenav ul li {
  margin-top: 16px;
}
@media (min-width: 980px) {
  .l-column__sidenav ul li {
    margin-top: 24px;
  }
}
.l-column__sidenav ul li a {
  color: #7A8C9F;
  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: 8px;
}
.l-column__sidenav ul li a::before {
  content: "";
  width: 7px;
  height: 9px;
  background: url(../images/common/ic_nav-arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 980px) {
  .l-column__sidenav ul li a::before {
    display: none;
  }
}
.l-column .current a {
  color: #1B3348;
  font-weight: bold;
}

.l-recruit {
  margin-top: 56px;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
@media (min-width: 980px) {
  .l-recruit {
    margin-top: 160px;
  }
}
.l-recruit__inner {
  padding: 40px 0;
  background: url(../images/common/bg_recruit.png) no-repeat center center/cover;
  border-radius: 16px;
}
@media (min-width: 600px) {
  .l-recruit__inner {
    padding: 72px 0;
  }
}
.l-recruit__title {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-recruit__title span::before {
  -webkit-mask: url("../images/common/ic_sec-title.svg") no-repeat center center/100% auto;
          mask: url("../images/common/ic_sec-title.svg") no-repeat center center/100% auto;
  background: #296CEB;
}
.l-recruit__caption {
  text-align: left;
  line-height: 2;
  margin: 24px auto 0 auto;
  padding: 0 24px;
  display: table;
}
@media (min-width: 600px) {
  .l-recruit__caption {
    margin-top: 40px;
    text-align: center;
    display: block;
  }
}
.l-recruit__links {
  width: min(100% - 48px, 920px);
  margin: 40px auto 0 auto;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .l-recruit__links {
    margin-top: 64px;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media (min-width: 980px) {
  .l-recruit__links {
    gap: 32px 40px;
  }
}
.l-recruit__links .--col1 {
  grid-column: 1/-1;
}
.l-recruit__link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  color: #FFFFFF;
  font-weight: 700;
  padding: 16px;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
}
.l-recruit__link *,
.l-recruit__link *::before,
.l-recruit__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: 600px) {
  .l-recruit__link {
    padding: 16px 24px;
  }
}
.l-recruit__link::after {
  content: "";
  width: 12px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%23FFFFFF"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%23FFFFFF"/></g></svg>') no-repeat no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .l-recruit__link::after {
    width: 16px;
  }
}
.l-recruit__link.--new-graduate {
  background: #296CEB;
  border: 1px solid #296CEB;
}
@media (hover: hover) and (pointer: fine) {
  .l-recruit__link.--new-graduate:hover {
    color: #296CEB;
    background: #FFFFFF;
  }
  .l-recruit__link.--new-graduate:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%23296CEB"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%23296CEB"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-recruit__link.--new-graduate:hover {
    color: #296CEB;
    background: #FFFFFF;
  }
  .l-recruit__link.--new-graduate:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%23296CEB"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%23296CEB"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}
.l-recruit__link.--career {
  background: #39BA9D;
  border: 1px solid #39BA9D;
}
@media (hover: hover) and (pointer: fine) {
  .l-recruit__link.--career:hover {
    color: #39BA9D;
    background: #FFFFFF;
  }
  .l-recruit__link.--career:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%2339BA9D"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%2339BA9D"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-recruit__link.--career:hover {
    color: #39BA9D;
    background: #FFFFFF;
  }
  .l-recruit__link.--career:hover::after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g transform="translate(0.5 0.5)"><g transform="translate(3.159 0)"><g transform="translate(0 0)"><path d="M15.9,7.207h-1V.953H8.564v-1H15.9Z" transform="translate(-8.564 -0.453)" fill="%2339BA9D"/></g></g><path d="M-.5-.5H8.439V8.439H-.5ZM7.439.5H.5V7.439H7.439Z" transform="translate(0 2.061)" fill="%2339BA9D"/></g></svg>') no-repeat no-repeat center center/100% auto;
  }
}
.l-recruit__contact {
  padding: 16px;
  background: #FFFFFF;
  border: 1px solid #D0D2D3;
  border-radius: 8px;
  display: grid;
  grid-template-columns: auto 32px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .l-recruit__contact {
    padding: 32px 40px;
    grid-template-columns: auto 40px;
  }
}
.l-recruit__contact::after {
  content: "";
  width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/12px auto;
  background-color: #296CEB;
  border-radius: 50%;
}
@media (min-width: 600px) {
  .l-recruit__contact::after {
    background-size: 16px auto;
    width: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-recruit__contact:hover {
    border-color: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-recruit__contact:hover {
    border-color: #296CEB;
  }
}
.l-recruit__contact-text {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 14;
}
.l-recruit__contact-text *,
.l-recruit__contact-text *::before,
.l-recruit__contact-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-recruit__contact-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  font-weight: 700;
  margin-bottom: 8px;
  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: 0 4px;
}
.l-recruit__contact-title *,
.l-recruit__contact-title *::before,
.l-recruit__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));
}
.l-recruit__contact-title::before {
  content: "";
  width: 20px;
  height: 10px;
  -webkit-mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
  background: -webkit-gradient(linear, left top, right top, from(rgba(218, 228, 247, 0.24)), color-stop(50%, rgb(41, 108, 235)), to(rgba(218, 228, 247, 0.24)));
  background: -webkit-linear-gradient(left, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
  background: linear-gradient(90deg, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
}

.c-container {
  width: 100%;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 980px) {
  .c-container {
    width: min(100% - 48px, 1280px);
  }
}

.c-breadcrumbs {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
@media (min-width: 980px) {
  .c-breadcrumbs {
    width: min(100% - 48px, 1920px);
  }
}
@media (min-width: 1920px) {
  .c-breadcrumbs {
    width: min(100% - 64px, 1920px);
  }
}

.c-breadcrumbs-list {
  margin-top: 100px;
  padding: 0 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  white-space: nowrap;
  overflow-x: scroll;
  scrollbar-width: none;
  z-index: 1;
}
@media (min-width: 980px) {
  .c-breadcrumbs-list {
    margin: 0;
    padding: 0 48px;
    position: absolute;
    top: 60px;
  }
}

.c-breadcrumbs-item {
  font-size: 12px;
  font-weight: 400;
  color: #7A8C9F;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
.c-breadcrumbs-item a {
  font-size: 12px;
  color: #1B3348;
  text-decoration: underline;
}
.c-breadcrumbs-item a::after {
  content: "";
  width: 8px;
  height: 1px;
  margin: 0 16px;
  background: #1B3348;
  display: inline-block;
  vertical-align: middle;
}
.c-breadcrumbs-item.--current {
  color: #FFFFFF;
  padding: 2px 4px;
  background: #1B3348;
  border-radius: 2px;
}
.c-breadcrumbs-item br {
  display: none;
}

.--interview .c-breadcrumbs-item a {
  color: #FFFFFF;
}
.--interview .c-breadcrumbs-item a::after {
  -webkit-mask: url(../img/common/ic_arrow_breadcrumbs.svg) no-repeat center center/100% auto;
          mask: url(../img/common/ic_arrow_breadcrumbs.svg) no-repeat center center/100% auto;
  background: #FFFFFF;
}
.--interview .c-breadcrumbs-item.--current {
  color: #BCC8D9;
}

.c-sec-title {
  --viewport-from: 768;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 56;
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.c-sec-title *,
.c-sec-title *::before,
.c-sec-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-sec-title__en {
  --viewport-from: 768;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #296CEB;
  line-height: 1.5;
  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: 16px;
}
.c-sec-title__en *,
.c-sec-title__en *::before,
.c-sec-title__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-sec-title__en:before {
  content: "";
  width: 18px;
  height: 10px;
  background: url("../images/common/ic_sec-title.svg") no-repeat center center/100% auto;
}

.c-sub-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-sub-title *,
.c-sub-title *::before,
.c-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));
}
.c-sub-title__en {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #296CEB;
  line-height: 1.3;
  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: 4px;
}
.c-sub-title__en *,
.c-sub-title__en *::before,
.c-sub-title__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-sub-title__en::before {
  content: "";
  width: 20px;
  height: 10px;
  -webkit-mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_sub-title.svg) no-repeat center center/100% auto;
  background: -webkit-gradient(linear, left top, right top, from(rgba(218, 228, 247, 0.24)), color-stop(50%, rgb(41, 108, 235)), to(rgba(218, 228, 247, 0.24)));
  background: -webkit-linear-gradient(left, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
  background: linear-gradient(90deg, rgba(218, 228, 247, 0.24) 0%, rgb(41, 108, 235) 50%, rgba(218, 228, 247, 0.24) 100%);
}

.c-button {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  color: #1B3348;
  font-weight: 700;
  min-width: 234px;
  margin: 0 auto;
  padding: 10px 10px 10px 32px;
  background: #FFFFFF;
  border: 1px solid #D0D2D3;
  border-radius: 999px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -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;
  gap: 40px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.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 (min-width: 600px) {
  .c-button {
    margin: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    color: #FFFFFF;
    background: #296CEB;
    border-color: #296CEB;
  }
  .c-button:hover::after {
    content: "";
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23296CEB"/></svg>') no-repeat center center/16px auto;
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button:hover {
    color: #FFFFFF;
    background: #296CEB;
    border-color: #296CEB;
  }
  .c-button:hover::after {
    content: "";
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23296CEB"/></svg>') no-repeat center center/16px auto;
    background-color: #FFFFFF;
  }
}
.c-button::after {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23FFFFFF"/></svg>') no-repeat center center/12px auto;
  background-color: #296CEB;
  border-radius: 50%;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 980px) {
  .c-button::after {
    min-width: 40px;
    background-size: 16px auto;
  }
}

/*------------------------------------
  loading
-------------------------------------*/
.p-home-loader {
  position: fixed;
  inset: 0;
  background: #fff;
  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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 100;
  opacity: 1;
  top: 0;
}

.p-home-loader__logo {
  width: min(100%, 200px);
  opacity: 0;
}
@media (min-width: 980px) {
  .p-home-loader__logo {
    width: min(100%, 254px);
  }
}

/*------------------------------------
  mv
-------------------------------------*/
.p-home-kv {
  height: 100dvh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 980px) {
  .p-home-kv {
    height: calc(100dvh - 132px);
  }
}
.p-home-kv.is-bg-change .p-home-kv__image::before {
  opacity: 1;
}
.p-home-kv.is-bg-change .p-home-kv__text {
  color: #FFFFFF;
  z-index: 1;
}
.p-home-kv__swiper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-kv__swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.p-home-kv__image {
  -webkit-transform: scale(0.1);
          transform: scale(0.1);
  opacity: 0;
  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;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-home-kv__image::before {
  content: "";
  width: 100%;
  height: 100%;
  background-blend-mode: multiply;
  background-size: cover, cover;
  background-position: center center;
  position: absolute;
  top: 0;
  opacity: 0;
  -webkit-transition: 0.5s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.5s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-kv__image::after {
  content: "";
  width: 87%;
  height: 83%;
  -webkit-mask-image: url("../images/home/mask_kv_vertical.svg");
          mask-image: url("../images/home/mask_kv_vertical.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;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  position: absolute;
  top: 14%;
}
@media (min-width: 600px) {
  .p-home-kv__image::after {
    width: 93%;
    height: 93%;
    -webkit-mask-image: url("../images/home/mask_kv.svg");
            mask-image: url("../images/home/mask_kv.svg");
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-position: center center;
            mask-position: center center;
    top: 25px;
  }
}
.p-home-kv__image.--image01::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv01.jpg");
  background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv01.jpg");
  background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv01.jpg");
}
@media (min-width: 600px) {
  .p-home-kv__image.--image01::before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv01.jpg");
    background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv01.jpg");
    background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv01.jpg");
  }
}
.p-home-kv__image.--image01::after {
  background: url(../images/home/img_kv01.jpg) no-repeat center center/cover;
}
@media (min-width: 600px) {
  .p-home-kv__image.--image01::after {
    background-image: url(../images/home/img_kv01.jpg);
  }
}
.p-home-kv__image.--image02::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv02.jpg");
  background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv02.jpg");
  background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv02.jpg");
}
@media (min-width: 600px) {
  .p-home-kv__image.--image02::before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv02.jpg");
    background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv02.jpg");
    background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv02.jpg");
  }
}
.p-home-kv__image.--image02::after {
  background: url(../images/home/img_kv02.jpg) no-repeat center center/cover;
}
@media (min-width: 600px) {
  .p-home-kv__image.--image02::after {
    background-image: url(../images/home/img_kv02.jpg);
  }
}
.p-home-kv__image.--image03::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv03.jpg");
  background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv03.jpg");
  background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv03.jpg");
}
@media (min-width: 600px) {
  .p-home-kv__image.--image03::before {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(185, 231, 255)), to(rgb(185, 231, 255))), url("../images/home/bg_kv03.jpg");
    background-image: -webkit-linear-gradient(top, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv03.jpg");
    background-image: linear-gradient(180deg, rgb(185, 231, 255) 0%, rgb(185, 231, 255) 100%), url("../images/home/bg_kv03.jpg");
  }
}
.p-home-kv__image.--image03::after {
  background: url(../images/home/img_kv03.jpg) no-repeat center center/cover;
}
@media (min-width: 600px) {
  .p-home-kv__image.--image03::after {
    background-image: url(../images/home/img_kv03.jpg);
  }
}
.p-home-kv__text {
  color: #1B3348;
  position: absolute;
  bottom: 32px;
  z-index: 111;
  left: 0;
  right: 0;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: color 0.5s cubic-bezier(0.12, 0, 0.39, 0);
  transition: color 0.5s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .p-home-kv__text {
    bottom: 80px;
  }
}
.p-home-kv__caption-en {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 32;
  line-height: 1;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-home-kv__caption-en *,
.p-home-kv__caption-en *::before,
.p-home-kv__caption-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-home-kv__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 64;
  font-weight: 700;
  margin-top: 8px;
}
.p-home-kv__caption *,
.p-home-kv__caption *::before,
.p-home-kv__caption *::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-news {
  padding: 64px 0 0 0;
}
@media (min-width: 980px) {
  .p-home-news {
    padding: 112px 0 0 0;
  }
}
.p-home-news__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 94px;
}
.p-home-news__textarea {
  width: 100%;
}
@media (min-width: 980px) {
  .p-home-news__textarea {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-home-news__list {
  width: 100%;
  margin-top: 32px;
  border-top: 1px solid #D0D2D3;
}
@media (min-width: 600px) {
  .p-home-news__list {
    width: auto;
  }
}
.p-home-news__item {
  border-bottom: 1px solid #D0D2D3;
}
.p-home-news__link {
  padding: 24px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 32px;
}
@media (min-width: 600px) {
  .p-home-news__link {
    padding: 40px 0;
    gap: 0 64px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-news__link:hover {
    background-color: rgba(41, 108, 235, 0.1);
    padding: 24px;
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 600px) {
  .p-home-news__link:hover {
    padding: 40px 24px;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-news__link:hover {
    background-color: rgba(41, 108, 235, 0.1);
    padding: 24px;
  }
}
@media (-ms-high-contrast: none) and (min-width: 600px), (-ms-high-contrast: active) and (min-width: 600px) {
  .p-home-news__link:hover {
    padding: 40px 24px;
  }
}
.p-home-news__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #7A8C9F;
  margin-top: 4px;
}
.p-home-news__date *,
.p-home-news__date *::before,
.p-home-news__date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-home-news__title *,
.p-home-news__title *::before,
.p-home-news__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__button {
  margin-top: 40px;
  text-align: center;
}
@media (min-width: 980px) {
  .p-home-news__button {
    text-align: left;
    margin-top: 64px;
  }
}
.p-home-news__no-posts {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
  height: 100%;
  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-home-news__no-posts *,
.p-home-news__no-posts *::before,
.p-home-news__no-posts *::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-slide {
  margin-top: 56px;
  background: url(../images/home/bg_slider.png) no-repeat center center/contain;
}
@media (min-width: 980px) {
  .p-home-slide {
    margin-top: 160px;
  }
}
.p-home-slide__inner {
  min-height: 226px;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}
@media (min-width: 600px) {
  .p-home-slide__inner {
    min-height: 326px;
  }
}
@media (min-width: 980px) {
  .p-home-slide__inner {
    min-height: 426px;
  }
}
.p-home-slide__track {
  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;
  white-space: nowrap;
  will-change: transform;
}
.p-home-slide__track img {
  height: 140px; /* 任意 */
  margin-right: 32px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.p-home-slide__track img:nth-child(odd) {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
}
@media (min-width: 600px) {
  .p-home-slide__track img {
    height: 240px;
    margin-right: 56px;
  }
}
@media (min-width: 980px) {
  .p-home-slide__track img {
    height: 340px;
    margin-right: 72px;
  }
}

.p-home-about {
  padding: 72px 0 0 0;
}
@media (min-width: 980px) {
  .p-home-about {
    padding: 160px 0 0 0;
  }
}
.p-home-about__caption {
  font-weight: 500;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-about__caption {
    margin-top: 40px;
  }
}
.p-home-about__list {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
}
@media (min-width: 600px) {
  .p-home-about__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 24px;
  }
}
@media (min-width: 980px) {
  .p-home-about__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 32px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-about__link:hover .p-home-about__image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
  }
  .p-home-about__link:hover .p-home-about__image::before {
    opacity: 1;
    visibility: visible;
  }
  .p-home-about__link:hover .p-home-about__title {
    color: #296CEB;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-about__link:hover .p-home-about__image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
  }
  .p-home-about__link:hover .p-home-about__image::before {
    opacity: 1;
    visibility: visible;
  }
  .p-home-about__link:hover .p-home-about__title {
    color: #296CEB;
  }
}
.p-home-about__image {
  border-radius: 8px;
  overflow: hidden;
  display: block;
  position: relative;
}
.p-home-about__image img {
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-about__image::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(127, 167, 243, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-about__title {
  --viewport-from: 980;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 700;
  margin-top: 16px;
  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: 0 24px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-about__title *,
.p-home-about__title *::before,
.p-home-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: 600px) {
  .p-home-about__title {
    margin-top: 24px;
  }
}
.p-home-about__title::after {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23296CEB"/></svg>') no-repeat no-repeat center center/12px auto;
  border: 1px solid #D0D2D3;
  border-radius: 50%;
}
@media (min-width: 980px) {
  .p-home-about__title::after {
    min-width: 40px;
    background-size: 16px auto;
  }
}

.p-home-work {
  padding: 72px 0 0 0;
}
@media (min-width: 980px) {
  .p-home-work {
    padding: 160px 0 0 0;
  }
}
.p-home-work__description {
  margin-top: 24px;
  position: relative;
}
@media (min-width: 980px) {
  .p-home-work__description {
    margin-top: 80px;
  }
}
.p-home-work__description-image {
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  display: block;
}
.p-home-work__description-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 600px) {
  .p-home-work__description-image img {
    min-height: 350px;
  }
}
.p-home-work__description-image::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(251deg, rgba(159, 255, 240, 0) 0%, rgba(94, 226, 237, 0.3) 42%, rgba(137, 228, 246, 0.65) 67%, rgb(97, 140, 222) 91%);
  background: linear-gradient(199deg, rgba(159, 255, 240, 0) 0%, rgba(94, 226, 237, 0.3) 42%, rgba(137, 228, 246, 0.65) 67%, rgb(97, 140, 222) 91%);
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-work__content {
  width: 100%;
}
@media (min-width: 600px) {
  .p-home-work__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: absolute;
    bottom: 0;
    padding: 24px;
  }
}
@media (min-width: 980px) {
  .p-home-work__content {
    padding: 48px;
  }
}
.p-home-work__textarea {
  width: 100%;
}
@media (min-width: 600px) {
  .p-home-work__textarea {
    width: min(100%, 400px);
  }
}
.p-home-work__button {
  text-align: center;
  margin-top: 24px;
}
.p-home-work__description-subtitle {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-work__description-subtitle {
    color: #FFFFFF;
  }
  .p-home-work__description-subtitle span {
    color: #FFFFFF;
  }
  .p-home-work__description-subtitle span::before {
    background: #FFFFFF;
  }
}
.p-home-work__description-caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-home-work__description-caption {
    color: #FFFFFF;
  }
}
.p-home-work__interview {
  margin-top: 64px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: relative;
  gap: 16px;
}
@media (min-width: 980px) {
  .p-home-work__interview {
    margin-top: 160px;
  }
}
.p-home-work__interview-button {
  width: 96px;
  height: 100%;
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 980px) {
  .p-home-work__interview-button {
    width: 128px;
  }
}
.p-home-work__interview-button .swiper-button-prev {
  width: 40px;
  height: 40px;
  background: #7A8C9F;
  border-radius: 50%;
  position: static;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  z-index: 1;
}
@media (min-width: 980px) {
  .p-home-work__interview-button .swiper-button-prev {
    width: 56px;
    height: 56px;
  }
}
.p-home-work__interview-button .swiper-button-next {
  width: 40px;
  height: 40px;
  aspect-ratio: 1/1;
  background: #7A8C9F;
  border-radius: 50%;
  position: static;
  z-index: 1;
}
@media (min-width: 980px) {
  .p-home-work__interview-button .swiper-button-next {
    width: 56px;
    height: 56px;
  }
}
.p-home-work__interview-button .swiper-button-next::after,
.p-home-work__interview-button .swiper-button-prev::after {
  content: "";
  width: 14px;
  aspect-ratio: 21/19;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14" viewBox="0 0 16 14"><path d="M7.283,12.653l4.965-4.714H0V6.06H12.245L7.283,1.346,8.629,0,16,7,8.629,14Z" fill="%23FFFFFF"/></svg>') no-repeat no-repeat center center/100% auto;
}
@media (min-width: 980px) {
  .p-home-work__interview-button .swiper-button-next::after,
  .p-home-work__interview-button .swiper-button-prev::after {
    width: 21px;
  }
}
.p-home-work__swiper {
  width: 100%;
  margin-top: 24px;
}
@media (min-width: 980px) {
  .p-home-work__swiper {
    margin-top: 64px;
  }
}
.p-home-work__swiper-image {
  position: relative;
}
.p-home-work__swiper-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
  padding: 4px 16px;
  background: #FFFFFF;
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: 24px;
}
.p-home-work__swiper-title *,
.p-home-work__swiper-title *::before,
.p-home-work__swiper-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-work__swiper-caption {
  margin-top: 24px;
}

.p-home-text-loop {
  margin-top: 56px;
}
@media (min-width: 980px) {
  .p-home-text-loop {
    margin-top: 156px;
  }
}
.p-home-text-loop::before {
  content: "";
  width: 100%;
  height: 100px;
  background: url(../images/home/img_loop.svg);
  background-repeat: repeat-x;
  background-size: auto 100%;
  -webkit-animation: loop 50s linear infinite;
          animation: loop 50s linear infinite;
  will-change: background-position;
  display: block;
}
@media (min-width: 600px) {
  .p-home-text-loop::before {
    height: 181px;
  }
}

.p-news-archive {
  margin-top: 64px;
}
@media (min-width: 1280px) {
  .p-news-archive {
    margin-top: 160px;
  }
}

h4.wp-block-heading + p {
  margin-top: 16px;
}

.wp-block-separator.is-style-default {
  height: 1px;
  margin-top: 40px;
  background: #D0D2D3;
  border: none;
}

.c-hero {
  width: 100%;
  margin: 0 auto 0 auto;
  padding: 24px 24px 0 24px;
  position: relative;
}
@media (min-width: 980px) {
  .c-hero {
    width: min(100% - 48px, 1920px);
    padding: 32px 0 0 0;
  }
}
@media (min-width: 1920px) {
  .c-hero {
    width: min(100% - 64px, 1920px);
  }
}
.c-hero.--no-image .c-hero__title {
  position: static;
  padding: 0px 0px 0 0px;
}
@media (min-width: 980px) {
  .c-hero.--no-image .c-hero__title {
    padding: 94px 48px 0 48px;
  }
}
.c-hero__image {
  height: 250px;
  border-radius: 16px;
  -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, transparent 100%);
          mask-image: radial-gradient(circle, white 100%, transparent 100%);
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .c-hero__image {
    height: auto;
    border-radius: 32px;
  }
}
.c-hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-hero__image::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(30deg, rgb(240, 251, 255) 25%, rgba(255, 255, 255, 0) 70%);
  background: linear-gradient(60deg, rgb(240, 251, 255) 25%, rgba(255, 255, 255, 0) 70%);
  inset: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.c-hero__title {
  position: absolute;
  bottom: 24px;
  left: 48px;
}
@media (min-width: 980px) {
  .c-hero__title {
    bottom: 48px;
    left: 48px;
  }
}
.c-hero__title-en {
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  line-height: 1;
  margin-top: 15px;
  display: block;
  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: 16px;
}
.c-hero__title-en *,
.c-hero__title-en *::before,
.c-hero__title-en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-hero__title-en::before {
  content: "";
  width: 24px;
  height: 30px;
  background: url(../images/common/ic_hero.svg) no-repeat center center/100% auto;
}
.c-hero__title-jp {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 72;
  line-height: 1.2;
}
.c-hero__title-jp *,
.c-hero__title-jp *::before,
.c-hero__title-jp *::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-number {
  border: 2px solid #D0D2D3;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.c-number__head {
  min-height: 90px;
  padding: 16px;
  background: #F8F8F8;
  border-bottom: 2px solid #D0D2D3;
  display: grid;
  grid-template-columns: auto 48px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .c-number__head {
    padding: 16px 32px;
  }
}
.c-number__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.c-number__title *,
.c-number__title *::before,
.c-number__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-number__title span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  font-weight: 400;
  display: block;
}
.c-number__title span *,
.c-number__title span *::before,
.c-number__title span *::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-number__content {
  padding: 32px 16px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.c-number__note {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
  color: #7A8C9F;
  margin-top: 16px;
}
.c-number__note *,
.c-number__note *::before,
.c-number__note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 980px) {
  .c-number__note {
    margin-top: auto;
    padding: 8px 0 0 0;
  }
}
.c-number__note.has-center {
  text-align: center;
}
.c-number__note.has-left {
  text-align: left;
}

.c-chart-list {
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 0;
}
.c-chart-list li {
  font-size: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.c-chart-list li::before {
  content: "";
  width: 15px;
  aspect-ratio: 15/17;
  -webkit-mask: url(../images/common/ic_chart-list.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_chart-list.svg) no-repeat center center/100% auto;
  margin-top: 0.3em;
}
.c-chart-list li:first-child::before {
  background: #296CEB;
}
.c-chart-list li:nth-child(2)::before {
  background: #67DD59;
}
.c-chart-list li:nth-child(3)::before {
  background: #FF8181;
}
.c-chart-list li:nth-child(4)::before {
  background: #F7B751;
}
.c-chart-list li:nth-child(5)::before {
  background: #D5D5D5;
}

.c-data {
  font-family: "Gantari", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  --viewport-from: 768;
  --viewport-to: 1440;
  --min-font-size: 56;
  --max-font-size: 132;
  color: #296CEB;
  text-align: center;
  line-height: 1.3;
  margin: 0;
}
.c-data *,
.c-data *::before,
.c-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));
}
.c-data span {
  --viewport-from: 769;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 48;
  color: #1B3348;
  font-weight: 700;
  margin-left: 8px;
}
.c-data span *,
.c-data span *::before,
.c-data span *::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-data.has-font-size-small {
  --viewport-from: 768;
  --viewport-to: 1440;
  --min-font-size: 48;
  --max-font-size: 120;
}
.c-data.has-font-size-small *,
.c-data.has-font-size-small *::before,
.c-data.has-font-size-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));
}
.c-data.has-font-size-small span {
  --viewport-from: 768;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 40;
}
.c-data.has-font-size-small span *,
.c-data.has-font-size-small span *::before,
.c-data.has-font-size-small span *::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-item {
  margin-top: 40px;
  padding: 24px;
  background: #F8F8F8;
  border-radius: 8px;
}
@media (min-width: 980px) {
  .c-item {
    padding: 32px;
  }
}
@media (min-width: 980px) {
  .c-item {
    padding: 56px;
  }
}
p + .c-item {
  margin-top: 48px;
}
.c-item__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
@media (min-width: 600px) {
  .c-item__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}
@media (min-width: 600px) {
  .c-item__list.--layout-col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 980px) {
  .c-item__list.--layout-col3 {
    gap: 32px 48px;
  }
}
.c-item__list.--layout-col3 .c-item__element:nth-last-child(-n+1) {
  padding: 0;
  border: none;
}
@media (min-width: 600px) {
  .c-item__list.--layout-col3 .c-item__element {
    padding-bottom: 32px;
  }
  .c-item__list.--layout-col3 .c-item__element:nth-last-child(-n+3) {
    padding: 0;
    border: none;
  }
}
@media (min-width: 980px) {
  .c-item__list {
    gap: 32px 56px;
  }
}
.c-item__element {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  padding-bottom: 24px;
  border-bottom: 1px solid #D0D2D3;
}
.c-item__element *,
.c-item__element *::before,
.c-item__element *::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-item__element:nth-last-child(-n+1) {
  padding: 0;
  border: none;
}
@media (min-width: 600px) {
  .c-item__element {
    padding-bottom: 32px;
  }
  .c-item__element:nth-last-child(-n+2) {
    padding: 0;
    border: none;
  }
}
.c-item__term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  margin-bottom: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.c-item__term *,
.c-item__term *::before,
.c-item__term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .c-item__term {
    gap: 16px;
  }
}
.c-item__term::before {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #296CEB;
  border-radius: 50%;
  margin-top: 0.6em;
}
@media (min-width: 600px) {
  .c-item__term::before {
    min-width: 12px;
  }
}

.c-vacation {
  margin-top: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
.c-vacation__item {
  border: 2px solid #D0D2D3;
  border-radius: 8px;
}
.c-vacation__head {
  padding: 16px;
  border-bottom: 2px solid #D0D2D3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media (min-width: 600px) {
  .c-vacation__head {
    padding: 24px;
    gap: 24px;
  }
}
@media (min-width: 980px) {
  .c-vacation__head {
    padding: 32px;
  }
}
.c-vacation__head img {
  max-width: 56px;
  min-width: 56px;
  aspect-ratio: 1/1;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .c-vacation__head img {
    max-width: 80px;
    min-width: 80px;
  }
}
.c-vacation__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.c-vacation__title *,
.c-vacation__title *::before,
.c-vacation__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-vacation__content {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  padding: 16px;
}
.c-vacation__content *,
.c-vacation__content *::before,
.c-vacation__content *::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: 600px) {
  .c-vacation__content {
    padding: 24px;
  }
}
@media (min-width: 980px) {
  .c-vacation__content {
    padding: 32px;
  }
}

.c-system {
  margin-top: 16px;
}
.c-system__group {
  padding: 24px 0;
  border-top: 2px solid #D0D2D3;
}
@media (min-width: 600px) {
  .c-system__group {
    padding: 40px 0;
  }
}
.c-system__group:first-of-type {
  border: none;
}
.c-system__term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
  font-weight: 700;
  display: grid;
  grid-template-columns: 56px auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-system__term *,
.c-system__term *::before,
.c-system__term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-system__description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
  line-height: 2;
  margin-top: 8px;
  padding-left: 56px;
}
.c-system__description *,
.c-system__description *::before,
.c-system__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));
}
@media (min-width: 600px) {
  .c-system__description {
    margin-top: 24px;
  }
}

.c-gallery__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-gallery__title {
  width: 100%;
}
@media (min-width: 600px) {
  .c-gallery__title {
    width: auto;
  }
}
.c-gallery__swiper-button {
  margin: 40px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
}
@media (min-width: 600px) {
  .c-gallery__swiper-button {
    margin: 0;
  }
}
.c-gallery__swiper-button .swiper-button-prev {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: static;
  background: #7A8C9F;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (min-width: 600px) {
  .c-gallery__swiper-button .swiper-button-prev {
    width: 56px;
    height: 56px;
  }
}
.c-gallery__swiper-button .swiper-button-next {
  width: 40px;
  height: 40px;
  background: #7A8C9F;
  border-radius: 50%;
  position: static;
}
@media (min-width: 600px) {
  .c-gallery__swiper-button .swiper-button-next {
    width: 56px;
    height: 56px;
  }
}
.c-gallery__swiper-button .swiper-button-next::after,
.c-gallery__swiper-button .swiper-button-prev::after {
  content: "";
  width: 17px;
  aspect-ratio: 21/19;
  background-color: #FFFFFF;
  -webkit-mask: url(../images/common/ic_button-arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_button-arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-gallery__swiper-button .swiper-button-next::after,
  .c-gallery__swiper-button .swiper-button-prev::after {
    width: 21px;
  }
}
.c-gallery__content {
  overflow: hidden;
}
.c-gallery__wrapper {
  margin-top: 40px;
  overflow: visible;
}
.c-gallery__swiper-image {
  margin: 0;
}
.c-gallery__swiper-image img {
  border-radius: 8px;
}
.c-gallery__swiper-caption {
  margin-top: 24px;
}

.c-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 32px;
}
@media (min-width: 600px) {
  .c-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.c-column__image {
  width: 100%;
}
@media (min-width: 600px) {
  .c-column__image {
    width: 29%;
  }
}
.c-column__image img {
  border-radius: 8px;
}
.c-column__textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* コンテンツ幅 */
.is-width-full {
  width: 100%;
}

.is-width-standard {
  width: 100%;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 980px) {
  .is-width-standard {
    width: min(100% - 48px, 1280px);
  }
}

.is-width-narrow {
  width: 100%;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 980px) {
  .is-width-narrow {
    width: min(100% - 48px, 900px);
  }
}

@media (min-width: 600px) {
  .has-margin-pc-0 {
    margin-top: 0px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-8 {
    margin-top: 8px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-16 {
    margin-top: 16px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-24 {
    margin-top: 24px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-32 {
    margin-top: 32px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-40 {
    margin-top: 40px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-48 {
    margin-top: 48px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-56 {
    margin-top: 56px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-64 {
    margin-top: 64px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-72 {
    margin-top: 72px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-80 {
    margin-top: 80px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-88 {
    margin-top: 88px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-96 {
    margin-top: 96px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-104 {
    margin-top: 104px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-112 {
    margin-top: 112px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-120 {
    margin-top: 120px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-128 {
    margin-top: 128px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-136 {
    margin-top: 136px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-144 {
    margin-top: 144px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-152 {
    margin-top: 152px;
  }
}
@media (min-width: 600px) {
  .has-margin-pc-160 {
    margin-top: 160px;
  }
}
@media (max-width: 600px) {
  .has-margin-sp-0 {
    margin-top: 0px;
  }
  .has-margin-sp-8 {
    margin-top: 8px;
  }
  .has-margin-sp-16 {
    margin-top: 16px;
  }
  .has-margin-sp-24 {
    margin-top: 24px;
  }
  .has-margin-sp-32 {
    margin-top: 32px;
  }
  .has-margin-sp-40 {
    margin-top: 40px;
  }
  .has-margin-sp-48 {
    margin-top: 48px;
  }
  .has-margin-sp-56 {
    margin-top: 56px;
  }
  .has-margin-sp-64 {
    margin-top: 64px;
  }
  .has-margin-sp-72 {
    margin-top: 72px;
  }
  .has-margin-sp-80 {
    margin-top: 80px;
  }
  .has-margin-sp-88 {
    margin-top: 88px;
  }
  .has-margin-sp-96 {
    margin-top: 96px;
  }
  .has-margin-sp-104 {
    margin-top: 104px;
  }
  .has-margin-sp-112 {
    margin-top: 112px;
  }
  .has-margin-sp-120 {
    margin-top: 120px;
  }
  .has-margin-sp-128 {
    margin-top: 128px;
  }
  .has-margin-sp-136 {
    margin-top: 136px;
  }
  .has-margin-sp-144 {
    margin-top: 144px;
  }
  .has-margin-sp-152 {
    margin-top: 152px;
  }
  .has-margin-sp-160 {
    margin-top: 160px;
  }
}
.has-24-font-size {
  font-size: 18px !important;
}
@media (min-width: 980px) {
  .has-24-font-size {
    font-size: 24px;
  }
}

.is-layout-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.is-layout-grid {
  display: grid;
}

.has-grid-cols-2 {
  grid-template-columns: repeat(1, 1fr);
}

.has-grid-cols-2 {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 980px) {
  .has-grid-cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.has-grid-cols-3 {
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 980px) {
  .has-grid-cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.has-grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.has-gap-0 {
  gap: 0;
}

.has-gap-8 {
  gap: 8px;
}

.has-gap-16 {
  gap: 16px;
}

.has-gap-24 {
  gap: 24px;
}

.has-gap-32 {
  gap: 32px;
}

.has-gap-40 {
  gap: 40px;
}

.has-gap-48 {
  gap: 48px;
}

@media (min-width: 980px) {
  .has-col-2-3 {
    grid-column: span 2;
  }
}

.wp-block-image.has-border-radius-8 img {
  border-radius: 8px;
}

.wp-block-image.has-border-radius-16 img {
  border-radius: 16px;
}

.wp-block-image.has-border-radius-24 img {
  border-radius: 24px;
}

.wp-block-image.has-border-radius-32 img {
  border-radius: 32px;
}

/*----------------------------------------------------
  margin
----------------------------------------------------*/
.u-mt0 {
  margin-top: 0px;
}

.u-mt8 {
  margin-top: 8px;
}

.u-mt16 {
  margin-top: 16px;
}

.u-mt24 {
  margin-top: 24px;
}

.u-mt32 {
  margin-top: 32px;
}

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

.u-mt48 {
  margin-top: 48px;
}

.u-mt56 {
  margin-top: 56px;
}

.u-mt64 {
  margin-top: 64px;
}

.u-mt72 {
  margin-top: 72px;
}

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

.u-mt88 {
  margin-top: 88px;
}

.u-mt96 {
  margin-top: 96px;
}

.u-mt104 {
  margin-top: 104px;
}

.u-mt112 {
  margin-top: 112px;
}

.u-mt120 {
  margin-top: 120px;
}

.u-mt128 {
  margin-top: 128px;
}

.u-mt136 {
  margin-top: 136px;
}

.u-mt144 {
  margin-top: 144px;
}

.u-mt152 {
  margin-top: 152px;
}

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

@media (max-width: 600px) {
  .u-mt-sp0 {
    margin-top: 0px;
  }
  .u-mt-sp8 {
    margin-top: 8px;
  }
  .u-mt-sp16 {
    margin-top: 16px;
  }
  .u-mt-sp24 {
    margin-top: 24px;
  }
  .u-mt-sp32 {
    margin-top: 32px;
  }
  .u-mt-sp40 {
    margin-top: 40px;
  }
  .u-mt-sp48 {
    margin-top: 48px;
  }
  .u-mt-sp56 {
    margin-top: 56px;
  }
  .u-mt-sp64 {
    margin-top: 64px;
  }
  .u-mt-sp72 {
    margin-top: 72px;
  }
  .u-mt-sp80 {
    margin-top: 80px;
  }
  .u-mt-sp88 {
    margin-top: 88px;
  }
  .u-mt-sp96 {
    margin-top: 96px;
  }
  .u-mt-sp104 {
    margin-top: 104px;
  }
  .u-mt-sp112 {
    margin-top: 112px;
  }
  .u-mt-sp120 {
    margin-top: 120px;
  }
  .u-mt-sp128 {
    margin-top: 128px;
  }
  .u-mt-sp136 {
    margin-top: 136px;
  }
  .u-mt-sp144 {
    margin-top: 144px;
  }
  .u-mt-sp152 {
    margin-top: 152px;
  }
  .u-mt-sp160 {
    margin-top: 160px;
  }
}
.u-sp-wrap {
  -webkit-flex-wrap: wrap !important;
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important;
}
@media (min-width: 600px) {
  .u-sp-wrap {
    -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
            flex-wrap: nowrap !important;
  }
}

/*----------------------------------------------------
  display
----------------------------------------------------*/
.u-dn-tab-min {
  display: none;
}
@media (min-width: 600px) {
  .u-dn-tab-min {
    display: block;
  }
}

.u-dn-sp-min {
  display: none !important;
}
@media (max-width: 600px) {
  .u-dn-sp-min {
    display: block !important;
  }
}

@media (min-width: 600px) {
  .u-dn-tab-max {
    display: none;
  }
}

.u-dn-sp-max {
  display: block !important;
}
@media (max-width: 600px) {
  .u-dn-sp-max {
    display: none !important;
  }
}

/*----------------------------------------------------
  boder
----------------------------------------------------*/
.u-dn-border {
  border: none !important;
}

.u-border-right {
  border-right: 1px solid #D0D2D3;
}

.u-border-left {
  border-top: 1px solid #BCC8D9;
  padding-top: 24px;
}
@media (min-width: 600px) {
  .u-border-left {
    border-left: 1px solid #BCC8D9;
    border-top: none;
    padding-top: 0;
    padding-left: 48px;
  }
}

.u-coming {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  text-align: center;
}
.u-coming *,
.u-coming *::before,
.u-coming *::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));
}

.is-scroll-on-mobile {
  width: 100%;
}
.is-scroll-on-mobile img {
  min-width: 768px;
}
@media (min-width: 980px) {
  .is-scroll-on-mobile img {
    min-width: auto;
  }
}/*# sourceMappingURL=style.css.map */