@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  font-size: 62.5%;
  word-break: break-all;
  scroll-behavior: smooth;
}

body {
  background: #fff;
  color: #333;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
}

@media screen and (min-width: 1200px) {
  body {
    font-size: 1.6rem;
  }
}
a {
  color: var(--clr-main);
  text-decoration: underline;
}

a:active, a:hover {
  outline: 0;
  text-decoration: none;
}

a img {
  border: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

address {
  font-style: normal;
}

figure {
  margin: 0;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

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

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

:root {
  --clr-base: #f3f5f7;
  --clr-main: #008ed1;
  --clr-accent: #0071c2;
  --clr-gradient: linear-gradient(90deg, #0071c2 0%, #008ed1 100%);
  --clr-modal-bg: #002138;
  --font-family-en: "Montserrat", Helvetica;
}

/* Wrapper */
.l-wrapper {
  position: relative;
}

.l-main > :last-child {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.l-main > :last-child .c-section__inner {
  padding-bottom: 80px;
}

@media screen and (min-width: 1200px) {
  .l-main > :last-child .c-section__inner {
    padding-bottom: 120px;
  }
}
html[data-loading="true"] {
  overflow: hidden;
}

.c-loading {
  background-color: #fff;
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 2000;
}

html[data-loading="false"] .c-loading {
  animation: loading-animation 0s ease forwards;
}

@keyframes loading-animation {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-link__line {
    display: inline-flex;
    line-height: 1;
    position: relative;
  }
  .c-link__line::after {
    background: #333;
    content: '';
    position: absolute;
    left: auto;
    right: 0;
    bottom: -8px;
    height: 1px;
    width: 0;
    transition: .24s ease;
  }

  .c-link:hover .c-link__line::after {
    left: 0;
    right: auto;
    width: 100%;
  }

  [data-top] .c-header__mainnav-link .c-link__line::after,
  .c-gnavi .c-link__line::after,
  .c-header__utility .c-link__line::after,
  .c-footer__nav-area .c-link__line::after {
    background: #fff;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-link:hover .c-button::before,
  .c-link:hover .c-button__white::before {
    animation: button-hover .28s ease forwards;
  }
  .c-link:hover .c-button.c-case__button::before,
  .c-link:hover .c-button__white.c-case__button::before {
    animation: button-hover-blank .28s ease forwards;
  }
  .c-link:hover.c-button::before, .c-link:hover.c-button__white::before {
    animation: button-hover .28s ease forwards;
  }
  .c-link:hover[class*="prev"]::before {
    animation: button-hover-prev .28s ease forwards;
  }
  .c-link:hover[class*="prev"] .c-button::before {
    animation: button-hover-prev .28s ease forwards;
  }

  @keyframes button-hover {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    50% {
      transform: translateX(50%);
      opacity: 0;
    }
    51% {
      transform: translateX(-100%);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes button-hover-blank {
    0% {
      transform: translate(0, 0) rotate(-45deg);
      opacity: 1;
    }
    50% {
      transform: translate(50%, -50%) rotate(-45deg);
      opacity: 0;
    }
    51% {
      transform: translate(-100%, 100%) rotate(-45deg);
      opacity: 0;
    }
    100% {
      transform: translate(0, 0) rotate(-45deg);
      opacity: 1;
    }
  }
  @keyframes button-hover-prev {
    0% {
      transform: translateX(0) scaleX(-1);
      opacity: 1;
    }
    50% {
      transform: translateX(-50%) scaleX(-1);
      opacity: 0;
    }
    51% {
      transform: translateX(100%) scaleX(-1);
      opacity: 0;
    }
    100% {
      transform: translateX(0) scaleX(-1);
      opacity: 1;
    }
  }
  .c-link:hover .c-button.c-icon__toggle::before,
  .c-link:hover .c-button__white.c-icon__toggle::before {
    animation: button-hover-toggle .28s ease forwards;
  }
  .c-link.active:hover .c-button.c-icon__toggle::before,
  .c-link.active:hover .c-button__white.c-icon__toggle::before {
    animation: none;
  }

  @keyframes button-hover-toggle {
    0% {
      transform: translateY(0);
      opacity: 1;
    }
    50% {
      transform: translateY(50%);
      opacity: 0;
    }
    51% {
      transform: translateY(-100%);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
}
.c-header-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  transition: .3s;
  background-color: transparent;
  box-shadow: none;
  height: 80px;
}

.c-header-fixed__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  padding-bottom: 0;
}

.c-header-fixed__logo {
  line-height: 0;
  margin: 0;
  max-width: 160px;
}

.c-header-fixed__inner,
.c-header-fixed__logo {
  transition: .3s;
}

@media screen and (max-width: 1199px) {
  [data-headeranime="true"] .c-header-fixed__inner {
    padding: 12px;
    padding-bottom: 0;
  }
  [data-headeranime="true"] .c-header-fixed__logo {
    max-width: 120px;
  }

  [data-headeranime="false"] [data-top] .c-header-fixed .c-button {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.32);
  }
  [data-headeranime="false"] [data-top] .c-header-fixed .c-logo {
    display: none;
  }
  [data-headeranime="false"] [data-top] .c-header-fixed .c-logo__w {
    display: inline;
  }
}
@media screen and (min-width: 1200px) {
  .c-header-fixed {
    opacity: 0;
    visibility: hidden;
    transition: .3s ease .1s;
  }

  .c-header-fixed__inner {
    padding: 40px;
    padding-bottom: 0;
  }

  [data-headeranime="true"] .c-header-fixed {
    opacity: 1;
    visibility: visible;
  }
}
.c-logo__w {
  display: none;
}

.c-header {
  display: none;
  visibility: hidden;
}

@media screen and (min-width: 1200px) {
  .c-header {
    display: block;
    visibility: visible;
    position: relative;
    z-index: 99;
  }

  .c-header__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }

  .c-header__logo {
    padding: 64px 64px 48px;
    margin: 0;
  }

  .c-header__logo-img,
  .c-header__logo-img__w {
    max-width: 220px;
  }

  .c-header__logo-img__w {
    display: none;
  }

  .c-header__nav-area {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 40px;
  }

  .c-header__utility {
    background-color: #333;
    border-radius: 0 0 0 16px;
    overflow: hidden;
  }

  .c-header__utility-list {
    display: flex;
  }

  .c-header__utility-item {
    display: flex;
    align-items: center;
  }
  .c-header__utility-item:not(:last-child)::after {
    background-color: #fff;
    content: '';
    width: 1px;
    height: 18px;
    opacity: .24;
  }

  .c-header__utility-link {
    display: block;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    padding: 26px 40px;
    text-decoration: none;
  }

  .c-header__utility-item__lang {
    padding: 26px 40px;
  }

  .c-header__mainnav {
    padding: 0 64px;
  }

  .c-header__mainnav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 56px;
  }

  .c-header__mainnav-link {
    color: inherit;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    position: relative;
    display: block;
  }
  .c-header__mainnav-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: -1em;
    right: -1em;
    height: 100px;
    display: none;
  }

  [data-top] .c-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  [data-top] .c-header .c-button {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.32);
  }
  [data-top] .c-header__logo-img {
    display: none;
  }
  [data-top] .c-header__logo-img__w {
    display: inline;
  }
  [data-top] .c-header__mainnav-link {
    color: #fff;
  }
}
.c-gnavi__btn {
  width: 48px;
  height: 48px;
  position: relative;
}

[data-spmenu="true"] .c-gnavi__btn .c-icon__close-line__top::before,
[data-spmenu="true"] .c-gnavi__btn .c-icon__close-line__bottom::before {
  top: 50%;
  animation: none;
}
[data-spmenu="true"] .c-gnavi__btn .c-icon__close-line__top {
  transform: rotate(45deg);
}
[data-spmenu="true"] .c-gnavi__btn .c-icon__close-line__bottom {
  transform: rotate(-45deg);
}

.c-gnavi {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  visibility: hidden;
  color: #fff;
}
.c-gnavi a {
  color: #fff;
  text-decoration: none;
}
.c-gnavi::before, .c-gnavi::after {
  content: '';
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.c-gnavi::before {
  background-color: var(--clr-accent);
}
.c-gnavi::after {
  background: var(--clr-gradient);
}

.c-gnavi__body {
  height: 100vh;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: scroll;
}

[data-spmenu="true"] {
  overflow: hidden;
}
[data-spmenu="true"] .c-gnavi {
  visibility: visible;
  animation: open 0s linear forwards;
}
[data-spmenu="true"] .c-gnavi::before {
  transform: scaleX(0);
  animation: open-before 0.4s cubic-bezier(0.69, 0, 0.39, 1) forwards;
}
[data-spmenu="true"] .c-gnavi::after {
  transform: scaleX(0);
  animation: open-after 0.4s cubic-bezier(0.69, 0, 0.39, 1) 0.2s forwards;
}
[data-spmenu="true"] .c-gnavi__body {
  opacity: 0;
  animation: open-body 0.2s cubic-bezier(0.69, 0, 0.39, 1) 0.4s forwards;
}

[data-spmenu="false"] .c-gnavi {
  animation: close .6s linear forwards;
}
[data-spmenu="false"] .c-gnavi::before {
  animation: close-before 0.2s cubic-bezier(0.69, 0, 0.39, 1) 0.4s forwards;
}
[data-spmenu="false"] .c-gnavi::after {
  animation: close-after 0.2s cubic-bezier(0.69, 0, 0.39, 1) 0s forwards;
}
[data-spmenu="false"] .c-gnavi__body {
  animation: close-body 0.2s cubic-bezier(0.69, 0, 0.39, 1) forwards;
}

@keyframes open {
  0% {
    visibility: visible;
  }
  100% {
    visibility: visible;
  }
}
@keyframes close {
  0% {
    visibility: visible;
  }
  100% {
    visibility: hidden;
  }
}
@keyframes open-before {
  0% {
    transform: scaleX(0);
    transform-origin: top left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: top left;
  }
}
@keyframes close-before {
  0% {
    transform: scaleX(1);
    transform-origin: top right;
  }
  100% {
    transform: scaleX(0);
    transform-origin: top right;
  }
}
@keyframes open-after {
  0% {
    transform: scaleX(0);
    transform-origin: top left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: top left;
  }
}
@keyframes close-after {
  0% {
    transform: scaleX(1);
    transform-origin: top right;
  }
  100% {
    transform: scaleX(0);
    transform-origin: top right;
  }
}
@keyframes open-body {
  0% {
    opacity: 0;
    transform: translate(-20px, 0px);
  }
  100% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
}
@keyframes close-body {
  0% {
    opacity: 1;
    transform: translate(0px, 0px);
  }
  100% {
    opacity: 0;
    transform: translate(20px, 0px);
  }
}
@media screen and (max-width: 1199px) {
  .c-gnavi__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 56px;
    padding: 88px calc(24*100vw/375) 120px;
  }

  .c-gnavi__utility {
    display: inline-flex;
    align-items: center;
    gap: 40px;
    position: fixed;
    top: 0;
    right: 0;
    padding: 16px 16px 0 0;
    z-index: 1;
  }
  .c-gnavi__utility .c-gnavi__btn {
    background-color: var(--clr-main);
  }

  .c-gnavi__utility {
    transition: .3s;
  }

  [data-headeranime="true"] .c-gnavi__utility {
    padding: 12px 12px 0 0;
  }

  .c-gnavi__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .c-gnavi__nav-block {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    padding: 32px 0;
    width: 100%;
    position: relative;
  }

  .c-gnavi__nav-title {
    display: block;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
  }

  .c-gnavi__nav-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    margin-top: 24px;
  }

  .c-gnavi__nav-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  .c-gnavi__nav-item::before {
    background-color: #fff;
    content: '';
    display: inline-block;
    width: 8px;
    height: 1px;
    opacity: .4;
  }

  .c-gnavi__nav-link {
    font-size: 1.4rem;
    line-height: 1;
    opacity: .64;
  }

  .c-gnavi__nav-toggle {
    position: absolute;
    right: 0;
    top: 0;
    margin-top: 26px;
    width: 32px;
    height: 32px;
  }
  .c-gnavi__nav-toggle::before {
    transform: scale(1, -1);
  }

  .c-gnavi__nav-list {
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  :not(.is-active).c-gnavi__nav-toggle::before {
    transform: scale(1, 1);
  }
  :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list {
    opacity: 0;
    gap: 0;
    margin-top: 0;
  }
  :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-item::before, :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-item::after {
    height: 0;
  }
  :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-item a {
    line-height: 0;
  }
  :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-link {
    pointer-events: none;
  }
  :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-link::before, :not(.is-active).c-gnavi__nav-toggle + .c-gnavi__nav-list .c-gnavi__nav-link::after {
    height: 0;
  }
}
@media screen and (min-width: 1200px) {
  .c-gnavi__utility {
    display: inline-flex;
    align-items: center;
    gap: 64px;
    position: absolute;
    top: 64px;
    right: 64px;
  }

  .c-gnavi__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    height: 100%;
  }

  .c-gnavi__nav {
    color: #fff;
    column-count: 3;
    column-gap: 140px;
  }

  .c-gnavi__nav-title {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
  }

  .c-gnavi__nav-toggle {
    display: none !important;
  }

  .c-gnavi__nav-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    break-inside: avoid;
  }
  .c-gnavi__nav-block:not(:last-child) {
    margin-bottom: 80px;
  }

  .c-gnavi__nav-list {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .c-gnavi__nav-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  .c-gnavi__nav-item::before {
    background-color: #fff;
    content: '';
    display: inline-block;
    width: 8px;
    height: 1px;
    opacity: .4;
  }

  .c-gnavi__nav-link {
    font-size: 1.4rem;
    line-height: 1;
    opacity: .64;
    text-decoration: none;
  }
}
.c-fv {
  display: flex;
  flex-direction: column;
  gap: 56px;
  padding: 120px 0 0;
}

.c-fv__inner {
  padding: 0 24px;
}

.c-fv__photo {
  padding-left: 24px;
}

.c-fv__img {
  border-radius: 24px 0 0 24px;
  width: 100%;
  height: clamp(250px, calc(250*100vw/375), 320px);
  object-fit: cover;
  object-position: left;
}

@media screen and (min-width: 1200px) {
  .c-fv {
    padding: 40px 0 0;
  }

  .c-fv__inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 0 calc(96*100vw/1440);
  }

  .c-fv__photo {
    padding-left: calc(96*100vw/1440);
  }

  .c-fv__img {
    border-radius: 80px 0 0 80px;
    height: clamp(500px, calc(500*100vw/1440), 560px);
  }
}
.c-fv-post {
  display: flex;
  flex-direction: column;
  gap: 56px;
  padding: 120px 0 0;
}

