:root {
    --icon-arrow-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M6%2014c-.26%200-.51-.1-.71-.29a.996.996%200%200%201%200-1.41L9.59%208l-4.3-4.29A.996.996%200%201%201%206.7%202.3l5%205c.19.18.3.43.3.7s-.11.52-.29.71l-5%205c-.2.19-.45.29-.71.29z%22%2F%3E%3C%2Fsvg%3E");
    --icon-check: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M5.61%2011.71c.2.19.46.29.72.29.26%200%20.52-.1.72-.29L13.2%205.7c.4-.39.4-1.02%200-1.41-.4-.39-1.04-.39-1.44%200L6.33%209.6%204.24%207.56c-.4-.39-1.04-.39-1.44%200-.4.39-.4%201.02%200%201.41l2.81%202.74z%22%2F%3E%3C%2Fsvg%3E");
    --icon-plus: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M14%207H9V2H7v5H2v2h5v5h2V9h5V7z%22%2F%3E%3C%2Fsvg%3E");
    --icon-tel: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M6.3%206.5c-.3-.4-.1-.9.3-1.2L8%204.5c.4-.2.5-.7.3-1.1L6.6.4C6.4%200%205.9-.1%205.5.1L4%201c-1.8%201.1-3%204.1.2%209.6s6.4%206%208.2%205l1.5-.8c.4-.2.5-.7.3-1.1l-1.7-2.9c-.2-.4-.7-.5-1.1-.3l-1.5.8c-.4.2-.9.1-1.1-.3L6.3%206.5z%22%2F%3E%3C%2Fsvg%3E");
    --icon-mail: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22m16%209.2-2.1-2.1L16%205.3zM2.1%207.1%200%209.2V5.3zM16%2011.2V14H0v-2.8L3.1%208%208%2012.2%2012.9%208z%22%2F%3E%3Cpath%20d%3D%22M16%202v1.7l-8%206.9-8-6.9V2z%22%2F%3E%3C%2Fsvg%3E");
    --icon-new-window: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M4.25%202v9.75H14V2H4.25zm8.81%208.81H5.19V2.94h7.88v7.87z%22%2F%3E%3Cpath%20d%3D%22M2.94%2013.06V4.25H2V14h9.75v-.94H2.94z%22%2F%3E%3Cpath%20d%3D%22m7.46%209.33%202.76-2.76v1.99h.94V4.97H7.57v.94h1.99L6.79%208.67l.67.66z%22%2F%3E%3C%2Fsvg%3E");
    --color-white: #fff;
    --color-black: #000;
    --color-black-light: #222;
    --color-gray: #666;
    --color-gray-light: #909090;
    --color-gray-light-b: #707070;
    --color-gray-light-c: #ddd;
    --color-gray-pale: #f6f6f6;
    --color-gray-pale-b: #eee;
    --color-blue: #0086cd;
    --color-green: #0b6d7d;
    --color-blue-gradient: linear-gradient(45deg, #0077CA 0%, #0086cd 100%);
    --color-red: #c7192a;
    --font-sans: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    --font-serif: 'Times New Roman', 'Noto Serif JP', YuMincho, 'Yu Mincho', 'HGP明朝B', serif;
    --font-en: Satisfy, cursive, sans-serif;
    --transition-duration: 0.15s;
    --transition-opacity: 0.65;
    --container-size-xsmall: 90vw;
    --container-size-small: 90vw;
    --container-size-medium: 90vw;
    --container-size-large: 95vw;
    --font-10: 10px;
    --font-11: clamp(11px, 0.8088235294vw, 11px);
    --font-12: clamp(11px, 0.8823529412vw, 12px);
    --font-13: clamp(12px, 0.9558823529vw, 13px);
    --font-14: clamp(13px, 1.0294117647vw, 14px);
    --font-15: clamp(13px, 1.1029411765vw, 15px);
    --font-16: clamp(14px, 1.1764705882vw, 16px);
    --font-17: clamp(14px, 1.25vw, 17px);
    --font-18: clamp(15px, 1.3235294118vw, 18px);
    --font-19: clamp(16px, 1.3970588235vw, 19px);
    --font-20: clamp(16px, 1.4705882353vw, 20px);
    --font-21: clamp(17px, 1.5441176471vw, 21px);
    --font-22: clamp(18px, 1.6176470588vw, 22px);
    --font-23: clamp(18px, 1.6911764706vw, 23px);
    --font-24: clamp(19px, 1.7647058824vw, 24px);
    --font-25: clamp(19px, 1.8382352941vw, 25px);
    --font-26: clamp(20px, 1.9117647059vw, 26px);
    --font-27: clamp(21px, 1.9852941176vw, 27px);
    --font-28: clamp(21px, 2.0588235294vw, 28px);
    --font-29: clamp(22px, 2.1323529412vw, 29px);
    --font-30: clamp(23px, 2.2058823529vw, 30px);
    --font-31: clamp(23px, 2.2794117647vw, 31px);
    --font-32: clamp(24px, 2.3529411765vw, 32px);
    --font-33: clamp(24px, 2.4264705882vw, 33px);
    --font-34: clamp(25px, 2.5vw, 34px);
    --font-35: clamp(26px, 2.5735294118vw, 35px);
    --font-36: clamp(26px, 2.6470588235vw, 36px);
    --font-37: clamp(27px, 2.7205882353vw, 37px);
    --font-38: clamp(28px, 2.7941176471vw, 38px);
    --font-39: clamp(28px, 2.8676470588vw, 39px);
    --font-40: clamp(29px, 2.9411764706vw, 40px);
    --font-41: clamp(29px, 3.0147058824vw, 41px);
    --font-42: clamp(30px, 3.0882352941vw, 42px);
    --font-43: clamp(31px, 3.1617647059vw, 43px);
    --font-44: clamp(31px, 3.2352941176vw, 44px);
    --font-45: clamp(32px, 3.3088235294vw, 45px);
    --font-46: clamp(33px, 3.3823529412vw, 46px);
    --font-47: clamp(33px, 3.4558823529vw, 47px);
    --font-48: clamp(34px, 3.5294117647vw, 48px);
    --font-49: clamp(34px, 3.6029411765vw, 49px);
    --font-50: clamp(35px, 3.6764705882vw, 50px);
    --font-51: clamp(36px, 3.75vw, 51px);
    --font-52: clamp(36px, 3.8235294118vw, 52px);
    --font-53: clamp(37px, 3.8970588235vw, 53px);
    --font-54: clamp(38px, 3.9705882353vw, 54px);
    --font-55: clamp(38px, 4.0441176471vw, 55px);
    --font-56: clamp(39px, 4.1176470588vw, 56px);
    --font-57: clamp(39px, 4.1911764706vw, 57px);
    --font-58: clamp(40px, 4.2647058824vw, 58px);
    --font-59: clamp(41px, 4.3382352941vw, 59px);
    --font-60: clamp(41px, 4.4117647059vw, 60px);
    --font-65: clamp(44px, 4.7794117647vw, 65px);
    --font-100: clamp(66px, 7.3529411765vw, 100px)
}

@media(min-width: 768px) {
    :root {
        --container-size-xsmall: clamp(512px, 54.7794117647vw, 745px);
        --container-size-small: clamp(0px, 74.2647058824vw, 1010px);
        --container-size-medium: min(calc(100% - clamp(0px, 17.6470588235vw, 240px)), 1180px);
        --container-size-large: min(calc(100% - clamp(0px, 17.6470588235vw, 240px)), 1360px)
    }
}

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

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

hr {
    height: 0;
    overflow: visible
}

main {
    display: block
}

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

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

a {
    background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

iframe {
    border-style: none
}

img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

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

fieldset {
    border: 1px solid #a0a0a0;
    padding: .35em .75em .625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    padding: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

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

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

details {
    display: block
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content
}

dialog:not([open]) {
    display: none
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],
[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

html {
    cursor: auto;
    line-height: 1
}

body {
    font-family: sans-serif
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit
}

p {
    margin: 0
}

blockquote {
    margin: 0
}

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

dl,
dd {
    margin: 0
}

hr {
    margin: 0;
    border: none;
    border-top: 1px solid currentColor
}

pre {
    margin: 0
}

a {
    color: inherit;
    text-decoration: none
}

rt {
    letter-spacing: 0
}

figure {
    max-width: 100%;
    margin: 0
}

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

table {
    width: 100%;
    table-layout: fixed
}

tbody,
thead {
    vertical-align: inherit
}

th {
    margin: 0;
    text-align: inherit;
    text-align: -webkit-match-parent
}

td {
    padding: 0
}

label {
    display: inline-block
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: inherit
}

button {
    border-radius: 0
}

button:not(:disabled),
[role=button],
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer
}

body {
    background: var(--color-white);
    font-family: var(--font-serif);
    font-feature-settings: "palt";
    font-weight: normal;
    letter-spacing: .05em;
    color: var(--color-black)
}

a,
button,
[type=button],
[type=reset],
[type=submit] {
    transition-property: opacity;
    transition-duration: var(--transition-duration);
    transition-timing-function: ease
}

body:not(.-is-sp) a:hover,
body:not(.-is-sp) button:hover,
body:not(.-is-sp) [type=button]:hover,
body:not(.-is-sp) [type=reset]:hover,
body:not(.-is-sp) [type=submit]:hover {
    opacity: var(--transition-opacity)
}

.c-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: rgba(0, 0, 0, 0);
    vertical-align: middle;
    font: inherit;
    text-decoration: none;
    text-align: inherit;
    line-height: 1;
    white-space: nowrap;
    color: inherit;
    cursor: pointer
}

button.c-btn,
[type=button].c-btn,
[type=reset].c-btn,
[type=submit].c-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-btn.-block {
    display: flex;
    width: 100%
}

@media(min-width: 560px) {
    .c-btn.-sm-block {
        display: flex;
        width: 100%
    }

    .c-btn.-sm-inline {
        display: inline-flex;
        width: auto
    }
}

@media(min-width: 768px) {
    .c-btn.-md-block {
        display: flex;
        width: 100%
    }

    .c-btn.-md-inline {
        display: inline-flex;
        width: auto
    }
}

@media(min-width: 960px) {
    .c-btn.-lg-block {
        display: flex;
        width: 100%
    }

    .c-btn.-lg-inline {
        display: inline-flex;
        width: auto
    }
}

@media(min-width: 1200px) {
    .c-btn.-xl-block {
        display: flex;
        width: 100%
    }

    .c-btn.-xl-inline {
        display: inline-flex;
        width: auto
    }
}

.c-btn.-entry-contact-tel,
.c-btn.-midCareer-process-list,
.c-btn.-newGraduate-person,
.c-btn.-midCareer-person,
.c-btn.-singleJob-contact-mail,
.c-btn.-home-explore,
.c-btn.-newGraduate-explore,
.c-btn.-midCareer-explore,
.c-btn.-site-search,
.c-btn.-typeA {
    justify-content: center;
    gap: .5em;
    min-width: clamp(248px, 24.2647058824vw, 330px);
    padding: 1.5em;
    background: var(--color-white);
    border: 1px solid var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-16);
    letter-spacing: 0;
    color: var(--color-black-light);
    transition-property: opacity, background-color, border-color, color
}

.c-btn.-entry-contact-tel::after,
.c-btn.-midCareer-process-list::after,
.c-btn.-newGraduate-person::after,
.c-btn.-midCareer-person::after,
.c-btn.-singleJob-contact-mail::after,
.c-btn.-home-explore::after,
.c-btn.-newGraduate-explore::after,
.c-btn.-midCareer-explore::after,
.c-btn.-site-search::after,
.c-btn.-typeA::after {
    content: "";
    width: 1em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain
}

.c-btn.-entry-contact-tel:hover,
.c-btn.-midCareer-process-list:hover,
.c-btn.-newGraduate-person:hover,
.c-btn.-midCareer-person:hover,
.c-btn.-singleJob-contact-mail:hover,
.c-btn.-home-explore:hover,
.c-btn.-newGraduate-explore:hover,
.c-btn.-midCareer-explore:hover,
.c-btn.-site-search:hover,
.c-btn.-typeA:hover {
    opacity: 1;
    background: var(--color-black-light);
    color: var(--color-white)
}

.-fill.c-btn.-entry-contact-tel,
.-fill.c-btn.-midCareer-process-list,
.-fill.c-btn.-newGraduate-person,
.-fill.c-btn.-midCareer-person,
.-fill.c-btn.-singleJob-contact-mail,
.-fill.c-btn.-home-explore,
.-fill.c-btn.-newGraduate-explore,
.-fill.c-btn.-midCareer-explore,
.-fill.c-btn.-site-search,
.c-btn.-typeA.-fill {
    background: var(--color-black-light);
    border: 1px solid var(--color-black-light);
    color: var(--color-white)
}

.-fill.c-btn.-entry-contact-tel:hover,
.-fill.c-btn.-midCareer-process-list:hover,
.-fill.c-btn.-newGraduate-person:hover,
.-fill.c-btn.-midCareer-person:hover,
.-fill.c-btn.-singleJob-contact-mail:hover,
.-fill.c-btn.-home-explore:hover,
.-fill.c-btn.-newGraduate-explore:hover,
.-fill.c-btn.-midCareer-explore:hover,
.-fill.c-btn.-site-search:hover,
.c-btn.-typeA.-fill:hover {
    background: var(--color-white);
    color: var(--color-black-light)
}

.-newWindow.c-btn.-entry-contact-tel::after,
.-newWindow.c-btn.-midCareer-process-list::after,
.-newWindow.c-btn.-newGraduate-person::after,
.-newWindow.c-btn.-midCareer-person::after,
.-newWindow.c-btn.-singleJob-contact-mail::after,
.-newWindow.c-btn.-home-explore::after,
.-newWindow.c-btn.-newGraduate-explore::after,
.-newWindow.c-btn.-midCareer-explore::after,
.-newWindow.c-btn.-site-search::after,
.c-btn.-typeA.-newWindow::after {
    -webkit-mask-image: var(--icon-new-window);
    mask-image: var(--icon-new-window)
}

.c-btn.-singleJob-action,
.c-btn.-archiveJob-list-item,
.c-btn.-searchJob-result-list-item,
.c-btn.-single-archive-back,
.c-btn.-home-message,
.c-btn.-typeB {
    justify-content: center;
    gap: .375em;
    padding: 1em 2em;
    background: var(--color-black-light);
    border: 1px solid var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-16);
    letter-spacing: 0;
    color: var(--color-white);
    transition-property: opacity, background-color, border-color, color
}

