@charset "UTF-8";
/* ================================================

- Base

================================================ */
html {
  height: -webkit-fill-available;
}

body {
  overflow-x: hidden;
  background-color: #ffffff;
}

.wrapper {
  position: relative;
}

/* ================================================

- フォント

================================================ */
/* ================================================

-

================================================ */
.lozad {
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform;
  transition: opacity 0.6s ease-out, -webkit-transform;
  transition: transform, opacity 0.6s ease-out;
  transition: transform, opacity 0.6s ease-out, -webkit-transform;
}

.lozad[data-loaded=true] {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  opacity: 1;
}

a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
}
a[href^="tel:"]:hover {
  opacity: 1;
}

/* @media screen */
@media screen and (max-width: 568px) {
  a[href^="tel:"] {
    pointer-events: all;
    cursor: pointer;
  }
}
/* ================================================

- RWD表示切り替え

================================================ */
@media all and (min-width: 569px) {
  .nopc {
    display: none !important;
  }
}
@media all and (max-width: 568px) {
  .nosp {
    display: none !important;
  }
}
/* ================================================

- flex

================================================ */
/* ================================================

- margin

================================================ */
/* magrin-topを5px刻みで100pxまで */
.mTop0 {
  margin-top: 0px;
}

.mTop5 {
  margin-top: 5px;
}

.mTop10 {
  margin-top: 10px;
}

.mTop15 {
  margin-top: 15px;
}

.mTop20 {
  margin-top: 20px;
}

.mTop25 {
  margin-top: 25px;
}

.mTop30 {
  margin-top: 30px;
}

.mTop35 {
  margin-top: 35px;
}

.mTop40 {
  margin-top: 40px;
}

.mTop45 {
  margin-top: 45px;
}

.mTop50 {
  margin-top: 50px;
}

.mTop55 {
  margin-top: 55px;
}

.mTop60 {
  margin-top: 60px;
}

.mTop65 {
  margin-top: 65px;
}

.mTop70 {
  margin-top: 70px;
}

.mTop75 {
  margin-top: 75px;
}

.mTop80 {
  margin-top: 80px;
}

.mTop85 {
  margin-top: 85px;
}

.mTop90 {
  margin-top: 90px;
}

.mTop95 {
  margin-top: 95px;
}

.mTop100 {
  margin-top: 100px;
}

/* magrin-bottomを5px刻みで100pxまで */
.mbottom0 {
  margin-bottom: 0px;
}

.mbottom5 {
  margin-bottom: 5px;
}

.mbottom10 {
  margin-bottom: 10px;
}

.mbottom15 {
  margin-bottom: 15px;
}

.mbottom20 {
  margin-bottom: 20px;
}

.mbottom25 {
  margin-bottom: 25px;
}

.mbottom30 {
  margin-bottom: 30px;
}

.mbottom35 {
  margin-bottom: 35px;
}

.mbottom40 {
  margin-bottom: 40px;
}

.mbottom45 {
  margin-bottom: 45px;
}

.mbottom50 {
  margin-bottom: 50px;
}

.mbottom55 {
  margin-bottom: 55px;
}

.mbottom60 {
  margin-bottom: 60px;
}

.mbottom65 {
  margin-bottom: 65px;
}

.mbottom70 {
  margin-bottom: 70px;
}

.mbottom75 {
  margin-bottom: 75px;
}

.mbottom80 {
  margin-bottom: 80px;
}

.mbottom85 {
  margin-bottom: 85px;
}

.mbottom90 {
  margin-bottom: 90px;
}

.mbottom95 {
  margin-bottom: 95px;
}

.mbottom100 {
  margin-bottom: 100px;
}

.pSpace0 {
  padding: 0 0px;
}

.pSpace5 {
  padding: 0 5px;
}

.pSpace10 {
  padding: 0 10px;
}

.pSpace15 {
  padding: 0 15px;
}

