@charset "UTF-8";
:root {
  --font-base: "Noto Sans JP", sans-serif;
  --font-en: "Lato", sans-serif;
  --font-ubuntu: "Ubuntu", sans-serif;
  --leading-trim: calc((1em - 1lh) / 2);
  --blue: #2635A7;
  --bg-noise: url("../img/common/bg-noise-blue.png") repeat;
  --bg-noise-yel: url("../img/common/bg-noise-yellow.png") repeat;
  --border: #2635A71A;
  --border02: #2635A733;
  --yellow: #FFF100;
  --grey: #F2F3F4;
  --header-height: 71px;
  --sp-fixed-btns-height: 46px;
  --radius: 10px;
  --mask-arrow: url("../img/common/icon-arrow.svg") no-repeat center center/ contain;
  --top-part-height: min(calc(70 / 1280) * 100vw, 70px);
}
@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
@media screen and (max-width: 768px) {
  :root {
    --header-height: 60px;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* 追加
========================================================================== */
* {
  box-sizing: border-box;
}

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

ul, ol {
  list-style: none;
}

address {
  font-style: normal;
}

img {
  border: 0px none;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

button {
  border: none;
  font-weight: inherit;
}

i {
  font-style: normal;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section,
summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
  overflow-x: clip;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
  color: #000;
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  padding-top: var(--header-height);
}

body.is-fixed {
  position: fixed;
  top: var(--scroll-y);
  left: 0;
  width: 100%;
  overflow: hidden;
}

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

:where(main > *) {
  position: relative;
  z-index: 1;
  background: #fff;
}

h1, h2, h3, h4, p {
  margin-block: var(--leading-trim);
}

a {
  color: inherit;
}

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

summary {
  list-style: none;
  cursor: pointer;
}

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select,
option {
  color: inherit;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
  }
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  padding-block: 8px 13px;
  background: #fff;
  border-bottom: 5px solid var(--blue);
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  .l-header {
    padding-block: 10px;
  }
}
.l-header__inner {
  height: 100%;
  max-width: 1280px;
  padding-inline: 20px 24px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .l-header__inner {
    padding-inline: 20px;
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    padding-inline: 17px 20px;
  }
}
.l-header__logo {
  max-width: 346px;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    max-width: 200px;
  }
}
.l-header__logo-link {
  display: grid;
  grid-template-columns: 1fr max-content;
  -moz-column-gap: 11px;
  column-gap: 11px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .l-header__logo-link {
    grid-template-columns: 1fr;
    gap: 5px 0;
  }
}
.l-header__logo-img {
  display: block;
}
.l-header__menu-btn-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 30px;
}
@media screen and (max-width: 1210px) {
  .l-header__menu {
    display: block;
    position: fixed;
    top: var(--header-height);
    left: 0;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    padding-block: 50px;
    color: #fff;
    z-index: 2;
    background: url("../img/common/bg-noise-blue.png") repeat;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .l-header__menu {
    padding-block: 50px;
    height: calc(100vh - var(--header-height));
    overflow-y: auto;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__menu-inner {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 768px) {
  .l-header__menu-inner {
    min-height: 100vh;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__nav {
    padding-bottom: 40px;
  }
}
.l-header__nav-list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 0 25px;
  padding-left: 25px;
}
@media screen and (max-width: 1210px) {
  .l-header__nav-list {
    grid-auto-flow: row;
    grid-template-columns: 1fr;
    gap: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__nav-item + .l-header__nav-item {
    margin-top: 30px;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__nav-item.interview {
    grid-row: 6;
    margin-top: 35px;
  }
}
@media screen and (max-width: 1210px) {
  .l-header__nav-link {
    align-items: center;
    /* コンポーネントのスタイルを打ち消すために!importantを指定 */
    gap: 0 10px !important;
  }
}
.l-header__nav-link .c-btn-text > span {
  /* コンポーネントのスタイルを打ち消すために!importantを指定 */
  text-shadow: 0px 1lh 0px #000 !important;
}
@media screen and (max-width: 1210px) {
  .l-header__nav-link .c-btn-text > span {
    text-shadow: 0px 1lh 0px #fff !important;
  }
}
.l-header__nav-link .en {
  display: none;
  font-family: var(--font-en);
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  text-transform: uppercase;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 1210px) {
  .l-header__nav-link .en {
    display: inline-block;
  }
}
.l-header__nav-link .ja {
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 1210px) {
  .l-header__nav-link .ja {
    font-size: 1.2rem;
  }
}
.l-header__nav-sub-list {
  display: none;
}
@media screen and (max-width: 1210px) {
  .l-header__nav-sub-list {
    display: grid;
    gap: 20px 0;
    margin-top: 30px;
  }
}
.l-header__nav-sub-item {
  line-height: 1;
}
.l-header__nav-sub-link {
  display: block;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 1210px) {
  .l-header__nav-sub-link {
    opacity: 0.7;
  }
}
.l-header__btn-wrap {
  display: flex;
  align-items: center;
  gap: 0 3px;
}
@media screen and (max-width: 768px) {
  .l-header__btn-wrap {
    position: fixed;
    bottom: 5px;
    left: 0;
    right: 0;
    margin-inline: auto;
    display: grid;
    width: calc(100% - 20px);
    grid-template-columns: repeat(2, 1fr);
    gap: 0 5px;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .l-header__btn-wrap.is-show {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .l-header__btn {
    display: block;
    width: 100%;
  }
}
.l-header__btn .c-btn__btn {
  min-width: 105px;
  justify-content: center;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .l-header__btn .c-btn__btn {
    min-width: unset;
    width: 100%;
    padding: 0 10px;
    min-height: 46px;
    border-radius: 3px;
  }
}
@media screen and (max-width: 768px) {
  .l-header__btn.corp .c-btn__btn {
    border: 1px solid rgba(0, 0, 0, 0.2509803922);
  }
}
.l-header__btn.entry .c-btn__btn {
  background: var(--bg-noise-yel);
  color: var(--blue);
}
@media screen and (max-width: 768px) {
  .l-header__btn.entry .c-btn__btn {
    border: 1px solid rgba(0, 0, 0, 0.1019607843);
  }
}
.l-header__btn.entry .c-btn__btn::after {
  background-image: url("../img/common/bg-noise-blue.png");
}
.l-header__btn.entry .c-btn-text > span {
  text-shadow: 0px 1lh 0px #fff !important;
}
.l-header__btn .c-btn-text {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .l-header__btn .c-btn-text {
    font-size: 1.4rem;
  }
}
.l-header__policy-list {
  display: none;
}
@media screen and (max-width: 1210px) {
  .l-header__policy-list {
    padding-top: 40px;
    display: grid;
    gap: 20px 0;
    font-size: 1.4rem;
    line-height: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.2980392157);
  }
}
.l-header__burger {
  display: none;
}
@media screen and (max-width: 1210px) {
  .l-header__burger {
    display: block;
    position: relative;
    width: 28px;
    height: 10px;
  }
}
.l-header__burger-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--blue);
  left: 0;
  transition: transform 0.3s;
}
.l-header__burger-line:nth-child(1) {
  top: 0;
}
.l-header__burger.is-open .l-header__burger-line:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-20deg);
}
.l-header__burger-line:nth-child(2) {
  bottom: 0;
}
.l-header__burger.is-open .l-header__burger-line:nth-child(2) {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(20deg);
}

.l-footer {
  background: var(--grey);
  position: relative;
  padding-block: 75px 0;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding-block: 60px 0;
  }
}
.l-footer::after {
  content: "";
  display: block;
  width: 100%;
  height: 20px;
  background: var(--bg-noise-yel);
}
.l-footer__top {
  position: relative;
  padding-bottom: 40px;
  display: grid;
  grid-template-columns: 312.2px 50px;
  justify-content: space-between;
  align-items: start;
  margin-right: calc(50% - 50vw);
  padding-right: 20px;
}
@media screen and (max-width: 1280px) {
  .l-footer__top {
    position: static;
    margin-right: 0;
    padding-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
  }
}
@media screen and (max-width: 768px) {
  .l-footer__top {
    grid-template-columns: 1fr;
  }
}
.l-footer__top::before {
  content: "";
  display: block;
  width: min(100%, 100cqw);
  height: 1px;
  background: rgba(0, 0, 0, 0.1019607843);
  position: absolute;
  bottom: 0;
  left: 0;
}
.l-footer__logo {
  margin-block: 0;
}
.l-footer__logo-link {
  max-width: 312px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 17px 0;
}
.l-footer__btm {
  padding-block: 50px 160px;
}
@media screen and (max-width: 768px) {
  .l-footer__btm {
    padding-bottom: 90px;
  }
}
.l-footer__btm-navs {
  padding-right: 9.4642857143%;
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: space-between;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .l-footer__btm-navs {
    padding-right: 0;
  }
}
@media screen and (max-width: 899px) {
  .l-footer__btm-navs {
    grid-template-columns: 1fr;
  }
}
.l-footer__policy-list {
  display: grid;
  gap: 20px 0;
  font-size: 1.4rem;
  line-height: 1;
}
@media screen and (max-width: 899px) {
  .l-footer__policy-list {
    grid-row: 2;
    margin-top: 60px;
  }
}
.l-footer__policy-item > a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .l-footer__policy-item > a:hover {
    opacity: 0.7;
  }
}
.l-footer__nav-list {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 35px min(8.125vw, 104px);
}
@media screen and (max-width: 899px) {
  .l-footer__nav-list {
    grid-template-columns: 1fr;
  }
}
.l-footer__nav-item {
  line-height: 1;
}
.l-footer__nav-item.interview {
  grid-column: 2;
  grid-row: 1/6;
}
@media screen and (max-width: 899px) {
  .l-footer__nav-item.interview {
    grid-column: auto;
    grid-row: auto;
  }
}
.l-footer__nav-link {
  display: inline-flex;
  align-items: baseline;
  /* コンポーネントのスタイルを打ち消すために!importantを指定 */
  gap: 0 10px !important;
  font-weight: bold;
}
.l-footer__nav-link .c-btn-text > span {
  /* コンポーネントのスタイルを打ち消すために!importantを指定 */
  text-shadow: 0px 1lh 0px #000 !important;
}
.l-footer__nav-link .en {
  font-family: var(--font-en);
  font-size: 2.4rem;
  text-transform: uppercase;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .l-footer__nav-link .en {
    font-size: 2.2rem;
  }
}
.l-footer__nav-link .ja {
  white-space: nowrap;
  font-size: 1.4rem;
  /*下端が英語の下端と揃うように微調整*/
  transform: translateY(-0.2em);
}
@media screen and (max-width: 768px) {
  .l-footer__nav-link .ja {
    font-size: 1.2rem;
  }
}
.l-footer__nav-sub-list {
  margin-top: 30px;
  display: grid;
  gap: 17px 0;
}
.l-footer__nav-sub-link {
  font-size: 1.4rem;
  line-height: 1;
}
.l-footer__nav-sub-link .c-btn-text > span {
  /* コンポーネントのスタイルを打ち消すために!importantを指定 */
  text-shadow: 0px 1lh 0px #000 !important;
}

