/*!
* メインスタイルcss
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
:root {
    --letter-spacing: 0.05em;
    --header-height: 6.875rem;
    --two-column-aside: 14.375rem;
    --two-column-gap: min(5.75rem, 7.6411960133vw);
    --two-column-gutterL: (100% - 73.75rem) / 2;
    --two-column-gutterR: (100% - 73.75rem) / 2;
    --max-two-column-gutterL: max(2rem, var(--two-column-gutterL));
    --max-two-column-gutterR: max(2rem, var(--two-column-gutterR))
}

html {
    font-size: 16px;
    font-family: "Noto Sans JP Variable", sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    text-autospace: no-autospace;
    text-spacing-trim: space-all;
    scroll-padding-top: var(--header-height)
}

*,
::before,
::after {
    box-sizing: border-box;
    letter-spacing: var(--letter-spacing);
    min-width: 0;
    text-decoration-thickness: inherit
}

body {
    color: #1A1A1A;
    margin: 0;
    line-height: 1.7;
    font-size: 0.9375rem;
    font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    text-decoration-thickness: from-font;
    text-underline-position: from-font;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    background: #FDFBF7
}

body.is-slidebar-active {
    overflow: hidden
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100svh;
    background: rgba(0, 78, 162, .3);
    z-index: 9;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .2s
}

body:has(.l-header__mainmenu-item.js-dropdown.is-open)::before {
    opacity: 1;
    visibility: visible
}

:where(html[lang=en], html[lang=en-US]) body {
    font-family: "Roboto Flex Variable", sans-serif;
    line-height: 1.8;
    --letter-spacing: 0;
    font-size: 0.9375rem
}

:where(html[lang=zh-Hans], html[lang=zh-CN]) body {
    font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans JP Variable", sans-serif
}

a {
    color: inherit;
    text-decoration: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: bold
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    font-weight: bold;
    margin: .67em 0
}

h2 {
    font-size: 1.8rem;
    margin-top: 2rem;
    margin-bottom: 1rem
}

h3 {
    font-size: 1.6rem;
    margin-top: 1.7rem;
    margin-bottom: 1rem
}

h4 {
    font-size: 1.5rem;
    margin-top: 1.7rem;
    margin-bottom: 1rem
}

h5 {
    font-size: 1.4rem;
    margin-top: 1.3rem;
    margin-bottom: .5rem
}

h6 {
    font-size: 1.2rem;
    margin-top: 1rem;
    margin-bottom: .5rem
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

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

hr {
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 0.0625rem dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -0.125rem
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

legend {
    padding: 0
}

optgroup {
    font-weight: bold
}

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

td,
th {
    padding: 0
}

dl,
dd {
    margin: 0
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0
}

li {
    margin: 0
}

input[type=text],
input[type=url],
input[type=search],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=file],
textarea {
    padding: 0.625rem 1rem;
    font-size: 0.9375rem;
    --letter-spacing: 0;
    line-height: 1.46666;
    color: #1A1A1A;
    border: 1px solid #c4c7cd;
    background-color: #fdfdff;
    font-weight: 350;
    width: 100%;
    box-shadow: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-in-out;
    transition-duration: .2s
}

input[type=text]:focus,
input[type=text]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=file]:focus,
input[type=file]:active,
textarea:focus,
textarea:active {
    outline: none;
    box-shadow: none
}

input[type=file] {
    font-size: 0.75rem
}

input[type=file]::file-selector-button {
    background-color: #f9f9f9;
    background-image: linear-gradient(135deg, #FFF 0%, #FFF 80%, #EFEFEF 100%);
    border-radius: 4px;
    border: 1px solid #bababa;
    padding: 0.125rem 1rem 0.25rem;
    margin-right: 1rem;
    color: #1A1A1A;
    line-height: 1.46666;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

textarea {
    min-height: 8.75rem;
    display: block
}

input[type=checkbox] {
    width: 1.25rem;
    height: 1.25rem;
    vertical-align: middle;
    accent-color: #F26A2E;
    flex-shrink: 0
}

input[type=radio] {
    border-radius: 50%;
    width: 1.25rem;
    height: 1.25rem;
    vertical-align: middle;
    accent-color: #F26A2E;
    flex-shrink: 0
}

select {
    display: block;
    height: 2.75rem;
    padding: 0.625rem 1rem;
    text-transform: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg width="9" height="6" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.945 2.38419e-05L9 1.05402L4.5 5.55402L0 1.05402L1.055 -0.000976562L4.5 3.44502L7.945 2.38419e-05Z" fill="%237C7F84"/></svg>');
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-size: 0.75rem 0.5rem;
    font-size: 0.9375rem;
    --letter-spacing: 0;
    line-height: 1.46666;
    color: #1A1A1A;
    border: 1px solid #c4c7cd;
    background-color: #fdfdff;
    font-weight: 350;
    width: 100%;
    box-shadow: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-in-out;
    transition-duration: .2s
}

select:focus,
select:active {
    outline: none;
    box-shadow: none
}

::-moz-placeholder {
    color: #c4c7cd
}

::placeholder {
    color: #c4c7cd
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes arrowMove {
    0% {
        transform: translate(0, 0);
        z-index: 1
    }

    59% {
        transform: translate(0, 0);
        z-index: 1
    }

    60% {
        transform: translate(-50%, 0);
        z-index: 1
    }

    100% {
        transform: translate(0, 0);
        z-index: 3
    }
}

.l-aside {
    height: 100%;
    padding-bottom: 6.25rem
}

.l-container {
    max-width: 73.75rem;
    margin-inline: auto;
    box-sizing: content-box;
    padding-inline: 2rem
}

.l-container.is-sm {
    max-width: 61.125rem
}

.l-container.is-lg {
    max-width: 79.5rem
}

.l-container.is-lg-max {
    max-width: 79.5rem
}

:where(.l-two-column) .l-container {
    padding-inline: 0;
    margin-left: var(--max-two-column-gutterL);
    margin-right: calc(var(--max-two-column-gutterR) + var(--two-column-gap) + var(--two-column-aside))
}

:where(.l-two-column.is-reverse) .l-container {
    margin-right: var(--max-two-column-gutterR);
    margin-left: calc(var(--max-two-column-gutterL) + var(--two-column-gap) + var(--two-column-aside))
}

.l-footer {
    position: relative;
    background: #fdfdff
}

.l-footer::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.25rem;
    background: linear-gradient(to right, #F26A2E 50%, #F4C430 50%)
}

.l-footer__top-inner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 5.75rem 0 3.75rem;
    gap: 2.5rem
}

.l-footer__menu {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 0;
    gap: min(4rem, 5.1446945338vw)
}

.l-footer__block-sp {
    display: contents
}

.l-footer__menulist {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.l-footer__menulist a {
    color: inherit;
    text-decoration: none
}

.l-footer__menulist-title {
    font-size: 0.875rem;
    font-weight: 600
}

.l-footer__menulist-sub {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    display: flex;
    flex-direction: column;
    gap: 0.0625rem
}

.l-footer__menulist-sub a {
    display: block;
    padding: 0.125rem 0
}

.l-footer__logo {
    display: block;
    width: 100%;
    max-width: 16rem;
    margin-bottom: 2rem
}

.l-footer__address {
    font-size: 0.8125rem;
    line-height: 1.5
}

.l-footer__content-buttons {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem
}

.l-footer__content-button {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: 0.875rem;
    line-height: normal;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #c4c7cd
}

.l-footer__content-button::after {
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    background: currentColor;
    -webkit-mask: url(../images/icon-arrow-sm.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow-sm.svg) no-repeat center center/contain;
    rotate: -45deg
}

.l-footer__content-button-icon {
    display: flex;
    gap: 1rem
}

.l-footer__bottom {
    display: flex;
    justify-content: space-between;
    padding: 1.25rem 2rem 0.75rem;
    gap: 1rem;
    color: #adaeb1
}

.l-footer__copyright {
    display: block;
    font-size: 0.75rem;
    letter-spacing: .01em;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.l-footer__bottom-link {
    font-size: 0.6875rem
}

.l-footer.is-simple .l-footer__top {
    display: none
}

.l-footer.is-simple .l-footer__bottom {
    margin-top: 1.5rem
}

.l-header {
    background-color: rgba(0, 0, 0, 0);
    width: 100%;
    z-index: 9990;
    position: fixed;
    top: 0;
    left: 0;
    padding: 1rem 1.625rem
}

.l-header.is-fixed .l-header__inner {
    background-color: #fdfdff
}

.l-header__inner {
    background-color: rgba(253, 253, 255, .9);
    max-width: 160rem;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    padding: 0.8125rem 0.8125rem 0 1.375rem;
    height: 4.875rem;
    border-radius: 12px;
    position: relative;
    transition: border-radius .1s, background-color .2s
}

.l-header__inner:has(.l-header__mainmenu-item.is-open) {
    border-radius: 12px 12px 0 0;
    background-color: #fdfdff
}

.is-slidebar-active .l-header__inner {
    background-color: rgba(0, 0, 0, 0)
}

.l-header__logo {
    margin: 0 0 0.8125rem;
    width: min(14.8125rem, 16.9285714286vw);
    flex-shrink: 0;
    align-self: center
}

.l-header__logo a,
.l-header__logo img {
    display: block
}

.l-header__nav {
    width: 100%;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: min(1.5rem, 1.7142857143vw)
}

.l-header__nav-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem
}

.l-header__nav-inner:where(:has(.l-header__topmenu)) {
    align-self: flex-end
}

.l-header__topmenu {
    display: flex;
    align-items: center;
    gap: min(1rem, 1.1428571429vw);
    font-size: min(.8125rem, .9285714286vw)
}

.l-header__topmenu-tel {
    font-size: min(.875rem, 1vw);
    display: flex;
    align-items: center;
    gap: 0.125rem
}

.l-header__topmenu-tel .c-icon-font {
    font-size: min(.8125rem, .9285714286vw)
}



/*メインスライドここまで*/
/* ============================
   Main Visual Slideshow CSS
   既存 style.css の後に読み込み
   ============================ */

/* Container */
.mv-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #0a1628;
}

/* Slides */
.mv-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.8s ease;
}

.mv-slide.is-active {
  opacity: 1;
  z-index: 1;
}

.mv-slide.is-prev {
  opacity: 1;
  z-index: 0;
}

.mv-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv-slide.is-active img {
  animation: mv-zoom 4s ease-out forwards;
}

@keyframes mv-zoom {
  0%   { transform: scale(1.06); }
  100% { transform: scale(1.0); }
}

/* Curve overlay */
.mv-curve {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
}

.mv-curve.is-active {
  opacity: 1;
}

.mv-curve__svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.mv-curve__path {
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 2800;
  stroke-dashoffset: 2800;
  stroke-width: 0;
}

/* Phase 1: Draw */
.mv-curve.is-draw .mv-curve__path {
  stroke-width: 20;
  animation: mv-draw 0.8s cubic-bezier(0.22, 0.6, 0.36, 1) forwards;
}

@keyframes mv-draw {
  0%   { stroke-dashoffset: 2800; stroke-width: 20; }
  100% { stroke-dashoffset: 0;    stroke-width: 20; }
}

/* Phase 2: Expand（ゆっくり広がる） */
.mv-curve.is-expand .mv-curve__path {
  stroke-dashoffset: 0;
  stroke-width: 20;
  animation: mv-expand 1.6s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

@keyframes mv-expand {
  0%   { stroke-width: 20; }
  100% { stroke-width: 4000; }
}

/* Phase 3: 中央からふわっとフェードアウト */
.mv-curve.is-reveal {
  background: linear-gradient(135deg, #F4C430, #F26A2E);
  animation: mv-fadeout 1.4s ease-out forwards;
}

.mv-curve.is-reveal .mv-curve__svg {
  display: none;
}

@keyframes mv-fadeout {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}

/* TOPキャッチコピーをスライドショーの上に表示 */
.c-main-visual__wrapper {
  z-index: 20;
}

/* キャッチコピー テキスト */
.c-main-visual__title .is-sm {
  display: block;
  color: #fdfdff;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 1.5rem;
}

.c-main-visual__title .is-lg {
  display: block;
  color: #fdfdff;
  font-weight: 700;
  font-size: clamp(1.5rem, 5.7142857143vw, 5rem);
  line-height: 1.5;
  margin-top: -0.625rem;
}

@media screen and (max-width: 46.8125em) {
  .c-main-visual__title .is-sm {
    font-size: 1rem;
  }
  .c-main-visual__title .is-lg {
    font-size: clamp(1.25rem, 8vw, 2.5rem);
  }
}

/* Progress bar */
.mv-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
  z-index: 20;
}

.mv-progress__fill {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #F26A2E, #F4C430);
}

/* Recruit section */
.p-home-recruit__image {
  position: absolute !important;
  inset: 0;
  overflow: hidden;
}

.p-home-recruit__image .mv-slideshow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* テキストをカーブより上に */
.p-home-recruit__content {
  position: relative;
  z-index: 15 !important;
}

/* SP: 縦長レイアウト */
@media screen and (max-width: 46.8125em) {
  .p-home-recruit__image .mv-slide img {
    aspect-ratio: 9 / 16;
    object-fit: cover;
  }
}

/*メインスライドここまで*/


.l-header__mainmenu {
    display: flex;
    align-items: center;
    gap: min(1.5rem, 1.7142857143vw)
}

.l-header__mainmenu :where(a, button) {
    display: inline-flex;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    font-size: min(.875rem, 1vw);
    position: relative;
    padding-bottom: 0.9375rem;
    font-weight: 700;
    align-items: center;
    gap: 0.25rem
}

.l-header__mainmenu :where(a, button)[target=_blank]::after {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    background: currentColor;
    -webkit-mask: url(../images/icon-arrow-sm.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow-sm.svg) no-repeat center center/contain;
    rotate: -45deg;
    translate: 0 0.0625rem
}

.l-header__mainmenu :where(a, button):has(+.l-header__submenu)::after {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    background: currentColor;
    -webkit-mask: url(../images/icon-header-plus.svg) no-repeat center center/contain;
    mask: url(../images/icon-header-plus.svg) no-repeat center center/contain
}

.is-open :is(a, button):has(+.l-header__submenu) {
    color: #F26A2E
}

.is-open :is(a, button):has(+.l-header__submenu)::after {
    -webkit-mask: url(../images/icon-header-minus.svg) no-repeat center center/contain;
    mask: url(../images/icon-header-minus.svg) no-repeat center center/contain
}

.l-header__submenu {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(calc(100% - 0.0625rem));
    width: 100%;
    z-index: 9999;
    background-color: #f6f5fb;
    padding: 4rem 1.5rem 2.5rem;
    visibility: hidden;
    opacity: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .1s;
    border-radius: 0 0 12px 12px
}

.l-header__submenu-outer {
    display: flex;
    width: 100%;
    max-width: 73.75rem;
    gap: min(1.5rem, 1.7142857143vw);
    margin: 0 auto
}

.l-header__submenu-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.25rem
}

.l-header__submenu-title {
    width: 14.8125rem;
    padding-top: 0.5rem
}

.l-header__submenu-title .is-ja {
    color: var(--_section-text-color, #1A1A1A);
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.25rem
}

.l-header__submenu-title .is-ja::before {
    content: "";
    display: block;
    width: 0.8125rem;
    height: 0.625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430;
    margin-top: 0.125rem
}

.l-header__submenu-title .is-eng {
    color: var(--_section-text-color, #F26A2E);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.5;
    display: block;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.l-header__submenu-title-button {
    font-size: 0.8125rem;
    font-weight: 400;
    gap: 0.375rem
}

.l-header__submenu-content {
    width: calc(100% - 14.8125rem)
}

.l-header__submenu-menus {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(8.75rem, 1fr));
    gap: min(1.5rem, 1.7142857143vw)
}

.l-header__submenu-block {
    padding-bottom: 0;
    opacity: 1;
    flex-direction: column;
    gap: 0.5rem;
    font-weight: 400;
    align-items: stretch
}

.l-header__submenu-block-image {
    aspect-ratio: 160/99;
    overflow: hidden;
    border-radius: 4px
}

.l-header__submenu-block-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.l-header__submenu-block-body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem
}

.l-header__submenu-block-title {
    font-size: 0.8125rem;
    font-weight: 400;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.375rem
}

.l-header__buttons {
    display: flex;
    align-items: center;
    gap: min(.25rem, .2857142857vw);
    padding-bottom: 0.8125rem
}

.l-header__button {
    display: block;
    text-align: center;
    border-radius: 6px;
    background-color: #F4C430;
    border: solid 1px #F4C430;
    color: #fdfdff;
    padding: 0.8125rem;
    font-size: min(.9375rem, 1.0714285714vw);
    font-weight: 600;
    width: min(8.75rem, 10vw)
}

.l-header__button.is-primary {
    background-color: #F26A2E;
    border-color: #F26A2E
}

.l-header__tels {
    display: flex;
    align-items: center;
    margin-left: auto
}

.l-header__tels-title {
    font-size: 0.8125rem;
    font-weight: 600
}

.l-header__tels-link {
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: 1px solid #c4c7cd
}

.l-header__tels-link span.is-flex {
    display: flex;
    gap: .125rem
}

.l-header__tels-link span.c-icon-font {
    font-size: 1.5rem;
    font-weight: 700;
    color: #F26A2E
}

.l-header__tels-link span.is-number {
    font-size: 1.5rem;
    font-weight: 700;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    line-height: 1;
    color: #F26A2E
}

.l-header__tels-link span.is-text {
    display: flex;
    justify-content: center;
    font-size: .8125rem;
    margin-top: .25rem
}

.l-header.is-simple .l-header__nav,
.l-header.is-simple .l-header__search,
.l-header.is-simple .l-header__button {
    display: none
}

.l-header.is-simple .l-header__logo {
    margin-bottom: 0
}

.l-header.is-simple .l-header__inner {
    padding: .9375rem 1.5625rem .9375rem 1.375rem
}

.l-header:not(.is-recruit) .is-recruit-header {
    display: none
}

.l-header:not(.is-simple) .is-simple-header {
    display: none
}

.l-header.is-recruit .is-normal-header,
.l-header.is-recruit .is-simple-header {
    display: none
}

.l-header.is-simple .is-normal-header,
.l-header.is-simple .is-recruit-header {
    display: none
}

.is-slidebar-active .l-header {
    position: fixed;
    top: 0;
    left: 0
}

.l-main {
    position: relative
}

.l-main:has(.js-section-parallax)::before {
    display: block
}

.l-main::before {
    pointer-events: none;
    display: none;
    content: "";
    position: absolute;
    top: -18.75rem;
    left: 0;
    width: 100%;
    min-width: 100rem;
    height: 18.75rem;
    z-index: 9;
    background: #fdfdff;
    -webkit-mask-image: url("../images/mask-page-header-00.svg"), linear-gradient(#000, #000);
    mask-image: url("../images/mask-page-header-00.svg"), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-position: center 100%, 0 0;
    mask-position: center 100%, 0 0;
    -webkit-mask-size: 100% 18.75rem, 100% 100%;
    mask-size: 100% 18.75rem, 100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: 2
}

.home .l-offer {
    padding-top: 7.5rem
}

.l-offer {
    padding-top: 9.375rem;
    background: #fdfdff;
    position: relative;
    z-index: 1
}

.l-offer__inner {
    display: grid;
    grid-template-columns: var(--max-two-column-gutterL) 574fr 90fr 514fr var(--max-two-column-gutterR);
    grid-template-areas: "image image gap content gutterR";
    gap: 0;
    overflow-x: clip
}

.l-offer__image {
    grid-area: image;
    height: 30rem;
    overflow: hidden;
    border-radius: 0 16px 16px 0
}

.l-offer__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.l-offer__content {
    position: relative;
    grid-area: content;
    padding-top: min(7.1875rem, 8.2142857143vw)
}

.l-offer__content-line {
    min-width: 57.75rem;
    position: absolute;
    top: -3.5rem;
    left: -1.875rem;
    width: 100%;
    height: 27.75rem;
    pointer-events: none;
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
    transition: clip-path .8s ease-out
}

.is-inview .l-offer__content-line {
    clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%)
}

.l-offer__content-line img {
    width: 100%;
    height: 100%;
    max-width: initial
}

.l-offer__content-text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 2rem
}

.l-offer__content-title {
    display: flex;
    align-items: center;
    gap: min(3rem, 3.4285714286vw)
}