.pSpace20 {
  padding: 0 20px;
}

.pSpace25 {
  padding: 0 25px;
}

.pSpace30 {
  padding: 0 30px;
}

.pSpace35 {
  padding: 0 35px;
}

.pSpace40 {
  padding: 0 40px;
}

.pSpace45 {
  padding: 0 45px;
}

.pSpace50 {
  padding: 0 50px;
}

.pSpace55 {
  padding: 0 55px;
}

.pSpace60 {
  padding: 0 60px;
}

.pSpace65 {
  padding: 0 65px;
}

.pSpace70 {
  padding: 0 70px;
}

.pSpace75 {
  padding: 0 75px;
}

.pSpace80 {
  padding: 0 80px;
}

.pSpace85 {
  padding: 0 85px;
}

.pSpace90 {
  padding: 0 90px;
}

.pSpace95 {
  padding: 0 95px;
}

.pSpace100 {
  padding: 0 100px;
}

/* ================================================

-

================================================ */
.lozad {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.lozad[data-loaded=true] {
  opacity: 1;
}

/* ================================================

- カード

================================================ */
.btn-double01,
.btn-double02,
.btn-double03 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
}
.btn-double01 .m-btn-recruit:first-child,
.btn-double02 .m-btn-recruit:first-child,
.btn-double03 .m-btn-recruit:first-child {
  margin-right: 19px;
}

/*----- media screen -----*/
@media screen and (max-width: 950px) {
  .btn-double01,
  .btn-double02,
  .btn-double03 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  .btn-double01 .m-btn-recruit:first-child,
  .btn-double02 .m-btn-recruit:first-child,
  .btn-double03 .m-btn-recruit:first-child {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .btn-double01 .m-btn-recruit a,
  .btn-double02 .m-btn-recruit a,
  .btn-double03 .m-btn-recruit a {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 568px) {
  .btn-double01,
  .btn-double02,
  .btn-double03 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
  .btn-double01 .m-btn-recruit:first-child,
  .btn-double02 .m-btn-recruit:first-child,
  .btn-double03 .m-btn-recruit:first-child {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .btn-double01 .m-btn-recruit a,
  .btn-double02 .m-btn-recruit a,
  .btn-double03 .m-btn-recruit a {
    font-size: 5.0666666667vw;
  }
}
/* ================================================

- タイトル

================================================ */
.mv {
  height: 296px;
  width: 100vw;
  overflow: hidden;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 56%, 0% 100%);
}
.mv__ttl {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-94%);
          transform: translateX(-94%);
  width: min(94.38vw, 1208px);
}
.mv__img {
  position: relative;
  width: 100vw;
  height: 296px;
  overflow: hidden;
}
.mv__img img {
  position: absolute;
  width: 1206px;
  top: 0;
  right: 0;
  -webkit-transform: translate(41%, -64%);
          transform: translate(41%, -64%);
}

/*----- media screen -----*/
@media screen and (max-width: 950px) {
  .mv__ttl {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-84%);
            transform: translateX(-84%);
    width: 130vw;
  }
  .mv__img img {
    top: 50%;
    -webkit-transform: translate(41%, -84%);
            transform: translate(41%, -84%);
  }
}
/*----- media screen -----*/
@media screen and (max-width: 568px) {
  .mv {
    height: 148px;
    width: 100vw;
    overflow: hidden;
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 56%, 0% 100%);
  }
  .mv__ttl {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-80%);
            transform: translateX(-80%);
    width: 150vw;
  }
  .mv__img {
    height: 148px;
    margin-left: auto;
    background-size: 82vw;
    background-position: 137% 122%;
    overflow: hidden;
  }
  .mv__img img {
    top: 50%;
    -webkit-transform: translate(41%, -81%);
            transform: translate(41%, -81%);
  }
}
/* ================================================

- リード文

================================================ */
.lead {
  margin: 0 4.165vw;
}
.lead .inner {
  width: min(100%, 717px);
  margin: 0 auto;
}
.lead__ttl {
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2.7rem;
  text-align: center;
  padding-bottom: 19px;
  margin-bottom: 43px;
  position: relative;
}
.lead__ttl::before {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: min(85vw, 495px);
  height: 10px;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.lead__ttl.-green::before {
  background-color: #00aa96;
}
.lead__txt {
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.1875;
}

.btn-double01 {
  margin: 122px 4.165vw 71px;
}

/*----- media screen -----*/
@media screen and (max-width: 568px) {
  .lead__ttl {
    font-size: 7.2vw;
    line-height: 1.2592592593;
    padding-bottom: 12px;
    margin-bottom: 22px;
  }
  .lead__txt {
    font-size: 4.2666666667vw;
  }
  .btn-double01 {
    margin: 61px 4.165vw 36px;
  }
}
/* ================================================

- インタビュー

================================================ */
.interview {
  position: relative;
}
.interview::before {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  width: 100vw;
  height: 193px;
  left: 0;
  bottom: 0;
  clip-path: polygon(0 0, 100% 0, 100% 17%, 0% 100%);
  background-color: #fff;
}
.interview.-gray::before {
  background-color: #e5e5e5;
}
.interview__ttl {
  width: min(45vw, 465px);
  margin: 0 auto 42px;
}
.interview .inner {
  width: min(100%, 1000px);
  margin: 0 auto;
  padding: 193px 0 83px;
}

.interview-contents {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin: 0 0 93px;
}
.interview-contents__img {
  width: min(39.06vw, 500px);
  width: 50%;
}
.interview-contents__txt {
  width: min(33.59vw, 430px);
  width: 43%;
  margin-left: auto;
}
.interview-contents__txt .name {
  color: #fff;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 1.2523809524;
  margin-top: -2px;
  margin-bottom: 35px;
}
.interview-contents__txt .ttl {
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  margin-bottom: 54px;
}
.interview-contents__txt .txt {
  color: #fff;
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2;
}
.interview-contents:nth-child(2n+1) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}
.interview-contents:nth-child(2n+1) .interview-contents__txt {
  margin-left: 0;
  margin-right: auto;
}
.interview-contents:nth-child(2n+1) .interview-contents__txt .ttl {
  margin-bottom: 24px;
}

