@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: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          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: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem); /* 2 */
}

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

button::-moz-focus-inner,
a::-moz-focus-inner {
  border: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(0, 104, 183, 0.32);
  outline-offset: 3px;
  border-radius: 16px;
}

/**
 * 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 */
  -webkit-text-decoration: underline dotted;
          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: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem); /* 2 */
}

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

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 0.875rem;
  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;
}

img,
svg {
  max-width: 100%;
}

img {
  display: block;
}

/* 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: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem); /* 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 {
  -webkit-box-sizing: border-box;
          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] {
  -webkit-box-sizing: border-box;
          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;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.no-scroll {
  overflow: hidden;
}

.bg-gray {
  background-color: #f9fafb;
}

.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.scrolling-wrapper {
  overflow: hidden;
  width: 100%;
  padding: 15px 0;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.scrolling-wrapper .scrolling-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-animation: scroll-left 180s linear infinite;
          animation: scroll-left 180s linear infinite;
  will-change: transform;
}
.scrolling-wrapper .scrolling-text span {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  color: #e1ebf5;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
}

@-webkit-keyframes scroll-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}

@keyframes scroll-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
.com-btn-wrap {
  max-width: 1400px;
  width: 100%;
  padding: 0 5%;
  margin: 3rem auto 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.com-btn-wrap .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 500;
}
.com-btn-wrap .btn span {
  margin-left: 0.5rem;
  position: relative;
  background: #0068b7;
  color: #fff;
  aspect-ratio: 1/1;
  border-radius: 16px;
  max-width: 50px;
  max-height: 50px;
  width: 6vw;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.com-btn-wrap .btn span .bi {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.com-btn-wrap .btn:hover {
  opacity: 0.75;
}
.com-btn-wrap .btn:hover span {
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.com-btn-wrap .btn:hover span .bi {
  -webkit-transform: translate(-15%, -50%) scale(1.33);
          transform: translate(-15%, -50%) scale(1.33);
}

.com-btn-wrap.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.com-btn-wrap.right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.animate-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  overflow: hidden;
}
.animate-text i {
  display: inline-block;
  font-style: normal;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s ease;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.animate-text .animate-text__space {
  width: 0.35em;
}
.animate-text .animate-text__break {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  width: 0;
  height: 0;
}
.animate-text.is-loaded i {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.page__loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  z-index: 9999;
  display: none;
}
.page__loading .bg {
  width: 100%;
  height: 100%;
  background: #efefef;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page__loading .bg .logo-container {
  position: relative;
  width: 300px;
  height: auto;
}
.page__loading .bg .logo-container .logo {
  display: block;
  width: 100%;
  height: auto;
}
.page__loading .bg .logo-container .gray-logo {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  opacity: 0.3;
}
.page__loading .bg .logo-container .color-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  overflow: hidden;
  -webkit-transition: width 0.2s ease-out;
  transition: width 0.2s ease-out;
}
.page__loading .bg .logo-container .color-wrapper .color-logo {
  width: 300px;
  max-width: none;
}

.animate-fade {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-transition-delay: var(--animate-delay, 0ms);
          transition-delay: var(--animate-delay, 0ms);
  will-change: transform, opacity;
}
.animate-fade.is-loaded {
  opacity: 1 !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .animate-text,
  .animate-fade {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
  .animate-text i {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
.c-section-heading__eyebrow {
  margin: 0 0 1rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  letter-spacing: 0;
}
.c-section-heading__title {
  margin: 0 0 1.15rem;
  color: #000;
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}
.c-section-heading__lead {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.c-section-heading--center {
  margin-inline: auto;
  text-align: center;
}
.c-section-heading--compact {
  margin-bottom: 1.4rem;
}
.c-section-heading--compact .c-section-heading__title {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
}

.c-contents-nav {
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-contents-nav__title {
  margin: 0 0 1rem;
  color: #000;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.c-contents-nav__link {
  position: relative;
  display: block;
  padding: 0.8rem 0 0.8rem 1.5rem;
  border-left: 2px solid rgba(0, 104, 183, 0.12);
  color: #222;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 700;
}
.c-contents-nav__link::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: rgba(0, 104, 183, 0.22);
}
.c-contents-nav__link:hover, .c-contents-nav__link:first-of-type {
  color: #0068b7;
}
.c-contents-nav__link:hover::before, .c-contents-nav__link:first-of-type::before {
  background: #0068b7;
}
.c-contents-nav__extra {
  margin: 0 0 1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.c-contents-nav--sticky {
  position: sticky;
  top: 1.5rem;
}
.c-contents-nav--floating {
  position: absolute;
  z-index: 4;
  right: 6vw;
  bottom: 4rem;
  width: min(260px, 34vw);
}
.c-contents-nav label {
  display: block;
  margin: 0 0 0.45rem;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 700;
}
.c-contents-nav select {
  width: 100%;
  min-height: 2.85rem;
  padding: 0.65rem 2.4rem 0.65rem 0.9rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: linear-gradient(45deg, transparent 50%, #0068b7 50%) calc(100% - 18px) 50%/6px 6px no-repeat, linear-gradient(135deg, #0068b7 50%, transparent 50%) calc(100% - 13px) 50%/6px 6px no-repeat, rgba(255, 255, 255, 0.96);
  color: #222;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 0.875rem;
  font-weight: 700;
}

.c-info-card {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2rem);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-info-card__icon {
  color: #0068b7;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  margin-bottom: 1.3rem;
}
.c-info-card__body {
  min-width: 0;
}
.c-info-card__title {
  margin: 0 0 0.9rem;
  color: #0068b7;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.55;
}
.c-info-card__text {
  margin: 0;
  line-height: 1.85;
}
.c-info-card__text + .c-info-card__text {
  margin-top: 0.7rem;
}
.c-info-card__link {
  margin-top: auto;
}
.c-info-card--horizontal {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: clamp(1.2rem, 3vw, 2.4rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(145deg, rgba(0, 104, 183, 0.06), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(0, 104, 183, 0.1);
  border-radius: 16px;
}
.c-info-card--horizontal .c-info-card__icon {
  margin: 0;
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  justify-self: center;
}
.c-info-card--horizontal .c-info-card__title {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
}
.c-info-card--horizontal .c-info-card__text {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
  line-height: 2;
}
.c-info-card--service {
  min-height: 260px;
}
.c-info-card--benefit {
  display: block;
  padding: 1.45rem 1.5rem 1.55rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.c-info-card--benefit:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-info-card--benefit .c-info-card__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px;
  gap: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.c-info-card--benefit .c-info-card__icon {
  width: 64px;
  height: 64px;
  margin: 0;
  border-radius: 16px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #f3efe7;
  color: #b9ae98;
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
}
.c-info-card--benefit .c-info-card__icon .bi {
  line-height: 1;
}
.c-info-card--benefit .c-info-card__title {
  margin: 0;
  color: #1b2430;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
}
.c-info-card--benefit .c-info-card__text {
  color: #5f6877;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9;
}

.c-feature-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.4rem;
}
.c-feature-section__visual {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border-radius: 16px;
  background: #d9e1e8;
}
.c-feature-section__visual::after {
  content: "";
  position: absolute;
  inset: 0;
}
.c-feature-section__visual img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.c-feature-section__overlay {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 1.75rem;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.9rem;
  color: #fff;
}
.c-feature-section__headline {
  margin: 0;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.c-feature-section__label {
  margin: 0 0 0.2rem;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.4;
}
.c-feature-section__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}

@media (min-width: 1200px) {
  .c-contents-nav--floating {
    position: absolute;
    right: 6vw;
    bottom: 4rem;
    width: min(260px, 34vw);
  }
  .c-info-card--horizontal {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  .c-feature-section__visual,
  .c-feature-section__visual img {
    min-height: 320px;
  }
  .c-feature-section__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .c-contents-nav--sticky {
    position: static;
  }
  .c-contents-nav--floating {
    position: static;
    width: min(720px, 100% - 40px);
    margin: -2rem auto 0;
  }
  .c-info-card--horizontal {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .c-feature-section__visual,
  .c-feature-section__visual img {
    min-height: 280px;
  }
  .c-feature-section__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .c-feature-section__headline {
    font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
    font-weight: 700;
  }
}
@media (max-width: 767px) {
  .c-section-heading {
    margin-bottom: 2rem;
  }
  .c-contents-nav--sticky,
  .c-contents-nav--floating {
    position: static;
    width: 100%;
  }
  .c-info-card--horizontal {
    grid-template-columns: 1fr;
  }
  .c-info-card--horizontal .c-info-card__icon {
    justify-self: start;
  }
  .c-feature-section__cards {
    grid-template-columns: 1fr;
  }
  .c-info-card--benefit {
    padding: 1.2rem;
  }
  .c-info-card--benefit .c-info-card__icon {
    width: 56px;
    height: 56px;
    font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  }
  .c-info-card--benefit .c-info-card__title {
    font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
    font-weight: 700;
  }
  .c-feature-section__visual,
  .c-feature-section__visual img {
    min-height: 220px;
  }
  .c-feature-section__overlay {
    left: 1.1rem;
    right: 1.1rem;
    bottom: 1.1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.45rem;
  }
  .c-feature-section__headline {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
    font-weight: 700;
  }
}
.gnav .header__wrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 101;
  position: fixed;
  width: 100%;
  padding: 1rem 2% 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.gnav .header__logo h1 {
  margin: 0;
  line-height: 0;
}
.gnav .header__logo a {
  display: block;
}
.gnav .header__logo img {
  max-width: 360px;
  min-width: 180px;
  width: 40vw;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .gnav .header__logo img {
    width: 20vw;
  }
}
.gnav__wrap {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0.8rem 1.5rem 0.4rem 1.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .gnav__wrap {
    display: none;
  }
}
.gnav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
.gnav__menu li {
  cursor: pointer;
  position: relative;
}
.gnav__menu li:hover > a::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.gnav__menu a {
  position: relative;
  display: inline-block;
  padding-bottom: 0.2rem;
  color: #000;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.gnav__menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.gnav__menu .submenu {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-box-shadow: none;
          box-shadow: none;
  position: absolute;
  top: calc(100% + 0.55rem);
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-0.35rem);
          transform: translateX(-50%) translateY(-0.35rem);
  min-width: 15rem;
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  margin: 0;
  padding: 0.5rem;
  list-style: none;
  -webkit-box-shadow: 0 5px 16px #ced4e0;
          box-shadow: 0 5px 16px #ced4e0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.25s ease, visibility 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
}
.gnav__menu .submenu caption {
  padding: 0.55rem 0.9rem 0.35rem;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
}
.gnav__menu .submenu li {
  width: 100%;
}
.gnav__menu .submenu a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.7rem 0.9rem;
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  background: transparent;
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
}
.gnav__menu .submenu a::after {
  display: none;
}
.gnav__menu .submenu a:hover {
  background: rgba(0, 104, 183, 0.08);
  color: #222;
}
.gnav__wrap .gnav__menu li:hover .submenu, .gnav__wrap .gnav__menu li:focus-within .submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
}
.gnav__wrap .gnav__menu li.has-children::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 0.8rem;
  background: transparent;
}
.gnav__other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
.gnav__other > li:first-child a {
  display: block;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 999px;
  background: #0068b7;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.gnav__other > li:first-child a:hover i {
  overflow: hidden;
}
.gnav__other > li:first-child a:hover i::before {
  -webkit-animation: mail 1s forwards;
          animation: mail 1s forwards;
}
.gnav__other > li:first-child a:active {
  -webkit-transform: scale(0.94);
          transform: scale(0.94);
}
.gnav__other > li.btn__menu {
  z-index: 999;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(15px);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.gnav .hamberger {
  position: relative;
  width: 22px;
  height: 12px;
}
.gnav .hamberger span {
  position: absolute;
  display: block;
  height: 2px;
  border-radius: 999px;
  background: #202050;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.gnav .hamberger span:first-child {
  top: 0;
  width: 100%;
}
.gnav .hamberger span:nth-child(2) {
  top: 50%;
  width: 60%;
}
.gnav .hamberger span:last-child {
  top: 100%;
  width: 80%;
}
.gnav .hamberger.open span:first-child {
  top: -3px;
  width: 100%;
  -webkit-transform: rotate(45deg) translate(3px, -3px);
          transform: rotate(45deg) translate(3px, -3px);
}
.gnav .hamberger.open span:nth-child(2) {
  top: 50%;
  width: 0;
}
.gnav .hamberger.open span:last-child {
  top: 100%;
  width: 100%;
  -webkit-transform: rotate(-45deg) translate(2.5px, 2.5px);
          transform: rotate(-45deg) translate(2.5px, 2.5px);
}
.gnav_hamberger__menu {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 100dvh;
  overflow-y: auto;
  padding: 0;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(18px);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.gnav_hamberger__menu.open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.gnav_hamberger__menu.open .gnav__menu > li {
  -webkit-animation: nav_item 0.28s forwards ease-out;
          animation: nav_item 0.28s forwards ease-out;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(1) {
  -webkit-animation-delay: 0.065s;
          animation-delay: 0.065s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(2) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(3) {
  -webkit-animation-delay: 0.135s;
          animation-delay: 0.135s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(4) {
  -webkit-animation-delay: 0.17s;
          animation-delay: 0.17s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(5) {
  -webkit-animation-delay: 0.205s;
          animation-delay: 0.205s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(6) {
  -webkit-animation-delay: 0.24s;
          animation-delay: 0.24s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(7) {
  -webkit-animation-delay: 0.275s;
          animation-delay: 0.275s;
}
.gnav_hamberger__menu.open .gnav__menu > li:nth-child(8) {
  -webkit-animation-delay: 0.31s;
          animation-delay: 0.31s;
}
.gnav_hamberger__menu.close {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-animation: none;
          animation: none;
}
.gnav_hamberger__menu.close * {
  pointer-events: none;
}
.gnav_hamberger__menu .gnav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: min(480px, 100%);
  min-height: 100dvh;
  margin: 0 auto;
  padding: clamp(4.75rem, 10svh, 6.5rem) clamp(2rem, 5vw, 3rem) clamp(2rem, 6vw, 4rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  list-style: none;
  gap: 0;
}
.gnav_hamberger__menu .gnav__menu > li {
  width: 100%;
  margin: 0;
  opacity: 0;
  -webkit-transform: translateX(1.5rem);
          transform: translateX(1.5rem);
}
.gnav_hamberger__menu .gnav__menu a,
.gnav_hamberger__menu .gnav__menu .gnav__submenu-toggle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  min-height: 4rem;
  padding: 1rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #202050;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  line-height: 1.45;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.gnav_hamberger__menu .gnav__menu a::after,
.gnav_hamberger__menu .gnav__menu .gnav__submenu-toggle::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-family: "bootstrap-icons";
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 1;
  color: #202050;
  -webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease;
  transition: color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, color 0.3s ease;
  transition: transform 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease;
}
.gnav_hamberger__menu .gnav__menu a:hover, .gnav_hamberger__menu .gnav__menu a:focus-visible,
.gnav_hamberger__menu .gnav__menu .gnav__submenu-toggle:hover,
.gnav_hamberger__menu .gnav__menu .gnav__submenu-toggle:focus-visible {
  color: #0068b7;
}
.gnav_hamberger__menu .gnav__menu-label a {
  pointer-events: none;
}
.gnav_hamberger__menu .gnav__menu-label a::after {
  content: "\f282";
}
.gnav_hamberger__menu .has-children > .gnav__submenu-toggle::after {
  content: "\f282";
}
.gnav_hamberger__menu .has-children.is-open > .gnav__submenu-toggle {
  color: #0068b7;
}
.gnav_hamberger__menu .has-children.is-open > .gnav__submenu-toggle::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.gnav_hamberger__menu .has-children.is-open > .submenu {
  max-height: 40rem;
  padding-bottom: 0.65rem;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.gnav_hamberger__menu .submenu {
  position: static;
  top: auto;
  left: auto;
  -webkit-transform: none;
          transform: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  width: 100%;
  margin: 0;
  max-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  gap: 0;
  -webkit-transition: max-height 0.3s ease, opacity 0.25s ease, visibility 0.25s ease, padding 0.3s ease;
  transition: max-height 0.3s ease, opacity 0.25s ease, visibility 0.25s ease, padding 0.3s ease;
}
.gnav_hamberger__menu .submenu li {
  width: 100%;
  border-top: 1px solid rgba(0, 104, 183, 0.1);
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.gnav_hamberger__menu .submenu a {
  min-height: 3rem;
  padding: 0.8rem 0 0.8rem 1rem;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
  line-height: 1.45;
}
.gnav_hamberger__menu .submenu a::after {
  content: "\f138";
  font-size: 0.875rem;
}
.gnav_hamberger__menu .submenu a:hover::after, .gnav_hamberger__menu .submenu a:focus-visible::after {
  -webkit-transform: none;
          transform: none;
}
.gnav_hamberger__menu .gnav__menu li:hover .submenu,
.gnav_hamberger__menu .gnav__menu li:focus-within .submenu {
  -webkit-transform: none;
          transform: none;
}
.gnav_hamberger__menu .gnav__other {
  display: grid;
  gap: 1.25rem;
  width: min(260px, 100%);
  margin: 2rem auto 0;
}
.gnav_hamberger__menu .gnav__other > li {
  width: 100%;
}
.gnav_hamberger__menu .gnav__other > li:first-child a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.9rem 1rem;
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  background: #0068b7;
  color: #fff;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.gnav.open .gnav__wrap {
  display: none;
  opacity: 0;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .gnav_hamberger__menu .gnav__menu {
    width: min(480px, 100%);
  }
}
@media (max-width: 767px) {
  .gnav_hamberger__menu {
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
  }
  .gnav_hamberger__menu .gnav__menu {
    width: 100%;
    padding: 4.75rem 2rem 2.5rem;
  }
  .gnav_hamberger__menu .gnav__menu a,
  .gnav_hamberger__menu .gnav__menu .gnav__submenu-toggle {
    min-height: 3.8rem;
    padding: 0.95rem 0;
    font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  }
  .gnav_hamberger__menu .gnav__menu-label {
    margin-top: 0.85rem;
  }
  .gnav_hamberger__menu .gnav__menu-label a {
    min-height: auto;
    padding: 0;
    font-size: 0.875rem;
  }
  .gnav_hamberger__menu .submenu {
    padding-bottom: 0;
  }
  .gnav_hamberger__menu .submenu a {
    min-height: 3rem;
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  }
  .gnav_hamberger__menu .has-children.is-open > .submenu {
    padding-bottom: 0.65rem;
  }
}

@-webkit-keyframes mail {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  49% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  51% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes mail {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  49% {
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  51% {
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes nav_item {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes nav_item {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
.footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 2%;
  background: #fff;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer__wrap .footer__logo h1 a img {
  max-width: 360px;
  min-width: 180px;
  width: 20vw;
}
.footer__wrap .footer__logo .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 2rem 1rem 0.5rem 1rem;
  gap: 1rem;
}
.footer__wrap .footer__logo .sns li a {
  color: #000;
  text-decoration: none;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 400;
}
.footer__wrap .footer__logo .sns li a i {
  color: #a2b0ba;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__wrap .footer__logo .sns li a i:hover {
  color: #202050;
}
.footer__wrap .footer__logo .sns li a span {
  font-size: max(10px, 0.5vw);
}
.footer__wrap .footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
.footer__wrap .footer__nav .site__nav {
  padding: 1.5rem 1rem 0 1rem;
}
.footer__wrap .footer__nav .site__nav ul li {
  overflow: hidden;
  cursor: pointer;
  margin-bottom: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.footer__wrap .footer__nav .site__nav ul li:hover a::after {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.footer__wrap .footer__nav .site__nav ul li:hover a::before {
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
}
.footer__wrap .footer__nav .site__nav ul li a {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  visibility: hidden;
}
.footer__wrap .footer__nav .site__nav ul li a::after {
  position: absolute;
  left: 0;
  top: 3px;
  content: "";
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  visibility: visible;
}
.footer__wrap .footer__nav .site__nav ul li a::before {
  position: absolute;
  left: 0;
  top: 3px;
  content: "";
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  visibility: visible;
}
.footer__wrap .footer__nav .site__nav ul li:nth-child(1) a::before, .footer__wrap .footer__nav .site__nav ul li:nth-child(1) a::after {
  content: "Our Business";
}
.footer__wrap .footer__nav .site__nav ul li:nth-child(2) a::before, .footer__wrap .footer__nav .site__nav ul li:nth-child(2) a::after {
  content: "About us";
}
.footer__wrap .footer__nav .site__nav ul li:nth-child(3) a::before, .footer__wrap .footer__nav .site__nav ul li:nth-child(3) a::after {
  content: "News";
}
.footer__wrap .footer__nav .site__nav ul li:nth-child(4) a::before, .footer__wrap .footer__nav .site__nav ul li:nth-child(4) a::after {
  content: "Recruit";
}
.footer__wrap .footer__nav .site__nav ul li:nth-child(5) a::before, .footer__wrap .footer__nav .site__nav ul li:nth-child(5) a::after {
  content: "Contact";
}
.footer__wrap .footer__nav .ohter__nav {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  padding: 0 1rem;
}
.footer__wrap .footer__nav .ohter__nav .group__link {
  margin-bottom: 0.5rem;
  padding: 1rem;
  border-radius: 16px;
  color: #000;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__wrap .footer__nav .ohter__nav .group__link i {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__wrap .footer__nav .ohter__nav .group__link:hover {
  background: #f9fafb;
}
.footer__wrap .footer__nav .ohter__nav .group__link:hover i {
  -webkit-transform: translate(3px, -3px);
          transform: translate(3px, -3px);
}
.footer__wrap .footer__nav .ohter__nav ul {
  background: #f9fafb;
  border-radius: 16px;
  padding: 1rem;
}
.footer__wrap .footer__nav .ohter__nav ul li {
  margin-bottom: 1rem;
}
.footer__wrap .footer__nav .ohter__nav ul li:last-child {
  margin-bottom: 0;
}
.footer__wrap .footer__nav .ohter__nav ul li a {
  font-size: 0.875rem;
  font-weight: 400;
  color: #a2b0ba;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.footer__wrap .footer__nav .ohter__nav ul li a i {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
}
.footer__wrap .footer__nav .ohter__nav ul li a:hover {
  color: #202050;
}
.footer__wrap .footer__nav .ohter__nav ul li a:hover i {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
.footer__wrap .copyright {
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  color: #000;
  width: 100%;
}
@media (max-width: 767px) {
  .footer__wrap .copyright {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .footer__wrap {
    padding: 10% 2%;
  }
  .footer__wrap .footer__logo {
    padding: 0 1rem;
  }
  .footer__wrap .footer__nav {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .footer__wrap .footer__nav .site__nav {
    padding: 1.5rem 2rem 0 2rem;
  }
  .footer__wrap .footer__nav .ohter__nav {
    margin-bottom: 1rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .footer__wrap .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .footer__wrap .footer__nav .ohter__nav {
    margin-bottom: 1rem;
  }
}

/* Corporate front page
   ========================================================================== */
.corp-home {
  --corp-blue: #0068b7;
  --corp-deep: #073965;
  --corp-navy: #102b55;
  --corp-muted: #607385;
  --corp-line: #e4ebf0;
  --corp-panel: #eef3f6;
  color: #112f4a;
  overflow: hidden;
  background: #fff;
}

.corp-home *,
.corp-home *::before,
.corp-home *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.corp-shell {
  width: min(1120px, 100% - 80px);
  margin-inline: auto;
}

.corp-heading__en {
  margin: 0 0 0.42em;
  color: var(--corp-navy);
  font-family: "Poppins", sans-serif;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}

.corp-heading h2 {
  position: relative;
  margin: 0;
  padding-left: 1.1rem;
  color: var(--corp-deep);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0;
}

.corp-heading h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.75rem;
  height: 1px;
  background: #0068b7;
}

.corp-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  min-width: 220px;
  padding: 13px 8px 13px 0;
  border-bottom: 1px solid #8ba2b2;
  color: var(--corp-deep);
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
}

.corp-link i {
  display: grid;
  width: 42px;
  height: 42px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 42px;
          flex: 0 0 42px;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--corp-blue);
  -webkit-transition: background 0.3s, -webkit-transform 0.3s;
  transition: background 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, background 0.3s;
  transition: transform 0.3s, background 0.3s, -webkit-transform 0.3s;
}

.corp-link:hover {
  color: var(--corp-blue);
}

.corp-link:hover i {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
  background: #00508f;
}

.corp-recruit {
  padding: clamp(110px, 12vw, 170px) 0;
  color: #fff;
  background: var(--corp-deep);
}

.corp-heading--light .corp-heading__en {
  color: #74d2ef;
}

.corp-heading--light h2 {
  color: #d8e5ec;
}

.corp-heading--light h2::before {
  background: #74d2ef;
}

.corp-recruit__lead {
  margin: 34px 0 50px;
  color: #d8e5ec;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  line-height: 2;
}

.corp-recruit__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-bottom: 50px;
}

.corp-recruit-card {
  height: 350px;
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
}

.corp-recruit-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(4, 31, 53, 0.82)), color-stop(65%, transparent));
  background: linear-gradient(0deg, rgba(4, 31, 53, 0.82), transparent 65%);
}

.corp-recruit-card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.55s;
  transition: -webkit-transform 0.55s;
  transition: transform 0.55s;
  transition: transform 0.55s, -webkit-transform 0.55s;
}

.corp-recruit-card > span {
  position: absolute;
  z-index: 1;
  right: 32px;
  bottom: 28px;
  left: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 500;
  letter-spacing: 0;
}