.l-offer__content-title .is-text {
    font-size: min(5rem, 5.7142857143vw);
    font-weight: 700;
    line-height: normal;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    background: linear-gradient(242deg, #F4C430 3.78%, #F26A2E 71.82%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.l-offer-recruit {
    position: relative;
    margin-top: 9.375rem
}

.l-offer-recruit__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.l-offer-recruit__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.l-offer-recruit__container {
    position: relative;
    z-index: 1;
    color: #fdfdff;
    padding: 8.125rem 0
}

.l-offer-recruit__title {
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6;
    margin: 0
}

.l-offer-recruit__text {
    margin-top: 1rem;
    font-weight: 600
}

.l-offer-recruit__buttons {
    margin-top: 7.75rem;
    display: flex;
    gap: 1rem
}

.l-page-header {
    height: 53.125rem;
    position: relative;
    z-index: 1;
    display: grid;
    padding-bottom: 9.375rem
}

.l-page-header:where(:has(.l-page-header__image)) {
    color: #fdfdff;
    --_page-header-subtitle-color: #fdfdff;
    --_page-header-title-color: #fdfdff;
    --_page-header-content-wrap-padding-bottom: 18.75rem;
    padding-bottom: 0
}

.l-page-header__image-wrap {
    grid-column: 1/-1;
    grid-row: 1/-1;
    height: 53.125rem;
    display: flex;
    justify-content: center;
    overflow: hidden
}

.l-page-header__image {
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-position: center 100.1%, 0 0;
    mask-position: center 100.1%, 0 0;
    -webkit-mask-size: 100% 18.875rem, 100% 100%;
    mask-size: 100% 18.875rem, 100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    width: 100%;
    min-width: 100rem;
    height: 100%;
    background-color: #c4c7cd
}

.l-page-header__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.l-page-header__content-wrap {
    grid-column: 1/-1;
    grid-row: 1/-1;
    padding: var(--header-height) 0 var(--_page-header-content-wrap-padding-bottom, 0);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    position: relative;
    z-index: 2
}

.l-page-header__content {
    height: 100%
}

.l-page-header__content .l-container {
    height: 100%
}

.l-page-header__content-inner {
    position: relative
}

.l-page-header__title-wrap {
    padding-top: 4.8125rem;
    position: relative;
    z-index: 1
}

.l-page-header__subtitle {
    color: var(--_page-header-subtitle-color, #1A1A1A);
    font-size: 1.25rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.25rem;
    margin: 0
}

.l-page-header__subtitle::before {
    content: "";
    display: block;
    width: 1.0625rem;
    height: 0.8125rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430;
    margin-top: 0.1875rem
}

.l-page-header__title {
    color: var(--_page-header-title-color, #F26A2E);
    font-weight: 700;
    font-size: 5rem;
    line-height: 1.5;
    margin: -0.25rem 0 0;
    display: block;
    font-family: "Figtree Variable", "Noto Sans JP Variable", sans-serif;
    --letter-spacing: 0
}

.l-page-header__subpage-title {
    margin: 2.4375rem 0 0;
    font-size: 2rem;
    font-weight: 700;
    padding-top: 0.5625rem;
    position: relative
}

.l-page-header__subpage-title::before {
    content: "";
    display: block;
    width: 3rem;
    height: 0.125rem;
    background-color: #fdfdff;
    position: absolute;
    top: 0;
    left: 0
}

.l-page-header__navs {
    margin-top: 2.25rem
}

.l-page-header__float-image {
    position: absolute;
    top: 4.8125rem;
    right: 0;
    width: 22.125rem
}

.l-page-header__float-image img {
    border-radius: 1rem;
    overflow: hidden;
    aspect-ratio: 354/354;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.l-page-header.is-sm {
    padding-bottom: 5rem;
    height: auto
}

.l-page-header.is-sm .l-page-header__title {
    font-size: 2.625rem;
    margin-top: 0.5rem
}

.l-page-header.is-relation-format .l-page-header__image-wrap {
    height: 100%
}

.l-page-header.is-relation-format .l-page-header__subtitle {
    color: #1A1A1A
}

.l-page-header.is-relation-format .l-page-header__title {
    color: #F26A2E
}

.l-page-header.is-relation-format .l-page-header__subpage-title {
    color: #1A1A1A
}

.l-page-header.is-relation-format .l-page-header__subpage-title::before {
    background: #F26A2E;
    width: 1.125rem
}

.l-page-header.is-relation-format .c-anchor-nav__nav-list {
    display: flex;
    flex-wrap: wrap
}

.l-page-header.is-relation-format .c-anchor-nav__nav-list a {
    color: #1A1A1A
}

.l-page-header.is-relation-format .l-page-header__subpage-text {
    color: #1A1A1A;
    margin-top: .5rem;
    font-size: 1rem
}

.l-page-header.is-relation-format .l-page-header__breadcrumb span,
.l-page-header.is-relation-format .l-page-header__breadcrumb a {
    color: #1A1A1A
}

.l-page-header.is-sp-small {
    height: auto
}

.l-root-container {
    max-width: 160rem;
    margin: 0 auto
}

.l-searchform {
    position: fixed;
    top: 5rem;
    left: 0;
    width: 100%;
    z-index: 99999;
    visibility: hidden;
    opacity: 0;
    padding: 5.625rem 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .2s
}

.l-searchform__inner {
    width: 100%;
    max-width: 46.75rem;
    position: relative;
    margin: auto
}

.l-searchform__overlay {
    position: absolute;
    background: rgba(0, 8, 26, .9);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.l-searchform__close {
    position: absolute;
    right: -4.125rem;
    top: -4.125rem;
    color: #fdfdff;
    background: rgba(0, 0, 0, 0);
    border: none;
    padding: 0
}

.l-searchform__close__icon {
    font-size: 3rem
}

body.is-search-modal-open .l-searchform {
    visibility: visible;
    opacity: 1
}

.l-section.is-mask-01 {
    -webkit-mask-image: url("../images/mask-section-01-top.svg"), url("../images/mask-section-01-bottom.svg"), linear-gradient(#000, #000);
    mask-image: url("../images/mask-section-01-top.svg"), url("../images/mask-section-01-bottom.svg"), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat, no-repeat;
    -webkit-mask-position: center -0.2%, center 100.2%, 0 0;
    mask-position: center -0.2%, center 100.2%, 0 0;
    -webkit-mask-size: max(100%, 120rem) 10.5rem, max(100%, 120rem) 10.5rem, 100% 100%;
    mask-size: max(100%, 120rem) 10.5rem, max(100%, 120rem) 10.5rem, 100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding-top: 9rem;
    padding-bottom: 12.75rem
}

.l-section.is-mask-02 {
    -webkit-mask-image: url("../images/mask-section-02-top.png"), url("../images/mask-section-02-bottom.png"), linear-gradient(#000, #000);
    mask-image: url("../images/mask-section-02-top.png"), url("../images/mask-section-02-bottom.png"), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat, no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat, no-repeat;
    -webkit-mask-position: center 0%, center 100.2%, 0 0;
    mask-position: center 0%, center 100.2%, 0 0;
    -webkit-mask-size: max(100%, 120rem) 10.5rem, max(100%, 120rem) 10.5rem, 100% 100%;
    mask-size: max(100%, 120rem) 10.5rem, max(100%, 120rem) 10.5rem, 100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding-top: 8.125rem;
    padding-bottom: 15.25rem
}

.l-section.is-xxlg {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem
}

.l-section.is-xxlg-top {
    padding-top: 7.5rem
}

.l-section.is-xxlg-bottom {
    padding-bottom: 7.5rem
}

.l-section.is-xlg {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem
}

.l-section.is-xlg-top {
    padding-top: 6.25rem
}

.l-section.is-xlg-bottom {
    padding-bottom: 6.25rem
}

.l-section.is-lg {
    padding-top: 5rem;
    padding-bottom: 5rem
}

.l-section.is-lg-top {
    padding-top: 5rem
}

.l-section.is-lg-bottom {
    padding-bottom: 5rem
}

.l-section.is-md {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.l-section.is-md-top {
    padding-top: 4rem
}

.l-section.is-md-bottom {
    padding-bottom: 4rem
}

.l-section.is-sm {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem
}

.l-section.is-sm-top {
    padding-top: 3.5rem
}

.l-section.is-sm-bottom {
    padding-bottom: 3.5rem
}

.l-section.is-xs {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.l-section.is-xs-top {
    padding-top: 2rem
}

.l-section.is-xs-bottom {
    padding-bottom: 2rem
}

.l-section.is-xxlg-bottom:where(:has(+.l-section.is-mask-02)) {
    padding-bottom: 8.875rem
}

.l-section:where(.l-section.is-mask-02)+.l-section.is-lg-top {
    padding-top: 5.75rem
}

.l-section.is-color-primary {
    --_section-text-color: #fdfdff;
    --_section-text-sub-color: #F4C430;
    background-color: #F26A2E;
    color: #fdfdff
}

.l-section.is-color-gradient {
    --_section-text-color: #fdfdff;
    --_section-text-sub-color: #fdfdff;
    background: linear-gradient(74deg, #F4C430 2.19%, #127BEC 95.73%);
    color: #fdfdff
}

.l-section.is-top {
    padding-bottom: 0 !important
}

.l-section.is-bottom {
    padding-top: 0 !important
}

.l-section.is-bg-color {
    background: #fff
}

.l-section.is-bg-white {
    background: #fdfdff;
    position: relative;
    z-index: 3
}

.l-section.is-scroll-margin-responsive {
    scroll-margin-top: 12.5rem
}

.l-section.is-search-result {
    padding-top: 3rem;
    padding-bottom: 5rem
}

.l-section.is-relative {
    position: relative
}

.l-section.is-bg-contact {
    background: url(../images/bg-contact.jpg) no-repeat center center/cover
}

.l-section-parallax {
    position: relative;
    z-index: 2;
    overflow: hidden
}

.l-section-parallax::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 999
}

.l-section.is-post {
    padding-top: 11.25rem;
    background: none
}

.l-two-column {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template: "gutterL main gap side gutterR" auto/var(--max-two-column-gutterL) 1fr var(--two-column-gap) var(--two-column-aside) var(--max-two-column-gutterR)
}

.l-two-column__main {
    grid-column: 1/-1;
    grid-row: 1/2
}

.l-two-column__side {
    position: relative;
    z-index: 4;
    grid-area: side
}

.l-two-column:where(.is-reverse) {
    grid-template: "gutterR side gap main gutterL" auto/var(--max-two-column-gutterL) var(--two-column-aside) var(--two-column-gap) 1fr var(--max-two-column-gutterR)
}

.l-two-column:where(.l-two-column:has(.l-section.is-search-result)) {
    grid-template: "gutterL main gap side gutterR" auto/var(--max-two-column-gutterR) 1fr var(--two-column-gap) 14.125rem var(--max-two-column-gutterL)
}

.l-two-column:where(.l-two-column:has(.l-section.is-search-result)) .l-two-column__main {
    grid-area: main
}

.c-accordion {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem
}

.c-accordion__block {
    border-radius: 8px;
    overflow: hidden
}

.c-accordion__title {
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    font-weight: 700;
    gap: 0.4375rem;
    padding: 1rem 3rem 1rem 1.5rem;
    position: relative;
    background-color: #e4f6fd;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s;
    font-size: 1rem;
    font-weight: 600
}

.c-accordion__title::after,
.c-accordion__title::before {
    content: "";
    width: 0.625rem;
    height: 0.125rem;
    border-radius: 4px;
    background-color: #F4C430;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease-out;
    transition-duration: .18s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s
}

.c-accordion__title::before {
    transform: translateY(-50%) rotate(90deg)
}

.c-accordion__block[open] .c-accordion__title {
    background-color: #F4C430;
    color: #fdfdff
}

.c-accordion__block[open] .c-accordion__title::before {
    opacity: 0
}

.c-accordion__block[open] .c-accordion__title::after {
    background-color: #fdfdff
}

.c-accordion__block[open] .c-accordion__title .c-accordion__title-icon {
    color: #fdfdff
}

.c-accordion__title::-webkit-details-marker {
    display: none
}

.c-accordion__title-icon,
.c-accordion__content-icon {
    flex-shrink: 0;
    display: inline-block;
    color: #F4C430;
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s
}

.c-accordion__content-wrapper {
    background-color: #e4f6fd;
    padding: 2rem
}

.c-accordion__content-inner {
    flex-grow: 1
}

.c-anchor-nav {
    --_button-icon-size: 1.4375rem;
    --_button-icon-arrow-size: 0.5625rem;
    --_button-icon-rotation: 90deg;
    --_button-icon-color: #F26A2E;
    --_button-icon-bg: #fdfdff;
    --_button-icon-hover-bg: #F26A2E;
    --_button-icon-hover-color: #fdfdff
}

.c-anchor-nav.is-white {
    color: #fdfdff
}

.c-anchor-nav__nav-list {
    display: grid;
    grid-template-columns: fit-content(100%) fit-content(100%) fit-content(100%);
    gap: 1.5rem 1.4375rem
}

.c-anchor-nav__nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.5;
    color: inherit
}

.c-aside-navs {
    max-height: calc(100svh - var(--header-height));
    overflow-y: auto
}

.c-aside-navs.is-xlg-top {
    padding-top: 9.375rem
}

.c-aside-navs.is-post {
    padding-top: 4.8125rem
}

.c-aside-navs.is-sticky {
    position: sticky;
    top: var(--header-height)
}

.c-aside-navs__inner {
    position: relative;
    padding-top: 0.0625rem
}

.c-aside-navs__inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.0625rem;
    background: linear-gradient(to right, #F26A2E 1.5rem, #F4C430 1.5rem)
}

.c-aside-navs__block:where(:not(:first-child)) {
    margin-top: 2.5rem
}

.c-aside-navs__head {
    font-size: 1.125rem;
    font-weight: 600;
    padding: 1rem 0
}

.c-aside-navs__index {
    margin-top: -0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    counter-reset: aside-index;
    font-size: 0.9375rem;
    font-weight: 600
}

.c-aside-navs__index-item {
    counter-increment: aside-index
}

:where(.c-aside-navs__index-item) a {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.375rem 0
}

:where(.c-aside-navs__index-item) a::before {
    content: counter(aside-index, decimal-leading-zero);
    color: #c4c7cd;
    transition: color .3s ease;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 700;
    font-size: 0.8125rem;
    padding-top: 0.4375rem;
    line-height: 1
}

:where(.c-aside-navs__index-item) a.is-current::before {
    color: #F26A2E
}

.c-aside-navs__list {
    margin-top: -0.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.9375rem;
    font-weight: 600
}

.c-aside-navs__list-item summary {
    display: block;
    cursor: pointer
}

.c-aside-navs__list-item::-webkit-details-marker {
    display: none
}

.c-aside-navs__list-link {
    display: block;
    position: relative;
    padding: 0.375rem 0 0.375rem 0.75rem
}

.c-aside-navs__list-link::before {
    --_icon-size: 0.375rem;
    content: "";
    position: absolute;
    top: calc(.5lh - var(--_icon-size)/2 + 0.375rem);
    left: 0;
    width: var(--_icon-size);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #c4c7cd
}

.c-aside-navs__list-link.is-current::before {
    background: #F4C430
}

.c-aside-navs__select {
    margin-top: 0.25rem
}

.c-aside-navs__select select {
    cursor: pointer;
    width: 100%;
    background-color: #f6f5fb;
    border: none;
    border-radius: 8px;
    height: 3rem;
    font-size: 0.9375rem;
    font-weight: 600
}

.c-banner-relation__link {
    display: block;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    padding: 6.125rem 6.7796610169%
}

.c-banner-relation__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.c-banner-relation__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-banner-relation__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center
}

.c-banner-relation__head-text {
    font-size: 1.25rem;
    line-height: 1.7;
    font-weight: 600;
    color: #fdfdff;
    position: relative;
    display: flex;
    gap: .625rem;
    align-items: center
}

.c-banner-relation__head-text::before {
    content: "";
    display: block;
    width: 1.1875rem;
    height: 0.9375rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #fdfdff
}

.c-banner-relation__button {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 2rem
}

.c-banner-relation__button-text {
    display: block;
    font-size: 3.5rem;
    line-height: 1.5;
    font-weight: 700;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #fdfdff
}

.c-block__block {
    margin-bottom: 4rem
}

.c-block__image img {
    width: 100%;
    height: auto
}

.c-block-cookie {
    position: fixed;
    z-index: 999999;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0, 8, 26, .8);
    padding: 0.875rem 0;
    opacity: 0;
    visibility: hidden;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-block-cookie.is-fixed {
    opacity: 1;
    visibility: visible
}

.c-block-cookie.is-hidden {
    opacity: 0;
    visibility: hidden
}

.c-block-cookie__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1
}

.c-block-cookie__text {
    font-size: .75rem;
    line-height: 2;
    --letter-spacing: 0.1em;
    font-weight: 400;
    color: #fdfdff
}

.c-block-cookie__button {
    flex: none;
    margin-left: 2rem
}

.c-block-cookie__button a {
    font-size: .8125rem;
    line-height: 1.4615384615;
    --letter-spacing: 0.14em;
    font-weight: 400;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fdfdff;
    padding: 0.9375rem 6.25rem;
    background: #7c7f84
}

.c-block-document {
    display: grid;
    grid-template-columns: 660fr 480fr
}

.c-block-document__detail {
    background: #fdfdff;
    padding: 3.5rem 5.4385964912%
}

.c-block-document__form {
    background: #dee0e3
}

.c-block-document__form .c-forms {
    background: rgba(0, 0, 0, 0);
    width: 100%
}

.c-block-point__item {
    border-top: 1px solid #F4C430;
    padding: 2.375rem 1.875rem 4.5rem 1.5rem;
    display: grid;
    grid-template-columns: 309fr 316fr 500fr
}

.c-block-point__item:last-child {
    border-bottom: 1px solid #F4C430
}

.c-block-point__item.is-col-custom {
    grid-template-columns: 100fr 630fr;
    gap: 35.1687388988%
}

.c-block-point__item.is-col-custom .c-block-point__item-title {
    padding-right: 0
}

.c-block-point__item.is-col-custom .c-block-point__item-title span {
    color: #1A1A1A
}

.c-block-point__item-number {
    font-size: 1.625rem;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 600;
    color: #F26A2E;
    position: relative
}

.c-block-point__item-number span {
    position: relative
}

.c-block-point__item-number span::after {
    content: "";
    position: absolute;
    top: .875rem;
    right: -1.25rem;
    margin: auto;
    width: 3.1875rem;
    height: 2.3125rem;
    background: url(../images/line-point-number.svg) no-repeat center center/contain
}

.c-block-point__item-title {
    margin-top: 2.125rem;
    padding-right: 1rem;
    align-self: center
}

.c-block-point__item-content {
    margin-top: 2.125rem
}

.c-block-point__item-text {
    font-size: 1rem;
    font-weight: 600;
    padding-left: 2.5rem;
    border-left: 1px dashed #c4c7cd
}

.c-block-read {
    text-align: center
}

.c-block-read__title {
    margin: 0
}

.c-block-read__title .is-primary {
    color: #F26A2E
}

.c-block-read__text {
    margin-top: 2rem;
    font-size: 1rem;
    line-height: 1.6875
}

.c-block-read__text.is-bold {
    font-weight: 700
}

.c-blockquote {
    background-color: #f6f5fb;
    border-left: 2px solid #F26A2E;
    position: relative;
    padding: 4.6875rem 3rem 2.5rem 2.375rem;
    margin-right: 0;
    margin-left: 0
}

.c-blockquote::before {
    content: "";
    width: 1.5rem;
    height: 1.1875rem;
    background: #F4C430;
    -webkit-mask: url("../images/icon-quote.svg") no-repeat center/contain;
    mask: url("../images/icon-quote.svg") no-repeat center/contain;
    position: absolute;
    left: 2.375rem;
    top: 2.5rem
}

.c-blockquote cite {
    display: block;
    margin-top: 1rem
}

.c-box__block {
    background-color: #F4C430;
    padding: 2rem 2.5rem;
    margin-bottom: 3.5rem
}

.c-box.is-number-left .c-box__block {
    position: relative
}

.c-box.is-number-left .c-box__block::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 33px 0 33px;
    border-color: #F26A2E rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 100%)
}

.c-box.is-number-left .c-box__number {
    background-color: #F26A2E;
    color: #fdfdff;
    width: 5.375rem;
    height: 5.375rem;
    text-align: center;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    position: absolute;
    top: 0;
    line-height: 1;
    left: 0;
    padding-top: 0.875rem
}

.c-box.is-number-left .c-box__number small {
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: 1.125rem;
    letter-spacing: .1em;
    display: block
}

.c-box.is-number-left .c-box__number span {
    font-size: 2.625rem;
    letter-spacing: 0;
    display: block
}

.c-box.is-roundimg .c-box__image {
    width: 12.5rem;
    height: 12.5rem;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    margin-left: auto;
    margin-right: auto
}

.c-box.is-roundimg .c-box__image img {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.c-box-archive__block {
    border: 1px solid #F26A2E;
    padding: 1.5rem 2rem 0.75rem;
    margin-bottom: 1rem
}

.c-box-archive__block:last-child {
    margin-bottom: 0
}

.c-box-archive__title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: #F26A2E;
    margin-bottom: 1rem
}

.c-box-archive ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.c-box-archive ul li {
    margin-right: 3rem;
    margin-bottom: 0.75rem
}

.c-box-archive ul li::before {
    content: "chevron_right";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    color: #F26A2E;
    padding-right: 0.5rem
}

.c-box-archive ul li a {
    color: #1A1A1A;
    text-decoration: none;
    font-weight: 400
}

.c-box-caption {
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: #fdfdff;
    border-radius: 1rem
}

.c-box-caption__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1A1A1A
}

.c-box-caption__text {
    font-size: 1rem;
    color: #1A1A1A
}

.c-box-cases {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem
}

.c-box-cases__item {
    background: #fdfdff;
    padding: 3.5rem;
    border-radius: .25rem
}

.c-box-cases__item-head {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    color: #1A1A1A;
    position: relative
}

.c-box-cases__item-head::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.125rem;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: linear-gradient(to right, #F26A2E 50%, #F4C430 50%)
}

.c-box-cases__item-post {
    font-size: 1rem;
    font-weight: 600
}

.c-box-cases__item-image {
    margin-top: 1rem
}

.c-box-cases__item-image img {
    aspect-ratio: 462/260;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-box-cases__item-content {
    margin-top: 1rem;
    color: #1A1A1A
}

.c-box-cases__item-text {
    font-size: 1rem
}

.c-box-history {
    display: flex;
    flex-direction: column;
    gap: .25rem
}

.c-box-history.is-column {
    gap: .5rem
}

.c-box-history.is-column .c-box-history__item {
    grid-template-columns: 200fr 511fr;
    padding: 1.5rem 2rem
}

.c-box-history.is-column .c-box-history__item-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding-right: 1rem
}

.c-box-history.is-column .c-box-history__item-year {
    font-size: 2rem;
    line-height: 1;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.c-box-history.is-column .c-box-history__item-detail {
    font-size: .9375rem;
    line-height: 1.7333333333
}

.c-box-history__item {
    padding: 1.125rem 1rem;
    display: grid;
    grid-template-columns: 193fr 633fr;
    align-items: center;
    background: #f6f5fb;
    border-radius: .25rem
}

.c-box-history__item-head {
    display: flex;
    align-items: center;
    gap: .5rem
}

.c-box-history__item-year {
    font-size: 1.25rem;
    line-height: 1.3;
    background: linear-gradient(242deg, #F26A2E -0.02%, #127BEC 68.02%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0)
}

.c-box-history__item-detail {
    font-size: .8125rem;
    color: #7c7f84
}

.c-box-history__item-text {
    font-size: .9375rem;
    line-height: 1.7333333333
}

.c-box-icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem
}

.c-box-icon__item {
    width: 23.4745762712%;
    border-radius: 16px;
    aspect-ratio: 1;
    background: linear-gradient(339deg, #127BEC 2.37%, #F4C430 91.64%);
    padding: min(2.125rem, 2.7331189711vw);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.c-box-icon__item-text {
    color: #fdfdff
}

.c-box-icon__item-icon {
    position: absolute;
    right: 1rem;
    bottom: 0
}

.c-box-interview .swiper-wrapper {
    transition-timing-function: ease-out
}

.c-box-interview__item {
    max-width: 56.75rem;
    width: 100%;
    transition-timing-function: ease-out
}

.c-box-interview__item.swiper-slide-active .c-box-interview__item-inner {
    transform: scale(1);
    opacity: 1;
    filter: blur(0)
}

.c-box-interview__item-inner {
    display: flex;
    align-items: stretch;
    flex-direction: row-reverse;
    color: #1A1A1A;
    position: relative;
    transform: scale(0.88);
    opacity: .9;
    filter: blur(0.125rem)
}

.c-box-interview__item-content {
    border-radius: .5rem 0 0 .5rem;
    overflow: hidden;
    background: #fdfdff;
    width: 100%;
    padding: 4.25rem 3.75rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.c-box-interview__item-label {
    border-radius: .25rem 1.25rem 1.25rem 0;
    background: linear-gradient(242deg, #F26A2E -0.02%, #127BEC 68.02%);
    color: #fdfdff;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    padding: .375rem 1.75rem .375rem 4.25rem;
    position: absolute;
    top: 1.5rem;
    left: -0.5rem;
    z-index: 9
}

.c-box-interview__item-label span.is-number {
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 600
}

.c-box-interview__item-label span.is-text {
    display: block;
    font-size: 1.25rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    letter-spacing: 0
}

.c-box-interview__item-label::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    margin: auto;
    width: .5rem;
    height: .5rem;
    background: #F4C430;
    clip-path: polygon(100% 0, 0 0, 100% 100%)
}

.c-box-interview__item-title {
    font-size: 1.25rem;
    font-weight: 700
}

.c-box-interview__item-post {
    margin-top: .5rem
}

.c-box-interview__item-post span {
    display: block
}

.c-box-interview__item-button {
    margin-top: 3rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .8125rem;
    line-height: 1.5384615385;
    font-weight: 700
}

.c-box-interview__item-image {
    width: 44.4444444444%;
    margin-left: auto;
    border-radius: 0 .5rem .5rem 0;
    overflow: hidden;
    flex-shrink: 0
}

.c-box-interview__item-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-box-interview .swiper-button {
    width: 4rem;
    height: 4rem;
    border-radius: .375rem;
    border: 1px solid #F26A2E;
    background: #fdfdff;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-box-interview .swiper-button::after {
    display: none
}

.c-box-interview .swiper-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #F26A2E;
    margin: auto;
    width: .9375rem;
    height: .9375rem;
    -webkit-mask: url(../images/icon-arrow.svg) no-repeat center center/cover;
    mask: url(../images/icon-arrow.svg) no-repeat center center/cover
}

.c-box-interview .swiper-button:hover {
    background: #F26A2E
}

.c-box-interview .swiper-button:hover::before {
    background: #fdfdff
}

.c-box-interview .swiper-button-prev {
    left: min(12.5714285714%, 11rem)
}

.c-box-interview .swiper-button-prev::before {
    transform: rotate(-180deg)
}

.c-box-interview .swiper-button-next {
    right: min(12.5714285714%, 11rem)
}

.c-box-recruit {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem
}

.c-box-recruit__item {
    display: block;
    position: relative;
    background: #FFF3E0;
    padding: 4rem 5rem 1.5rem 2rem
}

.c-box-recruit__item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.1875rem;
    background: linear-gradient(to right, #F26A2E 50%, #F4C430 50%)
}

.c-box-recruit__item-label {
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    font-size: 0.9375rem;
    font-weight: 600;
    padding: .4375rem 1rem;
    background: linear-gradient(242deg, #F26A2E -0.02%, #127BEC 68.02%);
    border-radius: 0 0 .5rem 0;
    color: #fdfdff
}

.c-box-recruit__item-date {
    font-size: 0.8125rem;
    color: #7c7f84;
    position: absolute;
    top: .5rem;
    right: 1rem
}

.c-box-recruit__item-title {
    font-size: 1.25rem;
    font-weight: 600
}

.c-box-recruit__item-units {
    margin-top: .5rem;
    display: flex;
    flex-direction: column
}

.c-box-recruit__item-units span {
    padding: .5rem 0 .5rem .75rem;
    border-bottom: 1px solid #c4c7cd;
    position: relative;
    display: flex;
    gap: .375rem
}

.c-box-recruit__item-units span::before {
    content: "";
    display: block;
    width: .375rem;
    height: .375rem;
    background: #F4C430;
    border-radius: 50%;
    position: absolute;
    top: 1.22188rem;
    transform: translateY(-50%);
    left: 0
}

.c-box-recruit__item-units span:last-child {
    border-bottom: none
}

.c-box-recruit__item-icon {
    position: absolute;
    right: 1rem;
    bottom: 1rem
}

.c-box-share {
    width: 100%;
    min-height: 16.875rem;
    background: url("../images/img-sample.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    text-align: center;
    margin: 3rem 0
}

.c-box-share::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 8, 26, .6)
}

.c-box-share__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 99;
    width: 100%
}

.c-box-share__title {
    color: #fdfdff;
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-bottom: 1.25rem
}

.c-breadcrumb {
    padding: 0.125rem 1.5rem 0.625rem
}

.c-breadcrumb__inner {
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: right
}

.c-breadcrumb__inner span.is-arrow {
    margin: 0 0.5rem;
    font-size: 0.625rem;
    line-height: 1;
    vertical-align: middle;
    opacity: .7;
    display: inline-grid;
    place-content: center
}

.c-breadcrumb__inner span.is-arrow::before {
    content: "";
    display: inline-block;
    width: 0.5rem;
    height: 0.0625rem;
    background-color: currentColor
}

.c-breadcrumb__inner span a {
    opacity: .7;
    display: inline-flex
}

.c-business-needs__title {
    margin-bottom: 1.5rem;
    text-align: center
}

.c-business-needs__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem
}

.c-business-needs__item {
    width: 19.2372881356%;
    aspect-ratio: 1;
    background: linear-gradient(339deg, #127BEC 2.37%, #F4C430 91.64%);
    padding: min(2.25rem, 2.8938906752vw);
    border-radius: 16px;
    color: #fdfdff;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.c-business-needs__item-image {
    position: absolute;
    width: 5.0625rem;
    height: 5rem;
    bottom: -0.0625rem;
    right: 1rem
}

.c-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fdfdff;
    text-decoration: none;
    width: auto;
    max-width: 100%;
    background-color: #F26A2E;
    padding: 0.5rem 0.625rem 0.5rem 0;
    border: 0;
    border-radius: 4px;
    line-height: 1.5;
    font-weight: 700;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease-out;
    transition-duration: .18s
}

.c-button.is-white {
    background-color: #fdfdff;
    color: #F26A2E;
    --_button-icon-bg: #fdfdff;
    --_button-icon-color: #F26A2E;
    --_button-icon-hover-bg: #F26A2E;
    --_button-icon-hover-color: #fdfdff;
    --_button-text-border-color: #f6f5fb
}

.c-button__text {
    text-align: center;
    display: block;
    padding: 0.5rem 3rem;
    margin-right: 0.625rem;
    border-right: 1px solid var(--_button-text-border-color, rgba(255, 255, 255, 0.3))
}

.c-button.is-icon-plus::after {
    content: "";
    width: 0.625rem;
    aspect-ratio: 1;
    background: currentColor;
    -webkit-mask: url(../images/icon-plus.svg) no-repeat center center/contain;
    mask: url(../images/icon-plus.svg) no-repeat center center/contain
}

.c-button.is-icon-arrow-left::after {
    content: "";
    width: 0.6875rem;
    aspect-ratio: 1;
    background: currentColor;
    -webkit-mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow.svg) no-repeat center center/contain
}

.c-button.is-icon-arrow-right::before {
    content: "";
    width: 0.6875rem;
    aspect-ratio: 1;
    background: currentColor;
    rotate: 180deg;
    -webkit-mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow.svg) no-repeat center center/contain
}

.c-button.is-icon-map::before {
    content: "";
    width: 0.5rem;
    height: 0.6875rem;
    background: currentColor;
    -webkit-mask: url(../images/icon-map.svg) no-repeat center center/contain;
    mask: url(../images/icon-map.svg) no-repeat center center/contain
}

.c-button.is-simple {
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
    width: 25rem;
    border-radius: 8px;
    border: solid 1px #F26A2E;
    gap: 0.25rem
}

.c-button.is-simple.is-max {
    padding: 1.3125rem 1.5rem;
    font-size: 0.9375rem
}

.c-button.is-full {
    width: 100%
}

.c-button.is-sm {
    padding: 0.625rem 2rem;
    font-size: 0.8125rem;
    line-height: 1.45;
    font-weight: 400;
    gap: 0.25rem;
    border-radius: 100px;
    background-color: #e4f6fd;
    color: #F26A2E
}

.c-button.is-sm.is-white {
    background-color: #fdfdff;
    color: #F26A2E
}

.c-button.is-nav {
    --_button-icon-rotation: 90deg
}

.c-button-icon {
    width: var(--_button-icon-size, 2rem);
    aspect-ratio: 1;
    flex-shrink: 0;
    display: grid;
    place-content: center;
    color: var(--_button-icon-color, #fdfdff);
    background: var(--_button-icon-bg, #F26A2E);
    border: 0;
    border-radius: var(--_button-icon-radius, 3px);
    cursor: pointer;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    font-size: 0.6875rem;
    font-weight: 600;
    rotate: var(--_button-icon-rotation, 0deg);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-button-icon::before {
    content: "";
    width: var(--_button-icon-arrow-size, 0.75rem);
    aspect-ratio: 1;
    background: var(--_button-icon-color, #fdfdff);
    -webkit-mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    z-index: 0;
    rotate: var(--_button-icon-arrow-rotation, 0deg);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-button-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--_button-icon-hover-bg, #fdfdff);
    transform: translateX(-100%);
    transition: transform .18s ease-out;
    z-index: 1
}

.c-button-icon__text {
    font-weight: 600;
    --letter-spacing: 0;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.c-button-icon.is-lg {
    --_button-icon-size: 4rem;
    --_button-icon-arrow-size: 1.0625rem;
    --_button-icon-radius: 0.375rem
}

.c-button-icon.is-sm {
    --_button-icon-size: 1.4375rem;
    --_button-icon-arrow-size: 0.5625rem;
    font-size: 0.625rem
}

.c-button-icon.is-icon-free::before {
    content: none
}

.c-button-icon.is-icon-free::after {
    z-index: -1
}

.c-button-icon.is-white {
    --_button-icon-bg: #fdfdff;
    --_button-icon-color: #F26A2E;
    --_button-icon-hover-bg: #F26A2E;
    --_button-icon-hover-color: #fdfdff
}

.c-button-icon.is-gray {
    --_button-icon-bg: #f6f5fb;
    --_button-icon-color: #F26A2E;
    --_button-icon-hover-bg: #F26A2E;
    --_button-icon-hover-color: #fdfdff
}

.c-button-icon.is-transparent {
    --_button-icon-bg: rgba(253, 253, 255, 0.2);
    --_button-icon-color: #fdfdff;
    --_button-icon-hover-bg: #fdfdff;
    --_button-icon-hover-color: #F26A2E
}

.c-button-icon.is-arrow-down {
    --_button-icon-rotation: 90deg
}

[target=_blank] .c-button-icon,
.c-button-icon.is-external,
.c-button-icon[target=_blank] {
    --_button-icon-arrow-rotation: -45deg
}

.is-arrow-left .c-button-icon,
.c-button-icon.is-arrow-left {
    --_button-icon-rotation: 180deg
}

.c-button-wrap {
    margin-top: 3.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem
}

.c-card {
    --_card-columns: 3
}

.c-card.is-col-4 {
    --_card-columns: 4
}

.c-card__list {
    display: grid;
    grid-template-columns: repeat(var(--_card-columns, 3), 1fr);
    gap: 2rem
}

.c-card__card {
    display: block
}

.c-card__card-image {
    aspect-ratio: 372/258;
    overflow: hidden;
    border-radius: 4px
}

.c-card__card-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-card__card-body {
    padding-top: 0.5rem
}

.c-card__card-title {
    font-size: 0.9375rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.5rem
}

.c-card__card-text {
    font-size: 0.875rem;
    margin-top: 0.5rem
}

.c-card-download__head.c-heading.is-md.is-border-bottom {
    margin-bottom: 2.5rem
}

.c-card-download__blocks {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.125rem
}

.c-card-download__block {
    display: block;
    text-decoration: none;
    color: #1A1A1A;
    width: calc(50% - 2.25rem);
    background: #fdfdff;
    padding: 1.5rem 1.5rem 2rem;
    margin: 0 1.125rem
}

.c-card-download__block:nth-child(n+3) {
    margin-top: 2rem
}

.c-card-download__image {
    overflow: hidden;
    position: relative;
    background: #f6f5fb;
    aspect-ratio: 504/311
}

.c-card-download__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-card-download__image .is-no {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    font-size: 1.0625rem;
    color: rgba(0, 8, 26, .5)
}

.c-card-download__label {
    position: absolute;
    left: 0;
    bottom: 0
}

.c-card-download__content {
    margin-top: 1rem
}

.c-card-download__button {
    margin-top: 1.5rem
}

.c-card-download__button .c-button {
    max-width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}

.c-card-download__button .c-button:before {
    content: none
}

.c-card-download__button .c-button:after {
    transform: translateY(-50%)
}

.c-card-download.is-three-col .c-card-download__block {
    width: calc(33.3% - 2.25rem);
    margin-top: 0
}

.c-card-download.is-three-col .c-card-download__block:nth-child(n+4) {
    margin-top: 2rem
}

.c-card-download.is-three-col .c-card-download__title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.c-card-image {
    --_card-columns: 6
}

.c-card-image__list {
    display: grid;
    grid-template-columns: repeat(var(--_card-columns, 6), 1fr);
    gap: 2rem
}

.c-card-image__card {
    display: block;
    margin: 0;
    grid-column: span 2
}

.c-card-image__card-image {
    aspect-ratio: 372/248;
    overflow: hidden;
    border-radius: 2px
}

.c-card-image__card-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-card-image__card-caption {
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 600;
    margin-top: 0.5rem
}

.c-card-post {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.375rem, 1fr));
    gap: 0.5rem
}

.c-card-post__block {
    width: 100%;
    display: block;
    text-decoration: none;
    color: #1A1A1A;
    font-weight: 400;
    margin-bottom: 3rem
}

.c-card-post__block span,
.c-card-post__block small {
    display: block
}

.c-card-post__image {
    position: relative;
    display: block
}

.c-card-post__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9
}

.c-card-post__label {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 99;
    display: block
}

.c-card-post__content {
    margin-top: 0.75rem
}

.c-card-post__title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.6;
    margin-top: 0.5rem
}

.c-card-post__text {
    color: rgba(0, 8, 26, .7);
    font-size: 0.8125rem;
    margin-top: 0.75rem
}

.c-card-post__sup {
    margin-top: 0.375rem;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem
}

.c-card-post__date {
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #7c7f84;
    --letter-spacing: 0.05em;
    line-height: 1.5
}

.c-card-post__detail {
    color: #F26A2E;
    font-size: 0.875rem;
    letter-spacing: .1em;
    opacity: .7
}

.c-card-post__tag ul {
    display: flex;
    flex-wrap: wrap
}

.c-card-post__tag ul li {
    margin-right: 1.25rem
}

.c-card-post__tag ul li a {
    color: #F26A2E;
    font-weight: 400;
    font-size: 0.875rem;
    display: block;
    text-decoration: none
}

.c-card-post.is-tag-hidden {
    margin-bottom: 2rem
}

.c-card-post.is-tag-hidden .c-card-post__sup {
    position: relative;
    display: flex;
    align-items: center
}

.c-card-post.is-tag-hidden .c-card-post__label {
    position: static
}

.c-card-post.is-tag-hidden .c-card-post__date {
    margin-right: 0
}

.c-card-post.is-tag-hidden .c-card-post__title {
    font-size: 1rem
}

.c-float-bg-wrapper {
    --_float-bg-wrapper-padding-bottom: 6.25rem;
    padding-bottom: var(--_float-bg-wrapper-padding-bottom, 6.25rem)
}

@keyframes float-bg-circle {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.c-float-bg {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100svh;
    display: grid;
    align-content: end
}

.c-float-bg__container {
    max-width: 87.5rem;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    margin-bottom: -5rem
}

.c-float-bg__inner {
    width: 90.2142857143%;
    margin-left: auto;
    position: relative
}

.c-float-bg__image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%
}

.c-float-bg__item {
    position: absolute;
    width: 34.6001583531%;
    aspect-ratio: 1;
    left: 10.7680126683%;
    bottom: 26.1282660333%
}

.c-float-bg__item::before,
.c-float-bg__item::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: 50%
}

.c-float-bg__item::before {
    width: 2.25rem;
    height: 2.25rem;
    background: #f4c43075;
}

.c-float-bg__item::after {
    width: 1rem;
    height: 1rem;
    background: #F26A2E
}

.c-float-bg__item-circle {
    animation: float-bg-circle 20s linear infinite reverse;
    transition: scale .3s ease-out;
    position: relative;
    scale: .46;
    z-index: 2
}

.c-float-bg__item-circle img {
    max-width: inherit;
    width: 100%
}

.c-float-bg__item-images {
    position: absolute;
    width: 100%;
    top: 0;
    right: 0;
    aspect-ratio: 1/1;
    transform: scale(0);
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    border-radius: 50%;
    overflow: hidden
}

.c-float-bg.is-active .c-float-bg__item-circle {
    opacity: .3;
    scale: 1
}

.c-float-bg.is-active .c-float-bg__item-images {
    transform: scale(1)
}

.c-form-head__block {
    display: flex;
    justify-content: space-between
}

.c-form-head__title {
    font-size: 1.5rem;
    letter-spacing: .1em;
    line-height: 1.75;
    margin-top: 0
}

.c-form-head__list {
    display: flex
}

.c-form-head__item {
    padding-left: 4.375rem;
    position: relative
}

.c-form-head__item:first-of-type {
    padding-left: 0
}

.c-form-head__item:first-of-type::before {
    display: none
}

.c-form-head__item::before {
    content: "";
    position: absolute;
    top: 0.9375rem;
    left: 0;
    margin: auto;
    width: 2.1875rem;
    height: 0.0625rem;
    transform: translateX(50%);
    background: #F26A2E
}

.c-form-head__item-number {
    width: 1.875rem;
    height: 1.875rem;
    color: #fdfdff;
    background: #7c7f84;
    border-radius: 1000px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.875rem;
    margin: auto
}

.c-form-head__item-text {
    font-size: 0.875rem;
    letter-spacing: .1em;
    line-height: 1.7142857143;
    margin-top: 0.625rem
}

.c-form-head__item.is-current .c-form-head__item-number {
    background: #F26A2E
}

.c-form-head__item.is-current .c-form-head__item-text {
    color: #F26A2E
}

.c-forms {
    padding-top: 13.125rem;
    padding-bottom: 7.5rem
}

.c-forms__inner {
    width: 100%;
    max-width: 50rem;
    margin: auto;
    background: #fdfdff;
    padding: 3.5rem min(9.375rem, 10.7142857143vw) 5.5rem;
    border-radius: 3px
}

.c-forms__head-title {
    text-align: center;
    margin: 0
}

.c-forms__head-text {
    text-align: center;
    margin-top: .5rem
}

.c-forms__blocks {
    margin-top: 2.5rem
}

.c-forms__block {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 0.25rem
}

.c-forms__block:not(:last-child) {
    margin-bottom: 1.25rem
}

.c-forms__block.is-horizontal {
    grid-template-columns: minmax(auto, min-content) 1fr;
    -moz-column-gap: 3.75rem;
    column-gap: 3.75rem
}

.c-forms__block.is-horizontal .c-forms__title {
    min-width: 13.75rem;
    justify-content: space-between
}

.c-forms__fieldset {
    display: contents
}

.c-forms__title {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    align-self: center;
    font-size: 0.875rem;
    --letter-spacing: 0
}

.c-forms__title.is-vertical-top {
    align-self: start
}

.c-forms__label {
    display: block;
    min-width: 2.125rem;
    padding: 0.1875rem;
    border-radius: 5px;
    background-color: #f4c430;
    text-align: center;
    color: #fdfdff;
    font-size: 0.75rem;
    line-height: 1;
    --letter-spacing: 0em
}

.c-forms__content {
    width: 100%
}

.c-forms__content.is-column {
    display: flex;
    justify-content: space-between
}

.c-forms__content.is-column .c-forms__input {
    margin-right: 1.5rem
}

.c-forms__content.is-column .c-forms__input:last-of-type {
    margin-right: 0
}

.c-forms__content.is-column input {
    width: 100%
}

.c-forms__content.is-vertical-middle {
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.c-forms__content .wpcf7-not-valid-tip {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.7;
    color: #cc2919
}

.c-forms__content:has(.wpcf7-not-valid-tip) input,
.c-forms__content:has(.wpcf7-not-valid-tip) textarea,
.c-forms__content:has(.wpcf7-not-valid-tip) select,
.c-forms__content:has(.wpcf7-not-valid-tip) label:has(input[type=radio]),
.c-forms__content:has(.wpcf7-not-valid-tip) label:has(input[type=checkbox]) {
    background-color: rgba(204, 41, 25, .05);
    color: #cc2919;
    border-color: #cc2919
}

.c-forms__input {
    width: 100%
}

.c-forms__input input {
    border-radius: 4px;
    background-color: #fdfdff
}

.c-forms__input input:focus,
.c-forms__input input:active {
    border-color: #F4C430
}

.c-forms__input.is-sm {
    width: 11.25rem
}

.c-forms__file {
    width: 100%
}

.c-forms__file input {
    border-radius: 4px;
    background-color: #fdfdff;
    width: 100%
}

.c-forms__file input:focus,
.c-forms__file input:active {
    border-color: #F4C430
}

.c-forms__select {
    width: 100%
}

.c-forms__select select {
    border-radius: 4px;
    background-color: #fdfdff
}

.c-forms__select select:focus,
.c-forms__select select:active {
    border-color: #F4C430
}

.c-forms__select.is-sm {
    width: 11.25rem
}

.c-forms__textarea textarea {
    border-radius: 4px;
    background-color: #fdfdff
}

.c-forms__textarea textarea:focus,
.c-forms__textarea textarea:active {
    border-color: #F4C430
}

.c-forms__radio:where(:not(.is-mw))>span>span,
.c-forms__checkbox:where(:not(.is-mw))>span>span {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    line-height: 1.2
}

.c-forms__radio:where(:not(.is-mw))>span>span>span,
.c-forms__checkbox:where(:not(.is-mw))>span>span>span {
    width: calc(50% - 0.3125rem)
}

.c-forms__radio:where(:not(.is-mw)).is-vertical,
.c-forms__checkbox:where(:not(.is-mw)).is-vertical {
    flex-direction: column
}

.c-forms__radio:where(:not(.is-mw)).is-vertical>span>span>span,
.c-forms__checkbox:where(:not(.is-mw)).is-vertical>span>span>span {
    width: 100%
}

.c-forms__radio:where(.is-mw),
.c-forms__checkbox:where(.is-mw) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
    line-height: 1.2
}

.c-forms__radio:where(.is-mw)>span,
.c-forms__checkbox:where(.is-mw)>span {
    width: calc(50% - 0.3125rem)
}

.c-forms__radio:where(.is-mw).is-vertical,
.c-forms__checkbox:where(.is-mw).is-vertical {
    flex-direction: column
}

.c-forms__radio:where(.is-mw).is-vertical>span,
.c-forms__checkbox:where(.is-mw).is-vertical>span {
    width: 100%
}

.c-forms__radio label,
.c-forms__checkbox label {
    display: flex;
    align-items: center;
    cursor: pointer
}

.c-forms__radio label>span,
.c-forms__checkbox label>span {
    margin-left: 0.625rem
}

.c-forms__radio.is-border label,
.c-forms__checkbox.is-border label {
    border-radius: 4px;
    background-color: #fdfdff;
    background: #f6f5fb;
    padding: 0.75rem 1rem;
    border-radius: 3px;
    font-size: 0.875rem
}

.c-forms__radio.is-border label:focus,
.c-forms__radio.is-border label:active,
.c-forms__checkbox.is-border label:focus,
.c-forms__checkbox.is-border label:active {
    border-color: #F4C430
}

.c-forms__radio.is-design input,
.c-forms__checkbox.is-design input {
    cursor: pointer;
    border-color: #c4c7cd;
    flex-shrink: 0
}

.c-forms__radio.is-design input[type=radio],
.c-forms__radio.is-design input[type=checkbox],
.c-forms__checkbox.is-design input[type=radio],
.c-forms__checkbox.is-design input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fdfdff;
    border: 1px solid #c4c7cd;
    width: 1.25rem;
    height: 1.25rem;
    position: relative
}

.c-forms__radio.is-design input[type=radio]:checked::after,
.c-forms__radio.is-design input[type=checkbox]:checked::after,
.c-forms__checkbox.is-design input[type=radio]:checked::after,
.c-forms__checkbox.is-design input[type=checkbox]:checked::after {
    width: 100%;
    height: 100%;
    position: relative;
    top: 50%;
    left: -0.0625rem;
    transform: translateY(-50%);
    background-color: #fdfdff;
    content: "";
    display: inline-block;
    visibility: visible;
    border: 1px solid #F26A2E
}

.c-forms__radio.is-design input[type=radio]::after,
.c-forms__checkbox.is-design input[type=radio]::after {
    border-radius: 50%
}

.c-forms__radio.is-design input[type=radio]:checked::after,
.c-forms__checkbox.is-design input[type=radio]:checked::after {
    content: "";
    background: radial-gradient(#F26A2E 48%, #fdfdff 50%)
}

.c-forms__radio.is-design input[type=checkbox]:checked::after,
.c-forms__checkbox.is-design input[type=checkbox]:checked::after {
    content: "check";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    display: grid;
    place-content: center;
    background: #F26A2E;
    color: #fdfdff;
    font-size: 1.25rem
}

.c-forms__note {
    margin-top: 0.25rem;
    opacity: .6;
    font-size: 0.75rem
}

.c-forms__note small {
    font-size: inherit
}

.c-forms__privacy {
    margin-top: 1.5rem;
    text-align: center
}

.c-forms__privacy input {
    margin-right: 0.625rem
}

.c-forms__privacy a {
    font-weight: 400;
    color: #F4C430
}

.c-forms__flex-al {
    display: flex;
    align-items: flex-start;
    gap: 1rem
}

.c-forms__flex-al-label {
    flex-shrink: 0;
    width: 2rem;
    text-align: right;
    padding-top: calc((2.75rem - 1lh)/2)
}

.c-forms__flex-al-unit {
    flex-shrink: 0;
    padding-top: calc((2.75rem - 1lh)/2)
}

.c-forms__flexbox {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1rem;
    gap: 1rem
}

.c-forms__flexbox input {
    width: 100%
}

.c-forms__flexbox:last-child {
    margin-bottom: 0
}

.c-forms__flexbox-label {
    min-width: 7.5rem;
    display: block;
    padding-top: calc((2.75rem - 1lh)/2)
}

.c-forms__flexbox-label.is-sm {
    min-width: 4em
}

.c-forms__button {
    flex: none;
    max-width: 8.25rem;
    border: 1px solid #1A1A1A;
    outline: none;
    background-color: #fdfdff;
    padding: 0.25rem 0.75rem;
    display: block;
    text-align: center;
    border-radius: 2px;
    font-size: 0.875rem;
    margin-top: calc((2.75rem - 2.125rem)/2)
}

.c-forms__submit {
    text-align: center;
    margin-top: 2.5rem
}

.c-forms__submit__back {
    width: calc(25% - 1.75rem);
    margin-right: 0.875rem
}

.c-forms__submit__submit {
    width: calc(25% - 1.75rem);
    margin-left: 0.875rem
}

.c-forms-document-detail__images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem
}

.c-forms-document-detail__image {
    display: block;
    overflow: hidden;
    position: relative;
    background: #f6f5fb;
    aspect-ratio: 282/158;
    padding: 1rem
}

.c-forms-document-detail__image.swiper-slide {
    cursor: pointer
}

.c-forms-document-detail__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: contain;
    object-fit: contain;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-forms-document-detail__image .is-no {
    width: 100%;
    height: 100%;
    display: grid;
    place-content: center;
    font-size: 1.0625rem;
    color: rgba(0, 8, 26, .5)
}

.c-forms-document-detail__slider {
    margin-top: 1.5rem
}

.c-forms-document-detail__slider .swiper-nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10
}

.c-forms-document-detail__slider .swiper-nav .swiper-button-prev,
.c-forms-document-detail__slider .swiper-nav .swiper-button-next {
    position: relative;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-forms-document-detail__slider .swiper-nav .swiper-button-prev::after,
.c-forms-document-detail__slider .swiper-nav .swiper-button-next::after {
    content: "chevron_right";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    color: #F26A2E
}

.c-forms-document-detail__slider .swiper-nav .swiper-button-prev:after {
    transform: rotate(-180deg)
}

.c-gallery-logo {
    overflow: hidden
}

.c-gallery-logo__track {
    display: flex;
    gap: 2rem
}

.c-gallery-logo__image {
    position: relative;
    width: 15rem;
    max-width: 100%
}

.c-gallery-logo__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: contain;
    object-fit: contain;
    aspect-ratio: 160/64
}

.c-gallery-text {
    overflow: hidden
}

.c-gallery-text__track {
    display: flex;
    gap: 3rem
}

.c-gallery-text__item {
    flex-shrink: 0;
    color: rgba(0, 8, 26, .5);
    font-size: 6.25rem
}

.c-heading {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 700;
    line-height: 1.5
}

.c-heading.is-home .is-ja {
    color: var(--_section-text-color, #1A1A1A);
    font-size: 0.875rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.25rem
}

.c-heading.is-home .is-ja::before {
    content: "";
    display: block;
    width: 0.8125rem;
    height: 0.625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430;
    margin-top: 0.125rem
}

.c-heading.is-home .is-eng {
    color: var(--_section-text-color, #F26A2E);
    font-weight: 700;
    font-size: 5rem;
    font-size: clamp(1.5rem, 5.7142857143vw, 5rem);
    line-height: 1.5;
    margin-top: -0.625rem;
    display: block;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.c-heading.is-xxlg {
    font-size: 2.625rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 2rem
}

.c-heading.is-xlg {
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 3rem
}

.c-heading.is-xlg .is-eng {
    display: block;
    color: var(--_section-text-sub-color, #F26A2E);
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.25rem;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.c-heading.is-xlg span.is-sm {
    display: block;
    font-size: 1.25rem;
    font-weight: 600
}

.c-heading.is-xlg span.is-lg {
    display: block;
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6
}

.c-heading.is-lg {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.5rem
}

.c-heading.is-md {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 2rem
}

.c-heading.is-sm {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 1rem
}

.c-heading.is-xs {
    font-size: 1.25rem;
    font-weight: 600
}

.c-heading.is-xxs {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 2.5rem
}

.c-heading.is-xxs:where(:has(.is-number)) {
    display: flex;
    gap: 1rem;
    align-items: center
}

.c-heading.is-xxs .is-number {
    --_paren-w: 0.375rem;
    --_paren-color: var(--_section-text-color, #F26A2E);
    font-size: 1.25rem;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    font-weight: 600;
    line-height: 1.5;
    flex-shrink: 0;
    color: var(--paren-color, #F26A2E);
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.c-heading.is-xxs .is-number::before,
.c-heading.is-xxs .is-number::after {
    content: "";
    width: var(--_paren-w, 0.25rem);
    aspect-ratio: 4/18;
    -webkit-mask: url(../images/icon-paren-left.svg) no-repeat center center/contain;
    mask: url(../images/icon-paren-left.svg) no-repeat center center/contain;
    background-color: var(--paren-color, #F26A2E)
}

.c-heading.is-xxs .is-number::after {
    -webkit-mask-image: url(../images/icon-paren-right.svg);
    mask-image: url(../images/icon-paren-right.svg)
}

.c-heading.is-color-primary {
    color: #F26A2E
}

.c-heading.is-color-white {
    color: #fdfdff
}

.c-heading.is-color-white .is-ja,
.c-heading.is-color-white .is-eng {
    color: var(--_section-text-color, #fdfdff)
}

.c-heading.is-base-color {
    color: #1A1A1A
}

.c-heading.is-top {
    margin-bottom: 0 !important
}

.c-heading.is-bottom {
    margin-top: 0 !important
}

.c-heading.is-center {
    text-align: center
}

.c-heading.is-mg-level-1 {
    margin-bottom: 3.5rem
}

.c-heading.is-mg-level-2 {
    margin-bottom: 3rem
}

.c-heading.is-mg-level-3 {
    margin-bottom: 2.5rem
}

.c-heading.is-mg-level-4 {
    margin-bottom: 2rem
}

.c-heading.is-mg-level-5 {
    margin-bottom: 1.5rem
}

.c-heading.is-mg-level-6 {
    margin-bottom: 1rem
}

.c-heading.is-mg-none {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.c-hero-block__item {
    margin-top: 9.375rem;
    display: flex;
    flex-direction: row-reverse
}

.c-hero-block__item:nth-child(even) {
    flex-direction: row
}

.c-hero-block__item:nth-child(even) .c-hero-block__item-image {
    margin-left: -1.5rem;
    margin-right: auto
}

.c-hero-block__item:first-child {
    margin-top: 0
}

.c-hero-block__item-image {
    flex-shrink: 0;
    width: 49.7457627119%;
    margin-left: auto;
    margin-right: -1.5rem
}

.c-hero-block__item-text {
    margin-top: 2.5rem
}

.c-hero-block__item-button {
    margin-top: 3rem
}

.c-hero-block-square__block {
    position: relative
}

.c-hero-block-square__image {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    height: 100%;
    min-height: 25rem;
    overflow: hidden
}

.c-hero-block-square__image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    min-width: 100%;
    max-width: inherit
}

.c-hero-block-square__content {
    width: 50%;
    margin-left: auto;
    padding: 3.5rem 0 3.5rem 4rem;
    display: flex;
    min-height: 25rem;
    align-items: center
}

.c-hero-block-square__button {
    margin-top: 2rem
}

.c-hero-block-square__block:nth-child(even) .c-hero-block-square__image,
.c-hero-block-square__block.is-reverse .c-hero-block-square__image {
    left: auto;
    right: 0
}

.c-hero-block-square__block:nth-child(even) .c-hero-block-square__content,
.c-hero-block-square__block.is-reverse .c-hero-block-square__content {
    margin-left: 0;
    padding: 3.5rem 4rem 3.5rem 0
}

.c-hero-block-square.is-number .c-hero-block-square__heading {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem
}

.c-hero-block-square.is-number .c-hero-block-square__heading span {
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: 3.75rem;
    line-height: 1.1833333333;
    letter-spacing: 0;
    color: #F26A2E;
    margin-right: 1rem
}

.c-hero-block-square.is-number .c-hero-block-square__heading .c-heading {
    margin-bottom: 0
}

.c-hero-block-square.is-zigzag .c-hero-block-square__block {
    margin-bottom: 5rem
}

.c-hero-block-square.is-zigzag .c-hero-block-square__image {
    width: 51.2857142857%
}

.c-hero-block-square.is-zigzag .c-hero-block-square__content {
    width: 48.2456140351%;
    padding-top: 0;
    padding-bottom: 0;
    display: block
}

.c-hero-block-square.is-zigzag .c-hero-block-square__title {
    margin-top: 0;
    margin-bottom: 1.5rem
}

.c-hero-block-square.is-zigzag .c-hero-block-square__question {
    margin-bottom: 1.5rem
}

hr,
.c-hr {
    border: none;
    border-top: 1px solid #c4c7cd;
    box-shadow: none;
    margin: 3rem auto
}

hr.is-border-dotted,
.c-hr.is-border-dotted {
    border-top: 1px dotted #c4c7cd
}

hr.is-line-double,
.c-hr.is-line-double {
    border-bottom: 1px solid #c4c7cd;
    height: 0.125rem
}

.c-icon-font {
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.c-icon-font.is-outlined {
    font-family: "Material Icons Outlined"
}

.c-interview-header {
    margin-bottom: 2.5rem;
    z-index: 4;
    position: relative
}

.c-interview-header__numbers {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 2rem
}

.c-interview-header__numbers .is-number {
    font-size: 1.125rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 600;
    color: #F26A2E
}

.c-interview-header__numbers .is-text {
    display: block;
    font-size: 1.5rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #F26A2E
}

.c-interview-header__title {
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6;
    color: #F26A2E
}

.c-interview-header__sup {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
    font-size: 1rem;
    line-height: 1.625
}

.c-interview-header__thumbnail {
    margin-top: 2.5rem;
    border-radius: .5rem;
    overflow: hidden
}

.c-label {
    background-color: #F26A2E;
    color: #fdfdff;
    display: inline-block;
    text-align: center;
    min-width: 7.25rem;
    padding: 0.0625rem 0.5rem;
    border: 1px solid #F26A2E;
    font-size: .875rem;
    line-height: 1.4285714286;
    font-weight: 700
}

.c-label.is-xlg {
    min-width: 9.75rem;
    font-size: 0.875rem;
    padding: 0.1875rem 0.5rem
}

.c-label.is-lg {
    min-width: 10rem;
    font-size: 0.8125rem
}

.c-label.is-sm {
    min-width: 5rem;
    font-size: 0.75rem;
    padding: 0 0.5rem
}

.c-label.is-white {
    background-color: #fdfdff;
    color: #F26A2E
}

.c-label.is-secondary {
    background: #F4C430;
    color: #1A1A1A
}

.c-label.is-radius {
    border-radius: 100px
}

.c-lang-selector {
    position: relative
}

.c-lang-selector__trigger {
    display: flex;
    gap: min(.25rem, .2857142857vw);
    align-items: center;
    cursor: pointer;
    background: none;
    border: solid 1px #c4c7cd;
    border-radius: 100px;
    font-size: inherit;
    padding: 0.25rem 0.5rem
}

.c-lang-selector__trigger::before {
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    content: "language"
}

.c-lang-selector__content {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
    min-width: 7.5rem;
    z-index: 100
}

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

.c-lang-selector__item:not(:last-child) {
    border-bottom: 1px solid #eee
}

.c-lang-selector__link {
    display: block;
    text-decoration: none;
    padding: 0.5rem 1rem
}

.c-lang-selector__link.is-current {
    background-color: #f6f5fb
}

.c-lead {
    text-align: center
}

.c-list {
    list-style: none;
    line-height: 1.7
}

.c-list ol,
.c-list ul {
    margin-top: 0.5rem
}

.c-list li+li {
    margin-top: 0.5rem
}

.c-list li {
    position: relative
}

.c-list li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-content: center
}

.c-list>li li {
    font-weight: 400
}

.c-list.is-icon {
    --_icon-size: 0.25rem
}

.c-list.is-icon>li {
    padding-left: 0.75rem;
    position: relative
}

.c-list.is-icon>li::before {
    content: "";
    width: var(--_icon-size);
    aspect-ratio: 1/1;
    background: #F4C430;
    border-radius: 50%;
    top: calc(.5lh - var(--_icon-size)/2);
    left: 0;
    position: absolute
}

.c-list.is-icon ul>li {
    padding-left: 0.75rem
}

.c-list.is-icon ul>li::before {
    content: "";
    width: var(--_icon-size);
    aspect-ratio: 1/1;
    background: #c4c7cd;
    border-radius: 50%;
    top: calc(.5lh - var(--_icon-size)/2);
    left: 0;
    position: absolute
}

.c-list.is-outline {
    counter-reset: list-counter;
    padding-left: 1rem
}

.c-list.is-outline>li {
    padding-left: 0
}

.c-list.is-outline>li::before {
    content: counter(list-counter) ".";
    counter-increment: list-counter;
    height: 1lh;
    transform: translateX(-100%)
}

.c-list.is-outline ol {
    counter-reset: list-counter;
    padding-left: 1rem
}

.c-list.is-outline ol>li {
    padding-left: 0
}

.c-list.is-outline ol>li::before {
    content: counter(list-counter) ".";
    counter-increment: list-counter;
    height: 1lh;
    transform: translateX(-100%)
}

.c-loader {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100vw;
    height: 100vh;
    background: #fdfdff;
    z-index: 99999;
    transition-property: opacity, visibility;
    transition-timing-function: ease;
    transition-duration: 1s
}

.c-loader__container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-loader__title {
    font-size: 2.5rem;
    line-height: 1.25;
    --letter-spacing: 0.1em;
    font-weight: bold;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    opacity: 0;
    color: #F26A2E;
    transition-property: opacity, visibility;
    transition-timing-function: ease;
    transition-duration: 1s
}

.c-loader.is-active .c-loader__title {
    opacity: 1
}

.c-loader.is-close {
    opacity: 0
}

.c-loader.is-hidden {
    visibility: hidden
}

.c-loader.is-already {
    opacity: 0;
    visibility: hidden;
    display: none
}

.c-main-visual {
    width: 100%;
    height: 100svh;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.c-main-visual__image {
    width: 100%;
    height: 100%
}

.c-main-visual__image video {
    width: 100%;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-main-visual__wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    z-index: 20;
    padding: 0 2.25rem min(1.625rem, 1.8571428571vw)
}

.c-main-visual__title img {
    filter: drop-shadow(0 0 1rem rgba(0, 78, 162, 0.2))
}

.c-main-visual__title .is-sm {
    display: block;
    margin-bottom: 1.25rem;
    line-height: 0
}

.c-main-visual__title .is-lg {
    display: block;
    line-height: 0;
    width: 100%
}

.c-main-visual__title .is-lg img {
    width: 100%
}

.c-mm {
    display: none
}

.c-mm__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 78, 162, .3);
    -webkit-backdrop-filter: blur(0.75rem);
    backdrop-filter: blur(0.75rem);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999
}

.c-mm__close {
    width: 8.3125rem;
    height: 2.375rem;
    background: #fdfdff;
    border: 0;
    font-size: 0.8125rem;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: .5rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-mm__close-icon {
    background: #F4C430;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 100px;
    transition: inherit
}

.c-mm__close-icon::before {
    content: "";
    transition: inherit;
    width: 0.4375rem;
    height: 0.4375rem;
    background: #fdfdff;
    -webkit-mask: url(../images/icon-close.svg) no-repeat center center/contain;
    mask: url(../images/icon-close.svg) no-repeat center center/contain
}

.c-mm__container {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: min(71.25rem, 90%);
    height: auto;
    max-height: min(43.75rem, 90%);
    border-radius: 16px;
    box-sizing: border-box;
    position: relative;
    z-index: 9999
}

.c-mm .c-mm__container-inner {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%
}

.c-mm .c-mm__content {
    overflow-y: auto;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    height: 100%;
    max-height: calc(100vh - 6.25rem);
    border-radius: 4px;
    background: #fdfdff
}

.c-mm.is-open {
    display: block
}

.c-mm.is-open .c-mm__overlay {
    animation: fadeIn .3s cubic-bezier(0, 0, 0.2, 1)
}

.c-mm.is-open .c-mm__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, 0.2, 1)
}

.c-mm.is-open[aria-hidden=true] .c-mm__overlay {
    animation: fadeOut .3s cubic-bezier(0, 0, 0.2, 1)
}

.c-mm.is-open[aria-hidden=true] .c-mm__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, 0.2, 1)
}

.c-mm__img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-height: calc(100vh - 6.25rem)
}

.c-mm__iframe {
    width: 100%;
    height: 50rem;
    max-height: 100%;
    display: block;
    border: none
}

.c-mm__video,
.c-mm__iframe--yt {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto
}

.c-mm__gallery-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto
}

.c-mm__gallery-btn {
    background-color: rgba(0, 0, 0, 0);
    height: 2.75rem;
    width: 2.75rem;
    color: #7c7f84;
    font-size: 2.75rem;
    transition: color .3s ease;
    border: none;
    padding: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto
}

.c-mm__gallery-btn::before {
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.c-mm__gallery-btn:disabled {
    opacity: 0;
    pointer-events: none
}

.c-mm__gallery-btn--prev {
    left: -1rem
}

.c-mm__gallery-btn--prev::before {
    content: "chevron_left"
}

.c-mm__gallery-btn--next {
    right: -1rem
}

.c-mm__gallery-btn--next::before {
    content: "chevron_right"
}

@keyframes mmslideIn {
    from {
        transform: translateY(15%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes mmslideOut {
    from {
        transform: translateY(0)
    }

    to {
        transform: translateY(-10%)
    }
}

.c-modal-link {
    position: relative;
    cursor: pointer;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-modal-link:after {
    content: "search";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    background: #F26A2E;
    color: #fdfdff
}

.c-news-header {
    margin-bottom: 2rem
}

.c-news-header__nav {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    font-weight: 600;
    gap: .625rem
}

.c-news-header__title {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    margin-top: 0
}

.c-news-header__sup {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem
}

.c-news-header__label {
    font-size: 0.75rem;
    color: #F26A2E;
    background-color: #f6f5fb;
    line-height: normal;
    padding: 0.25rem 0.25rem;
    border-radius: 2px;
    text-align: center;
    min-width: 4.375rem
}

.c-news-header__date {
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #7c7f84;
    --letter-spacing: 0.05em;
    line-height: 1.5
}

.c-news-header__tag ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem
}

.c-news-header__tag ul li a {
    text-decoration: none;
    font-weight: 400;
    font-size: 0.875rem;
    display: block
}

.c-news__columns {
    display: grid;
    grid-template-columns: 3fr 9fr;
    gap: 2.25rem
}

.c-news__button {
    margin-top: 3.5rem
}

.c-news__block {
    text-decoration: none;
    color: #1A1A1A;
    font-weight: 400;
    border-top: 1px solid #eeeef4;
    display: flex;
    align-items: center;
    gap: 0 2.5rem;
    padding: 1.5rem 1rem
}

.c-news__block-content {
    display: flex;
    align-items: center;
    gap: 0 1.5rem;
    flex-grow: 1
}

.c-news__block-content:has(.c-news__block-excerpt) {
    align-items: baseline
}

.c-news__block-content-inner {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem
}

.c-news__block-image {
    flex-shrink: 0;
    width: 7rem;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 4px
}

.c-news__block-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-news__block-data {
    width: 5.2rem; !important
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem
}

.c-news__block-date {
    flex-shrink: 0;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #7c7f84;
    --letter-spacing: 0.05em;
    line-height: 1.5;
    font-size: 0.8125rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem
}

.c-news__block-label {
    font-size: 0.75rem;
    color: #F26A2E;
    background-color: #f6f5fb;
    line-height: normal;
    padding: 0.25rem 0.25rem;
    border-radius: 2px;
    text-align: center;
    min-width: 4.375rem
}

.c-news__block-text {
    flex-grow: 1;
    font-weight: 600;
    font-size: 0.875rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.5
}

.c-news__block-icon {
    flex-shrink: 0;
    align-self: center;
    text-align: center;
    width: 2rem
}

.c-page-header-line {
    position: absolute;
    top: 0;
    right: 0;
    width: 100svw;
    pointer-events: none;
    z-index: 3
}

.c-page-header-line img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-page-lead.is-border-bottom {
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
    border-bottom: 1px solid #c4c7cd
}

.c-page-lead__title {
    margin-bottom: 0.25rem;
    text-align: center
}

.c-page-lead__copy {
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 2rem;
    text-align: center
}

.c-page-lead__text {
    font-size: 1rem;
    text-align: center
}

.c-page-middle-line {
    position: absolute;
    bottom: 20%;
    margin: auto;
    width: 100svw;
    max-width: 87.5rem
}

.c-page-middle-line img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-pagetop {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-pagetop.is-fixed {
    opacity: 1;
    visibility: visible
}

.c-pagetop.is-absolute {
    position: absolute;
    opacity: 1
}

.c-pagetop a,
.c-pagetop button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.125rem;
    height: 3.125rem;
    color: #fdfdff;
    background: #1A1A1A;
    box-shadow: 0 0 10px rgba(0, 8, 26, .1);
    text-decoration: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    font-size: 1.5625rem;
    line-height: 1;
    border: 1px solid #1A1A1A
}

.c-pagetop a:after,
.c-pagetop button:after {
    content: "expand_less";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.c-pagination {
    margin-top: 2.5rem
}

.c-pagination :where(li) {
    order: 2
}

.c-pagination__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.5rem
}

.c-pagination__num {
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: 1rem;
    letter-spacing: 0;
    display: grid;
    place-items: center;
    width: 2.9375rem;
    aspect-ratio: 1;
    font-weight: 400;
    text-decoration: none;
    border-radius: 2px;
    color: #1A1A1A;
    border: 1px solid #f6f5fb;
    background-color: #f6f5fb
}

.c-pagination__num.is-current {
    color: #F26A2E;
    border-color: #F26A2E
}

.c-pagination__num.is-dot {
    font-family: "Noto Sans JP Variable", sans-serif;
    background: rgba(0, 0, 0, 0);
    border-color: rgba(0, 0, 0, 0);
    color: #1A1A1A;
    width: auto;
    box-shadow: none
}

.c-pagination__num.is-dot::after {
    content: "";
    width: 1rem;
    height: 0.0625rem;
    background-color: #7c7f84;
    display: block
}

.c-pagination__prev {
    display: none
}

.c-pagination__next {
    order: 1;
    width: 100%;
    -webkit-text-emphasis: none;
    text-emphasis: none;
    margin-bottom: 1.5rem;
    text-align: center
}

.c-pagination.is-align-left .c-pagination__list {
    justify-content: flex-start
}

.c-post-navs {
    margin: 4rem 0 0
}

.c-post-navs ul {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.c-post-navs li {
    width: 100%
}

.c-post-navs .c-post-navs__prev {
    margin-right: auto
}

.c-post-navs .c-post-navs__archive {
    text-align: center;
    max-width: 25rem;
    margin: auto
}

.c-post-navs .c-post-navs__archive a {
    align-items: center;
    margin: auto
}

.c-post-navs .c-post-navs__archive a::after {
    display: none
}

.c-post-navs .c-post-navs__archive a span {
    font-size: 1rem;
    margin-right: 0.75rem
}

.c-post-navs .c-post-navs__next {
    margin-left: auto
}

.c-post-navs .c-post-navs__next a {
    margin-left: auto
}

.c-recruit-relation.is-absolute {
    margin-top: -12.5rem;
    position: relative;
    z-index: 2
}

.c-recruit-relation__link {
    display: block;
    border-radius: 1rem;
    overflow: hidden;
    padding: 5.625rem 6.7796610169%;
    position: relative
}

.c-recruit-relation__link-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.c-recruit-relation__link-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.c-recruit-relation__link-content {
    position: relative;
    z-index: 1;
    gap: 16.0784313725%;
    display: grid;
    grid-template-columns: 344fr fit-content(100%)
}

.c-recruit-relation__link-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: .625rem;
    font-size: 1.25rem;
    line-height: 1.7;
    font-weight: 700;
    color: #fdfdff
}

.c-recruit-relation__link-title::before {
    content: "";
    display: block;
    width: .8125rem;
    height: .625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #fdfdff
}

.c-recruit-relation__link-text {
    margin-top: .75rem;
    color: #fdfdff
}

.c-recruit-relation__link-button {
    font-size: 3.375rem;
    line-height: 1.5555555556;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 2rem;
    color: #fdfdff
}

.c-recruit-search__block {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #c4c7cd;
    display: flex;
    gap: 1.5rem
}

.c-recruit-search__block:not(:first-child) {
    margin-top: 1.625rem
}

.c-recruit-search__block[data-open] .c-recruit-search__title::after {
    content: "expand_less"
}

.c-recruit-search__title {
    font-size: 1.125rem;
    line-height: 1.7222222222;
    font-weight: 700;
    min-width: 4.75rem;
    position: relative;
    display: flex;
    align-items: center
}

.c-recruit-search__title::after {
    content: "expand_more";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 1.5rem;
    height: 1.5rem;
    display: none
}

.c-recruit-search__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.c-recruit-search__item label {
    position: relative;
    cursor: pointer;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.c-recruit-search__item label:has(input:checked) span {
    background: #F4C430;
    color: #fdfdff;
    border-color: #F4C430
}

.c-recruit-search__item label:has(input:checked) span::before {
    opacity: 1
}

.c-recruit-search__item label:hover {
    opacity: 1
}

.c-recruit-search__item label:hover span {
    background: #fdfdff;
    color: #F4C430;
    border-color: #F4C430
}

.c-recruit-search__item input {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: -1;
    opacity: 0
}

.c-recruit-search__item span {
    display: flex;
    align-items: center;
    gap: .25rem;
    font-size: .875rem;
    line-height: 1.7142857143;
    font-weight: 700;
    border-radius: .5rem;
    padding: .25rem 2rem .25rem 1.375rem;
    border: 1px solid #eeeef4;
    background: #eeeef4;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    position: relative
}

.c-recruit-search__item span::before {
    content: "";
    display: block;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background: #fdfdff;
    opacity: 0
}

.c-recruit-search__submit {
    text-align: center;
    max-width: 25rem;
    margin: 2.5rem auto 0
}

.c-relation__title.c-heading.is-sm {
    margin-bottom: 2.5rem
}

.c-relation__buttons {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.125rem
}

.c-relation__buttons.is-center {
    justify-content: center
}

.c-relation__button {
    width: calc(33.3% - 2.25rem);
    margin: 0 1.125rem
}

.c-relation__button:nth-child(n+4) {
    margin-top: 2.25rem
}

.c-relation__button .c-button {
    max-width: 100%
}

.c-relation__button .c-button.is-current {
    pointer-events: none;
    background: #fdfdff;
    color: #F26A2E;
    border-color: #F26A2E
}

.c-scrollable img,
.c-scrollable table {
    min-width: 46.875rem
}

.c-scrollable .scroll-hint-icon {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto !important
}

.c-sitemap__item:not(:last-child) {
    margin-bottom: 1.25rem
}

.c-sitemap__item a {
    text-decoration: none;
    font-size: 1.25rem;
    line-height: 1.6;
    --letter-spacing: 0em;
    font-weight: bold;
    color: #1A1A1A;
    position: relative;
    padding-bottom: 0.625rem;
    border-bottom: 2px solid #c4c7cd;
    display: block
}

.c-sitemap__item a.is-outlink:after {
    color: #F26A2E;
    margin-left: 0.875rem;
    vertical-align: middle
}

.c-sitemap__item.is-parent {
    margin-bottom: 2.5rem
}

.c-sitemap__flex {
    display: flex;
    align-items: flex-start
}

.c-sitemap__sublist {
    display: flex;
    flex-wrap: wrap;
    margin-top: 2.25rem
}

.c-sitemap__sublist.is-three-col {
    width: 75%
}

.c-sitemap__sublist.is-three-col .c-sitemap__subitem {
    width: 33.3%
}

.c-sitemap__sublist.is-one-col {
    width: 25%
}

.c-sitemap__sublist.is-one-col .c-block-sitemap__subitem {
    width: 100%
}

.c-sitemap__subitem {
    width: 25%;
    margin-bottom: 1.25rem;
    padding-right: 0.625rem
}

.c-sitemap__subitem a {
    font-size: 1rem;
    line-height: 1.5625;
    --letter-spacing: 0em;
    font-weight: normal;
    border-bottom: none;
    padding: 0
}

.c-sitemap__subitem ul {
    margin-top: 1.25rem
}

.c-sitemap__subitem li a {
    font-size: .8125rem;
    line-height: 2.1538461538;
    --letter-spacing: 0em;
    font-weight: normal
}

.c-sitemap__subitem li a:before {
    content: "-";
    display: inline-block
}

.c-slidebar-button {
    position: fixed;
    top: 1rem;
    right: 1.125rem;
    text-align: center;
    font-size: 0.75rem;
    z-index: 9999;
    text-decoration: none;
    background-color: #dfe5f2;
    color: #F26A2E;
    width: 7.3125rem;
    height: 2.5rem;
    border: none;
    border-radius: 3px
}

.c-slidebar-button__inner {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: 1rem;
    position: absolute;
    inset: 0;
    place-content: center;
    padding: 0 1rem
}

.c-slidebar-button__line {
    position: relative;
    width: 1.1875rem;
    height: 0.0625rem;
    background-color: #F26A2E;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease-out;
    transition-duration: .2s;
    place-self: center
}

.c-slidebar-button__line::before,
.c-slidebar-button__line::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    transition: inherit;
    right: 0
}

.c-slidebar-button__line::before {
    width: 0.6875rem;
    top: -0.3125rem;
    background-color: #F26A2E
}

.c-slidebar-button__line::after {
    width: 1.625rem;
    top: 0.3125rem;
    background-color: #F4C430
}

.is-slidebar-active .c-slidebar-button__line {
    background-color: rgba(0, 0, 0, 0)
}

.is-slidebar-active .c-slidebar-button__line::before,
.is-slidebar-active .c-slidebar-button__line::after {
    top: 0;
    width: 1.625rem
}

.is-slidebar-active .c-slidebar-button__line::before {
    transform: rotate(17deg);
    background-color: #F26A2E
}

.is-slidebar-active .c-slidebar-button__line::after {
    transform: rotate(-17deg);
    background-color: #F26A2E
}

.c-slidebar-button__text {
    font-size: 0.72rem;
    letter-spacing: .02em;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 600;
    line-height: 1;
    display: block;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .2s
}

.c-slidebar-button__text.is-close {
    display: none
}

.is-slidebar-active .c-slidebar-button__text {
    display: none
}

.is-slidebar-active .c-slidebar-button__text.is-close {
    display: block
}

.c-slidebar-menu {
    height: 100dvh;
    padding: 4.5rem 0 0;
    position: fixed;
    background-color: #f6f5fb;
    z-index: 9980;
    width: 100%;
    transform: translate3d(0, -100%, 0);
    opacity: 0;
    right: 0;
    top: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease-in-out;
    transition-duration: .2s
}

.c-slidebar-menu.is-active {
    height: calc(100% - 3.75rem)
}

.c-slidebar-menu__inner {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2rem;
    height: 100%
}

.c-slidebar-menu__list {
    width: 100%;
    font-size: 0.9375rem;
    font-weight: 600;
    padding-top: 0.25rem
}

:where(.c-slidebar-menu__list) a,
:where(.c-slidebar-menu__list) span,
:where(.c-slidebar-menu__list) summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
    position: relative
}

:where(.c-slidebar-menu__list) a::after,
:where(.c-slidebar-menu__list) span::after,
:where(.c-slidebar-menu__list) summary::after {
    content: "";
    -webkit-mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    mask: url(../images/icon-arrow.svg) no-repeat center center/contain;
    width: 0.75rem;
    height: 0.75rem;
    background-color: #1A1A1A
}

:where(.c-slidebar-menu__list) a:where([target=_blank])::after,
:where(.c-slidebar-menu__list) span:where([target=_blank])::after,
:where(.c-slidebar-menu__list) summary:where([target=_blank])::after {
    rotate: -45deg
}

:where(.c-slidebar-menu__list) summary::-webkit-details-marker {
    display: none
}

.c-slidebar-menu__list [data-accordion-title]::after {
    -webkit-mask-image: url(../images/icon-slidebar-plus.svg);
    mask-image: url(../images/icon-slidebar-plus.svg)
}

.c-slidebar-menu__list [open]>[data-accordion-title]::after {
    -webkit-mask-image: url(../images/icon-slidebar-minus.svg);
    mask-image: url(../images/icon-slidebar-minus.svg);
    background-color: #F26A2E
}

.c-slidebar-menu__parent {
    color: #1A1A1A;
    border-bottom: solid 1px #F4C430
}

.c-slidebar-menu__parent-link {
    cursor: pointer;
    padding: 0.875rem 0.5rem 0.875rem 0.5rem
}

.c-slidebar-menu__children {
    font-size: 0.875rem;
    font-weight: 400;
    width: 100%;
    margin-top: -0.25rem;
    padding-bottom: 1.125rem;
    display: none
}

.c-slidebar-menu__child {
    margin-bottom: 0.25rem
}

.c-slidebar-menu__child-link {
    padding: 0.375rem 0.5rem 0.375rem 0.5rem
}

.c-slidebar-menu__child-link::after {
    content: none
}

.c-slidebar-menu__grandchildren {
    font-size: 0.75rem;
    font-weight: 400;
    width: 100%;
    display: none;
    border-top: solid 1px #c4c7cd;
    padding-left: 1.625rem
}

.c-slidebar-menu__grandchild {
    border-top: solid 1px #c4c7cd
}

.c-slidebar-menu__grandchild:first-child {
    border-top: 0
}

.c-slidebar-menu__grandchild-link {
    padding: 0.75rem 2.5rem 0.75rem 0
}

.c-slidebar-menu__buttons {
    margin-top: 1.5rem;
    display: flex;
    gap: 0.4375rem
}

.c-slidebar-menu__button {
    display: flex;
    width: 100%;
    height: 3.5rem;
    font-weight: 600;
    font-size: 1rem;
    color: #F26A2E;
    border: 1px solid #F26A2E;
    background-color: #fdfdff;
    align-items: center;
    text-align: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 8px
}

.c-slidebar-menu__button.is-primary {
    color: #fdfdff;
    background-color: #F26A2E
}

.c-slidebar-menu__button .is-eng {
    font-size: 1.125rem;
    font-weight: 400;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.is-slidebar-active .c-slidebar-menu {
    transform: translate3d(0, 0, 0);
    opacity: 1
}

.c-slidebar-menu:not(.is-recruit) .is-recruit-slidebar {
    display: none
}

.c-slidebar-menu.is-recruit .is-normal-slidebar {
    display: none
}

.c-table {
    width: 100%
}

.c-table thead {
    border: 0
}

.c-table th,
.c-table td {
    border: 0
}

.c-table tr:first-child th {
    border-top: 1px solid #F26A2E
}

.c-table tr:first-child td {
    border-top: 1px solid #c4c7cd
}

.c-table th,
.c-table td {
    text-align: left;
    border-bottom: 1px solid #c4c7cd;
    padding: 2rem 0 2rem 0.5rem;
    vertical-align: top
}

.c-table th {
    font-weight: 600;
    border-bottom: 1px solid #F26A2E
}

.c-table tbody th {
    width: 10.625rem
}

.c-table tbody th.is-vertical-middle {
    vertical-align: middle
}

.c-table:where(.is-sm) {
    font-size: 0.8125rem
}

.c-table:where(.is-sm) tr:first-child th {
    border-top: 0
}

.c-table:where(.is-sm) tr:first-child td {
    border-top: 0
}

.c-table:where(.is-sm) tbody th,
.c-table:where(.is-sm) tbody td {
    padding: 0.4375rem 0.5rem
}

.c-table:where(.is-sm) tbody th {
    width: 12.25rem
}

.c-table .list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.c-table .item {
    display: flex;
    align-items: center;
    padding-bottom: .5rem;
    border-bottom: 1px solid #c4c7cd
}

.c-table .item:last-child {
    border-bottom: none
}

.c-table .item-button {
    margin-left: auto
}

.c-tabs__navs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem
}

.c-tabs__navs li {
    width: 100%
}

.c-tabs__navs a {
    background: #f6f5fb;
    border: 1px solid #f6f5fb;
    color: #1A1A1A;
    text-align: center;
    text-decoration: none;
    display: block;
    padding: 0.6875rem 1.5rem;
    position: relative;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    border-radius: 8px;
    font-weight: 700
}

.c-tabs__navs a.is-active {
    background-color: #F4C430;
    color: #fdfdff;
    pointer-events: none
}

.c-tabs__content {
    display: none;
    visibility: hidden;
    position: absolute;
    z-index: -1;
    opacity: 0;
    animation: fadeIn .8s forwards
}

.c-tabs__content.is-active {
    display: block;
    position: static;
    visibility: visible;
    opacity: 1;
    margin-top: 5rem
}

.c-tabs.is-index .c-tabs__navs li {
    width: inherit;
    min-width: 10rem;
    border-width: 1px;
    border-bottom: none;
    margin: 0 0.5rem 0 0
}

.c-tabs.is-index a {
    font-size: 0.875rem;
    letter-spacing: .1em
}

.c-tabs.is-index a::after {
    display: none
}

.p-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14.1875rem, 1fr));
    gap: 1.5rem
}

.p-benefits__item {
    border-radius: .5rem;
    overflow: hidden;
    padding: 1.5rem;
    background: #f6f5fb;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.375rem
}

.p-benefits__item-icon {
    width: 3.5rem;
    margin-left: auto
}

.p-benefits__item-title {
    font-size: 1rem;
    font-weight: 600;
    min-height: 3.375rem;
    display: flex;
    align-items: flex-end
}

.p-company-access {
    border-top: 1px solid #c4c7cd
}

.p-company-access__item {
    padding: 3rem 0;
    border-bottom: 1px solid #c4c7cd
}

.p-company-access__item:has(.p-company-access__item-image) {
    display: grid;
    grid-template-columns: 494fr 320fr;
    gap: 2.75rem
}

.p-company-access__item-head {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding-bottom: 2rem
}

.p-company-access__item-button {
    margin-left: auto
}

.p-company-access__item-table table.c-table tbody tr:last-child th,
.p-company-access__item-table table.c-table tbody tr:last-child td {
    border-bottom: none
}

.p-company-access__item-image {
    height: 100%;
    aspect-ratio: 1
}

.p-company-access__item-image iframe {
    width: 100%;
    height: 100%
}

.p-company-access__item-sp-button {
    display: none
}

.p-company-greeting__text {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.p-company-greeting__names {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem
}

.p-company-greeting__name-post {
    font-size: 1rem;
    font-weight: 600
}

.p-company-greeting__name-name {
    font-size: 1.25rem;
    font-weight: 600
}

.p-company-philosophy__item {
    display: grid;
    grid-template-columns: 240fr 618fr;
    border-top: 1px solid #c4c7cd;
    padding: 3.125rem 0
}

.p-company-philosophy__item:last-child {
    border-bottom: 1px solid #c4c7cd
}

.p-company-philosophy__item-title {
    position: relative;
    font-size: 1rem;
    font-weight: 700;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #F26A2E;
    position: relative;
    display: flex;
    align-items: center;
    gap: .25rem;
    align-self: flex-start
}

.p-company-philosophy__item-title::before {
    content: "";
    display: block;
    width: .8125rem;
    height: .625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430
}

.p-company-philosophy__item-text {
    display: flex;
    flex-direction: column;
    gap: 1.875rem
}

.p-company-philosophy__item-text span.is-text {
    display: block;
    font-size: 1.5rem;
    font-weight: 600
}

.p-company-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 1.5rem
}

.p-company-products__item-image {
    border-radius: .25rem;
    overflow: hidden
}

.p-company-products__item-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-company-products__item-text {
    margin-top: .5rem;
    font-weight: 700
}

.p-custom-broker {
    display: grid;
    grid-template-columns: 580fr 480fr;
    gap: 10%
}

.p-custom-broker__sub-title {
    margin-bottom: .25rem
}

.p-custom-broker__text {
    margin-top: 2rem
}

.p-custom-broker__image img {
    border-radius: 1rem;
    overflow: hidden;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 1
}

.p-equipment:not(:last-child) {
    margin-bottom: 5rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid #c4c7cd
}

.p-equipment:has(.p-equipment__single-image),
.p-equipment:has(.p-equipment__main-images) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem
}

.p-equipment__main-images .p-equipment__image {
    background: #e4f6fd;
    border-radius: .25rem;
    overflow: hidden
}

.p-equipment__main-images img {
    aspect-ratio: 566/323;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: contain;
    object-fit: contain
}

.p-equipment__thumbsnail-images {
    margin-top: 1rem
}

.p-equipment__thumbsnail-images .p-equipment__image {
    width: 18.0212014134%;
    cursor: pointer
}

.p-equipment__thumbsnail-images .p-equipment__image img {
    aspect-ratio: 102/61;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-equipment__single-image {
    background: #e4f6fd;
    border-radius: .25rem;
    overflow: hidden
}

.p-equipment__single-image img {
    aspect-ratio: 566/323;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: contain;
    object-fit: contain
}

.p-equipment__content.is-active .p-equipment__table tr {
    display: table-row !important
}

.p-equipment__content.is-active .p-equipment__toggle-button button {
    background: #fdfdff;
    color: #F26A2E
}

.p-equipment__content.is-active .p-equipment__toggle-button button::after {
    content: ""
}

.p-equipment__table tr:nth-child(n+6) {
    display: none
}

.p-equipment__table:not(:has(tbody tr:nth-child(n+6)))+.p-equipment__toggle-button {
    display: none
}

.p-equipment__toggle-button {
    margin-top: 1.875rem
}

.p-equipment__toggle-button button {
    background: #F26A2E;
    color: #fdfdff;
    font-size: .875rem;
    line-height: 1.7;
    font-weight: 700;
    border: 1px solid #F26A2E;
    padding: .875rem;
    width: 100%;
    border-radius: .5rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .1875rem;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-equipment__toggle-button button:hover {
    background: #fdfdff;
    color: #F26A2E
}

.p-equipment__toggle-button button::after {
    content: "add";
    display: block;
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    width: initial;
    height: initial;
    font-size: 1rem;
    font-weight: 700
}

.p-faq {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem
}

.p-faq__block {
    border-radius: 8px;
    overflow: hidden
}

.p-faq__title {
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    font-weight: 700;
    gap: 0.4375rem;
    padding: 1rem 3rem 1rem 1.5rem;
    position: relative;
    background-color: #e4f6fd;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s;
    font-size: 1rem;
    font-weight: 600
}

.p-faq__title::after,
.p-faq__title::before {
    content: "";
    width: 0.625rem;
    height: 0.125rem;
    border-radius: 4px;
    background-color: #F4C430;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease-out;
    transition-duration: .18s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s
}

.p-faq__title::before {
    transform: translateY(-50%) rotate(90deg)
}

.p-faq__block[open] .p-faq__title {
    background-color: #F4C430;
    color: #fdfdff
}

.p-faq__block[open] .p-faq__title::before {
    opacity: 0
}

.p-faq__block[open] .p-faq__title::after {
    background-color: #fdfdff
}

.p-faq__block[open] .p-faq__title .p-faq__title-icon {
    color: #fdfdff
}

.p-faq__title::-webkit-details-marker {
    display: none
}

.p-faq__title-icon,
.p-faq__content-icon {
    flex-shrink: 0;
    display: inline-block;
    color: #F4C430;
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease-out;
    transition-duration: .18s
}

.p-faq__content-wrapper {
    background-color: #e4f6fd;
    padding: 2rem
}

.p-faq__content-inner {
    flex-grow: 1
}

.p-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
    gap: 2.5rem 2rem
}

.p-gallery__item {
    background: none;
    border: none;
    padding: 0
}

.p-gallery__item-image {
    position: relative;
    overflow: hidden;
    border-radius: .25rem;
    aspect-ratio: 271/361;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #e4f6fd
}

.p-gallery__item-image img {
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    width: 100%
}

.p-gallery__item-icon {
    position: absolute;
    right: .5rem;
    bottom: .5rem;
    margin: auto;
    width: 2rem;
    height: 2rem;
    background: #fdfdff;
    border-radius: 50%;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-gallery__item-icon::before,
.p-gallery__item-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: .875rem;
    height: .125rem;
    background: #515358;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-gallery__item-icon::after {
    transform: rotate(90deg)
}

.p-gallery__item-title {
    margin-top: .5rem;
    font-weight: 700;
    text-align: left
}

@keyframes panel-show {
    from {
        opacity: 0;
        transform: translateX(-0.625rem)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.p-home-about {
    --_home-about-margin-bottom: 0;
    margin-bottom: var(--_home-about-margin-bottom, 0);
    padding: 11.875rem 0 7.5rem;
    position: relative;
    z-index: 1
}

.p-home-about__accent-line {
    display: none
}

.p-home-about__head {
    margin-bottom: 3.125rem
}

.p-home-about__container {
    display: flex;
    align-items: flex-start
}

.p-home-about__navs {
    display: flex;
    flex-direction: column;
    margin-top: 4.375rem;
    gap: .25rem;
    background: #eeeef4;
    border-radius: .75rem;
    padding: .25rem
}

.p-home-about__navs-item {
    display: flex
}

.p-home-about__navs-link {
    writing-mode: vertical-rl;
    background: #fdfdff;
    font-size: .875rem;
    border-radius: .5rem;
    padding: 1rem .5rem;
    color: #7c7f84;
    text-decoration: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s;
    font-weight: 700;
    line-height: 1.05;
    min-height: 8.5625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: .125rem
}

.p-home-about__navs-link .is-pc {
    display: block
}

.p-home-about__navs-link .is-sp {
    display: none
}

.p-home-about__navs-link::before {
    content: "";
    margin-bottom: .125rem;
    width: .375rem;
    height: .375rem;
    background: #fdfdff;
    opacity: 0;
    border-radius: 50%;
    visibility: hidden
}

.p-home-about__navs-link.is-active {
    background: #F4C430;
    color: #fdfdff
}

.p-home-about__navs-link.is-active::before {
    opacity: 1;
    visibility: visible
}

.p-home-about__contents {
    width: 37.2881355932%;
    margin-left: auto
}

.p-home-about__item {
    display: none
}

.p-home-about__item.is-active {
    display: block;
    animation: panel-show .6s ease-in-out forwards
}

.p-home-about__item-title {
    margin-bottom: 1rem
}

.p-home-about__item-text {
    flex-direction: column;
    gap: 1rem;
    /*color: #F26A2E*/
}

.p-home-about__item-text p {
    font-weight: 700;
    line-height: 2.2
}

.p-home-about__item-text.is-pc {
    display: flex
}

.p-home-about__item-text.is-sp {
    display: none
}

.p-home-about__item-button {
    margin-top: 2rem
}

.p-home-about__units {
    border-top: 1px solid #eeeef4
}

.p-home-about__unit {
    padding: 1rem 0 0 .4375rem
}

.p-home-about__unit:not(:last-child) {
    padding: 1rem 0 1.5rem .4375rem;
    border-bottom: 1px solid #eeeef4
}

.p-home-about__unit-title {
    position: relative;
    font-size: 1rem;
    font-weight: 700;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    color: #F26A2E;
    position: relative;
    display: flex;
    align-items: center;
    gap: .25rem
}

.p-home-about__unit-title::before {
    content: "";
    display: block;
    width: .8125rem;
    height: .625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #F4C430
}

.p-home-about__unit-text {
    margin-top: .625rem;
    padding-left: min(7.125rem, 8.1428571429vw)
}

.p-home-about__unit-text .is-text {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 2.2;
    color: #F26A2E
}

.p-home-about__unit-text .is-text:not(:first-child) {
    margin-top: .875rem;
    padding-top: .875rem;
    border-top: 1px solid #eeeef4
}

.p-home-about__unit-text .is-text:last-child {
    border-bottom: 1px solid #eeeef4;
    padding-bottom: .875rem
}

.p-home-about__unit-text .is-text:first-child {
    border-bottom: none;
    padding-bottom: 0
}

.p-home-business {
    display: grid;
    grid-template-columns: 540fr 600fr;
    gap: 5.0847457627%
}

.p-home-business__text {
    margin-top: 2.5rem;
    margin-bottom: 1.875rem
}

.p-home-business__item {
    display: block;
    text-decoration: none;
    padding: 1.5rem 0;
    border-top: 1px solid rgba(253, 253, 255, .2)
}

.p-home-business__item-inner {
    display: grid;
    grid-template-areas: "title title" "text button";
    gap: 0 2.25rem
}

.p-home-business__item-title {
    margin-bottom: .5rem;
    grid-area: title
}

.p-home-business__item-text {
    font-size: .875rem;
    line-height: 1.5;
    grid-area: text
}

.p-home-business__item-button {
    grid-area: button;
    display: flex;
    align-items: center;
    gap: .5rem;
    align-self: flex-end;
    margin-left: auto
}

.p-home-business__item-button span {
    display: block;
    font-size: .8125rem;
    line-height: 1.5384615385;
    font-weight: 700;
    color: #fdfdff
}

.p-home-business__item-image {
    display: none
}

.p-home-business__image {
    display: none
}

.p-home-business__image.is-active {
    display: block;
    animation: panel-show .6s ease-in-out forwards
}

.p-home-equipment {
    position: relative
}

.p-home-equipment__line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 50.7142857143vw;
    z-index: 1;
    clip-path: inset(0 100% 0 0);
    transition: clip-path .8s ease-out
}

.is-inview .p-home-equipment__line {
    clip-path: inset(0 0 0 0)
}

.p-home-equipment__line picture,
.p-home-equipment__line img {
    width: 100%;
    height: 100%;
    max-width: initial
}

.p-home-equipment__wrapper {
    display: grid;
    grid-template-columns: 620fr 482fr;
    gap: min(10.625rem, 12.1428571429vw);
    position: relative;
    padding: 0 0 4.5rem
}

.p-home-equipment__head {
    display: none
}

.p-home-equipment__images {
    position: relative
}

.p-home-equipment__lg-images {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 21.75rem;
    width: 56.1290322581%;
    overflow: hidden;
    border-radius: 8px;
    overflow: hidden
}

.p-home-equipment__md-images {
    position: absolute;
    right: min(2.5rem, 2.8571428571vw);
    bottom: 0;
    width: 100%;
    max-width: 12.5rem;
    width: 32.2580645161%;
    overflow: hidden;
    border-radius: 8px;
    overflow: hidden;
    z-index: -1
}

.p-home-equipment__sm-images {
    position: absolute;
    top: 8.125rem;
    right: 0;
    width: 100%;
    max-width: 12.5rem;
    width: 32.2580645161%;
    overflow: hidden;
    border-radius: 8px;
    overflow: hidden
}

.p-home-equipment__container {
    padding: 3.875rem 0 4.5rem
}

.p-home-equipment__inner {
    padding-right: 2.875rem
}

.p-home-equipment__sub-title {
    margin-top: 2.5rem
}

.p-home-equipment__text {
    margin-top: 1rem
}

.p-home-equipment__button {
    margin-top: 3rem
}

.p-home-news {
    padding-bottom: 8.125rem
}

.p-home-news__container {
    display: grid;
    grid-template-columns: 3fr 9fr;
    gap: 2.25rem
}

.p-home-news__navs {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
    width: 7.625rem
}

.p-home-news__navs-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    width: 100%;
    background: #fdfdff;
    font-size: .875rem;
    line-height: 1.7;
    padding: .25rem;
    text-align: center;
    font-weight: 700;
    border-radius: .5rem
}

.p-home-news__navs-link::before {
    content: "";
    display: block;
    width: .375rem;
    height: .375rem;
    border-radius: 50%;
    background-color: #fdfdff;
    opacity: 0
}

.p-home-news__navs-link.is-active {
    background-color: #F4C430;
    color: #fdfdff
}

.p-home-news__navs-link.is-active::before {
    opacity: 1
}

.p-home-news__inner {
    display: none
}

.p-home-news__inner.is-active {
    display: block;
    animation: panel-show .6s ease-in-out forwards
}

.p-home-news__button {
    margin-top: 2.5rem;
    text-align: right
}

.p-home-recruit {
    margin-top: -18.75rem
}

.p-home-recruit__container {
    position: relative;
    border-radius: .5rem;
    overflow: hidden;
    margin: auto
}

.p-home-recruit__image {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%
}

.p-home-recruit__image video {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-home-recruit__image::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .45;
    background: linear-gradient(to right, #2a42f0, rgba(75, 96, 254, 0))
}

.p-home-recruit__content {
    position: relative;
    z-index: 9;
    padding: 5.375rem 0;
    max-width: 73.75rem;
    margin: auto;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-home-recruit__sub-title {
    font-size: 2rem;
    font-weight: 700;
    color: #fdfdff;
    margin-top: 1.5rem
}

.p-home-recruit__text {
    color: #fdfdff;
    margin-top: 1rem;
    font-weight: 700
}

.p-home-recruit__button {
    margin-top: 6.25rem;
    text-align: right
}

.p-interview {
    padding: 0 6.3125rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(22.25rem, 1fr));
    gap: 3.5rem 2rem
}

.p-interview__item-link {
    position: relative;
    display: block
}

.p-interview__item-label {
    border-radius: .25rem 1.25rem 1.25rem 0;
    background: linear-gradient(242deg, #F26A2E -0.02%, #127BEC 68.02%);
    color: #fdfdff;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    padding: .375rem 1.75rem .375rem 2rem;
    position: absolute;
    top: 1.5rem;
    left: -0.5rem;
    z-index: 9
}

.p-interview__item-label::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5rem;
    margin: auto;
    width: .5rem;
    height: .5rem;
    background: #F4C430;
    clip-path: polygon(100% 0, 0 0, 100% 100%)
}

.p-interview__item-label span.is-number {
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-weight: 600
}

.p-interview__item-label span.is-text {
    display: block;
    font-size: 1.25rem;
    line-height: 1.5;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    letter-spacing: 0
}

.p-interview__item-image {
    width: 100%;
    border-radius: .5rem;
    overflow: hidden;
    aspect-ratio: 473/598
}

.p-interview__item-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover;
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-interview__item-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    padding: 0 1rem .875rem;
    z-index: 9
}

.p-interview__item-inner {
    background: rgba(253, 253, 255, .9);
    border-radius: .25rem;
    overflow: hidden;
    padding: 1.125rem 1.5rem
}

.p-interview__item-title {
    font-size: 0.9375rem;
    font-weight: 600;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-interview__item-post {
    margin-top: .5rem;
    gap: .5rem;
    display: flex;
    flex-wrap: wrap;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .3s
}

.p-interview__item-post span {
    display: block;
    font-size: 0.875rem
}

.p-interview-hero__item {
    display: flex;
    flex-direction: row-reverse;
    gap: 2rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #c4c7cd
}

.p-interview-hero__item:last-child {
    margin-bottom: 0
}

.p-interview-hero__item:nth-child(even) {
    flex-direction: row
}

.p-interview-hero__item-title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6
}

.p-interview-hero__item-text {
    margin-top: 1rem
}

.p-interview-hero__item-image {
    aspect-ratio: 473/315;
    flex-shrink: 0;
    width: 48.36400818%;
    border-radius: .5rem
}

.p-interview-hero__item-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-interview-read__item {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #c4c7cd
}

.p-interview-read__item:last-child {
    margin-bottom: 0
}

.p-interview-read__item-title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.6
}

.p-interview-read__item-text {
    margin-top: 1rem;
    font-size: 1rem
}

.p-interview-thumbnail {
    border-radius: .5rem;
    overflow: hidden
}

.p-job__block {
    display: grid;
    grid-template-columns: 531fr 549fr;
    gap: 8.4745762712%;
    margin-bottom: 6.25rem;
    padding: 0 2.875rem 6.25rem;
    border-bottom: 1px solid #c4c7cd
}

.p-job__block:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0)
}

.p-job__items {
    margin-top: 2.5rem
}

.p-job__item {
    padding: 1rem 0 2.5rem;
    border-top: 1px solid #c4c7cd
}

.p-job__item:last-child {
    padding-bottom: 0
}

.p-job__item-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600
}

.p-job__item-text {
    margin-top: 1rem;
    font-size: 1rem
}

.p-job__item-button {
    margin-top: 3rem
}

.p-job__image {
    border-radius: .5rem;
    overflow: hidden
}

.p-job__button {
    display: none
}

.p-numbers {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(23.75rem, 1fr));
    gap: 2rem
}