.c-btn.-singleJob-action::after,
.c-btn.-archiveJob-list-item::after,
.c-btn.-searchJob-result-list-item::after,
.c-btn.-single-archive-back::after,
.c-btn.-home-message::after,
.c-btn.-typeB::after {
    content: "";
    width: 1em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain
}

.c-btn.-singleJob-action:hover,
.c-btn.-archiveJob-list-item:hover,
.c-btn.-searchJob-result-list-item:hover,
.c-btn.-single-archive-back:hover,
.c-btn.-home-message:hover,
.c-btn.-typeB:hover {
    opacity: 1;
    background: var(--color-white);
    color: var(--color-black-light)
}

.c-btn.-site-header-entry {
    justify-content: center;
    align-items: center;
    padding: 1.5em 1.5em;
    height: 67px;
    font-weight: bold;
    font-size: var(--font-13);
    background: var(--color-blue);
    border-top: 1px solid var(--color-white);
    color: var(--color-white)
}

@media(min-width: 768px) {
    .c-btn.-site-header-entry {
        border: none
    }
}

.c-btn.-site-drawer-entryList {
    flex-direction: column;
    justify-content: center;
    padding: 1em 2.75em 1em 2.5em;
    background: var(--color-white);
    font-weight: bold;
    font-size: var(--font-19);
    color: var(--color-black-light);
}

.c-btn.-site-drawer-entryList::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.125em;
    width: .875em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain;
    transform: translateY(-50%)
}

.c-btn.-site-drawer-entryList::after {
    content: attr(data-text);
    margin-top: .625em;
    font-weight: normal;
    font-size: var(--font-12)
}

.c-btn.-site-drawer-mynavi {
    justify-content: center;
    padding: .6875em 2.75em .6875em 2.5em;
    background: var(--color-white);
    font-weight: bold;
    font-size: var(--font-19);
    color: var(--color-black-light)
}

.c-btn.-site-drawer-mynavi::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.125em;
    width: .875em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain;
    transform: translateY(-50%)
}

.c-btn.-site-drawer-mynavi>img {
    width: clamp(103px, 12.1323529412vw, 165px)
}

.c-btn.-site-action {
    flex-direction: column;
    justify-content: center;
    padding: 1.6875em 2.75em 1.6875em 2.5em;
    background: var(--color-white);
    border: 2px solid var(--color-white);
    font-weight: bold;
    font-size: var(--font-23);
    color: var(--color-black-light);
    transition-property: opacity, background-color, border-color, color
}

.c-btn.-site-action::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.125em;
    width: 1.125em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain;
    transform: translateY(-50%)
}

.c-btn.-site-action::after {
    content: attr(data-text);
    margin-top: .625em;
    font-weight: normal;
    font-size: var(--font-15)
}

.c-btn.-site-action:hover {
    opacity: 1;
    background: var(--color-blue);
    color: var(--color-white)
}

.c-btn.-site-search {
    border-color: var(--color-white)
}

.c-btn.-site-search:hover {
    background-color: var(--color-blue)
}

.c-btn.-home-message {
    background: rgba(0, 0, 0, 0);
    border-color: var(--color-white)
}

.c-btn.-home-message:hover {
    background: var(--color-black-light);
    border-color: var(--color-black-light);
    color: var(--color-white)
}

.c-btn.-home-explore,
.c-btn.-newGraduate-explore,
.c-btn.-midCareer-explore {
    padding: 1.125em 1.5em
}

@media(min-width: 1200px) {

    .c-btn.-home-explore,
    .c-btn.-newGraduate-explore,
    .c-btn.-midCareer-explore {
        padding: 1.5em
    }
}

.c-btn.-archiveJob-list-item,
.c-btn.-searchJob-result-list-item,
.c-btn.-single-archive-back {
    font-size: var(--font-14)
}

.c-btn.-archiveJob-list-item:hover,
.c-btn.-searchJob-result-list-item:hover,
.c-btn.-single-archive-back:hover {
    opacity: 1;
    background: var(--color-black-light);
    color: var(--color-white)
}

.c-btn.-singleJob-contact-mail {
    height: 100%;
    background-color: var(--color-black-light);
    color: var(--color-white)
}

.c-btn.-singleJob-contact-mail:hover {
    background: var(--color-white);
    color: var(--color-black-light)
}

.c-btn.-singleJob-action {
    padding: 1.875em 1.5em;
    border-width: 2px;
    font-size: var(--font-23)
}

.c-btn.-submit {
    justify-content: center;
    padding: 1.875em 1.5em;
    background: var(--color-black-light);
    border: 1px solid var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-14);
    letter-spacing: 0;
    text-align: center;
    color: var(--color-white)
}

@media(min-width: 768px) {
    .c-btn.-submit {
        padding: 2.25em;
        font-size: var(--font-16)
    }
}

.c-btn.-back {
    justify-content: center;
    padding: 1.875em 1.5em;
    background: var(--color-white);
    border: 1px solid var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-14);
    letter-spacing: 0;
    text-align: center;
    color: var(--color-black)
}

@media(min-width: 768px) {
    .c-btn.-back {
        padding: 2.25em;
        font-size: var(--font-16)
    }
}

.c-btn.-newGraduate-person,
.c-btn.-midCareer-person {
    min-width: clamp(173px, 16.9117647059vw, 230px);
    padding: 1em
}

.c-btn.-newGraduate-person:hover,
.c-btn.-midCareer-person:hover {
    background: var(--color-white);
    color: var(--color-black)
}

.c-btn.-midCareer-process-list {
    padding: 1em;
    background: var(--color-blue);
    border-color: var(--color-blue);
    font-size: var(--font-22);
    color: var(--color-white)
}

.c-btn.-midCareer-process-list:hover {
    background: var(--color-white);
    color: var(--color-blue)
}

.c-btn.-entry-contact-tel {
    font-size: var(--font-25);
    background: var(--color-gray-pale);
    border-color: var(--color-gray-light-c)
}

.c-btn.-entry-contact-tel::after {
    width: .75em
}

.c-btn.-entry-contact-tel:hover {
    border-color: var(--color-black-light)
}

.c-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    line-height: 1;
    color: inherit;
    word-wrap: break-word
}

.c-card>.header,
.c-card>.footer {
    flex: 0 0 auto
}

.c-card>.media {
    overflow: hidden;
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    margin: 0
}

.c-card>.media>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.c-card>.body {
    flex: 1 1 0%;
    margin: 0
}

.c-card.-home-story {
    transition-property: opacity, background-color
}

@media(min-width: 768px) {
    .c-card.-home-story {
        flex-direction: row;
        align-items: center
    }
}

.c-card.-home-story>.media {
    aspect-ratio: 940/600
}

@media(min-width: 768px) {
    .c-card.-home-story>.media {
        flex: 0 1 auto;
        width: 58.75%
    }
}

@media(min-width: 1600px) {
    .c-card.-home-story>.media {
        aspect-ratio: auto;
        height: 600px
    }
}

.c-card.-home-story>.body {
    z-index: 1
}

@media(min-width: 768px) {
    .c-card.-home-story>.body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-left: clamp(-50px, -3.6764705882vw, -31px);
        padding-right: clamp(31px, 3.6764705882vw, 50px)
    }
}

@media(min-width: 768px) {
    .c-card.-home-story>.body>.inner {
        width: -moz-fit-content;
        width: fit-content
    }
}

.c-card.-home-story>.body>.inner>.label {
    position: absolute;
    top: clamp(13px, 1.4705882353vw, 20px);
    left: clamp(13px, 1.4705882353vw, 20px);
    margin-bottom: clamp(22px, 2.5735294118vw, 35px);
    font-family: var(--font-en);
    font-size: var(--font-38);
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-card.-home-story>.body>.inner>.label {
        position: static;
        font-size: var(--font-48)
    }
}

@media(min-width: 1200px) {
    .c-card.-home-story>.body>.inner>.label {
        font-size: var(--font-58)
    }
}

.c-card.-home-story>.body>.inner>.heading {
    padding: .875em 1em;
    background: var(--color-white);
    font-weight: bold;
    font-size: var(--font-15);
    line-height: 1.75;
    color: var(--color-black)
}

@media(min-width: 768px) {
    .c-card.-home-story>.body>.inner>.heading {
        font-size: var(--font-20);
        box-shadow: 4px 4px 2px rgba(0, 0, 0, .15)
    }
}

.c-card.-home-story>.body>.inner>.data {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .125em .5em;
    margin-top: .5em;
    font-weight: bold;
    font-size: var(--font-13);
    line-height: 1.5;
    text-align: right;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-card.-home-story>.body>.inner>.data {
        margin-top: 1em;
        font-size: var(--font-18)
    }
}

@media(min-width: 768px) {
    .c-card.-home-story.-reverse {
        flex-direction: row-reverse
    }
}

@media(min-width: 768px) {
    .c-card.-home-story.-reverse>.body {
        align-items: flex-end;
        margin: 0 clamp(-50px, -3.6764705882vw, -31px) 0 0;
        padding: 0 0 0 clamp(31px, 3.6764705882vw, 50px)
    }
}

.c-card.-home-story:hover {
    background: rgba(0, 0, 0, .5)
}

.c-card.-home-explore>.media,
.c-card.-newGraduate-explore>.media,
.c-card.-midCareer-explore>.media {
    aspect-ratio: 680/380
}

.c-card.-home-explore>.body,
.c-card.-newGraduate-explore>.body,
.c-card.-midCareer-explore>.body {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    padding: clamp(19px, 2.2058823529vw, 30px)
}

@media(min-width: 1200px) {

    .c-card.-home-explore>.body,
    .c-card.-newGraduate-explore>.body,
    .c-card.-midCareer-explore>.body {
        padding: clamp(31px, 3.6764705882vw, 50px)
    }
}

.c-card.-benefit-wlb>.header,
.c-card.-benefit-communication>.header {
    position: relative;
    background: var(--color-white)
}

.c-card.-benefit-wlb>.header>.num,
.c-card.-benefit-communication>.header>.num {
    position: absolute;
    top: -0.375em;
    left: -0.375em;
    font-weight: bold;
    font-size: var(--font-45);
    line-height: .75
}

@media(min-width: 960px) {

    .c-card.-benefit-wlb>.header>.num,
    .c-card.-benefit-communication>.header>.num {
        left: .05em
    }
}

@media(min-width: 1200px) {

    .c-card.-benefit-wlb>.header>.num,
    .c-card.-benefit-communication>.header>.num {
        font-size: var(--font-60)
    }
}

.c-card.-benefit-wlb>.header>.num.-blue,
.c-card.-benefit-communication>.header>.num.-blue {
    color: var(--color-blue)
}

.c-card.-benefit-wlb>.header>.heading,
.c-card.-benefit-communication>.header>.heading {
    padding: .1875em;
    font-weight: bold;
    font-size: var(--font-23);
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0
}

@media(min-width: 960px) {

    .c-card.-benefit-wlb>.header>.heading,
    .c-card.-benefit-communication>.header>.heading {
        padding: .1875em .1875em .1875em 1.25em;
        letter-spacing: inherit
    }
}