.l-inner {
  width: min(100%, 1120px + 30px * 2);
  padding-inline: 30px;
  margin-inline: auto;
  container-type: inline-size;
}
@media screen and (max-width: 768px) {
  .l-inner {
    padding-inline: 20px;
  }
}
.l-inner.--s {
  width: min(100%, 930px + 30px * 2);
}

.c-logo-text {
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
  color: var(--blue);
}
@media screen and (max-width: 768px) {
  .c-logo-text {
    font-size: 1rem;
  }
}

.c-copy {
  font-weight: 900;
}
.c-copy .letter-1 {
  letter-spacing: -0.05em;
}
.c-copy .letter-2 {
  letter-spacing: -0.16em;
}

.c-arrow {
  display: block;
  width: 14px;
  aspect-ratio: 14/12;
  overflow: hidden;
  position: relative;
}

.c-arrow.--btm {
  width: 12px;
  aspect-ratio: 12/14;
}

.c-arrow.--has-box {
  background: url("../img/common/bg-noise-yellow.png") no-repeat center center/cover;
  width: 55px;
  aspect-ratio: 1/1;
  border-radius: 3px;
}

.c-arrow.--has-box.--box-blue {
  background: url("../img/common/bg-noise-blue.png") no-repeat center center/cover;
}
.c-arrow.--has-box.--box-blue svg {
  stroke: #fff;
}

.c-arrow svg {
  width: 100%;
  height: 100%;
  stroke: var(--blue);
  position: absolute;
  top: 50%;
  left: 50%;
}

.c-arrow.--white svg {
  stroke: #fff;
}

.c-arrow.--grey svg {
  stroke: #F2F3F4;
}

.c-arrow.--black svg {
  stroke: #000;
}

.c-arrow.--has-box svg {
  width: 14px;
  aspect-ratio: 14/12;
  height: auto;
}

.c-arrow svg:first-of-type {
  opacity: 0;
  transform: translate(-250%, -50%);
}