.corp-recruit-card small {
  grid-column: 1/-1;
  margin-bottom: 6px;
  color: #7ed6ef;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0;
}

.corp-recruit-card:hover img {
  -webkit-transform: scale(1.055);
          transform: scale(1.055);
}

.corp-recruit-card:hover i {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.corp-link--light {
  color: #fff;
  border-color: #7590a2;
}

.corp-contact {
  min-height: 430px;
  position: relative;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(120deg, #0785c8, #56c6e8);
}

.corp-contact__decoration {
  position: absolute;
  right: -20px;
  bottom: -58px;
  color: rgba(255, 255, 255, 0.1);
  font-family: "Poppins", sans-serif;
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  font-weight: 600;
  line-height: 1;
}

.corp-contact__layout {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 340px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
}

.corp-contact__layout > div > p {
  margin: 0 0 20px;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0;
}

.corp-contact h2 {
  margin: 0;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0;
}

.corp-contact__layout > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 110px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px 28px;
  border-radius: 16px;
  color: var(--corp-blue);
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.corp-contact__layout > a span {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
}

.corp-contact__layout > a small {
  display: block;
  margin-bottom: 8px;
  color: #8297a5;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0;
}

.corp-contact__layout > a i {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
}

.corp-contact__layout > a:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

@media (max-width: 991px) {
  .corp-shell {
    width: min(100% - 48px, 760px);
  }
  .corp-heading__en {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  }
  .corp-contact__layout {
    grid-template-columns: 1fr 300px;
    gap: 45px;
  }
}
@media (max-width: 767px) {
  .corp-shell {
    width: calc(100% - 40px);
  }
  .corp-heading__en {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  }
  .corp-link i {
    width: 38px;
    height: 38px;
    -ms-flex-preferred-size: 38px;
        flex-basis: 38px;
  }
  .corp-recruit {
    padding: 95px 0;
  }
  .corp-recruit__lead {
    font-size: 0.875rem;
  }
  .corp-recruit__cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .corp-recruit-card {
    height: 270px;
  }
  .corp-contact {
    min-height: 500px;
    padding: 80px 0;
  }
  .corp-contact h2 {
    font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  }
  .corp-contact__decoration {
    font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  }
  .corp-contact__layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .corp-contact__layout > a {
    min-height: 100px;
  }
}
.c-btn,
.com-btn-wrap .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.7rem;
  min-height: 3.35rem;
  padding: 0.9rem 1.45rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: rgba(255, 255, 255, 0.94);
  color: #0068b7;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: 700;
  line-height: 1;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-btn:hover,
.com-btn-wrap .btn:hover {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-btn__icon,
.com-btn-wrap .btn__icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 16px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  background: rgba(0, 104, 183, 0.1);
  color: currentColor;
}
.c-btn__icon .bi,
.com-btn-wrap .btn__icon .bi {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
}
.c-btn--primary,
.com-btn-wrap .btn--primary {
  background: #0068b7;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: #0068b7;
}
.c-btn--primary:hover,
.com-btn-wrap .btn--primary:hover {
  background: #00579a;
  border-color: #00579a;
  color: #fff;
}
.c-btn--outline,
.com-btn-wrap .btn--outline {
  background: rgba(255, 255, 255, 0.92);
  color: #0068b7;
  border-color: rgba(0, 104, 183, 0.24);
}
.c-btn--outline:hover,
.com-btn-wrap .btn--outline:hover {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
}
.c-btn--ghost,
.com-btn-wrap .btn--ghost {
  background: transparent;
  color: #222;
  border-color: rgba(0, 104, 183, 0.18);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-btn--ghost:hover,
.com-btn-wrap .btn--ghost:hover {
  border-color: #0068b7;
  color: #0068b7;
  background: rgba(0, 104, 183, 0.06);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.c-btn--arrow .c-btn__icon,
.com-btn-wrap .btn--arrow .c-btn__icon {
  background: rgba(255, 255, 255, 0.16);
}
.c-btn--back,
.com-btn-wrap .btn--back {
  min-height: 3rem;
  padding-inline: 1.1rem 1.4rem;
}
.c-btn.is-active,
.com-btn-wrap .btn.is-active {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.recruit-entry-cta {
  position: relative;
  width: 100%;
  padding: clamp(3.5rem, 7vw, 6rem) 5vw;
  margin-top: 4rem;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 78, 152, 0.92)), color-stop(46%, rgba(0, 104, 183, 0.78)), to(rgba(88, 174, 240, 0.68))), url("../images/recruit_fv.png") center/cover no-repeat;
  background: linear-gradient(90deg, rgba(0, 78, 152, 0.92) 0%, rgba(0, 104, 183, 0.78) 46%, rgba(88, 174, 240, 0.68) 100%), url("../images/recruit_fv.png") center/cover no-repeat;
  color: #fff;
}
.recruit-entry-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 60, 120, 0.35)), to(rgba(255, 255, 255, 0.08)));
  background: linear-gradient(90deg, rgba(0, 60, 120, 0.35), rgba(255, 255, 255, 0.08));
  pointer-events: none;
}
.recruit-entry-cta__inner {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.95fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
}
.recruit-entry-cta__casual {
  min-width: 0;
  display: grid;
  gap: 1.2rem;
  justify-items: start;
}
.recruit-entry-cta__casual h2 {
  margin: 0;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}
.recruit-entry-cta__casual p {
  margin: 0;
  max-width: 28rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.9;
}
.recruit-entry-cta__casual-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  min-height: 3rem;
  padding: 0.65rem 1.1rem 0.65rem 1.35rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.08);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.recruit-entry-cta__casual-button i {
  width: 1.8rem;
  height: 1.8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
}
.recruit-entry-cta__casual-button:hover {
  background: #fff;
  color: #0068b7;
}
.recruit-entry-cta__entry {
  position: relative;
  min-width: 0;
  min-height: clamp(190px, 19vw, 230px);
  padding: clamp(2rem, 4vw, 3rem) clamp(5rem, 7vw, 6.5rem) clamp(2rem, 4vw, 3rem) clamp(2.2rem, 4vw, 4rem);
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 0.75rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: #222;
  text-decoration: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.recruit-entry-cta__entry strong {
  color: #000;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  line-height: 0.95;
  letter-spacing: 0;
  margin-bottom: 1rem;
}
.recruit-entry-cta__entry:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.recruit-entry-cta__entry-label, .recruit-entry-cta__entry-text {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.75;
}
.recruit-entry-cta__entry-icon {
  position: absolute;
  top: 50%;
  right: clamp(1.5rem, 3vw, 2.5rem);
  width: 3.2rem;
  height: 3.2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 500px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #0068b7;
  background: #fff;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .recruit-entry-cta {
    padding-inline: clamp(2rem, 6vw, 4rem);
  }
  .recruit-entry-cta__inner {
    grid-template-columns: 1fr;
    width: min(760px, 100%);
    gap: 2.5rem;
  }
  .recruit-entry-cta__entry {
    min-height: 190px;
  }
}
@media (max-width: 767px) {
  .recruit-entry-cta {
    padding: 3rem 20px;
    margin-top: 2.5rem;
  }
  .recruit-entry-cta__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .recruit-entry-cta__casual {
    width: 100%;
    gap: 1rem;
  }
  .recruit-entry-cta__casual h2,
  .recruit-entry-cta__casual p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .recruit-entry-cta__casual-button {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .recruit-entry-cta__entry {
    min-height: auto;
    padding: 1.6rem 4.6rem 1.6rem 1.4rem;
    border-radius: 16px;
  }
  .recruit-entry-cta__entry strong {
    margin-bottom: 0.35rem;
    font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  }
  .recruit-entry-cta__entry-label, .recruit-entry-cta__entry-text {
    overflow-wrap: anywhere;
  }
  .recruit-entry-cta__entry-icon {
    width: 2.7rem;
    height: 2.7rem;
    right: 1.2rem;
  }
}
.sub-layout {
  min-height: 100svh;
  padding: 0 0 4rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden;
}
.sub-layout .sublayout-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: calc(65px + 1rem) 0 4rem 0;
  height: clamp(220px, 24vw, 350px);
  min-height: clamp(220px, 24vw, 350px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background: #fff;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sub-layout .sublayout-hero {
    height: auto;
    min-height: 0;
    display: block;
  }
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero {
    height: auto;
    min-height: 0;
    margin: calc(65px + 0.75rem) 0 1.25rem 0;
  }
  .sub-layout .sublayout-hero::before {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.94)), color-stop(58%, rgba(255, 255, 255, 0.82)), to(rgba(255, 255, 255, 0.52)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 58%, rgba(255, 255, 255, 0.52) 100%);
  }
}
.sub-layout .sublayout-hero .sublayout-hero__copy {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 3rem;
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 1rem;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sub-layout .sublayout-hero .sublayout-hero__copy {
    width: min(100% - 40px, 1440px);
    min-height: clamp(180px, 28vw, 260px);
    padding: 2.5rem 0;
  }
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero .sublayout-hero__copy {
    width: calc(100% - 32px);
    min-height: 0;
    padding: 5rem 0 0;
    gap: 0.55rem;
  }
}
.sub-layout .sublayout-hero .sublayout-hero__eyebrow {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  color: #0068b7;
  margin: 0 0 1rem;
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero .sublayout-hero__eyebrow {
    margin-bottom: 0.25rem;
  }
}
.sub-layout .sublayout-hero .sublayout-hero__title {
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1;
  color: #000;
  margin: 0 0 1.7rem;
  letter-spacing: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero .sublayout-hero__title {
    margin-bottom: 0.35rem;
    line-height: 1.35;
  }
}
.sub-layout .sublayout-hero .sublayout-hero__lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
  color: #222;
  max-width: 36rem;
  line-height: 1.6;
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  margin: 0;
  word-break: auto-phrase;
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero .sublayout-hero__lead {
    max-width: none;
    line-height: 1.75;
  }
}
.sub-layout .sublayout-hero .sublayout-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sub-layout .sublayout-hero .sublayout-hero__image::before {
  content: none;
}
.sub-layout .sublayout-hero .sublayout-hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right;
     object-position: right;
  display: block;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sub-layout .sublayout-hero .sublayout-hero__image {
    position: relative;
    inset: auto;
    height: clamp(96px, 18vw, 160px);
    overflow: hidden;
  }
}
@media (max-width: 767px) {
  .sub-layout .sublayout-hero .sublayout-hero__image {
    height: 64px;
  }
}
.sub-layout .sublayout-title-only {
  width: 100vw;
  padding: clamp(3.5rem, 7vw, 5.5rem) 6vw 2vw 6vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background: #fff;
}
.sub-layout .sublayout-title-only .sublayout-hero__title {
  max-width: 1120px;
  margin: 0;
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  font-weight: 700;
  line-height: 1.45;
  color: #000;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .sub-layout .sublayout-title-only {
    padding: 5rem 6vw 2.75rem 6vw;
  }
}
.sub-layout .sublayout-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.4rem 0 0;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 600;
}
.sub-layout .sublayout-breadcrumb a {
  color: inherit;
}
.sub-layout .sublayout-breadcrumb span::before {
  content: ">";
  margin-right: 0.65rem;
  color: #aeb8c8;
}
@media (max-width: 767px) {
  .sub-layout .sublayout-breadcrumb {
    gap: 0.45rem;
    margin-top: 0.65rem;
  }
}

.sub-layout--flush {
  padding: 0;
  display: block;
  min-height: 100svh;
}

.subpage-breadcrumb {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 3rem;
  padding: 0 0.5rem;
}
.subpage-breadcrumb .subpage-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  color: #a6aebd;
  list-style: none;
  padding: 0;
  margin: 0;
}
.subpage-breadcrumb .subpage-breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.subpage-breadcrumb .subpage-breadcrumb__item::after {
  content: ">";
  color: #a6aebd;
  opacity: 0.7;
}
.subpage-breadcrumb .subpage-breadcrumb__item:last-child::after {
  content: "";
}
.subpage-breadcrumb .subpage-breadcrumb__item a {
  color: #a6aebd;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.subpage-breadcrumb .subpage-breadcrumb__item a:hover {
  color: #0068b7;
}
.subpage-breadcrumb .subpage-breadcrumb__item.is-current a,
.subpage-breadcrumb .subpage-breadcrumb__item.is-current span {
  color: #0068b7;
  font-weight: 700;
}

.c-archive-index {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.c-archive-index .c-archive-index__head {
  margin-bottom: 1.5rem;
}
.c-archive-index .c-archive-index__eyebrow {
  margin: 0 0 0.6rem;
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.c-archive-index .c-archive-index__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  color: #000;
}
.c-archive-index .c-archive-index__lead {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  line-height: 1.9;
  max-width: 44rem;
}
.c-archive-index .c-archive-index__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0.85rem;
  margin: 0 0 1.5rem;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-scroll-snap-type: x proximity;
      scroll-snap-type: x proximity;
  scroll-padding-inline: max(1rem, (100vw - 1200px) / 2);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.c-archive-index .c-archive-index__filters::-webkit-scrollbar {
  display: none;
}
.c-archive-index .c-archive-index__filter {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 10rem;
  scroll-snap-align: center;
}
.c-archive-index .c-archive-index__list {
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.c-archive-index .c-archive-index__item {
  display: grid;
  grid-template-columns: 9rem auto minmax(0, 1fr) auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1rem 0.25rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
  text-decoration: none;
  color: #222;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-archive-index .c-archive-index__item:hover {
  color: #0068b7;
}
.c-archive-index .c-archive-index__date {
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}
.c-archive-index .c-archive-index__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 5.2rem;
  padding: 0.24rem 0.65rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  color: #0068b7;
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}
.c-archive-index .c-archive-index__item-title {
  margin: 0;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.6;
  color: #222;
}
.c-archive-index .c-archive-index__arrow {
  color: #0068b7;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
}
.c-archive-index .c-archive-index__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 2.5rem;
}
.c-archive-index .c-archive-index__pagination .page-numbers {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: #222;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-archive-index .c-archive-index__pagination .page-numbers.current,
.c-archive-index .c-archive-index__pagination .page-numbers:hover {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
}
.c-archive-index .c-archive-index__pagination .page-numbers.dots {
  border: 0;
  background: transparent;
  width: auto;
}
.c-archive-index .c-archive-index__empty {
  padding: 2rem 0;
  color: #a6aebd;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .c-archive-index .c-archive-index__item {
    grid-template-columns: 8rem auto minmax(0, 1fr) auto;
  }
}
@media (max-width: 767px) {
  .c-archive-index .c-archive-index__filter {
    width: 100%;
  }
  .c-archive-index .c-archive-index__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.45rem;
    padding: 1rem 0;
  }
  .c-archive-index .c-archive-index__arrow {
    display: none;
  }
}

.c-page-content {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.c-page-content .c-page-content__panel {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: clamp(1.4rem, 3vw, 2.2rem);
}
.c-page-content .c-page-content__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  color: #000;
}
.c-page-content .c-page-content__lead {
  margin: 0 0 1.4rem;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  line-height: 1.9;
}
.c-page-content .c-page-content__body {
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  line-height: 1.9;
}
.c-page-content .c-page-content__body p,
.c-page-content .c-page-content__body ul,
.c-page-content .c-page-content__body ol,
.c-page-content .c-page-content__body figure {
  margin-bottom: 1rem;
}
.c-page-content .c-page-content__body img {
  max-width: 100%;
  height: auto;
}

.content-single {
  width: min(980px, 100% - 40px);
  margin-inline: auto;
  padding: 0 0 clamp(3rem, 6vw, 5rem);
}
.content-single__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}
.content-single__date {
  color: #a6aebd;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.content-single__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.9rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 999px;
  color: #0068b7;
  background: rgba(255, 255, 255, 0.94);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.content-single__back {
  margin: clamp(1.75rem, 4vw, 2.75rem) auto 0;
}

.content-single--news .c-page-content {
  max-width: none;
  padding: 0;
}
.content-single--news .c-page-content__panel {
  padding: clamp(1.75rem, 4vw, 3rem);
}
.content-single--news .c-page-content__body {
  max-width: 760px;
  margin-inline: auto;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 2;
}
.content-single--news .c-page-content__body h2,
.content-single--news .c-page-content__body h3,
.content-single--news .c-page-content__body h4 {
  margin: 2.2em 0 0.8em;
  color: #000;
  line-height: 1.5;
}
.content-single--news .c-page-content__body h2 {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
}
.content-single--news .c-page-content__body h3 {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
}
.content-single--news .c-page-content__body h4 {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
}
.content-single--news .c-page-content__body p,
.content-single--news .c-page-content__body ul,
.content-single--news .c-page-content__body ol,
.content-single--news .c-page-content__body figure {
  margin: 0 0 1.35rem;
}
.content-single--news .c-page-content__body a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.content-single--news .c-page-content__body img {
  display: block;
  margin-inline: auto;
  border-radius: 16px;
}

@media (max-width: 767px) {
  .content-single {
    width: calc(100% - 32px);
    padding-bottom: 3.5rem;
  }
  .content-single--news .c-page-content__panel {
    padding: 1.25rem;
  }
}
.sub-layout .subpage-breadcrumb,
.sub-layout .c-archive-index,
.sub-layout .jobs-index,
.sub-layout .recruit-blog-index,
.sub-layout .job-detail-layout,
.sub-layout .interview-detail__layout,
.sub-layout .company-page__content-wrap {
  max-width: 1440px;
}
.sub-layout .c-page-content,
.sub-layout .about-page__content-wrap,
.sub-layout .recruit-blog-single__article {
  max-width: 980px;
}
.sub-layout .job-detail-layout,
.sub-layout .interview-index,
.sub-layout .jobs-index,
.sub-layout .recruit-blog-index {
  width: min(1440px, 100% - 40px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .sub-layout .job-detail-layout,
  .sub-layout .interview-index,
  .sub-layout .jobs-index,
  .sub-layout .recruit-blog-index {
    width: calc(100% - 32px);
  }
}
.sub-layout .job-entry-box,
.sub-layout .company-page__cta {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.sub-layout > .container.animate-fade {
  width: min(980px, 100% - 40px);
  margin: 0 auto;
  padding: 0 clamp(2rem, 5vw, 4rem);
}
@media (max-width: 767px) {
  .sub-layout > .container.animate-fade {
    width: calc(100% - 32px);
    padding: 2rem 0 3.5rem;
  }
}
.sub-layout > .container.animate-fade > h1 {
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  color: #222;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.sub-layout > .container.animate-fade > div {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
}
.sub-layout > .container.animate-fade > div,
.sub-layout > .container.animate-fade > div .wp-block-group__inner-container {
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  line-height: 2;
}
.sub-layout > .container.animate-fade > div > *:first-child,
.sub-layout > .container.animate-fade > div .wp-block-group__inner-container > *:first-child {
  margin-top: 0;
}
.sub-layout > .container.animate-fade > div > *:last-child,
.sub-layout > .container.animate-fade > div .wp-block-group__inner-container > *:last-child {
  margin-bottom: 0;
}
.sub-layout > .container.animate-fade p,
.sub-layout > .container.animate-fade li,
.sub-layout > .container.animate-fade dd,
.sub-layout > .container.animate-fade td,
.sub-layout > .container.animate-fade th,
.sub-layout > .container.animate-fade figcaption,
.sub-layout > .container.animate-fade span {
  overflow-wrap: anywhere;
}
.sub-layout > .container.animate-fade p {
  margin: 0 0 1.1rem;
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
}
.sub-layout > .container.animate-fade h2,
.sub-layout > .container.animate-fade h3,
.sub-layout > .container.animate-fade h4,
.sub-layout > .container.animate-fade h5,
.sub-layout > .container.animate-fade h6 {
  margin: clamp(2.5rem, 5vw, 3.5rem) 0 1rem;
  color: #222;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.sub-layout > .container.animate-fade h2 {
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
}
.sub-layout > .container.animate-fade h4,
.sub-layout > .container.animate-fade h5,
.sub-layout > .container.animate-fade h6 {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
}
.sub-layout > .container.animate-fade a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.18em;
  word-break: break-word;
}
.sub-layout > .container.animate-fade strong {
  font-weight: 700;
}
.sub-layout > .container.animate-fade ul,
.sub-layout > .container.animate-fade ol {
  margin: 0 0 1.4rem;
  padding-left: 1.25rem;
}
.sub-layout > .container.animate-fade ul li,
.sub-layout > .container.animate-fade ol li {
  margin: 0.45rem 0;
  padding-left: 0.25rem;
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  line-height: 1.95;
}
.sub-layout > .container.animate-fade ul.wp-block-list {
  list-style: disc;
}
.sub-layout > .container.animate-fade ol.wp-block-list {
  list-style: decimal;
}
.sub-layout > .container.animate-fade blockquote {
  margin: 1.8rem 0;
  padding: 1.1rem 1.25rem 1.1rem 1.4rem;
  border-left: 4px solid rgba(0, 104, 183, 0.28);
  background: rgba(0, 104, 183, 0.05);
  border-radius: 16px;
}
.sub-layout > .container.animate-fade hr {
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.sub-layout > .container.animate-fade figure,
.sub-layout > .container.animate-fade .wp-block-image,
.sub-layout > .container.animate-fade .wp-block-gallery,
.sub-layout > .container.animate-fade .wp-block-embed,
.sub-layout > .container.animate-fade .wp-block-video {
  margin: 1.75rem 0;
}
.sub-layout > .container.animate-fade img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}
.sub-layout > .container.animate-fade .wp-block-image img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}
.sub-layout > .container.animate-fade .wp-block-image.aligncenter,
.sub-layout > .container.animate-fade .wp-block-image .aligncenter {
  text-align: center;
}
.sub-layout > .container.animate-fade figcaption {
  margin-top: 0.65rem;
  color: #a6aebd;
  font-size: 0.875rem;
  line-height: 1.7;
  text-align: center;
}
.sub-layout > .container.animate-fade .wp-block-group {
  margin: 1.4rem 0;
}
.sub-layout > .container.animate-fade table,
.sub-layout > .container.animate-fade .wp-block-table table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
}
.sub-layout > .container.animate-fade th,
.sub-layout > .container.animate-fade td {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  text-align: left;
  vertical-align: top;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  line-height: 1.8;
}
.sub-layout > .container.animate-fade th {
  background: rgba(0, 104, 183, 0.06);
  color: #222;
  font-weight: 700;
}
.sub-layout > .container.animate-fade mark {
  background: rgba(0, 104, 183, 0.1);
  color: inherit;
  padding: 0.05em 0.2em;
  border-radius: 0.2rem;
}

.company-page {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.company-page__hero {
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.1), rgba(255, 255, 255, 0.92) 42%, rgba(255, 255, 255, 0.96)), rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page__hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.75fr);
  gap: 1rem;
  min-height: 260px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.company-page__hero-copy {
  padding: clamp(2rem, 4vw, 3.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.company-page__eyebrow {
  margin: 0;
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.company-page__title {
  margin: 0;
  color: #000;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
}
.company-page__lead {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  line-height: 1.8;
  max-width: 38rem;
}
.company-page__hero-panel {
  padding: clamp(1.4rem, 3vw, 2.2rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.75rem;
  background: radial-gradient(circle at 25% 20%, rgba(0, 104, 183, 0.15), transparent 40%), -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.12)), to(rgba(255, 255, 255, 0.78)));
  background: radial-gradient(circle at 25% 20%, rgba(0, 104, 183, 0.15), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.78));
  border-left: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page__hero-panel-label {
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.company-page__hero-panel-title {
  color: #222;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
}
.company-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  gap: 1.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.company-page__article {
  min-width: 0;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: clamp(1.4rem, 3vw, 2.5rem);
}
.company-page__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  color: #222;
  line-height: 1.9;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
}
.company-page__content p {
  margin: 0;
}
.company-page__content h2,
.company-page__content h3,
.company-page__content h4 {
  color: #000;
  line-height: 1.35;
  margin: 1.5rem 0 0.8rem;
}
.company-page__content h2 {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
}
.company-page__content h3 {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
}
.company-page__content h4 {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
}
.company-page__content ul,
.company-page__content ol {
  margin: 0;
  padding-left: 1.25rem;
}
.company-page__content li + li {
  margin-top: 0.45rem;
}
.company-page__content figure {
  margin: 1.2rem 0;
}
.company-page__content img,
.company-page__content iframe {
  max-width: 100%;
}
.company-page__content img {
  height: auto;
}
.company-page__content table {
  width: 100%;
  border-collapse: collapse;
}
.company-page__content th,
.company-page__content td {
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
  text-align: left;
  vertical-align: top;
}
.company-page__sidebar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.company-page__card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 1.25rem;
}
.company-page__card--soft {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 104, 183, 0.06)), to(rgba(255, 255, 255, 0.94)));
  background: linear-gradient(180deg, rgba(0, 104, 183, 0.06), rgba(255, 255, 255, 0.94));
}
.company-page__card-eyebrow {
  margin: 0 0 0.6rem;
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.company-page__card-title {
  margin: 0 0 0.9rem;
  color: #000;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
}
.company-page__card-text {
  margin: 0;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.company-page__tag-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem;
}
.company-page__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.45rem 0.8rem;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.08);
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}
.company-page__article--simple {
  max-width: 980px;
  margin: 0 auto;
}

.company-page .page-children {
  margin-top: 1rem;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 1.1rem 1.2rem;
}
.company-page .page-children ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.company-page .page-children li {
  margin: 0;
}
.company-page .page-children a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.6rem;
  padding: 0.55rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: rgba(0, 104, 183, 0.06);
  color: #0068b7;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.company-page .page-children a:hover {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
}

