:root {
  --main-color: #ad0b40;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

.skewBg:before {
  height: 100% !important;
  left: 46.5%;
}

.PageHead .PageHead_shoulder {
  line-height: 1.2;
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 90px;
  }

  [data-layout="career"] .PageHead .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top left;
    position: relative;
    left: -45%;
  }
}

/*
#idealCandidate,
#requirement,
#hiringProcess,
#faq,
#benefits {
  display: block;
  padding-top: calc(80 / 375 * 1rem);
  margin-top: calc(-80 / 375 * 1rem);
}*/

[data-layout="recruitInfo"] .items {
  margin-bottom: calc(161 / 375 * 1rem);
}

.items .item {
  display: flex;
  justify-content: center;
}

.item .item_dt .c-rightBorder {
  color: #333;
  font-size: var(--fz28);
  font-weight: 600;
  font-family: var(--fontEn);
  line-height: 1.5;
  text-align: right;
}

.items .item .item_dt {
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  width: 0.666666666rem;
}

.items .item .item_dt .item_dt_sub {
  font-size: var(--fz16);
  font-weight: 500;
  font-family: var(--fontJa);
}

.items .item .item_dd {
  padding-left: 0.13333333rem;
}

.items .item .item_dd .copy {
  font-size: var(--fz40);
  font-weight: 600;
  font-family: var(--font-arian);
  color: #ad0b40;
  line-height: 1;
  letter-spacing: 0.056em;
}

.items .item .item_dd .copy_sub {
  font-size: var(--fz20);
  font-weight: 600;
  line-height: 1;
}

.items .item .item_dd .copy_list {
  margin-top: 0.106rem;
}

.items .item .item_dd .copy_list ul.tab-reader li {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 1.546666666rem;
  align-items: center;
  padding-top: 0.013333333rem;
  padding-bottom: 0.01333333rem;
}

.items .item .item_dd .copy_list ul li .copy_list_item {
  font-size: var(--fz40);
  font-weight: 600;
  font-family: var(--font-arian);
  color: #333;
  line-height: 1;
}

.items .item .item_dd .copy_list ul li .copy_list_item > span {
  color: #ad0b40;
}

.reader {
  flex: auto;
}

.items .item .item_dd .copy_list ul li span:nth-child(3) {
  font-weight: 500;
}

hr.skewHidePoint {
  width: calc(1038 / 375 * 1rem);
  margin: 0 auto calc(113 / 375 * 1rem);
}

/* 募集要項 */

section.requirement {
  padding-top: calc(113 / 375 * 1rem);
  padding-bottom: calc(135 / 375 * 1rem);
}

section.requirement.benefits {
  padding-top: 0;
}

.requirement-contents {
  width: calc(1038 / 375 * 1rem);
  margin: 0 auto;
}

/*
.requirement-contents .c-headerText2 {
  font-size: var(--fz24);
}*/

.requirement-contents:not(:first-child) {
  margin-top: calc(95 / 375 * 1rem);
}

.requirement table {
  margin: calc(74 / 375 * 1rem) auto 0;
  border: 1px solid #ccc;
  width: 100%;
}

.requirement-contents table p {
  line-height: 1.5;
  text-align: left;
}

.requirement-contents .disc li {
  list-style-type: disc;
  margin-left: calc(20 / 375 * 1rem);
}

.requirement table tr {
  border-bottom: 1px solid #ccc;
}

.requirement table th {
  width: 18%;
  background-color: #e0e3e8;
  vertical-align: middle;
  text-align: center;
  font-weight: 700;
  border-right: 1px solid #ccc;
}

.requirement table td {
  width: 82%;
  padding: 16px 44px;
  font-weight: 500;
}

.requirement table td ul,
.requirement table td li {
  font-weight: 500;
}

.requirement table p:not(:last-child) {
  margin-bottom: calc(10 / 375 * 1rem);
}

.requirement table ul.square li {
  padding-left: calc(20 / 375 * 1rem);
  position: relative;
}

.requirement table ul.square li::before {
  content: "■";
  position: absolute;
  /* left:calc(-20 / 375 * 1rem) ; */
  left: 0;
}

.salary ul {
  display: grid;
  grid-template-columns: auto;
  /* grid-template-columns: auto auto;*/
  justify-content: start;
  gap: 0 calc(20 / 375 * 1rem);
}

.working-hours ul {
  display: flex;
  gap: calc(20 / 375 * 1rem);
}

/* 採用までの流れ */