.p-numbers__item {
    padding: 1rem 1.5rem 3rem;
    background: #f6f5fb;
    border-radius: .5rem;
    overflow: hidden
}

.p-numbers__item.is-image {
    padding: 0
}

.p-numbers__item-titles {
    display: flex;
    gap: .5rem
}

.p-numbers__item-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 0.875rem;
    font-weight: 600
}

.p-numbers__item-title::before {
    content: "";
    display: block;
    width: .8125rem;
    height: .625rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430
}

.p-numbers__item-caption {
    font-size: .6875rem;
    line-height: 1.7272727273;
    color: #515358
}

.p-numbers__item-content {
    margin-top: 4.625rem;
    padding: 0 1.5rem 1rem;
    border-bottom: 1px solid #c4c7cd;
    display: flex;
    align-items: flex-end
}

.p-numbers__item-number {
    display: flex;
    align-items: flex-end;
    gap: .25rem
}

.p-numbers__item-number .is-number {
    display: block;
    font-size: 5rem;
    line-height: 1;
    color: #F26A2E;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0
}

.p-numbers__item-number .is-text {
    display: block;
    font-size: 1.25rem;
    font-weight: 600
}

.p-numbers__item-icon {
    margin-left: auto
}

.p-numbers__item-image {
    width: 100%;
    height: 100%
}