.c-card.-benefit-wlb>.media,
.c-card.-benefit-communication>.media {
    aspect-ratio: 340/335
}

.c-card.-benefit-support {
    min-height: clamp(236px, 21.3235294118vw, 290px);
    color: var(--color-white)
}

@media(min-width: 560px) {
    .c-card.-benefit-support {
        min-height: clamp(195px, 17.6470588235vw, 240px)
    }
}

.c-card.-benefit-support>.media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-card.-benefit-support>.body {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: clamp(19px, 2.2058823529vw, 30px)
}

.c-card.-benefit-support>.body>.title {
    font-weight: bold;
    font-size: var(--font-24);
    line-height: 1.5;
    letter-spacing: 0
}

@media(min-width: 960px) {
    .c-card.-benefit-support>.body>.title {
        letter-spacing: inherit
    }
}

.c-card.-benefit-support>.body>.text {
    margin-top: 1em;
    font-size: var(--font-15);
    line-height: 1.75;
    text-align: justify;
    word-break: break-all
}

.c-card.-benefit-skillup {
    border: 2px solid var(--color-gray-light-b)
}

.c-card.-benefit-skillup>.media {
    aspect-ratio: 314/300
}

.c-card.-benefit-skillup>.body {
    background: var(--color-white)
}

.c-card.-benefit-skillup>.body>.title {
    padding: .1875em;
    font-weight: bold;
    font-size: var(--font-24);
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0
}

.c-card.-benefit-data {
    border: 2px solid var(--color-black-light)
}

.c-card.-benefit-data>.body {
    padding: clamp(44px, 5.1470588235vw, 70px) clamp(13px, 1.4705882353vw, 20px) clamp(38px, 4.4117647059vw, 60px);
    background: var(--color-white)
}

.c-card.-benefit-data>.body>.heading {
    position: absolute;
    top: clamp(-25px, -1.8382352941vw, -16px);
    left: clamp(-10px, -.7352941176vw, -6px);
    padding: .5em .625em;
    background: var(--color-black);
    font-weight: bold;
    font-size: var(--font-20);
    line-height: 1.5;
    color: var(--color-white)
}

@media(min-width: 768px) {
    .c-card.-benefit-data>.body>.heading {
        font-size: var(--font-24)
    }
}

.c-card.-benefit-data>.body>.media>img {
    width: 100%
}

.c-card.-archiveStory {
    transition-property: opacity, background-color
}

@media(min-width: 768px) {
    .c-card.-archiveStory {
        flex-direction: row;
        align-items: center
    }
}

.c-card.-archiveStory>.media {
    aspect-ratio: 940/600
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.media {
        flex: 0 1 auto;
        width: 58.75%
    }
}

.c-card.-archiveStory>.body {
    z-index: 1
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-left: clamp(-50px, -3.6764705882vw, -31px)
    }
}

@media(min-width: 960px) {
    .c-card.-archiveStory>.body {
        padding-right: clamp(31px, 3.6764705882vw, 50px)
    }
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.body>.inner {
        width: -moz-fit-content;
        width: fit-content
    }
}

.c-card.-archiveStory>.body>.inner>.label {
    position: absolute;
    top: clamp(13px, 1.4705882353vw, 20px);
    left: clamp(13px, 1.4705882353vw, 20px);
    margin-bottom: clamp(22px, 2.5735294118vw, 35px);
    font-family: var(--font-en);
    font-size: var(--font-38);
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.body>.inner>.label {
        position: static;
        font-size: var(--font-48)
    }
}

@media(min-width: 1200px) {
    .c-card.-archiveStory>.body>.inner>.label {
        font-size: var(--font-58)
    }
}

.c-card.-archiveStory>.body>.inner>.heading {
    padding: .875em 1em;
    background: var(--color-white);
    font-weight: bold;
    font-size: var(--font-15);
    line-height: 1.75;
    color: var(--color-black)
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.body>.inner>.heading {
        font-size: var(--font-20);
        box-shadow: 4px 4px 2px rgba(0, 0, 0, .15)
    }
}

.c-card.-archiveStory>.body>.inner>.data {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .125em .5em;
    margin-top: .5em;
    font-weight: bold;
    font-size: var(--font-13);
    line-height: 1.5;
    text-align: right;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-card.-archiveStory>.body>.inner>.data {
        margin-top: 1em;
        font-size: var(--font-18)
    }
}

@media(min-width: 768px) {
    .c-card.-archiveStory.-reverse {
        flex-direction: row-reverse
    }
}

@media(min-width: 768px) {
    .c-card.-archiveStory.-reverse>.body {
        align-items: flex-end;
        margin: 0 clamp(-50px, -3.6764705882vw, -31px) 0 0
    }
}

@media(min-width: 960px) {
    .c-card.-archiveStory.-reverse>.body {
        padding: 0 0 0 clamp(31px, 3.6764705882vw, 50px)
    }
}

.c-card.-archiveStory:hover {
    background: rgba(0, 0, 0, .5)
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard {
        flex-direction: row
    }
}

.c-card.-singleStory-mediaCard>.media {
    aspect-ratio: 650/540
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard>.media {
        flex: 0 1 auto;
        width: calc(50% + clamp(38px, 4.4117647059vw, 60px));
        aspect-ratio: auto;
        margin-left: clamp(-60px, -4.4117647059vw, -38px)
    }
}

.c-card.-singleStory-mediaCard>.body {
    z-index: 1;
    position: relative
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard>.body {
        flex: 1 1 0%;
        align-self: center;
        padding: clamp(16px, 1.8382352941vw, 25px) 0
    }
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard>.media+.body {
        margin-left: clamp(-35px, -2.5735294118vw, -22px);
        padding: clamp(31px, 3.6764705882vw, 50px) 0
    }
}

.c-card.-singleStory-mediaCard>.body>.inner {
    position: relative;
    padding: clamp(44px, 5.1470588235vw, 70px) clamp(25px, 2.9411764706vw, 40px) clamp(31px, 3.6764705882vw, 50px);
    background: var(--color-white)
}

@media(min-width: 960px) {
    .c-card.-singleStory-mediaCard>.body>.inner {
        padding: clamp(44px, 5.1470588235vw, 70px) clamp(53px, 6.25vw, 85px) clamp(31px, 3.6764705882vw, 50px)
    }
}

.c-card.-singleStory-mediaCard>.body>.inner>.label {
    opacity: .2;
    position: absolute;
    margin: 0;
    font-weight: normal;
    font: normal var(--font-60)/1 var(--font-en);
    color: var(--color-blue);
    transform: translate(-35%, -50%)
}

.c-card.-singleStory-mediaCard>.body>.inner>.heading {
    z-index: 1;
    position: relative;
    margin: 0;
    padding-bottom: .375em;
    border-bottom: 1px solid currentColor;
    font: bold var(--font-25)/1.5 var(--font-serif)
}

.c-card.-singleStory-mediaCard>.body>.inner>.subheading {
    z-index: 1;
    position: relative;
    margin: .625em 0 0;
    font: bold var(--font-20)/1.5 var(--font-serif)
}

.c-card.-singleStory-mediaCard>.body>.inner>.text {
    margin: .75em 0 0;
    font: normal var(--font-15)/1.875 var(--font-serif);
    text-align: justify;
    word-break: break-all
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard.-reverse {
        flex-direction: row-reverse
    }
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard.-reverse>.media {
        margin: 0 clamp(-60px, -4.4117647059vw, -38px) 0 0
    }
}

@media(min-width: 768px) {
    .c-card.-singleStory-mediaCard.-reverse>.media+.body {
        margin: 0 clamp(-35px, -2.5735294118vw, -22px) 0 0
    }
}

.c-card.-singleStory-archive>.media {
    padding-left: clamp(9px, 1.8382352941vw, 25px)
}

.c-card.-singleStory-archive>.media>img {
    aspect-ratio: 1/1
}

.c-card.-singleStory-archive>.body {
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 90%;
    min-width: 65%;
    padding: clamp(9px, 1.1029411765vw, 15px) clamp(16px, 1.8382352941vw, 25px);
    background: rgba(0, 0, 0, .7);
    color: var(--color-white)
}

@media(min-width: 960px) {
    .c-card.-singleStory-archive>.body {
        padding: clamp(9px, 1.1029411765vw, 15px) clamp(31px, 3.6764705882vw, 50px)
    }
}

.c-card.-singleStory-archive>.body.-blue {
    background: rgba(0, 134, 205, .7)
}

.c-card.-singleStory-archive>.body>.name {
    font-weight: bold;
    font-size: var(--font-18);
    line-height: 1.25
}

@media(min-width: 960px) {
    .c-card.-singleStory-archive>.body>.name {
        font-size: var(--font-23)
    }
}

.c-card.-singleStory-archive>.body>.data {
    display: flex;
    flex-wrap: wrap;
    gap: .125em .75em;
    margin-top: .5em;
    font-weight: bold;
    font-size: var(--font-12);
    line-height: 1.375
}

@media(min-width: 960px) {
    .c-card.-singleStory-archive>.body>.data {
        font-size: var(--font-14)
    }
}

.c-card.-archiveJob-list-item,
.c-card.-searchJob-result-list-item {
    padding: clamp(16px, 1.8382352941vw, 25px);
    background: var(--color-white);
    border: 1px solid var(--color-gray-pale-b)
}

.c-card.-archiveJob-list-item>.media,
.c-card.-searchJob-result-list-item>.media {
    aspect-ratio: 523/320
}

.c-card.-archiveJob-list-item>.body,
.c-card.-searchJob-result-list-item>.body {
    padding-top: clamp(13px, 1.4705882353vw, 20px)
}

.c-card.-archiveJob-list-item>.body>.title,
.c-card.-searchJob-result-list-item>.body>.title {
    font-weight: bold;
    font-size: var(--font-19);
    line-height: 1.75;
    letter-spacing: 0;
    text-align: justify;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.c-card.-archiveJob-list-item>.body>.excerpt,
.c-card.-searchJob-result-list-item>.body>.excerpt {
    margin-top: 1em;
    font-size: var(--font-12);
    line-height: 1.75;
    text-align: justify;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--color-gray)
}

.c-card.-archiveJob-list-item>.body>.data,
.c-card.-searchJob-result-list-item>.body>.data {
    margin-top: 1.5em;
    border-top: 1px solid var(--color-gray-pale-b);
    font-size: var(--font-13);
    line-height: 1.625
}

.c-card.-archiveJob-list-item>.body>.data>div,
.c-card.-searchJob-result-list-item>.body>.data>div {
    display: flex;
    border-bottom: 1px solid var(--color-gray-pale-b)
}

.c-card.-archiveJob-list-item>.body>.data>div>dt,
.c-card.-searchJob-result-list-item>.body>.data>div>dt {
    flex: 0 0 auto;
    width: 10em;
    padding: .375em .75em;
    background: var(--color-gray-pale);
    text-align: center
}

.c-card.-archiveJob-list-item>.body>.data>div>dd,
.c-card.-searchJob-result-list-item>.body>.data>div>dd {
    flex: 1 1 0%;
    padding: .375em .75em
}

.c-card.-archiveJob-list-item>.footer,
.c-card.-searchJob-result-list-item>.footer {
    margin-top: clamp(16px, 1.8382352941vw, 25px)
}

.c-card.-company-group {
    padding: 0 2.5vw 5vw
}

@media(min-width: 768px) {
    .c-card.-company-group {
        padding: 0 0 clamp(44px, 5.1470588235vw, 70px) 0
    }
}

.c-card.-company-group::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - clamp(44px, 5.1470588235vw, 70px));
    background: var(--color-blue)
}

@media(min-width: 768px) {
    .c-card.-company-group::before {
        width: 85%
    }
}

.c-card.-company-group>.media {
    aspect-ratio: 1230/435
}

@media(min-width: 768px) {
    .c-card.-company-group>.media {
        aspect-ratio: auto;
        width: 76.875%;
        height: clamp(272px, 31.9852941176vw, 435px)
    }
}

.c-card.-company-group>.body {
    position: relative;
    padding: clamp(38px, 4.4117647059vw, 60px) clamp(19px, 2.2058823529vw, 30px) clamp(19px, 2.2058823529vw, 30px);
    background: var(--color-white)
}

@media(min-width: 768px) {
    .c-card.-company-group>.body {
        position: absolute;
        right: 7.5%;
        bottom: 0;
        width: clamp(411px, 34.5588235294vw, 470px)
    }
}

.c-card.-company-group>.body>.heading {
    position: absolute;
    bottom: calc(100% - clamp(22px, 2.5735294118vw, 35px));
    left: 0;
    width: 86%;
    padding: .25em clamp(31px, 3.6764705882vw, 50px);
    background: var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-20);
    line-height: 1.75;
    color: var(--color-white);
    box-shadow: 4px 4px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-card.-company-group>.body>.heading {
        font-size: var(--font-30)
    }
}

