/* Reset styles */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
legend,
figure,
figcaption,
button,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

button {
  padding: 0;
  border: none;
  background-color: transparent;
  appearance: none;
  cursor: pointer;
  outline: none;
}

li {
  list-style: none;
}

small,
em {
  font-style: normal;
}

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

/* Global styles */
:root {
  --color: #2daf61;
  --color-black: #2d2d2d;
  --color-bg1: #f2f2f2;
  --color-bg2: #eeeeef;
  --color-bg3: #f7f7f7;
  --color-grad1: #009944;
  --color-grad2: #54d860;
  --color-gray: #c0c0c0;
  --color-light-yellow: #fffabc;
  --color-white: #fff;
}

body.page-recruit {
  padding-top: 0 !important;
}
body.passive {
  overflow: hidden;
}

.recruit-header,
.recruit-main {
  text-align: left;
  color: var(--color-black);
  font-family: "Noto Sans JP", serif;
  font-style: normal;
  font-size: 13px;
  font-weight: 500;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  line-height: 2.15;
  letter-spacing: .14em;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (min-width: 769px) {
  .recruit-header,
  .recruit-main {
    font-size: 18px;
    letter-spacing: .2em;
  }
}

/* Helper classes */
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}

.opensans {
  font-family: "Open Sans", sans-serif;
}

/* Layout styles */
.recruit-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  padding: 1.5rem 7.5rem 0 1.2rem;
  width: 100%;
  z-index: 99;
}
.recruit-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 12rem;
  background-image: linear-gradient(to bottom, #fff, transparent 81%, transparent);
  pointer-events: none;
  transform: translateY(0);
  transition: transform .4s ease;
  -webkit-transition: transform .4s ease;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .recruit-header::before {
    height: 220px;
  }
}
.recruit-header--white::before {
  height: 22rem;
  background-image: linear-gradient(to bottom, rgba(25, 30, 40, .5), rgba(25, 30, 40, .5) 40%, transparent 81%, transparent);
  transform: translateY(-10rem);
}
@media screen and (min-width: 769px) {
  .recruit-header--white::before {
    height: 320px;
  }
}
.recruit-header__logo {
  display: flex;
  flex-shrink: 0;
}
.recruit-header__logo div:first-of-type {
  margin-right: .3rem;
}
.recruit-header__logo svg * {
  fill: var(--color-black);
}
.recruit-header--white .recruit-header__logo svg * {
  fill: var(--color-white);
}
.recruit-header__content {
  display: flex;
  align-items: center;
  width: calc(100% - 180px);
  max-width: 558px;
}
.recruit-header__recruit-fixed-entry-links {
  position: fixed;
  left: 0;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .recruit-header__recruit-fixed-entry-links {
    position: static;
  }
}

.page-recruit .footer {
  position: relative;
  z-index: 0;
}
.page-recruit .footer::before,
.page-recruit .footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
  z-index: -1;
}
.page-recruit .footer::before {
  width: .5px;
  background-color: var(--color-gray);
}
.page-recruit .footer::after {
  border-right: .5px solid var(--color-gray);
  border-left: .5px solid var(--color-gray);
  width: calc(100% - 40px);
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .page-recruit .footer::after {
    width: calc(100% - 95px);
  }
}

/* Component styles */
.recruit-entry-links {
  max-width: 280px;
}
@media screen and (min-width: 769px) {
  .recruit-entry-links {
    display: flex;
    max-width: none;
  }
}
.recruit-entry-links__block {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__block {
    width: 50%;
  }
}
.recruit-entry-links__block:not(:first-of-type) {
  margin-top: 25px;
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__block:not(:first-of-type) {
    margin-top: 0;
  }
}
.recruit-entry-links__heading {
  display: inline-block;
  position: relative;
  font-size: 14px;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__heading {
    font-size: 20px;
  }
}
.recruit-entry-links__heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__heading::after {
    height: 2px;
  }
}
.recruit-entry-links__link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 14px;
  width: 100%;
  height: 134px;
  background-color: var(--color-white);
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__link {
    margin-top: 20px;
    height: 200px;
  }
  .recruit-entry-links__block:nth-of-type(2n) .recruit-entry-links__link {
    border-left: 1px solid var(--color-gray);
  }
}
.recruit-entry-links__image {
  max-width: 230px;
  max-height: 41px;
}
@media screen and (min-width: 769px) {
  .recruit-entry-links__image {
    max-width: 343px;
    max-height: 61px;
  }
}