.company-page__content-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.company-page__anchor-nav {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 1.5rem;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0.85rem;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-scroll-snap-type: x proximity;
      scroll-snap-type: x proximity;
  scroll-padding-inline: max(1rem, (100vw - 1200px) / 2);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.company-page__anchor-nav::-webkit-scrollbar {
  display: none;
}

.company-page__anchor {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 10rem;
  scroll-snap-align: center;
}
.company-page__anchor.is-active, .company-page__anchor[aria-current=true] {
  background: #0068b7;
  border-color: #0068b7;
  color: #fff;
}

.company-page__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.company-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.company-page__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.company-page__intro-figure,
.company-section figure {
  margin: 0;
}

.company-page__intro-figure img,
.company-section figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.company-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.08), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
}

img {
  width: auto;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.company-section__header p {
  margin: 0;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 700;
  color: #fff;
}

.company-page__banner--soft {
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.05), rgba(255, 255, 255, 0.98));
}

.company-page__banner--alt {
  background: linear-gradient(135deg, rgba(103, 167, 216, 0.08), rgba(255, 255, 255, 0.98));
}

.company-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.company-section__grid--reverse {
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1fr);
}

.company-page__bullet-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.6rem;
}
.company-page__bullet-list li {
  position: relative;
  padding-left: 1.2rem;
}
.company-page__bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.78em;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 16px;
  background: #0068b7;
}

.company-page__feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.company-page__feature-grid--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-page__feature-card,
.company-page__request-card {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  padding: 1rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.company-page__feature-card img,
.company-page__request-card img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  margin-bottom: 0.85rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.company-page__feature-card h3,
.company-page__request-card h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1rem, 0.9583rem + 0.2083vw, 1.125rem);
  font-weight: 700;
  line-height: 1.5;
}

.company-page__feature-card p,
.company-page__request-card p {
  margin: 0;
}

.company-page__feature-card--numbered span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.75rem;
  border-radius: 16px;
  background: #0068b7;
  color: #fff;
  font-weight: 700;
}

.company-page__request-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.company-page__slide-list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(180px, 1fr);
  gap: 0.75rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
}
.company-page__slide-list img {
  width: 100%;
  min-height: 120px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.company-page__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem;
  padding: 1.3rem 1.4rem;
  background: rgba(0, 104, 183, 0.06);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
}
.company-page__cta h2 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  color: #000;
}
.company-page__cta p {
  margin: 0;
}