.c-arrow svg:nth-of-type(2) {
  transform: translate(-50%, -50%);
}

/*矢印が左向きの場合*/
.c-arrow.--left svg:first-of-type {
  opacity: 0;
  transform: translate(250%, -50%);
}

/*矢印が下向きの場合*/
.c-arrow.--btm svg:first-of-type {
  opacity: 0;
  transform: translate(-50%, -250%);
}

@media (hover) {
  a:hover .c-arrow svg:first-of-type,
  button:hover .c-arrow svg:first-of-type,
  button.c-arrow:hover svg:first-of-type {
    opacity: 1;
    transform: translate(-50%, -50%);
    transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  a:hover .c-arrow svg:nth-of-type(2),
  button:hover .c-arrow svg:nth-of-type(2),
  button.c-arrow:hover svg:nth-of-type(2) {
    opacity: 0;
    transform: translate(150%, -50%);
    transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  /*矢印が左向きの場合*/
  a:hover .c-arrow.--left svg:nth-of-type(2),
  button:hover .c-arrow.--left svg:nth-of-type(2),
  button.c-arrow.--left:hover svg:nth-of-type(2) {
    opacity: 0;
    transform: translate(-150%, -50%);
    transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  /*矢印が下向きの場合*/
  a:hover .c-arrow.--btm svg:first-of-type,
  button:hover .c-arrow.--btm svg:first-of-type,
  button.c-arrow.--btm:hover svg:first-of-type {
    opacity: 1;
    transform: translate(-50%, -50%);
    transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  a:hover .c-arrow.--btm svg:nth-of-type(2),
  button:hover .c-arrow.--btm svg:nth-of-type(2),
  button.c-arrow.--btm:hover svg:nth-of-type(2) {
    opacity: 0;
    transform: translate(-50%, 150%);
    transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-btn-wrap {
  margin-top: 60px;
  line-height: 0;
}

.c-btn-wrap.--center {
  text-align: center;
}

.c-btn-text {
  font-size: 1.4rem;
  line-height: 1;
  overflow: hidden;
}

.c-btn-text.--en {
  font-family: var(--font-en);
  text-transform: uppercase;
}

.c-btn-text > span {
  line-height: 1.5;
  font-weight: bold;
  display: inline-block;
  margin-block: var(--leading-trim);
  text-shadow: 0px 1lh 0px var(--blue);
  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-btn {
  display: inline-flex;
  gap: 0 2px;
}

.c-btn__btn {
  width: -moz-max-content;
  width: max-content;
  min-width: 170px;
  min-height: 50px;
  padding: 0 20px;
  border-radius: 3px;
  background: var(--bg-noise);
  color: #fff;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 2;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-btn.--btn-white .c-btn__btn {
  background: #fff;
  color: var(--blue);
}
.c-btn.--btn-yellow .c-btn__btn {
  background: var(--yellow);
  color: var(--blue);
}

.c-btn__btn::after {
  content: "";
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  background: url("../img/common/bg-noise-yellow.png") no-repeat center center/cover;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-btn .c-arrow svg {
  transition: none;
}

.c-btn.is-enter .c-btn__btn::after {
  animation: btnHoverInHorizontalUp 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

@keyframes btnHoverInHorizontalUp {
  0% {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
.c-btn.is-enter .c-btn-text > span {
  transform: translateY(-100%);
}

.c-btn.is-enter .c-arrow svg {
  transition: all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-button.is-leave .c-btn__btn::after {
  animation: btnHoverOutHorizontalUp 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}

@keyframes btnHoverOutHorizontalUp {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
  }
}
.c-news {
  display: grid;
  grid-template-columns: 235px 1fr;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .c-news {
    grid-template-columns: 1fr;
    gap: 36px 0;
  }
}
.c-news__ttl {
  display: grid;
  gap: 7px 0;
}
.c-news__ttl .en, .c-news__ttl .ja {
  display: block;
}
.c-news__ttl .en {
  font-family: var(--font-en);
  font-weight: bold;
  font-size: 5rem;
  line-height: 1;
  text-transform: uppercase;
  color: var(--blue);
}
@media screen and (max-width: 768px) {
  .c-news__ttl .en {
    font-size: 3.2rem;
  }
}
.c-news__ttl .ja {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.c-news__item a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-news__item a:hover {
    opacity: 0.7;
  }
}
.c-news__item-inner {
  display: grid;
  grid-template-columns: 208px 1fr;
  align-items: center;
  padding-block: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
}
@media screen and (max-width: 768px) {
  .c-news__item-inner {
    grid-template-columns: 1fr;
    gap: 14px 0;
  }
}
.p-front-mv__news-item:first-child .c-news__item-inner {
  padding-top: 0;
}
.c-news__item-date-cat {
  line-height: 1;
}
.c-news__item-cat {
  margin-left: 18px;
}
.c-news__item-ttl {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.c-news__item.--has-link .c-news__item-ttl::after {
  content: "";
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  margin-left: 6px;
  background: #000;
  -webkit-mask: url("../img/common/icon-arrow-narrow.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-arrow-narrow.svg") no-repeat center center/contain;
}

.c-date {
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  color: rgba(0, 0, 0, 0.5019607843);
}

.c-cat {
  display: inline-block;
  background: var(--grey);
  min-width: 68px;
  padding: 3.5px 4px;
  color: var(--blue);
  font-size: 1.2rem;
  text-align: center;
  line-height: 0;
  border-radius: 3px;
  border: 1px solid var(--border);
}
.c-cat__text {
  display: inline-block;
  line-height: 1.5;
  margin-block: var(--leading-trim);
}

.c-sec-top-part {
  display: block;
  width: 100%;
  height: min(5.46875vw, 70px);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(calc(-100% + 1px));
  clip-path: polygon(0 100%, min(6.640625vw, 85px) 0, calc(100% - min(6.640625vw, 85px)) 0, 100% 100%);
  background: var(--grey);
}
.c-sec-top-part.--white {
  background: #fff;
}

.c-ttl-ja {
  display: grid;
  grid-template-columns: 11px 1fr;
  gap: 0 10px;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .c-ttl-ja {
    font-size: 1.4rem;
  }
}
.c-ttl-ja.--no-deco {
  display: block;
}
.c-ttl-ja.--color-blue {
  color: var(--blue);
}
.c-ttl-ja.--large-22 {
  font-size: 2.2rem;
  letter-spacing: 0;
  gap: 0 7px;
}
@media screen and (max-width: 768px) {
  .c-ttl-ja.--large-22 {
    font-size: 2rem;
  }
}
.c-ttl-ja::before {
  content: "";
  display: block;
  width: 100%;
  height: 11px;
  background-image: url("../img/common/bg-noise-blue.png");
  background-size: cover;
  background-repeat: no-repeat;
}
.c-ttl-ja.--deco-yellow::before {
  background-image: url("../img/common/bg-noise-yellow.png");
}
.c-ttl-ja.--no-deco::before {
  display: none;
}
.c-ttl-ja > span {
  display: inline-block;
  line-height: 1;
}

.c-ttl {
  display: grid;
  gap: 18px 0;
  line-height: 1.5;
  margin: 0;
}
.c-ttl.--has-border {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1019607843);
}
.c-ttl .c-ttl-ja {
  grid-template-columns: 22px 1fr;
  gap: 0 12px;
  font-size: 1.6rem;
}
.c-ttl .c-ttl-ja::before {
  width: 20px;
  height: 4px;
  background-image: url("../img/common/bg-noise-blue.png"), url("../img/common/bg-noise-yellow.png");
  background-size: 50% 100%, 50% 100%;
  background-position: left, right;
}
.c-ttl.--large .c-ttl-ja::before {
  width: 22px;
  height: 11px;
}
.c-ttl__en {
  display: block;
  font-family: var(--font-en);
  font-size: 5rem;
  background: var(--bg-noise);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  text-transform: uppercase;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-ttl__en {
    font-size: 3.6rem;
  }
}
.c-ttl.--center {
  text-align: center;
}

/*ギャラリー*/
.c-gallery {
  position: absolute;
  bottom: -137px;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .c-gallery {
    bottom: -93px;
  }
}
.c-gallery__cont {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  /*アニメーションのdurationは.c-gallery__listの長さ / 32(1秒に移動する距離)で計算 */
  animation: marquee var(--animation-duration, 83.4s) linear infinite;
}
@media screen and (max-width: 768px) {
  .c-gallery__cont {
    animation-duration: var(--animation-duration, 54s);
  }
}
.c-gallery__list {
  display: flex;
  padding-inline: 40px;
  transform: translateZ(0);
  backface-visibility: hidden;
}
@media screen and (max-width: 768px) {
  .c-gallery__list {
    padding-inline: 26px;
  }
}
.c-gallery__list-item {
  display: grid;
  grid-template-columns: repeat(2, 400px);
  gap: 0 10px;
}
@media screen and (max-width: 768px) {
  .c-gallery__list-item {
    grid-template-columns: repeat(2, 260px);
    gap: 0 6px;
  }
}
.c-gallery__list-item + .c-gallery__list-item {
  margin-left: 80px;
}
@media screen and (max-width: 768px) {
  .c-gallery__list-item + .c-gallery__list-item {
    margin-left: 52px;
  }
}
.c-gallery__img {
  width: 100%;
  aspect-ratio: 400/300;
  border-radius: var(--radius);
  overflow: hidden;
}
.c-gallery__img > img {
  /*スマホでのちらつき対策のため指定 */
  backface-visibility: hidden;
  transform: translateZ(0);
}

@keyframes marquee {
  0% {
    transform: translate(0);
  }
  100% {
    transform: translate(-50%);
  }
}
.c-count-item {
  height: 300px;
  padding: 40px;
  background: #fff;
  border-radius: var(--radius);
  position: relative;
}
@media screen and (max-width: 1023px) {
  .c-count-item {
    width: min(100%, 550px);
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .c-count-item {
    padding: 20px;
  }
}
.c-count-item.branch {
  background: #fff url("../img/top/env03.webp") no-repeat top 40px right 40px/auto min(74%, 222px);
}
@media screen and (max-width: 768px) {
  .c-count-item.branch {
    height: 290px;
    background-size: auto 76.5517241379%;
    background-position: top 34px right 20px;
  }
}
.c-count-item.wakaba .c-ttl-ja::before {
  width: 13px;
  height: auto;
  aspect-ratio: 13/20;
  background: url("../img/common/icon-wakaba.svg") no-repeat center center/contain;
}
.c-count-item .c-ttl-ja {
  grid-template-columns: 22px 1fr;
}
.c-count-item .c-ttl-ja::before {
  width: 22px;
  height: 11px;
  background-size: 50% 100%, 50% 100%;
  background-position: left, right;
  background-image: url("../img/common/bg-noise-blue.png"), url("../img/common/bg-noise-yellow.png");
}
.c-count-item__cont {
  position: absolute;
  bottom: 40px;
  left: 40px;
  right: 40px;
  display: grid;
  grid-template-columns: max-content auto;
  grid-template-areas: "text img";
  justify-content: space-between;
  align-items: center;
  gap: 0 20px;
}
@media screen and (max-width: 1023px) {
  .c-count-item__cont {
    position: static;
    grid-template-columns: 1fr;
    grid-template-areas: "img" "text";
    justify-items: center;
    margin-top: 50px;
  }
}
.c-count-item.--small .c-count-item__cont, .c-count-item.--medium .c-count-item__cont {
  grid-template-columns: 1fr;
  grid-template-areas: "img" "text";
  justify-items: center;
}
@media screen and (max-width: 768px) {
  .c-count-item.--small .c-count-item__cont, .c-count-item.--medium .c-count-item__cont {
    gap: 26px 0;
  }
}
.c-count-item.--medium .c-count-item__cont {
  bottom: 27px;
  gap: 30px 0;
}
@media screen and (max-width: 768px) {
  .c-count-item.--medium .c-count-item__cont {
    gap: 23px 0;
  }
}
.c-count-item.--reverse .c-count-item__cont {
  grid-template-areas: "img text";
  grid-template-columns: auto max-content;
}
@media screen and (max-width: 768px) {
  .c-count-item.--reverse .c-count-item__cont {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "text";
    gap: 22px 0;
  }
}
.c-count-item.--small.--reverse .c-count-item__cont {
  grid-template-areas: "text" "img";
}
.c-count-item.--aitems-end .c-count-item__cont {
  align-items: end;
}
.c-count-item.establish .c-count-item__cont {
  grid-template-columns: 16.8085106383% max-content 16.8085106383%;
  justify-content: center;
  align-items: start;
}
@media screen and (max-width: 1023px) {
  .c-count-item.establish .c-count-item__cont {
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .c-count-item.establish .c-count-item__cont {
    grid-template-columns: 16.9491525424% max-content 16.9491525424%;
    gap: 0 5px;
  }
}
.c-count-item.establish .c-count-item__cont::before, .c-count-item.establish .c-count-item__cont::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 88/145;
  background: url("../img/top/env01.svg") no-repeat center center/contain;
}
.c-count-item.establish .c-count-item__cont::after {
  transform: scaleX(-1);
}
.c-count-item.staff .c-count-item__cont {
  gap: 27px 0;
}
.c-count-item.age .c-count-item__cont {
  gap: 22px 0;
}
.c-count-item.branch .c-count-item__cont {
  bottom: 27.3333333333%;
  justify-items: start;
}
.c-count-item.sales .c-count-item__cont {
  gap: 0 50px;
  bottom: 26%;
}
@media screen and (max-width: 1023px) {
  .c-count-item.sales .c-count-item__cont {
    gap: 20px 0;
  }
}
.c-count-item.gender .c-count-item__cont {
  font-size: clamp(1.4rem, 1.2342541436rem + 0.4419889503vw, 1.8rem);
}
@media screen and (max-width: 1023px) {
  .c-count-item.gender .c-count-item__cont {
    gap: calc(38px + 1em) 0;
  }
}
.c-count-item.wakaba .c-count-item__cont {
  grid-template-columns: 1fr;
  grid-template-areas: "text" "img";
  justify-items: center;
  gap: 26px 0;
}
@media screen and (max-width: 768px) {
  .c-count-item.kinzoku .c-count-item__cont {
    position: relative;
    left: auto;
    bottom: auto;
    right: auto;
    display: block;
    width: 64.1791044776%;
    margin: 94px auto 0;
  }
}
.c-count-item.paid-holiday .c-count-item__cont {
  gap: 33px 0;
}
@media screen and (max-width: 768px) {
  .c-count-item.paid-holiday .c-count-item__cont {
    gap: 23px 0;
  }
}
.c-count-item.maternity-off .c-count-item__cont {
  gap: 23px 0;
}
.c-count-item__note {
  display: block;
  color: var(--blue);
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: 0.05em;
  margin-block: var(--leading-trim);
  margin-top: calc(var(--leading-trim) + 10px);
}
.c-count-item__text {
  grid-area: text;
  display: flex;
  align-items: baseline;
  gap: 0 5px;
  line-height: 1;
  font-weight: bold;
  background: var(--bg-noise);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}
.c-count-item.establish .c-count-item__text {
  grid-area: auto;
}
@media screen and (max-width: 768px) {
  .c-count-item.kinzoku .c-count-item__text {
    position: absolute;
    bottom: calc(100% + 14px);
    right: 0;
  }
}
.c-count-item__text .num {
  flex-shrink: 0;
  font-family: var(--font-en);
  font-size: clamp(7.8rem, 6.8883977901rem + 2.4309392265vw, 10rem);
  background: var(--bg-noise);
  -webkit-background-clip: text;
  background-clip: text;
  margin-block: var(--leading-trim);
}
.c-count-item.--small .c-count-item__text .num, .c-count-item.--medium .c-count-item__text .num {
  font-size: 5.2rem;
}
@media screen and (max-width: 1023px) {
  .c-count-item.--small .c-count-item__text .num, .c-count-item.--medium .c-count-item__text .num {
    font-size: clamp(7.8rem, 6.8883977901rem + 2.4309392265vw, 10rem);
  }
}
.c-count-item.establish .c-count-item__text .num {
  font-size: clamp(6.8rem, 5.1425414365rem + 4.4198895028vw, 10.8rem);
}
.c-count-item.gender .c-count-item__text .num {
  position: relative;
  font-size: clamp(6rem, 5.2748618785rem + 1.9337016575vw, 7.75rem);
}
@media screen and (max-width: 768px) {
  .c-count-item.kinzoku .c-count-item__text .num {
    font-size: 4.2rem;
  }
}
.c-count-item__text .unit {
  font-size: clamp(3.2rem, 2.8685082873rem + 0.8839779006vw, 4rem);
}
.c-count-item.--small .c-count-item__text .unit, .c-count-item.--medium .c-count-item__text .unit {
  font-size: clamp(2.2rem, 1.9513812155rem + 0.6629834254vw, 2.8rem);
}
.c-count-item.establish .c-count-item__text .unit {
  font-size: clamp(2.3rem, 1.7613259669rem + 1.4364640884vw, 3.6rem);
}
.c-count-item.gender .c-count-item__text .unit {
  position: relative;
  width: 17px;
  align-self: stretch;
}
.c-count-item.gender .c-count-item__text .unit::before {
  content: ":";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(5rem, 4.3784530387rem + 1.6574585635vw, 6.5rem);
  background: var(--bg-noise);
  -webkit-background-clip: text;
  background-clip: text;
}
@media screen and (max-width: 768px) {
  .c-count-item.kinzoku .c-count-item__text .unit {
    font-size: 1.6rem;
  }
}
.c-count-item__img {
  grid-area: img;
}
.c-count-item.staff .c-count-item__img {
  width: min(52.4444444444%, 180px);
}
.c-count-item.age .c-count-item__img {
  width: min(70.2222222222%, 250px);
}
@media screen and (max-width: 1023px) {
  .c-count-item.--medium .c-count-item__img {
    max-width: 110px;
  }
}
.c-count-item.overtime .c-count-item__img {
  width: 41.3669064748%;
}
.c-count-item.paid-holiday .c-count-item__img {
  width: 35.9712230216%;
}
.c-count-item.maternity-off .c-count-item__img {
  width: 34.8920863309%;
}
.c-count-item__img > img {
  width: 100%;
}

.c-intv-card {
  width: 330px;
}
@media screen and (max-width: 768px) {
  .c-intv-card {
    width: 297px;
  }
}
.c-intv-card__link {
  display: flex;
  flex-direction: column-reverse;
  gap: 20px 0;
}
.c-intv-card__figure {
  position: relative;
}
.c-intv-card__img-mask {
  -webkit-mask: url("../img/common/interview-path2.svg") no-repeat left top/100% auto;
  mask: url("../img/common/interview-path2.svg") no-repeat left top/100% auto;
}
@media screen and (max-width: 768px) {
  .c-intv-card__img-mask {
    -webkit-mask-image: url("../img/common/interview-path-sp.svg");
    mask-image: url("../img/common/interview-path-sp.svg");
  }
}
.c-intv-card__img-mask > img {
  width: 100%;
  aspect-ratio: 330/400;
  transition: transform 0.3s;
}
.c-intv-card__link:hover .c-intv-card__img-mask > img {
  transform: scale(1.05);
}
.c-intv-card__text {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 0.3em;
  transition: -webkit-text-decoration 0.4s;
  transition: text-decoration 0.4s;
  transition: text-decoration 0.4s, -webkit-text-decoration 0.4s;
}
@media (hover: hover) {
  .c-intv-card__link:hover .c-intv-card__text {
    text-decoration: underline;
    text-underline-offset: 0.3em; /* 文字との距離 */
    text-decoration-thickness: 1px;
  }
}

.c-intv-card-more {
  display: grid;
  grid-template-columns: max-content 14px;
  justify-content: end;
  align-items: center;
  gap: 0 6px;
  font-size: 1.3rem;
  color: var(--blue);
  line-height: 1;
}

.c-intv-year-dept {
  display: grid;
  gap: 11px 0;
  line-height: 1;
}
.c-intv-card .c-intv-year-dept {
  width: 61.2121212121%;
  position: absolute;
  right: 0;
  bottom: 6px;
}
@media screen and (max-width: 768px) {
  .c-intv-card .c-intv-year-dept {
    bottom: 0;
    width: 55.2188552189%;
  }
}
.c-intv-year-dept .year {
  font-size: 1.4rem;
}
.c-intv-year-dept .dept {
  width: -moz-fit-content;
  width: fit-content;
  background: var(--yellow);
  border-radius: 3px;
  border: 1px solid var(--border);
  padding: 3px 10px;
  color: #000;
  font-size: 1.2rem;
}
.c-intv-year-dept .dept .text {
  display: inline-block;
  color: var(--blue);
  font-weight: bold;
  line-height: 1.2;
  margin-block: var(--leading-trim);
}

.c-employment {
  display: inline-block;
  padding: 7px;
  background: #fff;
  border-radius: 5px;
  border: 1.5px solid var(--border02);
  line-height: 1;
}
.c-employment > .text {
  display: block;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: var(--blue);
  margin-block: var(--leading-trim);
}

.c-job-card {
  font-size: 1.3rem;
}
.c-job-card__link {
  display: block;
  height: 100%;
  background: var(--grey);
  border-radius: var(--radius);
  transition: background 0.3s;
}
@media (hover: hover) {
  .c-job-card__link:hover {
    background: #DFE3E9;
  }
}
.c-job-card__cont {
  padding: 25px;
  padding-bottom: 22px;
}
.c-job-card__job {
  font-size: 2rem;
  font-weight: bold;
  color: var(--blue);
  line-height: normal;
  margin-block: var(--leading-trim);
  margin-top: calc(var(--leading-trim) + 18px);
}
.c-job-card__desc {
  margin-top: calc(var(--leading-trim) + 27px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  align-self: start;
}
.c-job-card__place {
  margin-top: calc(var(--leading-trim) + 30px);
  font-size: 1.4rem;
}
.c-job-card__more-box {
  display: block;
  border-top: 2px solid #fff;
  padding: 17px 24px;
  text-align: right;
  line-height: 1;
}
.c-job-card__more-text {
  display: inline-flex;
  align-items: center;
  gap: 0 5px;
  color: var(--blue);
}

.c-quick-search {
  background: #fff;
  padding: 30px 5.3571428571%;
  border-radius: 10px;
}
@media screen and (max-width: 899px) {
  .c-quick-search {
    padding-inline: 2.75%;
  }
}
@media screen and (max-width: 768px) {
  .c-quick-search {
    padding: 30px 20px;
  }
}
.c-quick-search__inner {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1139px) {
  .c-quick-search__inner {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .c-quick-search__inner {
    gap: 20px 0;
  }
}
.c-quick-search__ttl {
  font-size: 1.5rem;
  font-weight: bold;
}
.c-quick-search__form {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 0 20px;
}
@media screen and (max-width: 1139px) {
  .c-quick-search__form {
    width: min(100%, 862px);
  }
}
@media screen and (max-width: 768px) {
  .c-quick-search__form {
    grid-template-columns: 1fr;
    gap: 20px 0;
  }
}
.c-quick-search__selects {
  display: grid;
  grid-template-columns: 270px 56px 270px;
  align-items: center;
}
@media screen and (max-width: 899px) {
  .c-quick-search__selects {
    grid-template-columns: 250px 40px 250px;
  }
}
@media screen and (max-width: 768px) {
  .c-quick-search__selects {
    grid-template-columns: 1fr 40px 1fr;
  }
}
@media screen and (max-width: 699px) {
  .c-quick-search__selects {
    grid-template-columns: 1fr;
    grid-template-rows: auto 36px auto;
  }
}
.c-quick-search__select-wrap {
  position: relative;
}
.c-quick-search__select-wrap::after {
  content: "";
  display: inline-block;
  width: 12px;
  aspect-ratio: 12/7;
  background: url("../img/common/icon-simple-arrow-btm.svg") no-repeat center center/contain;
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  margin-block: auto;
}
.c-quick-search__select-wrap select {
  width: 100%;
  height: 100%;
  padding: 19px 20px;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: #E7E7E7;
  line-height: 1;
}
.c-quick-search .icon {
  display: block;
  width: 14px;
  aspect-ratio: 1/1;
  background: url("../img/common/icon-close.svg") no-repeat center center/contain;
  justify-self: center;
}
.c-quick-search__btn {
  width: min(100%, 246px);
  background: var(--blue);
  color: #fff;
  border-radius: var(--radius);
  padding: 19px 0;
  display: grid;
  grid-template-columns: 17px max-content;
  align-items: center;
  gap: 0 10px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-quick-search__btn {
    justify-self: center;
  }
}
@media screen and (max-width: 699px) {
  .c-quick-search__btn {
    width: 100%;
  }
}
.c-quick-search__btn::before {
  content: "";
  width: 19px;
  aspect-ratio: 1/1;
  background: url("../img/common/icon-search.svg") no-repeat center center/contain;
}
.c-quick-search__btn .text {
  margin-block: var(--leading-trim);
}

.c-recruit-tax-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 20px;
}
@media screen and (max-width: 768px) {
  .c-recruit-tax-list {
    gap: 0 10px;
  }
}
.c-recruit-tax-list__item {
  position: relative;
}
.c-recruit-tax-list__btn {
  width: 100%;
  background: #DFE3E9;
  padding-block: 20.5px;
  border-radius: var(--radius);
  line-height: 1;
  transition: background 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-recruit-tax-list__btn {
    padding-block: 14.5px;
  }
}
.c-recruit-tax-list__btn.is-active {
  background: var(--blue);
  color: #fff;
}
.c-recruit-tax-list__btn::before {
  content: "";
  display: inline-block;
  width: 7.5%;
  aspect-ratio: 27/24;
  position: absolute;
  top: 85.6060606061%;
  left: 0;
  right: 0;
  margin-inline: auto;
  background: #DFE3E9;
  -webkit-mask: url("../img/common/icon-triangle.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-triangle.svg") no-repeat center center/contain;
  opacity: 0;
  transition: opacity 0.3s, background 0.3s;
}
@media screen and (max-width: 768px) {
  .c-recruit-tax-list__btn::before {
    width: 14px;
    top: 62px;
  }
}
.c-recruit-tax-list__btn.is-active::before {
  background: var(--blue);
  opacity: 1;
}
.c-recruit-tax-list__btn .text {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3;
  margin-block: var(--leading-trim);
}

.c-recruit-term-box {
  margin-top: 45px;
  background: #DFE3E9;
  padding: 30px 40px;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .c-recruit-term-box {
    margin-top: 20px;
    padding: 30px 20px;
  }
}
.c-recruit-term-box__group {
  display: none;
  gap: 20px 0;
}
.c-recruit-term-box__group.is-active {
  display: block;
}
.c-recruit-term-box__btns {
  --gap: min(calc(20 / 1280 * 100vw), 20px);
}
.c-recruit-term-box__group.is-active .c-recruit-term-box__btns {
  display: grid;
  grid-template-columns: repeat(4, calc((100% - var(--gap) * 3) / 4));
  justify-content: start;
  gap: var(--gap);
}
@media screen and (max-width: 1023px) {
  .c-recruit-term-box__group.is-active .c-recruit-term-box__btns {
    grid-template-columns: repeat(3, calc((100% - var(--gap) * 2) / 3));
  }
}
@media screen and (max-width: 768px) {
  .c-recruit-term-box__group.is-active .c-recruit-term-box__btns {
    grid-template-columns: repeat(2, calc((100% - var(--gap)) / 2));
  }
}
@media screen and (max-width: 520px) {
  .c-recruit-term-box__group.is-active .c-recruit-term-box__btns {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.c-recruit-term-btn {
  position: relative;
  min-height: 56px;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background: #fff;
  z-index: 2;
  border-radius: var(--radius);
}
.c-recruit-term-btn::after {
  content: "";
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  background: var(--grey);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-recruit-term-btn.is-enter::after {
  animation: btnHoverInHorizontalUp 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
.c-recruit-term-btn .c-btn-text {
  font-size: 1.6rem;
}
.c-recruit-term-btn .c-btn-text > span {
  text-shadow: 0px 1lh 0px #000;
}
.c-recruit-term-btn.is-enter .c-btn-text > span {
  transform: translateY(-100%);
}
.c-recruit-term-btn .c-arrow {
  width: 7px;
  aspect-ratio: 7/12;
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  margin-block: auto;
}
.c-recruit-term-btn .c-arrow svg {
  aspect-ratio: 7/12;
}

.c-cta {
  padding-block: 120px 104px;
  background: var(--bg-noise);
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-cta {
    padding-bottom: 76px 80px;
  }
}
.c-cta::before, .c-cta::after {
  content: "";
  display: block;
  position: absolute;
  background: no-repeat left top/100% auto;
  z-index: -1;
  transform: translateZ(0);
  will-change: clip-path;
  opacity: 0;
}
.c-cta::before {
  top: 0;
  left: 0;
  width: min(32.34375vw, 414px);
  aspect-ratio: 414/291;
  background-image: url("../img/common/cta-paint01.webp");
  clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
  transition: clip-path 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s linear;
}
.c-cta.is-inview::before {
  opacity: 1;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.c-cta::after {
  bottom: 0;
  right: 0;
  width: min(39.21875vw, 502px);
  aspect-ratio: 502/531;
  background-image: url("../img/common/cta-paint02.webp");
  clip-path: polygon(100% 0, 100% 0, 100% 0, 100% 0);
  transition: clip-path 0.35s cubic-bezier(0.16, 1, 0.3, 1) 0.2s, opacity 0.2s linear;
}
.c-cta.is-inview::after {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  opacity: 1;
}
.c-cta__ttl {
  font-size: 5rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-cta__ttl {
    font-size: 3rem;
  }
}
.c-cta__text {
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: calc(var(--leading-trim) + 50px);
}
.c-cta .c-btn-wrap {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .c-cta .c-btn-wrap {
    margin-top: 50px;
  }
}
.c-cta .c-btn__btn {
  width: 310px;
  height: 80px;
  background: var(--yellow);
  border-radius: var(--radius);
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-cta .c-btn__btn {
    width: 335px;
  }
}
.c-cta .c-btn__btn::after {
  background: #fff;
}
.c-cta .c-btn-text {
  font-size: 2rem;
  color: var(--blue);
}

.c-page-top {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--blue);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s, pointer-events 0.3s;
}
@media screen and (max-width: 768px) {
  .c-page-top {
    position: absolute;
    right: 10px;
    top: -25px;
  }
}
.c-page-top.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-page-top.is-fixed {
  position: fixed;
  right: 10px;
  bottom: 20px;
}
@media screen and (max-width: 768px) {
  .c-page-top.is-fixed {
    top: auto;
    bottom: calc(5px + var(--sp-fixed-btns-height) + 25px);
  }
}
.c-page-top::before {
  content: "";
  width: 13px;
  aspect-ratio: 12/7;
  background: #fff;
  -webkit-mask: url("../img/common/icon-simple-arrow-btm.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-simple-arrow-btm.svg") no-repeat center center/contain;
  transform: rotate(-180deg);
}

.c-sticky-cont {
  padding-block: 34px;
  position: sticky;
  bottom: 0;
  background: var(--bg-noise);
  color: #fff;
  font-weight: 900;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .c-sticky-cont {
    padding-block: 23px calc(20px + var(--sp-fixed-btns-height));
  }
}
.c-sticky-cont__inner {
  max-width: 1280px;
  padding-inline: 40px 24px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
}
@media screen and (max-width: 839px) {
  .c-sticky-cont__inner {
    padding-inline: 30px;
    grid-template-columns: 1fr;
    gap: 23px 0;
  }
}
@media screen and (max-width: 768px) {
  .c-sticky-cont__inner {
    padding-inline: 20px;
  }
}
.c-sticky-cont__text {
  font-size: clamp(3.6rem, 2.6055248619rem + 2.6519337017vw, 6rem);
  line-height: 1.1;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .c-sticky-cont__text {
    line-height: 1.2;
  }
}
.c-sticky-cont__copyright {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-sticky-cont__copyright {
    font-size: 1rem;
  }
}

.c-sub-mv {
  background: var(--bg-noise);
  aspect-ratio: 1280/400;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 6.25vw;
  overflow-x: clip;
}
@media screen and (max-width: 1279px) {
  .c-sub-mv {
    aspect-ratio: auto;
    height: 400px;
  }
}
@media screen and (max-width: 768px) {
  .c-sub-mv {
    height: 300px;
    padding-bottom: 90px;
  }
}
.c-sub-mv::before {
  content: "";
  display: block;
  width: 36.640625vw;
  aspect-ratio: 469/306;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/sub-mv-deco2.webp") no-repeat left top/100% auto;
}
@media screen and (max-width: 768px) {
  .c-sub-mv::before {
    width: min(47%, 280px);
  }
}
.c-sub-mv__ttl {
  display: grid;
  gap: 34px 0;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__ttl {
    gap: 10px 0;
  }
}
.c-sub-mv__ttl .en, .c-sub-mv__ttl .ja {
  display: block;
  margin-block: var(--leading-trim);
  font-weight: bold;
  line-height: 1.5;
  text-align: right;
}
.c-sub-mv__ttl .en {
  font-family: var(--font-en);
  font-size: clamp(4.5rem, 2.3867403315rem + 5.635359116vw, 9.6rem);
  background: url("../img/common/bg-noise-white.png") repeat;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-transform: uppercase;
}
.c-sub-mv__ttl .ja {
  color: #fff;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__ttl .ja {
    font-size: 1.4rem;
  }
}

/*パンくず*/
.c-breadcrumbs {
  background: #F2F3F5;
  padding-block: 10px;
}
.c-breadcrumbs__list {
  width: min(100%, 1240px + 20px * 2);
  padding-inline: 20px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.c-breadcrumbs__list-item {
  font-size: 1.2rem;
}
.c-breadcrumbs__list-item:not(:last-child) {
  flex-shrink: 0;
  display: inline-grid;
  grid-template-columns: max-content auto;
  align-items: center;
  gap: 0 1rem;
}
.c-breadcrumbs__list-item:not(:last-child)::after {
  content: "";
  width: 4px;
  aspect-ratio: 7/12;
  background: rgba(0, 0, 0, 0.2980392157);
  -webkit-mask: url("../img/common/icon-simple-arrow-right.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-simple-arrow-right.svg") no-repeat center center/contain;
}
.c-breadcrumbs__list-item:not(:last-child) a {
  color: rgba(0, 0, 0, 0.5019607843);
  transition: color 0.3s;
}
@media (hover: hover) {
  .c-breadcrumbs__list-item:not(:last-child) a:hover {
    color: var(--blue);
  }
}
.c-breadcrumbs__list-item:last-child {
  overflow: hidden;
}
.c-breadcrumbs__list-item:last-child > span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-pagination {
  margin-top: 60px;
}
.c-pagination .nav-links {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
  padding-inline: 30px;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.c-pagination .page-numbers {
  display: grid;
  width: 35px;
  height: 35px;
  place-content: center;
  color: var(--blue);
  font-weight: 400;
  line-height: 1;
  border-radius: 100vmax;
}
.c-pagination .page-numbers.current {
  background: var(--blue);
  color: #fff;
}
.c-pagination .page-numbers.disabled {
  background: #C9C9C9 !important;
}
.c-pagination .page-numbers.prev, .c-pagination .page-numbers.next {
  width: 6px;
  aspect-ratio: 8/14;
  background: var(--blue);
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  -webkit-mask: url("../img/common/icon-simple-arrow-left.svg") no-repeat center center/contain;
  mask: url("../img/common/icon-simple-arrow-left.svg") no-repeat center center/contain;
}
.c-pagination .page-numbers.prev {
  left: 0;
}
.c-pagination .page-numbers.next {
  right: 0;
  -webkit-mask-image: url("../img/common/icon-simple-arrow-right.svg");
  mask-image: url("../img/common/icon-simple-arrow-right.svg");
}

.c-form-step {
  width: min(610px, 100%);
  height: 29px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  gap: 0 5px;
}
@media screen and (max-width: 768px) {
  .c-form-step {
    height: 47px;
  }
}
.c-form-step__item {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
.c-form-step__item::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: var(--bg-noise);
}
.c-form-step.--step1 .c-form-step__item:nth-child(1)::after {
  height: 5px;
  background: var(--bg-noise-yel);
}
.c-form-step.--step2 .c-form-step__item:nth-child(2)::after {
  height: 5px;
  background: var(--bg-noise-yel);
}
.c-form-step.--step3 .c-form-step__item:nth-child(3)::after {
  height: 5px;
  background: var(--bg-noise-yel);
}
.c-form-step__item-text {
  color: var(--blue);
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
@media screen and (max-width: 768px) {
  .c-form-step__item-text {
    flex-direction: column;
    gap: 7px 0;
  }
}
.c-form-step__item-text .en {
  font-family: var(--font-ubuntu);
  font-size: 1.3rem;
  font-weight: bold;
  font-style: italic;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .c-form-step__item-text .en {
    font-size: 1.2rem;
  }
}
.c-form-step__item-text .ja {
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .c-form-step__item-text .ja {
    font-size: 1.4rem;
  }
}

.c-form-required-note {
  margin-top: calc(var(--leading-trim) + 47px);
  text-align: right;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
}
.c-form-required-note .required {
  color: #C50707;
}

.only-pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .only-pc {
    display: none;
  }
}
.only-min850 {
  display: block;
}

@media screen and (max-width: 849px) {
  .only-min850 {
    display: none;
  }
}
.only-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .only-sp {
    display: block;
  }
}
.pt-0 {
  padding-top: 0;
}

.bg-blue {
  background: var(--bg-noise);
}

.bg-grey {
  background: var(--grey) !important;
}

.color-blue {
  color: var(--blue);
}

.grecaptcha-badge {
  z-index: 100;
  bottom: 5px;
  display: none;
}

.p-404 {
  padding-block: 118px 200px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-404 {
    padding-block: 80px 130px;
  }
}
.p-404__ttl {
  font-family: var(--font-ubuntu);
  font-size: 14rem;
  color: var(--blue);
  font-weight: bold;
  font-style: italic;
  line-height: 0.8;
  margin-block: 0;
}
@media screen and (max-width: 768px) {
  .p-404__ttl {
    font-size: 9rem;
  }
}
.p-404__text-en {
  font-size: 2.4rem;
  color: var(--blue);
  line-height: 1.5;
  margin-top: calc(var(--leading-trim) + 36px);
}
@media screen and (max-width: 768px) {
  .p-404__text-en {
    font-size: 2rem;
  }
}
.p-404__text-jp {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: calc(var(--leading-trim) + 52px);
}
.p-404__btn {
  margin-top: 80px;
}