/*----- media screen -----*/
@media screen and (max-width: 950px) {
  .interview-contents {
    margin: 0 4.165vw 93px;
  }
}
/*----- media screen -----*/
@media screen and (max-width: 568px) {
  .interview {
    position: relative;
  }
  .interview::before {
    height: 97px;
    clip-path: polygon(0 0, 100% 0, 100% 17%, 0% 100%);
  }
  .interview__ttl {
    width: 78vw;
    margin: 0 auto 21px;
  }
  .interview .inner {
    margin: 0 auto;
    padding: 97px 0 42px;
  }
  .interview-contents {
    display: block;
    margin: 0 4.165vw 47px;
  }
  .interview-contents__img {
    width: 100%;
    margin-bottom: 20px;
  }
  .interview-contents__txt {
    width: 100%;
    margin-left: 0;
  }
  .interview-contents__txt .name {
    font-size: 5.6vw;
    margin-bottom: 18px;
  }
  .interview-contents__txt .ttl {
    font-size: 6.6666666667vw;
    line-height: 1.092;
    margin-bottom: 12px;
  }
  .interview-contents__txt .txt {
    font-size: 4vw;
  }
  .interview-contents:nth-child(2n+1) .interview-contents__txt .ttl {
    margin-bottom: 12px;
  }
}
/* ================================================

- スケジュール

================================================ */
.schedule {
  background-color: #e5e5e5;
  padding: 116px 4.165vw 80px;
  position: relative;
  z-index: 1;
}
.schedule__ttl {
  width: min(56vw, 598px);
  margin: 0 auto 96px;
}

