@charset "UTF-8";
#cursor {
  display: none;
}
.header_wrap::after {
  background-color: transparent;
}
.header_wrap.active::after {
  background-color: rgba(0, 0, 0, 0.52);
}
.header_wrap .gnav_list li a, .header_wrap .gnav_list .hvr_menu-ttl {
  color: #fff;
}
.header_wrap .gnav_list .hvr_menu-ttl::after {
  background: url(../../images/common/arrow_d-w.png) no-repeat right center / contain;
}
.joinus-mv {
  background: url("../../images/joinus/mv-bg.jpg")no-repeat center center/cover;
  /*  min-height: 700px;*/
  padding: 80px 0;
  overflow: hidden;
}
.joinus-mv .bg {
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  top: 100px;
}
.joinus-mv .bg > div {
  width: 30%;
  max-width: 380px;
}
.joinus-mv .bg > div:first-child, .joinus-mv .bg > div:last-child {
  max-width: 320px;
  width: 16%
}
.joinus-mv .bg > div:first-child, .joinus-mv .bg > div:last-child img {
  object-fit: cover;
  height: 100%;
}
.joinus-mv .bg .bg-4 {
  margin-top: 50px
}
.joinus-mv .bg .bg-2 {
  margin-top: 20px
}
.joinus-mv .mv-ttl {
  position: absolute;
  color: transparent;
  left: 0;
  top: 0;
}
.joinus-mv .ttl {
  position: absolute;
  left: 0%;
  width: 75%;
  max-width: 1000px;
  bottom: 6%;
  z-index: 10;
}
.joinus-mv .cont_inr {
  position: relative;
  padding-top: 100%;
}
.joinus-mv .cvsbtn {
  width: 200px;
  z-index: 10;
  position: absolute;
  right: 10px;
  bottom: -60px;
}
.joinus-mv .cvsbtn a {
  border-radius: 10px;
  padding: 1.5rem 5rem 1rem 2rem;
  line-height: 1.2;
  color: #fff;
  border: 1px solid #fff;
  background: url("../../images/joinus/cvs-btn.png")no-repeat center center/cover;
  /*  background-image: linear-gradient(to top, #fff 0%, #F90000 60%, #F90000 100%);*/
}
.joinus-mv .cvsbtn a .entry small {
  display: block;
  font-size: 12px;
}
.joinus-mv .cvsbtn a .entry .en {
  font-size: 30px;
}
.joinus-mv .cvsbtn a .ar-wrap {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 13px;
  bottom: 0;
  width: 30px;
  height: 30px;
  margin: auto 0;
  line-height: 1;
  border: 1px solid #DCDCDC;
  background-color: #fff;
  border-radius: 100%;
}
.joinus-mv .cvsbtn a .ar-wrap .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 13px;
  height: 8px;
  margin: auto;
  line-height: 1;
  transform: rotate(-45deg)
}
.joinus-mv .cvsbtn .arrow:before, .joinus-mv .cvsbtn .arrow:after {
  font-size: 8px;
}
.message {
  padding: 100px 30px;
  background: url("../../images/joinus/message-bg.jpg")no-repeat left center/cover;
}
.message .cvsbtn {
  width: 270px;
  margin-top: 30px;
}
.message .cont_inr {
  max-width: 1100px;
}
.message .cont_inr .flex {
  flex-wrap: wrap;
}
.message .inr_ttl {
  font-size: 24px;
  line-height: 1.5;
  width: 100%;
  margin-bottom: 20px;
}
.message .txt {
  width: 100%;
  max-width: 530px;
  margin-left: auto;
}
@media only screen and (min-width: 769px) {
  .message {
    padding: 150px 80px;
  }
  .message .inr_ttl {
    font-size: 32px;
    /*    width: 430px;*/
  }
  .message .cont_inr .flex {
    margin-top: 60px;
  }
  .message .txt {
    /*    width: calc(100% - 430px);*/
    max-width: 530px;
  }
  .message .flex {
    justify-content: space-between;
  }
  .joinus-mv {
    padding: 80px 0 120px;
  }
  .joinus-mv .cont_inr {
    padding-top: 50%;
  }
  .joinus-mv .bg > div {
    width: calc(100% / 4 - 5px);
    max-width: 380px;
  }
  .joinus-mv .ttl {
    width: 75%;
    bottom: 6%;
  }
  .joinus-mv .cvsbtn a .ar-wrap {
    right: 20px;
    width: 43px;
    height: 43px;
  }
  .joinus-mv .cvsbtn a .ar-wrap .arrow {
    width: 18px;
    height: 12px;
    transform: rotate(-45deg)
  }
  .joinus-mv .cvsbtn {
    width: 270px;
    bottom: -86px;
    right: 20px;
  }
  .joinus-mv .cvsbtn a {
    padding: 2.2rem 5rem 1.8rem 2rem;
  }
  .joinus-mv .cvsbtn a .entry small {
    font-size: 14px;
  }
  .joinus-mv .cvsbtn a .entry .en {
    font-size: 36px;
  }
  .joinus-mv .cvsbtn .arrow:before, .joinus-mv .cvsbtn .arrow:after {
    font-size: 12px;
  }
}
@media only screen and (min-width: 1000px) {
  .message .cont_inr .flex {
    margin-top: 80px;
  }
  .message .inr_ttl {
    font-size: 32px;
    width: 430px;
  }
  .message .txt {
    width: calc(100% - 430px);
    max-width: 530px;
  }
}
@media only screen and (min-width: 1200px) {
  .joinus-mv {
    padding: 80px 0 110px;
  }
}
@media only screen and (min-width: 1369px) {
  .joinus-mv {
    background: url("../../images/joinus/mv-bg.jpg")no-repeat center center/cover;
    padding: 80px 0;
    min-height: 850px;
  }
  .joinus-mv .bg > div:first-child, .joinus-mv .bg > div:last-child {
    max-width: inherit;
    width: 20%
  }
  .joinus-mv .bg > div {
    width: calc(100% / 4 - 5px);
    max-width: inherit;
  }
  .joinus-mv .ttl {
    bottom: 15%;
  }
  .joinus-mv .bg .bg-4 {
    margin-top: 70px
  }
  .joinus-mv .bg .bg-2 {
    margin-top: 60px
  }
  .joinus-mv .cvsbtn {
    width: 310px;
    bottom: -30px;
  }
  .joinus-mv .cvsbtn a {
    border-radius: 10px;
    padding: 3.2rem 5rem 2.8rem 3rem;
    line-height: 1.2;
    color: #fff;
    background: url("../../images/joinus/cvs-btn.png")no-repeat center center/cover;
  }
  .joinus-mv .cvsbtn a .entry small {
    font-size: 16px;
  }
  .joinus-mv .cvsbtn a .entry .en {
    font-size: 44px;
  }
  .message {
    padding: 150px 110px;
  }
  .message .inr_ttl {
    font-size: 42px;
    width: 500px;
  }
  .message .txt {
    width: calc(100% - 600px);
    max-width: 530px;
  }
}
@media only screen and (min-width: 1680px) {
  .joinus-mv {
    min-height: 930px;
  }
}
.fix-img {
  background: url("../../images/joinus/fix-img.jpg")no-repeat center center/cover;
  height: 310px;
  width: 100%;
}
.recruit_contents {
  padding: 100px 30px;
  background: url("../../images/joinus/recruit-bg.jpg")no-repeat center center/cover;
}
.recruit_contents .cont_inr {
  max-width: 1100px;
  flex-wrap: wrap;
}
.recruit_contents .cont_ttl, .recruit_contents .cont_ttl .en, .recruit_contents .txt {
  color: #fff;
}
.recruit_contents .txt {
  max-width: 300px;
}
.recruit_contents .cvsbtn {
  width: 100%;
}
.recruit_contents .cvsbtn a {
  border-radius: 20px;
  padding: 60px 20px 20px 20px;
  line-height: 1.4;
}
.recruit_contents .cvsbtn a small {
  font-size: 16px;
  display: block;
}
.recruit_contents .cvsbtn a .en {
  font-size: 40px;
}
.recruit_contents .cvsbtn a .ar-wrap {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  width: 30px;
  height: 30px;
  margin: auto 0;
  line-height: 1;
  border: 1px solid #DCDCDC;
  background-color: #fff;
  border-radius: 100%;
}
.recruit_contents .cvsbtn a .ar-wrap .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 13px;
  height: 8px;
  margin: auto;
  line-height: 1;
  transform: rotate(-45deg)
}
.recruit_contents .cvsbtn .arrow:before, .recruit_contents .cvsbtn .arrow:after {
  font-size: 8px;
}
@media only screen and (min-width: 769px) {
  .recruit_contents {
    padding: 140px 30px 120px;
  }
  .recruit_contents .cont_inr {
    justify-content: space-between;
    align-items: center;
  }
  .recruit_contents .cvsbtn {
    width: 400px;
  }
  .recruit_contents .cvsbtn a {
    padding: 100px 20px 30px 40px;
  }
  .recruit_contents .cvsbtn a .ar-wrap {
    width: 50px;
    height: 50px;
  }
  .recruit_contents .cvsbtn a small {
    font-size: 18px;
  }
  .recruit_contents .cvsbtn a .en {
    font-size: 50px;
  }
  .recruit_contents .txt {
    max-width: 270px;
  }
  .fix-img {
    height: 400px;
  }
}
@media only screen and (min-width: 1060px) {
  .recruit_contents {
    padding: 140px 75px 120px;
  }
  .recruit_contents .cvsbtn a .ar-wrap {
    width: 60px;
    height: 60px;
  }
  .recruit_contents .cvsbtn {
    width: 500px;
  }
  .fix-img {
    height: 500px;
  }
}
@media only screen and (min-width: 1367px) {
  .recruit_contents .cvsbtn {
    width: 600px;
  }
  .fix-img {
    height: 670px;
  }
}
@media only screen and (max-width: 768px) {
  .recruit_contents .cvsbtn {
    margin-top: 40px;
  }
}