.p-numbers__item-image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-page-header-recruit {
    position: relative;
    height: 100%;
    padding-bottom: 12.5rem;
    display: grid;
    -webkit-mask-image: url("../images/mask-page-header.svg"), linear-gradient(#000, #000);
    mask-image: url("../images/mask-page-header.svg"), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-position: center 100.1%, 0 0;
    mask-position: center 100.1%, 0 0;
    -webkit-mask-size: 100% 18.875rem, 100% 100%;
    mask-size: 100% 18.875rem, 100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude
}

.p-page-header-recruit:where(:has(.l-page-header__image)) {
    color: #fdfdff;
    --_page-header-subtitle-color: #fdfdff;
    --_page-header-title-color: #fdfdff;
    --_page-header-content-wrap-padding-bottom: 18.75rem
}

.p-page-header-recruit__image-wrap {
    grid-column: 1/-1;
    grid-row: 1/-1;
    height: 53.125rem;
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100%
}

.p-page-header-recruit__image {
    width: 100%;
    height: 100%;
    background-color: #c4c7cd
}

.p-page-header-recruit__image video {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-page-header-recruit__content-wrap {
    grid-column: 1/-1;
    grid-row: 1/-1;
    padding: var(--header-height) 0 var(--_page-header-content-wrap-padding-bottom, 0);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%
}

.p-page-header-recruit__breadcrumb .c-breadcrumb {
    color: #fdfdff
}

.p-page-header-recruit__content {
    height: 100%
}

.p-page-header-recruit__content .l-container {
    height: 100%
}

.p-page-header-recruit__content-inner {
    position: relative
}

.p-page-header-recruit__title-wrap {
    padding-top: 5.3125rem;
    position: relative;
    z-index: 1
}

.p-page-header-recruit__subtitle {
    color: var(--_page-header-subtitle-color, #fdfdff);
    font-size: 1.25rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.25rem;
    margin: 0
}

.p-page-header-recruit__subtitle::before {
    content: "";
    display: block;
    width: 1.0625rem;
    height: 0.8125rem;
    -webkit-mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    mask: url(../images/icon-logo.svg) no-repeat center center/contain;
    background-color: #f4c430;
    margin-top: 0.1875rem
}

.p-page-header-recruit__title {
    color: var(--_page-header-title-color, #fdfdff);
    font-weight: 700;
    font-size: 5rem;
    line-height: 1.5;
    margin: -0.25rem 0 0;
    display: block;
    font-family: "Figtree Variable", "Noto Sans JP Variable", sans-serif;
    --letter-spacing: 0
}

.p-page-header-recruit__sub-title {
    margin-top: 7.9375rem;
    font-size: 2.3125rem;
    font-weight: 700;
    line-height: 1.6;
    color: #fdfdff;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .5s
}

.p-page-header-recruit__sub-title.is-hide {
    opacity: 0
}

.p-page-header-recruit__text {
    margin-top: 16.25rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 2;
    font-weight: 600;
    color: #fdfdff
}

.p-possession {
    display: flex;
    flex-wrap: wrap
}

.p-possession__item {
    width: 50%;
    display: flex;
    align-items: flex-end;
    gap: 1rem
}

.p-possession__item:nth-child(even) {
    padding-left: 3.125rem;
    border-left: 1px solid rgba(196, 199, 205, .3);
    padding-right: 0
}

.p-possession__item:nth-child(n+3) {
    padding-top: 2rem
}

.p-possession__item-image {
    border-radius: .25rem;
    overflow: hidden;
    width: 41.935483871%;
    flex-shrink: 0
}

.p-possession__item-image img {
    aspect-ratio: 247/171;
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-possession__item-content {
    padding-right: .5rem
}

.p-possession__item-texts {
    font-size: 1rem
}

.p-possession__item-texts span.is-lg {
    font-size: 1.25rem;
    display: block;
    font-weight: 700
}

.p-possession__item-labels {
    margin-top: 1rem;
    background: #fdfdff;
    border-radius: .25rem;
    color: #1A1A1A;
    display: inline-flex;
    align-items: center;
    padding: .125rem 1rem
}

.p-possession__item-labels span.is-sm {
    display: block;
    font-size: .9375rem;
    font-weight: 600
}

.p-possession__item-labels span.is-lg {
    display: block;
    font-size: 1.5rem;
    font-weight: 400
}

.p-special-column {
    display: grid;
    grid-template-columns: 284fr 776fr;
    gap: 10.1694915254%
}

.p-special-column__content {
    margin-top: 2.5rem
}

.p-strength {
    position: relative;
    --_strength-content-count: 4;
    height: calc(100svh*var(--_strength-content-count) + 5rem*(var(--_strength-content-count) - 1))
}

.p-strength__block {
    position: sticky;
    top: 0
}

.p-strength__block:where(:not(:first-child)) {
    margin-top: 5rem
}

.p-strength__block.is-02 .p-strength__container {
    background: #e4f6fd;
    margin-right: 3.125rem
}

.p-strength__block.is-03 .p-strength__container {
    background: #d4ecff;
    margin-right: 6.25rem
}

.p-strength__block.is-04 .p-strength__container {
    background: #d5dfff;
    margin-right: 9.375rem
}

.p-strength__container {
    padding-top: 6.875rem;
    padding-bottom: 1rem;
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative
}

.p-strength__nav {
    display: flex;
    gap: .5rem;
    flex-direction: column;
    position: absolute;
    top: 7.5rem;
    right: 1rem
}

.p-strength__nav .is-number {
    display: block;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: .75rem;
    line-height: 1.5;
    color: #F26A2E;
    font-weight: 600;
    writing-mode: vertical-rl
}

.p-strength__nav .is-text {
    display: block;
    font-size: .8125rem;
    line-height: 1.3;
    font-weight: 600;
    writing-mode: vertical-rl
}

.p-strength__inner {
    display: grid;
    grid-template-columns: 519fr 479fr;
    grid-template-areas: "content image";
    gap: 6.5543071161%;
    padding-right: 9.4915254237%
}

.p-strength__image {
    grid-area: image;
    border-radius: 8px;
    overflow: hidden
}

.p-strength__image img {
    width: 100%;
    height: 100%;
    max-width: initial;
    -o-object-fit: cover;
    object-fit: cover
}

.p-strength__content {
    grid-area: content;
    min-height: 38.875rem;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.p-strength__head {
    display: flex;
    gap: .5rem;
    margin-bottom: 2.5rem
}

.p-strength__head .is-number {
    display: block;
    font-family: "Figtree Variable", sans-serif;
    --letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 1.5;
    color: #F26A2E;
    font-weight: 600
}

.p-strength__head .is-text {
    display: block;
    font-size: 1.125rem;
    line-height: 1.7;
    font-weight: 600
}

.p-strength__button {
    margin-top: 2.5rem
}

.l-block__margin-normal {
    margin-top: 3.5rem
}

.l-block__margin-large {
    margin-top: 4rem
}

.l-block__margin-medium {
    margin-top: 3rem
}

.l-block__margin-small {
    margin-top: 1.5rem
}

.l-block__margin-none {
    margin-top: 0
}

.l-post-content {
    display: flow-root
}

.l-post-content>*+* {
    margin-top: 1em
}

.l-post-content>:is(h1, h2, h3, h4, h5, h6):first-child {
    margin-top: 0
}

.l-post-content>:is(h1, h2, h3, h4, h5, h6)+* {
    margin-top: 0
}

.l-post-content a {
    color: #F4C430;
    text-decoration-line: underline;
    cursor: pointer
}

.l-post-content h1 {
    font-size: 2rem;
    line-height: 1.6
}

.l-post-content h2 {
    font-size: 1.5625rem;
    line-height: 1.6;
    margin-top: 5rem;
    margin-bottom: 2rem;
    border-bottom: 2px solid #F26A2E;
    padding-bottom: 0.875rem
}

.l-post-content h3 {
    font-size: 1.25rem;
    line-height: 1.6;
    margin-top: 3.375rem;
    margin-bottom: 1.5rem;
    padding: .5rem .75rem;
    background-color: #e7e7e7
}

.l-post-content h4 {
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-top: 1rem;
    margin-bottom: 1rem
}

.l-post-content h4::before {
    content: "check";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    float: left;
    margin-right: .3rem;
    color: #F26A2E
}

.l-post-content h5 {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
    margin-bottom: 1rem
}

.l-post-content h6 {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
    margin-bottom: 1rem
}

.l-post-content dl dt {
    font-weight: bold
}

.l-post-content dl dd+dt {
    margin-top: 1rem
}

.l-post-content table {
    width: 100%;
    width: 100%
}

.l-post-content table thead {
    border: 0
}

.l-post-content table th,
.l-post-content table td {
    border: 0
}

.l-post-content table tr:first-child th {
    border-top: 1px solid #F26A2E
}

.l-post-content table tr:first-child td {
    border-top: 1px solid #c4c7cd
}

.l-post-content table th,
.l-post-content table td {
    text-align: left;
    border-bottom: 1px solid #c4c7cd;
    padding: 2rem 0 2rem 0.5rem;
    vertical-align: top
}

.l-post-content table th {
    font-weight: 600;
    border-bottom: 1px solid #F26A2E
}

.l-post-content table tbody th {
    width: 10.625rem
}

.l-post-content ol,
.l-post-content ul {
    list-style: none;
    line-height: 1.7
}

.l-post-content ol ol,
.l-post-content ol ul,
.l-post-content ul ol,
.l-post-content ul ul {
    margin-top: 0.5rem
}

.l-post-content ol li+li,
.l-post-content ul li+li {
    margin-top: 0.5rem
}

.l-post-content ol li,
.l-post-content ul li {
    position: relative
}

.l-post-content ol li::before,
.l-post-content ul li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-content: center
}

.l-post-content ol>li li,
.l-post-content ul>li li {
    font-weight: 400
}

.l-post-content ul {
    --_icon-size: 0.25rem
}

.l-post-content ul>li {
    padding-left: 0.75rem;
    position: relative
}

.l-post-content ul>li::before {
    content: "";
    width: var(--_icon-size);
    aspect-ratio: 1/1;
    background: #F4C430;
    border-radius: 50%;
    top: calc(.5lh - var(--_icon-size)/2);
    left: 0;
    position: absolute
}

.l-post-content ul ul>li {
    padding-left: 0.75rem
}

.l-post-content ul ul>li::before {
    content: "";
    width: var(--_icon-size);
    aspect-ratio: 1/1;
    background: #c4c7cd;
    border-radius: 50%;
    top: calc(.5lh - var(--_icon-size)/2);
    left: 0;
    position: absolute
}

.l-post-content ol {
    counter-reset: list-counter;
    padding-left: 1rem
}

.l-post-content ol>li {
    padding-left: 0
}

.l-post-content ol>li::before {
    content: counter(list-counter) ".";
    counter-increment: list-counter;
    height: 1lh;
    transform: translateX(-100%)
}

.l-post-content ol ol {
    counter-reset: list-counter;
    padding-left: 1rem
}

.l-post-content ol ol>li {
    padding-left: 0
}

.l-post-content ol ol>li::before {
    content: counter(list-counter) ".";
    counter-increment: list-counter;
    height: 1lh;
    transform: translateX(-100%)
}

.l-post-content iframe {
    max-width: 100%;
    width: 100%
}

.l-post-content pre {
    background: #f5f5f5;
    padding: 1rem 1.5rem
}

.l-post-content code {
    font-family: monospace, monospace;
    background: #f5f5f5
}

.l-post-content blockquote {
    background-color: #f6f5fb;
    border-left: 2px solid #F26A2E;
    position: relative;
    padding: 4.6875rem 3rem 2.5rem 2.375rem;
    margin-right: 0;
    margin-left: 0
}

.l-post-content blockquote::before {
    content: "";
    width: 1.5rem;
    height: 1.1875rem;
    background: #F4C430;
    -webkit-mask: url("../images/icon-quote.svg") no-repeat center/contain;
    mask: url("../images/icon-quote.svg") no-repeat center/contain;
    position: absolute;
    left: 2.375rem;
    top: 2.5rem
}

.l-post-content blockquote cite {
    display: block;
    margin-top: 1rem
}

:where(.l-post-content) figure {
    margin: 0 0 1em
}

.row {
    margin-left: -1rem;
    margin-right: -1rem;
    display: flex;
    flex-wrap: wrap
}

.row.is-center {
    justify-content: center
}

.small-1 {
    width: 8.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-1 {
    margin-left: 8.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-2 {
    width: 16.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-2 {
    margin-left: 16.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-3 {
    width: 25%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-3 {
    margin-left: 25%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-4 {
    width: 33.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-4 {
    margin-left: 33.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-5 {
    width: 41.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-5 {
    margin-left: 41.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-6 {
    width: 50%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-6 {
    margin-left: 50%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-7 {
    width: 58.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-7 {
    margin-left: 58.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-8 {
    width: 66.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-8 {
    margin-left: 66.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-9 {
    width: 75%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-9 {
    margin-left: 75%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-10 {
    width: 83.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-10 {
    margin-left: 83.3333333333%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-11 {
    width: 91.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-11 {
    margin-left: 91.6666666667%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.small-12 {
    width: 100%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.is-push-sm-12 {
    margin-left: 100%;
    padding-left: 0.5rem;
    padding-right: 0.5rem
}

.c-post-password__label {
    display: block;
    margin-bottom: 1rem
}

.c-post-password__content {
    display: flex;
    gap: 1.5rem
}

.c-post-password__input {
    width: 100%
}

.c-post-password__input input {
    height: 100%
}

.c-post-password__submit {
    flex-shrink: 0
}

.c-search__head {
    font-size: 1.25rem;
    line-height: 1.5;
    margin-bottom: 1.5rem
}

.c-search__situation {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem 3.625rem
}

.c-search__situation dl {
    display: flex;
    font-size: 0.875rem
}

.c-search__situation dt {
    margin-right: 0.75rem
}

.c-search__situation dd:not(:first-of-type) {
    margin-left: 1.875rem
}

.c-search__situation dd a.is-active {
    font-weight: 700;
    text-decoration: none;
    color: #1A1A1A;
    opacity: 1
}

.c-search__blocks {
    border-top: 1px solid #c4c7cd;
    margin-top: 1.5rem
}

.c-search__block {
    padding: 1.5rem 0;
    border-bottom: 1px solid #c4c7cd
}

.c-search__title {
    display: block;
    font-weight: 700;
    font-size: 1.125rem
}

.c-search__text {
    margin-top: 0.875rem
}

.c-search__text em {
    font-style: normal;
    background-image: linear-gradient(transparent 70%, #FFFA79 70%, #FFFA79 95%, transparent 95%);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100% 100%
}

.c-search__url {
    display: block;
    font-size: 0.875rem;
    margin-top: 0.625rem
}

.c-search-result-aside {
    padding-top: 3rem
}

.c-search-result-aside__popular {
    padding: 1.25rem 1rem 1.875rem;
    border: 1px solid #c4c7cd
}

.c-search-result-aside__title {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 1rem
}

.c-search-result-aside__keyword {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3125rem 0.5rem;
    font-size: 0.875rem
}

.c-search-result-header {
    padding: 2.875rem 0 0
}

.c-search-result-header__form {
    background-color: #f6f5fb;
    padding: 1.5rem
}

.c-searchform-bar {
    display: flex;
    align-items: center;
    height: 4.5rem;
    width: 100%;
    margin: auto;
    position: relative;
    background: #fdfdff
}

.c-searchform-bar__label {
    flex-shrink: 0
}

.c-searchform-bar__icon {
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    font-size: 1.5rem;
    color: #1A1A1A;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    box-sizing: content-box
}

.c-searchform-bar input {
    border: none;
    border-left: solid 1px #c4c7cd;
    font-family: inherit;
    position: relative;
    height: 2.5rem;
    padding-left: 1.375rem;
    line-height: 1
}

.c-searchform-bar input::-moz-placeholder {
    line-height: 1;
    color: #7c7f84
}

.c-searchform-bar input::placeholder {
    line-height: 1;
    color: #7c7f84
}

.c-searchform-bar button {
    width: 8.125rem;
    flex-shrink: 0;
    background: #F26A2E;
    border: none;
    padding: 0;
    color: #fdfdff;
    font-size: 1rem;
    font-weight: bold;
    height: 100%;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: ease;
    transition-duration: .2s
}

#toc_container {
    margin: 2rem 0;
    width: 100% !important;
    background: #f6f5fb;
    border-radius: 0;
    padding: 1rem 2.5rem 2.5rem
}

#toc_container.contracted .toc_title {
    margin-bottom: 0
}

#toc_container .toc_title {
    text-align: center;
    font-size: 1.125rem;
    color: #F26A2E;
    font-weight: 700;
    margin-bottom: 1rem
}

#toc_container .toc_title .toc_toggle {
    margin-left: 1rem
}

#toc_container .toc_list {
    list-style: none;
    padding-left: 0
}

#toc_container .toc_list li {
    padding-left: 0
}

#toc_container .toc_list li::before {
    display: none
}

#toc_container .toc_list li ul {
    list-style: none;
    padding-left: 1.5rem;
    margin-left: 0
}

#toc_container .toc_list li a {
    display: block;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, visibility, box-shadow, transform;
    transition-timing-function: ease;
    transition-duration: .2s;
    text-decoration: none;
    color: #1A1A1A;
    font-weight: 400
}

#toc_container .toc_list li:last-child {
    box-shadow: none
}

.c-block-responsive-spacer.is-xxlg {
    height: 7.5rem
}

.c-block-responsive-spacer.is-xlg {
    height: 6.25rem
}

.c-block-responsive-spacer.is-lg {
    height: 5rem
}

.c-block-responsive-spacer.is-md {
    height: 4rem
}

.c-block-responsive-spacer.is-sm {
    height: 3.5rem
}

.c-block-responsive-spacer.is-xs {
    height: 2rem
}

.u-visually-hidden {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 0.0625rem !important;
    margin: -0.0625rem !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 0.0625rem !important
}

.u-text-center {
    text-align: center !important
}

.u-text-left {
    text-align: left !important
}

.u-text-right {
    text-align: right !important
}

.u-mbs {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem
}

.u-mbs.is-xlg {
    margin-top: 7.5rem;
    margin-bottom: 7.5rem
}

.u-mbs.is-lg {
    margin-top: 6.25rem;
    margin-bottom: 6.25rem
}

.u-mbs.is-md {
    margin-top: 4rem;
    margin-bottom: 4rem
}

.u-mbs.is-sm {
    margin-top: 3rem;
    margin-bottom: 3rem
}

.u-mbs.is-xs {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem
}

.u-mbs.is-top {
    margin-bottom: 0 !important
}

.u-mbs.is-bottom {
    margin-top: 0 !important
}

.u-visible-sm,
.u-visible-md,
.u-visible-lg {
    display: none !important
}

p,
.u-text-normal {
    margin: 0
}

small,
.u-text-small {
    font-size: .9333333333em
}

strong,
.u-text-strong {
    font-weight: 600
}

del,
.u-text-del {
    text-decoration-line: line-through
}

.u-text-link {
    color: #F4C430;
    text-decoration-line: underline;
    cursor: pointer
}

.u-text-link.is-pdf:after {
    content: "picture_as_pdf";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.u-text-link.is-map::before {
    content: "location_on";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.u-text-link.is-outlink::after {
    content: "open_in_new";
    font-family: "Material Icons";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    overflow: hidden;
    display: inline-block;
    flex-shrink: 0;
    width: 1em;
    height: 1em
}

.u-text-link.is-hover {
    opacity: .5
}

.u-hover-disabled,
.u-pointer-events-none {
    pointer-events: none
}

.u-text-primary {
    color: #F26A2E
}

.u-text-danger {
    color: #cc2919
}

.u-text-info {
    color: #378da3
}

.u-text-success {
    color: #378da3
}

.u-text-lg {
    font-size: 1rem
}

.u-truncate {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.u-indent {
    padding-left: 1em;
    text-indent: -1em
}

.u-fade {
    filter: blur(0.625rem);
    opacity: 0;
    transform: translateY(2em) rotate(0.0001deg);
    transition: opacity .6s cubic-bezier(0.39, 0.575, 0.565, 1) .2s, filter .6s cubic-bezier(0.39, 0.575, 0.565, 1) .2s, transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) .2s
}

.u-fade.is-fade-active {
    transform: translateY(0) rotate(0.0001deg);
    filter: blur(0);
    opacity: 1
}

.u-fade.is-left-of-right {
    transform: translateX(2em)
}

@media screen and (width < 78.125em) {
    .c-box-interview .swiper-button {
        width: 2rem;
        height: 2rem;
        border-radius: .25rem
    }

    .c-box-interview .swiper-button-prev {
        left: 5.12%
    }

    .c-box-interview .swiper-button-next {
        right: 2.56%
    }
}

@media screen and (width < 75em) {
    .c-box-interview__item {
        padding: 0 2rem
    }

    .p-interview {
        padding: 0 0
    }
}

@media screen and (width < 71.25em) {
    .l-header__submenu {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
}

@media screen and (width < 68.75em) {
    .p-strength__inner {
        padding-right: 4.0677966102%
    }
}

@media screen and (width < 59.375em) {
    :root {
        --header-height: 4.5rem
    }

    .l-aside {
        padding-inline: 2rem;
        padding-bottom: 0
    }

    :where(.l-two-column) .l-container {
        margin-inline: auto;
        padding-inline: 2rem
    }

    .l-footer__top-inner {
        flex-direction: column;
        padding-top: 2.5rem;
        gap: 2.5rem;
        border-top: 1px solid #eeeef4
    }

    .l-footer__menu {
        width: 100%;
        max-width: 37.5rem
    }

    .l-footer__logo {
        max-width: 15rem;
        margin-bottom: 1rem
    }

    .l-header {
        padding: 0.5rem
    }

    .l-header__inner {
        padding: 0.1875rem 4rem 0.1875rem 1rem;
        border-radius: 6px;
        height: 3.5rem
    }

    .l-header__logo {
        width: 10.5625rem;
        margin: 0
    }

    .l-header__nav {
        display: none
    }

    .l-header__mainmenu {
        display: none
    }

    .l-header__tels {
        display: none
    }

    .l-main::before {
        min-width: initial;
        -webkit-mask-size: 100% 4.4375rem, 100% 100%;
        mask-size: 100% 4.4375rem, 100% 100%;
        top: -4.4375rem;
        height: 4.4375rem;
        -webkit-mask-image: url("../images/mask-page-header-01.svg"), linear-gradient(#000, #000);
        mask-image: url("../images/mask-page-header-01.svg"), linear-gradient(#000, #000)
    }

    .l-page-header__image {
        min-width: initial;
        -webkit-mask-size: 100% auto, 100% 100%;
        mask-size: 100% auto, 100% 100%
    }

    .l-page-header__content-wrap {
        padding-bottom: 10.6666666667%
    }

    .l-page-header__float-image {
        width: 15rem
    }

    .l-searchform {
        top: 3.4375rem
    }

    .l-searchform__close {
        right: -0.25rem;
        top: -3rem
    }

    .l-section.is-mask-01,
    .l-section.is-mask-02 {
        -webkit-mask-size: 100% auto, 100% auto, 100% 100%;
        mask-size: 100% auto, 100% auto, 100% 100%
    }

    .l-section.is-mask-01 {
        padding-top: 17.0666666667%;
        padding-bottom: 17.0666666667%
    }

    .l-section.is-mask-02 {
        padding-top: 17.0666666667%;
        padding-bottom: 17.0666666667%
    }

    .l-section.is-search-result {
        padding-top: 2rem;
        padding-bottom: 2.5rem
    }

    .l-two-column {
        grid-template: "main" auto "gap" 2rem "side" 1fr/1fr
    }

    .l-two-column__main {
        grid-area: main
    }

    .l-two-column:where(.l-two-column:has(.l-section.is-search-result)) {
        grid-template: "main" auto "gap" 2rem "side" 1fr/1fr
    }

    .l-two-column:where(.l-two-column:has(.l-section.is-search-result)) .l-two-column__main {
        padding-inline: 2rem
    }

    .c-banner-relation__link {
        padding: 3.25rem 2.25rem;
        border-radius: 8px
    }

    .c-banner-relation__head-text {
        font-size: .8125rem
    }

    .c-banner-relation__button-text {
        font-size: 2rem
    }

    .c-block-document {
        grid-template-columns: 1fr
    }

    .c-block-document__detail {
        width: 100%;
        padding: 2.5rem 2rem
    }

    .c-block-point__item {
        grid-template-columns: 100fr 300fr 400fr
    }

    .c-card.is-col-4 {
        --_card-columns: 2
    }

    .c-card-download.is-three-col .c-card-download__block {
        width: calc(50% - 2.25rem)
    }

    .c-card-download.is-three-col .c-card-download__block:nth-child(n+3) {
        margin-top: 2rem
    }

    .c-float-bg__image {
        width: 36rem
    }

    .c-form-head__block {
        display: block
    }

    .c-form-head__title {
        font-size: 1.125rem
    }

    .c-form-head__list {
        justify-content: center;
        margin-top: 1.5rem
    }

    .c-form-head__item {
        padding-left: 1.875rem
    }

    .c-form-head__item::before {
        width: 0.9375rem
    }

    .c-form-head__item-number {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.75rem
    }

    .c-form-head__item-text {
        font-size: 0.75rem
    }

    .c-forms {
        padding: 6.25rem 0 5rem
    }

    .c-forms__submit__back {
        width: calc(33.33333% - 1.75rem)
    }

    .c-forms__submit__submit {
        width: calc(33.33333% - 1.75rem)
    }

    .c-news__block-data {
        width: auto;
        align-items: center;
        flex-direction: row;
        gap: 0.5rem
    }

    .c-recruit-relation.is-absolute {
        margin-top: 0
    }

    .c-recruit-relation__link {
        padding: 3.5rem 2.5rem
    }

    .c-recruit-relation__link-content {
        gap: 2rem;
        grid-template-columns: 1fr
    }

    .c-recruit-relation__link-button {
        font-size: 2rem;
        line-height: 1.3125
    }

    .c-recruit-search__submit {
        margin-top: 1.5rem
    }

    .c-relation__button {
        width: calc(50% - 2.25rem)
    }

    .c-relation__button:nth-child(n+3) {
        margin-top: 2.25rem
    }

    .c-sitemap__sublist.is-three-col {
        width: 50%
    }

    .c-sitemap__sublist.is-three-col .c-sitemap__subitem {
        width: 100%
    }

    .c-sitemap__subitem {
        width: 50%
    }

    .c-tabs__navs {
        gap: .5rem
    }

    .p-home-about__item.is-active {
        padding: 0
    }

    .p-home-equipment__wrapper {
        gap: 1.5rem
    }

    .p-home-equipment__inner {
        padding-right: 0
    }

    .p-home-news__inner.is-active {
        padding: 0
    }

    .p-interview {
        grid-template-columns: repeat(auto-fill, minmax(18.6875rem, 1fr))
    }

    .p-interview__item-content {
        padding: 0 1rem .875rem
    }

    .p-numbers {
        grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
        gap: .625rem
    }

    .p-page-header-recruit__content-wrap {
        padding-bottom: 8.5333333333%
    }

    .p-strength {
        height: auto;
        margin-top: 4rem
    }

    .p-strength__block:where(:not(:first-child)) {
        margin-top: 0
    }

    .p-strength__container {
        padding-top: 4.5rem
    }

    .p-strength__inner {
        grid-template-columns: 1fr 1fr;
        gap: 3.3684210526%
    }

    .u-hidden-md {
        display: none !important
    }

    .u-visible-md {
        display: block !important
    }

    .u-visible-md.is-inlineblock {
        display: inline-block !important
    }
}

@media screen and (width < 46.875em)and (width < 46.875em) {
    .l-offer-recruit__title {
        font-size: 1.125rem
    }

    .c-box-recruit__item-label {
        font-size: 0.8125rem
    }

    .c-interview-header__title {
        font-size: 1.5rem
    }

    .p-interview-hero__item-title {
        font-size: 1.125rem
    }

    .p-interview-read__item-title {
        font-size: 1.125rem
    }

    .p-job__item-title {
        font-size: 0.9375rem
    }

    .p-page-header-recruit__sub-title {
        font-size: 0.9375rem
    }
}

@media screen and (width < 46.875em) {
    body {
        font-size: 0.875rem
    }

    :where(html[lang=en], html[lang=en-US]) body {
        font-size: 0.82031rem
    }

    input[type=text],
    input[type=url],
    input[type=search],
    input[type=email],
    input[type=password],
    input[type=tel],
    input[type=number],
    input[type=date],
    input[type=time],
    input[type=datetime-local],
    input[type=month],
    input[type=week],
    input[type=file],
    textarea {
        font-size: 1rem
    }

    input[type=text],
    input[type=url],
    input[type=search],
    input[type=email],
    input[type=password],
    input[type=tel],
    input[type=number],
    input[type=date],
    input[type=time],
    input[type=datetime-local],
    input[type=month],
    input[type=week],
    input[type=file],
    textarea {
        padding: 0.5625rem 0.75rem
    }

    select {
        font-size: 1rem
    }

    select {
        padding: 0.5625rem 0.75rem
    }

    .l-aside {
        padding-inline: 1.5rem
    }

    .l-container {
        padding-inline: 1.5rem
    }

    :where(.l-two-column) .l-container {
        padding-inline: 1.5rem
    }

    .l-footer__top-inner {
        border-bottom: none;
        padding-bottom: 0
    }

    .l-footer__menu {
        align-items: stretch;
        gap: 2rem;
        padding: 0
    }

    .l-footer__block-sp {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        width: 50%
    }

    .l-footer__menulist a {
        display: flex;
        align-items: center;
        padding: 0
    }

    .l-footer__menulist-title {
        font-size: 0.9375rem
    }

    .l-footer__menulist-sub {
        font-size: 0.875rem;
        margin-top: 1rem;
        gap: 1rem
    }

    .l-footer__content-buttons {
        flex-direction: row;
        align-items: center
    }

    .l-footer__content-button-icon {
        margin-left: auto
    }

    .l-footer__bottom {
        padding-top: 1rem 1.5rem 0.5rem;
        margin-top: 2.0625rem
    }

    .l-header__submenu-title .is-ja {
        font-size: 0.8125rem
    }

    .l-header__submenu-title .is-eng {
        font-size: 2.75rem
    }

    .l-header.is-simple .l-header__inner {
        padding: 0.1875rem 4rem 0.1875rem 1rem
    }

    .home .l-offer {
        padding-top: 4rem
    }

    .l-offer {
        padding-top: 4rem
    }

    .l-offer__inner {
        padding-right: 1.5rem;
        grid-template-columns: 1fr;
        grid-template-areas: "image" "content"
    }

    .l-offer__image {
        height: 15rem
    }

    .l-offer__content {
        padding: 2.25rem 0 6.5625rem 1.5rem
    }

    .l-offer__content-line {
        top: 8.75rem;
        left: 1.0625rem;
        min-width: initial;
        width: 105.1282051282%;
        height: 7.125rem
    }

    .l-offer__content-text {
        font-size: min(1.25rem, 5.3333333333vw);
        margin-bottom: 1.5rem
    }

    .l-offer__content-title {
        gap: min(2rem, 8.5333333333vw)
    }

    .l-offer__content-title .is-text {
        font-size: min(2.875rem, 12.2666666667vw)
    }

    .l-offer-recruit {
        margin-top: 6.25rem
    }

    .l-offer-recruit__container {
        padding: 4.625rem 0 2rem
    }

    .l-offer-recruit__title {
        font-size: 1.625rem
    }

    .l-offer-recruit__title {
        font-size: 1.25rem;
        font-weight: 600
    }

    .l-offer-recruit__buttons {
        margin-top: 11.375rem;
        flex-direction: column;
        gap: .5rem;
        max-width: 15.75rem
    }

    .l-offer-recruit__buttons .c-button {
        width: 100%
    }

    .l-page-header {
        height: 28.75rem
    }

    .l-page-header__image-wrap {
        height: 28.75rem
    }

    .l-page-header__content-inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        gap: 2.6875rem
    }

    .l-page-header__title-wrap {
        padding-top: 2.6875rem
    }

    .l-page-header__subtitle {
        font-size: 0.8125rem
    }

    .l-page-header__title {
        font-size: 2.25rem
    }

    .l-page-header__subpage-title {
        margin-top: 1.5rem;
        font-size: 1.25rem
    }

    .l-page-header__subpage-title::before {
        width: 2rem;
        height: 0.0625rem
    }

    .l-page-header__navs {
        margin-top: auto
    }

    .l-page-header__float-image {
        top: 1.5625rem;
        right: 0;
        width: 10rem
    }

    .l-page-header__float-image img {
        aspect-ratio: 160/160;
        border-radius: .5rem
    }

    .l-page-header.is-sm {
        padding-bottom: 0
    }

    .l-page-header.is-sm .l-page-header__title {
        font-size: 2rem
    }

    .l-page-header.is-relation-format {
        height: 31.25rem
    }

    .l-page-header.is-relation-format .l-page-header__content-wrap {
        padding-bottom: 22.9333333333%
    }

    .l-page-header.is-relation-format .l-page-header__content-inner {
        gap: 1rem
    }

    .l-page-header.is-relation-format .l-page-header__title-wrap {
        padding-top: 3.5rem
    }

    .l-page-header.is-relation-format .l-page-header__subtitle {
        margin-bottom: .75rem
    }

    .l-page-header.is-relation-format .l-page-header__title {
        font-size: 2rem;
        line-height: 1.09375
    }

    .l-page-header.is-relation-format .l-page-header__subpage-title {
        padding-top: .25rem;
        font-size: 1rem;
        line-height: 1.6875
    }

    .l-page-header.is-relation-format .l-page-header__subpage-title {
        margin-top: 3.75rem
    }

    .l-page-header.is-relation-format .l-page-header__subpage-text {
        margin-top: .25rem
    }

    .l-page-header.is-relation-format .l-page-header__subpage-text {
        font-size: .8125rem
    }

    .l-page-header.is-sp-small {
        padding-bottom: 0
    }

    .l-searchform {
        padding: 3.75rem 0
    }

    .l-section.is-xxlg {
        padding-top: 4rem;
        padding-bottom: 4rem
    }

    .l-section.is-xxlg-top {
        padding-top: 4rem
    }

    .l-section.is-xxlg-bottom {
        padding-bottom: 4rem
    }

    .l-section.is-xlg {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem
    }

    .l-section.is-xlg-top {
        padding-top: 3.125rem
    }

    .l-section.is-xlg-bottom {
        padding-bottom: 3.125rem
    }

    .l-section.is-lg {
        padding-top: 3.125rem;
        padding-bottom: 3.125rem
    }

    .l-section.is-lg-top {
        padding-top: 3.125rem
    }

    .l-section.is-lg-bottom {
        padding-bottom: 3.125rem
    }

    .l-section.is-md {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem
    }

    .l-section.is-md-top {
        padding-top: 2.5rem
    }

    .l-section.is-md-bottom {
        padding-bottom: 2.5rem
    }

    .l-section.is-sm {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .l-section.is-sm-top {
        padding-top: 2rem
    }

    .l-section.is-sm-bottom {
        padding-bottom: 2rem
    }

    .l-section.is-xs {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }

    .l-section.is-xs-top {
        padding-top: 1.5rem
    }

    .l-section.is-xs-bottom {
        padding-bottom: 1.5rem
    }

    .l-section.is-xxlg-bottom:where(:has(+.l-section.is-mask-02)) {
        padding-bottom: 4rem
    }

    .l-section:where(.l-section.is-mask-02)+.l-section.is-lg-top {
        padding-top: 3.125rem
    }

    .l-section.is-scroll-margin-responsive {
        scroll-margin-top: 0
    }

    .l-section.is-post {
        padding-top: 6.25rem
    }

    .l-two-column:where(.l-two-column:has(.l-section.is-search-result)) .l-two-column__main {
        padding-inline: 1.5rem
    }

    .c-accordion__title {
        font-size: 0.9375rem
    }

    .c-accordion__title {
        padding: 0.75rem 2rem 0.75rem 0.75rem;
        line-height: 1.5
    }

    .c-accordion__title::after,
    .c-accordion__title::before {
        right: 1rem
    }

    .c-accordion__title-icon,
    .c-accordion__content-icon {
        font-size: 1.375rem
    }

    .c-accordion__content-wrapper {
        padding: 1rem
    }

    .c-anchor-nav__nav-list {
        grid-template-columns: fit-content(100%) 1fr;
        gap: 1rem
    }

    .c-aside-navs.is-xlg-top {
        padding-top: 0
    }

    .c-aside-navs.is-post {
        padding-top: 0
    }

    .c-aside-navs__block:where(:not(:first-child)) {
        margin-top: 1.5rem
    }

    .c-aside-navs__head {
        font-size: 1rem
    }

    .c-aside-navs__index {
        font-size: 0.875rem
    }

    .c-aside-navs__list {
        font-size: 0.875rem
    }

    .c-aside-navs__select select {
        font-size: 0.875rem
    }

    .c-aside-navs__select select {
        font-size: 1rem
    }

    .c-banner-relation__content {
        flex-direction: column;
        align-items: flex-start
    }

    .c-banner-relation__head {
        margin-bottom: .75rem
    }

    .c-banner-relation__head-text::before {
        width: 0.8125rem;
        height: 0.625rem
    }

    .c-banner-relation__button {
        margin-left: 0;
        justify-content: space-between;
        width: 100%;
        gap: 1rem
    }

    .c-banner-relation__button-icon {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        height: 100%;
        display: flex;
        align-items: center
    }

    .c-block__block {
        margin-bottom: 2rem
    }

    .c-block__content p {
        margin-bottom: 1rem
    }

    .c-block__image {
        margin-bottom: 1rem
    }

    .c-block-cookie {
        padding: 1.25rem 0
    }

    .c-block-cookie__inner {
        display: block
    }

    .c-block-cookie__text {
        font-size: .625rem;
        line-height: 1.8;
        --letter-spacing: 0.08em;
        font-weight: 400;
        margin-bottom: 1rem
    }

    .c-block-cookie__button {
        width: 100%;
        margin-left: 0
    }

    .c-block-cookie__button a {
        width: 100%;
        font-size: .75rem;
        line-height: 1.5;
        --letter-spacing: 0.12em;
        font-weight: 400;
        padding: 0.875rem 6.25rem
    }

    .c-block-document__detail {
        padding: 1.5rem 1.25rem
    }

    .c-block-point__item {
        grid-template-columns: 1fr;
        padding: 1.5rem 0
    }

    .c-block-point__item.is-col-custom {
        grid-template-columns: 1fr;
        gap: 0
    }

    .c-block-point__item-title {
        margin-top: 4rem;
        padding-right: 0
    }

    .c-block-point__item-content {
        margin-top: 0
    }

    .c-block-point__item-text {
        margin-top: .5rem;
        padding-left: 0;
        border-left: none;
        font-size: .9375rem
    }

    .c-block-read {
        text-align: left
    }

    .c-block-read__text {
        margin-top: .875rem;
        font-size: .875rem;
        line-height: 1.7142857143
    }

    .c-blockquote {
        padding: 0.75rem 0.75rem 0.75rem 2rem
    }

    .c-blockquote::before {
        width: 0.8125rem;
        height: 0.6875rem;
        top: 0.5rem;
        left: 0.5rem
    }

    .c-box__block {
        padding: 1.5rem;
        margin-bottom: 1.5rem
    }

    .c-box.is-number-left .c-box__block::after {
        border-width: 16px 16px 0 16px
    }

    .c-box.is-number-left .c-box__number {
        width: 4rem;
        height: 4rem;
        padding-top: 0.625rem
    }

    .c-box.is-number-left .c-box__number small {
        font-size: 0.875rem
    }

    .c-box.is-number-left .c-box__number span {
        font-size: 2rem
    }

    .c-box__image {
        margin-bottom: 1rem
    }

    .c-box-archive__block {
        padding: 1rem 1.5rem 0.75rem
    }

    .c-box-archive__title {
        font-size: 1rem
    }

    .c-box-archive ul li {
        margin-right: 1.5rem;
        margin-bottom: 0.5rem
    }

    .c-box-caption {
        margin-top: 2rem;
        padding: 1.5rem;
        gap: 0.75rem
    }

    .c-box-caption__title {
        font-size: 1rem
    }

    .c-box-caption__text {
        font-size: .875rem
    }

    .c-box-cases {
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem
    }

    .c-box-cases__item {
        padding: 1.5rem
    }

    .c-box-cases__item-head {
        margin-bottom: .5rem;
        padding-bottom: .5rem
    }

    .c-box-cases__item-post {
        font-size: .9375rem
    }

    .c-box-cases__item-text {
        font-size: .9375rem
    }

    .c-box-history.is-column .c-box-history__item {
        grid-template-columns: 1fr;
        padding: 1.125rem 1rem
    }

    .c-box-history.is-column .c-box-history__item-head {
        padding-right: 0;
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: .5rem
    }

    .c-box-history.is-column .c-box-history__item-year {
        font-size: 1.375rem;
        line-height: 1
    }

    .c-box-history__item {
        grid-template-columns: 1fr
    }

    .c-box-history__item-text {
        margin-top: .5rem
    }

    .c-box-icon {
        gap: 0.75rem;
        max-width: 25rem;
        margin-inline: auto;
        justify-content: flex-start
    }

    .c-box-icon__item {
        width: calc(50% - 0.375rem);
        padding: 1.5rem min(1rem, 4.2666666667vw) 2.5rem
    }

    .c-box-icon__item-icon {
        width: 2.5rem
    }

    .c-box-interview__item {
        padding: 0 1.5rem
    }

    .c-box-interview__item-inner {
        flex-direction: column
    }

    .c-box-interview__item-content {
        border-radius: 0 0 .5rem .5rem;
        padding: 1.5rem 1rem
    }

    .c-box-interview__item-label {
        top: .5rem
    }

    .c-box-interview__item-label span.is-number {
        font-size: 0.875rem
    }

    .c-box-interview__item-label span.is-text {
        font-size: 0.875rem
    }

    .c-box-interview__item-title {
        font-size: 1rem
    }

    .c-box-interview__item-post {
        margin-top: .25rem
    }

    .c-box-interview__item-button {
        margin-top: 2rem
    }

    .c-box-interview__item-image {
        width: 100%;
        border-radius: .5rem .5rem 0 0
    }

    .c-box-interview .swiper-button {
        width: 2.875rem;
        height: 2.875rem;
        border-radius: .25rem
    }

    .c-box-interview .swiper-button-prev {
        left: 2.6666666667%
    }

    .c-box-interview .swiper-button-next {
        right: 2.6666666667%
    }

    .c-box-recruit {
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem
    }

    .c-box-recruit__item {
        padding: 2.625rem 2.25rem 2.25rem 1rem
    }

    .c-box-recruit__item-label {
        font-size: 0.875rem
    }

    .c-box-recruit__item-label {
        font-size: 0.875rem;
        font-weight: 600;
        padding: .25rem .75rem
    }

    .c-box-recruit__item-date {
        top: .25rem;
        right: .75rem
    }

    .c-box-recruit__item-title {
        font-size: 1.125rem
    }

    .c-box-recruit__item-units span::before {
        top: 0.95625rem
    }

    .c-box-recruit__item-units span {
        padding: .25rem 0 .25rem .75rem
    }

    .c-box-recruit__item-icon {
        right: .75rem;
        bottom: .75rem
    }

    .c-box-share {
        margin: 1.5rem 0;
        min-height: 12.5rem
    }

    .c-box-share__title {
        font-size: 1.25rem;
        margin-bottom: 0.875rem
    }

    .c-breadcrumb__inner {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-align: left
    }

    .c-business-needs__list {
        gap: 0.75rem;
        max-width: 25rem;
        margin-inline: auto
    }

    .c-business-needs__item {
        width: calc(50% - 0.375rem);
        padding: min(1.5rem, 6.4vw)
    }

    .c-business-needs__item-image {
        width: min(3.75rem, 16vw);
        height: min(3.75rem, 16vw);
        bottom: -0.0625rem;
        right: 0.75rem
    }

    .c-button-icon {
        font-size: 0.5625rem
    }

    .c-button-icon.is-lg {
        --_button-icon-size: 2.875rem
    }

    .c-button-wrap {
        margin-top: 2rem;
        gap: 0.75rem;
        align-items: flex-start
    }

    .c-card {
        --_card-columns: 2
    }

    .c-card.is-sp-co-1 {
        --_card-columns: 1
    }

    .c-card__list {
        gap: 1rem
    }

    .c-card__card-title {
        --_button-icon-size: 1.5rem;
        --_button-icon-arrow-size: 0.5rem;
        gap: 0.375rem;
        font-size: 0.8125rem
    }

    .c-card__card-text {
        font-size: 0.8125rem
    }

    .c-card-download__head.c-heading.is-md.is-border-bottom {
        margin-bottom: 1.5rem
    }

    .c-card-download__blocks {
        display: block;
        margin: 0
    }

    .c-card-download__block {
        width: 100%;
        padding: 1.25rem 1.25rem 1.5rem;
        margin: 0
    }

    .c-card-download__block:not(:first-child) {
        margin-top: 1.5rem
    }

    .c-card-download__image .is-no {
        font-size: 0.875rem
    }

    .c-card-download__content {
        margin-top: 0.75rem
    }

    .c-card-download__button {
        margin-top: 1rem
    }

    .c-card-download.is-three-col .c-card-download__block {
        width: 100%
    }

    .c-card-download.is-three-col .c-card-download__block:not(:first-child) {
        margin-top: 1.5rem
    }

    .c-card-image {
        --_card-columns: 2
    }

    .c-card-image__list {
        gap: 1rem
    }

    .c-card-image__card {
        grid-column: span 1
    }

    .c-card-image__card-caption {
        margin-top: 0.375rem;
        font-size: 0.75rem
    }

    .c-card-post__block {
        margin-bottom: 2rem
    }

    .c-card-post__text {
        margin-top: 0.5rem
    }

    .c-float-bg-wrapper {
        padding-bottom: calc(var(--_float-bg-wrapper-padding-bottom, 6.25rem) + 7.5rem)
    }

    .c-float-bg {
        align-content: end !important;
        overflow-x: clip
    }

    .c-float-bg__container {
        margin-bottom: 0;
        max-width: 23.4375rem
    }

    .c-float-bg__inner {
        width: 94.4%;
        margin-top: 2.5rem
    }

    .c-float-bg__item {
        width: 57.3446327684%;
        left: 16.9491525424%;
        bottom: 25.4237288136%
    }

    .c-float-bg__item::before {
        width: 1.5rem;
        height: 1.5rem
    }

    .c-float-bg__item::after {
        width: .75rem;
        height: .75rem
    }

    .c-forms__inner {
        padding: 1.5rem 0.75rem
    }

    .c-forms__blocks {
        margin-top: 1.5rem
    }

    .c-forms__block.is-horizontal {
        grid-template-columns: 1fr
    }

    .c-forms__block.is-horizontal .c-forms__title {
        justify-content: flex-start
    }

    .c-forms__radio:where(:not(.is-mw))>span>span,
    .c-forms__checkbox:where(:not(.is-mw))>span>span {
        flex-direction: column
    }

    .c-forms__radio:where(:not(.is-mw))>span>span>span,
    .c-forms__checkbox:where(:not(.is-mw))>span>span>span {
        width: 100%
    }

    .c-forms__radio:where(.is-mw),
    .c-forms__checkbox:where(.is-mw) {
        flex-direction: column
    }

    .c-forms__radio:where(.is-mw)>span,
    .c-forms__checkbox:where(.is-mw)>span {
        width: 100%
    }

    .c-forms__flexbox {
        display: block
    }

    .c-forms__flexbox-label {
        min-width: 100%;
        margin-bottom: 0.5rem
    }

    .c-forms__button {
        padding: 0.375rem 0.75rem;
        margin-top: calc((2.75rem - 2.375rem)/2)
    }

    .c-forms__submit {
        margin-top: 2rem
    }

    .c-forms__submit__back {
        width: calc(50% - 0.625rem);
        margin-right: 0.375rem
    }

    .c-forms__submit__submit {
        width: calc(50% - 0.625rem);
        margin-left: 0.375rem
    }

    .c-forms-document-detail__images {
        grid-template-columns: 1fr;
        gap: 1.25rem
    }

    .c-forms-document-detail__image .is-no {
        font-size: 0.875rem
    }

    .c-forms-document-detail__slider {
        margin-top: 1.25rem
    }

    .c-gallery-logo__image {
        width: 7.5rem
    }

    .c-gallery-text__item {
        font-size: 4.375rem
    }

    .c-heading.is-home .is-ja {
        font-size: 0.8125rem
    }

    .c-heading.is-home .is-eng {
        font-size: 2.75rem
    }

    .c-heading.is-xxlg {
        font-size: 1.5rem
    }

    .c-heading.is-xxlg {
        margin-bottom: 1.25rem
    }

    .c-heading.is-xlg {
        font-size: 1.625rem
    }

    .c-heading.is-xlg {
        margin-bottom: 2rem
    }

    .c-heading.is-xlg span.is-sm {
        font-size: 1.125rem
    }

    .c-heading.is-xlg span.is-lg {
        font-size: 1.625rem
    }

    .c-heading.is-lg {
        font-size: 1.125rem
    }

    .c-heading.is-lg {
        margin-bottom: 1rem
    }

    .c-heading.is-md {
        font-size: 1.5rem
    }

    .c-heading.is-md {
        margin-bottom: 1.25rem
    }

    .c-heading.is-sm {
        font-size: 1.25rem
    }

    .c-heading.is-xs {
        font-size: 1.125rem
    }

    .c-heading.is-xxs {
        font-size: 1rem
    }

    .c-heading.is-xxs {
        margin-bottom: 1.5rem
    }

    .c-heading.is-mg-level-1 {
        margin-bottom: 2.5rem
    }

    .c-heading.is-mg-level-2 {
        margin-bottom: 2rem
    }

    .c-heading.is-mg-level-3 {
        margin-bottom: 1.5rem
    }

    .c-heading.is-mg-level-4 {
        margin-bottom: 1.25rem
    }

    .c-heading.is-mg-level-5 {
        margin-bottom: 1rem
    }

    .c-hero-block__item:nth-child(even) {
        flex-direction: column
    }

    .c-hero-block__item:nth-child(even) .c-hero-block__item-image {
        margin-left: auto
    }

    .c-hero-block__item {
        margin-top: 5rem;
        flex-direction: column
    }

    .c-hero-block__item .c-hero-block__item-image {
        margin-left: auto;
        margin-right: auto
    }

    .c-hero-block__item-image {
        width: 100%;
        margin-right: auto;
        margin-bottom: 1.5rem
    }

    .c-hero-block__item-text {
        margin-top: 1.5rem
    }

    .c-hero-block__item-button {
        margin-top: 1.5rem
    }

    .c-hero-block-square__block {
        margin-bottom: 1rem
    }

    .c-hero-block-square__image {
        position: relative;
        width: 100%;
        min-height: 60vw
    }

    .c-hero-block-square__image img {
        width: auto;
        height: 100%
    }

    .c-hero-block-square__content {
        width: 100%;
        padding: 1.5rem 0;
        min-height: inherit;
        display: block
    }

    .c-hero-block-square__content .c-heading {
        margin-bottom: 1rem
    }

    .c-hero-block-square__button {
        margin-top: 1.5rem
    }

    .c-hero-block-square.is-number .c-hero-block-square__heading span {
        font-size: 3rem
    }

    .c-hero-block-square.is-zigzag .c-hero-block-square__image {
        width: 100%
    }

    .c-hero-block-square.is-zigzag .c-hero-block-square__content {
        width: 100%
    }

    hr,
    .c-hr {
        margin: 2rem auto
    }

    .c-interview-header {
        margin-bottom: 1.5rem
    }

    .c-interview-header__numbers {
        margin-bottom: 1.5rem
    }

    .c-interview-header__numbers .is-number {
        font-size: 1rem
    }

    .c-interview-header__numbers .is-text {
        font-size: 1.25rem
    }

    .c-interview-header__title {
        font-size: 1.625rem
    }

    .c-interview-header__title {
        font-size: 1.75rem;
        font-weight: 600;
        line-height: 1.6
    }

    .c-interview-header__sup {
        margin-top: 1rem;
        font-size: .875rem;
        line-height: 1.7142857143
    }

    .c-label {
        font-size: 0.8125rem;
        min-width: 5.5rem
    }

    .c-label.is-xlg {
        min-width: 7.5rem;
        font-size: 0.75rem;
        padding: 0.125rem 0.5rem
    }

    .c-lead {
        text-align: left
    }

    .c-main-visual__wrapper {
        padding: 0 1.125rem 1rem
    }

    .c-main-visual__title .is-sm {
        margin-bottom: 1.5rem
    }

    .c-news-header {
        margin-bottom: 1rem
    }

    .c-news-header__title {
        font-size: 1.25rem;
        margin-bottom: 1rem
    }

    .c-news-header__sup {
        gap: 0.5rem 1rem
    }

    .c-news-header__tag {
        width: 100%
    }

    .c-news__columns {
        grid-template-columns: 1fr;
        gap: 1rem
    }

    .c-news__button {
        margin-top: 0;
        position: absolute;
        width: 100%;
        bottom: 0;
        right: 0;
        text-align: center
    }

    .c-news__button .c-button {
        max-width: 14rem
    }

    .c-news__block {
        padding: 1.5rem 0;
        gap: 0 0.75rem
    }

    .c-news__block:first-child {
        border-top: none
    }

    .c-news__block-content {
        gap: 0 0.625rem
    }

    .c-news__block-content:has(.c-news__block-excerpt) {
        align-items: center
    }

    .c-news__block-image {
        width: 4.125rem
    }

    .c-news__block-text {
        font-size: 0.8125rem
    }

    .c-news__block-icon {
        width: 1.625rem;
        --_button-icon-size: 1.625rem;
        --_button-icon-arrow-size: 0.6875rem
    }

    .c-page-lead__copy {
        font-size: 1.625rem
    }

    .c-page-lead__copy {
        margin-bottom: 1.25rem
    }

    .c-page-lead__text {
        font-size: 0.9375rem
    }

    .c-page-lead__text {
        text-align: left;
        max-width: 36.25rem;
        margin-inline: auto
    }

    .c-pagetop {
        right: 0.875rem;
        bottom: 0.875rem
    }

    .c-pagination__num {
        width: 2.5rem
    }

    .c-post-navs {
        margin: 2rem 0
    }

    .c-post-navs li {
        width: calc(33% - 0.5rem)
    }

    .c-post-navs .c-button {
        font-size: 0.75rem;
        letter-spacing: 0
    }

    .c-post-navs .c-post-navs__prev a {
        padding-left: 1.25rem;
        padding-right: 0.5rem
    }

    .c-post-navs .c-post-navs__archive a {
        padding-left: 0.5rem;
        padding-right: 0.5rem
    }

    .c-post-navs .c-post-navs__archive a span {
        display: none
    }

    .c-post-navs .c-post-navs__next a {
        padding-right: 1.25rem;
        padding-left: 0.5rem
    }

    .c-recruit-relation__link {
        padding: 2rem 1.5rem
    }

    .c-recruit-relation__link-title {
        font-size: 1rem
    }

    .c-recruit-relation__link-text {
        font-size: .875rem
    }

    .c-recruit-search__block:not(:first-child) {
        margin-top: 0
    }

    .c-recruit-search__block {
        padding-bottom: 0;
        display: block
    }

    .c-recruit-search__title {
        display: block;
        min-width: auto;
        width: 100%;
        padding: 1rem 0
    }

    .c-recruit-search__title::after {
        display: block
    }

    .c-recruit-search__wrap {
        display: none;
        padding-bottom: 1.5rem
    }

    .c-recruit-search__item span {
        font-size: .875rem;
        line-height: 1.5
    }

    .c-relation__title.c-heading.is-sm {
        margin-bottom: 1.5rem
    }

    .c-relation__buttons {
        display: block;
        margin: 0
    }

    .c-relation__button {
        width: 100%;
        margin: 0
    }

    .c-relation__button:not(:first-child) {
        margin-top: 1rem
    }

    .c-sitemap__item a {
        font-size: 1rem
    }

    .c-sitemap__item.is-parent {
        margin-bottom: 1.25rem
    }

    .c-sitemap__sublist {
        margin-top: 1.125rem
    }

    .c-sitemap__sublist.is-three-col {
        width: 100%
    }

    .c-sitemap__sublist.is-three-col .c-sitemap__subitem {
        width: 50%
    }

    .c-sitemap__subitem {
        margin-bottom: 0.625rem
    }

    .c-sitemap__subitem a {
        font-size: 0.875rem
    }

    .c-sitemap__subitem li a {
        font-size: 0.75rem
    }

    .c-table th,
    .c-table td {
        padding: 0.75rem
    }

    .c-table tbody th {
        width: 6.375rem
    }

    .c-table .item {
        flex-direction: column;
        align-items: flex-start
    }

    .c-table .item-button {
        margin-top: .5rem;
        margin-left: 0
    }

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

    .c-tabs__navs li {
        border-width: 1px
    }

    .c-tabs__navs a {
        padding: .375rem .75rem
    }

    .c-tabs__content.is-active {
        margin-top: 1.5rem
    }

    .c-tabs.is-index .c-tabs__navs li {
        width: inherit;
        min-width: inherit;
        border: 1px solid #F26A2E;
        margin-bottom: 0.5rem
    }

    .p-benefits {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem .5625rem
    }

    .p-benefits__item {
        padding: 1rem;
        gap: 1rem
    }

    .p-benefits__item-icon {
        width: 2.5rem
    }

    .p-benefits__item-title {
        font-size: 0.9375rem
    }

    .p-benefits__item-title {
        min-height: 3rem
    }

    .p-company-access__item {
        grid-template-columns: 1fr
    }

    .p-company-access__item:has(.p-company-access__item-image) {
        grid-template-columns: 1fr;
        gap: 1.5rem
    }

    .p-company-access__item-head {
        padding-bottom: 1.5rem
    }

    .p-company-access__item-button {
        display: none
    }

    .p-company-access__item-sp-button {
        display: block;
        text-align: center
    }

    .p-company-philosophy__item {
        grid-template-columns: 1fr;
        padding: 1.5rem 0;
        gap: 1rem
    }

    .p-company-philosophy__item-text {
        gap: 1rem
    }

    .p-company-philosophy__item-text span.is-text {
        font-size: 1.125rem
    }

    .p-company-products {
        grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
        gap: 1.5rem 1rem
    }

    .p-custom-broker {
        display: flex;
        flex-direction: column-reverse;
        gap: 2rem
    }

    .p-custom-broker__text {
        margin-top: 1.5rem
    }

    .p-custom-broker__image img {
        aspect-ratio: 16/14
    }

    .p-equipment:not(:last-child) {
        margin-bottom: 2.5rem;
        padding-bottom: 2.5rem
    }

    .p-equipment:has(.p-equipment__single-image),
    .p-equipment:has(.p-equipment__main-images) {
        grid-template-columns: 1fr;
        gap: 1.5rem
    }

    .p-equipment__toggle-button {
        margin-top: 1.5rem
    }

    .p-equipment__toggle-button button {
        padding: .75rem
    }

    .p-faq__title {
        font-size: 0.9375rem
    }

    .p-faq__title {
        padding: 0.75rem 2rem 0.75rem 0.75rem;
        line-height: 1.5
    }

    .p-faq__title::after,
    .p-faq__title::before {
        right: 1rem
    }

    .p-faq__title-icon,
    .p-faq__content-icon {
        font-size: 1.375rem
    }

    .p-faq__content-wrapper {
        padding: 1rem
    }

    .p-gallery {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem .5625rem
    }

    .p-gallery__item-image {
        aspect-ratio: 159/212
    }

    .p-gallery__item-icon::before,
    .p-gallery__item-icon::after {
        width: .625rem
    }

    .p-gallery__item-icon {
        right: .625rem;
        bottom: .625rem;
        width: 1.5rem;
        height: 1.5rem
    }

    .p-home-about {
        margin-bottom: calc(var(--_home-about-margin-bottom, 0) - 7.5rem);
        padding-top: 3.5rem;
        padding-bottom: 4rem;
        min-height: initial
    }

    .p-home-about__accent-line {
        display: block;
        position: absolute;
        right: -1.5rem;
        bottom: 1.5rem;
        margin: auto;
        pointer-events: none
    }

    .p-home-about__head {
        margin-bottom: 19.125rem
    }

    .p-home-about__container {
        flex-direction: column
    }

    .p-home-about__navs {
        flex-direction: row;
        background: rgba(0, 0, 0, 0);
        border-radius: 0;
        padding: 0;
        width: 100%
    }

    .p-home-about__navs-item {
        width: 100%
    }

    .p-home-about__navs-link .is-pc {
        display: none
    }

    .p-home-about__navs-link .is-sp {
        display: block
    }

    .p-home-about__navs-link {
        writing-mode: horizontal-tb;
        min-height: inherit;
        padding: .5rem .5rem;
        font-size: .875rem;
        line-height: 1.7;
        gap: 0.25rem;
        background: #eeeef4;
        color: #1A1A1A;
        width: 100%
    }

    .p-home-about__contents {
        width: 100%;
        margin-top: 1.625rem
    }

    .p-home-about__item-text {
        gap: .75rem
    }

    .p-home-about__item-text p {
        line-height: 1.7
    }

    .p-home-about__item-text.is-pc {
        display: none
    }

    .p-home-about__item-text.is-sp {
        display: flex
    }

    .p-home-about__unit {
        padding: 1rem 0 0
    }

    .p-home-about__unit:not(:last-child) {
        padding: 1rem 0 1.25rem
    }

    .p-home-about__unit-text {
        margin-top: .75rem;
        padding-left: 2.9375rem
    }

    .p-home-about__unit-text .is-text:not(:first-child) {
        margin-top: .75rem;
        padding-top: .625rem
    }

    .p-home-about__unit-text .is-text:last-child {
        padding-top: .625rem
    }

    .p-home-about__unit-text .is-text {
        font-size: 1.0625rem;
        line-height: 1.7
    }

    .p-home-business {
        grid-template-columns: 1fr
    }

    .p-home-business__text {
        margin-top: 0;
        margin-bottom: 1.5rem
    }

    .p-home-business__item {
        display: grid;
        grid-template-columns: 187fr 120fr;
        gap: 1.25rem
    }

    .p-home-business__item-inner {
        gap: 0;
        grid-template-areas: "title" "text" "button"
    }

    .p-home-business__item-title {
        margin-bottom: .375rem
    }

    .p-home-business__item-text {
        font-size: .8125rem
    }

    .p-home-business__item-button {
        margin-top: 1rem;
        align-self: flex-start;
        margin-left: 0
    }

    .p-home-business__item-image {
        display: block
    }

    .p-home-business__images {
        display: none
    }

    .p-home-equipment__line {
        width: 98%;
        top: 29%;
        bottom: inherit
    }

    .p-home-equipment__wrapper {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 2rem 0
    }

    .p-home-equipment__head {
        display: block;
        margin-bottom: 2rem
    }

    .p-home-equipment__images {
        width: 100%;
        height: 84.2666666667vw
    }

    .p-home-equipment__lg-images {
        width: 45.8666666667vw
    }

    .p-home-equipment__md-images {
        width: 26.4vw;
        right: 8.2666666667%
    }

    .p-home-equipment__sm-images {
        width: 26.9333333333vw;
        top: 19.5718654434%;
        right: 3.3639143731%
    }

    .p-home-equipment__container {
        margin-top: 2rem;
        padding: 0
    }

    .p-home-equipment__title {
        display: none
    }

    .p-home-equipment__sub-title {
        margin-top: 0
    }

    .p-home-equipment__button {
        margin-top: 2.5rem
    }

    .p-home-news {
        padding-bottom: 4rem
    }

    .p-home-news__container {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .p-home-news__navs {
        margin-top: .375rem;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .4375rem
    }

    .p-home-news__navs-item {
        width: 100%
    }

    .p-home-news__navs-link {
        padding: .5rem
    }

    .p-home-news__button {
        text-align: left;
        margin-top: 1.5rem
    }

    .p-home-recruit {
        margin-top: -4.5rem
    }

    .p-home-recruit__image::after {
        background: linear-gradient(to bottom, rgba(42, 66, 240, 0), #4b60fe)
    }

    .p-home-recruit__content {
        padding: 18.5625rem 1.5rem 1.875rem 1.375rem
    }

    .p-home-recruit__sub-title {
        font-size: 1.25rem;
        margin-top: .5rem
    }

    .p-home-recruit__text {
        margin-top: .5rem;
        font-size: .875rem
    }

    .p-home-recruit__button {
        margin-top: 2rem;
        text-align: left
    }

    .p-interview__item-label {
        top: .5rem
    }

    .p-interview__item-label span.is-number {
        font-size: 0.875rem
    }

    .p-interview__item-label span.is-text {
        font-size: 0.875rem
    }

    .p-interview__item-title {
        font-size: 0.875rem
    }

    .p-interview__item-post span {
        font-size: 0.8125rem
    }

    .p-interview-hero__item:nth-child(even) {
        flex-direction: column
    }

    .p-interview-hero__item {
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
        flex-direction: column
    }

    .p-interview-hero__item-title {
        font-size: 1.25rem
    }

    .p-interview-hero__item-title {
        font-size: 1.25rem;
        font-weight: 600
    }

    .p-interview-hero__item-image {
        width: 100%;
        aspect-ratio: 375/250
    }

    .p-interview-read__item-title {
        font-size: 1.25rem
    }

    .p-interview-read__item-title {
        font-size: 1.25rem;
        font-weight: 600
    }

    .p-interview-read__item-text {
        font-size: 0.9375rem
    }

    .p-job__block {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 4rem;
        padding: 0 0 4rem
    }

    .p-job__items {
        margin-top: 1.5rem
    }

    .p-job__item {
        padding: 1rem 0 1.5rem
    }

    .p-job__item-title {
        font-size: 1.125rem
    }

    .p-job__item-title {
        font-size: 1rem
    }

    .p-job__item-text {
        margin-top: .75rem;
        font-size: .875rem
    }

    .p-job__item-button {
        margin-top: 2.5rem;
        display: none
    }

    .p-job__image {
        margin-top: 1.5rem
    }

    .p-job__button {
        display: block;
        margin-top: 1.5rem
    }

    .p-numbers__item {
        padding: 1.25rem
    }

    .p-numbers__item-titles {
        flex-direction: column;
        gap: .25rem
    }

    .p-numbers__item-title {
        font-size: 0.8125rem
    }

    .p-numbers__item-content {
        margin-top: 2.75rem;
        padding: 0 0 .75rem
    }

    .p-numbers__item-number .is-number {
        font-size: 3.75rem;
        line-height: 1
    }

    .p-numbers__item-number .is-text {
        font-size: 1.125rem
    }

    .p-numbers__item-number .is-text {
        padding-bottom: .25rem
    }

    .p-numbers__item-icon {
        width: 3.5rem
    }

    .p-page-header-recruit {
        padding-bottom: 4rem;
        -webkit-mask-size: 100% auto, 100% 100%;
        mask-size: 100% auto, 100% 100%
    }

    .p-page-header-recruit__content-inner {
        display: flex;
        flex-direction: column;
        height: 100%
    }

    .p-page-header-recruit__title-wrap {
        padding-top: 2.6875rem
    }

    .p-page-header-recruit__subtitle {
        font-size: 0.8125rem
    }

    .p-page-header-recruit__title {
        font-size: 2.25rem
    }

    .p-page-header-recruit__sub-title {
        font-size: 1.625rem
    }

    .p-page-header-recruit__sub-title {
        margin-top: 2rem;
        font-size: 1rem;
        font-weight: 600
    }

    .p-page-header-recruit__text {
        font-size: 1rem
    }

    .p-page-header-recruit__text {
        margin-top: 5rem;
        font-size: .875rem;
        line-height: 1.6
    }

    .p-possession {
        gap: 2rem
    }

    .p-possession__item:nth-child(even) {
        padding: 0
    }

    .p-possession__item:nth-child(n+3) {
        padding: 0
    }

    .p-possession__item {
        width: 100%
    }

    .p-possession__item-image {
        width: 38.4%
    }

    .p-possession__item-content {
        padding: 0
    }

    .p-possession__item-texts {
        font-size: .8125rem
    }

    .p-possession__item-texts span.is-lg {
        font-size: 1rem
    }

    .p-possession__item-labels {
        margin-top: .75rem;
        padding: .125rem .5rem
    }

    .p-possession__item-labels span.is-sm {
        font-size: .8125rem
    }

    .p-possession__item-labels span.is-lg {
        font-size: .875rem
    }

    .p-special-column {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .p-special-column__content {
        margin-top: 0
    }

    .p-strength__block {
        background: #f6f5fb
    }

    .p-strength__block.is-02 .p-strength__container {
        margin-right: 0
    }

    .p-strength__block.is-03 .p-strength__container {
        margin-right: 0
    }

    .p-strength__block.is-04 .p-strength__container {
        margin-right: 0
    }

    .p-strength__container {
        height: auto;
        padding: 5rem 0;
        display: block
    }

    .p-strength__nav {
        position: relative;
        flex-direction: row;
        gap: .5rem;
        top: inherit;
        right: inherit;
        margin-bottom: .5rem;
        align-items: center;
        padding: 0 1.5rem;
        margin-bottom: 1.5rem
    }

    .p-strength__nav .is-number {
        writing-mode: horizontal-tb
    }

    .p-strength__nav .is-text {
        writing-mode: horizontal-tb
    }

    .p-strength__inner {
        grid-template-columns: 1fr;
        grid-template-areas: "image" "content";
        gap: 1.875rem;
        padding-right: 0
    }

    .p-strength__image img {
        aspect-ratio: 327/225
    }

    .p-strength__content {
        min-height: auto
    }

    .p-strength__head {
        display: none
    }

    .l-block__margin-normal {
        margin-top: 1.75rem
    }

    .l-block__margin-large {
        margin-top: 2rem
    }

    .l-block__margin-medium {
        margin-top: 0.75rem
    }

    .l-block__margin-small {
        margin-top: 0.75rem
    }

    .l-post-content h2 {
        margin-top: 2.5rem;
        font-size: 1.125rem
    }

    .l-post-content h3 {
        margin-top: 2rem;
        font-size: 1rem
    }

    .l-post-content h4 {
        font-size: 0.9375rem
    }

    .l-post-content h5 {
        font-size: 0.875rem
    }

    .l-post-content h6 {
        font-size: 0.875rem
    }

    .l-post-content table th,
    .l-post-content table td {
        padding: 0.75rem
    }

    .l-post-content table tbody th {
        width: 6.375rem
    }

    .l-post-content blockquote {
        padding: 0.75rem 0.75rem 0.75rem 2rem
    }

    .l-post-content blockquote::before {
        width: 0.8125rem;
        height: 0.6875rem;
        top: 0.5rem;
        left: 0.5rem
    }

    .row {
        margin-left: -0.5rem;
        margin-right: -0.5rem
    }

    .c-post-password__label {
        margin-bottom: .5rem
    }

    .c-post-password__content {
        gap: 1rem
    }

    .c-search__head {
        font-size: 1rem;
        margin-bottom: 1rem
    }

    .c-search__situation {
        gap: 0.375rem 3.625rem
    }

    .c-search__situation dl {
        font-size: 0.8125rem
    }

    .c-search__situation dt {
        margin-right: 0.375rem
    }

    .c-search__situation dd:not(:first-of-type) {
        margin-left: 1.5rem
    }

    .c-search__blocks {
        margin-top: 1rem
    }

    .c-search__block {
        padding: 1rem 0
    }

    .c-search__title {
        font-size: 0.9375rem
    }

    .c-search__text {
        margin-top: 0.625rem
    }

    .c-search__url {
        font-size: 0.8125rem;
        margin-top: 0.375rem
    }

    .c-search-result-aside {
        padding-top: 2rem
    }

    .c-search-result-aside__keyword {
        font-size: 0.8125rem
    }

    .c-search-result-header__form {
        padding: 1rem 1.25rem
    }

    .c-searchform-bar {
        height: 2.875rem
    }

    .c-searchform-bar__icon {
        padding: 0.625rem
    }

    .c-searchform-bar__icon span {
        font-size: 1.25rem
    }

    .c-searchform-bar input {
        height: 1.375rem;
        padding-top: 0;
        padding-bottom: 0.25rem
    }

    .c-searchform-bar input::-moz-placeholder {
        font-size: 0.6875rem
    }

    .c-searchform-bar input::placeholder {
        font-size: 0.6875rem
    }

    .c-searchform-bar button {
        width: 4.875rem;
        font-size: 0.75rem
    }

    #toc_container {
        margin: 1rem 0;
        padding: 1rem 1.5rem 1.5rem
    }

    .c-block-responsive-spacer.is-xxlg {
        height: 4rem
    }

    .c-block-responsive-spacer.is-xlg {
        height: 3.125rem
    }

    .c-block-responsive-spacer.is-lg {
        height: 3.125rem
    }

    .c-block-responsive-spacer.is-md {
        height: 2.5rem
    }

    .c-block-responsive-spacer.is-sm {
        height: 2rem
    }

    .c-block-responsive-spacer.is-xs {
        height: 1.5rem
    }

    .u-mbs {
        margin-top: 2rem;
        margin-bottom: 2rem
    }

    .u-mbs.is-xlg {
        margin-top: 3.75rem;
        margin-bottom: 3.75rem
    }

    .u-mbs.is-lg {
        margin-top: 3.125rem;
        margin-bottom: 3.125rem
    }

    .u-mbs.is-md {
        margin-top: 2rem;
        margin-bottom: 2rem
    }

    .u-mbs.is-sm {
        margin-top: 1.25rem;
        margin-bottom: 1.25rem
    }

    .u-mbs.is-xs {
        margin-top: .75rem;
        margin-bottom: .75rem
    }

    .u-hidden-sm {
        display: none !important
    }

    .u-visible-sm {
        display: block !important
    }

    .u-visible-sm.is-inlineblock {
        display: inline-block !important
    }

    .u-text-lg {
        font-size: .875rem
    }
}

@media screen and (width >=46.875em) {
    .c-card-image__list:where(:not(:has(.c-card-image__card:nth-child(3))))::before {
        content: "";
        grid-column: span 1
    }

    .c-card-image__list:where(:not(:has(.c-card-image__card:nth-child(2))))::before {
        content: "";
        grid-column: span 2
    }

    .large-1 {
        width: 8.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-1 {
        margin-left: 8.3333333333%
    }

    .large-2 {
        width: 16.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-2 {
        margin-left: 16.6666666667%
    }

    .large-3 {
        width: 25%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-3 {
        margin-left: 25%
    }

    .large-4 {
        width: 33.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-4 {
        margin-left: 33.3333333333%
    }

    .large-5 {
        width: 41.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-5 {
        margin-left: 41.6666666667%
    }

    .large-6 {
        width: 50%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-6 {
        margin-left: 50%
    }

    .large-7 {
        width: 58.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-7 {
        margin-left: 58.3333333333%
    }

    .large-8 {
        width: 66.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-8 {
        margin-left: 66.6666666667%
    }

    .large-9 {
        width: 75%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-9 {
        margin-left: 75%
    }

    .large-10 {
        width: 83.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-10 {
        margin-left: 83.3333333333%
    }

    .large-11 {
        width: 91.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-11 {
        margin-left: 91.6666666667%
    }

    .large-12 {
        width: 100%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-lg-12 {
        margin-left: 100%
    }

    .c-searchform-bar.is-sm {
        height: 3.5rem
    }

    .c-searchform-bar.is-sm input {
        height: 2rem
    }

    .u-hidden-lg {
        display: none !important
    }

    .u-visible-lg {
        display: block !important
    }

    .u-visible-lg.is-inlineblock {
        display: inline-block !important
    }
}

@media screen and (46.875em <=width < 59.375em) {
    .medium-1 {
        width: 8.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-1 {
        margin-left: 8.3333333333%
    }

    .medium-2 {
        width: 16.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-2 {
        margin-left: 16.6666666667%
    }

    .medium-3 {
        width: 25%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-3 {
        margin-left: 25%
    }

    .medium-4 {
        width: 33.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-4 {
        margin-left: 33.3333333333%
    }

    .medium-5 {
        width: 41.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-5 {
        margin-left: 41.6666666667%
    }

    .medium-6 {
        width: 50%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-6 {
        margin-left: 50%
    }

    .medium-7 {
        width: 58.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-7 {
        margin-left: 58.3333333333%
    }

    .medium-8 {
        width: 66.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-8 {
        margin-left: 66.6666666667%
    }

    .medium-9 {
        width: 75%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-9 {
        margin-left: 75%
    }

    .medium-10 {
        width: 83.3333333333%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-10 {
        margin-left: 83.3333333333%
    }

    .medium-11 {
        width: 91.6666666667%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-11 {
        margin-left: 91.6666666667%
    }

    .medium-12 {
        width: 100%;
        padding-left: 1rem;
        padding-right: 1rem
    }

    .is-push-md-12 {
        margin-left: 100%
    }
}

@media screen and (width >=59.375em) {
    .c-news__block-content-inner {
        display: contents
    }

    .c-slidebar-button {
        display: none
    }

    .c-slidebar-menu {
        display: none
    }
}

@media screen and (width >=87.5em) {
    .p-home-equipment__line {
        width: 50vw
    }
}

@media screen and (width >=101.3125em) {
    .p-strength__inner {
        padding-right: 0
    }
}

@media screen and (width >=118.75em) {
    .l-offer__content-line {
        width: min(33.875rem + (100vw - 73.75rem)/2, 81.25rem)
    }
}

@media (hover: hover) {
    a:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    a:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    .l-header__topmenu-item a:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .l-header__topmenu-item a:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .l-header__mainmenu :where(a, button):where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .l-header__mainmenu :where(a, button):where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .l-header__submenu-title-button:where(:-moz-any-link, :enabled, summary):hover {
        color: inherit
    }

    .l-header__submenu-title-button:where(:any-link, :enabled, summary):hover {
        color: inherit
    }

    .l-header__submenu-block:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: inherit
    }

    .l-header__submenu-block:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: inherit
    }

    .l-header__button:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F4C430;
        background-color: #fdfdff
    }

    .l-header__button:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F4C430;
        background-color: #fdfdff
    }

    .l-header__button.is-primary:where(:-moz-any-link, :enabled, summary):hover {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .l-header__button.is-primary:where(:any-link, :enabled, summary):hover {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .l-offer__content-title:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .l-offer__content-title:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .l-searchform__close:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    .l-searchform__close:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-accordion__title:where(:-moz-any-link, :enabled, summary):hover {
        background-color: #F4C430;
        color: #fdfdff
    }

    .c-accordion__title:where(:any-link, :enabled, summary):hover {
        background-color: #F4C430;
        color: #fdfdff
    }

    .c-accordion__title:where(:-moz-any-link, :enabled, summary):hover::before,
    .c-accordion__title:where(:-moz-any-link, :enabled, summary):hover::after {
        background-color: #fdfdff
    }

    .c-accordion__title:where(:any-link, :enabled, summary):hover::before,
    .c-accordion__title:where(:any-link, :enabled, summary):hover::after {
        background-color: #fdfdff
    }

    .c-accordion__title:where(:-moz-any-link, :enabled, summary):hover .c-accordion__title-icon {
        color: #fdfdff
    }

    .c-accordion__title:where(:any-link, :enabled, summary):hover .c-accordion__title-icon {
        color: #fdfdff
    }

    .c-anchor-nav__nav-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-anchor-nav__nav-link:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    :where(.c-aside-navs__index-item) a:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    :where(.c-aside-navs__index-item) a:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .c-aside-navs__list-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .c-aside-navs__list-link:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #F26A2E
    }

    .c-aside-navs__select select:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #fdfdff;
        background-color: #F26A2E;
        background-image: url('data:image/svg+xml;utf8,<svg width="9" height="6" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.945 2.38419e-05L9 1.05402L4.5 5.55402L0 1.05402L1.055 -0.000976562L4.5 3.44502L7.945 2.38419e-05Z" fill="%23ffffff"/></svg>')
    }

    .c-aside-navs__select select:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #fdfdff;
        background-color: #F26A2E;
        background-image: url('data:image/svg+xml;utf8,<svg width="9" height="6" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.945 2.38419e-05L9 1.05402L4.5 5.55402L0 1.05402L1.055 -0.000976562L4.5 3.44502L7.945 2.38419e-05Z" fill="%23ffffff"/></svg>')
    }

    .c-banner-relation__link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-banner-relation__link:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-box-interview__item-button:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-box-interview__item-button:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-box-recruit__item:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-box-recruit__item:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-button:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-button:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-button.is-simple:where(:-moz-any-link, :enabled, summary):hover {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .c-button.is-simple:where(:any-link, :enabled, summary):hover {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .c-button.is-sm:where(:-moz-any-link, :enabled, summary):hover {
        background-color: #F26A2E;
        color: #fdfdff
    }

    .c-button.is-sm:where(:any-link, :enabled, summary):hover {
        background-color: #F26A2E;
        color: #fdfdff
    }

    a:hover .c-button-icon,
    button:hover .c-button-icon,
    .c-button-icon:hover {
        opacity: 1;
        color: var(--_button-icon-hover-color, #F26A2E);
        background: var(--_button-icon-hover-bg, #fdfdff)
    }

    a:hover .c-button-icon::before,
    button:hover .c-button-icon::before,
    .c-button-icon:hover::before {
        background: var(--_button-icon-hover-color, #F26A2E);
        animation: arrowMove .3s cubic-bezier(1, 0.5, 0.6, 1.4) both
    }

    a:hover .c-button-icon::after,
    button:hover .c-button-icon::after,
    .c-button-icon:hover::after {
        transform: translateX(0)
    }

    a:hover .c-button-icon .c-button-icon__text,
    button:hover .c-button-icon .c-button-icon__text,
    .c-button-icon:hover .c-button-icon__text {
        color: var(--_button-icon-hover-color, #F26A2E);
        animation: arrowMove .3s cubic-bezier(1, 0.5, 0.6, 1.4) both
    }

    .c-card__card:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-card__card:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-card-download__block:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-card-download__block:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-card-download__block:where(:-moz-any-link, :enabled, summary):hover img {
        transform: scale(1.1)
    }

    .c-card-download__block:where(:any-link, :enabled, summary):hover img {
        transform: scale(1.1)
    }

    .c-card-download__block:where(:-moz-any-link, :enabled, summary):hover .c-button {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .c-card-download__block:where(:any-link, :enabled, summary):hover .c-button {
        background-color: #fdfdff;
        color: #F26A2E
    }

    .c-card-image__card:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-card-image__card:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-forms-document-detail__slider .swiper-nav .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover,
    .c-forms-document-detail__slider .swiper-nav .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-forms-document-detail__slider .swiper-nav .swiper-button-prev:where(:any-link, :enabled, summary):hover,
    .c-forms-document-detail__slider .swiper-nav .swiper-button-next:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-lang-selector__trigger:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-lang-selector__trigger:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-mm__close:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        color: #fdfdff;
        background: #F4C430
    }

    .c-mm__close:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        color: #fdfdff;
        background: #F4C430
    }

    .c-mm__close-icon:is(:where(:-moz-any-link, :enabled, summary):hover *) {
        opacity: 1;
        background: #fdfdff
    }

    .c-mm__close-icon:is(:where(:any-link, :enabled, summary):hover *) {
        opacity: 1;
        background: #fdfdff
    }

    .c-mm__close-icon:is(:where(:-moz-any-link, :enabled, summary):hover *)::before {
        background: #F4C430
    }

    .c-mm__close-icon:is(:where(:any-link, :enabled, summary):hover *)::before {
        background: #F4C430
    }

    .c-mm__gallery-btn:where(:-moz-any-link, :enabled, summary):hover:not(:disabled) {
        color: #F26A2E
    }

    .c-mm__gallery-btn:where(:any-link, :enabled, summary):hover:not(:disabled) {
        color: #F26A2E
    }

    .c-modal-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-modal-link:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-news-header__nav:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-news-header__nav:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-news__block:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        background-color: #fdfdff
    }

    .c-news__block:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        background-color: #f26a2e14
    }

    .c-pagetop a:where(:-moz-any-link, :enabled, summary):hover,
    .c-pagetop button:where(:-moz-any-link, :enabled, summary):hover {
        color: #1A1A1A;
        background: #fdfdff
    }

    .c-pagetop a:where(:any-link, :enabled, summary):hover,
    .c-pagetop button:where(:any-link, :enabled, summary):hover {
        color: #1A1A1A;
        background: #fdfdff
    }

    .c-pagination__num:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        background: #F26A2E;
        color: #fdfdff;
        border-color: #F26A2E
    }

    .c-pagination__num:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        background: #F26A2E;
        color: #fdfdff;
        border-color: #F26A2E
    }

    .c-recruit-relation__link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-recruit-relation__link:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-tabs__navs a:where(:-moz-any-link, :enabled, summary):hover {
        border-color: #F4C430;
        background: #fdfdff;
        color: #F4C430;
        opacity: 1
    }

    .c-tabs__navs a:where(:any-link, :enabled, summary):hover {
        border-color: #F4C430;
        background: #fdfdff;
        color: #F4C430;
        opacity: 1
    }

    .c-tabs__navs a.is-active:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .c-tabs__navs a.is-active:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .p-faq__title:where(:-moz-any-link, :enabled, summary):hover {
        background-color: #F4C430;
        color: #fdfdff
    }

    .p-faq__title:where(:any-link, :enabled, summary):hover {
        background-color: #F4C430;
        color: #fdfdff
    }

    .p-faq__title:where(:-moz-any-link, :enabled, summary):hover::before,
    .p-faq__title:where(:-moz-any-link, :enabled, summary):hover::after {
        background-color: #fdfdff
    }

    .p-faq__title:where(:any-link, :enabled, summary):hover::before,
    .p-faq__title:where(:any-link, :enabled, summary):hover::after {
        background-color: #fdfdff
    }

    .p-faq__title:where(:-moz-any-link, :enabled, summary):hover .p-faq__title-icon {
        color: #fdfdff
    }

    .p-faq__title:where(:any-link, :enabled, summary):hover .p-faq__title-icon {
        color: #fdfdff
    }

    .p-gallery__item:where(:-moz-any-link, :enabled, summary):hover .p-gallery__item-image img {
        transform: scale(1.05)
    }

    .p-gallery__item:where(:any-link, :enabled, summary):hover .p-gallery__item-image img {
        transform: scale(1.05)
    }

    .p-gallery__item:where(:-moz-any-link, :enabled, summary):hover .p-gallery__item-icon {
        background: #F4C430
    }

    .p-gallery__item:where(:any-link, :enabled, summary):hover .p-gallery__item-icon {
        background: #F4C430
    }

    .p-gallery__item:where(:-moz-any-link, :enabled, summary):hover .p-gallery__item-icon::before,
    .p-gallery__item:where(:-moz-any-link, :enabled, summary):hover .p-gallery__item-icon::after {
        background: #fdfdff
    }

    .p-gallery__item:where(:any-link, :enabled, summary):hover .p-gallery__item-icon::before,
    .p-gallery__item:where(:any-link, :enabled, summary):hover .p-gallery__item-icon::after {
        background: #fdfdff
    }

    .p-home-about__navs-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        background: #F4C430;
        color: #fdfdff
    }

    .p-home-about__navs-link:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        background: #F4C430;
        color: #fdfdff
    }

    .p-home-business__item:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .p-home-business__item:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .p-home-news__navs-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1;
        background-color: #F4C430;
        color: #fdfdff
    }

    .p-home-news__navs-link:where(:any-link, :enabled, summary):hover {
        opacity: 1;
        background-color: #F4C430;
        color: #fdfdff
    }

    .p-interview__item-link:where(:-moz-any-link, :enabled, summary):hover {
        opacity: 1
    }

    .p-interview__item-link:where(:any-link, :enabled, summary):hover {
        opacity: 1
    }

    .p-interview__item-link:where(:-moz-any-link, :enabled, summary):hover .p-interview__item-image img {
        transform: scale(1.1)
    }

    .p-interview__item-link:where(:any-link, :enabled, summary):hover .p-interview__item-image img {
        transform: scale(1.1)
    }

    .p-interview__item-link:where(:-moz-any-link, :enabled, summary):hover .p-interview__item-inner {
        color: #F26A2E
    }

    .p-interview__item-link:where(:any-link, :enabled, summary):hover .p-interview__item-inner {
        color: #F26A2E
    }

    .c-searchform-bar button:where(:-moz-any-link, :enabled, summary):hover {
        opacity: .5
    }

    .c-searchform-bar button:where(:any-link, :enabled, summary):hover {
        opacity: .5
    }

    #toc_container .toc_list li a:where(:-moz-any-link, :enabled, summary):hover {
        text-decoration: none;
        background: rgba(214, 214, 214, .2)
    }

    #toc_container .toc_list li a:where(:any-link, :enabled, summary):hover {
        text-decoration: none;
        background: rgba(214, 214, 214, .2)
    }
}

@media screen and (max-aspect-ratio: 865/670) {
    .c-float-bg {
        align-content: start
    }
}


/* ============================
   Main Visual Slideshow CSS
   既存 style.css の後に読み込み
   ============================ */

/* Container */
.mv-slideshow {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Slides */
.mv-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 0;
}

.mv-slide.is-active {
    opacity: 1;
    z-index: 1;
}

.mv-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv-slide.is-active img {
    animation: mv-zoom 4s ease-out forwards;
}

@keyframes mv-zoom {
    0% {
        transform: scale(1.06);
    }

    100% {
        transform: scale(1.0);
    }
}

/* Curve overlay */
.mv-curve {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    opacity: 0;
}

.mv-curve.is-active {
    opacity: 1;
}

.mv-curve__svg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.mv-curve__path {
    fill: none;
    stroke-linecap: round;
    stroke-dasharray: 2800;
    stroke-dashoffset: 2800;
    stroke-width: 0;
}

/* Phase 1: Draw */
.mv-curve.is-draw .mv-curve__path {
    stroke-width: 20;
    animation: mv-draw 0.35s cubic-bezier(0.22, 0.6, 0.36, 1) forwards;
}

@keyframes mv-draw {
    0% {
        stroke-dashoffset: 2800;
        stroke-width: 20;
    }

    100% {
        stroke-dashoffset: 0;
        stroke-width: 20;
    }
}

/* Phase 2: Expand */
.mv-curve.is-expand .mv-curve__path {
    stroke-dashoffset: 0;
    stroke-width: 20;
    animation: mv-expand 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes mv-expand {
    0% {
        stroke-width: 20;
    }

    100% {
        stroke-width: 4000;
    }
}

/* Phase 3: Reveal */
.mv-curve.is-reveal .mv-curve__path {
    stroke-dashoffset: 0;
    stroke-width: 4000;
    animation: mv-reveal 0.35s cubic-bezier(0.5, 0, 0.2, 1) forwards;
}

@keyframes mv-reveal {
    0% {
        stroke-dashoffset: 0;
        stroke-width: 4000;
    }

    60% {
        stroke-dashoffset: -2400;
        stroke-width: 4000;
    }

    100% {
        stroke-dashoffset: -2800;
        stroke-width: 20;
    }
}

/* Progress bar */
.mv-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.08);
    z-index: 20;
}

.mv-progress__fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #F26A2E, #F4C430);
}

/* Recruit section */
.p-home-recruit__image {
    position: absolute !important;
    inset: 0;
    overflow: hidden;
}

.p-home-recruit__image .mv-slideshow {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* テキストをカーブより上に */
.p-home-recruit__content {
    position: relative;
    z-index: 15 !important;
}

/* SP: 縦長レイアウト */
@media screen and (max-width: 46.8125em) {
    .p-home-recruit__image .mv-slide img {
        aspect-ratio: 9 / 16;
        object-fit: cover;
    }
}


/* TOPタイトル */

/* ============================
   Main Visual Slideshow CSS
   既存 style.css の後に読み込み
   ============================ */

/* Container */
.mv-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* Slides */
.mv-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
}

.mv-slide.is-active {
  opacity: 1;
  z-index: 1;
}

.mv-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv-slide.is-active img {
  animation: mv-zoom 4s ease-out forwards;
}

@keyframes mv-zoom {
  0%   { transform: scale(1.06); }
  100% { transform: scale(1.0); }
}

/* Curve overlay */
.mv-curve {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
}

.mv-curve.is-active {
  opacity: 1;
}

.mv-curve__svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.mv-curve__path {
  fill: none;
  stroke-linecap: round;
  stroke-dasharray: 2800;
  stroke-dashoffset: 2800;
  stroke-width: 0;
}

/* Phase 1: Draw */
.mv-curve.is-draw .mv-curve__path {
  stroke-width: 20;
  animation: mv-draw 0.35s cubic-bezier(0.22, 0.6, 0.36, 1) forwards;
}

@keyframes mv-draw {
  0%   { stroke-dashoffset: 2800; stroke-width: 20; }
  100% { stroke-dashoffset: 0;    stroke-width: 20; }
}

/* Phase 2: Expand */
.mv-curve.is-expand .mv-curve__path {
  stroke-dashoffset: 0;
  stroke-width: 20;
  animation: mv-expand 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes mv-expand {
  0%   { stroke-width: 20; }
  100% { stroke-width: 4000; }
}

/* Phase 3: Reveal */
.mv-curve.is-reveal .mv-curve__path {
  stroke-dashoffset: 0;
  stroke-width: 4000;
  animation: mv-reveal 0.35s cubic-bezier(0.5, 0, 0.2, 1) forwards;
}

@keyframes mv-reveal {
  0%   { stroke-dashoffset: 0;     stroke-width: 4000; }
  60%  { stroke-dashoffset: -2400; stroke-width: 4000; }
  100% { stroke-dashoffset: -2800; stroke-width: 20; }
}

/* TOPキャッチコピーをスライドショーの上に表示 */
.c-main-visual__wrapper {
  z-index: 20;
}

/* キャッチコピー テキスト */
.c-main-visual__title .is-sm {
  display: block;
  color: #fdfdff;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 1.5rem;
}

.c-main-visual__title .is-lg {
  display: block;
  color: #fdfdff;
  font-weight: 700;
  font-size: clamp(1.5rem, 5.7142857143vw, 5rem);
  line-height: 1.5;
  margin-top: -0.625rem;
}

@media screen and (max-width: 46.8125em) {
  .c-main-visual__title .is-sm {
    font-size: 1rem;
  }
  .c-main-visual__title .is-lg {
    font-size: clamp(1.25rem, 8vw, 2.5rem);
  }
}

/* Progress bar */
.mv-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
  z-index: 20;
}

.mv-progress__fill {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #F26A2E, #F4C430);
}

/* Recruit section */
.p-home-recruit__image {
  position: absolute !important;
  inset: 0;
  overflow: hidden;
}

.p-home-recruit__image .mv-slideshow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* テキストをカーブより上に */
.p-home-recruit__content {
  position: relative;
  z-index: 15 !important;
}

/* SP: 縦長レイアウト */
@media screen and (max-width: 46.8125em) {
  .p-home-recruit__image .mv-slide img {
    aspect-ratio: 9 / 16;
    object-fit: cover;
  }
}