#timeline .timeline-item:after, #timeline .timeline-item:before {
  content: "";
  display: block;
  width: 100%;
  clear: both;
}

#timeline {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

#timeline:before {
  content: "";
  width: 20px;
  height: 1175px;
  left: 50%;
  top: 1px;
  position: absolute;
}

#timeline:after {
  content: "";
  clear: both;
  display: table;
  width: 100%;
}

#timeline .timeline-item {
  position: relative;
}

#timeline .timeline-item.second {
  margin-top: -14%;
}

#timeline .timeline-item.third {
  margin-top: -15%;
}

#timeline .timeline-item.fourth {
  margin-top: -30%;
}

#timeline .timeline-item.fifth {
  margin-top: -15%;
}

#timeline .timeline-item .timeline-icon {
  text-align: center;
  background: #fff;
  width: 94px;
  height: 94px;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  overflow: hidden;
  margin-left: -38px;
  border-radius: 50%;
}
#timeline .timeline-item .timeline-icon span {
  font-family: bebas-neue, sans-serif;
  font-family: bebas-neue-by-fontfabric, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3rem;
  display: inline-block;
  margin-top: 27px;
}

#timeline .timeline-item .timeline-content {
  width: 42%;
  height: 420px;
  background: #fff;
  padding: 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#timeline .timeline-item .timeline-content .timeline-ttl {
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.1;
  padding: 12px 0;
}

#timeline .timeline-item .timeline-content .timeline-txt {
  font-family: YuGothic, "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.7333333333;
  letter-spacing: 0.02;
  padding-bottom: 50px;
  margin-top: -5px;
}

#timeline .timeline-item .timeline-content {
  height: auto;
}

#timeline .timeline-item .timeline-content:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 51px;
  height: 3px;
}

#timeline .timeline-item.first .timeline-content:before {
  left: 42%;
  top: 43px;
}

#timeline .timeline-item .timeline-content.right:before {
  left: -12.5%;
  top: 208px;
}

#timeline .timeline-item .timeline-content.odd:before {
  right: -12%;
  top: 43px;
}

#timeline .timeline-item .timeline-content.odd {
  -webkit-transform: translateY(-35%);
          transform: translateY(-35%);
}

#timeline .timeline-item .timeline-content.right {
  float: right;
  -webkit-transform: translate(12px, -38%);
          transform: translate(12px, -38%);
}