.hiring-process .hiring-process__flow {
  margin-top: calc(75 / 375 * 1rem);
  padding-bottom: calc(156 / 375 * 1rem);
}

.hiring-process .hiring-process__flow > ul {
  width: calc(900 / 375 * 1rem);
  margin: 0 auto;
}

.hiring-process .hiring-process__flow > ul > li {
  display: flex;
  height: calc(242 / 375 * 1rem);
  border: 2px solid var(--main-color);
}

.hiring-process .hiring-process__flow > ul > li:not(:first-child) {
  margin-top: calc(53 / 375 * 1rem);
  position: relative;
}

/*.hiring-process .hiring-process__flow > ul > li:not(:first-child)::after {
  content: '';
  display: block;
  width: calc(16 / 375 * 1rem);
  height: calc(18 / 375 * 1rem);
  background: url('../img/info/icon_arrow_down.png') no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(-33 / 375 * 1rem);
  left: calc(124 / 375 * 1rem);
}*/

.hiring-process .hiring-process__flow > ul > li:not(:first-child)::after {
  content: "";
  display: block;
  width: calc(16 / 375 * 1rem);
  height: calc(18 / 375 * 1rem);
  background: url("../img/common/arrow_right_red.svg") no-repeat;
  background-size: contain;
  position: absolute;
  top: calc(-37 / 375 * 1rem);
  left: calc(124 / 375 * 1rem);
  transform: rotate(90deg);
}

.hiring-process .hiring-process__flow > ul > li > div:first-child {
  width: calc(272 / 375 * 1rem);
  background-color: var(--main-color);
  color: #fff;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  padding-left: calc(54 / 375 * 1rem);
}

.hiring-process .hiring-process__flow > ul > li > div:first-child p span {
  font-family: var(--font-arian);
  font-size: var(--fz32);
  line-height: 1;
}


.hiring-process .hiring-process__flow > ul > li > div:last-child {
  width: calc(628 / 375 * 1rem);
  padding-left: calc(43 / 375 * 1rem);
  padding-right: calc(43 / 375 * 1rem);
  display: flex;
  align-items: center;
  flex-direction: row;
}




.hiring-process .logo {
  display: block;
  width: calc(270 / 375 * 1rem);
  margin: calc(17 / 375 * 1rem) auto 0;
  transition: opacity 0.3s;
  padding: calc(25 / 375 * 1rem) calc(50 / 375 * 1rem);
  border: 1px solid #ccc;
  background-color: #fff;
}

.hiring-process .logo:hover {
  opacity: 0.7;
}

.hiring-process .hiring-process__flow > ul > li ul {
  margin-top: calc(20 / 375 * 1rem);
}

.hiring-process .hiring-process__flow > ul > li ul li {
  font-weight: 500;
}

/* よくあるご質問 */
.faq {
  padding-right: 0.32rem;
  /* padding-right: .2666666667rem;*/
  margin-right: calc(50% - 1.44rem);
  /* margin-bottom: .4rem;*/
  margin-bottom: calc(80 / 375 * 1rem);
  margin-left: calc(50% - 50vw);
  background-color: #fff;
  position: relative;
}

.faq_inner {
  position: relative;
  margin-left: auto;
  padding: 0.32rem 0 calc(218 / 375 * 1rem);
  width: 2.7rem;
}

.c-link-list .c-link-list_item {
  border-bottom: 1px solid #ccc;
}

.c-link-list .c-link-list_item .btn-open {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 0.08rem 0.2133333333rem 0.08rem 0;
  cursor: pointer;
}

.title {
  font-weight: 700;
}