.recruit-section {
  position: relative;
  padding: 60px 0;
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .recruit-section {
    position: relative;
    padding-top: 140px;
    padding-bottom: 140px;
  }
}
.recruit-section--bg-gray {
  background-image: url(../img/recruit-texture.jpg);
  background-image: image-set(url(../img/recruit-texture.jpg) 1x, url(../img/recruit-texture@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/recruit-texture.jpg) 1x, url(../img/recruit-texture@2x.jpg) 2x);
  background-repeat: repeat;
  background-position: left top;
  background-size: 140px 140px;
}
.recruit-section--bg-white {
  background-color: var(--color-white);
}
.recruit-section__recruit-wrap,
.recruit-section__recruit-container,
.recruit-section__recruit-inner {
  margin: 0 auto;
}
.recruit-section__border {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1040px;
  height: 100%;
  transform: translateX(-50%);
  z-index: -1;
}
.recruit-section__border::before,
.recruit-section__border::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  transform: translateX(-50%);
}
.recruit-section__border::before {
  width: .5px;
  background-color: var(--color-gray);
}
.recruit-section__border::after {
  border-right: .5px solid var(--color-gray);
  border-left: .5px solid var(--color-gray);
  width: calc(100% - 40px);
}
@media screen and (max-width: 768px) {
  .recruit-section__border::after {
    width: calc(100% - 95px);
  }
}

.recruit-wrap {
  padding: 0 20px;
  max-width: 1240px;
}

.recruit-container {
  padding: 0 20px;
  max-width: 1040px;
}

@media screen and (max-width: 768px) {
  .recruit-inner {
    width: 83.6%;
  }
}

.recruit-bg {
  position: relative;
  z-index: 0;
}
.recruit-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/recruit-texture.jpg);
  background-image: image-set(url(../img/recruit-texture.jpg) 1x, url(../img/recruit-texture@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/recruit-texture.jpg) 1x, url(../img/recruit-texture@2x.jpg) 2x);
  background-repeat: repeat;
  background-position: left top;
  background-size: 140px 140px;
  opacity: .95;
  z-index: -1;
}

.recruit-heading {
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .recruit-heading {
    font-size: 70px;
  }
  .recruit-heading--left-pc {
    text-align: left;
  }
}
.recruit-heading--white {
  color: var(--color-white);
}
.recruit-heading__sub {
  display: block;
  font-family: "Noto Sans JP", serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-heading__sub {
    font-size: 21px;
  }
}

.recruit-text--center {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recruit-text--center-sp {
    text-align: center;
  }
}
.recruit-text--white {
  color: var(--color-white);
}

/* Project-specific styles */
.recruit-fixed-entry-links {
  display: flex;
  width: 100%;
  height: 66px;
}
@media screen and (max-width: 768px) {
  .recruit-fixed-entry-links {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
    -webkit-transition: opacity .3s;
  }
  .recruit-fixed-entry-links.active{
    opacity: 1;
    pointer-events: auto;
  }
}
@media screen and (min-width: 769px) {
  .recruit-fixed-entry-links {
    width: calc(100% - 80px);
    height: 100%;
  }
}
.recruit-fixed-entry-links__item {
  position: relative;
  padding-right: 30px;
  width: 50%;
  height: 100%;
  background-color: var(--color-white);
}
@media screen and (min-width: 769px) {
  .recruit-fixed-entry-links__item {
    padding-right: 0;
    background-color: transparent;
  }
}
.recruit-fixed-entry-links__item:not(:first-of-type):before {
  content: "";
  position: absolute;
  top: 50%;
  left: -.5px;
  width: 1px;
  height: calc(100% - 24px);
  background-color: var(--color-black);
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .recruit-fixed-entry-links__item:not(:first-of-type):before {
    content: none;
  }
}
.recruit-fixed-entry-links__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.recruit-fixed-entry-links__text {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .21em;
}
@media screen and (min-width: 769px) {
  .recruit-header--white .recruit-fixed-entry-links__text {
    color: var(--color-white);
  }
}
.recruit-fixed-entry-links__em {
  position: relative;
  font-size: 17px;
}
@media screen and (min-width: 769px) {
  .recruit-fixed-entry-links__em {
    font-weight: 700;
  }
}
.recruit-fixed-entry-links__em::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 5px);
  border-radius: 50%;
  width: 25px;
  height: 25px;
  background-color: var(--color-black);
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.57%22%20height%3D%2213.44%22%20viewBox%3D%220%200%2016.57%2013.44%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M16.49%2C7.16c.12-.28.12-.6%2C0-.88-.06-.14-.14-.27-.25-.37L10.66.34c-.45-.45-1.18-.45-1.62%2C0-.45.45-.45%2C1.18%2C0%2C1.62l3.61%2C3.61H1.15c-.63%2C0-1.15.51-1.15%2C1.15s.51%2C1.15%2C1.15%2C1.15h11.51l-3.61%2C3.61c-.45.45-.45%2C1.18%2C0%2C1.62.22.22.52.34.81.34s.59-.11.81-.34l5.57-5.57c.11-.11.19-.23.25-.37Z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px auto;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .recruit-fixed-entry-links__em::after {
    left: calc(100% + 10px);
    width: 36px;
    height: 36px;
    background-size: 14px auto;
  }
}