.c-fv-post__inner {
  padding: 0 24px;
}

@media screen and (min-width: 1200px) {
  .c-fv-post {
    padding: 40px 0 0;
  }

  .c-fv-post__inner {
    display: flex;
    flex-direction: column-reverse;
    padding: 0 96px;
    gap: 120px;
  }
  .c-fv-post__inner .c-heading__title {
    margin: 0 auto;
    max-width: 1000px;
  }
  .c-fv-post__inner .c-breadcrumb {
    justify-content: flex-end;
  }
}
.c-fv-top {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  position: relative;
}

.c-fv-top__mv {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}
.c-fv-top__mv::before {
  background-color: #003154;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: .3;
  z-index: 1;
}

.c-fv-top__mv-video {
  width: 100%;
  height: 100vh;
  height: 100dvh;
}

.c-fv-top__video-pc {
  display: none;
}

@media screen and (min-width: 1200px) {
  .c-fv-top__video-pc {
    display: block;
  }

  .c-fv-top__video-sp {
    display: none;
  }
}
.c-fv-top__video {
  width: 100%;
  height: 100dvh;
  object-fit: cover;
}

.c-fv-top__title {
  color: #fff;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: absolute;
  left: 24px;
  bottom: 24px;
  margin: 0;
}

.c-fv-top__catch {
  font-size: .96rem;
  font-weight: 700;
  letter-spacing: .24em;
  line-height: 1.2;
}

.c-fv-top__lead {
  font-family: var(--font-family-en);
  font-weight: 600;
  font-size: 3.52rem;
  line-height: 1.2;
}

@media screen and (min-width: 1200px) {
  .c-fv-top__title {
    gap: 24px;
    left: 64px;
    bottom: 58px;
  }

  .c-fv-top__catch {
    font-size: 2.4rem;
  }

  .c-fv-top__lead {
    font-size: 8.8rem;
  }
}
.c-footer {
  background-color: var(--clr-accent);
  border-radius: 24px 24px 0 0;
  color: #fff;
  position: relative;
}
.c-footer a {
  color: #fff;
}

.c-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  padding: 60px calc(24*100vw/375);
}

.c-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.c-footer__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}

.c-footer__brand-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
}

.c-footer__logo {
  max-width: 214px;
}

.c-footer__offices {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  opacity: .64;
}

.c-footer__office {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
}

.c-footer__office-title {
  font-size: 1.2rem;
}

.c-footer__office-body {
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.c-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}

.c-footer__nav-area {
  column-count: 2;
  column-gap: 20px;
}

.c-footer__nav-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  break-inside: avoid;
}
.c-footer__nav-block:not(:last-child) {
  margin-bottom: 48px;
}

.c-footer__nav-title {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
}

.c-footer__nav-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.c-footer__nav-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.c-footer__nav-item::before {
  background-color: #fff;
  content: '';
  display: inline-block;
  width: 8px;
  height: 1px;
  opacity: .4;
}

.c-footer__nav-link {
  font-size: 1.2rem;
  line-height: 1;
  opacity: .64;
  text-decoration: none;
}

.c-footer__bnr {
  text-align: center;
  width: 100%;
}

.c-footer__bnr-img {
  max-width: 225px;
}

.c-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0 0;
  width: 100%;
  border-top-width: 1px;
  border-top-style: solid;
  border-color: rgba(255, 255, 255, 0.24);
}

.c-footer__policy {
  font-size: 1.1rem;
  line-height: 1;
  opacity: .64;
}

.c-footer__copy {
  font-size: 1.1rem;
  line-height: 1;
  opacity: .64;
}