.company-page--for-company,
.company-page--for-health-care {
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 clamp(4rem, 7vw, 6.5rem);
  gap: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#f9fafb), color-stop(22%, #fff), to(#f9fafb));
  background: linear-gradient(180deg, #f9fafb 0%, #fff 22%, #f9fafb 100%);
  color: #222;
}
.company-page--for-company .animated-bg,
.company-page--for-health-care .animated-bg {
  display: none;
}
.company-page--for-company .company-page__content-wrap,
.company-page--for-health-care .company-page__content-wrap {
  width: min(1440px, 100% - 40px);
  max-width: none;
}
.company-page--for-company .c-page-content__panel,
.company-page--for-health-care .c-page-content__panel {
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__body,
.company-page--for-health-care .company-page__body {
  gap: clamp(4rem, 7vw, 6.25rem);
}
.company-page--for-company .company-section,
.company-page--for-health-care .company-section {
  gap: clamp(1.5rem, 3vw, 2.25rem);
  padding-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-company .company-section:first-child,
.company-page--for-health-care .company-section:first-child {
  padding-top: 0;
}
.company-page--for-company .company-section h3,
.company-page--for-health-care .company-section h3 {
  margin: 0 0 1rem;
  color: #222;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.company-page--for-company .company-section p,
.company-page--for-health-care .company-section p {
  color: #fff;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
  overflow-wrap: anywhere;
}
.company-page--for-company .company-page__intro,
.company-page--for-health-care .company-page__intro {
  grid-template-columns: minmax(0, 0.96fr) minmax(320px, 1.04fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.08), rgba(255, 255, 255, 0.96) 42%);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__intro-figure img,
.company-page--for-company .company-section figure img,
.company-page--for-health-care .company-page__intro-figure img,
.company-page--for-health-care .company-section figure img {
  aspect-ratio: 1.45/1;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-section__header,
.company-page--for-health-care .company-section__header {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: transparent;
}
.company-page--for-company .company-section__header img,
.company-page--for-health-care .company-section__header img {
  max-width: min(420px, 68%);
  max-height: 58px;
}
.company-page--for-company .company-section__header p,
.company-page--for-health-care .company-section__header p {
  color: #fff;
  text-align: right;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.company-page--for-company .company-section__grid,
.company-page--for-company .company-section__grid--reverse,
.company-page--for-health-care .company-section__grid,
.company-page--for-health-care .company-section__grid--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  gap: clamp(2rem, 5vw, 4rem);
}
.company-page--for-company .company-section__grid--reverse,
.company-page--for-health-care .company-section__grid--reverse {
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1fr);
}
.company-page--for-company .company-page__bullet-list,
.company-page--for-health-care .company-page__bullet-list {
  gap: 0.75rem;
  margin-top: 1.4rem;
}
.company-page--for-company .company-page__bullet-list li,
.company-page--for-health-care .company-page__bullet-list li {
  padding: 0.8rem 0.95rem 0.8rem 2.35rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  color: #222;
  font-weight: 700;
}
.company-page--for-company .company-page__bullet-list li::before,
.company-page--for-health-care .company-page__bullet-list li::before {
  left: 0.95rem;
  top: 1.25rem;
  background: #0068b7;
}
.company-page--for-company .company-page__feature-grid,
.company-page--for-company .company-page__request-grid,
.company-page--for-health-care .company-page__feature-grid,
.company-page--for-health-care .company-page__request-grid {
  gap: 1.25rem;
}
.company-page--for-company .company-page__feature-grid--four,
.company-page--for-health-care .company-page__feature-grid--four {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.company-page--for-company .company-page__feature-card,
.company-page--for-company .company-page__request-card,
.company-page--for-health-care .company-page__feature-card,
.company-page--for-health-care .company-page__request-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
  padding: 1.1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.company-page--for-company .company-page__feature-card:hover,
.company-page--for-company .company-page__request-card:hover,
.company-page--for-health-care .company-page__feature-card:hover,
.company-page--for-health-care .company-page__request-card:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  border-color: rgba(0, 104, 183, 0.32);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__feature-card h3,
.company-page--for-company .company-page__request-card h3,
.company-page--for-health-care .company-page__feature-card h3,
.company-page--for-health-care .company-page__request-card h3 {
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  line-height: 1.55;
}
.company-page--for-company .company-page__feature-card p,
.company-page--for-company .company-page__request-card p,
.company-page--for-health-care .company-page__feature-card p,
.company-page--for-health-care .company-page__request-card p {
  color: #222;
  line-height: 1.85;
}
.company-page--for-company .company-page__feature-card img,
.company-page--for-company .company-page__request-card img,
.company-page--for-health-care .company-page__feature-card img,
.company-page--for-health-care .company-page__request-card img {
  aspect-ratio: 1.62/1;
  border-radius: 16px;
}
.company-page--for-company .company-page__feature-card--numbered span,
.company-page--for-health-care .company-page__feature-card--numbered span {
  border-radius: 16px;
  background: #0068b7;
}
.company-page--for-company .company-page__slide-list,
.company-page--for-health-care .company-page__slide-list {
  gap: 1rem;
  padding-bottom: 0.8rem;
  scrollbar-color: #0068b7 rgba(0, 104, 183, 0.12);
}
.company-page--for-company .company-page__slide-list img,
.company-page--for-health-care .company-page__slide-list img {
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__cta,
.company-page--for-health-care .company-page__cta {
  padding: clamp(1.5rem, 4vw, 2.6rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.12), rgba(255, 255, 255, 0.94));
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__cta h2,
.company-page--for-health-care .company-page__cta h2 {
  color: #222;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
}
.company-page--for-company .company-page__cta p,
.company-page--for-health-care .company-page__cta p {
  color: #222;
}
.company-page--for-company .company-page__cta .c-btn,
.company-page--for-health-care .company-page__cta .c-btn {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.company-page--for-company {
  background: #fff;
}
.company-page--for-company .company-page__content-wrap {
  width: 100%;
  max-width: none;
  padding: 0;
}
.company-page--for-company .company-page__body {
  gap: 0;
}
.company-page--for-company .company-section {
  position: relative;
  gap: 0;
  padding: 0 0 clamp(4.5rem, 8vw, 7rem);
  border-top: 0;
}
.company-page--for-company .company-section::before {
  content: "";
  display: block;
  width: 100vw;
  height: clamp(220px, 32vw, 430px);
  margin-left: calc(50% - 50vw);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.company-page--for-company .company-section--overview {
  padding-top: clamp(2.5rem, 5vw, 4rem);
}
.company-page--for-company .company-section--overview::before {
  display: none;
}
.company-page--for-company #digital_health_care::before {
  background-image: url("../images/for_company/title_bg02.jpg");
}
.company-page--for-company #multi_channel::before {
  background-image: url("../images/for_company/title_bg03.jpg");
}
.company-page--for-company #research::before {
  background-image: url("../images/for_company/title_bg01.jpg");
}
.company-page--for-company #event_convention::before {
  background-image: url("../images/for_company/title_bg04.jpg");
}
.company-page--for-company .company-section__header {
  position: relative;
  z-index: 1;
  width: min(640px, 100% - 40px);
  min-height: clamp(86px, 9vw, 122px);
  margin: clamp(-72px, -5.2vw, -48px) auto clamp(2rem, 4vw, 3.25rem);
  margin-right: calc((100vw - min(960px, 100vw - 40px)) / 2);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.4rem;
  padding: clamp(1.2rem, 2.5vw, 2rem) clamp(1.4rem, 3vw, 2.5rem);
  border: 0;
  border-radius: 16px;
  background: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-section__header img {
  max-width: min(330px, 58%);
  max-height: 42px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.company-page--for-company .company-section__header p {
  color: #fff;
  text-align: left;
  line-height: 1.6;
}
.company-page--for-company .company-page__lead-block {
  margin-bottom: clamp(2rem, 4vw, 3rem);
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}
.company-page--for-company .company-page__wide-image {
  margin: clamp(2rem, 4vw, 3rem) auto 0;
}
.company-page--for-company .company-page__wide-image img {
  width: 100%;
  display: block;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__product-title {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
}
.company-page--for-company .company-page__product-title small {
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  text-transform: uppercase;
}
.company-page--for-company .company-page__product-title img {
  width: min(330px, 100%);
  max-height: 58px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.company-page--for-company .company-section__grid,
.company-page--for-company .company-section__grid--reverse,
.company-page--for-company .company-section__grid--journal {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.82fr);
  gap: clamp(2rem, 5vw, 4.25rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}
.company-page--for-company .company-section__grid--reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.82fr);
}
.company-page--for-company .company-section__grid--journal {
  margin-top: clamp(4rem, 7vw, 6rem);
  padding-top: clamp(3rem, 5vw, 4.5rem);
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-company .company-section h3 {
  margin: 0 0 1.1rem;
  color: #0068b7;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.45;
}
.company-page--for-company .company-section p {
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.company-page--for-company .company-section figure {
  justify-self: center;
}
.company-page--for-company .company-section figure img {
  width: 100%;
  aspect-ratio: auto;
  -o-object-fit: contain;
     object-fit: contain;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
}
.company-page--for-company .company-page__feature-grid,
.company-page--for-company .company-page__request-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 16px;
  background: #f9fafb;
}
.company-page--for-company .company-page__feature-grid--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.company-page--for-company .company-page__feature-card,
.company-page--for-company .company-page__request-card {
  min-height: 100%;
  padding: 0;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__feature-card:hover,
.company-page--for-company .company-page__request-card:hover {
  -webkit-transform: none;
          transform: none;
  border-color: rgba(0, 104, 183, 0.22);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__feature-card img,
.company-page--for-company .company-page__request-card img {
  width: 100%;
  aspect-ratio: 1.56/1;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__feature-card h3,
.company-page--for-company .company-page__request-card h3 {
  margin: 0;
  padding: 1rem 1rem 0.55rem;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.55;
}
.company-page--for-company .company-page__feature-card p,
.company-page--for-company .company-page__request-card p {
  padding: 0 1rem 1.2rem;
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.85;
}
.company-page--for-company .company-page__request-grid .company-page__request-card img {
  width: 64px;
  height: 64px;
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 1rem auto 0.25rem;
  border-radius: 0;
}
.company-page--for-company .company-page__feature-card--numbered {
  position: relative;
}
.company-page--for-company .company-page__feature-card--numbered span {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  margin: 0;
  border-radius: 16px;
  background: #0068b7;
}
.company-page--for-company .company-page__slide-list {
  overflow: hidden;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: 0;
  scrollbar-width: none;
}
.company-page--for-company .company-page__slide-list::-webkit-scrollbar {
  display: none;
}
.company-page--for-company .company-page__slide-list:hover .company-page__slide-track {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.company-page--for-company .company-page__slide-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 1rem;
  -webkit-animation: company-slide-roll 36s linear infinite;
          animation: company-slide-roll 36s linear infinite;
}
.company-page--for-company .company-page__slide-track img {
  width: min(280px, 42vw);
  min-width: min(280px, 42vw);
  aspect-ratio: 1.55/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .company-page__bullet-list li {
  border-radius: 16px;
}
.company-page--for-company .c-btn {
  min-width: min(260px, 100%);
  min-height: 44px;
  border-radius: 16px;
  background: #0068b7;
  border-color: #0068b7;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .c-btn:hover {
  background: #0068b7;
  border-color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-company .c-btn__icon {
  width: auto;
  height: auto;
  background: transparent;
}
.company-page--for-company .company-section > div:has(> .c-btn) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.company-page--for-company .company-page__cta {
  margin: 0 auto clamp(4.5rem, 8vw, 7rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
  width: calc(100% - 32px);
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.company-page--for-company .company-page__cta h2 {
  color: #222;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.6;
}
.company-page--for-company .company-page__cta .c-btn {
  justify-self: center;
}

.company-page--for-health-care {
  background: #fff;
}
.company-page--for-health-care .company-page__content-wrap {
  width: 100%;
  max-width: none;
  padding: 0;
}
.company-page--for-health-care .company-page__body {
  gap: 0;
}
.company-page--for-health-care .company-section {
  position: relative;
  gap: 0;
  padding: 0 0 clamp(4.5rem, 8vw, 7rem);
  border-top: 0;
}
.company-page--for-health-care .company-section::before {
  content: "";
  display: block;
  width: 100vw;
  height: clamp(220px, 32vw, 430px);
  margin-left: calc(50% - 50vw);
  margin-bottom: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.company-page--for-health-care #media::before {
  background-image: url("../images/for_health_care/title_bg01.jpg");
}
.company-page--for-health-care #career::before {
  background-image: url("../images/for_health_care/title_bg02.jpg");
}
.company-page--for-health-care #next::before {
  background-image: url("../images/for_health_care/title_bg03.jpg");
}
.company-page--for-health-care .company-section__header {
  position: relative;
  z-index: 1;
  width: min(640px, 100% - 40px);
  min-height: clamp(86px, 9vw, 122px);
  margin: clamp(-72px, -5.2vw, -48px) auto clamp(2rem, 4vw, 3.25rem);
  margin-right: calc((100vw - min(960px, 100vw - 40px)) / 2);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.4rem;
  padding: clamp(1.2rem, 2.5vw, 2rem) clamp(1.4rem, 3vw, 2.5rem);
  border: 0;
  border-radius: 16px;
  background: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .company-section__header img {
  max-width: min(310px, 56%);
  max-height: 42px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.company-page--for-health-care .company-section__header p {
  color: #fff;
  text-align: left;
  line-height: 1.6;
}
.company-page--for-health-care .company-page__lead-block {
  margin-bottom: clamp(2rem, 4vw, 3rem);
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}
.company-page--for-health-care .company-page__product-title {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 1.4rem;
}
.company-page--for-health-care .company-page__product-title small {
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
}
.company-page--for-health-care .company-page__product-title img {
  width: min(300px, 100%);
  max-height: 58px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
}
.company-page--for-health-care .company-page__data-list {
  display: grid;
  gap: 0;
  margin-top: 1.4rem;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-health-care .company-page__data-list dl {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 1rem;
  margin: 0;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-health-care .company-page__data-list dt {
  color: #222;
  font-weight: 700;
}
.company-page--for-health-care .company-page__data-list dd {
  margin: 0;
  color: #222;
}
.company-page--for-health-care .company-section__grid,
.company-page--for-health-care .company-section__grid--reverse,
.company-page--for-health-care .company-section__grid--journal {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.82fr);
  gap: clamp(2rem, 5vw, 4.25rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: clamp(1.5rem, 3vw, 2.4rem);
}
.company-page--for-health-care .company-section__grid--reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.82fr);
}
.company-page--for-health-care .company-section__grid--journal {
  margin-top: clamp(4rem, 7vw, 6rem);
  padding-top: clamp(3rem, 5vw, 4.5rem);
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-health-care .company-section h3 {
  margin: 0 0 1.1rem;
  color: #0068b7;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.45;
}
.company-page--for-health-care .company-section p {
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.company-page--for-health-care .company-section figure {
  justify-self: center;
}
.company-page--for-health-care .company-section figure img {
  width: 100%;
  max-height: 300px;
  aspect-ratio: auto;
  -o-object-fit: contain;
     object-fit: contain;
  border: 0;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
}
.company-page--for-health-care .company-page__feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2rem, 4vw, 3rem);
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 16px;
  background: #f9fafb;
}
.company-page--for-health-care .company-page__feature-grid--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.company-page--for-health-care .company-page__feature-card {
  min-height: 100%;
  padding: 0;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .company-page__feature-card:hover {
  -webkit-transform: none;
          transform: none;
  border-color: rgba(0, 104, 183, 0.22);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .company-page__feature-card img {
  width: 100%;
  aspect-ratio: 1.56/1;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .company-page__feature-card h3 {
  margin: 0;
  padding: 1rem 1rem 0.55rem;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.55;
}
.company-page--for-health-care .company-page__feature-card p {
  padding: 0 1rem 1.2rem;
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.85;
}
.company-page--for-health-care .c-btn {
  min-width: min(260px, 100%);
  min-height: 44px;
  border-radius: 16px;
  background: #0068b7;
  border-color: #0068b7;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .c-btn:hover {
  background: #0068b7;
  border-color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .c-btn__icon {
  width: auto;
  height: auto;
  background: transparent;
}
.company-page--for-health-care .company-section > div:has(> .c-btn) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.company-page--for-health-care .company-page__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.company-page--for-health-care .company-page__cta h2 {
  color: #222;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.6;
}
.company-page--for-health-care .company-page__cta .c-btn {
  justify-self: center;
}
.company-page--for-health-care .company-page__notice,
.company-page--for-health-care .company-page__link-note {
  margin-top: clamp(2rem, 4vw, 3.5rem);
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: #fff;
}
.company-page--for-health-care .company-page__notice h3 {
  margin: 0 0 1rem;
  text-align: center;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
}
.company-page--for-health-care .company-page__notice p {
  margin-bottom: 1rem;
}
.company-page--for-health-care .company-page__notice a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.company-page--for-health-care .company-page__notice-date {
  text-align: right;
}
.company-page--for-health-care .company-page__notice-detail {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.company-page--for-health-care .company-page__notice-detail ul {
  margin: 0.6rem 0 0;
  padding-left: 1.2rem;
}
.company-page--for-health-care .company-page__link-note p {
  margin-bottom: 0.8rem;
  color: #222;
  font-weight: 700;
}
.company-page--for-health-care .company-page__link-note ul {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.2rem;
}
.company-page--for-health-care .company-page__link-note a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .company-page--for-company .company-page__content-wrap,
  .company-page--for-health-care .company-page__content-wrap {
    width: 100%;
  }
  .company-page--for-company .company-page__anchor-nav,
  .company-page--for-health-care .company-page__anchor-nav {
    width: calc(100% - 40px);
    max-width: none;
  }
  .company-page--for-company .company-page__anchor,
  .company-page--for-health-care .company-page__anchor {
    min-width: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-width: 10rem;
  }
  .company-page--for-company .company-section,
  .company-page--for-health-care .company-section {
    padding-bottom: clamp(3.5rem, 7vw, 5rem);
  }
  .company-page--for-company .company-section__grid,
  .company-page--for-company .company-section__grid--reverse,
  .company-page--for-company .company-section__grid--journal,
  .company-page--for-company .company-page__intro,
  .company-page--for-health-care .company-section__grid,
  .company-page--for-health-care .company-section__grid--reverse,
  .company-page--for-health-care .company-section__grid--journal,
  .company-page--for-health-care .company-page__intro {
    grid-template-columns: 1fr;
  }
  .company-page--for-company .company-page__feature-grid,
  .company-page--for-company .company-page__request-grid,
  .company-page--for-health-care .company-page__feature-grid,
  .company-page--for-health-care .company-page__request-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company-page--for-company .company-section__header,
  .company-page--for-health-care .company-section__header {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(100% - 40px);
    margin-right: auto;
  }
  .company-page--for-company .company-section__header p,
  .company-page--for-health-care .company-section__header p {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .company-page--for-company,
  .company-page--for-health-care {
    padding-bottom: 4rem;
  }
  .company-page--for-company .company-page__content-wrap,
  .company-page--for-health-care .company-page__content-wrap {
    width: 100%;
  }
  .company-page--for-company .company-page__body,
  .company-page--for-health-care .company-page__body {
    gap: 3.25rem;
  }
  .company-page--for-company .company-page__anchor-nav,
  .company-page--for-health-care .company-page__anchor-nav {
    width: calc(100% - 32px);
    gap: 0.6rem;
  }
  .company-page--for-company .company-page__anchor,
  .company-page--for-health-care .company-page__anchor {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    min-width: 10rem;
  }
  .company-page--for-company .company-section,
  .company-page--for-health-care .company-section {
    gap: 1.25rem;
    padding: 0 0 4rem;
  }
  .company-page--for-company .company-section--overview,
  .company-page--for-health-care .company-section--overview {
    padding-top: 2.5rem;
  }
  .company-page--for-company .company-section::before,
  .company-page--for-health-care .company-section::before {
    height: clamp(160px, 48vw, 240px);
  }
  .company-page--for-company .company-page__intro,
  .company-page--for-health-care .company-page__intro {
    padding: 1.25rem;
  }
  .company-page--for-company .company-section__header,
  .company-page--for-health-care .company-section__header {
    width: calc(100% - 32px);
    min-height: 0;
    margin: -2.5rem auto 1.5rem;
    gap: 0.75rem;
    padding: 1rem;
  }
  .company-page--for-company .company-section__header img,
  .company-page--for-health-care .company-section__header img {
    max-width: 100%;
    max-height: 44px;
  }
  .company-page--for-company .company-page__feature-grid,
  .company-page--for-company .company-page__feature-grid--four,
  .company-page--for-company .company-page__request-grid,
  .company-page--for-health-care .company-page__feature-grid,
  .company-page--for-health-care .company-page__feature-grid--four,
  .company-page--for-health-care .company-page__request-grid {
    grid-template-columns: 1fr;
    padding: 1rem;
  }
  .company-page--for-company .company-page__feature-card,
  .company-page--for-company .company-page__request-card,
  .company-page--for-health-care .company-page__feature-card,
  .company-page--for-health-care .company-page__request-card {
    padding: 0;
  }
  .company-page--for-company .company-page__cta,
  .company-page--for-health-care .company-page__cta {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .company-page--for-company .company-page__cta .c-btn,
  .company-page--for-health-care .company-page__cta .c-btn {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.company-page--for-company .company-section > .company-section__grid,
.company-page--for-company .company-section > .company-section__grid--reverse,
.company-page--for-company .company-section > .company-section__grid--journal,
.company-page--for-company .company-section > .company-page__feature-grid,
.company-page--for-company .company-section > .company-page__feature-grid--four,
.company-page--for-company .company-section > .company-page__request-grid,
.company-page--for-company .company-section > .company-page__lead-block,
.company-page--for-company .company-section > .company-page__notice,
.company-page--for-company .company-section > .company-page__link-note,
.company-page--for-company .company-section > .company-page__cta,
.company-page--for-company .company-section > .company-page__slide-list,
.company-page--for-company .company-section > div:not(.company-section__header):not(.company-section__grid):not(.company-page__feature-grid):not(.company-page__request-grid):not(.company-page__slide-list):not(.company-page__cta),
.company-page--for-company .company-page__wide-image,
.company-page--for-health-care .company-section > .company-section__grid,
.company-page--for-health-care .company-section > .company-section__grid--reverse,
.company-page--for-health-care .company-section > .company-section__grid--journal,
.company-page--for-health-care .company-section > .company-page__feature-grid,
.company-page--for-health-care .company-section > .company-page__feature-grid--four,
.company-page--for-health-care .company-section > .company-page__request-grid,
.company-page--for-health-care .company-section > .company-page__lead-block,
.company-page--for-health-care .company-section > .company-page__notice,
.company-page--for-health-care .company-section > .company-page__link-note,
.company-page--for-health-care .company-section > .company-page__cta,
.company-page--for-health-care .company-section > .company-page__slide-list,
.company-page--for-health-care .company-section > div:not(.company-section__header):not(.company-section__grid):not(.company-page__feature-grid):not(.company-page__request-grid):not(.company-page__slide-list):not(.company-page__cta),
.company-page--for-health-care .company-page__wide-image {
  width: min(1440px, 100% - 40px);
  max-width: 1440px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .company-page--for-company .company-section > .company-section__grid,
  .company-page--for-company .company-section > .company-section__grid--reverse,
  .company-page--for-company .company-section > .company-section__grid--journal,
  .company-page--for-company .company-section > .company-page__feature-grid,
  .company-page--for-company .company-section > .company-page__feature-grid--four,
  .company-page--for-company .company-section > .company-page__request-grid,
  .company-page--for-company .company-section > .company-page__lead-block,
  .company-page--for-company .company-section > .company-page__notice,
  .company-page--for-company .company-section > .company-page__link-note,
  .company-page--for-company .company-section > .company-page__cta,
  .company-page--for-company .company-section > .company-page__slide-list,
  .company-page--for-company .company-section > div:not(.company-section__header):not(.company-section__grid):not(.company-page__feature-grid):not(.company-page__request-grid):not(.company-page__slide-list):not(.company-page__cta),
  .company-page--for-company .company-page__wide-image,
  .company-page--for-health-care .company-section > .company-section__grid,
  .company-page--for-health-care .company-section > .company-section__grid--reverse,
  .company-page--for-health-care .company-section > .company-section__grid--journal,
  .company-page--for-health-care .company-section > .company-page__feature-grid,
  .company-page--for-health-care .company-section > .company-page__feature-grid--four,
  .company-page--for-health-care .company-section > .company-page__request-grid,
  .company-page--for-health-care .company-section > .company-page__lead-block,
  .company-page--for-health-care .company-section > .company-page__notice,
  .company-page--for-health-care .company-section > .company-page__link-note,
  .company-page--for-health-care .company-section > .company-page__cta,
  .company-page--for-health-care .company-section > .company-page__slide-list,
  .company-page--for-health-care .company-section > div:not(.company-section__header):not(.company-section__grid):not(.company-page__feature-grid):not(.company-page__request-grid):not(.company-page__slide-list):not(.company-page__cta),
  .company-page--for-health-care .company-page__wide-image {
    width: calc(100% - 32px);
  }
}

.company-page--for-company .company-section__grid,
.company-page--for-company .company-section__grid--reverse,
.company-page--for-company .company-section__grid--journal,
.company-page--for-health-care .company-section__grid,
.company-page--for-health-care .company-section__grid--reverse,
.company-page--for-health-care .company-section__grid--journal {
  min-width: 0;
}
.company-page--for-company .company-section__grid > *,
.company-page--for-company .company-section__grid--reverse > *,
.company-page--for-company .company-section__grid--journal > *,
.company-page--for-health-care .company-section__grid > *,
.company-page--for-health-care .company-section__grid--reverse > *,
.company-page--for-health-care .company-section__grid--journal > * {
  min-width: 0;
}
.company-page--for-company .company-section__header.company-page__banner,
.company-page--for-company .company-section__header.company-page__banner--alt,
.company-page--for-company .company-section__header.company-page__banner--soft,
.company-page--for-health-care .company-section__header.company-page__banner,
.company-page--for-health-care .company-section__header.company-page__banner--alt,
.company-page--for-health-care .company-section__header.company-page__banner--soft {
  width: min(1440px, 100% - 40px);
  max-width: 1440px;
  margin-inline: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.company-page--for-company .company-section__header.company-page__banner img,
.company-page--for-company .company-section__header.company-page__banner--alt img,
.company-page--for-company .company-section__header.company-page__banner--soft img,
.company-page--for-health-care .company-section__header.company-page__banner img,
.company-page--for-health-care .company-section__header.company-page__banner--alt img,
.company-page--for-health-care .company-section__header.company-page__banner--soft img {
  display: block;
  width: auto;
  max-width: min(420px, 62%);
  height: auto;
  max-height: 58px;
  -o-object-fit: contain;
     object-fit: contain;
}
.company-page--for-company .company-section__header.company-page__banner p,
.company-page--for-company .company-section__header.company-page__banner--alt p,
.company-page--for-company .company-section__header.company-page__banner--soft p,
.company-page--for-health-care .company-section__header.company-page__banner p,
.company-page--for-health-care .company-section__header.company-page__banner--alt p,
.company-page--for-health-care .company-section__header.company-page__banner--soft p {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .company-page--for-company .company-section__grid,
  .company-page--for-company .company-section__grid--reverse,
  .company-page--for-company .company-section__grid--journal,
  .company-page--for-health-care .company-section__grid,
  .company-page--for-health-care .company-section__grid--reverse,
  .company-page--for-health-care .company-section__grid--journal {
    grid-template-columns: 1fr;
    gap: clamp(1.5rem, 4vw, 2.5rem);
  }
  .company-page--for-company .company-section__grid--reverse figure,
  .company-page--for-health-care .company-section__grid--reverse figure {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .company-page--for-company .company-section__header.company-page__banner,
  .company-page--for-company .company-section__header.company-page__banner--alt,
  .company-page--for-company .company-section__header.company-page__banner--soft,
  .company-page--for-health-care .company-section__header.company-page__banner,
  .company-page--for-health-care .company-section__header.company-page__banner--alt,
  .company-page--for-health-care .company-section__header.company-page__banner--soft {
    width: calc(100% - 40px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
  }
  .company-page--for-company .company-section__header.company-page__banner img,
  .company-page--for-company .company-section__header.company-page__banner--alt img,
  .company-page--for-company .company-section__header.company-page__banner--soft img,
  .company-page--for-health-care .company-section__header.company-page__banner img,
  .company-page--for-health-care .company-section__header.company-page__banner--alt img,
  .company-page--for-health-care .company-section__header.company-page__banner--soft img {
    max-width: min(360px, 100%);
    max-height: 52px;
  }
  .company-page--for-company .company-section__header.company-page__banner p,
  .company-page--for-company .company-section__header.company-page__banner--alt p,
  .company-page--for-company .company-section__header.company-page__banner--soft p,
  .company-page--for-health-care .company-section__header.company-page__banner p,
  .company-page--for-health-care .company-section__header.company-page__banner--alt p,
  .company-page--for-health-care .company-section__header.company-page__banner--soft p {
    width: 100%;
    text-align: left;
  }
}
@media (max-width: 767px) {
  .company-page--for-company .company-section__grid,
  .company-page--for-company .company-section__grid--reverse,
  .company-page--for-company .company-section__grid--journal,
  .company-page--for-health-care .company-section__grid,
  .company-page--for-health-care .company-section__grid--reverse,
  .company-page--for-health-care .company-section__grid--journal {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .company-page--for-company .company-section__header.company-page__banner,
  .company-page--for-company .company-section__header.company-page__banner--alt,
  .company-page--for-company .company-section__header.company-page__banner--soft,
  .company-page--for-health-care .company-section__header.company-page__banner,
  .company-page--for-health-care .company-section__header.company-page__banner--alt,
  .company-page--for-health-care .company-section__header.company-page__banner--soft {
    width: calc(100% - 32px);
    min-height: 0;
    margin: 0 auto 1.25rem;
    padding: 0.9rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .company-page--for-company .company-section__header.company-page__banner img,
  .company-page--for-company .company-section__header.company-page__banner--alt img,
  .company-page--for-company .company-section__header.company-page__banner--soft img,
  .company-page--for-health-care .company-section__header.company-page__banner img,
  .company-page--for-health-care .company-section__header.company-page__banner--alt img,
  .company-page--for-health-care .company-section__header.company-page__banner--soft img {
    max-width: 100%;
    max-height: 42px;
  }
}

@-webkit-keyframes company-slide-roll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes company-slide-roll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .company-page--for-company .company-page__slide-track {
    -webkit-animation: none;
            animation: none;
  }
}
.about-page__content-wrap {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.about-page__content-wrap .about-page__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
.about-page__content-wrap .about-page__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding: 0 0 2rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page__content-wrap .about-page__section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.about-page__content-wrap section + section {
  margin-top: 2rem;
  padding-top: 0;
  border-top: 0;
}
.about-page__content-wrap h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.25rem, 1.0833rem + 0.8333vw, 1.75rem);
  font-weight: 700;
  color: #000;
}
.about-page__content-wrap h3 {
  margin: 1.4rem 0 0.75rem;
  font-size: clamp(1rem, 0.9583rem + 0.2083vw, 1.125rem);
  font-weight: 700;
  color: #000;
}
.about-page__content-wrap figure {
  margin: 0 0 1rem;
}
.about-page__content-wrap img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
}

.c-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.45rem;
  margin: 0 0 0.5rem;
}

.c-section-title__eyebrow {
  margin: 0;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.c-section-title__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.0833rem + 0.8333vw, 1.75rem);
  font-weight: 700;
  line-height: 1.35;
  color: #000;
}

.c-section-title__lead {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 1.8;
  max-width: 56rem;
}

.about-page__message-sign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page__message-sign strong {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.about-page__message-sign span {
  color: #444;
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
}

.about-page__timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0;
}
.about-page__timeline li {
  display: grid;
  grid-template-columns: minmax(90px, 110px) minmax(0, 1fr);
  gap: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page__timeline li:last-child {
  border-bottom: 0;
}

.about-page__timeline-date {
  color: #0068b7;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.about-page__timeline p {
  margin: 0;
}

.about-page__profile-list {
  display: grid;
  gap: 0;
}
.about-page__profile-list dl {
  display: grid;
  grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
  gap: 1rem;
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page__profile-list dl:last-child {
  border-bottom: 0;
}
.about-page__profile-list dt {
  margin: 0;
  font-weight: 700;
  color: #000;
}
.about-page__profile-list dd {
  margin: 0;
  line-height: 1.9;
}

.about-page__access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1.25rem;
  margin: 0;
}
.about-page__access-grid > div,
.about-page__access-grid > article {
  background: transparent;
  border: 0;
  border-radius: 16px;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.about-page__access-grid h3,
.about-page__access-grid h4 {
  margin: 0 0 0.5rem;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.about-page__access-grid p {
  margin: 0;
  line-height: 1.8;
}
.about-page__access-grid ul {
  margin: 0;
  padding-left: 1.25rem;
}
.about-page__access-grid li + li {
  margin-top: 0.35rem;
}

.about-page__map {
  margin-top: 1rem;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page__map iframe {
  display: block;
  width: 100%;
  min-height: 280px;
  border: 0;
}

@media (max-width: 1023px) {
  .company-page__content-wrap {
    max-width: 100%;
  }
  .company-page__intro,
  .company-section__grid,
  .company-section__grid--reverse,
  .company-page__cta {
    grid-template-columns: 1fr;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .company-page__feature-grid,
  .company-page__feature-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company-page__request-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .company-page__anchor-nav {
    padding-inline: 0.25rem;
  }
  .company-page__feature-grid,
  .company-page__feature-grid--four,
  .company-page__request-grid {
    grid-template-columns: 1fr;
  }
  .about-page__timeline li,
  .about-page__profile-list dl {
    grid-template-columns: 1fr;
  }
  .about-page__access-grid {
    grid-template-columns: 1fr;
  }
  .company-page__slide-list {
    grid-auto-columns: minmax(160px, 72vw);
  }
}
.about-page .about-page__section {
  gap: clamp(1.2rem, 2vw, 1.6rem);
  padding: clamp(1.5rem, 3.2vw, 2.6rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: rgba(255, 255, 255, 0.94);
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
}
.about-page .about-page__section:last-child {
  padding-bottom: clamp(1.5rem, 3.2vw, 2.6rem);
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .about-page__content-wrap section + section {
  margin-top: clamp(1.2rem, 2.5vw, 2rem);
}
.about-page .c-section-title {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .c-section-title__eyebrow {
  color: #0068b7;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.about-page .c-section-title__title {
  color: #222;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}
.about-page .c-section-title__lead {
  color: #222;
  max-width: 48rem;
}
.about-page .about-page__message-sign {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 1.5rem;
  padding: 1.25rem;
  text-align: right;
}
.about-page .about-page__message-sign strong {
  color: #222;
}
.about-page .about-page__message-sign span {
  color: #222;
}
.about-page .about-page__timeline {
  position: relative;
  gap: 0.75rem;
}
.about-page .about-page__timeline::before {
  content: "";
  position: absolute;
  top: 0.85rem;
  bottom: 0.85rem;
  left: 9.2rem;
  width: 1px;
  background: rgba(0, 104, 183, 0.12);
}
.about-page .about-page__timeline li {
  position: relative;
  grid-template-columns: minmax(7.5rem, 8rem) minmax(0, 1fr);
  gap: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.about-page .about-page__timeline li::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 8.87rem;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 16px;
  background: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.about-page .about-page__timeline p {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #f9fafb;
  color: #222;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.about-page .about-page__timeline-date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2.2rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.08);
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}
.about-page .about-page__profile-list {
  gap: 0.65rem;
}
.about-page .about-page__profile-list dl {
  grid-template-columns: minmax(9rem, 0.28fr) minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
}
.about-page .about-page__profile-list dt {
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
}
.about-page .about-page__profile-list dd {
  color: #222;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.about-page .about-page__profile-list a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.about-page .about-page__access-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.about-page .about-page__access-grid > article,
.about-page .about-page__access-grid > div {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: #f9fafb;
}
.about-page .about-page__access-grid > article:first-child {
  grid-column: 1/-1;
}
.about-page .about-page__access-grid h3,
.about-page .about-page__access-grid h4 {
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  line-height: 1.5;
}
.about-page .about-page__access-grid p,
.about-page .about-page__access-grid li {
  color: #222;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.about-page .about-page__access-grid ul {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.85rem;
  padding-left: 1.1rem;
}
.about-page .about-page__map {
  border-radius: 16px;
  border-color: rgba(0, 104, 183, 0.12);
  background: #fff;
}
.about-page .about-page__map iframe {
  min-height: clamp(280px, 34vw, 420px);
}

@media (min-width: 768px) and (max-width: 1199px) {
  .about-page .about-page__access-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .about-page .about-page__content-wrap {
    width: calc(100% - 32px);
  }
  .about-page .about-page__section {
    padding: 1.2rem;
  }
  .about-page .about-page__message-sign {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
  }
  .about-page .about-page__timeline::before {
    display: none;
  }
  .about-page .about-page__timeline li {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }
  .about-page .about-page__timeline li::before {
    display: none;
  }
  .about-page .about-page__timeline p {
    padding: 0.85rem;
  }
  .about-page .about-page__timeline-date {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .about-page .about-page__profile-list dl {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding: 0.95rem;
  }
  .about-page .about-page__access-grid > article,
  .about-page .about-page__access-grid > div {
    padding: 1rem;
  }
}
.about-page {
  background: #fff;
}
.about-page .animated-bg {
  display: none;
}
.about-page .about-page__content-wrap {
  width: min(960px, 100% - 48px);
  max-width: none;
  margin: 0 auto;
}
.about-page .about-page__body {
  display: grid;
  gap: clamp(5rem, 9vw, 8.5rem);
}
.about-page .about-page__section {
  padding: 0;
  border: 0;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.about-page .about-page__section-content {
  min-width: 0;
}
.about-page .about-page__message-main {
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.about-page .about-page__message-main img {
  display: block;
  width: 100%;
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.about-page .about-page__message-heading {
  margin: 0 0 0.7rem;
  color: #0077ba;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.45;
}
.about-page .about-page__message-lead {
  margin: 0 0 1.6rem;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.9;
}
.about-page .about-page__text {
  display: grid;
  gap: 1rem;
}
.about-page .about-page__text p {
  margin: 0;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2.15;
}
.about-page .about-page__message-sign {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  margin-top: clamp(1.8rem, 4vw, 3rem);
}
.about-page .about-page__message-sign p {
  margin: 0;
  color: #223449;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.9;
}
.about-page .about-page__message-sign strong,
.about-page .about-page__message-sign span {
  display: block;
}
.about-page .about-page__message-sign img {
  width: 100%;
  border-radius: 16px;
}
.about-page .about-page__timeline {
  position: relative;
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.about-page .about-page__timeline::before {
  content: "";
  position: absolute;
  top: 0.45rem;
  bottom: 0.45rem;
  left: 6.2rem;
  width: 1px;
  background: #6fb8df;
}
.about-page .about-page__timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 5rem 3rem minmax(0, 1fr);
  gap: 1rem;
  min-height: 3.2rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .about-page__timeline li::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: calc(6.2rem - 4px);
  width: 9px;
  height: 9px;
  border-radius: 16px;
  background: #0077ba;
}
.about-page .about-page__timeline li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.about-page .about-page__timeline p {
  margin: 0;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
}
.about-page .about-page__timeline-year,
.about-page .about-page__timeline-month {
  color: #0077ba;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.8;
}
.about-page .about-page__timeline-month {
  padding-left: 0.15rem;
  margin-left: 0.5rem;
}
.about-page .about-page__profile-list,
.about-page .about-page__access-list {
  display: grid;
}
.about-page .about-page__organization-chart {
  margin: 0;
}
.about-page .about-page__organization-chart picture,
.about-page .about-page__organization-chart img {
  display: block;
  width: 100%;
  border-radius: 0;
}
.about-page .about-page__organization-chart img {
  height: auto;
}
.about-page .about-page__profile-row {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .about-page__profile-row:last-child {
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .about-page__profile-row dt {
  color: #0077ba;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.8;
}
.about-page .about-page__profile-row dd {
  margin: 0;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
}
.about-page .about-page__profile-row a {
  color: #0077ba;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.about-page .about-page__officer-table {
  border-collapse: collapse;
}
.about-page .about-page__officer-table th,
.about-page .about-page__officer-table td {
  padding: 0 1rem 0.25rem 0;
  text-align: left;
  vertical-align: top;
  font: inherit;
  color: inherit;
}
.about-page .about-page__officer-table th {
  min-width: 9.5em;
  font-weight: 500;
}
.about-page .about-page__plain-list {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding-left: 1.1rem;
}
.about-page .about-page__address-list {
  display: grid;
  gap: 1.2rem;
}
.about-page .about-page__address-list p {
  margin: 0;
}
.about-page .about-page__address-list strong {
  display: block;
  color: #223449;
}
.about-page .about-page__access-list {
  gap: clamp(2.25rem, 5vw, 4rem);
}
.about-page .about-page__office {
  padding-top: 1.6rem;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.about-page .about-page__office h3 {
  margin: 0 0 0.9rem;
  color: #0077ba;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.5;
}
.about-page .about-page__office-address {
  margin: 0 0 1.4rem;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
}
.about-page .about-page__route-list {
  display: grid;
  gap: 0.7rem;
  margin-bottom: 1.5rem;
}
.about-page .about-page__route-list dl {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 1.2rem;
  margin: 0;
}
.about-page .about-page__route-list dt,
.about-page .about-page__route-list dd {
  margin: 0;
  color: #33465c;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
}
.about-page .about-page__route-list dt {
  color: #223449;
  font-weight: 700;
}
.about-page .about-page__map {
  width: 100%;
  overflow: hidden;
  background: #edf4f8;
}
.about-page .about-page__map iframe {
  display: block;
  width: 100%;
  height: 300px;
  border: 0;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .about-page .about-page__content-wrap {
    width: min(860px, 100% - 48px);
  }
  .about-page .about-page__section {
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 2.5rem;
  }
  .about-page .about-page__message-sign {
    grid-template-columns: 1fr;
  }
  .about-page .about-page__message-sign img {
    width: min(320px, 100%);
  }
}
@media (max-width: 767px) {
  .about-page .about-page__content-wrap {
    width: calc(100% - 32px);
    padding: 3.5rem 0 5rem;
  }
  .about-page .about-page__body {
    gap: 4.5rem;
  }
  .about-page .about-page__section {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .about-page .about-page__message-sign,
  .about-page .about-page__profile-row,
  .about-page .about-page__route-list dl {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  .about-page .about-page__timeline::before {
    left: 4.35rem;
  }
  .about-page .about-page__timeline li {
    grid-template-columns: 3.65rem 2.4rem minmax(0, 1fr);
    gap: 0.75rem;
  }
  .about-page .about-page__timeline li::before {
    left: calc(4.35rem - 4px);
  }
  .about-page .about-page__officer-table,
  .about-page .about-page__officer-table tbody,
  .about-page .about-page__officer-table tr,
  .about-page .about-page__officer-table th,
  .about-page .about-page__officer-table td {
    display: block;
  }
  .about-page .about-page__officer-table tr + tr {
    margin-top: 0.35rem;
  }
  .about-page .about-page__officer-table th {
    min-width: 0;
    padding-bottom: 0;
    color: #6b7f8f;
  }
  .about-page .about-page__map {
    width: 100%;
  }
  .about-page .about-page__map iframe {
    height: 240px;
  }
}
.job-detail-page .job-detail-layout {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.78fr);
  gap: 1.5rem;
}
.job-detail-page .job-detail-layout__main,
.job-detail-page .job-detail-layout__side {
  min-width: 0;
}
.job-detail-page .job-section,
.job-detail-page .job-sidebar,
.job-detail-page .job-sidebar-cta,
.job-detail-page .job-entry-box {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.job-detail-page .job-section {
  padding: 1.6rem 1.7rem;
  margin-bottom: 1.2rem;
}
.job-detail-page .job-section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.job-detail-page .job-section__title {
  margin: 0;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  color: #222;
}
.job-detail-page .job-section__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.35rem 0.8rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  color: #0068b7;
  background: rgba(0, 104, 183, 0.08);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}
.job-detail-page .job-overview__table {
  width: 100%;
  border-collapse: collapse;
}
.job-detail-page .job-overview__table th,
.job-detail-page .job-overview__table td {
  padding: 1rem 0.25rem;
  vertical-align: top;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
}
.job-detail-page .job-overview__table th {
  width: 28%;
  color: #222;
  white-space: nowrap;
  padding-right: 1rem;
}
.job-detail-page .job-overview__table td {
  color: #a6aebd;
}
.job-detail-page .job-content-card,
.job-detail-page .job-panel {
  color: #222;
  line-height: 1.9;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
}
.job-detail-page .job-content-card p,
.job-detail-page .job-content-card ul,
.job-detail-page .job-content-card ol {
  margin-bottom: 1rem;
}
.job-detail-page .job-content-card .wp-block-table {
  margin: 0;
  overflow-x: visible;
}
.job-detail-page .job-content-card .wp-block-table table {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid #e1e5ea;
  border-radius: 0;
  border-collapse: collapse;
  background: #fff;
}
.job-detail-page .job-content-card .wp-block-table td {
  padding: clamp(1.25rem, 2.4vw, 1.9rem) clamp(1rem, 2.6vw, 2rem);
  border: 0;
  border-bottom: 1px solid #e1e5ea;
  background: #fff;
  color: #222;
  vertical-align: middle;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.job-detail-page .job-content-card .wp-block-table td:first-child {
  width: 28%;
  background: #f9fafb;
  font-weight: 700;
  white-space: nowrap;
}
.job-detail-page .job-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.85rem;
}
.job-detail-page .job-panel__lead {
  margin: 0;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  color: #0068b7;
}
.job-detail-page .job-panel__text {
  margin: 0;
}
.job-detail-page .job-empty-block {
  padding: 1.25rem 1.35rem;
  border-radius: 16px;
  background: rgba(249, 250, 251, 0.85);
  color: #a6aebd;
}
.job-detail-page .job-entry-box {
  margin: 1.5rem 0 0.75rem;
  padding: 1.5rem 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 104, 183, 0.08)), to(rgba(255, 255, 255, 0.95)));
  background: linear-gradient(90deg, rgba(0, 104, 183, 0.08), rgba(255, 255, 255, 0.95));
}
.job-detail-page .job-entry-box__eyebrow {
  margin: 0 0 0.35rem;
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
}
.job-detail-page .job-entry-box__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  color: #222;
}
.job-detail-page .job-entry-box__text {
  margin: 0;
  color: #a6aebd;
}
.job-detail-page .job-entry-box__actions {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.job-detail-page .job-detail-back {
  margin-top: 1rem;
}
.job-detail-page .job-sidebar {
  padding: 1.4rem 1.2rem;
  position: sticky;
  top: 1.5rem;
}
.job-detail-page .job-sidebar__title,
.job-detail-page .job-sidebar-cta__title {
  margin: 0 0 1rem;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  color: #222;
}
.job-detail-page .job-sidebar__toggle {
  display: none;
}
.job-detail-page .job-sidebar__groups {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.1rem;
}
.job-detail-page .job-sidebar__group-title {
  margin: 0 0 0.5rem;
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
}
.job-detail-page .job-sidebar__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6rem;
}
.job-detail-page .job-sidebar__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 0.9rem;
  border-radius: 16px;
  text-decoration: none;
  color: #222;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.job-detail-page .job-sidebar__item:hover, .job-detail-page .job-sidebar__item.is-active {
  background: rgba(0, 104, 183, 0.08);
  color: #0068b7;
}
.job-detail-page .job-sidebar__icon {
  width: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #0068b7;
  text-align: center;
}
.job-detail-page .job-sidebar__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}
.job-detail-page .job-sidebar__chev {
  color: #0068b7;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.job-detail-page .job-sidebar-cta {
  margin-top: 1rem;
  padding: 1.4rem 1.2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 104, 183, 0.08)), to(rgba(255, 255, 255, 0.95)));
  background: linear-gradient(180deg, rgba(0, 104, 183, 0.08), rgba(255, 255, 255, 0.95));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.85rem;
}
.job-detail-page .job-sidebar-cta__text {
  margin: 0;
  color: #a6aebd;
  line-height: 1.8;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .job-detail-page .job-detail-layout {
    grid-template-columns: 1fr;
  }
  .job-detail-page .job-sidebar {
    position: static;
  }
  .job-detail-page .job-entry-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .job-detail-page .job-overview__table th,
  .job-detail-page .job-overview__table td {
    display: block;
    width: 100%;
  }
  .job-detail-page .job-overview__table th {
    padding-bottom: 0.15rem;
    white-space: normal;
  }
  .job-detail-page .job-overview__table td {
    padding-top: 0;
  }
}
@media (max-width: 767px) {
  .job-detail-page .job-detail-layout {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 0 0 3rem;
  }
  .job-detail-page .job-detail-layout__side {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .job-detail-page .job-detail-layout__main {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .job-detail-page .job-section,
  .job-detail-page .job-sidebar,
  .job-detail-page .job-sidebar-cta,
  .job-detail-page .job-entry-box {
    border-radius: 16px;
  }
  .job-detail-page .job-section {
    padding: 1.25rem;
  }
  .job-detail-page .job-section__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.75rem;
    padding-bottom: 0.85rem;
  }
  .job-detail-page .job-section__tag {
    white-space: normal;
  }
  .job-detail-page .job-overview__table th,
  .job-detail-page .job-overview__table td {
    display: block;
    width: 100%;
  }
  .job-detail-page .job-overview__table th {
    padding: 0.85rem 0 0.2rem;
    white-space: normal;
    border-bottom: 0;
  }
  .job-detail-page .job-overview__table td {
    padding: 0 0 0.85rem;
  }
  .job-detail-page .job-overview__table tr:last-child th,
  .job-detail-page .job-overview__table tr:last-child td {
    border-bottom: 0;
  }
  .job-detail-page .job-content-card,
  .job-detail-page .job-panel {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .job-detail-page .job-content-card iframe,
  .job-detail-page .job-content-card table {
    width: 100% !important;
    max-width: 100%;
  }
  .job-detail-page .job-content-card .wp-block-table td {
    padding: 1rem 0.9rem;
    font-size: 0.875rem;
  }
  .job-detail-page .job-content-card .wp-block-table td:first-child {
    width: 34%;
    white-space: normal;
  }
  .job-detail-page .job-content-card img {
    height: auto;
  }
  .job-detail-page .job-entry-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 1.25rem;
  }
  .job-detail-page .job-entry-box__actions {
    width: 100%;
  }
  .job-detail-page .job-entry-box__actions .c-btn {
    width: 100%;
  }
  .job-detail-page .job-sidebar {
    position: static;
    padding: 1.25rem 1rem;
  }
  .job-detail-page .job-sidebar__title {
    display: none;
  }
  .job-detail-page .job-sidebar__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    min-height: 3.5rem;
    padding: 0.9rem 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(0, 104, 183, 0.12);
    border-radius: 16px;
    background: rgba(0, 104, 183, 0.06);
    color: #222;
    font-family: inherit;
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
  }
  .job-detail-page .job-sidebar__toggle-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #0068b7;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .job-detail-page .job-sidebar__groups {
    display: none;
    margin-top: 1rem;
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .job-detail-page .job-sidebar.is-open .job-sidebar__toggle-icon {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .job-detail-page .job-sidebar.is-open .job-sidebar__groups {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .job-detail-page .job-sidebar__item {
    padding: 0.8rem 0.75rem;
  }
  .job-detail-page .job-sidebar__text {
    overflow-wrap: anywhere;
  }
  .job-detail-page .job-sidebar-cta {
    display: none;
    padding: 1.25rem 1rem;
  }
  .job-detail-page .job-sidebar-cta .c-btn {
    width: 100%;
  }
  .job-detail-page .job-detail-back .c-btn {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .job-detail-page .employee-voice-section--job .employee-voice-section__head-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.9rem;
  }
  .job-detail-page .employee-voice-section--job .employee-voice-section__more {
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.interview-page .interview-index {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.interview-page .interview-index__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 2rem;
}
.interview-page .interview-index__stages {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
.interview-page .interview-index__stage {
  min-width: 0;
}
.interview-page .interview-index__stage .c-btn__label {
  min-width: 5rem;
  text-align: center;
}
.interview-page .interview-index__stage.is-active {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
}
.interview-page .interview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}
.interview-page .interview-card {
  min-width: 0;
}
.interview-page .interview-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.interview-page .interview-card__link:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.interview-page .interview-card__thumb {
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.12), rgba(0, 104, 183, 0.03));
}
.interview-page .interview-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.interview-page .interview-card__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 20%, rgba(0, 104, 183, 0.16), transparent 38%), linear-gradient(135deg, rgba(103, 167, 216, 0.22), rgba(255, 255, 255, 0.3));
}
.interview-page .interview-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.7rem;
  padding: 1.1rem 1.1rem 1.3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.interview-page .interview-card__title {
  margin: 0;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}
.interview-page .interview-card__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}
.interview-page .interview-card__line p {
  width: 100%;
  margin: 0;
}
.interview-page .interview-card__joined {
  margin: 0;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}
.interview-page .interview-card__arrow {
  display: none;
}
.interview-page .interview-empty {
  padding: 2rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  color: #a6aebd;
}
.interview-page .job-interview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}
.interview-page .job-interview-grid .interview-card {
  min-width: 0;
}
.interview-page .job-interview-grid .interview-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.interview-page .job-interview-grid .interview-card__link:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.interview-page .job-interview-grid .interview-card__thumb {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.12), rgba(0, 104, 183, 0.03));
}
.interview-page .job-interview-grid .interview-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.interview-page .job-interview-grid .interview-card__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 20%, rgba(0, 104, 183, 0.16), transparent 38%), linear-gradient(135deg, rgba(103, 167, 216, 0.22), rgba(255, 255, 255, 0.3));
}
.interview-page .job-interview-grid .interview-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.7rem;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.interview-page .job-interview-grid .interview-card__title {
  margin: 0;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}
.interview-page .job-interview-grid .interview-card__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}
.interview-page .job-interview-grid .interview-card__line p {
  margin: 0;
}
.interview-page .job-interview-grid .interview-card__joined {
  margin: 0;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}
.interview-page .job-interview-grid .interview-card__arrow {
  display: none;
}
.interview-page .interview-pagination,
.recruit-blog-archive .recruit-blog-pagination,
.c-archive-index__pagination.recruit-blog-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  margin-top: 2.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.interview-page .interview-pagination .page-numbers,
.recruit-blog-archive .recruit-blog-pagination .page-numbers,
.c-archive-index__pagination.recruit-blog-pagination .page-numbers {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: #222;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.interview-page .interview-pagination .page-numbers.current,
.interview-page .interview-pagination .page-numbers:hover,
.recruit-blog-archive .recruit-blog-pagination .page-numbers.current,
.recruit-blog-archive .recruit-blog-pagination .page-numbers:hover,
.c-archive-index__pagination.recruit-blog-pagination .page-numbers.current,
.c-archive-index__pagination.recruit-blog-pagination .page-numbers:hover {
  background: #0068b7;
  color: #fff;
  border-color: #0068b7;
}

.interview-page .interview-pagination .page-numbers.dots,
.recruit-blog-archive .recruit-blog-pagination .page-numbers.dots,
.c-archive-index__pagination.recruit-blog-pagination .page-numbers.dots {
  border: 0;
  background: transparent;
  width: auto;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .interview-page .company-page__hero-inner {
    grid-template-columns: 1fr;
  }
  .interview-page .company-page__hero-panel {
    border-left: 0;
    border-top: 1px solid rgba(0, 104, 183, 0.12);
    min-height: 140px;
  }
  .interview-page .company-page__layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .interview-page .company-page {
    gap: 1rem;
  }
  .interview-page .company-page__hero, .interview-page .company-page__article, .interview-page .company-page__card {
    border-radius: 16px;
  }
  .interview-page .company-page__hero-copy {
    padding: 1.35rem;
  }
  .interview-page .company-page__article {
    padding: 1.25rem;
  }
  .interview-page .company-page__title {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
    font-weight: 700;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .interview-page .job-interview-grid {
    grid-template-columns: 1fr;
  }
  .interview-page .interview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .interview-page .job-interview-grid {
    grid-template-columns: 1fr;
  }
  .interview-page .interview-grid {
    grid-template-columns: 1fr;
  }
  .interview-page .interview-index__stages {
    gap: 0.65rem;
  }
}

.jobs-page .jobs-index {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.jobs-page .jobs-index__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.jobs-page .jobs-index__filter {
  min-width: 9rem;
}
.jobs-page .jobs-index__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
.jobs-page .jobs-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.jobs-page .jobs-group__title {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  color: #222;
  margin: 0;
  padding-left: 0.25rem;
}
.jobs-page .job-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.jobs-page .job-card {
  min-width: 0;
}
.jobs-page .job-card__link {
  display: grid;
  grid-template-columns: 88px 1fr auto;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.5rem 1.75rem;
  color: inherit;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: rgba(0, 104, 183, 0.22);
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.jobs-page .job-card__link:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.jobs-page .job-card__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #0068b7;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  min-height: 80px;
}
.jobs-page .job-card__body {
  min-width: 0;
}
.jobs-page .job-card__category {
  font-size: 0.875rem;
  font-weight: 700;
  color: #0068b7;
  margin-bottom: 0.5rem;
}
.jobs-page .job-card__title {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  color: #000;
  margin: 0 0 0.5rem;
  line-height: 1.35;
}
.jobs-page .job-card__summary {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  color: #a6aebd;
  line-height: 1.6;
  margin: 0;
}
.jobs-page .job-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-width: 220px;
}
.jobs-page .job-card__location {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #222;
  white-space: nowrap;
}
.jobs-page .job-card__location .bi {
  color: #0068b7;
}
.jobs-page .job-card__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.35rem 0.8rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  color: #0068b7;
  background: rgba(255, 255, 255, 0.9);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
}
.jobs-page .job-card__more .bi {
  position: relative;
  z-index: 2;
}
.jobs-page .job-list-empty {
  padding: 2rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  color: #a6aebd;
}
@media (max-width: 767px) {
  .jobs-page .job-card__link {
    position: relative;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 0.9rem;
    min-height: 16rem;
    padding: 1.25rem 1.25rem 4.75rem;
  }
  .jobs-page .job-card__icon {
    grid-column: 1;
    min-height: 0;
    padding-top: 0.15rem;
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  }
  .jobs-page .job-card__body {
    grid-column: 2;
    width: 100%;
  }
  .jobs-page .job-card__category {
    min-height: 2rem;
    margin-bottom: 0.35rem;
    padding-right: 6.25rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
  .jobs-page .job-card__title {
    margin-bottom: 0.75rem;
    overflow-wrap: anywhere;
  }
  .jobs-page .job-card__summary {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }
  .jobs-page .job-card__meta {
    display: contents;
  }
  .jobs-page .job-card__badge {
    position: absolute;
    top: 1.15rem;
    right: 1.15rem;
    max-width: 6rem;
  }
  .jobs-page .job-card__location {
    position: absolute;
    bottom: 1.5rem;
    left: 1.25rem;
    max-width: calc(100% - 6rem);
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .jobs-page .job-card__more {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

.recruit-blog-archive .recruit-blog-index {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.recruit-blog-archive .recruit-blog-index__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
}
.recruit-blog-archive .recruit-blog-index__filter {
  min-width: 8rem;
}
.recruit-blog-archive .recruit-blog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
}
.recruit-blog-archive .recruit-blog-card {
  min-width: 0;
}
.recruit-blog-archive .recruit-blog-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.recruit-blog-archive .recruit-blog-card__link:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.recruit-blog-archive .recruit-blog-card__thumb {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.12), rgba(0, 104, 183, 0.03));
}
.recruit-blog-archive .recruit-blog-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.recruit-blog-archive .recruit-blog-card__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 20%, rgba(0, 104, 183, 0.16), transparent 38%), linear-gradient(135deg, rgba(255, 196, 92, 0.35), rgba(0, 104, 183, 0.08));
}
.recruit-blog-archive .recruit-blog-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.85rem;
  padding: 1.1rem 1.1rem 1.3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.recruit-blog-archive .recruit-blog-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.recruit-blog-archive .recruit-blog-card__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.3rem 0.7rem;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.12);
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
}
.recruit-blog-archive .recruit-blog-card__date {
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}
.recruit-blog-archive .recruit-blog-card__title {
  margin: 0;
  color: #222;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.45;
}
.recruit-blog-archive .recruit-blog-card__excerpt {
  margin: 0;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.recruit-blog-archive .recruit-blog-empty {
  padding: 2rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  color: #a6aebd;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .recruit-blog-archive .recruit-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .recruit-blog-archive .recruit-blog-grid {
    grid-template-columns: 1fr;
  }
}

.recruit-blog-single .recruit-blog-single__article {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 0.5rem 4rem;
}
.recruit-blog-single .recruit-blog-single__thumb {
  margin-bottom: 2rem;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
}
.recruit-blog-single .recruit-blog-single__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
.recruit-blog-single .recruit-blog-single__content {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 16px;
  padding: 2rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.snow-monkey-form {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.36);
  backdrop-filter: blur(22px) saturate(155%);
  -webkit-backdrop-filter: blur(22px) saturate(155%);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.snow-monkey-form .smf-progress-tracker {
  max-width: 760px;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item:after, .snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item:before {
  top: 1.2rem;
  background: rgba(0, 104, 183, 0.18);
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__number {
  width: 2.4rem;
  min-width: 2.4rem;
  height: 2.4rem;
  min-height: 2.4rem;
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.34);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: transparent;
  font-size: 0.875rem !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__number::before {
  color: #0068b7;
  font-family: "bootstrap-icons" !important;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem) !important;
  line-height: 1 !important;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__text {
  margin-top: 0.65rem;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 700;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
  background: #0068b7;
  color: #fff;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
  color: #222;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item--input .smf-progress-tracker__item__number::before {
  content: "\f4ca" !important;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number::before {
  content: "\f26d" !important;
}
.snow-monkey-form .smf-progress-tracker .smf-progress-tracker__item--complete .smf-progress-tracker__item__number::before {
  content: "\f6c0" !important;
}
.snow-monkey-form .smf-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(1.1rem, 2vw, 1.6rem);
  max-width: 1040px;
  margin: 0 auto;
}
.snow-monkey-form .smf-form .smf-item {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.snow-monkey-form .smf-form .smf-item__col {
  min-width: 0;
}
.snow-monkey-form .smf-form .smf-item__col--label {
  padding-top: 0.95rem;
}
.snow-monkey-form .smf-form .smf-item__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
}
.snow-monkey-form .smf-form .smf-item__label__text {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  color: #222;
  line-height: 1.55;
}
.snow-monkey-form .smf-form .smf-item:has([data-validations*=required]) .smf-item__label::after {
  content: "必須";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 3rem;
  min-height: 1.45rem;
  padding: 0 0.6rem;
  border-radius: 999px;
  background: rgba(0, 104, 183, 0.9);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.snow-monkey-form .smf-form .smf-item__description {
  margin-top: 0.65rem;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
}
.snow-monkey-form .smf-form .smf-item__controls,
.snow-monkey-form .smf-form .smf-placeholder,
.snow-monkey-form .smf-form .smf-text-control,
.snow-monkey-form .smf-form .smf-textarea-control,
.snow-monkey-form .smf-form .smf-select-control,
.snow-monkey-form .smf-form .smf-file-control,
.snow-monkey-form .smf-form .smf-radio-buttons-control,
.snow-monkey-form .smf-form .smf-checkboxes-control {
  width: 100%;
  min-width: 0;
}
.snow-monkey-form .smf-form .privacy_agreesection {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.snow-monkey-form .smf-form .privacy_agreesection .smf-item__label::after {
  content: none !important;
  display: none !important;
}
.snow-monkey-form .smf-form .contact-privacy-readers {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2vw, 1.4rem);
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}
.snow-monkey-form .smf-form .contact-privacy-reader {
  min-width: 0;
}
.snow-monkey-form .smf-form .contact-privacy-reader__title {
  margin: 0 0 0.75rem;
  color: #222;
  text-align: center;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  line-height: 1.6;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body {
  height: clamp(16rem, 34vw, 22rem);
  overflow: auto;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid rgba(0, 104, 183, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.56);
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body h1,
.snow-monkey-form .smf-form .contact-privacy-reader__body h2,
.snow-monkey-form .smf-form .contact-privacy-reader__body h3,
.snow-monkey-form .smf-form .contact-privacy-reader__body h4 {
  margin: 1.3em 0 0.65em;
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  line-height: 1.7;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body h1:first-child,
.snow-monkey-form .smf-form .contact-privacy-reader__body h2:first-child,
.snow-monkey-form .smf-form .contact-privacy-reader__body h3:first-child,
.snow-monkey-form .smf-form .contact-privacy-reader__body h4:first-child {
  margin-top: 0;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body p,
.snow-monkey-form .smf-form .contact-privacy-reader__body ul,
.snow-monkey-form .smf-form .contact-privacy-reader__body ol {
  margin: 0 0 1em;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body strong {
  font-weight: 700;
}
.snow-monkey-form .smf-form .contact-privacy-reader__body a {
  color: #0068b7;
  text-decoration: underline;
}
.snow-monkey-form .smf-form .contact-privacy-readers__note {
  grid-column: 1/-1;
  margin: 0;
  color: #222;
  text-align: center;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
}
.snow-monkey-form .smf-form input,
.snow-monkey-form .smf-form select,
.snow-monkey-form .smf-form textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.44);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.snow-monkey-form .smf-form input::-webkit-input-placeholder, .snow-monkey-form .smf-form select::-webkit-input-placeholder, .snow-monkey-form .smf-form textarea::-webkit-input-placeholder {
  color: rgba(34, 34, 34, 0.28);
}
.snow-monkey-form .smf-form input::-moz-placeholder, .snow-monkey-form .smf-form select::-moz-placeholder, .snow-monkey-form .smf-form textarea::-moz-placeholder {
  color: rgba(34, 34, 34, 0.28);
}
.snow-monkey-form .smf-form input:-ms-input-placeholder, .snow-monkey-form .smf-form select:-ms-input-placeholder, .snow-monkey-form .smf-form textarea:-ms-input-placeholder {
  color: rgba(34, 34, 34, 0.28);
}
.snow-monkey-form .smf-form input::-ms-input-placeholder, .snow-monkey-form .smf-form select::-ms-input-placeholder, .snow-monkey-form .smf-form textarea::-ms-input-placeholder {
  color: rgba(34, 34, 34, 0.28);
}
.snow-monkey-form .smf-form input::placeholder,
.snow-monkey-form .smf-form select::placeholder,
.snow-monkey-form .smf-form textarea::placeholder {
  color: rgba(34, 34, 34, 0.28);
}
.snow-monkey-form .smf-form input:focus,
.snow-monkey-form .smf-form select:focus,
.snow-monkey-form .smf-form textarea:focus {
  outline: none;
  border-color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.snow-monkey-form .smf-form input,
.snow-monkey-form .smf-form select {
  min-height: 3.2rem;
  padding: 0.8rem 1rem;
}
.snow-monkey-form .smf-form textarea {
  min-height: 14rem;
  padding: 1rem;
  resize: vertical;
  line-height: 1.85;
}
.snow-monkey-form .smf-form .smf-select-control {
  position: relative;
}
.snow-monkey-form .smf-form .smf-select-control__toggle {
  position: absolute;
  left: auto;
  right: 1rem;
  top: 50%;
  width: 0.55rem;
  height: 0.55rem;
  margin-top: -0.45rem;
  border-right: 2px solid rgba(0, 104, 183, 0.95);
  border-bottom: 2px solid rgba(0, 104, 183, 0.95);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  pointer-events: none;
}
.snow-monkey-form .smf-form .smf-select-control__toggle::before, .snow-monkey-form .smf-form .smf-select-control__toggle::after {
  content: none;
  display: none;
}
.snow-monkey-form .smf-form .smf-radio-buttons-control__control,
.snow-monkey-form .smf-form .smf-checkboxes-control__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.85rem;
}
.snow-monkey-form .smf-form .smf-label label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  cursor: pointer;
}
.snow-monkey-form .smf-form .smf-radio-button-control,
.snow-monkey-form .smf-form .smf-checkbox-control {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.72rem 1.05rem;
  border: 2px solid rgba(0, 104, 183, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: #222;
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.snow-monkey-form .smf-form .smf-radio-button-control:hover,
.snow-monkey-form .smf-form .smf-checkbox-control:hover {
  border-color: rgba(0, 104, 183, 0.45);
  background: #fff;
}
.snow-monkey-form .smf-form .smf-radio-button-control:has(input:checked),
.snow-monkey-form .smf-form .smf-checkbox-control:has(input:checked) {
  border-color: #0068b7;
  background: rgba(0, 104, 183, 0.08);
  color: #0068b7;
}
.snow-monkey-form .smf-form .smf-radio-button-control:has(input:focus-visible),
.snow-monkey-form .smf-form .smf-checkbox-control:has(input:focus-visible) {
  outline: 3px solid rgba(0, 104, 183, 0.22);
  outline-offset: 3px;
}
.snow-monkey-form .smf-form .smf-radio-button-control__control,
.snow-monkey-form .smf-form .smf-checkbox-control__control {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 1.15rem;
  min-width: 1.15rem;
  height: 1.15rem;
  min-height: 1.15rem;
  margin: 0;
  padding: 0 !important;
  border: 1px solid rgba(0, 104, 183, 0.42);
  background: #fff;
  accent-color: #0068b7;
  cursor: pointer;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.snow-monkey-form .smf-form .smf-radio-button-control__control::before, .snow-monkey-form .smf-form .smf-radio-button-control__control::after,
.snow-monkey-form .smf-form .smf-checkbox-control__control::before,
.snow-monkey-form .smf-form .smf-checkbox-control__control::after {
  content: none;
  display: none;
}
.snow-monkey-form .smf-form .smf-radio-button-control__control {
  border-radius: 50%;
}
.snow-monkey-form .smf-form .smf-checkbox-control__control {
  border-radius: 0.2rem;
}
.snow-monkey-form .smf-form .smf-radio-button-control__label,
.snow-monkey-form .smf-form .smf-checkbox-control__label {
  color: inherit;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
.snow-monkey-form .smf-form .smf-file-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.snow-monkey-form .smf-form .smf-file-control label {
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.snow-monkey-form .smf-form .smf-file-control__control {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.snow-monkey-form .smf-form .smf-file-control__label,
.snow-monkey-form .smf-form .smf-file-control__clear {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 3rem;
  padding: 0.7rem 1.1rem;
  border-radius: 999px;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.snow-monkey-form .smf-form .smf-file-control__label {
  background: rgba(0, 104, 183, 0.88);
  color: #fff;
}
.snow-monkey-form .smf-form .smf-file-control__clear {
  background: rgba(255, 255, 255, 0.34);
  color: #a6aebd;
  border: 1px solid rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.snow-monkey-form .smf-form .smf-file-control__filename {
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.6;
}
.snow-monkey-form .smf-form .smf-system-error-content,
.snow-monkey-form .smf-form .smf-system-error-content-ready,
.snow-monkey-form .smf-form .smf-system-complete-content {
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 16px;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
}
.snow-monkey-form .smf-form .smf-system-error-content,
.snow-monkey-form .smf-form .smf-system-error-content-ready {
  color: #c83a4b;
  background: rgba(200, 58, 75, 0.06);
  border: 1px solid rgba(200, 58, 75, 0.16);
}
.snow-monkey-form .smf-form .smf-system-complete-content {
  color: #0f5f35;
  background: rgba(15, 95, 53, 0.06);
  border: 1px solid rgba(15, 95, 53, 0.16);
}
.snow-monkey-form .smf-action {
  max-width: 1040px;
  margin: clamp(2rem, 4vw, 3rem) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.snow-monkey-form .smf-action .smf-button-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  width: min(100%, 220px);
  min-height: 3.5rem;
  padding: 0.9rem 1.3rem;
  border-radius: 999px;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.44) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm], .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete] {
  background: rgba(0, 104, 183, 0.86);
  color: #fff;
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] {
  background: rgba(255, 255, 255, 0.34);
  color: #a6aebd;
}

@media (max-width: 767px) {
  .snow-monkey-form {
    padding: 1.25rem;
  }
  .snow-monkey-form .smf-progress-tracker {
    margin-bottom: 1.25rem;
  }
  .snow-monkey-form .smf-form .smf-item {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .snow-monkey-form .smf-form .contact-privacy-readers {
    grid-template-columns: 1fr;
  }
  .snow-monkey-form .smf-form .contact-privacy-reader__body {
    height: 16rem;
  }
  .snow-monkey-form .smf-form .smf-item__col--label {
    padding-top: 0;
  }
  .snow-monkey-form .smf-form .smf-radio-button-control,
  .snow-monkey-form .smf-form .smf-checkbox-control {
    width: 100%;
  }
  .snow-monkey-form .smf-action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .snow-monkey-form .smf-action .smf-button-control {
    width: 100%;
  }
  .snow-monkey-form .smf-action .smf-button-control__control {
    width: 100%;
  }
}
.snow-monkey-form[data-screen=confirm] .privacy_agreesection {
  display: none;
}

body.page-id-1062 .snow-monkey-form,
body.page-id-1113 .snow-monkey-form {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
}
body.page-id-1062 .snow-monkey-form .smf-form,
body.page-id-1062 .snow-monkey-form .smf-item,
body.page-id-1062 .snow-monkey-form .smf-item__label,
body.page-id-1062 .snow-monkey-form .smf-item__label__text,
body.page-id-1062 .snow-monkey-form .smf-item__description,
body.page-id-1062 .snow-monkey-form .smf-item__controls,
body.page-id-1062 .snow-monkey-form .smf-placeholder,
body.page-id-1062 .snow-monkey-form .smf-radio-button-control__label,
body.page-id-1062 .snow-monkey-form .smf-checkbox-control__label,
body.page-id-1062 .snow-monkey-form .smf-file-control__label,
body.page-id-1062 .snow-monkey-form .smf-file-control__clear,
body.page-id-1062 .snow-monkey-form .smf-file-control__filename,
body.page-id-1062 .snow-monkey-form .smf-system-error-content,
body.page-id-1062 .snow-monkey-form .smf-system-error-content-ready,
body.page-id-1062 .snow-monkey-form .smf-system-complete-content,
body.page-id-1062 .snow-monkey-form .smf-button-control__control,
body.page-id-1062 .snow-monkey-form input,
body.page-id-1062 .snow-monkey-form select,
body.page-id-1062 .snow-monkey-form textarea,
body.page-id-1113 .snow-monkey-form .smf-form,
body.page-id-1113 .snow-monkey-form .smf-item,
body.page-id-1113 .snow-monkey-form .smf-item__label,
body.page-id-1113 .snow-monkey-form .smf-item__label__text,
body.page-id-1113 .snow-monkey-form .smf-item__description,
body.page-id-1113 .snow-monkey-form .smf-item__controls,
body.page-id-1113 .snow-monkey-form .smf-placeholder,
body.page-id-1113 .snow-monkey-form .smf-radio-button-control__label,
body.page-id-1113 .snow-monkey-form .smf-checkbox-control__label,
body.page-id-1113 .snow-monkey-form .smf-file-control__label,
body.page-id-1113 .snow-monkey-form .smf-file-control__clear,
body.page-id-1113 .snow-monkey-form .smf-file-control__filename,
body.page-id-1113 .snow-monkey-form .smf-system-error-content,
body.page-id-1113 .snow-monkey-form .smf-system-error-content-ready,
body.page-id-1113 .snow-monkey-form .smf-system-complete-content,
body.page-id-1113 .snow-monkey-form .smf-button-control__control,
body.page-id-1113 .snow-monkey-form input,
body.page-id-1113 .snow-monkey-form select,
body.page-id-1113 .snow-monkey-form textarea {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
}
body.page-id-1062 .snow-monkey-form input,
body.page-id-1062 .snow-monkey-form select,
body.page-id-1062 .snow-monkey-form textarea,
body.page-id-1113 .snow-monkey-form input,
body.page-id-1113 .snow-monkey-form select,
body.page-id-1113 .snow-monkey-form textarea {
  border: 2px solid rgba(0, 104, 183, 0.22);
  background: rgba(255, 255, 255, 0.96);
}
body.page-id-1062 .snow-monkey-form input:focus,
body.page-id-1062 .snow-monkey-form select:focus,
body.page-id-1062 .snow-monkey-form textarea:focus,
body.page-id-1113 .snow-monkey-form input:focus,
body.page-id-1113 .snow-monkey-form select:focus,
body.page-id-1113 .snow-monkey-form textarea:focus {
  border-color: #0068b7;
  background: #fff;
}

.legal-page__article {
  width: min(960px, 100%);
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(5rem, 9vw, 7rem);
}
.legal-page__intro {
  margin: 0 0 2rem;
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 600;
  line-height: 2;
}
.legal-page__meta {
  margin: 0 0 1rem;
  color: rgba(34, 34, 34, 0.68);
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 700;
}
.legal-page__section {
  padding: clamp(1.8rem, 3vw, 2.4rem) 0;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.legal-page__section:last-child {
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.legal-page__section h2,
.legal-page__section h3,
.legal-page__section h4 {
  margin: 0 0 1rem;
  color: #000;
  line-height: 1.45;
  letter-spacing: 0;
}
.legal-page__section h2 {
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
}
.legal-page__section h3 {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
}
.legal-page__section h4 {
  font-size: clamp(1rem, 0.9583rem + 0.2083vw, 1.125rem);
  font-weight: 700;
}
.legal-page__section p {
  margin: 0;
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
}
.legal-page__section p + p,
.legal-page__section p + ul,
.legal-page__section p + ol,
.legal-page__section ul + p,
.legal-page__section ol + p,
.legal-page__section h3 + h4,
.legal-page__section h4 + p,
.legal-page__section .legal-page__contact + p {
  margin-top: 1rem;
}
.legal-page__section ul,
.legal-page__section ol {
  margin: 1rem 0 0;
  padding-left: 1.4rem;
  color: #222;
}
.legal-page__section li {
  line-height: 1.9;
}
.legal-page__section li + li {
  margin-top: 0.75rem;
}
.legal-page__section a {
  color: #0068b7;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.legal-page__stack {
  display: grid;
  gap: 1.35rem;
}
.legal-page__note {
  margin-top: 1rem;
  color: rgba(34, 34, 34, 0.76);
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  font-weight: 600;
}
.legal-page__contact {
  display: grid;
  gap: 0.35rem;
}
.legal-page__table {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.legal-page__row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.2rem 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
.legal-page__row dt {
  margin: 0;
  color: #000;
  font-weight: 700;
  line-height: 1.8;
}
.legal-page__row dd {
  margin: 0;
  color: #222;
  line-height: 1.9;
}
.legal-page__social-list {
  display: grid;
  gap: 1.25rem;
}
.legal-page__social-card {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: clamp(1.25rem, 2.4vw, 2rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(1.2rem, 2.4vw, 1.8rem);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.legal-page__social-media {
  width: 100%;
  max-width: 180px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.legal-page__social-media img {
  display: block;
  width: 100%;
  height: auto;
}
.legal-page__social-content h3 {
  margin-bottom: 0.8rem;
}
.legal-page__social-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.legal-page__social-links a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  font-weight: 700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media (max-width: 767px) {
  .legal-page__article {
    padding: 0;
  }
  .legal-page__row, .legal-page__social-card {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }
  .legal-page__social-media {
    max-width: 140px;
  }
}
.error-page__body {
  width: min(960px, 100%);
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(5rem, 9vw, 7rem);
  display: grid;
  gap: 1.5rem;
  justify-items: start;
}
.error-page__code {
  margin: 0;
  color: rgba(0, 104, 183, 0.2);
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  font-weight: 700;
  line-height: 0.9;
}
.error-page h2 {
  margin: 0;
  color: #000;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}
.error-page__lead {
  margin: 0;
  max-width: 42rem;
  color: #222;
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
}
.error-page__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 0.5rem;
}
.error-page__links {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}
.error-page__links a {
  display: grid;
  gap: 0.35rem;
  min-height: 112px;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.error-page__links strong {
  color: #000;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.error-page__links span {
  color: #222;
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.8;
}
.error-page__links a:hover {
  border-color: rgba(0, 104, 183, 0.28);
  background: rgba(255, 255, 255, 0.9);
}

@media (min-width: 768px) and (max-width: 1199px) {
  .error-page__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .error-page__body {
    width: calc(100% - 32px);
    padding: 3.25rem 0 4.5rem;
  }
  .error-page__actions, .error-page__links {
    width: 100%;
  }
  .error-page__actions .c-btn {
    width: 100%;
  }
  .error-page__links {
    grid-template-columns: 1fr;
  }
}
.c-archive-index .c-archive-index__filters,
.company-page__anchor-nav,
.recruit-blog-archive .recruit-blog-index__filters,
.jobs-page .jobs-index__filters,
.interview-page .interview-index__stages {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.85rem;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-scroll-snap-type: x proximity;
      scroll-snap-type: x proximity;
  scroll-padding-inline: max(1rem, (100vw - 1200px) / 2);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.c-archive-index .c-archive-index__filters::-webkit-scrollbar,
.company-page__anchor-nav::-webkit-scrollbar,
.recruit-blog-archive .recruit-blog-index__filters::-webkit-scrollbar,
.jobs-page .jobs-index__filters::-webkit-scrollbar,
.interview-page .interview-index__stages::-webkit-scrollbar {
  display: none;
}

.c-archive-index .c-archive-index__filter,
.company-page__anchor,
.recruit-blog-archive .recruit-blog-index__filter,
.jobs-page .jobs-index__filter,
.interview-page .interview-index__stage {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 10rem;
  scroll-snap-align: center;
  white-space: nowrap;
}

.jobs-page .jobs-index__filter.is-active,
.recruit-blog-archive .recruit-blog-index__filter.is-active,
.interview-page .interview-index__stage.is-active,
.company-page__anchor.is-active,
.company-page__anchor[aria-current=true] {
  background: #0068b7;
  border-color: #0068b7;
  color: #fff;
}

@media (max-width: 767px) {
  .c-archive-index .c-archive-index__filters,
  .company-page__anchor-nav,
  .recruit-blog-archive .recruit-blog-index__filters,
  .jobs-page .jobs-index__filters,
  .interview-page .interview-index__stages {
    gap: 0.55rem;
  }
  .c-archive-index .c-archive-index__filter,
  .company-page__anchor,
  .recruit-blog-archive .recruit-blog-index__filter,
  .jobs-page .jobs-index__filter,
  .interview-page .interview-index__stage {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 0;
    min-height: 2.35rem;
    padding: 0.38rem 0.75rem;
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  }
  .c-archive-index .c-archive-index__filter .c-btn__label,
  .company-page__anchor .c-btn__label,
  .recruit-blog-archive .recruit-blog-index__filter .c-btn__label,
  .jobs-page .jobs-index__filter .c-btn__label,
  .interview-page .interview-index__stage .c-btn__label {
    min-width: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.recruit-notice-strip {
  padding: clamp(1.25rem, 2.6vw, 2.25rem) 0 clamp(2.25rem, 4vw, 3.5rem);
  background: #fff;
}
.recruit-notice-strip__inner {
  width: min(1440px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
}
.recruit-notice-strip__list {
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.recruit-notice-strip__item {
  display: grid;
  grid-template-columns: 132px auto minmax(0, 1fr) 28px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  min-height: 84px;
  padding: 1.35rem 0.5rem;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
  color: #222;
  text-decoration: none;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
.recruit-notice-strip__item:hover {
  color: #0068b7;
}
.recruit-notice-strip__item:hover .recruit-notice-strip__arrow {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.recruit-notice-strip__date {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 600;
  color: #a6aebd;
  white-space: nowrap;
}
.recruit-notice-strip__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.9rem;
  border: 1px solid rgba(0, 104, 183, 0.22);
  border-radius: 999px;
  color: #0068b7;
  background: rgba(255, 255, 255, 0.96);
  font-size: 0.875rem;
  font-weight: 700;
  white-space: nowrap;
  justify-self: start;
}
.recruit-notice-strip__title {
  min-width: 0;
  margin: 0;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  color: currentColor;
  line-height: 1.55;
}
.recruit-notice-strip__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  color: #0068b7;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recruit-notice-strip .com-btn-wrap {
  margin-top: 1.5rem;
}

.recruit-feature-banners {
  width: min(1440px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  padding: 0 0 5vw;
}
.recruit-feature-banners__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.recruit-feature-banner {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  text-decoration: none;
  isolation: isolate;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background-color: #fff;
  -webkit-transition: border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: transform 0.35s ease, border-color 0.35s ease;
  transition: transform 0.35s ease, border-color 0.35s ease, -webkit-transform 0.35s ease;
}
.recruit-feature-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: -2;
}
.recruit-feature-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}
.recruit-feature-banner:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
}
.recruit-feature-banner:hover::before {
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}
.recruit-feature-banner--infographics::before {
  background-image: url("../images/infographic.png");
}
.recruit-feature-banner--infographics::after {
  background: radial-gradient(circle at 78% 28%, rgba(77, 174, 255, 0.22), transparent 24%), radial-gradient(circle at 74% 64%, rgba(0, 104, 183, 0.16), transparent 22%), -webkit-gradient(linear, left top, left bottom, from(rgba(236, 245, 255, 0.88)), to(rgba(255, 255, 255, 0.18)));
  background: radial-gradient(circle at 78% 28%, rgba(77, 174, 255, 0.22), transparent 24%), radial-gradient(circle at 74% 64%, rgba(0, 104, 183, 0.16), transparent 22%), linear-gradient(180deg, rgba(236, 245, 255, 0.88), rgba(255, 255, 255, 0.18));
}
.recruit-feature-banner--infographics .recruit-feature-banner__eyebrow {
  color: #0068b7;
}
.recruit-feature-banner--welfare::before {
  background-image: linear-gradient(110deg, rgba(255, 250, 244, 0.97) 10%, rgba(255, 250, 244, 0.84) 48%, rgba(255, 250, 244, 0.12) 100%), url("../images/welfare.png");
}
.recruit-feature-banner--welfare::after {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 244, 230, 0.74)), to(rgba(255, 255, 255, 0.08)));
  background: linear-gradient(180deg, rgba(255, 244, 230, 0.74), rgba(255, 255, 255, 0.08));
}
.recruit-feature-banner--welfare .recruit-feature-banner__eyebrow,
.recruit-feature-banner--welfare .recruit-feature-banner__chips {
  color: #e6811d;
}
.recruit-feature-banner--welfare .recruit-feature-banner__chips li {
  border-color: rgba(230, 129, 29, 0.28);
}
.recruit-feature-banner__content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1.15rem;
  padding: clamp(2rem, 4vw, 2.75rem);
}
.recruit-feature-banner__eyebrow {
  margin: 0;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.45;
}
.recruit-feature-banner__title {
  margin: 0;
  color: #202050;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
}
.recruit-feature-banner__description {
  max-width: 21rem;
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  line-height: 1.85;
}
.recruit-feature-banner__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 3.4rem;
  padding: 0.75rem 1.35rem;
  border: 1px solid;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
}
.recruit-feature-banner__button .bi {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recruit-feature-banner__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  margin-top: 0.25rem;
}
.recruit-feature-banner__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.7rem;
}
.recruit-feature-banner__chips li {
  min-width: 92px;
  min-height: 88px;
  padding: 0.8rem 0.7rem;
  border: 1px solid;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.55rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
}
.recruit-feature-banner__chips .bi {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  line-height: 1;
}

.recruit__section {
  overflow: hidden;
  padding: 5vw 0;
}
.recruit__section .page__recruit__ourbusiness,
.recruit__section .page__recruit__blog,
.recruit__section .page__recruit__interview {
  width: min(1440px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  padding: clamp(3.5rem, 5vw, 5rem) 0;
}
.recruit__section .page__recruit__section-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.recruit__section .page__recruit__section-head .c-section-heading {
  max-width: 860px;
  margin: 0;
}
.recruit__section .page__recruit__section-head .c-section-heading__eyebrow {
  margin-bottom: 1rem;
}
.recruit__section .page__recruit__section-head .c-section-heading__title {
  margin: 0 0 1.15rem;
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  font-weight: 700;
  line-height: 1.45;
}
.recruit__section .page__recruit__section-head .c-section-heading__title:last-child {
  margin-bottom: 0;
}
.recruit__section .page__recruit__section-head .c-section-heading__lead {
  margin: 0;
}
.recruit__section .page__recruit__section-head--home {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.recruit__section .page__recruit__section-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.45rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #0068b7;
  text-decoration: none;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 800;
}
.recruit__section .page__recruit__section-more .bi {
  width: 1.55rem;
  height: 1.55rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.08);
  border: 1px solid rgba(0, 104, 183, 0.12);
  font-size: 0.875rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recruit__section .page__recruit__section-more:hover .bi, .recruit__section .page__recruit__section-more:focus-visible .bi {
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
.recruit__section .page__recruit__introduce .scrolling-wrapper {
  margin-bottom: -2%;
}
.recruit__section .page__recruit__introduce .lead {
  max-width: calc(944px + 5%);
  width: 100%;
  margin: 0 auto;
  padding: 0 5%;
  text-align: center;
  margin-top: -5%;
  position: relative;
  z-index: 1;
  line-height: 1.8;
}
.recruit__section .page__recruit__introduce .lead h3 {
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  margin-bottom: 2rem;
  color: #202050;
}
.recruit__section .page__recruit__introduce .lead p {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  word-break: auto-phrase;
  color: #000;
}
.recruit__section .page__recruit__introduce .lead p strong {
  font-weight: bold;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-top: 0;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: #fff;
  -webkit-transition: border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: border-color 0.35s ease, -webkit-transform 0.35s ease;
  transition: transform 0.35s ease, border-color 0.35s ease;
  transition: transform 0.35s ease, border-color 0.35s ease, -webkit-transform 0.35s ease;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a {
  display: block;
  position: relative;
  min-height: clamp(260px, 28vw, 360px);
  color: #fff;
  text-decoration: none;
  isolation: isolate;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgba(32, 32, 80, 0)), to(rgba(32, 32, 80, 0.72)));
  background: linear-gradient(180deg, rgba(32, 32, 80, 0) 30%, rgba(32, 32, 80, 0.72) 100%);
  pointer-events: none;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .img figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .img figure img {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translate(-50%, -50%) scale(1.04);
          transform: translate(-50%, -50%) scale(1.04);
  left: 50%;
  top: 50%;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt {
  position: absolute;
  inset: auto 1.25rem 1.25rem 1.25rem;
  z-index: 2;
  color: #fff;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  min-height: 4.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: #202050;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.45;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt div span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: #0068b7;
  color: #fff;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt div span .bi {
  margin-left: 0;
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a:hover .img figure img, .recruit__section .page__recruit__ourbusiness .ourbusiness-list li a:focus-visible .img figure img {
  -webkit-transform: translate(-50%, -50%) scale(1.12);
          transform: translate(-50%, -50%) scale(1.12);
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li a:hover .txt div span, .recruit__section .page__recruit__ourbusiness .ourbusiness-list li a:focus-visible .txt div span {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.recruit__section .page__recruit__ourbusiness .ourbusiness-list li:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  border-color: rgba(0, 104, 183, 0.22);
}
@media (min-width: 768px) and (max-width: 1199px) {
  .recruit__section .page__recruit__ourbusiness .ourbusiness-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .recruit__section .page__recruit__ourbusiness .ourbusiness-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .recruit__section .page__recruit__ourbusiness .ourbusiness-list li a {
    min-height: 240px;
  }
  .recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt {
    inset: auto 1rem 1rem 1rem;
  }
  .recruit__section .page__recruit__ourbusiness .ourbusiness-list li a .txt div {
    min-height: 4rem;
  }
}
.recruit__section .page__recruit__blog .recruit-blog-card {
  width: 100%;
  min-width: 0;
}
.recruit__section .page__recruit__blog .recruit-blog-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.recruit__section .page__recruit__blog .recruit-blog-card__link:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.recruit__section .page__recruit__blog .recruit-blog-card__thumb {
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.12), rgba(0, 104, 183, 0.03));
}
.recruit__section .page__recruit__blog .recruit-blog-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.recruit__section .page__recruit__blog .recruit-blog-card__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 20% 20%, rgba(0, 104, 183, 0.16), transparent 38%), linear-gradient(135deg, rgba(255, 196, 92, 0.35), rgba(0, 104, 183, 0.08));
}
.recruit__section .page__recruit__blog .recruit-blog-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.85rem;
  padding: 1.1rem 1.1rem 1.3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.recruit__section .page__recruit__blog .recruit-blog-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.recruit__section .page__recruit__blog .recruit-blog-card__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.3rem 0.7rem;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.12);
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
}
.recruit__section .page__recruit__blog .recruit-blog-card__date {
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}
.recruit__section .page__recruit__blog .recruit-blog-card__title {
  margin: 0;
  color: #222;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.45;
}
.recruit__section .page__recruit__blog .recruit-blog-card__excerpt {
  margin: 0;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.recruit__section .page__recruit__blog .blogSlider {
  overflow: visible;
  padding-left: 0;
  margin-top: 0;
}
.recruit__section .page__recruit__blog .blogSlider .swiper-wrapper {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.recruit__section .page__recruit__blog .blogSlider .swiper-wrapper .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: initial;
}
.recruit__section .page__recruit__interview .employee-voice-section__head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.recruit__section .page__recruit__interview .interviewSlider {
  overflow: visible;
  width: 100%;
}
.recruit__section .page__recruit__interview .interviewSlider .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: auto;
}
.recruit__section .page__recruit__interview .interviewSlider .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
.recruit__section .page__recruit__interview .interviewSlider .interview-card {
  width: 100%;
  height: 100%;
}
.recruit__section .page__recruit__interview-empty {
  margin: 0;
  color: #a6aebd;
  text-align: center;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
}

@media (max-width: 767px) {
  .recruit__section .page__recruit__section-head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .recruit__section .page__recruit__section-more {
    white-space: normal;
  }
}
.recruit-infographics {
  width: 100%;
  max-width: 1460px;
  margin: 0 auto;
  padding: 0 5%;
}
.recruit-infographics--embedded {
  margin-top: 5rem;
}
.recruit-infographics__inner {
  background: radial-gradient(circle at top, rgba(229, 241, 255, 0.95) 0%, rgba(255, 255, 255, 0.98) 28%, rgba(244, 249, 255, 0.94) 100%);
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: clamp(2rem, 5vw, 4rem);
}
.recruit-infographics__heading {
  text-align: center;
  margin: 0 auto 2.5rem;
  max-width: 760px;
}
.recruit-infographics__eyebrow {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  color: #0068b7;
  margin-bottom: 0.75rem;
}
.recruit-infographics__title {
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  color: #202050;
  margin: 0 0 1rem;
  line-height: 1.2;
}
.recruit-infographics__lead {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  color: #222;
  line-height: 1.8;
  margin: 0;
}
.recruit-infographics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
  margin-bottom: 1.35rem;
}
.recruit-infographics__bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);
  gap: 1.35rem;
}
.recruit-infographics__card {
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease, color 0.3s ease, background 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.recruit-infographics__card:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.recruit-infographics__card h3 {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  color: #000;
  text-align: center;
  margin: 0 0 1.6rem;
}
.recruit-infographics__card--stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 420px;
  text-align: center;
}
.recruit-infographics__stat-icon {
  color: #0068b7;
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  line-height: 1;
  margin-bottom: 1.5rem;
}
.recruit-infographics__value {
  margin: 0 0 0.85rem;
  color: #0068b7;
  font-weight: 700;
  line-height: 1;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
}
.recruit-infographics__value span {
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  line-height: 1;
  margin-right: 0.25rem;
}
.recruit-infographics__caption {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  color: #a6aebd;
  text-align: center;
  margin: 0;
}
.recruit-infographics__card--gender {
  min-height: 420px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.recruit-infographics__gender {
  display: grid;
  gap: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.5rem;
}
.recruit-infographics__gender-chart {
  width: 180px;
  height: 180px;
  margin: 0 auto;
  border-radius: 16px;
  background: conic-gradient(#2372d9 0 62%, #f56ca2 62% 100%);
  position: relative;
}
.recruit-infographics__gender-chart::after {
  content: "";
  position: absolute;
  inset: 28px;
  border-radius: 16px;
  background: #fff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.recruit-infographics__gender-item {
  text-align: center;
}
.recruit-infographics__gender-item strong {
  display: block;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  line-height: 1.1;
}
.recruit-infographics__gender-item strong span {
  font-size: 0.875rem;
  margin-left: 0.1em;
}
.recruit-infographics__gender-item.is-male {
  color: #2372d9;
}
.recruit-infographics__gender-item.is-female {
  color: #f56ca2;
}
.recruit-infographics__gender-label {
  display: block;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
  margin-bottom: 0.45rem;
}
.recruit-infographics__card--foundation, .recruit-infographics__card--branches {
  min-height: 360px;
}
.recruit-infographics__foundation {
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(120px, 0.9fr) minmax(0, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
.recruit-infographics__foundation-icon {
  color: #69a7eb;
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  line-height: 1;
  text-align: center;
}
.recruit-infographics__foundation-copy {
  color: #0068b7;
  font-weight: 700;
  text-align: left;
}
.recruit-infographics__foundation-year {
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  line-height: 1;
  margin: 0 0 0.75rem;
}
.recruit-infographics__foundation-year span {
  font-size: 0.875rem;
  margin-left: 0.12em;
}
.recruit-infographics__foundation-date {
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  line-height: 1.1;
  margin: 0;
}
.recruit-infographics__branches {
  display: grid;
  grid-template-columns: minmax(160px, 0.7fr) minmax(180px, 1fr) minmax(160px, 0.7fr);
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 100%;
}
.recruit-infographics__branches-copy {
  color: #222;
}
.recruit-infographics__branches-count {
  color: #0068b7;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 1rem;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
}
.recruit-infographics__branches-count span {
  font-size: 0.875rem;
  margin-left: 0.14em;
}
.recruit-infographics__branches-text {
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  line-height: 1.8;
  color: #222;
  margin: 0;
  max-width: 12rem;
}
.recruit-infographics__map {
  max-width: 320px;
  margin: 0 auto;
}
.recruit-infographics__map svg {
  width: 100%;
  height: auto;
  display: block;
}
.recruit-infographics__branch-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.95rem;
}
.recruit-infographics__branch-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 600;
  white-space: nowrap;
}
.recruit-infographics__branch-list .bi {
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
}

.page__recruit__faq {
  width: 100%;
  margin: 0 auto;
  padding: 2rem 0;
}
.page__recruit__faq .faq-accordion .faq-cat {
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 2rem;
}
.page__recruit__faq .faq-accordion .accordion-item {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: clamp(0.5rem, 0.3333rem + 0.8333vw, 1rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-bottom: 1rem;
  overflow: hidden;
}
.page__recruit__faq .faq-accordion .accordion-item .accordion-header .accordion-button {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #000;
  padding: 2rem;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 500;
  line-height: 1.4;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.page__recruit__faq .faq-accordion .accordion-item .accordion-header .accordion-button:not(.collapsed) {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #0068b7;
}
.page__recruit__faq .faq-accordion .accordion-item .accordion-collapse .accordion-body {
  padding: 1rem 0rem 2rem 0;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 400;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
  width: calc(100% - 4rem);
  margin: 0 auto;
  line-height: 1.4;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .recruit-feature-banners__inner {
    grid-template-columns: 1fr;
  }
  .recruit-feature-banner {
    min-height: 300px;
  }
  .recruit-feature-banner__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .recruit-feature-banner__chips {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .recruit-infographics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-infographics__bottom {
    grid-template-columns: 1fr;
  }
  .recruit-infographics__branches {
    grid-template-columns: minmax(160px, 0.8fr) minmax(180px, 1fr) minmax(160px, 0.8fr);
  }
}
@media (max-width: 767px) {
  .recruit-feature-banners {
    padding: 0 0 3.5rem;
  }
  .recruit-feature-banners__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  .recruit-feature-banner {
    width: 100%;
    min-width: 0;
    min-height: 280px;
  }
  .recruit-feature-banner__content {
    min-width: 0;
    padding: 1.5rem 1.25rem;
    gap: 0.9rem;
  }
  .recruit-feature-banner__eyebrow, .recruit-feature-banner__title {
    overflow-wrap: anywhere;
  }
  .recruit-feature-banner__title {
    font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
    font-weight: 700;
  }
  .recruit-feature-banner__description {
    max-width: none;
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
    font-weight: 500;
    overflow-wrap: anywhere;
  }
  .recruit-feature-banner__button {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .recruit-feature-banner__footer {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .recruit-feature-banner__chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .recruit-feature-banner__chips li {
    min-width: 0;
    min-height: 76px;
    padding: 0.7rem 0.55rem;
  }
  .recruit-notice-strip {
    padding: 1rem 4% 2.5rem;
  }
  .recruit-notice-strip__item {
    grid-template-columns: 1fr auto;
    gap: 0.8rem 1rem;
    padding: 1rem 0;
    min-height: 0;
  }
  .recruit-notice-strip__date {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    grid-column: 1/2;
  }
  .recruit-notice-strip__badge {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    grid-column: 2/3;
    justify-self: end;
  }
  .recruit-notice-strip__title {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    grid-column: 1/2;
  }
  .recruit-notice-strip__arrow {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    grid-column: 2/3;
    align-self: end;
  }
  .recruit-infographics {
    padding: 0 4%;
  }
  .recruit-infographics--embedded {
    margin-top: 3.5rem;
  }
  .recruit-infographics__inner {
    border-radius: 16px;
    padding: 1.5rem 1rem;
  }
  .recruit-infographics__title {
    font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
    font-weight: 700;
  }
  .recruit-infographics__lead {
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
    font-weight: 500;
  }
  .recruit-infographics__grid {
    grid-template-columns: 1fr;
  }
  .recruit-infographics__card {
    border-radius: 16px;
    padding: 1.35rem 1rem;
  }
  .recruit-infographics__card h3 {
    font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
    font-weight: 700;
    margin-bottom: 1rem;
  }
  .recruit-infographics__card--stat, .recruit-infographics__card--gender {
    min-height: auto;
  }
  .recruit-infographics__gender {
    grid-template-columns: 1fr;
  }
  .recruit-infographics__gender-chart {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 160px;
    height: 160px;
  }
  .recruit-infographics__foundation {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .recruit-infographics__foundation-copy {
    text-align: center;
  }
  .recruit-infographics__branches {
    grid-template-columns: 1fr;
  }
  .recruit-infographics__branches-copy, .recruit-infographics__branch-list {
    text-align: center;
    justify-self: center;
  }
  .recruit-infographics__branches-text {
    max-width: none;
  }
  .recruit-infographics__branch-list li {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.recruit-infographics--storyboard {
  max-width: 1320px;
  padding-inline: 40px;
}
.recruit-infographics--storyboard .recruit-infographics__inner {
  padding: clamp(3rem, 6vw, 5rem) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.recruit-infographics--storyboard .recruit-infographics__heading {
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.recruit-infographics--storyboard .recruit-infographics__board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}
.recruit-infographics--storyboard .recruit-infographics__panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  min-height: 330px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 2px solid #0068b7;
  background: #fff;
  text-align: center;
}
.recruit-infographics--storyboard .recruit-infographics__label {
  min-width: min(15rem, 80%);
  margin: 0 0 clamp(1.25rem, 3vw, 2rem);
  padding: 0.45rem 1.5rem;
  border-radius: 999px;
  background: #0068b7;
  color: #fff;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.recruit-infographics--storyboard .recruit-infographics__stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0.75rem, 2vw, 1.5rem);
}
.recruit-infographics--storyboard .recruit-infographics__stat > .bi {
  color: #0068b7;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  line-height: 1;
}
.recruit-infographics--storyboard .recruit-infographics__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2em;
  margin: 0;
  color: #0068b7;
  font-weight: 700;
  line-height: 1;
}
.recruit-infographics--storyboard .recruit-infographics__number strong {
  font-size: clamp(2.25rem, 0.6042rem + 8.2292vw, 7.1875rem);
  letter-spacing: -0.03em;
}
.recruit-infographics--storyboard .recruit-infographics__number span {
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
}
.recruit-infographics--storyboard .recruit-infographics__number--employee {
  margin-top: -0.5rem;
}
.recruit-infographics--storyboard .recruit-infographics__note {
  max-width: 32rem;
  margin: 1.5rem 0 0;
  color: #222;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}
.recruit-infographics--storyboard .recruit-infographics__panel--people {
  min-height: 430px;
}
.recruit-infographics--storyboard .recruit-infographics__gender {
  width: min(28rem, 100%);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 2px solid rgba(0, 104, 183, 0.22);
}
.recruit-infographics--storyboard .recruit-infographics__gender h3 {
  margin: 0 0 1rem;
  color: #222;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
}
.recruit-infographics--storyboard .recruit-infographics__gender-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.recruit-infographics--storyboard .recruit-infographics__gender-list p {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.15rem 0.6rem;
  margin: 0;
  color: #0068b7;
  text-align: left;
}
.recruit-infographics--storyboard .recruit-infographics__gender-list .bi {
  grid-row: 1/3;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
}
.recruit-infographics--storyboard .recruit-infographics__gender-list span {
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.recruit-infographics--storyboard .recruit-infographics__gender-list strong {
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  line-height: 1;
}
.recruit-infographics--storyboard .recruit-infographics__gender-list small {
  margin-left: 0.1em;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
}
.recruit-infographics--storyboard .recruit-infographics__gender-list p:last-child {
  color: #67a7d8;
}
.recruit-infographics--storyboard .recruit-infographics__panel--branches {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: minmax(180px, 0.55fr) minmax(0, 1.45fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  min-height: 460px;
  text-align: left;
}
.recruit-infographics--storyboard .recruit-infographics__branch-summary {
  text-align: center;
}
.recruit-infographics--storyboard .recruit-infographics__branch-summary .recruit-infographics__label {
  width: 100%;
  min-width: 0;
}
.recruit-infographics--storyboard .recruit-infographics__branch-map {
  width: 100%;
  margin: 0;
}
.recruit-infographics--storyboard .recruit-infographics__branch-map img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .recruit-infographics--storyboard .recruit-infographics__panel--branches {
    grid-template-columns: minmax(160px, 0.5fr) minmax(0, 1.5fr);
  }
}
@media (max-width: 767px) {
  .recruit-infographics--storyboard {
    padding-inline: 32px;
  }
  .recruit-infographics--storyboard .recruit-infographics__inner {
    padding: 2.5rem 0;
  }
  .recruit-infographics--storyboard .recruit-infographics__board {
    grid-template-columns: 1fr;
  }
  .recruit-infographics--storyboard .recruit-infographics__panel {
    min-height: 280px;
    padding: 1.5rem 1rem;
  }
  .recruit-infographics--storyboard .recruit-infographics__label {
    min-width: min(13rem, 90%);
    padding: 0.4rem 1rem;
  }
  .recruit-infographics--storyboard .recruit-infographics__stat {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.65rem;
  }
  .recruit-infographics--storyboard .recruit-infographics__panel--people {
    min-height: 0;
  }
  .recruit-infographics--storyboard .recruit-infographics__gender-list {
    gap: 0.5rem;
  }
  .recruit-infographics--storyboard .recruit-infographics__gender-list p {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .recruit-infographics--storyboard .recruit-infographics__gender-list .bi {
    grid-row: auto;
  }
  .recruit-infographics--storyboard .recruit-infographics__panel--branches {
    grid-column: auto;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    min-height: 0;
  }
}
.recruit-flow-gallery {
  --recruit-flow-card-width: clamp(240px, 24vw, 380px);
  --recruit-flow-gap: clamp(1rem, 2.1vw, 1.8rem);
  --recruit-flow-radius: clamp(1.25rem, 2.6vw, 2.25rem);
  position: relative;
  overflow: hidden;
  margin-top: 0;
  padding: clamp(2.5rem, 6vh, 4.5rem) 0;
  min-height: 100svh;
  background: rgba(0, 104, 183, 0.06);
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.recruit-flow-gallery .recruit-flow-gallery__slogan {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 30%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
.recruit-flow-gallery .recruit-flow-gallery__slogan p {
  margin: 0;
  color: #202050;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  text-align: center;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.recruit-flow-gallery .recruit-flow-gallery__viewport {
  overflow: hidden;
  width: 100%;
  min-height: min(76svh, 840px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.recruit-flow-gallery .recruit-flow-gallery__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 0;
  will-change: transform;
  -webkit-animation: recruit-flow-marquee 52s linear infinite;
          animation: recruit-flow-marquee 52s linear infinite;
}
.recruit-flow-gallery .recruit-flow-gallery__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--recruit-flow-gap);
  padding-right: var(--recruit-flow-gap);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.recruit-flow-gallery .recruit-flow-gallery__item {
  width: var(--recruit-flow-card-width);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 var(--recruit-flow-card-width);
          flex: 0 0 var(--recruit-flow-card-width);
}
.recruit-flow-gallery .recruit-flow-gallery__item.is-offset-sm {
  margin-top: clamp(2rem, 4vw, 3.75rem);
}
.recruit-flow-gallery .recruit-flow-gallery__item.is-offset-md {
  margin-top: clamp(3.75rem, 7vh, 6.5rem);
}
.recruit-flow-gallery .recruit-flow-gallery__item.is-offset-lg {
  margin-top: clamp(5.5rem, 11vh, 9rem);
}
.recruit-flow-gallery .recruit-flow-gallery__card {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: var(--recruit-flow-radius);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(0, 104, 183, 0.12);
}
.recruit-flow-gallery .recruit-flow-gallery__card img {
  width: 100%;
  height: auto;
  display: block;
}

@-webkit-keyframes recruit-flow-marquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}

@keyframes recruit-flow-marquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .recruit-flow-gallery .recruit-flow-gallery__track {
    -webkit-animation: none;
            animation: none;
    -webkit-transform: translate3d(-10%, 0, 0);
            transform: translate3d(-10%, 0, 0);
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .recruit-flow-gallery {
    --recruit-flow-card-width: clamp(220px, 31vw, 280px);
    --recruit-flow-gap: 1rem;
    padding: 2rem 0 3rem;
  }
  .recruit-flow-gallery .recruit-flow-gallery__viewport {
    min-height: 420px;
  }
}
@media (max-width: 767px) {
  .recruit-flow-gallery {
    --recruit-flow-card-width: min(68vw, 272px);
    --recruit-flow-gap: 0.75rem;
    --recruit-flow-radius: 0.9rem;
    min-height: 80svh;
    padding: 3rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .recruit-flow-gallery .recruit-flow-gallery__slogan {
    position: relative;
    left: auto;
    top: auto;
    width: calc(100% - 40px);
    margin: 0 auto 1.75rem;
    -webkit-transform: none;
            transform: none;
  }
  .recruit-flow-gallery .recruit-flow-gallery__slogan p {
    font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
    line-height: 1.45;
    letter-spacing: 0.01em;
    word-break: auto-phrase;
  }
  .recruit-flow-gallery .recruit-flow-gallery__track {
    -webkit-animation-duration: 38s;
            animation-duration: 38s;
  }
  .recruit-flow-gallery .recruit-flow-gallery__viewport {
    min-height: clamp(260px, 36svh, 320px);
  }
  .recruit-flow-gallery .recruit-flow-gallery__list {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .recruit-flow-gallery .recruit-flow-gallery__item {
    margin-top: 0;
  }
  .recruit-flow-gallery .recruit-flow-gallery__item.is-offset-sm {
    margin-top: 0.75rem;
  }
  .recruit-flow-gallery .recruit-flow-gallery__item.is-offset-md {
    margin-top: 1.5rem;
  }
  .recruit-flow-gallery .recruit-flow-gallery__item.is-offset-lg {
    margin-top: 2.25rem;
  }
  .recruit-flow-gallery .recruit-flow-gallery__card {
    aspect-ratio: 4/3;
    background: #fff;
  }
  .recruit-flow-gallery .recruit-flow-gallery__card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.welfare-page {
  background: -webkit-gradient(linear, left top, left bottom, from(#f7fbff), color-stop(34%, #fff), to(#f7fbff));
  background: linear-gradient(180deg, #f7fbff 0%, #fff 34%, #f7fbff 100%);
  color: #222;
  overflow: clip;
  background: radial-gradient(circle at 8% 16%, rgba(239, 62, 74, 0.09) 0 76px, transparent 77px), radial-gradient(circle at 94% 31%, rgba(242, 183, 5, 0.13) 0 104px, transparent 105px), -webkit-gradient(linear, left top, left bottom, from(#fffdf8), color-stop(46%, #f8fcff), to(#fff));
  background: radial-gradient(circle at 8% 16%, rgba(239, 62, 74, 0.09) 0 76px, transparent 77px), radial-gradient(circle at 94% 31%, rgba(242, 183, 5, 0.13) 0 104px, transparent 105px), linear-gradient(180deg, #fffdf8 0%, #f8fcff 46%, #fff 100%);
}

.sublayout-hero__eyebrow {
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  margin: 0 0 1rem;
}

.welfare-intro {
  width: min(1320px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  padding: 4.8rem 5vw 0;
  position: relative;
  isolation: isolate;
}
.welfare-intro::before, .welfare-intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.welfare-intro::before {
  top: 2.4rem;
  right: 1.5%;
  width: 84px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffd84d;
  opacity: 0.78;
}
.welfare-intro::after {
  top: 12rem;
  left: -1.2rem;
  width: 72px;
  aspect-ratio: 1;
  border: 16px solid #2878e8;
  border-radius: 50%;
  opacity: 0.12;
}

.welfare-section-title {
  max-width: 860px;
  margin: 0 auto 4rem;
  text-align: left;
}
.welfare-section-title .c-section-heading__eyebrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 34px;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background: #eaf2ff;
  color: #1769d2;
  letter-spacing: 0.08em;
}
.welfare-section-title .c-section-heading__title {
  font-size: clamp(1.625rem, 1.4167rem + 1.0417vw, 2.25rem);
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 1.25rem;
  color: #1b2430;
  position: relative;
}
.welfare-section-title .c-section-heading__title::after {
  content: "";
  display: block;
  width: 116px;
  height: 8px;
  margin-top: 1rem;
  border-radius: 999px;
  background: -webkit-gradient(linear, left top, right top, color-stop(0, #ef3e4a), color-stop(25%, #f2b705), color-stop(50%, #17a673), color-stop(75%, #2878e8));
  background: linear-gradient(90deg, #ef3e4a 0 25%, #f2b705 25% 50%, #17a673 50% 75%, #2878e8 75%);
}
.welfare-section-title .c-section-heading__lead {
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
  color: #596579;
  margin: 0;
}

.welfare-benefit-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}

.welfare-benefit-section {
  --welfare-accent: #db2f3d;
  --welfare-ink: var(--welfare-accent);
  --welfare-soft: #fff0f1;
  position: relative;
  isolation: isolate;
  padding: clamp(1rem, 2.6vw, 2rem);
  border-radius: 16px;
  background: var(--welfare-soft);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.welfare-benefit-section::before, .welfare-benefit-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.welfare-benefit-section::before {
  top: -22px;
  right: clamp(22px, 5vw, 70px);
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: var(--welfare-accent);
  -webkit-transform: rotate(14deg);
          transform: rotate(14deg);
  opacity: 0.9;
}
.welfare-benefit-section::after {
  right: -16px;
  bottom: 18%;
  width: 52px;
  height: 52px;
  border: 10px solid var(--welfare-accent);
  border-radius: 50%;
  opacity: 0.18;
}
.welfare-benefit-section .c-feature-section__visual {
  border: 6px solid var(--welfare-accent);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.welfare-benefit-section .c-feature-section__headline {
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}
.welfare-benefit-section .c-feature-section__label {
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  background: var(--welfare-accent);
  color: #fff;
}
.welfare-benefit-section .c-feature-section__intro .c-section-heading__title {
  color: var(--welfare-ink);
}
.welfare-benefit-section .c-info-card--benefit {
  border: 1px solid rgba(27, 36, 48, 0.08);
  border-top: 5px solid var(--welfare-accent);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.welfare-benefit-section .c-info-card--benefit .c-info-card__icon {
  background: var(--welfare-soft);
  color: var(--welfare-ink);
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}

.c-feature-section--family {
  --welfare-accent: #f2b705;
  --welfare-ink: #765400;
  --welfare-soft: #fff8dc;
}
.c-feature-section--family .c-feature-section__label {
  color: #3d2d00;
}

.c-feature-section--workstyle {
  --welfare-accent: #087a52;
  --welfare-soft: #eaf9f2;
}

.c-feature-section--asset {
  --welfare-accent: #176bd1;
  --welfare-soft: #edf4ff;
}

.c-feature-section--career {
  --welfare-accent: #d94d12;
  --welfare-soft: #fff2e9;
}

.c-feature-section--community {
  --welfare-accent: #00798f;
  --welfare-soft: #e9f9fb;
}

@media (min-width: 1200px) {
  .welfare-benefit-grid {
    gap: 4.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .welfare-benefit-grid {
    gap: 3.5rem;
  }
}
@media (max-width: 767px) {
  .welfare-intro {
    padding-top: 3rem;
  }
  .welfare-section-title {
    margin-bottom: 3rem;
  }
  .welfare-section-title .c-section-heading__title {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
    font-weight: 700;
  }
  .welfare-benefit-grid {
    gap: 3rem;
  }
  .welfare-intro::before {
    width: 56px;
    top: 1.25rem;
    right: -0.5rem;
  }
  .welfare-intro::after {
    display: none;
  }
  .welfare-benefit-section {
    padding: 0.85rem;
    border-radius: 16px;
  }
  .welfare-benefit-section::before {
    top: -14px;
    width: 32px;
    height: 32px;
    border-radius: 16px;
  }
  .welfare-benefit-section .c-feature-section__visual {
    border-width: 4px;
  }
  .welfare-benefit-section .c-feature-section__label {
    padding: 0.3rem 0.6rem;
  }
}
.interview-detail-page {
  background: -webkit-gradient(linear, left top, left bottom, from(#f7fbff), color-stop(34%, #fff), to(#f7fbff));
  background: linear-gradient(180deg, #f7fbff 0%, #fff 34%, #f7fbff 100%);
  color: #222;
}

.interview-detail-page__wrap {
  width: min(1180px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5.5rem) 0;
  display: block;
}

.interview-detail-page__main {
  min-width: 0;
}

.interview-profile {
  position: relative;
  margin: 0 0 clamp(4rem, 8vw, 7rem);
  overflow: hidden;
  border-radius: clamp(0.8rem, 2vw, 1.4rem);
  background: #eef4f7;
}

.interview-profile__image {
  margin: 0;
  aspect-ratio: 16/9;
}
.interview-profile__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.interview-profile__card {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(38%, 25rem);
  min-width: 19rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 1.4rem 0 0 0;
  background: #fff;
}

.interview-profile__department,
.interview-profile__position,
.interview-profile__name,
.interview-profile__joined {
  margin: 0;
}

.interview-profile__department {
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}

.interview-profile__position {
  margin-top: 0.35rem;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}

.interview-profile__name {
  margin-top: 0.65rem;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}

.interview-profile__joined {
  margin-top: 0.7rem;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}

.interview-story {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}

.interview-story__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: clamp(3rem, 6vw, 4.6rem) 0;
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}
.interview-story__item:first-child {
  padding-top: 0;
  border-top: 0;
}

.interview-story__copy h2 {
  margin: 0 0 1.5rem;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.65;
}
.interview-story__copy p {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2.1;
}

.interview-story__qa-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}

.interview-schedule {
  position: relative;
  display: grid;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.interview-schedule::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  bottom: 0.75rem;
  left: 4.35rem;
  width: 1px;
  background: rgba(0, 104, 183, 0.22);
}

.interview-schedule__item {
  position: relative;
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.6rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.interview-schedule__time {
  position: relative;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 2.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.45rem 0.8rem;
  border: 2px solid rgba(0, 104, 183, 0.22);
  border-radius: 999px;
  background: #fff;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.interview-schedule__body {
  min-width: 0;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
}

.interview-schedule__title {
  margin: 0 0 0.45rem;
  color: #000;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 800;
  line-height: 1.55;
}

.interview-schedule__description p {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.interview-schedule__description p + p {
  margin-top: 0.55rem;
}

.interview-story__section-image {
  margin: clamp(2rem, 4vw, 3rem) 0 0;
  border-radius: 16px;
  overflow: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.interview-story__section-image img {
  width: 100%;
  aspect-ratio: 1.7777777778;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.interview-story__section-image img {
  display: block;
}

.interview-detail-page__main > .c-btn--back {
  margin-top: 2.5rem;
  min-width: 12rem;
}

@media (max-width: 767px) {
  .interview-detail-page__wrap {
    padding: 3.25rem 0;
  }
  .interview-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: visible;
    background: transparent;
  }
  .interview-profile__image {
    overflow: hidden;
    border-radius: 0.8rem;
    aspect-ratio: 4/3;
  }
  .interview-profile__card {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 1.5rem);
    min-width: 0;
    margin: -2rem 0 0 auto;
    padding: 1.5rem;
    border-radius: 0.8rem 0 0 0;
    -webkit-box-shadow: 0 0.8rem 2rem rgba(15, 35, 55, 0.1);
            box-shadow: 0 0.8rem 2rem rgba(15, 35, 55, 0.1);
  }
  .interview-story__item {
    grid-template-columns: 1fr;
  }
  .interview-story__item {
    gap: 1.4rem;
    padding: 2.4rem 0;
  }
  .interview-story__copy h2,
  .interview-story__copy .interview-story__answer {
    overflow-wrap: anywhere;
  }
  .interview-schedule {
    gap: 1rem;
  }
  .interview-schedule::before {
    left: 1rem;
  }
  .interview-schedule__item {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding-left: 2.3rem;
  }
  .interview-schedule__time {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .interview-schedule__body {
    padding: 1rem;
  }
  .interview-detail-page__main > .c-btn--back {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.department-hero {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background: #fff;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .department-hero {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .department-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}
.department-hero__copy {
  padding: clamp(6rem, 9vw, 8.5rem) 5vw clamp(3rem, 6vw, 5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .department-hero__copy {
    padding: 2rem 20px 3rem;
  }
}
.department-hero .subpage-breadcrumb {
  margin: 0 0 clamp(2rem, 4vw, 4rem);
  padding: 0;
}
.department-hero__eyebrow {
  margin: 0 0 1.2rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.department-hero h1 {
  margin: 0 0 1.6rem;
  color: #000;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}
.department-hero p {
  max-width: 32rem;
  margin: 0;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 2;
}
.department-hero__image {
  position: relative;
  min-height: 520px;
}
.department-hero__image::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: 48%;
  background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(40%, rgba(255, 255, 255, 0.84)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.84) 40%, rgba(255, 255, 255, 0) 100%);
}
.department-hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .department-hero__image {
    min-height: 360px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media (max-width: 767px) {
  .department-hero__image {
    min-height: 280px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.department-section {
  width: min(1180px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  margin-top: 2vw;
}
.department-section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.department-vision__body {
  padding: clamp(2rem, 5vw, 4rem);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.department-vision__body p {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2.1;
}
.department-vision__body p + p {
  margin-top: 1.35rem;
}
.department-vision__body p:first-child {
  color: #202050;
  font-size: clamp(0.875rem, 0.7917rem + 0.4167vw, 1.125rem);
  font-weight: 700;
}

.department-leader__panel {
  display: grid;
  grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1fr);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.department-leader--text-only .department-leader__panel {
  display: block;
  background: radial-gradient(circle at 100% 0, rgba(0, 104, 183, 0.1), transparent 38%), rgba(255, 255, 255, 0.96);
}
.department-leader--text-only .department-leader__copy {
  max-width: 1040px;
}

.department-leader--feature .department-leader__panel {
  display: block;
  overflow: visible;
  border: 0;
  background: transparent;
}

.department-leader__feature-media {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.08);
}
.department-leader__feature-media > img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.department-leader__feature-copy {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: min(54%, 560px);
  padding: clamp(1.5rem, 4vw, 3rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: linear-gradient(135deg, rgba(0, 104, 183, 0.98), rgba(0, 104, 183, 0.84));
  color: #fff;
}
.department-leader__feature-copy h2 {
  margin: 0 0 1.35rem;
  color: inherit;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
  line-height: 1.65;
}
.department-leader__feature-copy strong {
  color: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.8;
}

.department-leader__feature-body {
  padding: clamp(2rem, 4vw, 3rem) clamp(0.25rem, 1vw, 1rem) 0;
}
.department-leader__feature-body p {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2.1;
}
.department-leader__feature-body p + p {
  margin-top: 1.35rem;
}

.department-leader__image {
  min-height: 420px;
}
.department-leader__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.department-leader__copy {
  padding: clamp(2rem, 5vw, 4rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.department-leader__copy h2 {
  margin: 0 0 2rem;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.7;
}
.department-leader__copy p {
  margin: 0 0 1.2rem;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.department-leader__copy strong {
  margin-top: 1rem;
  color: #000;
  line-height: 1.8;
}

.department-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}

.department-service-card {
  min-height: 260px;
  padding: clamp(1.5rem, 3vw, 2rem);
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.department-service-card > .bi {
  color: #0068b7;
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  margin-bottom: 1.3rem;
}
.department-service-card h2 {
  margin: 0 0 0.9rem;
  color: #0068b7;
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
  font-weight: 700;
}
.department-service-card p {
  margin: 0 0 1.4rem;
  line-height: 1.8;
}
.department-service-card .c-btn {
  margin-top: auto;
}

.department-culture {
  padding-top: 0;
}

.department-culture__panel {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  padding: clamp(2rem, 4vw, 3rem);
  background: linear-gradient(145deg, rgba(0, 104, 183, 0.06), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(0, 104, 183, 0.1);
  border-radius: 16px;
}
.department-culture__panel .department-culture__heading {
  margin-bottom: 0;
  max-width: 60rem;
}

.department-culture__body {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  margin-top: clamp(2rem, 4vw, 3rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid rgba(0, 104, 183, 0.12);
}

.department-culture__prose p {
  margin: 0;
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 2;
}
.department-culture__prose p + p {
  margin-top: 1.2rem;
}

.department-culture__principles {
  padding: 1.4rem;
  border-radius: 16px;
  border: 1px solid rgba(0, 104, 183, 0.12);
  background: rgba(255, 255, 255, 0.72);
}
.department-culture__principles-label {
  margin: 0 0 1rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 800;
}
.department-culture__principles ol {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: culture-principle;
}
.department-culture__principles li {
  position: relative;
  min-height: 2rem;
  padding-left: 2.65rem;
  color: #222;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
  counter-increment: culture-principle;
}
.department-culture__principles li::before {
  content: counter(culture-principle, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(0, 104, 183, 0.1);
  color: #0068b7;
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
}

.department-interview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4rem;
}
.department-interview-grid .interview-card {
  min-width: 0;
}

.employee-voice-section {
  width: min(1180px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  padding-top: clamp(4rem, 7vw, 6.5rem);
}

.employee-voice-section__head .job-section__title {
  margin: 0;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 800;
}
.employee-voice-section__head h2 {
  margin: 0.85rem 0 0;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
}

.employee-voice-section__head-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.2rem;
}

.employee-voice-section__slider {
  position: relative;
}

.employee-voice-section__grid,
.job-interview-grid.employee-voice-section__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

.employee-voice-section .interview-card {
  min-width: 0;
}

.employee-voice-section .interview-card__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 104, 183, 0.12);
  border-radius: 16px;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.employee-voice-section .interview-card__link:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.employee-voice-section--job {
  width: 100%;
  max-width: none;
  padding-top: 0;
}

.employee-voice-section--job .employee-voice-section__grid,
.employee-voice-section--job.job-interview-grid.employee-voice-section__grid,
.employee-voice-section--job .job-interview-grid.employee-voice-section__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employee-voice-section .interview-card__thumb {
  position: relative;
  aspect-ratio: 1.32/1;
  overflow: hidden;
  border-radius: 16px;
  min-height: 0;
  background: rgba(0, 104, 183, 0.06);
}
.employee-voice-section .interview-card__thumb img,
.employee-voice-section .interview-card__thumb .interview-card__thumb-placeholder {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.employee-voice-section .interview-card__body {
  min-width: 0;
  padding: 1.1rem 1.1rem 1.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.7rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.employee-voice-section .interview-card__title {
  margin: 0;
  color: #000;
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}

.employee-voice-section .interview-card__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  color: #0068b7;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}
.employee-voice-section .interview-card__line p {
  margin: 0;
  word-break: auto-phrase;
}

.employee-voice-section .interview-card__joined {
  margin: 0;
  color: #a6aebd;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.65;
}

.employee-voice-section .interview-card__arrow {
  display: none;
}

.employee-voice-section__arrow {
  display: none;
}

.employee-voice-section__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.65rem;
  margin-top: 2.1rem;
}
.employee-voice-section__dots span {
  width: 0.68rem;
  height: 0.68rem;
  border-radius: 16px;
  background: rgba(0, 104, 183, 0.14);
}
.employee-voice-section__dots span.is-active {
  background: #0068b7;
}

.department-page .employee-voice-section {
  margin-top: clamp(4rem, 7vw, 6.5rem);
  padding-top: clamp(3.5rem, 6vw, 5.5rem);
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
  clip-path: inset(0 -100vmax);
}
.department-page .employee-voice-section .employee-voice-section__dots {
  display: none;
}

.department-page__tabs {
  margin-top: clamp(1.5rem, 4vw, 3rem);
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

@media (min-width: 1200px) {
  .department-leader__panel {
    grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1fr);
  }
  .department-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .department-interview-grid,
  .employee-voice-section__grid,
  .job-interview-grid.employee-voice-section__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .department-leader__panel {
    grid-template-columns: 1fr;
  }
  .department-service-grid,
  .department-interview-grid,
  .employee-voice-section__grid,
  .job-interview-grid.employee-voice-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .department-culture__body {
    grid-template-columns: 1fr;
  }
  .department-culture__panel {
    padding: clamp(1.75rem, 4vw, 2.5rem);
  }
  .employee-voice-section__more {
    white-space: normal;
  }
  .employee-voice-section__arrow {
    display: none;
  }
}
@media (max-width: 767px) {
  .department-hero h1,
  .department-hero p {
    overflow-wrap: anywhere;
  }
  .department-section {
    padding-top: 3.25rem;
  }
  .department-leader__panel {
    grid-template-columns: 1fr;
  }
  .department-leader__image {
    min-height: 260px;
  }
  .department-leader__feature-media {
    min-height: 0;
  }
  .department-leader__feature-media > img {
    min-height: 0;
    aspect-ratio: 1.55/1;
  }
  .department-leader__feature-copy {
    position: relative;
    top: auto;
    width: 100%;
    -webkit-transform: none;
            transform: none;
  }
  .department-leader__feature-body {
    padding-inline: 0;
  }
  .department-leader__copy {
    padding: 1.5rem;
  }
  .department-leader__copy h2,
  .department-leader__copy p,
  .department-leader__copy strong {
    overflow-wrap: anywhere;
  }
  .department-service-grid,
  .department-interview-grid,
  .employee-voice-section__grid,
  .job-interview-grid.employee-voice-section__grid {
    grid-template-columns: 1fr;
  }
  .department-service-card {
    min-height: auto;
  }
  .department-culture {
    margin-top: 3.25rem;
    padding-top: 0;
  }
  .department-culture__panel {
    padding: 1.5rem;
  }
  .department-culture__heading .c-section-heading__title,
  .department-culture__heading .c-section-heading__lead {
    overflow-wrap: anywhere;
  }
  .department-culture__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 1.75rem;
    padding-top: 1.75rem;
  }
  .department-culture__prose,
  .department-culture__principles {
    min-width: 0;
  }
  .department-culture__prose p,
  .department-culture__principles li {
    overflow-wrap: anywhere;
  }
  .department-culture__principles {
    padding: 1.2rem;
  }
  .employee-voice-section {
    padding-top: 3.25rem;
  }
  .employee-voice-section__head-row {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .employee-voice-section__more {
    white-space: normal;
  }
  .employee-voice-section__head h2 {
    overflow-wrap: anywhere;
  }
  .employee-voice-section .interview-card__thumb {
    aspect-ratio: 1.55/1;
  }
}
.message-page {
  background: -webkit-gradient(linear, left top, left bottom, from(#f7fbff), color-stop(34%, #fff), to(#f7fbff));
  background: linear-gradient(180deg, #f7fbff 0%, #fff 34%, #f7fbff 100%);
  color: #222;
}
.message-page__wrap {
  width: min(1180px, 100% - clamp(32px, 4vw, 40px));
  margin-inline: auto;
  display: grid;
  gap: clamp(2rem, 5vw, 5rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.message-origin {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
  gap: clamp(2rem, 4vw, 4rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.message-origin__copy > p,
.message-origin__copy .message-origin__editor-content > p {
  margin: 0 0 1.3rem;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 600;
  line-height: 2.05;
}
.message-origin__editor-content {
  min-width: 0;
}
.message-origin__editor-content > p {
  overflow-wrap: anywhere;
}
.message-origin__image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.message-origin__image img {
  border-radius: 16px;
  overflow: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.message-origin__image img img {
  width: 100%;
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.message-origin__sign {
  padding: clamp(1rem, 2.4vw, 1.45rem);
  text-align: right;
}
.message-origin__sign p {
  margin: 0;
  line-height: 1.65;
}
.message-origin__sign .message-origin__sign-position {
  margin-top: 0.25rem;
}
.message-origin__sign .message-origin__sign-name {
  margin-top: 0.35rem;
}
.message-origin__sign-company {
  color: #0068b7;
  font-size: 0.875rem;
  font-weight: 700;
}
.message-origin__sign-position {
  color: #222;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
}
.message-origin__sign-name {
  color: #000;
  font-size: clamp(1.25rem, 1.1667rem + 0.4167vw, 1.5rem);
  font-weight: 700;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .message-origin {
    grid-template-columns: 1fr;
  }
  .message-origin__image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 767px) {
  .message-page__wrap {
    padding: 3.25rem 0;
    gap: 2rem;
  }
  .message-origin {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }
  .message-origin__image {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .message-origin__sign {
    padding: 0.9rem 1rem;
  }
}
/* Front-page content between FV and Recruit. */
#content .home-content-shell {
  width: min(1180px, 100% - 80px);
  margin-inline: auto;
}
#content .home-news,
#content .home-about,
#content .home-services {
  width: 100%;
  padding-block: 96px;
  background: #fff;
  color: var(--ui-text);
}
#content .home-section-heading {
  margin: 0;
}
#content .home-section-heading__en {
  margin: 0 0 12px;
  color: #0068b7;
  font-family: var(--ui-font-en);
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}
#content .home-section-heading h2 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: var(--ui-blue-deep);
  font-family: var(--ui-font-body);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0;
}
#content .home-section-heading h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0.75rem;
  height: 1px;
  background: #0068b7;
}
#content .home-section-heading__lead {
  max-width: 42rem;
  margin: 1.25rem 0 0;
  color: var(--ui-muted);
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0;
}
#content .home-readmore {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: var(--ui-blue-deep);
  font-family: var(--ui-font-en);
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  font-weight: 600;
  text-decoration: none;
}
#content .home-readmore i {
  display: grid;
  width: 42px;
  height: 42px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 42px;
          flex: 0 0 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--ui-blue);
  color: #fff;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
#content .home-readmore:hover, #content .home-readmore:focus-visible {
  color: var(--ui-blue);
}
#content .home-readmore:hover i, #content .home-readmore:focus-visible i {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
#content .home-news__layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 72px;
}
#content .home-news__visual {
  min-width: 0;
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
}
#content .home-news__visual img {
  display: block;
  width: 100%;
  height: 470px;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
#content .home-news__content {
  min-width: 0;
}
#content .home-news__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
  margin-bottom: 30px;
}
#content .home-news__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px 24px;
  padding-top: 14px;
}
#content .home-news__tabs a {
  color: var(--ui-text);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}
#content .home-news__tabs a:hover, #content .home-news__tabs a:focus-visible {
  color: var(--ui-blue);
}
#content .home-news__item {
  margin: 0;
  border-bottom: 1px solid rgba(0, 104, 183, 0.12);
}
#content .home-news__item a {
  display: grid;
  grid-template-columns: 132px auto minmax(0, 1fr) 28px;
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 84px;
  padding: 1.35rem 0.5rem;
  color: #222;
  text-decoration: none;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}
#content .home-news__item a:hover, #content .home-news__item a:focus-visible {
  color: #0068b7;
}
#content .home-news__item a:hover h3, #content .home-news__item a:focus-visible h3 {
  color: currentColor;
}
#content .home-news__item a:hover i, #content .home-news__item a:focus-visible i {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
#content .home-news__item h3 {
  grid-column: 3;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: currentColor;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  font-weight: 700;
  line-height: 1.55;
}
#content .home-news__item i {
  grid-column: 4;
  grid-row: 1;
  justify-self: end;
  color: #0068b7;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
#content .home-news__meta {
  display: contents;
}
#content .home-news__meta time {
  grid-column: 1;
  color: #a6aebd;
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
}
#content .home-news__meta span {
  grid-column: 2;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 2rem;
  padding: 0.35rem 0.9rem;
  border: 1px solid rgba(0, 104, 183, 0.22);
  border-radius: 999px;
  color: #0068b7;
  background: rgba(255, 255, 255, 0.96);
  font-size: 0.875rem;
  font-weight: 700;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  justify-self: start;
}
#content .home-news .home-readmore {
  margin-top: 34px;
  margin-left: auto;
}
#content .home-about__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(420px, 1.18fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 88px;
}
#content .home-about__copy, #content .home-about__feature {
  min-width: 0;
}
#content .home-about__text {
  margin: 34px 0 0;
  color: var(--ui-text);
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 2.1;
}
#content .home-about__text + #content .home-about__text {
  margin-top: 18px;
}
#content .home-about__photo {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
}
#content .home-about__photo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  aspect-ratio: 1.55/1;
  -o-object-fit: cover;
     object-fit: cover;
}
#content .home-about__feature-body {
  width: min(440px, 100%);
  margin: 28px 0 0 auto;
}
#content .home-about__feature-body h3 {
  margin: 14px 0 18px;
  color: var(--ui-blue-deep);
  font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
}
#content .home-about__feature-body p {
  margin: 0;
  color: var(--ui-text);
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 2;
}
#content .home-about__feature-body .home-readmore {
  margin-top: 30px;
  margin-left: auto;
}
#content .home-about__feature-number {
  display: block;
  color: var(--ui-blue-deep);
  font-family: var(--ui-font-en);
  font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  font-weight: 400;
  line-height: 1;
}
#content .home-services {
  padding-top: 48px;
}
#content .home-services__layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0;
}
#content .home-services__visual {
  min-width: 0;
  margin: 0;
  overflow: hidden;
}
#content .home-services__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 640px;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
#content .home-services__panel {
  min-width: 0;
  padding: 56px 48px;
  background: #f9fafb;
}
#content .home-services__illustration {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 12px;
  margin-bottom: 32px;
  color: var(--ui-blue-deep);
}
#content .home-services__illustration span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--ui-border);
  border-radius: 50%;
}
#content .home-services__illustration i {
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
}
#content .home-services__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  margin-bottom: 38px;
}
#content .home-services__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
#content .home-service-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-width: 0;
  min-height: 66px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-sm);
  background: #fff;
  color: var(--ui-text);
  font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  -webkit-transition: border-color 0.25s ease, color 0.25s ease, -webkit-transform 0.25s ease;
  transition: border-color 0.25s ease, color 0.25s ease, -webkit-transform 0.25s ease;
  transition: border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  transition: border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, -webkit-transform 0.25s ease;
}
#content .home-service-card i {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: var(--ui-blue);
  font-size: clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem);
}
#content .home-service-card:hover, #content .home-service-card:focus-visible {
  border-color: var(--ui-border-strong);
  color: var(--ui-blue);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
#content .home-service-card--disabled {
  border-color: var(--ui-muted);
  background: var(--ui-muted);
  color: #fff;
}
#content .home-service-card--disabled i {
  color: #fff;
}

.corp-home .corp-hero {
  position: relative;
  display: block;
  height: 100svh;
  min-height: 720px;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(9.5rem, 18svh, 13.5rem) clamp(2rem, 4.5vw, 4.5rem) clamp(6rem, 10svh, 8rem);
  background: #fff;
}
.corp-home .corp-hero__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: #fff;
}
.corp-home .corp-hero__slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-animation: corpHeroCrossFade 14s ease-in-out infinite;
          animation: corpHeroCrossFade 14s ease-in-out infinite;
  will-change: opacity;
}
.corp-home .corp-hero__slide--one {
  opacity: 1;
}
.corp-home .corp-hero__slide--two {
  -webkit-animation-delay: 7s;
          animation-delay: 7s;
}
.corp-home .corp-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.62)), color-stop(42%, rgba(255, 255, 255, 0.28)), color-stop(72%, rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.62) 0%, rgba(255, 255, 255, 0.28) 42%, rgba(255, 255, 255, 0) 72%);
}
.corp-home .corp-hero__copy {
  z-index: 1;
  padding-left: 0;
  position: absolute;
  top: 40%;
  left: 10vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 767px) {
  .corp-home .corp-hero__copy {
    position: static;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.corp-home .corp-hero h1 {
  margin: 0;
  color: var(--ui-text);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: clamp(2rem, 1.6667rem + 1.6667vw, 3rem);
  font-weight: 500;
  line-height: 1.34;
  letter-spacing: 0;
}
.corp-home .corp-hero h1 span {
  color: inherit;
}
.corp-home .corp-hero__lead {
  margin: clamp(2.5rem, 5vw, 4.25rem) 0 0;
  color: var(--ui-text);
  font-size: clamp(0.9375rem, 0.875rem + 0.3125vw, 1.125rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}

@-webkit-keyframes corpHeroCrossFade {
  0%, 44% {
    opacity: 1;
  }
  54%, 90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes corpHeroCrossFade {
  0%, 44% {
    opacity: 1;
  }
  54%, 90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .corp-home .corp-hero {
    min-height: 760px;
    padding-top: 9rem;
  }
  .corp-home .corp-hero__copy {
    width: min(42rem, 64vw);
  }
}
@media (max-width: 767px) {
  .corp-home .corp-hero {
    min-height: 640px;
    padding: 7.75rem 1.5rem 4rem;
  }
  .corp-home .corp-hero::after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.74)), color-stop(62%, rgba(255, 255, 255, 0.46)), to(rgba(255, 255, 255, 0.14)));
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.46) 62%, rgba(255, 255, 255, 0.14) 100%);
  }
  .corp-home .corp-hero__slide {
    background-position: 62% center;
  }
  .corp-home .corp-hero__copy {
    width: min(100%, 34rem);
  }
  .corp-home .corp-hero h1 {
    font-size: clamp(2.25rem, 1.6667rem + 2.9167vw, 4rem);
  }
  .corp-home .corp-hero__lead {
    font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .corp-home .corp-hero__slide {
    -webkit-animation: none;
            animation: none;
  }
  .corp-home .corp-hero__slide--one {
    opacity: 1;
  }
  .corp-home .corp-hero__slide--two {
    opacity: 0;
  }
}
@media (max-width: 1023px) {
  #content .home-content-shell {
    width: min(760px, 100% - 48px);
  }
  #content .home-news__layout,
  #content .home-about__layout,
  #content .home-services__layout {
    grid-template-columns: minmax(0, 1fr);
  }
  #content .home-news__layout,
  #content .home-about__layout {
    gap: 56px;
  }
  #content .home-news__visual {
    width: 100%;
  }
  #content .home-news__visual img {
    height: auto;
    aspect-ratio: 16/9;
  }
  #content .home-about__feature-body {
    width: min(520px, 100%);
  }
  #content .home-services__visual img {
    min-height: 0;
    aspect-ratio: 16/10;
  }
}
@media (max-width: 767px) {
  #content .home-content-shell {
    width: calc(100% - 32px);
  }
  #content .home-news,
  #content .home-about,
  #content .home-services {
    padding-block: 64px;
  }
  #content .home-section-heading__en {
    font-size: clamp(1.375rem, 1.1667rem + 1.0417vw, 2rem);
  }
  #content .home-news__layout,
  #content .home-about__layout {
    gap: 40px;
  }
  #content .home-news__heading,
  #content .home-services__heading {
    display: block;
  }
  #content .home-news__tabs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 22px;
  }
  #content .home-news__item a {
    grid-template-columns: 1fr auto 28px;
    gap: 0.65rem 0.75rem;
    min-height: 0;
    padding: 1rem 0.25rem;
  }
  #content .home-news__meta time {
    grid-column: 1;
    grid-row: 1;
    font-size: 0.875rem;
  }
  #content .home-news__meta span {
    grid-column: 2;
    grid-row: 1;
    min-height: 1.75rem;
    padding: 0.25rem 0.7rem;
    font-size: 0.875rem;
  }
  #content .home-news__item h3 {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  }
  #content .home-news__item i {
    grid-column: 3;
    grid-row: 1;
  }
  #content .home-about__text {
    margin-top: 26px;
    font-size: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
    line-height: 2;
  }
  #content .home-about__feature-body {
    margin-top: 24px;
  }
  #content .home-services__panel {
    padding: 40px 20px;
  }
  #content .home-services__illustration {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8px;
  }
  #content .home-services__illustration span {
    width: 38px;
    height: 38px;
  }
  #content .home-services__heading .home-readmore {
    margin-top: 22px;
  }
  #content .home-services__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
}
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back),
#content .com-btn-wrap .btn,
#content .employee-voice-section__more,
#content .recruit-feature-banner__button,
#content .home-readmore,
#content .recruit-entry-cta__casual-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 230px;
  min-height: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.5rem;
  padding: 0.8125rem 0.5rem 0.8125rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #202050;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back):hover, #content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back):focus-visible,
#content .com-btn-wrap .btn:hover,
#content .com-btn-wrap .btn:focus-visible,
#content .employee-voice-section__more:hover,
#content .employee-voice-section__more:focus-visible,
#content .recruit-feature-banner__button:hover,
#content .recruit-feature-banner__button:focus-visible,
#content .home-readmore:hover,
#content .home-readmore:focus-visible,
#content .recruit-entry-cta__casual-button:hover,
#content .recruit-entry-cta__casual-button:focus-visible {
  background: transparent;
  color: #0068b7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
#content .recruit-entry-cta .recruit-entry-cta__casual-button {
  color: #fff;
}
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back) > .c-btn__icon,
#content .employee-voice-section__more > i,
#content .recruit-feature-banner__button > i,
#content .home-readmore > i,
#content .recruit-entry-cta__casual-button > i,
#content .job-card__more,
#content .interview-card__arrow,
#content .recruit-entry-cta__entry-icon,
#content .ourbusiness-list .txt div span,
#content .corp-recruit-card i {
  display: inline-grid;
  width: 38px;
  height: 38px;
  min-width: 38px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 38px;
          flex: 0 0 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #0068b7;
  color: #fff;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 1;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, -webkit-transform 0.3s ease;
}
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back) > .c-btn__icon .bi,
#content .employee-voice-section__more > i .bi,
#content .recruit-feature-banner__button > i .bi,
#content .home-readmore > i .bi,
#content .recruit-entry-cta__casual-button > i .bi,
#content .job-card__more .bi,
#content .interview-card__arrow .bi,
#content .recruit-entry-cta__entry-icon .bi,
#content .ourbusiness-list .txt div span .bi,
#content .corp-recruit-card i .bi {
  margin: 0;
  font-size: clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  line-height: 1;
}
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back):hover > .c-btn__icon,
#content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back):focus-visible > .c-btn__icon,
#content .employee-voice-section__more:hover > i,
#content .employee-voice-section__more:focus-visible > i,
#content .recruit-feature-banner:hover .recruit-feature-banner__button > i,
#content .recruit-feature-banner:focus-visible .recruit-feature-banner__button > i,
#content .home-readmore:hover > i,
#content .home-readmore:focus-visible > i,
#content .recruit-entry-cta__casual-button:hover > i,
#content .recruit-entry-cta__casual-button:focus-visible > i,
#content .job-card:hover .job-card__more,
#content .job-card:focus-within .job-card__more,
#content .interview-card:hover .interview-card__arrow,
#content .interview-card:focus-within .interview-card__arrow,
#content .recruit-entry-cta__entry:hover .recruit-entry-cta__entry-icon,
#content .recruit-entry-cta__entry:focus-visible .recruit-entry-cta__entry-icon,
#content .ourbusiness-list a:hover .txt div span,
#content .ourbusiness-list a:focus-visible .txt div span,
#content .corp-recruit-card:hover i,
#content .corp-recruit-card:focus-visible i {
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
#content .job-card__more {
  text-decoration: none;
}
#content .job-card__more .bi {
  position: relative;
  z-index: 2;
}
#content .recruit-entry-cta__entry-icon {
  top: 50%;
  right: clamp(1.5rem, 3vw, 2.5rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#content .recruit-entry-cta__entry:hover .recruit-entry-cta__entry-icon,
#content .recruit-entry-cta__entry:focus-visible .recruit-entry-cta__entry-icon {
  -webkit-transform: translateY(-50%) translateX(3px);
          transform: translateY(-50%) translateX(3px);
}

@media (max-width: 767px) {
  #content .c-btn:not(.company-page__anchor):not(.interview-index__stage):not(.jobs-index__filter):not(.recruit-blog-index__filter):not(.c-archive-index__filter):not(.c-btn--back),
  #content .com-btn-wrap .btn,
  #content .employee-voice-section__more,
  #content .recruit-feature-banner__button,
  #content .home-readmore,
  #content .recruit-entry-cta__casual-button {
    width: 100%;
    min-width: 0;
  }
}/*# sourceMappingURL=style.css.map */