.recruit-video-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  pointer-events: none;
  z-index: -1;
}

.recruit-first-view {
  position: relative;
  z-index: 0;
}
.recruit-first-view__bg {
  position:sticky;
  top: 0;
  left: 0;
  margin-top: calc((1svh * 100) * -1);
  width: 100%;
  height: 100dvh;
  background-image: url(../img/recruit_fv_sp.jpg);
  background-image: image-set(url(../img/recruit_fv_sp.jpg) 1x, url(../img/recruit_fv_sp@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../img/recruit_fv_sp.jpg) 1x, url(../img/recruit_fv_sp@2x.jpg) 2x);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: cover;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .recruit-first-view__bg {
    background-image: url(../img/recruit_fv.jpg);
    background-image: image-set(url(../img/recruit_fv.jpg) 1x, url(../img/recruit_fv@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/recruit_fv.jpg) 1x, url(../img/recruit_fv@2x.jpg) 2x);
  }
}
.recruit-first-view__shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(25, 30, 40, .54);
}
.recruit-first-view__move {
  position: sticky;
  top: 0;
  left: 0;
  margin-bottom: 72vw;
  width: 100%;
  height: 100dvh;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .recruit-first-view__move {
    margin-bottom: 750px;
  }
}
.recruit-first-view__icon {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  left: 50%;
  bottom: 7px;
  padding-bottom: 45px;
  border-radius: 50%;
  width: 86px;
  height: 86px;
  background-color: rgba(25, 30, 40, .5);
  text-align: center;
  color: var(--color-white);
  font-size: 10px;
  transform: translateX(-50%);
  transition: background-color .3s ease, opacity .3s ease, transform .3s ease;
  -webkit-transition: background-color .3s ease, opacity .3s ease, transform .3s ease;
}
@media screen and (min-width: 769px) {
  .recruit-first-view__icon {
    bottom: 29px;
    padding-bottom: 65px;
    width: 119px;
    height: 119px;
    font-size: 13px;
  }
}
.recruit-first-view__icon.bgnone {
  background-color: transparent;
}
.recruit-first-view__icon.hide {
  opacity: 0;
  transform: translateX(-50%) translateY(-50px);
}
.recruit-first-view__icon-border,
.recruit-first-view__icon-point {
  position: absolute;
  left: 50%;
  background-color: var(--color-white);
  transform: translateX(-50%);
}
.recruit-first-view__icon-border {
  bottom: -7px;
  width: 1px;
  height: 45px;
}
@media screen and (min-width: 769px) {
  .recruit-first-view__icon-border {
    bottom: -9px;
    height: 63px;
  }
}
.recruit-first-view__icon-point {
  border-radius: 50%;
  width: 5px;
  height: 5px;
}
@media screen and (min-width: 769px) {
  .recruit-first-view__icon-point {
    width: 7px;
    height: 7px;
  }
}

.recruit-catch-copy {
  padding-top: calc(88.9333333vw + 300px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-catch-copy {
    padding-top: calc(28.5714286vw + 125px);
    padding-bottom: 156px;
  }
}
.recruit-catch-copy__image {
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, .3));
}

.recruit-lead {
  padding-bottom: 0;
}
.recruit-lead__text {
  text-align: center;
  color: var(--color-white);
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: .14em;
}
@media screen and (min-width: 769px) {
  .recruit-lead__text {
    font-size: 19px;
    line-height: 2.4;
    letter-spacing: .24em;
  }
}
.recruit-lead__row:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .recruit-lead__row:not(:first-of-type) {
    margin-top: 25px;
  }
}
.recruit-lead__em {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-lead__em {
    font-size: 35px;
  }
}
.recruit-lead__pic {
  margin-top: 60px;
  width: 100%;
  height: 211px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .recruit-lead__pic {
    margin-top: 125px;
    height: 540px;
  }
}
.recruit-lead__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.recruit-personality {
  padding-bottom: 54px;
}
@media screen and (min-width: 769px) {
  .recruit-personality {
    padding-bottom: 129px;
  }
}
.recruit-personality__recruit-text {
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-personality__recruit-text {
    margin-top: 25px;
  }
}
.recruit-personality__figure {
  margin-top: 15px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-personality__figure {
    margin-top: 25px;
  }
}