@media screen and (min-width: 700px) {
  .c-footer__nav-area {
    column-count: 3;
  }
}
@media screen and (min-width: 1200px) {
  .c-footer {
    border-radius: 80px 80px 0 0;
    padding: 96px calc(96*100vw/1440) 120px;
  }

  .c-footer__inner {
    padding: 0;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
  }

  .c-footer__brand {
    gap: 64px;
  }

  .c-footer__body {
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
  }

  .c-footer__brand-head {
    gap: 40px;
    width: auto;
    flex-shrink: 0;
  }

  .c-footer__logo {
    max-width: 214px;
  }

  .c-footer__offices {
    gap: 32px;
  }

  .c-footer__office {
    gap: 8px;
  }

  .c-footer__office-title {
    font-size: 1.4rem;
  }

  .c-footer__office-body {
    font-size: 1.2rem;
    gap: 8px;
  }

  .c-footer__nav {
    align-items: flex-end;
    gap: 80px;
  }

  .c-footer__nav-area {
    column-count: 3;
    column-gap: 120px;
  }

  .c-footer__nav-block:not(:last-child) {
    margin-bottom: 56px;
  }

  .c-footer__bnr {
    text-align: right;
  }

  .c-footer__bnr-img {
    max-width: 300px;
  }

  .c-footer__bottom {
    padding: 40px 0 0;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-footer__bnr-img {
    transition: .24s ease;
  }
  .c-footer__bnr-img:hover {
    opacity: .7;
  }
}
.c-section {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.c-section-bg01 {
  background-color: var(--clr-base);
  border-radius: 24px;
}

.c-section-bg02 {
  background: var(--clr-gradient);
  border-radius: 24px;
}

.c-section__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 56px calc(24*100vw/375);
}

.c-section__box {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-section__box02 {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media screen and (min-width: 1200px) {
  .c-section {
    padding: 0 calc(96*100vw/1440);
  }

  .c-section-bg01 {
    border-radius: 80px;
  }

  .c-section-bg02 {
    border-radius: 80px;
  }

  .c-section__inner {
    gap: 80px;
    padding: 120px 0;
    margin: 0 auto;
    max-width: 1000px;
    width: 100%;
  }

  .c-section__wide .c-section__inner {
    max-width: 1248px;
  }

  .c-section__wide02 .c-section__inner {
    max-width: 1160px;
    gap: 120px;
  }

  .c-section__wide03 .c-section__inner {
    max-width: 1160px;
    gap: 120px;
  }

  .c-section__box {
    flex-direction: row;
    justify-content: space-between;
    gap: 160px;
  }

  .c-section__box02 {
    flex-direction: row;
    justify-content: space-between;
    gap: 160px;
  }
}
.c-section__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-section__content02 {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-section__figure {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media screen and (min-width: 1200px) {
  .c-section__content {
    gap: 40px;
  }

  .c-section__content02 {
    gap: 64px;
  }

  .c-section__figure {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 64px;
  }
}
.c-section__list {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-section__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

@media screen and (min-width: 1200px) {
  .c-section__list {
    gap: 40px;
  }

  .c-section__item {
    gap: 16px;
  }
}
.c-section__contact {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 40px 0 0;
  border-top: 1px solid #ddd;
}

.c-section__contact-block {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-section__contact-title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.c-section__contact-body {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.c-section__contact-address {
  font-size: 1.2rem;
  line-height: 2;
  margin: 0;
}

@media screen and (min-width: 1200px) {
  .c-section__contact {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 16px;
    padding: 80px 0 0;
  }

  .c-section__contact-title {
    font-size: 1.8rem;
  }

  .c-section__contact-body__right {
    align-items: flex-end;
  }
}
.c-section__button-area {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-section__button-text {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
}

.c-section__button {
  display: inline-flex;
  width: 40px;
  height: 40px;
}

@media screen and (min-width: 1200px) {
  .c-section__button-area {
    flex-direction: row;
    justify-content: flex-end;
    gap: 56px;
  }

  .c-section__button-text {
    gap: 16px;
  }

  .c-section__button {
    width: 48px;
    height: 48px;
  }
}
.c-section__img-scroll {
  overflow-x: scroll;
}
.c-section__img-scroll .c-section__img {
  width: auto;
  max-width: none;
}

.c-section__img-radius {
  border-radius: 16px;
}

.c-section__image {
  text-align: center;
}

.c-button {
  background-color: var(--clr-main);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.c-button__white {
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.c-button02 {
  background-color: #fff;
  color: inherit;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: 100px;
  font-size: 14px;
  font-family: var(--font-family-en);
  font-weight: 700;
  line-height: 1;
  width: fit-content;
}

.c-button02__gray {
  background-color: var(--clr-base);
}

@media screen and (min-width: 1200px) and (hover: hover) {
  .c-button02 {
    transition: .24s ease;
  }
  .c-button02:hover {
    opacity: .5;
  }
}
.c-button__primary {
  background: var(--clr-gradient);
  border-radius: 1000px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  width: 100%;
  height: 68px;
}

@media screen and (min-width: 1200px) {
  .c-button__primary {
    margin: 0 auto;
    max-width: 400px;
    height: 80px;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-button__primary {
    transition: .24s ease;
  }
  .c-button__primary:hover {
    opacity: .72;
  }
}
.c-icon__arrow::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.857%200%205.65%201.209%2010.43%206H0v1.714h10.431L5.65%2012.506l1.208%201.208%206.857-6.857z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2014%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.857%200%205.65%201.209%2010.43%206H0v1.714h10.431L5.65%2012.506l1.208%201.208%206.857-6.857z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 29%;
  height: 29%;
  pointer-events: none;
}

.c-icon__toggle::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%208%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M11.473%200%206.5%204.945%201.528%200%200%201.522%206.5%208%2013%201.522z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%208%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M11.473%200%206.5%204.945%201.528%200%200%201.522%206.5%208%2013%201.522z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 27%;
  height: 27%;
  pointer-events: none;
}

.c-icon__blank::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: calc(16*100%/48);
  height: calc(16*100%/48);
  pointer-events: none;
}

[class*="c-icon__close-line"] {
  transition: .24s ease;
}
[class*="c-icon__close-line"]::before {
  background-color: #fff;
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.c-icon__close-line__top::before {
  top: calc(50% - 4px);
}

.c-icon__close-line__bottom::before {
  top: calc(50% + 4px);
}

@media screen and (min-width: 1200px) and (hover: hover) {
  .c-icon__close:hover .c-icon__close-line__top::before {
    animation: close-btn-hover .28s ease forwards;
  }
  .c-icon__close:hover .c-icon__close-line__bottom::before {
    animation: close-btn-hover .28s ease .1s forwards;
  }

  @keyframes close-btn-hover {
    0% {
      transform: translate(-50%, -50%) scaleX(1);
      transform-origin: top right;
    }
    50% {
      transform: translate(-50%, -50%) scaleX(0);
      transform-origin: top right;
    }
    51% {
      transform: translate(-50%, -50%) scaleX(0);
      transform-origin: top left;
    }
    100% {
      transform: translate(-50%, -50%) scaleX(1);
      transform-origin: top left;
    }
  }
}
.c-icontext__mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8em/14);
}
.c-icontext__mail::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #333;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2212%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2012%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M1.38%200h13.24c.634%200%201.146.437%201.307%201.02L8%206.966.073%201.02C.233.437.746%200%201.379%200m13.24%2011.586H1.38A1.38%201.38%200%200%201%200%2010.206V3.035l7.503%205.628a.825.825%200%200%200%20.994%200L16%203.034v7.173c0%20.76-.619%201.38-1.38%201.38%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2212%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2012%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M1.38%200h13.24c.634%200%201.146.437%201.307%201.02L8%206.966.073%201.02C.233.437.746%200%201.379%200m13.24%2011.586H1.38A1.38%201.38%200%200%201%200%2010.206V3.035l7.503%205.628a.825.825%200%200%200%20.994%200L16%203.034v7.173c0%20.76-.619%201.38-1.38%201.38%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 16px;
  height: 12px;
}

.c-icontext__map {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8em/14);
}
.c-icontext__map::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #333;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2218%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2018%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M7%209c-.963%200-1.75-.81-1.75-1.8S6.037%205.4%207%205.4s1.75.81%201.75%201.8S7.963%209%207%209m5.25-1.62C12.25%204.113%209.931%201.8%207%201.8S1.75%204.113%201.75%207.38c0%202.106%201.706%204.896%205.25%208.226%203.544-3.33%205.25-6.12%205.25-8.226M7%200c3.675%200%207%202.898%207%207.38%200%202.988-2.336%206.525-7%2010.62-4.664-4.095-7-7.632-7-10.62C0%202.898%203.325%200%207%200%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2218%22%20fill%3D%22none%22%20viewBox%3D%220%200%2014%2018%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M7%209c-.963%200-1.75-.81-1.75-1.8S6.037%205.4%207%205.4s1.75.81%201.75%201.8S7.963%209%207%209m5.25-1.62C12.25%204.113%209.931%201.8%207%201.8S1.75%204.113%201.75%207.38c0%202.106%201.706%204.896%205.25%208.226%203.544-3.33%205.25-6.12%205.25-8.226M7%200c3.675%200%207%202.898%207%207.38%200%202.988-2.336%206.525-7%2010.62-4.664-4.095-7-7.632-7-10.62C0%202.898%203.325%200%207%200%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 14px;
  height: 18px;
}

.c-icontext__news {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8em/14);
}
.c-icontext__news::before {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #333;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M6.286%209.143c.315%200%20.571.256.571.57v5.716a.57.57%200%200%201-.57.571H.57A.57.57%200%200%201%200%2015.429V9.714c0-.315.256-.571.571-.571zm9.143%200c.315%200%20.57.255.571.57v5.716a.57.57%200%200%201-.571.571H9.715a.57.57%200%200%201-.571-.571V9.714c0-.316.255-.571.57-.571zM6.286%200c.315%200%20.571.256.571.571v5.715a.57.57%200%200%201-.57.571H.57A.57.57%200%200%201%200%206.287V.57C0%20.256.256.001.571%200zm9.143%200c.315%200%20.57.256.571.571v5.715a.57.57%200%200%201-.571.571H9.715a.57.57%200%200%201-.571-.57V.57c0-.315.255-.571.57-.571z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M6.286%209.143c.315%200%20.571.256.571.57v5.716a.57.57%200%200%201-.57.571H.57A.57.57%200%200%201%200%2015.429V9.714c0-.315.256-.571.571-.571zm9.143%200c.315%200%20.57.255.571.57v5.716a.57.57%200%200%201-.571.571H9.715a.57.57%200%200%201-.571-.571V9.714c0-.316.255-.571.57-.571zM6.286%200c.315%200%20.571.256.571.571v5.715a.57.57%200%200%201-.57.571H.57A.57.57%200%200%201%200%206.287V.57C0%20.256.256.001.571%200zm9.143%200c.315%200%20.57.256.571.571v5.715a.57.57%200%200%201-.571.571H9.715a.57.57%200%200%201-.571-.57V.57c0-.315.255-.571.57-.571z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 16px;
  height: 16px;
}

.c-icontext__blank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8em/14);
}
.c-icontext__blank::after {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #333;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: calc(11em/14);
  height: calc(11em/14);
}

.c-icontext__blank-w {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8em/14);
}
.c-icontext__blank-w::after {
  content: '';
  display: block;
  cursor: pointer;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22none%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011h8V9.5H1.5V3H0zm3-3h8V0H3zm6.5-1.5h-5v-5h5z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: calc(11em/14);
  height: calc(11em/14);
}

.c-table__scroll {
  overflow-x: auto;
}

.c-table {
  width: 100%;
}

.c-table__th,
.c-table__td {
  font-size: 1.4rem;
  line-height: 1.5;
}

.c-table__th {
  font-weight: normal;
  text-align: left;
}

@media screen and (max-width: 1199px) {
  .c-table,
  .c-table__body,
  .c-table__tr,
  .c-table__th,
  .c-table__td {
    display: block;
  }

  .c-table__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .c-table__tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .c-table__tr:not(:first-child) .c-table__th,
  .c-table__tr:not(:first-child) .c-table__td {
    padding-top: 24px;
  }

  .c-table__th,
  .c-table__td {
    border-bottom: 1px solid #ddd;
    padding-bottom: 24px;
    font-size: 1.6rem;
    vertical-align: baseline;
  }

  .c-table__th {
    padding-right: 40px;
    width: 25%;
  }

  .c-table.c-table__s .c-table__tr:not(:first-child) .c-table__th,
  .c-table.c-table__s .c-table__tr:not(:first-child) .c-table__td {
    padding-top: 16px;
  }
  .c-table.c-table__s .c-table__th,
  .c-table.c-table__s .c-table__td {
    font-size: 1.4rem;
    padding-bottom: 16px;
  }
}
.c-table02 {
  border-collapse: collapse;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
  width: 1000px;
}

.c-table02__th,
.c-table02__td {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-color: #ddd;
  padding: 16px;
}

.c-table02__th {
  background-color: #ebeef2;
  font-weight: inherit;
}

.c-lang {
  display: inline-flex;
  align-items: flex-start;
  gap: 16px;
}

.c-lang__text {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  opacity: .5;
  position: relative;
  text-decoration: none;
}
.c-lang__text::after {
  background: #fff;
  content: '';
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 1px;
  display: none;
}

.c-lang__current {
  opacity: 1;
}
.c-lang__current::after {
  display: block;
}

@media screen and (min-width: 1200px) and (hover: hover) {
  .c-lang__text {
    transition: .24s ease;
  }
  .c-lang__text:hover {
    opacity: 1;
  }
}
.c-news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-news-list__item:not(:first-child) .c-news-list__link {
  padding-top: 16px;
}

.c-news-list__link {
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 0 0 16px;
  border-bottom: 1px solid #ddd;
  text-decoration: none;
}

.c-news-list__date {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
}

.c-news-list__title {
  font-size: 1.6rem;
  line-height: 1.8;
}

@media screen and (min-width: 1200px) {
  .c-news-list__item:not(:first-child) .c-news-list__link {
    padding-top: 24px;
  }

  .c-news-list__link {
    flex-direction: row;
    align-items: center;
    gap: 32px;
    padding: 0 0 24px;
  }

  .c-news-list__date {
    min-width: 126px;
  }

  .c-news-list__title {
    line-height: 2;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
.nav-links {
  display: grid;
  gap: 24px;
}

.page-numbers {
  color: inherit;
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  border-radius: 100%;
}

.page-numbers-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  grid-row: 1/2;
  grid-column: 1/3;
}

.nav-links .dots {
  width: auto;
  opacity: .32;
}
.nav-links .current {
  background-color: #f3f5f7;
}
.nav-links .next,
.nav-links .prev {
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  position: relative;
}
.nav-links .next::before,
.nav-links .prev::before {
  position: absolute;
}
.nav-links .next {
  grid-row: 2/3;
  grid-column: 2/3;
  margin-left: auto;
}
.nav-links .prev {
  grid-row: 2/3;
  grid-column: 1/2;
}
.nav-links .prev::before {
  transform: scaleX(-1);
}

@media screen and (min-width: 1200px) {
  .nav-links {
    display: flex;
    justify-content: center;
    gap: 40px;
  }
  .nav-links .next,
  .nav-links .prev {
    width: 48px;
    height: 48px;
  }
  .nav-links .next {
    margin-left: 0;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .page-numbers {
    transition: .24s ease;
  }
  .page-numbers:not(.prev):not(.next):hover {
    background-color: #f3f5f7;
  }
}
.c-post-nav {
  border-top: 1px solid #ddd;
  padding-top: 64px;
}

.c-post-nav__inner {
  display: grid;
  gap: 24px;
}

.c-post-nav__label {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
}
.c-post-nav__label.is-disabled {
  opacity: 0;
  visibility: hidden;
}

.c-post-nav__label--prev {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}
.c-post-nav__label--prev .c-post-nav__button::before {
  transform: scaleX(-1);
}

.c-post-nav__label--next {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
  flex-direction: row-reverse;
}

.c-post-nav__link {
  grid-row: 2 / 3;
  grid-column: 1 / 3;
  width: 100%;
  max-width: 327px;
  margin: 0 auto;
}

.c-post-nav__button {
  display: inline-flex;
  width: 40px;
  height: 40px;
}

@media screen and (min-width: 1200px) {
  .c-post-nav {
    padding-top: 80px;
  }

  .c-post-nav__inner {
    display: flex;
    gap: 24px;
  }

  .c-post-nav__link {
    max-width: 278px;
  }

  .c-post-nav__button {
    width: 48px;
    height: 48px;
  }
}
.c-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-form__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-form__row {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-form__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-form__label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.c-form__required {
  background-color: var(--clr-main);
  border-radius: 6px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
}

.c-form__col {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.c-form__sublabel {
  font-size: 1.6rem;
  line-height: 1;
}

.c-form__consent {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.c-form__checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.c-form__checkbox-group .wpcf7-checkbox {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.c-form__select {
  position: relative;
}
.c-form__select::after {
  content: '';
  display: block;
  position: absolute;
  top: 24px;
  right: 16px;
  background-color: #333;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2012%208%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M10.59%200%206%204.58%201.41%200%200%201.41l6%206%206-6z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2012%208%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M10.59%200%206%204.58%201.41%200%200%201.41l6%206%206-6z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  width: 12px;
  height: 8px;
  pointer-events: none;
}

.c-form .c-form__tel-extension input[type="tel"] {
  width: 116px;
}

.c-form input::placeholder, .c-form textarea::placeholder {
  color: #b1b1b1;
}
.c-form input:-ms-input-placeholder, .c-form textarea:-ms-input-placeholder {
  color: #b1b1b1;
}
.c-form input::-ms-input-placeholder, .c-form textarea::-ms-input-placeholder {
  color: #b1b1b1;
}
.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form input[type="number"],
.c-form textarea,
.c-form select {
  background-color: var(--clr-base);
  border-radius: 4px;
  font-size: 1.6rem;
  width: 100%;
  transition: .24s ease;
}
.c-form input[type="text"]:focus,
.c-form input[type="email"]:focus,
.c-form input[type="tel"]:focus,
.c-form input[type="number"]:focus,
.c-form textarea:focus,
.c-form select:focus {
  border: none;
  box-shadow: 0 0 0 2px var(--clr-main) inset;
  outline: 0;
}
.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form input[type="number"],
.c-form select {
  padding: 0 16px;
  line-height: 56px;
  height: 56px;
}
.c-form textarea {
  display: block;
  padding: 16px;
  height: 200px;
  resize: vertical;
}
.c-form select {
  background-image: none;
  box-shadow: none;
  cursor: pointer;
  font-size: 1em;
  outline: none;
  padding: 0 40px 0 16px;
  resize: none;
  text-overflow: ellipsis;
  -webkit-appearance: none;
  appearance: none;
}
.c-form select::-ms-expand {
  display: none;
}
.c-form input[type=checkbox] {
  display: none;
}
.c-form input[type=checkbox] + span {
  cursor: pointer;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1;
  padding: 4px 0 4px 28px;
  position: relative;
  transition: color .1s linear;
  vertical-align: middle;
}
.c-form input[type=checkbox] + span:hover {
  color: var(--clr-main);
}
.c-form input[type=checkbox] + span::before {
  background-color: var(--clr-base);
  border-radius: 4px;
  content: '';
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  transition: background-color .1s linear;
  width: 20px;
  height: 20px;
}
.c-form input[type=checkbox] + span::after {
  content: '';
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%2010%22%3E%3Cpath%20fill%3D%22%23017ac6%22%20d%3D%22M12.728%201.414%206.362%207.777l.001.001L4.95%209.192%203.535%207.777%200%204.242l1.414-1.414L4.95%206.363%2011.314%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/13px auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213%22%20height%3D%2210%22%20fill%3D%22none%22%20viewBox%3D%220%200%2013%2010%22%3E%3Cpath%20fill%3D%22%23017ac6%22%20d%3D%22M12.728%201.414%206.362%207.777l.001.001L4.95%209.192%203.535%207.777%200%204.242l1.414-1.414L4.95%206.363%2011.314%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center/13px auto;
  width: 20px;
  height: 20px;
  opacity: 0;
}
.c-form input[type=checkbox]:checked + span::before {
  background-color: var(--clr-main);
}
.c-form input[type=checkbox]:checked + span::after {
  opacity: 1;
}

@media screen and (min-width: 1200px) {
  .c-form {
    gap: 64px;
  }

  .c-form__body {
    display: flex;
    flex-direction: column;
    gap: 56px;
  }

  .c-form__row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
  }

  .c-form__head {
    min-height: 64px;
    width: 240px;
    flex-shrink: 0;
  }

  .c-form__control {
    flex-grow: 1;
  }

  .c-form__col .c-form__head {
    width: auto;
  }

  .c-form__checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .c-form__checkbox-group .wpcf7-checkbox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px 24px;
  }
  .c-form__checkbox-group .wpcf7-list-item.last {
    width: 100%;
  }

  .c-form__select {
    max-width: 400px;
  }
  .c-form__select::after {
    top: 28px;
  }

  .c-form input[type="text"],
  .c-form input[type="email"],
  .c-form input[type="tel"],
  .c-form input[type="number"],
  .c-form select {
    padding: 0 24px;
    line-height: 64px;
    height: 64px;
  }
  .c-form textarea {
    padding: 24px;
  }
  .c-form select {
    padding: 0 40px 0 24px;
  }
}
/* ContactForm7 */
.wpcf7-mail-sent-ok {
  display: none !important;
}

div.wpcf7 .ajax-loader {
  display: none !important;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
  display: none !important;
}

span.wpcf7-list-item {
  margin: 0 !important;
}

div.wpcf7 .wpcf7-submit:disabled {
  background-color: #dadada !important;
}

.wpcf7-spinner {
  display: none !important;
}

.c-case {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.c-case__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-case__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-case__item {
  background-color: var(--clr-base);
  border-radius: 16px;
  color: inherit;
  display: block;
  padding: 24px;
  cursor: pointer;
}

.c-case__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-case__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.c-case__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.c-case__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-case__desc {
  font-size: 1.2rem;
  margin: 0;
  opacity: .4;
}

.c-case__tags {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.c-tag {
  background-color: #fff;
  border-radius: 100px;
  color: var(--clr-main);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  width: fit-content;
  white-space: nowrap;
}

.c-case__button {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.c-case__button::before {
  transform: rotate(-45deg);
}

@media screen and (min-width: 1200px) {
  .c-case {
    gap: 120px;
  }

  .c-case__content {
    gap: 80px;
  }

  .c-case__body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding-left: 24px;
  }

  .c-case__item {
    border-radius: 24px;
    padding: 40px;
  }

  .c-case__inner {
    display: grid;
    justify-content: space-between;
    gap: 8px 40px;
  }

  .c-case__title {
    font-size: 2.2rem;
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }

  .c-case__foot {
    display: contents;
  }

  .c-case__meta {
    grid-row: 2 / 3;
    grid-column: 1 / 2;
  }

  .c-case__desc {
    font-size: 1.4rem;
  }

  .c-case__button {
    width: 48px;
    height: 48px;
    margin: auto;
    grid-row: 1 / 3;
    grid-column: 2 / 3;
  }
}
.c-case-details {
  background-color: #fff;
  border-radius: 16px;
  margin: 0 24px;
}

.c-case-details__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.c-case-details__title {
  color: var(--clr-main);
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 0;
}

.c-case-details__text {
  font-size: 1.2rem;
  margin: 0;
}

@media screen and (max-width: 1199px) {
  .c-case-details__table,
  .c-case-details__body,
  .c-case-details__tr,
  .c-case-details__th,
  .c-case-details__td {
    display: block;
  }

  .c-case-details__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .c-case-details__tr {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 16px;
  }

  .c-case-details__th,
  .c-case-details__td {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .c-case-details__th {
    font-weight: normal;
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .c-case-details {
    border-radius: 24px;
    margin: 0;
  }

  .c-case-details__inner {
    padding: 56px;
  }

  .c-case-details__title {
    font-size: 1.8rem;
  }

  .c-case-details__table {
    border-collapse: collapse;
  }

  .c-case-details__th,
  .c-case-details__td {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 6px 0;
  }

  .c-case-details__th {
    font-weight: normal;
    text-align: left;
    padding-right: 24px;
    width: 24%;
  }

  .c-case-details__td {
    border-left: 1px solid #D9D9D9;
    padding-left: 24px;
  }

  .c-case-details__text {
    font-size: 1.4rem;
  }
}
.c-privacymark {
  border: 1px solid #ddd;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 300px;
  height: 200px;
  margin: 0 auto;
  flex-shrink: 0;
}

.c-member-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, calc(24*100vw/375), 40px);
}

.c-member {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-member__avatar {
  aspect-ratio: 151 / 170;
  overflow: hidden;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22266%22%20height%3D%22300%22%20fill%3D%22none%22%20viewBox%3D%220%200%20266%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22266%22%20height%3D%22300%22%20fill%3D%22%23f3f5f7%22%20rx%3D%2240%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22266%22%20height%3D%22300%22%20fill%3D%22none%22%20viewBox%3D%220%200%20266%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22266%22%20height%3D%22300%22%20fill%3D%22%23f3f5f7%22%20rx%3D%2240%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
}

.c-member__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-member__names {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.c-member__name-en {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1;
}

.c-member__name-ja {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
}

@media screen and (min-width: 700px) {
  .c-member-list {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  }
}
@media screen and (min-width: 1200px) {
  .c-member-list {
    display: flex;
    flex-wrap: wrap;
    gap: 80px 40px;
    padding-left: 64px;
  }

  .c-member__avatar {
    max-width: 266px;
  }

  .c-member__names {
    gap: 8px;
  }

  .c-member__name-en {
    font-size: 1.4rem;
  }

  .c-member__name-ja {
    font-size: 2.4rem;
  }
}
.c-whoweare {
  padding-bottom: 1000px;
  margin-bottom: -1000px;
}

.c-whoweare__slide {
  margin-left: calc(-24*100vw/375);
}

.c-whoweare__swiper {
  pointer-events: none;
}

.c-whoweare__list {
  transition-timing-function: linear !important;
}

.c-whoweare__item {
  max-width: 225px;
  aspect-ratio: 225 / 150;
  overflow: hidden;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22450%22%20height%3D%22300%22%20fill%3D%22none%22%20viewBox%3D%220%200%20450%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22450%22%20height%3D%22300%22%20fill%3D%22%23fff%22%20rx%3D%2216%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22450%22%20height%3D%22300%22%20fill%3D%22none%22%20viewBox%3D%220%200%20450%20300%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22450%22%20height%3D%22300%22%20fill%3D%22%23fff%22%20rx%3D%2216%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
}

.c-whoweare__img {
  object-fit: cover;
  height: 100%;
}

.c-whoweare__bg {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -188px;
  width: 798px;
  height: auto;
  z-index: -1;
}
.c-whoweare__bg svg {
  display: block;
  object-fit: cover;
  vertical-align: top;
  width: 100%;
  height: 100%;
  animation: bg_rotate_right 30s linear infinite;
}

@keyframes bg_rotate_right {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@media screen and (min-width: 1200px) {
  .c-whoweare .c-section__content {
    margin-left: auto;
    width: 51%;
  }

  .c-whoweare__slide {
    margin-left: calc(max(calc(96*100vw/1440), calc((100vw - 1160px) / 2)) * -1);
  }

  .c-whoweare__item {
    max-width: 450px;
  }

  .c-whoweare__bg {
    top: 20px;
    transform: translateX(-50%);
    margin-left: 340px;
    width: 1598px;
  }
  .c-whoweare__bg svg {
    animation-duration: 50s;
  }
}
.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
}

[data-case01="true"] {
  overflow: hidden;
}
[data-case01="true"] .case01 {
  animation: modal-open .3s ease forwards;
}

[data-case01="false"] .case01 {
  animation: modal-close .3s ease forwards;
}

[data-case02="true"] {
  overflow: hidden;
}
[data-case02="true"] .case02 {
  animation: modal-open .3s ease forwards;
}

[data-case02="false"] .case02 {
  animation: modal-close .3s ease forwards;
}

[data-initiative="true"] {
  overflow: hidden;
}
[data-initiative="true"] .initiative {
  animation: modal-open .3s ease forwards;
}

[data-initiative="false"] .initiative {
  animation: modal-close .3s ease forwards;
}

@keyframes modal-open {
  0% {
    opacity: 0;
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes modal-close {
  0% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.c-modal__overlay {
  background-color: var(--clr-modal-bg);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: .72;
}

.c-modal__body {
  height: 100vh;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: 96px 24px;
}

.c-modal__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  transform: translateY(30px);
  opacity: 0;
}

[data-case01="true"] .c-modal__inner,
[data-case02="true"] .c-modal__inner,
[data-initiative="true"] .c-modal__inner {
  transform: translateY(0);
  opacity: 1;
  transition: 0.4s cubic-bezier(0, 0.71, 0.35, 1) 0.1s;
}

.c-modal__utility {
  display: flex;
  justify-content: flex-end;
}

.c-modal__btn {
  width: 48px;
  height: 48px;
  position: relative;
}
.c-modal__btn .c-icon__close-line__top::before,
.c-modal__btn .c-icon__close-line__bottom::before {
  top: 50%;
  animation: none;
}
.c-modal__btn .c-icon__close-line__top {
  transform: rotate(45deg);
}
.c-modal__btn .c-icon__close-line__bottom {
  transform: rotate(-45deg);
}

.c-modal__content {
  margin: 0 -24px;
}

.swiper-button-prev,
.swiper-button-next {
  display: none;
}

@media screen and (min-width: 1200px) {
  .c-modal__body {
    padding: calc(160*100vh/1024) calc(96*100vw/1440) 0;
  }

  .c-modal__inner {
    gap: 18px;
    max-width: 1000px;
    margin: 0 auto;
  }

  .c-modal__utility {
    display: flex;
    justify-content: flex-end;
  }

  .c-modal__content {
    margin: 0;
    position: relative;
  }

  .swiper-button-prev,
  .swiper-button-next {
    display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .swiper-button-prev {
    left: -64px;
  }
  .swiper-button-prev::before {
    transform: scaleX(-1);
  }

  .swiper-button-next {
    right: -64px;
  }
}
.c-business__list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-business__item {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  padding: 24px;
}

.c-business__thumb {
  width: 100%;
}

.c-business__thumb-img {
  border-radius: 8px;
  max-width: none;
  width: 100%;
}

.c-business__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-business__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-business__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
}

.c-business__title-en {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.2;
}

.c-business__title-ja {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-business__bg {
  background: var(--clr-gradient);
  border-radius: 24px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  pointer-events: none;
}

@media screen and (min-width: 1200px) {
  .c-business {
    position: relative;
    z-index: 0;
  }
  .c-business::before {
    background-color: var(--clr-base);
    content: '';
    position: absolute;
    top: calc(638px / 2);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
  }

  .c-business__list {
    margin: 0 auto;
    max-width: 1200px;
  }

  .c-business__item {
    border-radius: 40px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 64px;
    padding: 56px;
  }

  .c-business__thumb {
    max-width: 51%;
    flex-shrink: 0;
  }

  .c-business__thumb-img {
    border-radius: 16px;
  }

  .c-business__body {
    gap: 56px;
  }

  .c-business__meta {
    gap: 40px;
  }

  .c-business__title-en {
    font-size: 4rem;
  }

  .c-business__title-ja {
    font-size: 1.8rem;
  }

  .c-business__bg {
    border-radius: 0 80px 80px 0;
    right: calc(40*100vw/1440);
    bottom: auto;
    height: 638px;
  }
}
.c-history__year {
  display: flex;
  gap: 24px;
}

.c-history__year-head {
  display: flex;
  gap: 24px;
}

.c-history__year-label {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  width: 3em;
}

.c-history__year-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 0px 0px;
}

.c-history__year-marker--cont {
  padding: 0;
}

.c-history__dot {
  width: 8px;
  height: 8px;
  background-color: var(--clr-main);
  border-radius: 4px;
  aspect-ratio: 1;
}

.c-history__line {
  flex-grow: 1;
  width: 1px;
  background-color: #ddd;
  mix-blend-mode: multiply;
}

.c-history__line--prev {
  flex-grow: 0;
  width: 1px;
  height: 12px;
  background-color: #ddd;
  mix-blend-mode: multiply;
}

.c-history__items-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0px 0px 32px;
}

.c-history__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-history__month,
.c-history__text {
  font-size: 1.6rem;
}

@media screen and (min-width: 1200px) {
  .l-history {
    background-color: transparent;
    border-radius: 0;
  }
  .l-history::before {
    background-color: var(--clr-base);
    border-top-right-radius: 80px;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: calc(96*100vw/1440);
    bottom: 0;
    z-index: -1;
  }
  .l-history .c-section__inner {
    padding-bottom: 0;
  }

  .c-history {
    padding: 120px 120px 0;
    width: 100%;
    position: relative;
    z-index: 0;
  }
  .c-history::before {
    background-color: #fff;
    border-top-left-radius: 80px;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: calc(max(calc(96*100vw/1440), calc((100vw - 1160px) / 2)) * -1);
    bottom: 0;
    z-index: -1;
  }

  .c-history__year {
    gap: 64px;
  }

  .c-history__year-head {
    gap: 40px;
  }

  .c-history__year-label {
    font-size: 3.6rem;
  }

  .c-history__year-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 0px 0px;
  }

  .c-history__year-marker--cont {
    padding: 0;
  }

  .c-history__line--prev {
    height: 22px;
  }

  .c-history__items-wrap {
    gap: 32px;
    padding: 8px 0px 48px;
  }

  .c-history__item {
    flex-direction: row;
    gap: 40px;
  }

  .c-history__month {
    flex-shrink: 0;
  }
}
.c-offices {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-office {
  background-color: var(--clr-base);
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border-radius: 16px;
}

.c-office__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.c-office__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.c-office__en {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.c-office__ja {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-office__details {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  font-size: 1.2rem;
}

.c-office__address {
  margin: 0;
}

.c-office__access {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-office__item {
  width: 225px !important;
}

@media screen and (min-width: 1200px) {
  .c-offices {
    gap: 40px;
  }

  .c-office {
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    padding: 56px;
    border-radius: 40px;
  }

  .c-office__panel {
    gap: 24px;
    flex: 1;
  }

  .c-office__title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .c-office__en {
    font-size: 1.6rem;
  }

  .c-office__ja {
    font-size: 2.2rem;
  }

  .c-office__item {
    width: 450px !important;
  }

  .c-office__gmap {
    flex-grow: 1;
    max-width: 47%;
  }
}
.c-gmap iframe {
  border-radius: 8px;
  aspect-ratio: 279 / 192;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 1200px) {
  .c-gmap iframe {
    border-radius: 16px;
  }
}
.c-gallery__photo {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-gallery__swiper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.c-gallery__item-inner {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.c-gallery__item-img {
  aspect-ratio: 225 / 150;
  overflow: hidden;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22225%22%20height%3D%22150%22%20fill%3D%22none%22%20viewBox%3D%220%200%20225%20150%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22225%22%20height%3D%22150%22%20fill%3D%22%23fff%22%20rx%3D%228%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22225%22%20height%3D%22150%22%20fill%3D%22none%22%20viewBox%3D%220%200%20225%20150%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22225%22%20height%3D%22150%22%20fill%3D%22%23fff%22%20rx%3D%228%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
}

.c-gallery__img {
  aspect-ratio: 225 / 150;
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: none;
}

.c-gallery__item-text {
  font-size: 1.2rem;
}

@media screen and (min-width: 1200px) {
  .c-gallery__swiper {
    gap: 40px;
  }

  .c-gallery__item-inner {
    gap: 8px;
  }

  .c-gallery__item-text {
    font-size: 1.4rem;
  }
}
.c-gallery__navigation {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  width: 100%;
}
.c-gallery__navigation::before {
  background-color: #ddd;
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin-right: 16px;
}

.c-gallery__navigation-button {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.c-gallery__navigation-button.swiper-button-disabled {
  opacity: .32;
  pointer-events: none;
}
.c-gallery__navigation-button:not(.swiper-button-disabled) {
  cursor: pointer;
}

.c-gallery__navigation-prev::before {
  transform: scaleX(-1);
}

.swiper-notification {
  display: contents;
}

@media screen and (min-width: 1200px) {
  .c-gallery__navigation::before {
    margin-right: 32px;
  }

  .c-gallery__navigation-button {
    width: 48px;
    height: 48px;
  }
}
.c-philosophy {
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.c-philosophy__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}

.c-philosophy__image {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 64px 44px;
  width: 100%;
}

.c-philosophy__image-img {
  width: 148px;
  object-fit: cover;
}

.c-philosophy__intro-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.c-philosophy__intro-heading {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

.c-philosophy__intro-text {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
}

.c-philosophy__pillars {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-philosophy__pillar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-philosophy__pillar-title {
  font-family: var(--font-family-en);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}

.c-philosophy__pillar-text {
  padding: 0 0 24px;
  border-color: rgba(255, 255, 255, 0.32);
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

@media screen and (min-width: 1200px) {
  .c-philosophy {
    gap: 120px;
  }

  .c-philosophy__intro {
    gap: 80px;
  }

  .c-philosophy__image {
    background-color: #fff;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 120px 44px;
    width: 100%;
  }

  .c-philosophy__image-img {
    width: 268px;
  }

  .c-philosophy__intro-body {
    gap: 40px;
  }

  .c-philosophy__intro-heading {
    font-size: 4rem;
  }

  .c-philosophy__intro-text {
    font-size: 1.8rem;
    line-height: 2.5;
  }

  .c-philosophy__pillars {
    gap: 40px;
    margin: 0 auto;
    max-width: 86%;
  }

  .c-philosophy__pillar {
    flex-direction: row;
    gap: 40px;
  }

  .c-philosophy__pillar-head {
    width: 18%;
    flex-shrink: 0;
  }

  .c-philosophy__pillar-title {
    font-size: 3.2rem;
  }

  .c-philosophy__pillar-text {
    padding: 0 0 40px;
    width: 100%;
  }
}
.c-culture {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.c-culture__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.c-culture__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.c-culture__title-en {
  background: var(--clr-gradient);
  -webkit-background-clip: text !important;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  color: transparent;
  font-family: var(--font-family-en);
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.c-culture__title-ja {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.c-culture__description {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
}

.c-culture__image {
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-culture {
    gap: 80px;
  }

  .c-culture__lead {
    gap: 40px;
  }

  .c-culture__title {
    gap: 16px;
  }

  .c-culture__title-en {
    font-size: 6.6rem;
  }

  .c-culture__title-ja {
    font-size: 2.2rem;
  }

  .c-culture__description {
    font-size: 1.8rem;
    line-height: 2.5;
  }

  .c-culture__image {
    text-align: center;
  }
}
.c-career {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}

.c-career__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.c-career__item {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0px;
  width: 100%;
}

.c-spec {
  border-top: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 24px;
}

.c-spec__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.c-spec__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-spec__meta {
  background-color: #fff;
  border-radius: 16px;
  padding: 24px;
}
.c-spec__meta .c-table {
  width: 100%;
}

@media screen and (min-width: 1200px) {
  .c-career {
    gap: 64px;
  }

  .c-career__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .c-career__item {
    border-radius: 16px;
    padding: 16px 0px;
    width: 100%;
    min-height: 168px;
  }

  .c-spec {
    flex-direction: row;
    gap: 64px;
    padding-top: 64px;
  }

  .c-spec__title {
    font-size: 2.2rem;
  }

  .c-spec__meta {
    padding: 32px;
    flex-shrink: 0;
    max-width: 540px;
    width: 100%;
  }
  .c-spec__meta .c-table__th {
    width: 42%;
  }
}
.c-solution {
  display: flex;
  flex-direction: column;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: solution_list;
}

.c-solution__item {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.c-solution__item:not(:first-child) {
  border-top: 1px solid #ddd;
  padding-top: 24px;
}

.c-solution__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
}
.c-solution__header::before {
  counter-increment: solution_list;
  content: counter(solution_list,decimal-leading-zero);
  position: absolute;
  top: -20px;
  left: -20px;
  font-family: var(--font-family-en);
  font-weight: 500;
  color: var(--clr-base);
  font-size: 6.4rem;
  line-height: 1;
}
.c-solution__header .c-heading02__title {
  position: relative;
}

.c-solution__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.c-solution__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.c-solution__point {
  display: flex;
  flex-direction: column;
  height: 120px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--clr-base);
  border-radius: 8px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-solution {
    gap: 80px;
  }

  .c-solution__item {
    flex-direction: row;
    justify-content: space-between;
    gap: 80px;
  }
  .c-solution__item:not(:first-child) {
    padding-top: 80px;
  }

  .c-solution__header {
    gap: 40px;
  }
  .c-solution__header::before {
    top: -60px;
    left: -40px;
    font-size: 12.8rem;
  }

  .c-solution__list {
    width: 49%;
    flex-shrink: 0;
  }

  .c-solution__point {
    height: 168px;
    padding: 0 64px;
  }
}
.c-initiatives {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-initiatives__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-initiatives__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-initiatives__head-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-initiatives__lead-figure {
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-initiatives {
    gap: 80px;
  }

  .c-initiatives__intro {
    flex-direction: row;
    gap: 56px;
    max-width: 1000px;
    margin: 0 auto;
  }

  .c-initiatives__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .c-initiatives__head-title {
    font-size: 3.2rem;
  }

  .c-initiatives__lead-figure {
    order: -1;
    min-width: 425px;
  }
}
.c-initiatives__groups {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-initiatives__group {
  background-color: var(--clr-base);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 24px;
}

.c-initiatives__lead {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-initiatives__ul {
  font-size: 1.2rem;
}

.c-initiatives__sdg-icons {
  display: flex;
  gap: 8px;
}

.c-initiatives__sdg-icon {
  width: 100px;
}

@media screen and (min-width: 1200px) {
  .c-initiatives__groups {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }

  .c-initiatives__group {
    background-color: var(--clr-base);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 40px;
  }

  .c-initiatives__lead {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .c-initiatives__lead .c-heading03__title {
    font-size: 1.8rem;
    padding: 0 0 24px;
  }

  .c-initiatives__ul {
    font-size: 1.4rem;
  }

  .c-initiatives__sdg-icons {
    margin-top: auto;
  }
}
.c-initiatives__photos {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-initiatives__item {
  width: 200px !important;
}

.c-initiatives__img {
  aspect-ratio: 200 / 133;
}

.c-initiatives__photo {
  aspect-ratio: 200 / 133;
}

@media screen and (min-width: 1200px) {
  .c-initiatives__photos {
    gap: 80px;
  }

  .c-initiatives__item {
    width: 400px !important;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-initiatives__photo {
    transition: .24s ease;
  }

  .c-initiatives__item:hover .c-initiatives__photo {
    transform: scale(1.08);
  }
}
.c-initiative-details {
  background-color: #fff;
  border-radius: 16px;
  margin: 0 24px;
  overflow: hidden;
}

.c-initiative-details__image-img {
  width: 100%;
  height: 307px;
  object-fit: cover;
}

.c-initiative-details__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  width: 100%;
}

.c-initiative-details__title {
  color: var(--clr-main);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 1200px) {
  .c-initiative-details {
    border-radius: 24px;
    margin: 0;
    display: flex;
  }

  .c-initiative-details__image {
    flex-shrink: 0;
  }

  .c-initiative-details__image-img {
    width: 324px;
    height: 100%;
  }

  .c-initiative-details__body {
    gap: 16px;
    padding: 56px;
    justify-content: center;
  }

  .c-initiative-details__title {
    font-size: 2.2rem;
  }
}
.c-talent-development__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  background-color: #fff;
  border-radius: 16px;
}

.c-talent-development__row {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-talent-development__item {
  border-bottom: 1px solid #ddd;
  padding-bottom: 24px;
  width: 100%;
}

.c-talent-development__row:last-child .c-talent-development__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (min-width: 1200px) {
  .c-talent-development__list {
    gap: 40px;
    padding: 40px;
    border-radius: 24px;
  }
  .c-talent-development__list::before {
    background-color: #ddd;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
  }

  .c-talent-development__row {
    display: flex;
    flex-direction: row;
    gap: 40px;
  }
  .c-talent-development__row:first-child {
    order: -1;
  }
  .c-talent-development__row::before {
    background-color: #ddd;
    content: '';
    display: block;
    width: 1px;
  }

  .c-talent-development__item {
    border-bottom: none;
    padding-bottom: 0;
  }
  .c-talent-development__item:first-child {
    order: -1;
  }

  .c-talent-development__row:last-child .c-talent-development__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
.c-talent-development__box {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.c-talent-development__box-head {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-talent-development__headingimg {
  height: clamp(250px, calc(250*100vw/375), 320px);
  position: relative;
  margin-right: calc(-24*100vw/375);
}

.c-talent-development__headingimg-img {
  border-radius: 24px 0 0 24px;
  position: relative;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 1200px) {
  .c-talent-development__box {
    display: flex;
    flex-direction: row;
    gap: 80px;
  }

  .c-talent-development__box-head {
    max-width: 542px;
  }

  .c-talent-development__headingimg {
    position: relative;
    margin-right: calc(calc(100vw - 1160px)/ -2);
    width: 100%;
    height: auto;
    max-height: 508px;
  }

  .c-talent-development__headingimg-img {
    border-radius: 24px 0 0 24px;
    position: relative;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
.c-talent-development__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.c-talent-development__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 1200px) {
  .c-talent-development__title {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-talent-development__head {
    max-width: 520px;
  }
}
.c-faq-btn {
  margin-bottom: 40px;
  width: 100%;
}

@media screen and (min-width: 1200px) {
  .c-faq__wrap {
    display: flex;
    gap: 120px;
  }
}
.c-faq__swiper .swiper-slide:not(.swiper-slide-active) {
  height: 0;
}

.c-faq {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-faq__item {
  cursor: pointer;
}

.c-faq__question {
  background-color: var(--clr-base);
  border-radius: 16px 16px 0 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  font-weight: 700;
}
.c-faq__question .c-section__button {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  margin-left: auto;
}
.c-faq__question::before {
  color: var(--clr-main);
  content: 'Q.';
  display: block;
  font-family: var(--font-family-en);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.c-faq__answer {
  background-color: #fff;
  border-radius: 0 0 16px 16px;
  border: 4px solid var(--clr-base);
  padding: 24px;
}

.c-faq__item .c-faq__answer-wrap {
  display: grid;
  transition: grid-template-rows .35s;
  grid-template-rows: 1fr;
}
.c-faq__item .c-faq__answer {
  overflow: hidden;
  transition: .35s;
}
.c-faq__item .c-faq__answer::before {
  transition: .35s;
}
.c-faq__item:not(.active) .c-faq__question {
  background-color: var(--clr-base);
  border-radius: 16px;
}
.c-faq__item:not(.active) .c-faq__answer-wrap {
  grid-template-rows: 0fr;
}
.c-faq__item:not(.active) .c-faq__answer {
  padding-top: 0;
  padding-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
}
.c-faq__item.active .c-icon__toggle::before {
  transform: scale(1, -1);
}

@media screen and (min-width: 1200px) {
  .c-faq__question {
    gap: 16px;
    padding: 16px 24px;
  }
  .c-faq__question .c-section__button {
    width: 44px;
    height: 44px;
  }
  .c-faq__question::before {
    font-size: 3.2rem;
  }

  .c-faq__answer {
    padding: 32px;
  }
}
.c-case-btn {
  background-color: #333;
  border-radius: 24px;
  color: #fff;
  display: block;
  position: relative;
  z-index: 0;
  text-decoration: none;
}
.c-case-btn::before {
  background-image: url(../images/ses/results_bg.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: .56;
}

.c-case-btn__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media screen and (min-width: 1200px) {
  .c-case-btn {
    border-radius: 0 80px 80px 0;
    margin-right: calc(96*100vw/1440);
  }
  .c-case-btn .c-section__inner {
    padding: 160px 0;
  }
  .c-case-btn .c-heading02__title {
    max-width: 280px;
  }

  .c-case-btn__content {
    flex-direction: row;
    align-items: flex-end;
    gap: 180px;
  }

  .c-case-btn__body {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 160px;
  }

  .c-case-btn__button {
    width: 72px;
    height: 72px;
  }
}
.c-job {
  border-top: 1px solid #ddd;
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.c-job__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 1200px) {
  .c-job {
    padding-top: 120px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 120px;
  }
  .c-job .c-table__th, .c-job .c-table__td {
    font-size: 1.4rem;
  }

  .c-job__title {
    font-size: 2.2rem;
    flex-shrink: 0;
  }
}
.c-freelance {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
}

.c-freelance__salary {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-freelance__salary-title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-freelance__salary-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.c-freelance__salary-item {
  background-color: var(--clr-base);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  width: 100%;
}

.c-freelance__salary-text {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-freelance {
    border-radius: 24px;
    gap: 40px;
    padding: 64px;
  }

  .c-freelance__salary-title {
    font-size: 1.8rem;
  }

  .c-freelance__salary-list {
    flex-direction: row;
    gap: 8px;
  }

  .c-freelance__salary-item {
    flex-direction: row;
    gap: 32px;
    padding: 16px 24px;
    width: 100%;
  }

  .c-freelance__salary-text {
    font-size: 1.3rem;
  }
}
.c-member-btn {
  background: var(--clr-gradient);
  border-radius: 24px;
  color: #fff;
  display: block;
  position: relative;
  z-index: 0;
  text-decoration: none;
}
.c-member-btn .c-section__button-text {
  justify-content: center;
}
.c-member-btn::before {
  background-image: url(../images/recruit/member_bg_sp.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: .1;
}

@media screen and (min-width: 1200px) {
  .c-member-btn {
    border-radius: 80px;
    max-width: 1600px;
    margin: 0 auto;
  }
  .c-member-btn .c-section__button-area {
    justify-content: flex-start;
  }
  .c-member-btn .c-section__button-text {
    justify-content: flex-start;
  }
  .c-member-btn .c-link__line::after {
    background-color: #fff;
  }
  .c-member-btn .c-section__inner {
    padding: 160px 0;
    max-width: none;
  }
  .c-member-btn::before {
    background-image: url(../images/recruit/member_bg_pc.png);
    background-position: center right;
    background-size: cover;
    opacity: .32;
  }
}
.c-message {
  position: relative;
  z-index: 0;
}
.c-message::before {
  background: linear-gradient(180deg, #F3F5F7 0%, rgba(243, 245, 247, 0) 100%);
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22984%22%20height%3D%22984%22%20fill%3D%22none%22%20viewBox%3D%220%200%20984%20984%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M497.431%20168.534c48.937-32.595%20180.021-103.849%20235.987-96.38%2043.402%205.71%20102.268%2084.167%20136.972%20109.031%2040.766%2029.345%2093.305%2033.65%20113.337%2092.603h.175v52.628c-32.77%2033.913-8.962%2072.922-8.346%20109.207%201.669%20100.685.175%20171.851-42.524%20265.069-50.518%20110.262-96.644%20111.052-216.22%2099.104-149.27-15.024-273.151-157.179-214.813-306.801-148.832%20149.183-76.261%20373.485%2087.595%20477.861l-52.539%2013.091H449.46l-90.055-19.505c-23.282-12.125-54.56-108.329-63.258-138.377-56.317-194.869-44.632-415.13%2097.962-568.18%2083.905-3.426%20167.019-5.71%20249.782%209.666%20156.387%2029.081%20248.375%20110.437%20115.533%20250.747l-77.842%2071.166c95.238-40.767%20315.147-186.876%20280.619-307.242-31.629-110.349-309.612-126.076-402.918-104.462zM239.392%20273.876C148.107%20388.794%2066.135%20519.177%2046.631%20668.36%2026.336%20652.019%206.04%20587.97%202.965%20563.194c-3.954-30.926-3.954-109.384%200-140.31l-.088-.088c2.021-16.167%2032.684-111.229%2043.93-118.257zM440.851%202.043c24.424-2.724%2071.956-2.724%2096.38%200l-.087-.088C582.566%207.05%20670.249%2031.036%20703.547%2063.28c-102.179-1.406-205.062%2040.327-294.941%2086.276-30.486%2015.639-59.743%2045.862-90.493%2058.426-79.248%2032.42-186.436%2042.173-267.002%2083.466C90.735%20182.416%20194.408%2085.42%20300.893%2041.667c34.352-14.145%20104.726-35.67%20139.958-39.624%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22984%22%20height%3D%22984%22%20fill%3D%22none%22%20viewBox%3D%220%200%20984%20984%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M497.431%20168.534c48.937-32.595%20180.021-103.849%20235.987-96.38%2043.402%205.71%20102.268%2084.167%20136.972%20109.031%2040.766%2029.345%2093.305%2033.65%20113.337%2092.603h.175v52.628c-32.77%2033.913-8.962%2072.922-8.346%20109.207%201.669%20100.685.175%20171.851-42.524%20265.069-50.518%20110.262-96.644%20111.052-216.22%2099.104-149.27-15.024-273.151-157.179-214.813-306.801-148.832%20149.183-76.261%20373.485%2087.595%20477.861l-52.539%2013.091H449.46l-90.055-19.505c-23.282-12.125-54.56-108.329-63.258-138.377-56.317-194.869-44.632-415.13%2097.962-568.18%2083.905-3.426%20167.019-5.71%20249.782%209.666%20156.387%2029.081%20248.375%20110.437%20115.533%20250.747l-77.842%2071.166c95.238-40.767%20315.147-186.876%20280.619-307.242-31.629-110.349-309.612-126.076-402.918-104.462zM239.392%20273.876C148.107%20388.794%2066.135%20519.177%2046.631%20668.36%2026.336%20652.019%206.04%20587.97%202.965%20563.194c-3.954-30.926-3.954-109.384%200-140.31l-.088-.088c2.021-16.167%2032.684-111.229%2043.93-118.257zM440.851%202.043c24.424-2.724%2071.956-2.724%2096.38%200l-.087-.088C582.566%207.05%20670.249%2031.036%20703.547%2063.28c-102.179-1.406-205.062%2040.327-294.941%2086.276-30.486%2015.639-59.743%2045.862-90.493%2058.426-79.248%2032.42-186.436%2042.173-267.002%2083.466C90.735%20182.416%20194.408%2085.42%20300.893%2041.667c34.352-14.145%20104.726-35.67%20139.958-39.624%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  content: '';
  position: absolute;
  right: 10px;
  bottom: 24px;
  width: 340px;
  aspect-ratio: 984 / 984;
  z-index: -1;
}
.c-message .c-section__inner {
  padding-top: calc(56px - 24px);
}

.c-message__content {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-message__body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.c-message__text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
}

.c-message__sign {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 24px;
}

.c-message__position {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.c-message__name {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
}

.c-message__photo {
  width: 184px;
  aspect-ratio: 184 / 200;
  overflow: hidden;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22386%22%20height%3D%22420%22%20fill%3D%22none%22%20viewBox%3D%220%200%20386%20420%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22386%22%20height%3D%22420%22%20fill%3D%22%23d9d9d9%22%20rx%3D%2264%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22386%22%20height%3D%22420%22%20fill%3D%22none%22%20viewBox%3D%220%200%20386%20420%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22386%22%20height%3D%22420%22%20fill%3D%22%23d9d9d9%22%20rx%3D%2264%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
}

.c-message__photo-img {
  object-fit: cover;
  height: 100%;
}

@media screen and (min-width: 1200px) {
  .c-message::before {
    top: 70px;
    left: 50%;
    right: auto;
    bottom: auto;
    margin-left: -338px;
    transform: translateX(-50%);
    width: 984px;
  }
  .c-message .c-section__inner {
    padding-top: 0;
    padding-bottom: 0;
  }

  .c-message__content {
    gap: 0;
  }

  .c-message__body {
    margin-left: auto;
    gap: 80px;
    width: 51%;
  }

  .c-message__text {
    line-height: 2.8;
  }

  .c-message__sign {
    gap: 32px;
  }

  .c-message__position {
    font-size: 2.1rem;
  }

  .c-message__name {
    font-size: 3.8rem;
  }

  .c-message__photo {
    width: 386px;
    margin-left: 40px;
  }
}
.c-recruit__slide {
  position: relative;
}
.c-recruit__slide .c-section__inner {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: calc(56px + 24px);
}

.c-recruit__slide-catch {
  position: absolute;
  left: 24px;
  bottom: 0;
  margin: 0;
  z-index: 2;
}

.c-recruit__slide-catch-img {
  width: 300px;
}

.c-recruit__swiper {
  pointer-events: none;
  z-index: 1;
}

.c-recruit__list {
  transition-timing-function: linear !important;
}

.c-recruit__item {
  max-width: 288px;
  aspect-ratio: 288 / 260;
  overflow: hidden;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22576%22%20height%3D%22520%22%20fill%3D%22none%22%20viewBox%3D%220%200%20576%20520%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22576%22%20height%3D%22520%22%20fill%3D%22%23d9d9d9%22%20rx%3D%2256%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22576%22%20height%3D%22520%22%20fill%3D%22none%22%20viewBox%3D%220%200%20576%20520%22%20preserveAspectRatio%3D%22none%22%3E%3Crect%20width%3D%22576%22%20height%3D%22520%22%20fill%3D%22%23d9d9d9%22%20rx%3D%2256%22%2F%3E%3C%2Fsvg%3E") no-repeat center/100% auto;
}
.c-recruit__item.is-even {
  margin-top: 44px;
}

.c-recruit__img {
  object-fit: cover;
  height: 100%;
}

@media screen and (min-width: 1200px) {
  .c-recruit__slide {
    padding: 0;
  }
  .c-recruit__slide .c-section__inner {
    gap: 80px;
    padding: 40px 0 180px;
    max-width: none;
  }

  .c-recruit__slide-catch {
    left: 50%;
    margin-left: calc(-192*100vw/1440);
    transform: translateX(-50%);
  }

  .c-recruit__slide-catch-img {
    width: 854px;
  }

  .c-recruit__item {
    max-width: 576px;
    aspect-ratio: 576 / 520;
  }
  .c-recruit__item.is-even {
    margin-top: 88px;
  }
}
.c-recruit__section01,
.c-recruit__section02 {
  margin-bottom: 56px;
}

.c-recruit__section01 {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: 0;
}

.c-recruit__section02 {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.c-recruit__photo01,
.c-recruit__photo02 {
  height: 250px;
  position: relative;
}
.c-recruit__photo01::before,
.c-recruit__photo02::before {
  background-color: #fff;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 50%;
}

.c-recruit__section__img {
  position: relative;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-recruit__photo01 {
  padding-left: 24px;
}
.c-recruit__photo01 .c-recruit__section__img {
  border-radius: 24px 0 0 24px;
}

.c-recruit__photo02 {
  padding-right: 24px;
}
.c-recruit__photo02 .c-recruit__section__img {
  border-radius: 0 24px 24px 0;
}

@media screen and (min-width: 1200px) {
  .c-recruit__section01,
  .c-recruit__section02 {
    background-color: transparent;
    border-radius: 0;
    margin-bottom: 120px;
    display: flex;
    gap: calc(120*100vw/1440);
    z-index: 0;
  }
  .c-recruit__section01::before,
  .c-recruit__section02::before {
    background-color: var(--clr-base);
    content: '';
    position: absolute;
    top: 120px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
  }
  .c-recruit__section01 .c-section__inner,
  .c-recruit__section02 .c-section__inner {
    max-width: none;
    width: 38%;
    margin-top: 120px;
  }
  .c-recruit__section01 .c-section__content,
  .c-recruit__section02 .c-section__content {
    max-width: 504px;
  }

  .c-recruit__section01 {
    flex-direction: row-reverse;
    padding-right: 0;
  }
  .c-recruit__section01::before {
    border-radius: 0 80px 80px 0;
    right: 96px;
  }
  .c-recruit__section01 .c-section__content {
    margin-left: auto;
  }

  .c-recruit__section02 {
    padding-left: 0;
  }
  .c-recruit__section02::before {
    border-radius: 80px 0 0 80px;
    left: 96px;
  }

  .c-recruit__photo01,
  .c-recruit__photo02 {
    height: 560px;
    flex-grow: 1;
  }
  .c-recruit__photo01::before,
  .c-recruit__photo02::before {
    display: none;
  }

  .c-recruit__photo01 {
    padding-left: 0;
  }
  .c-recruit__photo01 .c-recruit__section__img {
    border-radius: 80px 0 0 80px;
  }

  .c-recruit__photo02 {
    padding-right: 0;
  }
  .c-recruit__photo02 .c-recruit__section__img {
    border-radius: 0 80px 80px 0;
  }
}
.c-recruit__section__button-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-recruit__section__button-item:not(:first-child) .c-recruit__section__button-text {
  padding-top: 24px;
}

.c-recruit__section__button-text {
  color: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  padding-bottom: 24px;
  position: relative;
}
.c-recruit__section__button-text::before, .c-recruit__section__button-text::after {
  content: '';
  position: absolute;
  left: auto;
  right: 0;
  bottom: 0;
  height: 1px;
}
.c-recruit__section__button-text::before {
  background: #ddd;
  width: 100%;
}

@media screen and (min-width: 1200px) and (hover: hover) {
  .c-recruit__section__button-text::after {
    background: var(--clr-main);
    transition: .24s ease;
    width: 0;
  }

  .c-recruit__section__button-text:hover::after {
    left: 0;
    right: auto;
    width: 100%;
  }
}
.c-cta + .l-footer {
  border-radius: 0;
}

.c-cta {
  padding: 0 calc(16*100vw/375);
  position: relative;
  z-index: 1;
}
.c-cta::after {
  background-color: var(--clr-accent);
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 320px;
  z-index: -1;
}

.c-cta-bg01 {
  background-color: var(--clr-base);
}

.c-cta__inner {
  background-color: var(--clr-main);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 24px;
  overflow: hidden;
}

.c-cta__item {
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 40px 0;
  width: 100%;
  text-decoration: none;
}
.c-cta__item:first-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
}

.c-cta-title {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}

.c-cta-title__en {
  font-family: var(--font-family-en);
  font-size: 3.2rem;
  line-height: 1.2;
}

.c-cta-title__ja {
  font-size: 1.4rem;
  line-height: 1.5;
}

.c-cta__button {
  width: 54px;
  height: 54px;
}

@media screen and (min-width: 1200px) {
  .c-cta {
    padding: 0 40px;
  }
  .c-cta::after {
    height: 180px;
  }

  .c-cta__inner {
    flex-direction: row;
    align-items: center;
    border-radius: 40px;
    max-width: 1280px;
    width: 100%;
    height: 360px;
    margin: 0 auto;
  }

  .c-cta__item {
    gap: 40px;
    height: 100%;
  }
  .c-cta__item:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.32);
    border-bottom: none;
  }

  .c-cta-title__en {
    font-size: 5.6rem;
  }

  .c-cta-title__ja {
    font-size: 1.8rem;
  }

  .c-cta__button {
    width: 72px;
    height: 72px;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-cta__item {
    position: relative;
    z-index: 0;
  }
  .c-cta__item::before {
    background-color: #fff;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: -1;
    transition: .24s ease;
  }
  .c-cta__item:hover::before {
    opacity: .05;
  }
}
.c-recruit-cta {
  overflow: hidden;
  position: relative;
}

.c-recruit-cta__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 56px 24px 80px;
}

.c-recruit-cta__message {
  font-size: 2.2rem;
  line-height: 1.8;
  font-weight: 700;
  text-align: center;
}

.c-recruit-cta__btn-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.c-recruit-cta__btn {
  border-radius: 24px;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 24px 40px;
  width: 100%;
  text-decoration: none;
}

.c-recruit-cta__btn--engage {
  background-color: #f3f5f7;
}

.c-recruit-cta__btn--entry {
  background: var(--clr-gradient);
  color: #fff;
}

.c-recruit-cta__btn-inner {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 160px;
}

.c-recruit-cta__btn-border {
  display: none;
}

.c-recruit-cta__btn-text {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
}

.c-recruit-cta__btn-label {
  font-family: var(--font-family-en);
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
}

.c-recruit-cta__arrow {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.c-recruit-cta__tagline {
  position: absolute;
  left: 24px;
  bottom: 0;
  width: 100%;
  height: 68px;
}

.c-recruit-cta__tagline-text {
  color: var(--clr-base);
  font-family: var(--font-family-en);
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
}

.c-recruit-cta__tagline-text {
  animation: tagline 20s linear infinite;
}

@keyframes tagline {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 1200px) {
  .c-recruit-cta__inner {
    gap: 80px;
    padding: 120px calc(96*100vw/1440);
  }

  .c-recruit-cta__message {
    font-size: 3.2rem;
    line-height: 2;
  }

  .c-recruit-cta__btn-area {
    flex-direction: row;
    gap: 40px;
  }

  .c-recruit-cta__btn {
    border-radius: 40px;
    gap: 32px;
    padding: 40px;
    max-width: 640px;
  }

  .c-recruit-cta__btn-inner {
    flex-direction: row;
    gap: 40px;
    width: auto;
  }

  .c-recruit-cta__logo {
    max-width: 252px;
  }

  .c-recruit-cta__btn-border {
    background-color: #fff;
    display: block;
    width: 1px;
    height: 40px;
    opacity: .5;
    order: 1;
  }

  .c-recruit-cta__btn--engage .c-recruit-cta__btn-border {
    background-color: #D9D9D9;
    opacity: 1;
  }

  .c-recruit-cta__btn-text {
    font-size: 1.4rem;
    order: 2;
  }

  .c-recruit-cta__btn--entry .c-recruit-cta__btn-text {
    font-size: 2rem;
  }

  .c-recruit-cta__btn-label {
    font-size: 4.8rem;
  }

  .c-recruit-cta__tagline {
    height: 206px;
  }

  .c-recruit-cta__tagline-text {
    font-size: 24rem;
    animation: tagline 40s linear infinite;
  }
}
.c-breadcrumb {
  display: none;
  visibility: hidden;
}

@media screen and (min-width: 1200px) {
  .c-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    visibility: visible;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .c-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 24px;
  }
  .c-breadcrumb__item:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 12px;
    background-color: #333;
    transform: rotate(-150deg);
    opacity: .4;
  }

  .c-breadcrumb__text {
    color: inherit;
    font-size: 1.2rem;
    line-height: 1;
    text-decoration: none;
  }
}
.c-top__news {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.c-top__news .c-section__button-area {
  order: 1;
}

.c-top__news-head {
  display: contents;
}

@media screen and (min-width: 1200px) {
  .c-top__news {
    flex-direction: row;
    gap: 120px;
  }
  .c-top__news .c-section__button-area {
    justify-content: flex-start;
  }
  .c-top__news .c-news-list {
    flex-grow: 1;
  }

  .c-top__news-head {
    display: flex;
    flex-direction: column;
    gap: 56px;
  }
}
.c-top__sustainability {
  padding-bottom: 1000px;
  margin-bottom: -1000px;
}

.c-top__sustainability-bg {
  position: absolute;
  top: 0;
  right: 50%;
  margin-right: -188px;
  width: 798px;
  height: auto;
  z-index: -1;
}
.c-top__sustainability-bg svg {
  display: block;
  object-fit: cover;
  vertical-align: top;
  width: 100%;
  height: 100%;
  animation: bg_rotate_left 30s linear infinite;
}

@keyframes bg_rotate_left {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media screen and (min-width: 1200px) {
  .c-top__sustainability .c-section__content {
    width: 50%;
  }
  .c-top__sustainability .c-heading__catch {
    font-size: 4rem;
  }

  .c-top__sustainability-bg {
    top: 320px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    margin-right: 0;
    margin-left: -468px;
    width: 1598px;
  }
  .c-top__sustainability-bg svg {
    animation-duration: 50s;
  }
}
@media screen and (min-width: 1200px) {
  .c-ses__catch .c-section__inner {
    max-width: 1160px;
    gap: 120px;
  }
  .c-ses__catch .c-heading__catch {
    max-width: 400px;
  }
}
.c-ses__approach {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.c-ses__approach-photo {
  padding-right: calc(24*100vw/375);
  height: clamp(250px, calc(250*100vw/375), 320px);
  position: relative;
}
.c-ses__approach-photo::before {
  background-color: #fff;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 50%;
}

.c-ses__approach-photo__img {
  border-radius: 0 24px 24px 0;
  position: relative;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-ses__approach-figure {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.c-ses__approach-image {
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-ses__approach-photo {
    padding-right: 0;
    height: clamp(500px, calc(500*100vw/1440), 560px);
    margin: 0 calc(-96*100vw/1440);
    padding-right: calc(96*100vw/1440);
  }

  .c-ses__approach-photo__img {
    border-radius: 0 80px 80px 0;
  }

  .c-ses__approach-figure {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }

  .c-ses__approach-text {
    line-height: 2.5;
  }
}
@media screen and (min-width: 1200px) {
  .c-ses__solution-box02 {
    align-items: flex-end;
    gap: 320px;
  }
  .c-ses__solution-box02 .c-heading02__title {
    max-width: 360px;
  }
}
@media screen and (min-width: 1200px) {
  .c-submenu__overlay {
    opacity: 0;
    visibility: hidden;
  }
  .c-submenu__overlay::before {
    background-color: var(--clr-modal-bg);
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .72;
  }

  [data-submenu="true"] {
    overflow: hidden;
  }
  [data-submenu="true"] .c-submenu__overlay {
    animation: modal-submenu-open .3s ease forwards;
  }

  [data-submenu="false"] .c-submenu__overlay {
    animation: modal-submenu-close .3s ease forwards;
  }

  @keyframes modal-submenu-open {
    0% {
      opacity: 0;
      visibility: visible;
    }
    100% {
      opacity: 1;
      visibility: visible;
    }
  }
  @keyframes modal-submenu-close {
    0% {
      opacity: 1;
      visibility: visible;
    }
    100% {
      opacity: 0;
      visibility: hidden;
    }
  }
  .c-submenu__wrap {
    position: absolute;
    right: 88px;
    bottom: 0;
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    transition: .2s ease;
  }

  .c-header__mainnav-item:hover .c-header__mainnav-link::after {
    display: block;
  }
  .c-header__mainnav-item:hover .c-submenu__wrap {
    opacity: 1;
    visibility: visible;
  }

  .c-submenu {
    background-color: #fff;
    border-radius: 16px;
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    gap: 40px;
    padding: 40px;
    position: relative;
  }

  .c-submenu__inner {
    display: flex;
    justify-content: space-between;
    gap: 120px;
  }

  .c-submenu__header {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .c-submenu__en {
    font-family: var(--font-family-en);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .c-submenu__en-text {
    background: var(--clr-gradient);
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }

  .c-submenu__ja {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }

  .c-submenu__link {
    color: inherit;
    text-decoration: none;
  }

  .c-submenu__content {
    display: flex;
    justify-content: space-between;
    gap: 80px;
    min-width: 500px;
  }

  .c-submenu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 80px;
  }

  .c-submenu__list-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .c-submenu__item {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
  }

  .c-submenu__image {
    border-radius: 8px;
    max-width: 200px;
    aspect-ratio: 200 / 134px;
    overflow: hidden;
  }

  .c-submenu__img {
    object-fit: cover;
    height: 100%;
  }
}
.c-heading__title {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  flex-shrink: 0;
}

.c-heading__title-en {
  font-family: var(--font-family-en);
  font-size: 3.2rem;
  line-height: 1.2;
}

.c-heading__title-en__text {
  background: var(--clr-gradient);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.c-heading__title-ja {
  font-size: 1.4rem;
  line-height: 1.5;
}

.c-heading__title-date {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
}

.c-heading__title-news {
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}

@media screen and (min-width: 1200px) {
  .c-heading__title-en {
    font-size: 5.6rem;
  }

  .c-heading__title-ja {
    font-size: 1.8rem;
  }

  .c-heading__title-news {
    font-size: 3.2rem;
  }
}
.c-heading__catch {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  flex-shrink: 0;
}

@media screen and (min-width: 1200px) {
  .c-heading__catch {
    font-size: 5.6rem;
  }
}
.c-heading__catch02 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media screen and (min-width: 1200px) {
  .c-heading__catch02 {
    font-size: 4rem;
  }
}
.c-heading02__title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  flex-shrink: 0;
}

.c-heading02__title-en,
.c-heading02__title-en02 {
  color: var(--clr-main);
  font-family: var(--font-family-en);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}

.c-heading02__title-en02 {
  font-size: 2rem;
}

.c-heading02__title-ja {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.c-heading02__title02-ja {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 1200px) {
  .c-heading02__title {
    gap: 8px;
  }

  .c-heading02__title-en {
    font-size: 1.8rem;
  }

  .c-heading02__title-en02 {
    font-size: 3.2rem;
  }

  .c-heading02__title-ja {
    font-size: 3.2rem;
  }

  .c-heading02__title02-ja {
    font-size: 4rem;
    line-height: 1.5;
  }
}
.c-heading03__title {
  border-bottom: 1px solid #ddd;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  padding: 0 0 24px;
}

@media screen and (min-width: 1200px) {
  .c-heading03__title {
    font-size: 2.2rem;
    padding: 0 0 32px;
  }
}
.c-heading04__title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media screen and (min-width: 1200px) {
  .c-heading04__title {
    font-size: 1.8rem;
  }
}
.c-heading__title-w {
  background: none;
  background-clip: border-box;
  -webkit-text-fill-color: currentcolor;
  color: #fff;
}

.c-ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-ul__li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-ul__li::before {
  content: '・';
}

.c-ol {
  list-style: decimal;
  padding-left: 1.75em;
}

.c-ul-design {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.c-ul__li-design {
  line-height: 1.5;
  padding-left: 1em;
  position: relative;
}
.c-ul__li-design::before {
  background-color: var(--clr-main);
  content: '';
  display: inline-block;
  position: absolute;
  top: .5em;
  left: 0;
  width: calc(6em/12);
  height: calc(6em/12);
  border-radius: 100%;
}

.c-list-btn__list {
  list-style: none;
  padding: 0;
  margin: 0;
  column-count: 2;
  column-gap: 8px;
  width: 100%;
  margin-bottom: -20px;
}

.c-list-btn__item {
  margin-bottom: 20px;
}

.c-list-btn__text {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: .4;
  cursor: pointer;
}
.c-list-btn__text::before {
  background-color: var(--clr-main);
  border-radius: 100%;
  content: '';
  display: block;
  width: calc(5em/12);
  height: calc(5em/12);
  opacity: 0;
}

.is-active .c-list-btn__text {
  color: var(--clr-main);
  opacity: 1;
}
.is-active .c-list-btn__text::before {
  opacity: 1;
}

@media screen and (min-width: 1200px) {
  .c-list-btn {
    flex-shrink: 0;
    margin-bottom: 0;
    width: auto;
  }

  .c-list-btn__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    column-count: auto;
    margin-bottom: 0;
  }

  .c-list-btn__item {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1200px) and (hover: hover) {
  .c-list-btn__item:not(.is-active) .c-list-btn__text {
    transition: .24s ease;
  }

  .c-list-btn__item:not(.is-active) .c-list-btn__text:hover {
    color: var(--clr-main);
    opacity: 1;
  }
}
.c-fnavi-btn {
  display: none;
}

@media screen and (min-width: 1200px) {
  .c-fnavi-btn {
    display: block;
    position: fixed;
    top: max(160px, 24%);
    left: 40px;
    z-index: 99;
    width: max-content;
    opacity: 0;
    transition: .3s ease .1s;
  }

  .c-fnavi-btn__text {
    width: max-content;
  }

  [data-headeranime="true"] .c-fnavi-btn {
    opacity: 1;
  }
}
.c-text {
  margin: 0;
}

.c-text__b {
  font-size: 1.2rem;
  line-height: 2;
  margin: 0;
}

.c-text__s {
  font-size: 1.2rem;
  line-height: 2;
  margin: 0;
}

@media screen and (min-width: 1200px) {
  .c-text__s {
    font-size: 1.4rem;
  }
}
.is-text-color {
  color: var(--clr-main);
}

@media screen and (min-width: 1200px) {
  [data-effect*="on"] {
    opacity: 0;
  }
  [data-effect*="on"][data-effect*="left"] {
    transform: translateX(30px);
  }
  [data-effect*="on"][data-effect*="right"] {
    transform: translateX(-30px);
  }
  [data-effect*="on"][data-effect*="top"] {
    transform: translateY(30px);
  }
  [data-effect*="on"][data-effect*="bottom"] {
    transform: translateY(-30px);
  }
  [data-effect*="on"][data-effect*="bounce"] {
    transform-origin: bottom;
    transform: translateY(10px) scale(0.95);
  }

  [data-effect*="on"][data-effect*="show"] {
    opacity: 1;
    transition-property: opacity;
    transition-duration: .6s;
    transition-timing-function: ease;
    transition-delay: .15s;
  }
  [data-effect*="on"][data-effect*="show"][data-effect*="left"], [data-effect*="on"][data-effect*="show"][data-effect*="right"], [data-effect*="on"][data-effect*="show"][data-effect*="top"], [data-effect*="on"][data-effect*="show"][data-effect*="bottom"], [data-effect*="on"][data-effect*="show"][data-effect*="bounce"] {
    transform: none;
    transition-property: opacity, transform;
  }
  [data-effect*="on"][data-effect*="show"][data-effect*="bounce"] {
    transition-timing-function: cubic-bezier(0.68, -0.52, 0.33, 1.6);
  }
  [data-effect*="on"][data-effect*="show"][data-effect*="delay"] {
    transition-delay: .3s;
  }
  [data-effect*="on"][data-effect*="show"][data-effect*="delay2"] {
    transition-delay: .45s;
  }
  [data-effect*="on"][data-effect*="show"][data-effect*="delay3"] {
    transition-delay: .6s;
  }
}
[data-split-text] {
  display: block;
  overflow: hidden;
}
[data-split-text] > span {
  display: inline-block;
  transform: translateY(100%);
  transition: transform 0.64s cubic-bezier(0.25, 0, 0.05, 1);
}
[data-split-text] > span:nth-child(1) {
  transition-delay: 0.03s;
}
[data-split-text] > span:nth-child(2) {
  transition-delay: 0.06s;
}
[data-split-text] > span:nth-child(3) {
  transition-delay: 0.09s;
}
[data-split-text] > span:nth-child(4) {
  transition-delay: 0.12s;
}
[data-split-text] > span:nth-child(5) {
  transition-delay: 0.15s;
}
[data-split-text] > span:nth-child(6) {
  transition-delay: 0.18s;
}
[data-split-text] > span:nth-child(7) {
  transition-delay: 0.21s;
}
[data-split-text] > span:nth-child(8) {
  transition-delay: 0.24s;
}
[data-split-text] > span:nth-child(9) {
  transition-delay: 0.27s;
}
[data-split-text] > span:nth-child(10) {
  transition-delay: 0.3s;
}
[data-split-text] > span:nth-child(11) {
  transition-delay: 0.33s;
}
[data-split-text] > span:nth-child(12) {
  transition-delay: 0.36s;
}
[data-split-text] > span:nth-child(13) {
  transition-delay: 0.39s;
}
[data-split-text] > span:nth-child(14) {
  transition-delay: 0.42s;
}
[data-split-text] > span:nth-child(15) {
  transition-delay: 0.45s;
}
[data-split-text] > span:nth-child(16) {
  transition-delay: 0.48s;
}
[data-split-text] > span:nth-child(17) {
  transition-delay: 0.51s;
}
[data-split-text] > span:nth-child(18) {
  transition-delay: 0.54s;
}
[data-split-text] > span:nth-child(19) {
  transition-delay: 0.57s;
}
[data-split-text] > span:nth-child(20) {
  transition-delay: 0.6s;
}
[data-split-text] + [data-split-text] > span:nth-child(1) {
  transition-delay: 0.035s;
}
[data-split-text] + [data-split-text] > span:nth-child(2) {
  transition-delay: 0.07s;
}
[data-split-text] + [data-split-text] > span:nth-child(3) {
  transition-delay: 0.105s;
}
[data-split-text] + [data-split-text] > span:nth-child(4) {
  transition-delay: 0.14s;
}
[data-split-text] + [data-split-text] > span:nth-child(5) {
  transition-delay: 0.175s;
}
[data-split-text] + [data-split-text] > span:nth-child(6) {
  transition-delay: 0.21s;
}
[data-split-text] + [data-split-text] > span:nth-child(7) {
  transition-delay: 0.245s;
}
[data-split-text] + [data-split-text] > span:nth-child(8) {
  transition-delay: 0.28s;
}
[data-split-text] + [data-split-text] > span:nth-child(9) {
  transition-delay: 0.315s;
}
[data-split-text] + [data-split-text] > span:nth-child(10) {
  transition-delay: 0.35s;
}
[data-split-text] + [data-split-text] > span:nth-child(11) {
  transition-delay: 0.385s;
}
[data-split-text] + [data-split-text] > span:nth-child(12) {
  transition-delay: 0.42s;
}
[data-split-text] + [data-split-text] > span:nth-child(13) {
  transition-delay: 0.455s;
}
[data-split-text] + [data-split-text] > span:nth-child(14) {
  transition-delay: 0.49s;
}
[data-split-text] + [data-split-text] > span:nth-child(15) {
  transition-delay: 0.525s;
}
[data-split-text] + [data-split-text] > span:nth-child(16) {
  transition-delay: 0.56s;
}
[data-split-text] + [data-split-text] > span:nth-child(17) {
  transition-delay: 0.595s;
}
[data-split-text] + [data-split-text] > span:nth-child(18) {
  transition-delay: 0.63s;
}
[data-split-text] + [data-split-text] > span:nth-child(19) {
  transition-delay: 0.665s;
}
[data-split-text] + [data-split-text] > span:nth-child(20) {
  transition-delay: 0.7s;
}

[data-split-text="true"] > span {
  transform: translateY(0);
}

.entry-content > p:first-of-type {
  margin-top: 0;
}

.u-br__none-sp {
  display: none;
}

@media screen and (min-width: 1200px) {
  .u-br__none-sp {
    display: block;
  }
}
.u-br__none-pc {
  display: block;
}

@media screen and (min-width: 1200px) {
  .u-br__none-pc {
    display: none;
  }
}
/* Text Align */
.u-text-align__left {
  text-align: left;
}

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

.u-text-align__center {
  text-align: center;
}

@media screen and (max-width: 1199px) {
  .u-text-align__left-sp {
    text-align: left;
  }

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

  .u-text-align__center-sp {
    text-align: center;
  }
}
@media screen and (min-width: 1200px) {
  .u-text-align__left-pc {
    text-align: left;
  }

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

  .u-text-align__center-pc {
    text-align: center;
  }
}