.c-card.-company-group>.body>.content {
    display: flex;
    align-items: center;
    gap: clamp(13px, 1.4705882353vw, 20px);
    margin: 0 auto
}

@media(min-width: 768px) {
    .c-card.-company-group>.body>.content {
        width: -moz-fit-content;
        width: fit-content
    }
}

.c-card.-company-group>.body>.content>.label {
    flex: 0 0 auto;
    width: 6em;
    font-size: var(--font-10);
    color: var(--color-blue);
    text-align: center;
    white-space: nowrap
}

@media(min-width: 768px) {
    .c-card.-company-group>.body>.content>.label {
        font-size: var(--font-14)
    }
}

.c-card.-company-group>.body>.content>.label>span {
    display: block;
    font-weight: bold;
    font-size: 3.875em
}

.c-card.-company-group>.body>.content>.text {
    font-size: var(--font-13);
    line-height: 1.75;
    letter-spacing: 0;
    text-align: justify;
    word-break: break-all
}

@media(min-width: 768px) {
    .c-card.-company-group>.body>.content>.text {
        font-size: var(--font-15)
    }
}

.c-card.-company-group>.deco {
    display: none;
    position: absolute;
    top: clamp(44px, 5.1470588235vw, 70px);
    bottom: 0;
    right: 3.75%
}

@media(min-width: 768px) {
    .c-card.-company-group>.deco {
        display: block
    }
}

.c-card.-company-group>.deco>.decoText {
    opacity: .4;
    position: absolute;
    top: 50%;
    right: 0;
    transform: rotate(90deg) translate(50%, -50%);
    transform-origin: top right;
    font: bold clamp(10px, 2.5735294118vw, 35px)/1 var(--font-en);
    color: var(--color-white);
    white-space: nowrap
}

.c-card.-company-group.-reverse::before {
    right: auto;
    left: 0
}

.c-card.-company-group.-reverse>.media {
    margin-left: auto
}

@media(min-width: 768px) {
    .c-card.-company-group.-reverse>.body {
        left: 7.5%;
        right: auto
    }
}

.c-card.-company-group.-reverse>.deco {
    right: auto;
    left: 3.75%
}

.c-card.-company-group.-reverse>.deco>.decoText {
    right: auto;
    left: 0;
    transform: rotate(-90deg) translate(-50%, -50%);
    transform-origin: top left
}

.c-card.-company-business>.media {
    aspect-ratio: 1/1
}

.c-card.-company-business>.body {
    position: absolute;
    bottom: clamp(16px, 1.8382352941vw, 25px);
    right: 0;
    min-width: 12em;
    padding: .5em;
    background: var(--color-white);
    font-weight: bold;
    font-size: var(--font-18);
    line-height: 1.75;
    text-align: center;
    color: var(--color-black)
}

.c-card.-message-list {
    gap: clamp(31px, 3.6764705882vw, 50px)
}

@media(min-width: 768px) {
    .c-card.-message-list {
        flex-direction: row;
        gap: clamp(50px, 5.8823529412vw, 80px)
    }
}

.c-card.-message-list>.media {
    aspect-ratio: 748/440
}

@media(min-width: 768px) {
    .c-card.-message-list>.media {
        flex: 0 0 auto;
        width: 55%
    }
}

@media(min-width: 768px) {
    .c-card.-message-list>.body {
        flex: 1 1 0%;
        display: flex;
        flex-direction: column;
        justify-content: center
    }
}

.c-card.-message-list>.body>.text {
    margin-top: clamp(19px, 2.2058823529vw, 30px);
    font-size: var(--font-15);
    line-height: 2;
    text-align: justify;
    word-break: break-all
}

@media(min-width: 768px) {
    .c-card.-message-list.-reverse {
        flex-direction: row-reverse
    }
}

@media(min-width: 768px) {
    .c-card.-newGraduate-intro {
        flex-direction: row-reverse
    }
}

.c-card.-newGraduate-intro>.media {
    z-index: 1;
    aspect-ratio: 1/1;
    -webkit-clip-path: polygon(clamp(75px, 14.7058823529vw, 200px) 0%, 100% 0, 100% calc(100% - clamp(75px, 14.7058823529vw, 200px)), calc(100% - clamp(75px, 14.7058823529vw, 200px)) 100%, 0 100%, 0 clamp(75px, 14.7058823529vw, 200px));
    clip-path: polygon(clamp(75px, 14.7058823529vw, 200px) 0%, 100% 0, 100% calc(100% - clamp(75px, 14.7058823529vw, 200px)), calc(100% - clamp(75px, 14.7058823529vw, 200px)) 100%, 0 100%, 0 clamp(75px, 14.7058823529vw, 200px))
}

@media(min-width: 768px) {
    .c-card.-newGraduate-intro>.media {
        width: 54%
    }
}

.c-card.-newGraduate-intro>.body {
    position: relative;
    transform: translateY(clamp(-50px, -3.6764705882vw, -31px))
}

@media(min-width: 768px) {
    .c-card.-newGraduate-intro>.body {
        transform: translateX(clamp(31px, 3.6764705882vw, 50px))
    }
}

@media(min-width: 768px) {
    .c-card.-newGraduate-intro>.body::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: clamp(156px, 18.3823529412vw, 250px);
        aspect-ratio: 1/1;
        background: rgba(0, 134, 205, .4);
        -webkit-clip-path: polygon(30% 0%, 100% 0, 100% 70%, 70% 100%, 0 100%, 0 30%);
        clip-path: polygon(30% 0%, 100% 0, 100% 70%, 70% 100%, 0 100%, 0 30%)
    }
}

.c-card.-newGraduate-intro>.body>.inner {
    padding: clamp(63px, 7.3529411765vw, 100px) clamp(19px, 2.2058823529vw, 30px);
    background: rgba(0, 134, 205, .2);
    -webkit-clip-path: polygon(clamp(68px, 13.2352941176vw, 180px) 0%, 100% 0, 100% calc(100% - clamp(68px, 13.2352941176vw, 180px)), calc(100% - clamp(68px, 13.2352941176vw, 180px)) 100%, 0 100%, 0 clamp(68px, 13.2352941176vw, 180px));
    clip-path: polygon(clamp(68px, 13.2352941176vw, 180px) 0%, 100% 0, 100% calc(100% - clamp(68px, 13.2352941176vw, 180px)), calc(100% - clamp(68px, 13.2352941176vw, 180px)) 100%, 0 100%, 0 clamp(68px, 13.2352941176vw, 180px))
}

@media(min-width: 768px) {
    .c-card.-newGraduate-intro>.body>.inner {
        padding: clamp(106px, 12.5vw, 170px) clamp(47px, 5.5147058824vw, 75px)
    }
}

.c-card.-newGraduate-intro>.body>.inner>.text {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: var(--font-15);
    line-height: 2.25
}

@media(min-width: 768px) {

    .c-card.-newGraduate-process-lead,
    .c-card.-midCareer-process-lead {
        flex-direction: row
    }
}

.c-card.-newGraduate-process-lead>.media,
.c-card.-midCareer-process-lead>.media {
    z-index: 1;
    aspect-ratio: 1/1;
    -webkit-clip-path: polygon(clamp(75px, 14.7058823529vw, 200px) 0%, 100% 0, 100% calc(100% - clamp(75px, 14.7058823529vw, 200px)), calc(100% - clamp(75px, 14.7058823529vw, 200px)) 100%, 0 100%, 0 clamp(75px, 14.7058823529vw, 200px));
    clip-path: polygon(clamp(75px, 14.7058823529vw, 200px) 0%, 100% 0, 100% calc(100% - clamp(75px, 14.7058823529vw, 200px)), calc(100% - clamp(75px, 14.7058823529vw, 200px)) 100%, 0 100%, 0 clamp(75px, 14.7058823529vw, 200px))
}

@media(min-width: 768px) {

    .c-card.-newGraduate-process-lead>.media,
    .c-card.-midCareer-process-lead>.media {
        width: 50%
    }
}

.c-card.-newGraduate-process-lead>.body,
.c-card.-midCareer-process-lead>.body {
    position: relative;
    padding: clamp(31px, 3.6764705882vw, 50px) 0
}

@media(min-width: 768px) {

    .c-card.-newGraduate-process-lead>.body,
    .c-card.-midCareer-process-lead>.body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-left: clamp(63px, 7.3529411765vw, 100px);
        transform: translateX(clamp(-50px, -3.6764705882vw, -31px))
    }
}

@media(min-width: 768px) {

    .c-card.-newGraduate-process-lead>.body::before,
    .c-card.-midCareer-process-lead>.body::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: clamp(188px, 22.0588235294vw, 300px);
        aspect-ratio: 1/1;
        background: rgba(0, 134, 205, .2);
        -webkit-clip-path: polygon(30% 0%, 100% 0, 100% 70%, 70% 100%, 0 100%, 0 30%);
        clip-path: polygon(30% 0%, 100% 0, 100% 70%, 70% 100%, 0 100%, 0 30%)
    }
}

.c-card.-newGraduate-process-lead>.body>.text,
.c-card.-midCareer-process-lead>.body>.text {
    font-size: var(--font-15);
    line-height: 2.25;
    text-align: justify;
    word-break: break-all
}

@media(min-width: 768px) {

    .c-card.-newGraduate-process-lead>.body>.text,
    .c-card.-midCareer-process-lead>.body>.text {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto
    }
}

@media(min-width: 768px) {

    .c-card.-newGraduate-person,
    .c-card.-midCareer-person {
        flex-direction: row
    }
}

@media(min-width: 768px) {

    .c-card.-newGraduate-person>.media,
    .c-card.-midCareer-person>.media {
        flex: 0 0 auto;
        width: 70%
    }
}

.c-card.-newGraduate-person>.body,
.c-card.-midCareer-person>.body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(19px, 2.2058823529vw, 30px) clamp(13px, 1.4705882353vw, 20px);
    background: var(--color-blue);
    text-align: center;
    color: var(--color-white)
}

.c-card.-newGraduate-person>.body>.action,
.c-card.-midCareer-person>.body>.action {
    margin-top: clamp(13px, 1.4705882353vw, 20px)
}

.c-drawer-btn {
    --c-drawer-btn-gap: 8px;
    --c-drawer-btn-width: 67px;
    --c-drawer-btn-height: 67px;
    --c-drawer-btn-background: var(--color-white);
    --c-drawer-btn-border: none;
    --c-drawer-btn-border-radius: 0;
    --c-drawer-btn-text-font-weight: bold;
    --c-drawer-btn-text-font-size: 12px;
    --c-drawer-btn-text-font-family: var(--font-serif);
    --c-drawer-btn-text-tracking: inherit;
    --c-drawer-btn-text-color: var(--color-black)
}

.c-drawer-btn {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--c-drawer-btn-gap);
    width: var(--c-drawer-btn-width);
    height: var(--c-drawer-btn-height);
    background: var(--c-drawer-btn-background);
    border: var(--c-drawer-btn-border);
    border-radius: var(--c-drawer-btn-border-radius);
    line-height: 1;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    top: -7px;
}

.c-drawer-btn>.text {
    font-weight: var(--c-drawer-btn-text-font-weight);
    font-size: var(--c-drawer-btn-text-font-size);
    font-family: var(--c-drawer-btn-text-font-family);
    letter-spacing: var(--c-drawer-btn-text-tracking);
    text-indent: var(--c-drawer-btn-text-tracking);
    color: var(--c-drawer-btn-text-color)
}

.c-drawer-btn.-row {
    flex-direction: row;
    text-align: left
}

.c-drawer {
    --c-drawer-z-index: 500;
    --c-drawer-duration: .75s;
    --c-drawer-easing: cubic-bezier(.43, .01, .08, 1);
    --c-drawer-scrollbar-color: var(--color-black);
    --c-drawer-scrollbar-weight: 3px;
    --c-drawer-content-background: var(--color-blue-gradient);
    --c-drawer-content-box-shadow: box-shadow(0, 0, 5px, rgba(#000, .25));
    --c-drawer-back-background: rgba(0, 0, 0, .5)
}

.c-drawer {
    z-index: var(--c-drawer-z-index);
    opacity: 0;
    visibility: hidden;
    position: relative;
    display: block;
    transition-property: opacity, visibility;
    transition-duration: calc(var(--c-drawer-duration)*.625);
    transition-timing-function: var(--drawer-easing)
}

.c-drawer>.content {
    z-index: 1;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: var(--c-drawer-content-background);
    box-shadow: var(--c-drawer-content-box-shadow);
    transition: transform calc(var(--c-drawer-duration)*.625) var(--c-drawer-easing);
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--c-drawer-scrollbar-color) rgba(0, 0, 0, 0)
}

.c-drawer>.content::-webkit-scrollbar {
    width: var(--c-drawer-scrollbar-weight)
}

.c-drawer>.content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0)
}