@media screen and (max-width: 950px) {
  #timeline {
    margin: 30px;
    padding: 0px;
    width: 90%;
  }
  #timeline:before {
    left: 0;
    height: 82%;
  }
  #timeline .timeline-item .timeline-content {
    width: 88%;
    float: right;
  }
  #timeline .timeline-item .timeline-icon {
    left: 0;
  }
  #timeline .timeline-item {
    margin-bottom: 100px;
  }
  #timeline .timeline-item.second,
  #timeline .timeline-item.third,
  #timeline .timeline-item.fourth,
  #timeline .timeline-item.fifth {
    margin-top: 0;
  }
  #timeline .timeline-item.first .timeline-content:before {
    left: 40px;
    top: 43px;
  }
  #timeline .timeline-item .timeline-content.right:before {
    left: -52px;
    top: 43px;
  }
  #timeline .timeline-item .timeline-content.odd:before {
    right: none;
    left: -51px;
    top: 43px;
  }
  #timeline .timeline-item .timeline-content.odd {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #timeline .timeline-item .timeline-content.right {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@media screen and (max-width: 568px) {
  .schedule {
    background-color: #e5e5e5;
    padding: 58px 4.165vw 76px;
    position: relative;
    z-index: 1;
  }
  .schedule__ttl {
    width: 88vw;
    margin: 0 auto 48px;
  }
  .timeline-container {
    padding: 0 4.165vw;
  }
  #timeline.careerSchedule01::before {
    content: "";
    width: 10px;
    height: 81%;
    left: 0;
    top: 1px;
    position: absolute;
  }
  #timeline.careerSchedule02::before {
    content: "";
    width: 10px;
    height: 85%;
    left: 0;
    top: 1px;
    position: absolute;
  }
  #timeline.newgradSchedule01::before {
    content: "";
    width: 10px;
    height: 84%;
    left: 0;
    top: 1px;
    position: absolute;
  }
  #timeline .timeline-item .timeline-icon {
    width: 65px;
    height: 65px;
    z-index: 1;
    top: 0;
    left: 50%;
    margin-left: -30px;
  }
  #timeline .timeline-item .timeline-icon span {
    font-size: 6.4vw;
    margin-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -45%);
            transform: translate(-50%, -45%);
  }
  #timeline .timeline-item .timeline-content .timeline-ttl {
    font-size: 4.8vw;
  }
  #timeline .timeline-item .timeline-content .timeline-txt {
    font-size: 4.2666666667vw;
    padding-bottom: 25px;
  }
  #timeline .timeline-item {
    margin-bottom: 50px;
  }
  #timeline .timeline-item.first .timeline-content:before {
    left: 12px;
    top: 32px;
  }
  #timeline .timeline-item .timeline-content.right:before {
    left: -52px;
    top: 32px;
  }
  #timeline .timeline-item .timeline-content.odd:before {
    right: none;
    left: -51px;
    top: 32px;
  }
  #timeline {
    margin: 30px;
    padding: 0px;
    width: 90%;
  }
  #timeline:before {
    left: 0;
  }
  #timeline .timeline-item .timeline-content {
    width: 85%;
    float: right;
  }
  #timeline .timeline-item .timeline-icon {
    left: 0;
  }
}
#recruit-career .mv {
  background-color: #00bedc;
}
#recruit-career .mv__img {
  background: -webkit-gradient(linear, left top, right top, from(#00bedc), to(#00bedc));
  background: linear-gradient(to right, #00bedc, #00bedc);
}
#recruit-career .lead__ttl::before {
  background-color: #00bedc;
}
#recruit-career .interview {
  background-color: #00bedc;
}
#recruit-career #timeline::before {
  background: #00bedc;
}
#recruit-career #timeline .timeline-item .timeline-icon {
  border: 5px solid #00bedc;
}
#recruit-career #timeline .timeline-item .timeline-content:before {
  background-color: #00bedc;
}
#recruit-career #timeline .timeline-icon span,
#recruit-career #timeline .timeline-ttl {
  color: #00bedc;
}

#recruit-newgrad .mv {
  background-color: #00aa96;
}
#recruit-newgrad .mv__img {
  background: -webkit-gradient(linear, left top, right top, from(#aad250), to(#00aa96));
  background: linear-gradient(to right, #aad250, #00aa96);
}
#recruit-newgrad .lead__ttl::before {
  background-color: #00aa96;
}
#recruit-newgrad .interview {
  background-color: #00aa96;
}
#recruit-newgrad #timeline::before {
  background: #00aa96;
}
#recruit-newgrad #timeline .timeline-item .timeline-icon {
  border: 5px solid #00aa96;
}
#recruit-newgrad #timeline .timeline-item .timeline-content:before {
  background-color: #00aa96;
}
#recruit-newgrad #timeline .timeline-icon span,
#recruit-newgrad #timeline .timeline-ttl {
  color: #00aa96;
}

.bg-blue {
  background-color: #00bedc;
}

.c-blue {
  color: #00bedc;
}

.bg-green {
  background-color: #00aa96;
}

.c-green {
  color: #00aa96;
}

@media screen and (max-width: 568px) {
  #recruit-career #timeline .timeline-item .timeline-icon {
    border: 3px solid #00bedc;
  }
  #recruit-newgrad #timeline .timeline-item .timeline-icon {
    border: 3px solid #00aa96;
  }
}