/* hover
=================================================================== */
/* ================================================ vw vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* form
=================================================================== */
/* =================================================================== hover anime */
@keyframes pop-hover {
  0% {
    transform: translate(0, 0) rotate(0);
  }
  10% {
    transform: translate(0, 2px) rotate(-6deg);
  }
  20% {
    transform: translate(0, -6px) rotate(0);
  }
  30% {
    transform: translate(0, 3px) rotate(3deg);
  }
  40% {
    transform: translate(0, -3px) rotate(0);
  }
  50% {
    transform: translate(0, 0) rotate(0);
  }
  100% {
    transform: translate(0, 0) rotate(0);
  }
}
@keyframes pop-hover-sm {
  0% {
    transform: translate(0, 0) rotate(0);
  }
  10% {
    transform: translate(0, 2px) rotate(-1deg);
  }
  20% {
    transform: translate(0, -6px) rotate(0);
  }
  30% {
    transform: translate(0, 3px) rotate(0.5deg);
  }
  40% {
    transform: translate(0, -3px) rotate(0);
  }
  50% {
    transform: translate(0, 0) rotate(0);
  }
  100% {
    transform: translate(0, 0) rotate(0);
  }
}
/* =================================================================== slider anime */
@keyframes slider-anime {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
/* ============================================================================================ recruitTop */
/* ============================================================== recruitTop kv */
.rtKv {
  overflow: hidden;
}
.rtKv .pagesKv__nav {
  margin-top: 1.4641288433vw;
}
.rtKv .pagesKv__inner {
  position: absolute;
  width: 100%;
  left: 0;
  text-align: center;
  top: 46%;
  transform: translate(0, -50%);
}

/* ============================================================== rtKv__bg */
.rtKv__bg {
  padding-top: 51.2445095168%;
}

/* ============================================================== rtKv__bgImg */
.rtKv__bgImg {
  position: absolute;
  transform: translate(-50%, -50%);
}

.rtKv__bgImg--inner {
  display: block;
  position: relative;
  padding-top: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* --------------------------------------- rtKv__bgImg layout */
.rtKv__bgImg--1 {
  width: 15.5929721816%;
  top: 29.5%;
  left: 20.5%;
}

.rtKv__bgImg--2 {
  width: 9.8828696925%;
  top: 16.5%;
  left: 67.2%;
}

.rtKv__bgImg--3 {
  width: 13.6896046852%;
  top: 79.5%;
  left: 11.2%;
}

.rtKv__bgImg--4 {
  width: 9.8828696925%;
  top: 73.5%;
  left: 33%;
}

.rtKv__bgImg--5 {
  width: 7.6866764275%;
  top: 74%;
  left: 63.2%;
}

.rtKv__bgImg--6 {
  width: 22.1815519766%;
  top: 63.5%;
  left: 84.4%;
}

/* ============================================================== rtKv__bgText */
.rtKv__bgText {
  position: absolute;
  transform: translate(-50%, -50%);
}

.rtKv__bgText--p {
  font-size: 1.0248901903vw;
  white-space: nowrap;
  line-height: 1;
  margin: 0.8052708638vw 0;
}
.rtKv__bgText--p span {
  opacity: 0;
}

/* --------------------------------------- rtKv__bgText layout */
.rtKv__bgText--1 {
  left: 2.5%;
  top: 43%;
}

.rtKv__bgText--2 {
  left: 16.4%;
  top: 55.5%;
}

.rtKv__bgText--3 {
  left: 35.4%;
  top: 13.5%;
}

.rtKv__bgText--4 {
  left: 56%;
  top: 88.8%;
}

.rtKv__bgText--5 {
  left: 81.4%;
  top: 22.5%;
}

.rtKv__bgText--6 {
  left: 100.5%;
  top: 25.5%;
}

.rtKv__bgText--7 {
  left: 98%;
  top: 93%;
}

/* ============================================================== recruitSection__title */
.recruitSection__title .articleTitle--p {
  font-size: 24px;
}

/* ============================================================== rtStaff */
.rtStaff__hashNav {
  position: relative;
  align-self: flex-start;
  padding-top: 4px;
  padding-left: 20px;
  margin-left: 23px;
}
.rtStaff__hashNav::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 1px;
  height: 27px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  background-color: rgba(var(--color-text), 0.2);
}
.rtStaff__hashNav .cateNav__link {
  cursor: pointer;
}
.rtStaff__hashNav .cateNav__title {
  position: relative;
}
.rtStaff__hashNav .cateNav__title::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: rgba(var(--color-text), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  left: auto;
  right: 0;
  width: 0;
}
.rtStaff__hashNav .cateDot::after {
  content: "#";
  font-size: 16px;
  font-weight: 500;
  line-height: 10px;
}

/* --------------------------------------- rtStaffBlock__list */
.rtStaffBlock__list {
  width: calc(100% + 40px);
  display: flex;
  flex-wrap: wrap;
}

/* --------------------------------------- rtStaffBlock */
.rtStaffBlock {
  width: calc(25% - 40px);
  margin-right: 40px;
  margin-bottom: 50px;
}

.rtStaffBlock__info {
  margin-top: -8px;
}

.rtStaffBlock__infoLeader {
  font-size: 17px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.rtStaffBlock__infoDesc {
  font-size: 12px;
  line-height: 1.2;
  margin-bottom: 20px;
}

/* ============================================================== rtInfo */
.rtInfo__column {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.rtInfo__section--career {
  width: calc(100% - 345px - 70px);
}

.rtInfo__section--potential {
  width: 345px;
  align-self: flex-start;
  position: sticky;
  top: 120px;
  padding-bottom: 90px;
}

/* =========================================================== recruitJobBlock */
.recruitJobBlock {
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(var(--color-text), 0.2);
}
.recruitJobBlock::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: -1px;
  width: 0;
  background-color: rgba(var(--color-text), 1);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  left: auto;
  right: 0;
  width: 0;
}

.recruitTop .recruitJobBlock {
  padding-top: 40px;
  padding-bottom: 40px;
}
.recruitTop .recruitJobBlock .recruitJobBlock__desc {
  padding-right: 70px;
}
.recruitTop .recruitJobBlock .recruitJobBlock__detail .btnSmall {
  top: -10px;
}
.recruitTop .recruitJobBlock__list {
  margin-top: -20px;
}

/* --------------------------------------- rtInfo__partTime */
.rtInfo__midCareer, .rtInfo__partTime {
  margin-bottom: 90px;
}

/* --------------------------------------- recruitJobBlock__link */
.recruitJobBlock__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

/* --------------------------------------- recruitJobBlock title */
.recruitJobBlock__title--wrapper {
  position: relative;
}

.recruitJobBlock__title {
  position: relative;
  font-size: 18px;
  padding-right: 120px;
  padding-bottom: 15px;
}

/* --------------------------------------- recruitJobBlock detail */
.recruitJobBlock__detail {
  position: relative;
}
.recruitJobBlock__detail .btnSmall {
  position: absolute;
  right: 0;
  top: 28px;
}

.recruitJobBlock__desc {
  font-size: 14px;
}

/* --------------------------------------- recruitJobBlock btnIcon */
.recruitJobBlock .btnIcon {
  position: absolute;
  right: 0;
  top: 8px;
}

/* --------------------------------------- newIcon */
.newIcon {
  position: absolute;
  width: min(4.6120058565vw, 63px);
  height: min(2.4158125915vw, 33px);
  left: 0;
  top: 0;
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  border-radius: min(0.439238653vw, 6px);
  white-space: nowrap;
  font-size: 0;
  overflow: hidden;
  display: none;
}

.newIcon__inner {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.newIcon__inner--p {
  display: inline-block;
  line-height: 1;
  text-align: left;
  padding-left: 14px;
  padding-left: 14px;
}
.newIcon__inner--p > span {
  font-size: 13px;
}

/* --------------------------------------- is--new */
.recruitJobBlock.is--new .newIcon {
  display: block;
}
.recruitJobBlock.is--new .recruitJobBlock__title {
  padding-left: min(5.8565153734vw, 80px);
}
.recruitJobBlock.is--new .newIcon__inner--p {
  -webkit-animation: slider-anime 3s linear 0s infinite;
  animation: slider-anime 3s linear 0s infinite;
}
.recruitJobBlock.is--new .partTimeDetail .partTime__table--area {
  padding-left: min(5.8565153734vw, 80px);
}

/* =========================================================== partTime__table */
/* --------------------------------------- table */
.partTime__table {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.partTime__table.partsPc {
  display: flex;
}

.partTime__tableTarget {
  position: relative;
}

.partTime__table--area, .partTime__table--shop {
  width: 22%;
}

.partTime__table--job {
  width: 18%;
}

.partTime__table--pay {
  width: 38%;
  padding-right: 85px;
}

/* --------------------------------------- partTimeNav */
.partTimeNav {
  position: relative;
  font-size: 10px;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 20px;
}
.partTimeNav::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 1px;
  top: auto;
  bottom: 0;
  background-color: rgba(var(--color-text), 0.2);
}

/* --------------------------------------- partTimeDetail */
.partTimeDetail {
  font-size: min(1.317715959vw, 18px);
  line-height: 1.2;
  text-align: left;
  margin-bottom: 30px;
}
.partTimeDetail .newIcon {
  top: -4px;
}

/* --------------------------------------- jobBlock__partTime btn */
.jobBlock__partTime .btnIcon {
  top: 38px;
}

/* --------------------------------------- rtInfo__leader */
.rtInfo__leader {
  font-size: 14px;
  margin-bottom: 30px;
}

/* --------------------------------------- partTime__info */
.partTime__info {
  display: flex;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 8px;
}
.partTime__info:last-of-type {
  margin-bottom: 0;
}

.partTime__info--title {
  width: 80px;
}

.partTime__info--detail {
  width: calc(100% - 80px);
}

/* ============================================================================================ career  */
.recruitToggle__block--wrapper {
  margin-bottom: 35px;
}

/* --------------------------------------- recruitToggle__block--leader */
.recruitToggle__block--leader {
  position: relative;
  padding-bottom: 35px;
  cursor: pointer;
}

.recruitToggle__block--detail {
  height: 0;
  overflow: hidden;
}

/* --------------------------------------- infoBlock */
.infoBlock {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
  margin-bottom: 15px;
}

.infoBlock__title {
  width: 140px;
}

.infoBlock__detail {
  width: calc(100% - 220px);
}

.recruitToggle__block--detail--list > .infoBlock {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px dashed rgba(var(--color-text), 0.2);
}
.recruitToggle__block--detail--list > .infoBlock:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

/* --------------------------------------- toggle active */
.recruitToggle__block--wrapper.active::after {
  width: 100%;
  right: auto;
  left: 0;
}
.recruitToggle__block--wrapper.active .btnIcon {
  background-color: rgba(var(--color-btnBg), 1);
}
.recruitToggle__block--wrapper.active .btnPlus__line::before, .recruitToggle__block--wrapper.active .btnPlus__line::after {
  background-color: #fff;
}
.recruitToggle__block--wrapper.active .btnPlus__line::after {
  transform: translate(-50%, 0) rotate(90deg);
}

/* --------------------------------------- applyBtn */
.applyBtn {
  margin-bottom: 30px;
}

a.applyBtn__link {
  position: relative;
  height: 62px;
  background-color: rgba(var(--color-btnBg), 1);
  border-radius: 10px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.applyBtn--p {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* ============================================================================================ partTime */
.recruit-partTime .partTimeNav {
  margin-bottom: 40px;
}
.recruit-partTime .jobBlock__partTime .btnIcon {
  top: 0;
}
.recruit-partTime .recruitToggle__block--detail--list > .infoBlock:first-child {
  padding-top: 30px;
  border-top: 1px dashed rgba(var(--color-text), 0.2);
}

.rpArea__navList {
  display: flex;
  margin-bottom: 65px;
  /* --------------------------------------- pagesKv__nav title */
  /* --------------------------------------- pagesKv__nav title */
}
.rpArea__navList .pagesKv__navTarget {
  margin-left: 0;
  margin-right: 25px;
}
.rpArea__navList .pagesKv__navLink, .rpArea__navList a.pagesKv__navLink {
  min-width: 150px;
  padding: 10px;
}
.rpArea__navList .pagesKv__navTitle {
  font-size: 14px;
}

/* ============================================================================================ recruitModal */
.recruitModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/body--texture.png);
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 200px auto;
  background-color: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 50;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.8s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.8s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.recruitModal--show .recruitModal {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* --------------------------------------- recruitModal__inner */
.recruitModal__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-top: 70px;
  padding-bottom: 50px;
}

/* =========================================================== recruitModal__profile */
.recruitModal__profile {
  position: sticky;
  align-self: flex-start;
  top: 70px;
  width: 39.2690513219%;
}
.recruitModal__profile .rtStaffBlock {
  width: 63.3663366337%;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================== recruitModal__desc */
.recruitModal__desc {
  width: 60.7309486781%;
}

.recruitModal__section {
  margin-bottom: 80px;
}

/* =========================================================== recruitFaq__block */
.recruitFaq__block {
  position: relative;
  margin-bottom: 30px;
  padding-left: 55px;
}
.recruitFaq__block::after {
  content: "Q";
  position: absolute;
  width: 38px;
  height: 38px;
  top: -4px;
  left: 0;
  font-size: 12px;
  line-height: 38px;
  text-align: center;
  font-family: YakuHanJP, "DM Sans", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(var(--color-text), 1);
  border-radius: 50%;
}

/* --------------------------------------- recruitFaq__q */
.recruitFaq__q {
  margin-bottom: 12px;
}

.recruitFaq__q--p {
  font-size: 17px;
}

/* --------------------------------------- recruitFaq__a */
.recruitFaq__a--p {
  display: inline-block;
  font-size: 15px;
  line-height: 1.7;
  padding: 10px 25px;
  background-color: #fff;
  border-radius: 6px;
}

/* =========================================================== recruitFaq__block */
.recruitModal__section--title {
  font-size: 17px;
  line-height: 1;
  padding-bottom: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(var(--color-text), 0.2);
}

/* =========================================================== recruitOther */
.recruitOther .rtStaffBlock {
  width: 100%;
  margin-bottom: 0;
}
.recruitOther .keenDots, .recruitOther .keenArrow {
  display: none;
}

/* =========================================================== recruiting */
.recruitTop .recruiting .recruitJobBlock {
  padding-top: 30px;
  padding-bottom: 30px;
}

/* =========================================================== btnClose */
.btnClose {
  position: fixed;
  width: 130px;
  height: 90px;
  top: 0;
  right: 0;
  z-index: 5;
  cursor: pointer;
}

/* --------------------------------------- btnClose__inner */
.btnClose__inner {
  position: absolute;
  width: 93px;
  height: 52px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  background-color: rgba(var(--color-btnBg), 1);
  border-radius: 6px;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

/* --------------------------------------- btnClose__line */
.btnClose__line {
  position: absolute;
  width: 23px;
  height: 1px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
.btnClose__line::before, .btnClose__line::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.btnClose__line::before {
  transform: rotate(30deg);
}
.btnClose__line::after {
  transform: rotate(-30deg);
}

/* ============================================================================================ hover pc */
@media (hover: hover) and (pointer: fine) {
  .rtStaff__hashNav .cateNav__link:hover .cateNav__title::after, .rtStaff__hashNav .cateNav__link:active .cateNav__title::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .recruitJobBlock:hover::after, .recruitJobBlock:active::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .applyBtn:hover a.applyBtn__link, .applyBtn:active a.applyBtn__link {
    background-color: #000;
  }
  .btnClose:hover .btnClose__inner, .btnClose:active .btnClose__inner {
    background-color: #000;
  }
  .btnClose:hover .btnClose__line::before, .btnClose:hover .btnClose__line::after, .btnClose:active .btnClose__line::before, .btnClose:active .btnClose__line::after {
    transform: rotate(0deg);
  }
}/*# sourceMappingURL=recruit.css.map */