.c-link-list .c-link-list_item a .c-hover-arrow_icon {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-hover-arrow .c-hover-arrow_icon:after {
  position: relative;
  display: block !important;
  visibility: visible;
  content: "";
  background: url(../img/common/arrow_right_white.svg) no-repeat 50% / contain;
  transform: rotate(-90deg);
  width: 0.0179466667rem;
  height: 0.0208533333rem;
  transition: transform 0.3s;
}

.c-hover-arrow.toggle-accordion.close .c-hover-arrow_icon:after {
  transform: rotate(90deg);
}

.answer.accordion-contents {
  padding: calc(10 / 375 * 1rem) 0 calc(30 / 375 * 1rem);
  display: none;
  line-height: 1.8;
  font-weight: 500;
}

/*.answer a {
  text-decoration: underline;
  text-underline-offset: 3px;
}*/

a.entry-btn {
  display: block;
  margin: calc(30 / 375 * 1rem) 0;
  width: calc(398 / 375 * 1rem);
  transition: opacity 0.3s;
  padding: calc(18 / 375 * 1rem) calc(80 / 375 * 1rem) calc(25 / 375 * 1rem)
    calc(80 / 375 * 1rem);
  border: 2px solid #ccc;
  text-align: center;
  background-color: #fff;
}

a.entry-btn span {
  font-size: var(--fz24);
  font-weight: 700;
  color: #0068b7;
  letter-spacing: 0.086em;
}

a.entry-btn.mynabi span {
  color: #00aaeb;
}

a.entry-btn:hover {
  opacity: 0.7;
}

a.entry-btn img {
  width: 100%;
  /*margin-top:calc(5 / 375 * 1rem);*/
}


.flow-cta .logo-mynabi .overlay {
  font-size: 1em;
}


.cta {
  display: flex;
  justify-content: center; /* PCでのボタン間のスペースを調整 */
  gap: calc(50 / 375 * 1rem);
}

.entry-btn {
  /*flex: 1;  各ボタンを等しい幅にする */
  text-align: center; /* ボタン内のテキストを中央揃え */
}

.flow-cta {
  display: flex;
  justify-content: center; /* PCでのボタン間のスペースを調整 */
  gap: calc(20 / 375 * 1rem);
}


@media (min-width: 768px) {
 [data-layout="recruitInfo"] .hiring-process .hiring-process__flow > ul > li:first-child > div:last-child {
  display: flex;
  flex-direction: column;
  align-items:normal;
  padding-top: calc(43 / 375 * 1rem);
  padding-bottom: calc(43 / 375 * 1rem);
}
}

@media (max-width: 767px) {
  .cta, .flow-cta  {
    flex-direction: column; /* 画面幅が768px以下の場合に縦並びに変更 */
    align-items: center; /* 中央揃え */
    gap : 0;
  }

  .hiring-process .hiring-process__flow > ul > li > div:last-child {
    flex-direction: column;
  }
 


}



@media (max-width: 767px) {
  [data-layout="recruitInfo"] .Main {
    padding-top: 0.21333333rem;
    padding-bottom: calc(30 / 375 * 1rem);
    padding-left: 0.053333333rem;
    padding-right: 0.053333333rem;
  }

  [data-layout="recruitInfo"] .PageTitle {
    margin-bottom: 0.1066666667rem;
  }

  [data-layout="recruitInfo"] .items {
    margin-bottom: calc(50 / 375 * 1rem);
  }

  .items .item {
    flex-direction: column;
    /* justify-content: center; */
  }

  .item .item_dt .c-rightBorder {
    text-align: left;
    font-weight: 700;
  }

  .items .item .item_dt {
    width: fit-content;
  }

  .items .item .item_dt .item_dt_sub {
    font-size: var(--fz16);
    font-weight: 500;
    font-family: var(--fontJa);
  }

  .items .item .item_dd {
    padding-left: 0;
    padding-top: calc(20 / 375 * 1rem);
  }

  .items .item .item_dd .copy {
    font-size: var(--fz31);
    text-align: left;
    margin-bottom: 0.0213333333rem;
    font-weight: 400;
  }

  /* .items .item .item_dd .copy_list {
    margin-top: calc(20 / 375 * 1rem);
  }*/

  .items .item .item_dd .copy_list ul li .copy_list_item {
    font-size: var(--fz22);
    display: block;
    font-weight: 400;
  }

  .items .item .item_dd .copy_list ul.tab-reader li {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
    padding-top: 0.013333333rem;
    padding-bottom: 0.01333333rem;
  }

  /* .items .item .item_dd .copy_list ul li .copy_list_item {
    font-size: var(--fz36);
  }
*/
  .items .item .item_dd .copy_list ul li > span:last-child {
    font-size: var(--fz14);
  }

  section.requirement {
    padding-top: calc(50 / 375 * 1rem);
    padding-bottom: calc(50 / 375 * 1rem);
  }

  .requirement-contents {
    width: 100%;
  }

  .requirement-contents:not(:first-child) {
    margin-top: calc(45 / 375 * 1rem);
  }

  .requirement-contents ul li,
  .requirement-contents td {
    text-align: left;
  }

  .requirement-contents .disc li {
    margin-left: calc(18 / 375 * 1rem);
  }

  .requirement table {
    margin: calc(30 / 375 * 1rem) auto;
  }

  .requirement table tr {
    border-bottom: 1px solid #ccc;
    font-size: var(--fz13);
  }

  .requirement table tr p {
    font-size: var(--fz13);
  }

  .requirement table th {
    width: 24%;
    background-color: #e0e3e8;
    vertical-align: middle;
    text-align: center;
    font-weight: 700;
  }

  .requirement table td {
    width: 76%;
    padding: calc(20 / 375 * 1rem) calc(16 / 375 * 1rem);
  }

  .salary ul {
    grid-template-columns: auto;
  }

  .working-hours ul {
    display: block;
  }

  .hiring-process .PageTitle {
    margin-bottom: calc(30 / 375 * 1rem);
  }
  .hiring-process .hiring-process__flow {
    margin-top: calc(30 / 375 * 1rem);
    padding-bottom: calc(50 / 375 * 1rem);
  }

  .hiring-process .hiring-process__flow > ul {
    width: 100%;
  }

  .hiring-process .hiring-process__flow > ul > li {
    flex-direction: column;
    height: fit-content;
  }

  .hiring-process .hiring-process__flow > ul > li:not(:first-child) {
    margin-top: calc(30 / 375 * 1rem);
  }

  .hiring-process .hiring-process__flow > ul > li:not(:first-child)::after {
    top: calc(-25 / 375 * 1rem);
    left: 48%;
    /* transform: translateX(-50%);*/
  }

  .hiring-process .hiring-process__flow > ul > li > div:first-child {
    /* width: 25%;
   padding: 0 calc(6 / 375 * 1rem);*/
    width: 100%;
    padding: calc(10 / 375 * 1rem) calc(30 / 375 * 1rem);
  }

  .hiring-process .hiring-process__flow > ul > li > div:first-child p {
    font-size: var(--fz12);
    text-align: center;
    width: 100%;
    line-height: 1.5;
  }

  .hiring-process .hiring-process__flow > ul > li > div:first-child p span {
    font-size: var(--fz22);
  }

  .hiring-process .hiring-process__flow > ul > li > div:last-child {
    width: 100%;
    /*width: 75%;*/
    padding: calc(20 / 375 * 1rem) calc(16 / 375 * 1rem);
  }

  .hiring-process .hiring-process__flow > ul > li > div:last-child p {
    /* font-size: var(--fz1);*/
    font-size: 0.0373333333rem;
    line-height: 0.0653333333rem;
  }

  .hiring-process .hiring-process__flow > ul > li ul li {
    font-size: 0.0373333333rem;
    line-height: 0.0653333333rem;
    text-indent: calc(-16 / 375 * 1rem);
    padding-left: calc(10 / 375 * 1rem);
  }

  .hiring-process .logo {
    display: block;
    /*width: calc(150 / 375 * 1rem);*/
    margin: calc(17 / 375 * 1rem) auto 0;
    min-height: calc(78 / 375 * 1rem);
  }

  .faq {
    /* padding-right:0.32rem; */
    padding-right: 0.07rem;
    /* margin-right: calc(50% - 1.44rem); */
    margin-right: calc(50% - 0.44rem);
    /* margin-bottom: .4rem; 
     margin-bottom: .26666667rem;*/
    margin-bottom: calc(50 / 375 * 1rem);
    margin-left: calc(50% - 50vw);
    position: relative;
    padding-left: 0.07rem;
  }

  .faq_inner {
    /* position: relative;
    margin-left: auto; */
    /* padding: .32rem 0 calc(218 / 375 * 1rem); */
    padding: calc(50 / 375 * 1rem) 0;
    width: 100%;
  }

  .faq_inner .title {
    font-size: 0.0373333333rem;
    line-height: 0.0653333333rem;
  }

  .answer.accordion-contents {
    font-size: 0.0373333333rem;
    line-height: 0.0653333333rem;
  }

  .c-link-list .c-link-list_item .btn-open {
    padding: 0.04rem 0.1rem 0.04rem 0;
  }

  a.entry-btn {
    width: clamp(0.8rem, 100%, 1.33333333rem);
    min-height: calc(100 / 375 * 1rem);;
  }

  a.entry-btn.rikunabi {
    margin: calc(0 / 375 * 1rem) auto calc(30 / 375 * 1rem);
  }

  a.entry-btn.mynabi {
    margin: calc(0 / 375 * 1rem) auto calc(30 / 375 * 1rem);
  }

  a.entry-btn span {
    font-size: var(--fz20);
  }
}