.c-drawer>.content::-webkit-scrollbar-thumb {
    background: var(--c-drawer-scrollbar-color);
    border-radius: var(--c-drawer-scrollbar-weight)
}

.c-drawer>.back {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: var(--c-drawer-back-background);
    cursor: default
}

.c-drawer>.content.-top {
    overflow: visible;
    bottom: auto;
    transform: translate(0, -100%)
}

.c-drawer>.content.-right {
    left: auto;
    width: auto;
    min-height: 100%;
    transform: translate(100%, 0)
}

.c-drawer>.content.-bottom {
    overflow: visible;
    top: auto;
    transform: translate(0, 100%)
}

.c-drawer>.content.-left {
    right: auto;
    width: auto;
    min-height: 100%;
    transform: translate(-100%, 0)
}

.c-drawer[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
    transition-duration: var(--c-drawer-duration)
}

.c-drawer[aria-hidden=false]>.content {
    transform: translate(0, 0);
    transition-duration: var(--c-drawer-duration)
}

.c-embed {
    --c-embed-aspect-ratio: 16 / 9
}

.c-embed {
    position: relative;
    display: block;
    width: 100%;
    padding: 0
}

.c-embed::before {
    content: "";
    display: block;
    aspect-ratio: var(--c-embed-aspect-ratio)
}

.c-embed>.item,
.c-embed>iframe,
.c-embed>embed,
.c-embed>video,
.c-embed>object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none
}

.c-embed.-wide::before {
    --c-embed-aspect-ratio: 21 / 9
}

.c-embed.-narrow::before {
    --c-embed-aspect-ratio: 4 / 3
}

.c-embed.-square::before {
    --c-embed-aspect-ratio: 1 / 1
}

.c-hamburger {
    --c-hamburger-width: 16px;
    --c-hamburger-weight: 2px;
    --c-hamburger-space: 4px;
    --c-hamburger-color: var(--color-black);
    --c-hamburger-duration: .5s;
    --c-hamburger-easing: ease;
    --c-hamburger-rotate: 30deg
}

.c-hamburger {
    display: flex;
    flex-direction: column;
    gap: var(--c-hamburger-space)
}

.c-hamburger>.bar {
    width: var(--c-hamburger-width);
    height: var(--c-hamburger-weight);
    background: var(--c-hamburger-color)
}

.c-hamburger>.bar:nth-child(1) {
    animation: hamburger-bar1 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

.c-hamburger>.bar:nth-child(2) {
    animation: hamburger-bar2 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

.c-hamburger>.bar:nth-child(3) {
    animation: hamburger-bar3 var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

[aria-expanded=true] .c-hamburger>.bar:nth-child(1),
.c-hamburger[aria-expanded=true]>.bar:nth-child(1) {
    animation: hamburger-bar1-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

[aria-expanded=true] .c-hamburger>.bar:nth-child(2),
.c-hamburger[aria-expanded=true]>.bar:nth-child(2) {
    animation: hamburger-bar2-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

[aria-expanded=true] .c-hamburger>.bar:nth-child(3),
.c-hamburger[aria-expanded=true]>.bar:nth-child(3) {
    animation: hamburger-bar3-active var(--c-hamburger-duration) var(--c-hamburger-easing) forwards
}

@keyframes hamburger-bar1 {
    0% {
        transform: translateY(calc(var(--c-hamburger-weight) + var(--c-hamburger-space))) rotate(calc(var(--c-hamburger-rotate) * -1))
    }

    50% {
        transform: translateY(calc(var(--c-hamburger-weight) + var(--c-hamburger-space))) rotate(0)
    }

    100% {
        transform: translateY(0) rotate(0)
    }
}

@keyframes hamburger-bar1-active {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(calc(var(--c-hamburger-weight, 2px) + var(--c-hamburger-space, 5px))) rotate(0)
    }

    100% {
        transform: translateY(calc(var(--c-hamburger-weight, 2px) + var(--c-hamburger-space, 5px))) rotate(calc(var(--c-hamburger-rotate, 45deg) * -1))
    }
}

@keyframes hamburger-bar2 {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes hamburger-bar2-active {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes hamburger-bar3 {
    0% {
        transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space, 5px)) * -1)) rotate(var(--c-hamburger-rotate))
    }

    50% {
        transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space, 5px)) * -1)) rotate(0)
    }

    100% {
        transform: translateY(0) rotate(0)
    }
}

@keyframes hamburger-bar3-active {
    0% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space)) * -1)) rotate(0)
    }

    100% {
        transform: translateY(calc((var(--c-hamburger-weight) + var(--c-hamburger-space)) * -1)) rotate(var(--c-hamburger-rotate))
    }
}

.c-heading {
    position: relative;
    font: inherit;
    line-height: 1
}

.c-heading.-typeB,
.c-heading.-typeA {
    font-size: var(--font-20);
    line-height: 1.25
}

[data-text].c-heading.-typeB::before,
.c-heading.-typeA[data-text]::before {
    content: attr(data-text);
    display: block;
    width: 100%;
    margin-bottom: .25em;
    font-weight: normal;
    font-size: var(--font-40);
    line-height: 1.125;
    letter-spacing: .075em
}

.c-heading.-typeB>span,
.c-heading.-typeA>span {
    display: flex;
    align-items: center;
    gap: .375em
}

.c-heading.-typeB>span::before,
.c-heading.-typeA>span::before {
    content: "";
    flex: 0 0 auto;
    display: inline-block;
    width: .625em;
    border-top: 1px solid currentColor
}

.-center.c-heading.-typeB::before,
.c-heading.-typeA.-center::before {
    text-align: center
}

.-center.c-heading.-typeB>span,
.c-heading.-typeA.-center>span {
    justify-content: center
}

.c-heading.-typeB {
    width: -moz-fit-content;
    width: fit-content;
    min-width: clamp(313px, 36.7647058824vw, 500px);
    padding: clamp(13px, 1.4705882353vw, 20px) clamp(25px, 2.9411764706vw, 40px);
    background: var(--color-white);
    font-size: var(--font-16);
    box-shadow: 4px 4px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-heading.-typeB {
        min-width: clamp(406px, 47.7941176471vw, 650px);
        padding: clamp(28px, 3.3088235294vw, 45px) clamp(50px, 5.8823529412vw, 80px);
        font-size: var(--font-20)
    }
}

.c-heading.-typeB[data-text]::before {
    font-size: var(--font-30);
    letter-spacing: .05em
}

@media(min-width: 768px) {
    .c-heading.-typeB[data-text]::before {
        font-size: var(--font-40);
        letter-spacing: inherit
    }
}

.c-heading.-typeB.-blue {
    background: var(--color-blue);
    color: var(--color-white)
}

.c-heading.-typeC {
    width: -moz-fit-content;
    width: fit-content;
    padding: clamp(13px, 1.4705882353vw, 20px) clamp(25px, 2.9411764706vw, 40px);
    background: var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-23);
    line-height: 1.25;
    color: var(--color-white);
    box-shadow: 4px 4px 2px rgba(0, 0, 0, .15)
}

@media(min-width: 768px) {
    .c-heading.-typeC {
        padding: clamp(9px, 1.1029411765vw, 15px) clamp(50px, 5.8823529412vw, 80px);
        font-size: var(--font-33)
    }
}

.c-heading.-singleJob-contact,
.c-heading.-typeD {
    font-weight: bold;
    font-size: var(--font-25);
    line-height: 1.375;
    text-align: center
}

[data-text].c-heading.-singleJob-contact::before,
.c-heading.-typeD[data-text]::before {
    opacity: .2;
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 50%;
    font: normal var(--font-50)/1 var(--font-en);
    color: var(--color-blue);
    white-space: nowrap;
    transform: translate(-50%, -50%)
}

.c-heading.-typeE {
    padding: .3125em 0 .3125em .75em;
    border-left: 2px solid currentColor;
    font-weight: bold;
    font-size: var(--font-14);
    line-height: 1.5;
    color: var(--color-blue)
}

@media(min-width: 768px) {
    .c-heading.-typeE {
        border-width: 3px;
        font-size: var(--font-20)
    }
}

.c-heading.-typeF {
    background: var(--color-blue);
    color: var(--color-white);
    font-weight: bold;
    font-size: var(--font-25);
    padding: .625em;
    text-align: center
}

.c-heading.-typeF.-gray {
    background: var(--color-gray)
}

.c-heading.-typeG {
    font-weight: normal;
    font-size: var(--font-40);
    line-height: 1.125;
    letter-spacing: .075em
}

.c-heading.-singleJob-contact {
    font-size: var(--font-20)
}

.c-heading.-singleJob-contact[data-text]::before {
    font-size: var(--font-40)
}

.c-icon {
    --c-icon-size: 1em;
    --c-icon-color: currentColor
}

.c-icon {
    display: inline-block;
    width: var(--c-icon-size);
    height: var(--c-icon-size);
    background-color: var(--c-icon-color);
    -webkit-mask-position: 50% 50%;
    mask-position: 50% 50%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    vertical-align: baseline
}

.c-icon.-block {
    display: block
}

.c-icon.-arrow-right {
    -webkit-mask-image: var(--icon-arrow-right);
    mask-image: var(--icon-arrow-right)
}

.c-icon.-check {
    -webkit-mask-image: var(--icon-check);
    mask-image: var(--icon-check)
}

.c-icon.-plus {
    -webkit-mask-image: var(--icon-plus);
    mask-image: var(--icon-plus)
}

.c-icon.-tel {
    -webkit-mask-image: var(--icon-tel);
    mask-image: var(--icon-tel)
}

.c-icon.-mail {
    -webkit-mask-image: var(--icon-mail);
    mask-image: var(--icon-mail)
}

.c-icon.-new-window {
    -webkit-mask-image: var(--icon-new-window);
    mask-image: var(--icon-new-window)
}

.c-list {
    --c-list-gap: 0;
    --c-list-padding-left: 1.25em;
    --c-list-font-size: inherit;
    --c-list-line-height: inherit
}

.c-list {
    display: flex;
    flex-direction: column;
    gap: var(--c-list-gap);
    font-size: var(--c-list-font-size);
    line-height: var(--c-list-line-height);
    padding-left: var(--c-list-padding-left);
    text-align: justify;
    word-break: break-all
}

.c-list.-disc {
    list-style: disc
}

.c-list.-circle {
    list-style: circle
}

.c-list.-square {
    list-style: square
}

.c-list.-decimal {
    list-style: decimal
}

.c-list.-custom {
    padding-left: calc(var(--c-list-padding-left)*1.375)
}

.c-list.-custom>li {
    position: relative
}

.c-list.-custom>li::before {
    content: attr(data-marker);
    width: 1em;
    height: 1em;
    position: absolute;
    left: calc(var(--c-list-padding-left)*-1.375)
}

.c-list.-singleJob-contact-tel {
    --c-list-gap: .25em;
    --c-list-font-size: var(--font-12);
    --c-list-line-height: 1.5;
    letter-spacing: 0
}

.c-loader {
    --c-loader-z-index: 1000;
    --c-loader-background: var(--color-white)
}

.c-loader {
    z-index: var(--c-loader-z-index);
    opacity: 1;
    visibility: visible;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: var(--c-loader-background)
}

.c-row {
    --c-row-gutter-x: 0;
    --c-row-gutter-y: 0
}

.c-row {
    display: flex;
    flex-wrap: wrap;
    margin: calc(var(--c-row-gutter-y)/2*-1) calc(var(--c-row-gutter-x)/2*-1);
    padding: 0;
    list-style: none
}

.c-row>.col {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    padding: calc(var(--c-row-gutter-y, 0)/2) calc(var(--c-row-gutter-x, 0)/2)
}

.c-row.-center {
    justify-content: center
}

.c-row.-right {
    justify-content: flex-end
}

.c-row.-middle {
    align-items: center
}

.c-row.-bottom {
    align-items: flex-end
}

.c-row.-auto>.col {
    flex: 0 0 auto
}

.c-row.-one>.col {
    flex-basis: 100%;
    max-width: 100%
}

.c-row.-two>.col {
    flex-basis: 50%;
    max-width: 50%
}

.c-row.-three>.col {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%
}

.c-row.-four>.col {
    flex-basis: 25%;
    max-width: 25%
}

.c-row.-five>.col {
    flex-basis: 20%;
    max-width: 20%
}

.c-row.-six>.col {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%
}

.c-row.-seven>.col {
    flex-basis: 14.2857142857%;
    max-width: 14.2857142857%
}

.c-row.-eight>.col {
    flex-basis: 12.5%;
    max-width: 12.5%
}

.c-row.-nine>.col {
    flex-basis: 11.1111111111%;
    max-width: 11.1111111111%
}