.recruit-top-message {
  padding-bottom: 142px;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .recruit-top-message {
    padding-bottom: 255px;
  }
}
.recruit-top-message__heading {
  margin-top: 30px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.83;
  letter-spacing: .1em;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__heading {
    margin-top: 15px;
    font-size: 40px;
    letter-spacing: .2em;
  }
}
.recruit-top-message__content {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    margin-top: 40px;
  }
}
.recruit-top-message__text {
  text-align: justify;
  line-height: 2.3;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__text {
    width: 50%;
  }
}
.recruit-top-message__row:not(:first-of-type) {
  margin-top: 2em;
}
.recruit-top-message__pic {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__pic {
    display: block;
    margin-top: 0;
    width: 40.2%;
  }
}
.recruit-top-message__recruit-top-name {
  margin-left: 24px;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__recruit-top-name {
    position: absolute;
    top: calc(100% + 50px);
    right: 0;
    margin-left: 0;
  }
}

.recruit-top-name {
  flex-shrink: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-top-name {
    text-align: right;
    font-size: 27px;
  }
}
.recruit-top-name__position {
  display: block;
  font-size: 12px;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .recruit-top-name__position {
    font-size: 17px;
  }
}
.recruit-top-message__recruit-decoration {
  position: absolute;
  left: 0;
  bottom: -36px;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .recruit-top-message__recruit-decoration {
    bottom: -215px;
  }
}

.recruit-decoration {
  width: 100%;
  height: 155px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .recruit-decoration {
    height: 470px;
  }
}
.recruit-decoration__image {
  position: absolute;
  top: 50%;
  left: calc(50% - 65px);
  max-width: 310px;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .recruit-decoration__image {
    left: calc(50% - 327px);
    max-width: none;
  }
}