.c-row.-ten>.col {
    flex-basis: 10%;
    max-width: 10%
}

.c-row.-eleven>.col {
    flex-basis: 9.0909090909%;
    max-width: 9.0909090909%
}

.c-row.-twelve>.col {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%
}

@media(min-width: 560px) {
    .c-row.-sm-left {
        justify-content: flex-start
    }

    .c-row.-sm-center {
        justify-content: center
    }

    .c-row.-sm-right {
        justify-content: flex-end
    }

    .c-row.-sm-top {
        align-items: flex-start
    }

    .c-row.-sm-middle {
        align-items: center
    }

    .c-row.-sm-bottom {
        align-items: flex-end
    }

    .c-row.-sm-auto>.col {
        flex: 0 0 auto;
        max-width: none
    }

    .c-row.-sm-one>.col {
        flex-basis: 100%;
        max-width: 100%
    }

    .c-row.-sm-two>.col {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row.-sm-three>.col {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row.-sm-four>.col {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row.-sm-five>.col {
        flex-basis: 20%;
        max-width: 20%
    }

    .c-row.-sm-six>.col {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row.-sm-seven>.col {
        flex-basis: 14.2857142857%;
        max-width: 14.2857142857%
    }

    .c-row.-sm-eight>.col {
        flex-basis: 12.5%;
        max-width: 12.5%
    }

    .c-row.-sm-nine>.col {
        flex-basis: 11.1111111111%;
        max-width: 11.1111111111%
    }

    .c-row.-sm-ten>.col {
        flex-basis: 10%;
        max-width: 10%
    }

    .c-row.-sm-eleven>.col {
        flex-basis: 9.0909090909%;
        max-width: 9.0909090909%
    }

    .c-row.-sm-twelve>.col {
        flex-basis: 8.3333333333%;
        max-width: 8.3333333333%
    }
}

@media(min-width: 768px) {
    .c-row.-md-left {
        justify-content: flex-start
    }

    .c-row.-md-center {
        justify-content: center
    }

    .c-row.-md-right {
        justify-content: flex-end
    }

    .c-row.-md-top {
        align-items: flex-start
    }

    .c-row.-md-middle {
        align-items: center
    }

    .c-row.-md-bottom {
        align-items: flex-end
    }

    .c-row.-md-auto>.col {
        flex: 0 0 auto;
        max-width: none
    }

    .c-row.-md-one>.col {
        flex-basis: 100%;
        max-width: 100%
    }

    .c-row.-md-two>.col {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row.-md-three>.col {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row.-md-four>.col {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row.-md-five>.col {
        flex-basis: 20%;
        max-width: 20%
    }

    .c-row.-md-six>.col {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row.-md-seven>.col {
        flex-basis: 14.2857142857%;
        max-width: 14.2857142857%
    }

    .c-row.-md-eight>.col {
        flex-basis: 12.5%;
        max-width: 12.5%
    }

    .c-row.-md-nine>.col {
        flex-basis: 11.1111111111%;
        max-width: 11.1111111111%
    }

    .c-row.-md-ten>.col {
        flex-basis: 10%;
        max-width: 10%
    }

    .c-row.-md-eleven>.col {
        flex-basis: 9.0909090909%;
        max-width: 9.0909090909%
    }

    .c-row.-md-twelve>.col {
        flex-basis: 8.3333333333%;
        max-width: 8.3333333333%
    }
}

@media(min-width: 960px) {
    .c-row.-lg-left {
        justify-content: flex-start
    }

    .c-row.-lg-center {
        justify-content: center
    }

    .c-row.-lg-right {
        justify-content: flex-end
    }

    .c-row.-lg-top {
        align-items: flex-start
    }

    .c-row.-lg-middle {
        align-items: center
    }

    .c-row.-lg-bottom {
        align-items: flex-end
    }

    .c-row.-lg-auto>.col {
        flex: 0 0 auto;
        max-width: none
    }

    .c-row.-lg-one>.col {
        flex-basis: 100%;
        max-width: 100%
    }

    .c-row.-lg-two>.col {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row.-lg-three>.col {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row.-lg-four>.col {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row.-lg-five>.col {
        flex-basis: 20%;
        max-width: 20%
    }

    .c-row.-lg-six>.col {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row.-lg-seven>.col {
        flex-basis: 14.2857142857%;
        max-width: 14.2857142857%
    }

    .c-row.-lg-eight>.col {
        flex-basis: 12.5%;
        max-width: 12.5%
    }

    .c-row.-lg-nine>.col {
        flex-basis: 11.1111111111%;
        max-width: 11.1111111111%
    }

    .c-row.-lg-ten>.col {
        flex-basis: 10%;
        max-width: 10%
    }

    .c-row.-lg-eleven>.col {
        flex-basis: 9.0909090909%;
        max-width: 9.0909090909%
    }

    .c-row.-lg-twelve>.col {
        flex-basis: 8.3333333333%;
        max-width: 8.3333333333%
    }
}

@media(min-width: 1200px) {
    .c-row.-xl-left {
        justify-content: flex-start
    }

    .c-row.-xl-center {
        justify-content: center
    }

    .c-row.-xl-right {
        justify-content: flex-end
    }

    .c-row.-xl-top {
        align-items: flex-start
    }

    .c-row.-xl-middle {
        align-items: center
    }

    .c-row.-xl-bottom {
        align-items: flex-end
    }

    .c-row.-xl-auto>.col {
        flex: 0 0 auto;
        max-width: none
    }

    .c-row.-xl-one>.col {
        flex-basis: 100%;
        max-width: 100%
    }

    .c-row.-xl-two>.col {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row.-xl-three>.col {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row.-xl-four>.col {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row.-xl-five>.col {
        flex-basis: 20%;
        max-width: 20%
    }

    .c-row.-xl-six>.col {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row.-xl-seven>.col {
        flex-basis: 14.2857142857%;
        max-width: 14.2857142857%
    }

    .c-row.-xl-eight>.col {
        flex-basis: 12.5%;
        max-width: 12.5%
    }

    .c-row.-xl-nine>.col {
        flex-basis: 11.1111111111%;
        max-width: 11.1111111111%
    }

    .c-row.-xl-ten>.col {
        flex-basis: 10%;
        max-width: 10%
    }

    .c-row.-xl-eleven>.col {
        flex-basis: 9.0909090909%;
        max-width: 9.0909090909%
    }

    .c-row.-xl-twelve>.col {
        flex-basis: 8.3333333333%;
        max-width: 8.3333333333%
    }
}

.c-row>.col.-auto {
    flex: 0 0 auto
}

.c-row>.col.-one {
    flex-basis: 8.3333333333;
    max-width: 8.3333333333%
}

.c-row>.col.-two {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%
}

.c-row>.col.-three {
    flex-basis: 25%;
    max-width: 25%
}

.c-row>.col.-four {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%
}

.c-row>.col.-five {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%
}

.c-row>.col.-six {
    flex-basis: 50%;
    max-width: 50%
}

.c-row>.col.-seven {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%
}

.c-row>.col.-eight {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%
}

.c-row>.col.-nine {
    flex-basis: 75%;
    max-width: 75%
}

.c-row>.col.-ten {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333
}

.c-row>.col.-eleven {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%
}

.c-row>.col.-twelve {
    flex-basis: 100%;
    max-width: 100%
}

@media(min-width: 560px) {
    .c-row>.col.-sm-auto {
        flex: 0 0 auto
    }

    .c-row>.col.-sm-one {
        flex-basis: 8.3333333333;
        max-width: 8.3333333333%
    }

    .c-row>.col.-sm-two {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row>.col.-sm-three {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row>.col.-sm-four {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row>.col.-sm-five {
        flex-basis: 41.6666666667%;
        max-width: 41.6666666667%
    }

    .c-row>.col.-sm-six {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row>.col.-sm-seven {
        flex-basis: 58.3333333333%;
        max-width: 58.3333333333%
    }

    .c-row>.col.-sm-eight {
        flex-basis: 66.6666666667%;
        max-width: 66.6666666667%
    }

    .c-row>.col.-sm-nine {
        flex-basis: 75%;
        max-width: 75%
    }

    .c-row>.col.-sm-ten {
        flex-basis: 83.3333333333%;
        max-width: 83.3333333333
    }

    .c-row>.col.-sm-eleven {
        flex-basis: 91.6666666667%;
        max-width: 91.6666666667%
    }

    .c-row>.col.-sm-twelve {
        flex-basis: 100%;
        max-width: 100%
    }
}

@media(min-width: 768px) {
    .c-row>.col.-md-auto {
        flex: 0 0 auto
    }

    .c-row>.col.-md-one {
        flex-basis: 8.3333333333;
        max-width: 8.3333333333%
    }

    .c-row>.col.-md-two {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row>.col.-md-three {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row>.col.-md-four {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row>.col.-md-five {
        flex-basis: 41.6666666667%;
        max-width: 41.6666666667%
    }

    .c-row>.col.-md-six {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row>.col.-md-seven {
        flex-basis: 58.3333333333%;
        max-width: 58.3333333333%
    }

    .c-row>.col.-md-eight {
        flex-basis: 66.6666666667%;
        max-width: 66.6666666667%
    }

    .c-row>.col.-md-nine {
        flex-basis: 75%;
        max-width: 75%
    }

    .c-row>.col.-md-ten {
        flex-basis: 83.3333333333%;
        max-width: 83.3333333333
    }

    .c-row>.col.-md-eleven {
        flex-basis: 91.6666666667%;
        max-width: 91.6666666667%
    }

    .c-row>.col.-md-twelve {
        flex-basis: 100%;
        max-width: 100%
    }
}

@media(min-width: 960px) {
    .c-row>.col.-lg-auto {
        flex: 0 0 auto
    }

    .c-row>.col.-lg-one {
        flex-basis: 8.3333333333;
        max-width: 8.3333333333%
    }

    .c-row>.col.-lg-two {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row>.col.-lg-three {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row>.col.-lg-four {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row>.col.-lg-five {
        flex-basis: 41.6666666667%;
        max-width: 41.6666666667%
    }

    .c-row>.col.-lg-six {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row>.col.-lg-seven {
        flex-basis: 58.3333333333%;
        max-width: 58.3333333333%
    }

    .c-row>.col.-lg-eight {
        flex-basis: 66.6666666667%;
        max-width: 66.6666666667%
    }

    .c-row>.col.-lg-nine {
        flex-basis: 75%;
        max-width: 75%
    }

    .c-row>.col.-lg-ten {
        flex-basis: 83.3333333333%;
        max-width: 83.3333333333
    }

    .c-row>.col.-lg-eleven {
        flex-basis: 91.6666666667%;
        max-width: 91.6666666667%
    }

    .c-row>.col.-lg-twelve {
        flex-basis: 100%;
        max-width: 100%
    }
}

@media(min-width: 1200px) {
    .c-row>.col.-xl-auto {
        flex: 0 0 auto
    }

    .c-row>.col.-xl-one {
        flex-basis: 8.3333333333;
        max-width: 8.3333333333%
    }

    .c-row>.col.-xl-two {
        flex-basis: 16.6666666667%;
        max-width: 16.6666666667%
    }

    .c-row>.col.-xl-three {
        flex-basis: 25%;
        max-width: 25%
    }

    .c-row>.col.-xl-four {
        flex-basis: 33.3333333333%;
        max-width: 33.3333333333%
    }

    .c-row>.col.-xl-five {
        flex-basis: 41.6666666667%;
        max-width: 41.6666666667%
    }

    .c-row>.col.-xl-six {
        flex-basis: 50%;
        max-width: 50%
    }

    .c-row>.col.-xl-seven {
        flex-basis: 58.3333333333%;
        max-width: 58.3333333333%
    }

    .c-row>.col.-xl-eight {
        flex-basis: 66.6666666667%;
        max-width: 66.6666666667%
    }

    .c-row>.col.-xl-nine {
        flex-basis: 75%;
        max-width: 75%
    }

    .c-row>.col.-xl-ten {
        flex-basis: 83.3333333333%;
        max-width: 83.3333333333
    }

    .c-row>.col.-xl-eleven {
        flex-basis: 91.6666666667%;
        max-width: 91.6666666667%
    }

    .c-row>.col.-xl-twelve {
        flex-basis: 100%;
        max-width: 100%
    }
}

.c-row>.col.-order-1 {
    order: 1
}

.c-row>.col.-order-2 {
    order: 2
}

.c-row>.col.-order-3 {
    order: 3
}

.c-row>.col.-order-4 {
    order: 4
}

.c-row>.col.-order-5 {
    order: 5
}

.c-row>.col.-order-6 {
    order: 6
}

.c-row>.col.-order-7 {
    order: 7
}

.c-row>.col.-order-8 {
    order: 8
}

.c-row>.col.-order-9 {
    order: 9
}

.c-row>.col.-order-10 {
    order: 10
}

.c-row>.col.-order-11 {
    order: 11
}

.c-row>.col.-order-12 {
    order: 12
}

@media(min-width: 560px) {
    .c-row>.col.-order-sm-1 {
        order: 1
    }

    .c-row>.col.-order-sm-2 {
        order: 2
    }

    .c-row>.col.-order-sm-3 {
        order: 3
    }

    .c-row>.col.-order-sm-4 {
        order: 4
    }

    .c-row>.col.-order-sm-5 {
        order: 5
    }

    .c-row>.col.-order-sm-6 {
        order: 6
    }

    .c-row>.col.-order-sm-7 {
        order: 7
    }

    .c-row>.col.-order-sm-8 {
        order: 8
    }

    .c-row>.col.-order-sm-9 {
        order: 9
    }

    .c-row>.col.-order-sm-10 {
        order: 10
    }

    .c-row>.col.-order-sm-11 {
        order: 11
    }

    .c-row>.col.-order-sm-12 {
        order: 12
    }
}

@media(min-width: 768px) {
    .c-row>.col.-order-md-1 {
        order: 1
    }

    .c-row>.col.-order-md-2 {
        order: 2
    }

    .c-row>.col.-order-md-3 {
        order: 3
    }

    .c-row>.col.-order-md-4 {
        order: 4
    }

    .c-row>.col.-order-md-5 {
        order: 5
    }

    .c-row>.col.-order-md-6 {
        order: 6
    }

    .c-row>.col.-order-md-7 {
        order: 7
    }

    .c-row>.col.-order-md-8 {
        order: 8
    }

    .c-row>.col.-order-md-9 {
        order: 9
    }

    .c-row>.col.-order-md-10 {
        order: 10
    }

    .c-row>.col.-order-md-11 {
        order: 11
    }

    .c-row>.col.-order-md-12 {
        order: 12
    }
}

@media(min-width: 960px) {
    .c-row>.col.-order-lg-1 {
        order: 1
    }

    .c-row>.col.-order-lg-2 {
        order: 2
    }

    .c-row>.col.-order-lg-3 {
        order: 3
    }

    .c-row>.col.-order-lg-4 {
        order: 4
    }

    .c-row>.col.-order-lg-5 {
        order: 5
    }

    .c-row>.col.-order-lg-6 {
        order: 6
    }

    .c-row>.col.-order-lg-7 {
        order: 7
    }

    .c-row>.col.-order-lg-8 {
        order: 8
    }

    .c-row>.col.-order-lg-9 {
        order: 9
    }

    .c-row>.col.-order-lg-10 {
        order: 10
    }

    .c-row>.col.-order-lg-11 {
        order: 11
    }

    .c-row>.col.-order-lg-12 {
        order: 12
    }
}

@media(min-width: 1200px) {
    .c-row>.col.-order-xl-1 {
        order: 1
    }

    .c-row>.col.-order-xl-2 {
        order: 2
    }

    .c-row>.col.-order-xl-3 {
        order: 3
    }

    .c-row>.col.-order-xl-4 {
        order: 4
    }

    .c-row>.col.-order-xl-5 {
        order: 5
    }

    .c-row>.col.-order-xl-6 {
        order: 6
    }

    .c-row>.col.-order-xl-7 {
        order: 7
    }

    .c-row>.col.-order-xl-8 {
        order: 8
    }

    .c-row>.col.-order-xl-9 {
        order: 9
    }

    .c-row>.col.-order-xl-10 {
        order: 10
    }

    .c-row>.col.-order-xl-11 {
        order: 11
    }

    .c-row>.col.-order-xl-12 {
        order: 12
    }
}

.c-row.-site-action {
    --c-row-gutter-x: clamp(19px, 2.2058823529vw, 30px);
    --c-row-gutter-y: clamp(19px, 2.2058823529vw, 30px)
}

.c-row.-site-scene {
    --c-row-gutter-x: clamp(16px, 1.9117647059vw, 26px);
    --c-row-gutter-y: clamp(16px, 1.9117647059vw, 26px)
}

.c-row.-home-explore {
    --c-row-gutter-x: 0px;
    --c-row-gutter-y: 0px
}

.c-row.-benefit-wlb {
    --c-row-gutter-x: clamp(22px, 2.5735294118vw, 35px);
    --c-row-gutter-y: clamp(31px, 3.6764705882vw, 50px)
}

@media(min-width: 960px) {
    .c-row.-benefit-wlb {
        --c-row-gutter-x: 0px;
        --c-row-gutter-y: 0px
    }
}

.c-row.-benefit-skillup {
    --c-row-gutter-x: clamp(22px, 2.5735294118vw, 35px);
    --c-row-gutter-y: clamp(22px, 2.5735294118vw, 35px)
}

.c-row.-benefit-communication {
    --c-row-gutter-x: clamp(22px, 2.5735294118vw, 35px);
    --c-row-gutter-y: clamp(22px, 2.5735294118vw, 35px)
}

.c-row.-benefit-data {
    --c-row-gutter-x: clamp(22px, 2.5735294118vw, 35px);
    --c-row-gutter-y: clamp(22px, 2.5735294118vw, 35px)
}

.c-row.-benefit-gallery {
    --c-row-gutter-x: clamp(8px, 0.8823529412vw, 12px);
    --c-row-gutter-y: clamp(8px, 0.8823529412vw, 12px)
}

.c-row.-archiveStory,
.c-row.-singleStory-archive {
    --c-row-gutter-x: 0px;
    --c-row-gutter-y: clamp(9px, 1.8382352941vw, 25px);
    padding-right: clamp(9px, 1.8382352941vw, 25px)
}

.c-row.-archiveJob-list,
.c-row.-searchJob-result-list {
    --c-row-gutter-x: clamp(19px, 2.2058823529vw, 30px);
    --c-row-gutter-y: clamp(19px, 2.2058823529vw, 30px)
}

.c-row.-singleJob-contact {
    --c-row-gutter-x: clamp(19px, 2.2058823529vw, 30px);
    --c-row-gutter-y: clamp(19px, 2.2058823529vw, 30px)
}

.c-row.-newGraduate-explore {
    --c-row-gutter-x: 0px;
    --c-row-gutter-y: 0px
}

.c-row.-contact-back {
    --c-row-gutter-x: clamp(19px, 2.2058823529vw, 30px);
    --c-row-gutter-y: clamp(19px, 2.2058823529vw, 30px)
}

.c-spinner {
    --c-spinner-size: 25px;
    --c-spinner-weight: 2px;
    --c-spinner-bar-color: var(--color-black-light);
    --c-spinner-track-color: var(--color-gray-pale-b)
}

.c-spinner {
    opacity: 0;
    display: block;
    width: var(--c-spinner-size);
    height: var(--c-spinner-size);
    border-width: var(--c-spinner-weight);
    border-style: solid;
    border-color: var(--c-spinner-track-color);
    border-top-color: var(--c-spinner-bar-color);
    border-radius: 50%;
    transition: opacity .5s 1s ease;
    animation: c-spinner 1s infinite linear
}

.c-spinner.-is-ready {
    opacity: 1
}

@keyframes c-spinner {
    100% {
        transform: rotate(360deg)
    }
}

.c-contentNone {
    background: var(--color-gray-pale-b);
    padding: clamp(63px, 7.3529411765vw, 100px) clamp(19px, 2.2058823529vw, 30px)
}

.c-contentNone>.text {
    font-size: var(--font-15);
    line-height: 1.75;
    text-align: center;
    color: var(--color-gray)
}

.site-drawer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: clamp(313px, 36.7647058824vw, 500px);
    min-height: 100%;
    padding: 100px clamp(31px, 3.6764705882vw, 50px) clamp(31px, 3.6764705882vw, 50px);
    color: var(--color-white)
}

.site-drawer>.nav>.site-drawer-contactList {
    margin-top: clamp(50px, 5.8823529412vw, 80px)
}

.site-drawer-navList,
.site-drawer-entryList {
    font-size: var(--font-18)
}

.site-drawer-entryList {
    margin-bottom: 2em;
}

.site-drawer-navList>li+li {
    margin-top: 2em;
}

.site-drawer-navList>li>a {
    position: relative;
    padding-left: 1.625em
}

.site-drawer-navList>li>a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: .875em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain;
    transform: translateY(-50%)
}

.site-drawer-entryList li {
    margin-left:1.5em;
    margin-top: clamp(9px, 1.1029411765vw, 15px);
}

.site-wrap {
    overflow: hidden;
    position: relative;
    min-height: 100vh;
    padding-bottom: 67px
}

@media(min-width: 560px) {
    .site-wrap {
        padding-bottom: 0
    }
}

.site-header {
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.site-header>.brand {
    padding-left: clamp(31px, 3.6764705882vw, 50px)
}

.site-header>.brand>a>img {
    width: clamp(228px, 19.1176470588vw, 260px)
}

.site-header>.nav {
    display: flex
}

.site-header>.nav>.entry {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%
}

@media(min-width: 560px) {
    .site-header>.nav>.entry {
        position: static;
        width: clamp(109px, 9.1911764706vw, 125px)
    }
}

.hamburger {
    z-index: 501;
    position: relative
}

.site-action {
    background: var(--color-blue) url(../img/site/action-bg.jpg) no-repeat center/cover
}

.site-action>.inner {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.8382352941vw, 25px);
    max-width: var(--container-size-medium);
    margin: 0 auto;
    padding: clamp(31px, 3.6764705882vw, 50px) 0
}

@media(min-width: 960px) {
    .site-action>.inner {
        flex-direction: row;
        align-items: center
    }
}

@media(min-width: 960px) {
    .site-action>.inner>.header {
        flex: 0 1 auto;
        width: 37.5%;
        padding-left: clamp(16px, 1.8382352941vw, 25px)
    }
}

.site-action>.inner>.header>.heading {
    font-weight: bold;
    font-size: var(--font-30);
    line-height: 1.5;
    text-align: center;
    color: var(--color-white)
}

@media(min-width: 768px) {
    .site-action>.inner>.header>.heading {
        font-size: var(--font-40)
    }
}

.site-action>.inner>.body {
    flex: 1 1 0%
}

.site-search {
    padding: clamp(63px, 7.3529411765vw, 100px) 0 0
}

.site-search>.inner {
    max-width: var(--container-size-large);
    margin: 0 auto;
    padding: clamp(31px, 3.6764705882vw, 50px) clamp(16px, 1.8382352941vw, 25px);
    background: var(--color-blue)
}

@media(min-width: 960px) {
    .site-search>.inner {
        display: flex;
        align-items: center;
        padding: clamp(6px, .7352941176vw, 10px)
    }
}

.site-search>.inner>.content {
    text-align: center
}

@media(min-width: 960px) {
    .site-search>.inner>.content {
        flex: 1 1 0%
    }
}

.site-search>.inner>.content>.heading {
    font-size: var(--font-30);
    line-height: 1.5;
    letter-spacing: 0;
    color: var(--color-white)
}

@media(min-width: 560px) {
    .site-search>.inner>.content>.heading {
        font-size: var(--font-38)
    }
}

.site-search>.inner>.content>.action {
    margin-top: clamp(19px, 2.2058823529vw, 30px)
}

.site-search>.inner>.media {
    margin-top: clamp(19px, 2.2058823529vw, 30px);
    text-align: center
}

@media(min-width: 960px) {
    .site-search>.inner>.media {
        flex: 0 0 auto;
        width: 50%;
        margin-top: 0
    }
}

.site-search>.inner>.media>img {
    width: clamp(419px, 49.2647058824vw, 670px)
}

.site-scene {
    max-width: var(--container-size-large);
    margin: 0 auto;
    padding: clamp(66px, 7.7205882353vw, 105px) 0 clamp(53px, 6.25vw, 85px)
}

.site-scene>.heading {
    font-size: var(--font-28);
    line-height: 1.625;
    text-align: center
}

@media(min-width: 768px) {
    .site-scene>.heading {
        font-size: var(--font-40)
    }
}

.site-scene>.body {
    margin-top: clamp(22px, 2.5735294118vw, 35px)
}

.site-scene-item {
    aspect-ratio: 436/375
}

.site-scene-item>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.site-message {
    padding: clamp(28px, 3.3088235294vw, 45px) 0 clamp(31px, 3.6764705882vw, 50px);
    background: var(--color-black-light) url(../img/site/message-bg.jpg) no-repeat center/cover;
    color: var(--color-white);
    text-align: center
}

.site-message>.heading {
    font-size: var(--font-13);
    line-height: 1.5
}

@media(min-width: 768px) {
    .site-message>.heading {
        font-size: var(--font-20)
    }
}

.site-message>.text {
    margin: .375em 0 .5em;
    font-weight: bold;
    font-size: var(--font-21);
    line-height: 1.75;
    letter-spacing: 0
}

@media(min-width: 768px) {
    .site-message>.text {
        font-size: var(--font-33)
    }
}

.site-message>.action>a>img {
    width: clamp(124px, 12.1323529412vw, 165px)
}

.site-footer {
    background: var(--color-gray-pale)
}

.site-footer>.primary {
    max-width: var(--container-size-large);
    margin: 0 auto;
    padding: clamp(31px, 3.6764705882vw, 50px) 0
}

.site-footer>.primary>.logo {
    width: clamp(163px, 19.1176470588vw, 260px);
    margin: 0 auto
}

.site-footer>.primary>.nav {
    display: none
}

@media(min-width: 768px) {
    .site-footer>.primary>.nav {
        display: flex;
        justify-content: center;
        gap: clamp(31px, 3.6764705882vw, 50px);
        margin: clamp(25px, 2.9411764706vw, 40px) auto 0
    }
}

.site-footer>.copyright {
    background: var(--color-black);
    padding: 1.125em;
    font-size: var(--font-10);
    font-family: var(--font-sans);
    text-align: center;
    color: var(--color-white)
}

@media(min-width: 768px) {
    .site-footer>.copyright {
        font-size: var(--font-13)
    }
}

.site-footer-list {
    font-size: var(--font-14);
    font-family: var(--font-sans);
    line-height: 1.25
}

.site-footer-list>li {
    display: flex;
    align-items: center;
    gap: .25em
}

.site-footer-list>li::before {
    content: "";
    width: .75em;
    border-top: 1px solid currentColor
}

.site-footer-list>li+li {
    margin-top: 1em
}

.home-container>.intro {
    z-index: 1;
    position: relative
}

.home-container>.business {
    background: var(--color-gray-pale-b)
}

.home-container>.business>.inner {
    max-width: var(--container-size-large);
    margin: 0 auto;
    padding: clamp(63px, 7.3529411765vw, 100px) 0
}

@media(min-width: 768px) {
    .home-container>.business>.inner {
        max-width: none;
        padding: 0
    }
}

.home-container>.explore {
    max-width: var(--container-size-large);
    margin: 0 auto;
    padding: clamp(63px, 7.3529411765vw, 100px) 0
}

@media(min-width: 768px) {
    .home-container>.explore {
        padding: clamp(28px, 3.3088235294vw, 45px) 0
    }
}

.home-hero {
    position: relative
}

.home-hero>.media {
    overflow: hidden;
    position: relative;
    height: clamp(522px, 61.3970588235vw, 835px);
    background: var(--color-white)
}

.home-hero>.media::before {
    z-index: 1;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../img/home/hero-dot.png")
}

.home-hero>.media>.video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100vw;
    min-height: clamp(522px, 61.3970588235vw, 835px);
    transform: translate(-50%, -50%)
}

@media (max-width:767px) {
    .home-hero>.media {
        height: 100vw;
    }
    .home-hero>.media>.video {
        min-width: 0;
        min-height: 0;
        height: 100vw;
    }
}

.home-hero>.content {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    padding-top: clamp(31px, 3.6764705882vw, 50px)
}

.home-hero.-is-sp>.media {
    height: 100vw
}

.home-hero.-is-sp>.media>.video {
    min-width: 0;
    min-height: 0;
    width: 100vw;
    height: 100vw
}

.home-hero-content {
    text-align: center
}

.home-hero-content>.heading {
    font-weight: bold;
    font-size: var(--font-40);
    line-height: 1.375;
    color: var(--color-white)
}

@media(min-width: 768px) {
    .home-hero-content>.heading {
        font-size: var(--font-60)
    }
}

.home-hero-content>.subheading {
    margin-top: clamp(28px, 3.3088235294vw, 45px);
    font-family: var(--font-en);
    font-size: var(--font-35);
    color: var(--color-blue)
}

@media(min-width: 768px) {
    .home-hero-content>.subheading {
        font-size: var(--font-55)
    }
}

.home-intro {
    height: clamp(386px, 37.8676470588vw, 515px);
    background: var(--color-black-light) url(../img/home/intro-bg.jpg) no-repeat center/cover
}

@media(min-width: 1200px) {
    .home-intro {
        background-size: clamp(1000px, 117.6470588235vw, 1600px)
    }
}

.home-intro>.inner {
    max-width: var(--container-size-large);
    margin: 0 auto
}

.home-intro>.inner>.content {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: clamp(53px, 6.25vw, 85px) clamp(31px, 3.6764705882vw, 50px) clamp(47px, 5.5147058824vw, 75px);
    background: var(--color-gray-light);
    color: var(--color-white);
    text-align: center;
    transform: translateY(clamp(-50px, -3.6764705882vw, -31px))
}

@media(min-width: 768px) {
    .home-intro>.inner>.content {
        padding: clamp(53px, 6.25vw, 85px) clamp(41px, 4.7794117647vw, 65px) clamp(47px, 5.5147058824vw, 75px)
    }
}

.home-intro>.inner>.content>.heading {
    font-size: var(--font-40);
    letter-spacing: .075em
}

.home-intro>.inner>.content>.text {
    margin-top: 1.375em;
    font-size: var(--font-16);
    line-height: 1.6875
}

.home-story {
    padding: clamp(63px, 7.3529411765vw, 100px) 0;
    background: var(--color-gray) url(../img/home/story-bg.jpg) no-repeat center/cover;
    color: var(--color-white)
}

.home-story>.header {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.8382352941vw, 25px);
    max-width: var(--container-size-large);
    margin: 0 auto
}

@media(min-width: 768px) {
    .home-story>.header {
        flex-direction: row;
        align-items: center
    }
}

@media(min-width: 768px) {
    .home-story>.header>.c-heading {
        flex: 1 1 clamp(150px, 14.7058823529vw, 200px);
        max-width: clamp(150px, 14.7058823529vw, 200px)
    }
}

.home-story>.header>.subheading {
    font-size: var(--font-15);
    line-height: 1.5
}

@media(min-width: 768px) {
    .home-story>.header>.subheading {
        flex: 1 1 0%;
        font-size: var(--font-25)
    }
}

.home-story>.body {
    max-width: var(--container-size-large);
    margin: clamp(19px, 2.2058823529vw, 30px) auto 0
}

@media(min-width: 768px) {
    .home-story>.body {
        max-width: none
    }
}

.home-story>.body>.list>li+li {
    margin-top: clamp(25px, 2.9411764706vw, 40px)
}

.home-story>.action {
    max-width: var(--container-size-large);
    margin: clamp(28px, 3.3088235294vw, 45px) auto 0;
    text-align: center
}

.home-business {
    display: flex;
    flex-direction: column
}

@media(min-width: 768px) {
    .home-business {
        flex-direction: row
    }
}

.home-business>.media {
    overflow: hidden;
    position: relative;
    aspect-ratio: 800/750
}

@media(min-width: 768px) {
    .home-business>.media {
        flex: 0 1 auto;
        width: 50%;
        aspect-ratio: auto
    }
}

.home-business>.media>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 768px) {
    .home-business>.media>img {
        position: absolute;
        top: 0;
        left: 0
    }
}

.home-business>.content {
    z-index: 1;
    flex: 1 1 0%;
    margin-top: clamp(28px, 3.3088235294vw, 45px)
}

@media(min-width: 768px) {
    .home-business>.content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: 0
    }
}

.home-business>.content>.inner {
    text-align: center
}

@media(min-width: 768px) {
    .home-business>.content>.inner {
        padding: clamp(63px, 7.3529411765vw, 100px) clamp(31px, 3.6764705882vw, 50px)
    }
}

@media(min-width: 960px) {
    .home-business>.content>.inner {
        width: -moz-fit-content;
        width: fit-content;
        padding: clamp(63px, 7.3529411765vw, 100px) 0
    }
}

.home-business>.content>.inner>.text {
    margin: 1.25em 0;
    font-size: var(--font-15);
    line-height: 1.75
}

.home-business>.content>.inner>.action {
    margin-top: clamp(13px, 1.4705882353vw, 20px)
}

.home-business>.content>.inner>.label {
    z-index: 1;
    position: relative;
    margin: .375em 0 -0.5em;
    font-size: var(--font-58);
    font-family: var(--font-en);
    color: var(--color-blue);
    transform: translateX(1em)
}

@media(min-width: 768px) {
    .home-business>.content>.inner>.label {
        transform: translateX(1.875em);
        font-size: var(--font-48)
    }
}

@media(min-width: 960px) {
    .home-business>.content>.inner>.label {
        font-size: var(--font-58)
    }
}

.home-business>.content>.inner>.media>img {
    width: clamp(213px, 25vw, 340px);
    transform: translateX(clamp(-60px, -4.4117647059vw, -38px))
}

.home-message {
    display: flex;
    flex-direction: column
}

@media(min-width: 560px) {
    .home-message {
        flex-direction: row
    }
}

.home-message>.media {
    overflow: hidden;
    position: relative;
    aspect-ratio: 880/420
}

@media(min-width: 560px) {
    .home-message>.media {
        flex: 0 1 auto;
        width: 50%;
        aspect-ratio: auto
    }
}

@media(min-width: 768px) {
    .home-message>.media {
        width: 55%
    }
}

.home-message>.media>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media(min-width: 560px) {
    .home-message>.media>img {
        position: absolute;
        top: 0;
        left: 0
    }
}

.home-message>.content {
    flex: 1 1 0%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(63px, 7.3529411765vw, 100px) clamp(19px, 2.2058823529vw, 30px);
    background: var(--color-gray-light);
    text-align: center;
    color: var(--color-white)
}

.home-message>.content>.text {
    margin: 1.375em 0;
    font-size: var(--font-15);
    line-height: 1.75
}

._text-white {
    color: var(--color-white) !important
}

._text-black {
    color: var(--color-black) !important
}

._text-black-light {
    color: var(--color-black-light) !important
}

._text-gray {
    color: var(--color-gray) !important
}

._text-gray-light {
    color: var(--color-gray-light) !important
}

._text-gray-light-b {
    color: var(--color-gray-light-b) !important
}

._text-gray-light-c {
    color: var(--color-gray-light-c) !important
}

._text-gray-pale {
    color: var(--color-gray-pale) !important
}

._text-gray-pale-b {
    color: var(--color-gray-pale-b) !important
}

._text-blue {
    color: var(--color-blue) !important
}

._text-green {
    color: var(--color-green) !important
}

._text-blue-gradient {
    color: var(--color-blue-gradient) !important
}

._text-red {
    color: var(--color-red) !important
}

._d-none {
    display: none !important
}

._d-block {
    display: block !important
}

._d-inline-block {
    display: inline-block !important
}

._d-inline {
    display: inline !important
}

._d-flex {
    display: flex !important
}

._d-inline-flex {
    display: inline-flex !important
}

@media(min-width: 560px) {
    ._d-sm-none {
        display: none !important
    }

    ._d-sm-block {
        display: block !important
    }

    ._d-sm-inline-block {
        display: inline-block !important
    }

    ._d-sm-inline {
        display: inline !important
    }

    ._d-sm-flex {
        display: flex !important
    }

    ._d-sm-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 768px) {
    ._d-md-none {
        display: none !important
    }

    ._d-md-block {
        display: block !important
    }

    ._d-md-inline-block {
        display: inline-block !important
    }

    ._d-md-inline {
        display: inline !important
    }

    ._d-md-flex {
        display: flex !important
    }

    ._d-md-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 960px) {
    ._d-lg-none {
        display: none !important
    }

    ._d-lg-block {
        display: block !important
    }

    ._d-lg-inline-block {
        display: inline-block !important
    }

    ._d-lg-inline {
        display: inline !important
    }

    ._d-lg-flex {
        display: flex !important
    }

    ._d-lg-inline-flex {
        display: inline-flex !important
    }
}

@media(min-width: 1200px) {
    ._d-xl-none {
        display: none !important
    }

    ._d-xl-block {
        display: block !important
    }

    ._d-xl-inline-block {
        display: inline-block !important
    }

    ._d-xl-inline {
        display: inline !important
    }

    ._d-xl-flex {
        display: flex !important
    }

    ._d-xl-inline-flex {
        display: inline-flex !important
    }
}

._text-underline {
    text-decoration: underline !important
}

._text-no-underline {
    text-decoration: none !important
}

._font-xsmall {
    font-size: 0.75em !important
}

._font-small {
    font-size: 0.875em !important
}

._font-base {
    font-size: 1em !important
}

._font-large {
    font-size: 1.125em !important
}

._font-xlarge {
    font-size: 1.25em !important
}

._font-2xlarge {
    font-size: 1.5em !important
}

.sp_no{
    display: block;
}
.sp{
    display: none;
}
@media (max-width:767px) {
    .sp_no{
        display: none;
    }
    .sp{
        display: block;
    }
}