.recruit-our-jobs {
  padding-bottom: 70px;
  overflow: hidden;
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs {
    padding-bottom: 150px;
  }
}
.recruit-our-jobs::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  mask-image: linear-gradient(#000, #000), url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22547.48%22%20height%3D%22751.37%22%20viewBox%3D%220%200%20547.48%20751.37%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22clippath%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M385.94%2C541.68c-.92-1.18-.82-2.86.22-3.93l157.52-161.96c.23-.23.28-.51.15-.81-.13-.3-.36-.46-.69-.46h-90.26c-.2%2C0-.4.08-.54.23l-138.36%2C146.85c-.84.9-2.15%2C1.19-3.29.73-1.14-.45-1.89-1.56-1.89-2.79v-221.05c0-1.52%2C1.13-2.8%2C2.64-2.98%2C43.91-5.29%2C105.62-20.97%2C150.27-65.6%2C73.5-73.53%2C68.21-193.41%2C67.95-198.48l-1.5-29.06c-.02-.38-.32-.69-.71-.71l-29.06-1.5c-5.07-.27-124.87-5.66-198.49%2C67.96-6.24%2C6.24-9.67%2C14.53-9.67%2C23.35s3.43%2C17.11%2C9.67%2C23.34c12.88%2C12.87%2C33.82%2C12.87%2C46.7%2C0%2C31.58-31.58%2C78.29-42.9%2C111.92-46.85.92-.11%2C1.82.21%2C2.47.86.65.65.97%2C1.56.86%2C2.47-3.94%2C33.63-15.27%2C80.34-46.84%2C111.92-17.87%2C17.86-52.34%2C40.55-115.14%2C47.2-.8.08-1.6-.15-2.22-.66-.62-.51-1.01-1.24-1.09-2.04-4.4-46.8-19.53-112.47-66.65-159.59l-.03-.03C156.29-5.47%2C36.51-.08%2C31.45.18L2.39%2C1.68c-.38.02-.69.32-.71.71L.18%2C31.44c-.27%2C5.07-5.66%2C124.86%2C67.97%2C198.48%2C47.22%2C47.22%2C113.07%2C62.31%2C159.99%2C66.66%2C1.54.14%2C2.72%2C1.44%2C2.72%2C2.99v451.06c0%2C.41.33.75.75.75h76.45c.41%2C0%2C.75-.33.75-.75v-190.04c0-1.29.83-2.44%2C2.05-2.85%2C1.22-.41%2C2.57%2C0%2C3.35%2C1.04l145.11%2C192.59h87.41c.38%2C0%2C.58-.23.67-.42.09-.19.16-.48-.08-.78l-161.37-208.49ZM229.22%2C229.14c-.57.56-1.33.88-2.12.88-.12%2C0-.24%2C0-.35-.02-33.71-4-80.49-15.36-111.9-46.77-31.58-31.58-42.91-78.29-46.86-111.92-.11-.91.21-1.82.86-2.47.65-.65%2C1.56-.97%2C2.47-.86%2C33.63%2C3.94%2C80.35%2C15.27%2C111.92%2C46.84%2C31.55%2C31.56%2C42.89%2C78.24%2C46.84%2C111.85.11.91-.21%2C1.82-.86%2C2.47Z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%3E%3Cg%20style%3D%22clip-path%3A%20url%28%23clippath%29%3B%22%3E%3Cpath%20fill%3D%22000%22%20d%3D%22M311.81%2C750.63v-190.04l146.01%2C193.79h88.9c3.11%2C0%2C4.87-3.58%2C2.96-6.04l-161.37-208.49%2C157.52-161.96c2.31-2.37.63-6.36-2.68-6.36h-90.26c-1.03%2C0-2.02.43-2.73%2C1.18l-138.36%2C146.84v-221.05c43.26-5.21%2C106.36-20.8%2C152.03-66.46%2C74.45-74.48%2C69.09-195.64%2C68.83-200.75l-1.5-29.06c-.1-1.92-1.63-3.45-3.55-3.55l-29.06-1.5c-5.12-.27-126.29-5.64-200.76%2C68.84-14.06%2C14.06-14.06%2C36.87%2C0%2C50.93%2C14.07%2C14.06%2C36.87%2C14.06%2C50.94%2C0%2C31.27-31.27%2C77.99-42.22%2C110.15-45.99-3.77%2C32.16-14.72%2C78.88-45.98%2C110.15-32.32%2C32.31-81.13%2C42.93-113.33%2C46.34-4.05-43.06-18.46-112.37-67.51-161.44h0C157.58-8.45%2C36.42-3.08%2C31.29-2.81L2.23-1.31C.32-1.21-1.21.32-1.31%2C2.23l-1.5%2C29.06c-.27%2C5.12-5.64%2C126.28%2C68.84%2C200.76%2C49.26%2C49.25%2C118.82%2C63.54%2C161.84%2C67.52v451.06c0%2C2.07%2C1.68%2C3.74%2C3.74%2C3.74h76.45c2.07%2C0%2C3.74-1.68%2C3.74-3.74ZM116.97%2C181.11c-31.28-31.27-42.23-78-46-110.15%2C32.17%2C3.77%2C78.89%2C14.72%2C110.15%2C45.98%2C31.24%2C31.25%2C42.2%2C77.93%2C45.98%2C110.08-32.21-3.82-79.04-14.81-110.13-45.91Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
  mask-repeat: no-repeat;
  mask-position: 0 0, calc(50% + 97px) 147px;
  mask-size: 100% 100%, 209px 287px;
  mask-composite: exclude;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs::before {
    mask-position: 0 0, calc(50% + 463px) 109px;
    mask-size: 100% 100%, 548px 752px;
  }
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__recruit-heading {
    margin-top: 130px;
  }
}
.recruit-our-jobs__block {
  padding: 35px 0;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__block {
    padding-top: 70px;
    padding-bottom: 80px;
    border-radius: 30px;
    margin-top: 68px;
  }
}
.recruit-our-jobs__block:first-of-type {
  margin-top: 45px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__block:first-of-type {
    margin-top: 25px;
  }
}
.recruit-our-jobs__block::before {
  border-radius: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__block::before {
    border-radius: 30px;
  }
}
.recruit-our-jobs__container {
  padding: 0 20px;
  margin: 0 auto;
  width: calc(83.6% + 40px);
  max-width: 1040px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__container {
    width: 100%;
  }
}
.recruit-our-jobs__heading {
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__heading {
    display: flex;
    align-items: center;
    text-align: left;
    font-size: 30px;
  }
}
.recruit-our-jobs__heading--ls150 {
  letter-spacing: .15em;
}
.recruit-our-jobs__number {
  display: block;
  background: linear-gradient(0deg, var(--color-grad1) 0%, var(--color-grad2) 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__number {
    margin-right: 28px;
    font-size: 59px;
  }
}
.recruit-our-jobs__recruit-job-contents-figure {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__recruit-job-contents-figure {
    margin-top: 0;
  }
}
.recruit-our-jobs__recruit-offices {
  margin-top: 170px;
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__recruit-offices {
    margin-top: 326px;
  }
}
.recruit-our-jobs__text {
  margin-top: 20px;
}
.recruit-our-jobs__content {
  padding: 20px;
  border-radius: 10px;
  margin-top: 25px;
  background-color: rgba(255, 255, 255, .9);
}
@media screen and (min-width: 769px) {
  .recruit-our-jobs__content {
    padding-top: 50px;
    padding-right: 50px;
    padding-left: 50px;
    border-radius: 20px;
    margin-top: 40px;
  }
}

.recruit-job-contents-figure {
  text-align: center;
}

.recruit-job-contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.recruit-job-contents__item {
  position: relative;
  padding: 60px 20px 30px;
  border-radius: 10px;
  margin-top: 60px;
  background-color: rgba(255, 255, 255, .9);
}
@media screen and (min-width: 769px) {
  .recruit-job-contents__item {
    padding-top: 80px;
    padding-right: 60px;
    padding-bottom: 35px;
    padding-left: 60px;
    border-radius: 20px;
    margin-top: 20px;
  }
  .recruit-job-contents__item:not(:first-of-type) {
    margin-top: 78px; 
    width: calc(50% - 10px);
  }
}
.recruit-job-contents__icon {
  position: absolute;
  top: -30px;
  left: 50%;
  max-width: 82px;
  filter: drop-shadow(0 0 5px rgba(4, 0, 0, .2));
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .recruit-job-contents__icon {
    top: -49px;
    max-width: none;
    filter: drop-shadow(0 0 7px rgba(4, 0, 0, .2));
  }
}
.recruit-job-contents__term {
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-job-contents__term {
    font-size: 22px;
  }
}
.recruit-job-contents__description {
  text-align: justify;
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-job-contents__description {
    margin-top: 10px;
    font-size: 17px;
    line-height: 2;
  }
}

.recruit-offices {
  position: relative;
}
@media screen and (min-width: 769px) {
  .recruit-offices {
    display: flex;
    justify-content: space-between;
  }
}
.recruit-offices::before {
  content: "";
  position: absolute;
  left: -87px;
  bottom: calc(100% - 60px);
  width: 914px;
  height: 721px;
  background-image: url(../img/recruit_map_sp.png);
  background-image: image-set(url(../img/recruit_map_sp.png) 1x, url(../img/recruit_map_sp@2x.png) 2x);
  background-image: -webkit-image-set(url(../img/recruit_map_sp.png) 1x, url(../img/recruit_map_sp@2x.png) 2x);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .recruit-offices::before {
    left: 28px;
    bottom: calc(100% - 163px);
    width: 1280px;
    height: 1012px;
    background-image: url(../img/recruit_map.png);
    background-image: image-set(url(../img/recruit_map.png) 1x, url(../img/recruit_map@2x.png) 2x);
    background-image: -webkit-image-set(url(../img/recruit_map.png) 1x, url(../img/recruit_map@2x.png) 2x);
  }
}
.recruit-offices__item {
  margin-top: 23px;
}
@media screen and (min-width: 769px) {
  .recruit-offices__item {
    margin-top: 0;
    width: 30%;
  }
}
.recruit-offices__pic {
  border-radius: 20px;
  filter: drop-shadow(0 0 8px rgba(4, 0, 0, .2));
  overflow: hidden;
}
.recruit-offices__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-offices__term {
  margin-top: 7px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-offices__term {
    margin-top: 10px;
    font-size: 19px;
    font-weight: 700;
  }
}
.recruit-offices__description {
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .recruit-offices__description {
    font-size: 17px;
  }
}

.recruit-attractive {
  position: relative;
}
.recruit-attractive__text {
  margin-top: 20px;
  text-align: justify;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.93;
  letter-spacing: .15em;
}
@media screen and (min-width: 769px) {
  .recruit-attractive__text {
    font-size: 23px;
  }
}
.recruit-attractive__recruit-attractive-list {
  margin-top: 40px;
}
.recruit-attractive__figure {
  margin: 20px 0 18px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-attractive__figure {
    position: absolute;
    left: calc(50% + 76px);
    bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    width: 42.5%;
  }
}
@media screen and (max-width: 768px) {
  .recruit-attractive__image {
    max-width: 280px;
  }
}

@media screen and (min-width: 769px) {
  .recruit-attractive-list {
    width: 47%;
  }
}
.recruit-attractive-list__term {
  display: inline-block;
  background-image: linear-gradient(transparent 40%, var(--color-light-yellow) 40%);
  font-size: 15px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .recruit-attractive-list__term {
    font-size: 22px;
  }
}
.recruit-attractive-list__discription {
  margin-top: 10px;
  text-align: justify;
}

@media screen and (min-width: 769px) {
  .recruit-graphs {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.recruit-graphs__block {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-graphs__block {
    width: 50.6%;
  }
  .recruit-graphs__block--w408pc {
    width: 45.3%;
  }
}
.recruit-graphs__block:not(:first-of-type) {
  margin-top: 19px;
}
@media screen and (min-width: 769px) {
  .recruit-graphs__block:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .recruit-graphs__image {
    max-width: 242px;
  }
}

.recruit-career-road {
  padding-bottom: 5px;
}
@media screen and (min-width: 769px) {
  .recruit-career-road {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 37px;
  }
}
.recruit-career-road__term {
  margin-top: 10px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .recruit-career-road__term {
    margin-top: 0;
    width: 100%;
  }
}
.recruit-career-road__description {
  padding-bottom: 10px;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .recruit-career-road__description {
    display: flex;
    flex-direction: column;
    padding-right: 25px;
    padding-bottom: 0;
    padding-left: 25px;
    margin-top: 23px;
    width: 25%;
  }
  .recruit-career-road__description:not(:first-of-type) {
    border-left: 1px solid var(--color-grad1);
  }
}
.recruit-career-road__heading {
  border-radius: 6px;
  background-image: linear-gradient(90deg, var(--color-grad1), var(--color-grad2));
  text-align: center;
  color: var(--color-white);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .2em;
}
.recruit-career-road__year {
  font-size: 28px;
}
.recruit-career-road__text {
  margin-top: 10px;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .recruit-career-road__text {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    letter-spacing: .06em;
  }
}
.recruit-career-road__recruit-career-list {
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .recruit-career-road__recruit-career-list {
    margin-top: auto;
  }
}

.recruit-career-list__item {
  padding: 5px 10px;
  text-align: center;
  border: 2px solid var(--color-grad1);
  border-radius: 20px;
  color: var(--color-grad1);
  line-height: 1.5;
  letter-spacing: .15em;
}
@media screen and (min-width: 769px) {
  .recruit-career-list__item {
    font-size: 15px;
  }
}
.recruit-career-list__item:not(:first-of-type) {
  margin-top: 5px;
}
@media screen and (min-width: 769px) {
  .recruit-career-list__item:not(:first-of-type) {
    margin-top: 9px;
  }
}

.recruit-people {
  padding-bottom: 70px;
}
@media screen and (min-width: 769px) {
  .recruit-people {
    padding-bottom: 150px;
  }
}
.recruit-people__recruit-text {
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-people__recruit-text {
    margin-top: 25px;
  }
}
.recruit-people__recruit-slider {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .recruit-people__recruit-slider {
    margin-top: 50px;
  }
}

.recruit-slider {
  position: relative;
}
@media screen and (min-width: 769px) {
  .recruit-slider {
    padding-left: 18vw;
  }
}
.recruit-slider::before,
.recruit-slider::after {
  content: "";
  position: absolute;
  top: 0;
  width: 80px;
  height: 100%;
  mix-blend-mode: multiply;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .recruit-slider::before,
  .recruit-slider::after {
    width: 314px;
  }
}
.recruit-slider::before {
  left: -40px;
  background-image: linear-gradient(90deg, var(--color-black), transparent);
}
@media screen and (min-width: 769px) {
  .recruit-slider::before {
    left: -191px;
  }
}
.recruit-slider::after {
  right: -40px;
  background-image: linear-gradient(90deg, transparent, var(--color-black));
}
@media screen and (min-width: 769px) {
  .recruit-slider::after {
    right: -191px;
  }
}

.recruit-slide-wrap {
  transition-timing-function: linear;
}

.recruit-slide {
  position: relative;
}
.recruit-slide__recruit-person-info {
  position: absolute;
  left: 15px;
  bottom: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-slide__recruit-person-info {
    left: 25px;
    bottom: 25px;
  }
}
.recruit-slide__image {
  width: 100%;
}

.recruit-person-info {
  text-shadow: 0 0 6px var(--color-black);
  color: var(--color-white);
}
.recruit-person-info__name {
  font-size: 13px;
}
@media screen and (min-width: 769px) {
  .recruit-person-info__name {
    font-size: 20px;
  }
}
.recruit-person-info__small {
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .recruit-person-info__small {
    font-size: 18px;
  }
}
.recruit-person-info__data {
  font-size: 10px;
}
@media screen and (min-width: 769px) {
  .recruit-person-info__data {
    font-size: 15px;
  }
}

.recruit-welfere {
  padding-bottom: 70px;
}
@media screen and (min-width: 769px) {
  .recruit-welfere {
    padding-bottom: 150px;
  }
}
@media screen and (min-width: 769px) {
  .recruit-welfere__recruit-welfere-list {
    margin-top: 25px;
  }
}

@media screen and (min-width: 769px) {
  .recruit-welfere-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.recruit-welfere-list__item {
  padding: 30px 20px;
  border-radius: 14px;
  margin-top: 26px;
  text-align: center;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .recruit-welfere-list__item {
    padding-top: 40px;
    padding-right: 60px;
    padding-bottom: 40px;
    padding-left: 60px;
    border-radius: 20px;
    margin-top: 20px;
    width: calc(50% - 10px);
  }
}
.recruit-welfere-list__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 93px;
}
@media screen and (min-width: 769px) {
  .recruit-welfere-list__icon {
    height: 144px;
  }
}
.recruit-welfere-list__image {
  max-width: 93px;
  max-height: 95px;
}
@media screen and (min-width: 769px) {
  .recruit-welfere-list__image {
    max-width: none;
    max-height: none;
  }
}
.recruit-welfere-list__heading {
  margin-top: 10px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-welfere-list__heading {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .15em;
  }
}
.recruit-welfere-list__text {
  margin-top: 10px;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .recruit-welfere-list__text {
    font-size: 17px;
  }
}

.recruit-contact {
  padding-bottom: 70px;
}
@media screen and (min-width: 769px) {
  .recruit-contact {
    padding-bottom: 150px;
  }
}
.recruit-contact__recruit-text {
  margin-top: 15px;
}
@media screen and (min-width: 769px) {
  .recruit-contact__btn-wrap {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
  }
}
.recruit-contact__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 52px 0 67px;
  border-radius: 39px;
  margin: 20px auto 0;
  width: 100%;
  max-width: 364px;
  height: 79px;
  background-color: var(--color-white);
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.57%22%20height%3D%2213.44%22%20viewBox%3D%220%200%2016.57%2013.44%22%3E%3Cpath%20fill%3D%22%232d2d2d%22%20d%3D%22M16.49%2C7.16c.12-.28.12-.6%2C0-.88-.06-.14-.14-.27-.25-.37L10.66.34c-.45-.45-1.18-.45-1.62%2C0-.45.45-.45%2C1.18%2C0%2C1.62l3.61%2C3.61H1.15c-.63%2C0-1.15.51-1.15%2C1.15s.51%2C1.15%2C1.15%2C1.15h11.51l-3.61%2C3.61c-.45.45-.45%2C1.18%2C0%2C1.62.22.22.52.34.81.34s.59-.11.81-.34l5.57-5.57c.11-.11.19-.23.25-.37Z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: right 35px center;
  background-size: 17px auto;
  text-align: center;
  font-size: 14px;
  line-height: 1.57;
  letter-spacing: .2em;
  filter: drop-shadow(0 0 5px rgba(4, 0, 0, .2));
}
@media screen and (min-width: 769px) {
  .recruit-contact__btn {
    padding-right: 77px;
    padding-left: 102px;
    border-radius: 57px;
    margin-right: 0;
    margin-left: 0;
    width: 48.3%;
    max-width: none;
    height: 115px;
    background-position: right 52px center;
    background-size: 25px auto;
    font-size: 20px;
    filter: drop-shadow(0 0 8px rgba(4, 0, 0, .2));
  }
}
.recruit-contact__image {
  position: absolute;
  top: 50%;
  right: calc(50% + 108px);
  max-width: 46px;
  max-height: 46px;
  transform: translate(50%, -50%);
}
@media screen and (min-width: 769px) {
  .recruit-contact__image {
    left: 50px;
    right: auto;
    width: 14%;
    max-width: 68px;
    max-height: 68px;
    transform: translate(0, -50%);
  }
}

.recruit-entry {
  padding-bottom: 70px;
}
@media screen and (min-width: 769px) {
  .recruit-entry {
    padding-bottom: 150px;
  }
}
.recruit-entry__text {
  text-align: center;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .2em;
}
@media screen and (min-width: 769px) {
  .recruit-entry__text {
    font-size: 22px;
  }
}
.recruit-entry__entry-links {
  margin: 35px auto 0;
}
@media screen and (min-width: 769px) {
  .recruit-entry__entry-links {
    margin-top: 45px;
  }
}

.recruit-contact-top {
  padding-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .recruit-contact-top {
    padding-bottom: 60px;
  }
}
.recruit-contact-top__recruit-contact-title {
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .recruit-contact-top__recruit-contact-title {
    margin-top: 20px;
  }
}
.recruit-contact-top__recruit-contact-text {
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .recruit-contact-top__recruit-contact-text {
    margin-top: 45px;
  }
}

.recruit-contact-title {
  text-align: center;
  font-size: 13px;
  font-weight: 100;
  letter-spacing: .175em;
}
@media screen and (min-width: 769px) {
  .recruit-contact-title {
    font-size: 24px;
  }
}
.recruit-contact-title__em {
  display: block;
  position: relative;
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 32px;
  font-weight: 100;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .recruit-contact-title__em {
    font-size: 75px;
  }
}
.recruit-contact-title__em::after {
  content: "";
  position: absolute;
  top: calc(100% - .25em);
  left: 50%;
  width: 27px;
  height: 2px;
  background-color: var(--color-black);
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .recruit-contact-title__em::after {
    width: 45px;
    height: 3px;
  }
}

.recruit-contact-text {
  font-size: 14px;
  font-weight: 100;
  letter-spacing: .15em;
}
@media screen and (min-width: 769px) {
  .recruit-contact-text {
    text-align: center;
    font-size: 18px;
  }
}

.recruit-contact-form {
  background-color: var(--color-bg1);
}

.hamburger {
  background-color: transparent;
}

.hamburger i:after, .hamburger i:before {
  background-color: var(--color-black);
}

.hamburger.is-open i:after, .hamburger.is-open i:before {
  background-color: var(--color-white);
}

.recruit-header--white + .navigation .hamburger i:after, .recruit-header--white + .navigation .hamburger i:before {
  background-color: var(--color-white);
}