@charset "UTF-8";
/* 設定
******************************************************************************************** */
/* txt-maker */
/* btn */
/* $width-pc: 1281px; */
/* $width-smartphone: 600px; */
/* $width-scrollbar: 20px; */
/* style CONFIG
******************************************************************************************** */
.header__in {
  max-width: 1600px;
  margin: 0 auto;
  /*  Smartphone */
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .header__in {
    width: 100%;
  }
}
.header__logo img {
  width: 287px;
  height: 45px;
}
.header .gnav {
  margin-left: auto;
}
.header .gnav__list li a {
  color: #000;
}

.main {
  position: relative;
  width: 100%;
}
.main__left {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 18%;
  z-index: 1;
}
.main .pagehead {
  width: 100%;
  text-align: right;
  position: relative;
}
.main .pagehead__ttl {
  position: absolute;
  top: 15%;
  left: 15%;
  z-index: 2;
}
.main .pagehead__img {
  position: relative;
  z-index: 0;
}
.main .pagehead__img img {
  width: 80%;
}

/* about
******************************************************************************************** */
.about {
  /* start */
  /* strengths */
  /* award */
  /* commitment */
}
.about .start {
  background: transparent url(../assets/img/common/bg_footer.jpg) repeat;
  padding: 60px 0 100px 0;
}
.about .start__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .about .start__in {
    width: 100%;
  }
}
.about .start__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.about .start__ttl span {
  padding-top: 40px;
  border-bottom: 7px solid #c30d23;
  display: block;
  width: 60%;
  margin: 0 auto;
}
.about .start__ttl .pc-mode {
  display: inline-block;
}
.about .start__t {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.about .start__item {
  width: 32%;
}
.about .start__detail {
  background: #fff;
  padding: 30px;
  margin: 0 30px;
}
.about .start__sub {
  text-align: center;
  margin-top: 0;
}
.about .start__sub img {
  width: auto;
  height: 45px;
}
.about .start__txt {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0;
}
.about .start__img {
  margin: 0;
}
.about .strengths {
  background: #f0f0e7;
  padding-bottom: 60px;
}
.about .strengths__ttl {
  margin: 0;
  background: #c30d23;
  text-align: center;
  padding-top: 100px;
}
.about .strengths__ttl span {
  padding-top: 40px;
  border-bottom: 7px solid #fff;
  display: block;
  width: 60%;
  margin: 0 auto 60px auto;
}
.about .strengths__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .about .strengths__in {
    width: 100%;
  }
}
.about .strengths .block {
  position: relative;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  -o-justify-content: flex-end;
  justify-content: flex-end;
  padding: 60px 0;
  margin-left: 15%;
}
.about .strengths .block__num {
  margin: 0 10px;
  width: 8%;
}
.about .strengths .block__img {
  margin: 0;
  width: 90%;
}
.about .strengths .block__detail {
  position: absolute;
  left: 0;
  top: 30%;
  width: 30%;
  padding: 100px 30px;
  background: #fff;
}
.about .strengths .block__ttl {
  margin: 0 0 60px 0;
}
.about .strengths .block__txt {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0;
}
.about .strengths .block--2 {
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  margin-left: 0;
  margin-right: 15%;
}
.about .strengths .block--2 .block__detail {
  right: 0;
  left: auto;
}
.about .award {
  position: relative;
  background: #f7f7f1;
  padding: 60px 0;
}
.about .award__left {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.about .award__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .about .award__in {
    width: 100%;
  }
}
.about .award__ttl {
  margin: 0;
  text-align: center;
  padding-top: 100px;
}
.about .award__ttl span {
  padding-top: 40px;
  border-bottom: 7px solid #c30d23;
  display: block;
  width: 60%;
  margin: 0 auto 60px auto;
}
.about .award__txt {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.about .award__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .about .award__list {
    width: 100%;
  }
}
.about .award__list li {
  width: 32%;
  margin-bottom: 20px;
}
.about .commitment {
  padding-bottom: 60px;
}
.about .commitment__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .about .commitment__in {
    width: 100%;
  }
}
.about .commitment__ttl {
  margin: 0;
  width: 10%;
  -moz-order: 2;
  -ms-order: 2;
  -o-order: 2;
  order: 2;
  position: relative;
  padding-top: 60px;
}
.about .commitment__ttl span {
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  border-right: 7px solid #c30d23;
  display: block;
  height: 100%;
}
.about .commitment__w {
  padding-top: 60px;
  width: 85%;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.about .commitment__imgs {
  max-width: 57%;
}
.about .commitment__imgs--w {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.about .commitment__imgs--l {
  margin: 0 0 20px 0;
}
.about .commitment__imgs--s {
  margin: 0;
}
.about .commitment__detail {
  width: 40%;
  position: relative;
}
.about .commitment__txt {
  margin: 0;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  width: 90%;
}
.about .commitment__bottom {
  position: absolute;
  bottom: 0;
}

/* company
******************************************************************************************** */
.company .philosophy {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
  text-align: center;
  padding: 40px 0;
}
@media only screen and (max-width: 640px) {
  .company .philosophy {
    width: 100%;
  }
}
.company .philosophy__ttl {
  margin-bottom: 60px;
}
.company .philosophy__ttl .pc-mode {
  display: inline-block;
}
.company .philosophy__txt {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
}
.company .greeting {
  background: transparent url(../assets/img/common/bg_footer.jpg) repeat;
  position: relative;
}
.company .greeting__arrow {
  width: 80px;
  position: absolute;
  margin: 0 auto;
  top: -22px;
  left: 0;
  right: 0;
  z-index: 2;
}
.company .greeting__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
  padding: 60px 5%;
}
@media only screen and (max-width: 640px) {
  .company .greeting__in {
    width: 100%;
  }
}
.company .greeting__ttl {
  text-align: center;
  margin: 60px 0;
}
.company .greeting__txt {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}
.company .greeting__right {
  text-align: right;
  margin-top: 40px;
}
.company .history {
  background: transparent url(../assets/img/company/history_bg.jpg) no-repeat left top;
  background-size: cover;
  padding: 100px 0;
}
.company .history__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .company .history__in {
    width: 100%;
  }
}
.company .history__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.company .history__ttl span {
  padding-top: 40px;
  border-bottom: 7px solid #c30d23;
  display: block;
  width: 60%;
  margin: 0 auto;
}
.company .history__ttl .pc-mode {
  display: inline-block;
}
.company .history__table {
  width: 90%;
  margin: 0 auto;
}
.company .history__table th, .company .history__table td {
  padding: 20px 60px;
  font-size: 20px;
  font-size: 2rem;
}
.company .history__table th {
  border-bottom: 2px solid #000;
}
.company .history__table td {
  border-bottom: 1px solid #000;
}
.company .profile__img {
  margin: 0;
}
.company .profile__in {
  padding: 60px 0;
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .company .profile__in {
    width: 100%;
  }
}
.company .profile__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.company .profile__ttl .pc-mode {
  display: inline-block;
}
.company .profile__table {
  width: 90%;
  margin: 0 auto;
}
.company .profile__table th, .company .profile__table td {
  padding: 20px 60px;
  font-size: 20px;
  font-size: 2rem;
}
.company .profile__table th {
  border-bottom: 2px solid #000;
}
.company .profile__table td {
  border-bottom: 1px solid #000;
}
.company .profile__map iframe {
  width: 100%;
  border: 0;
}
.company .privacy {
  padding: 60px 0;
}
.company .privacy__in {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .company .privacy__in {
    width: 100%;
  }
}
.company .privacy__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.company .privacy__ttl .pc-mode {
  display: inline-block;
}
.company .privacy__txt {
  font-size: 20px;
  font-size: 2rem;
}
.company .privacy .block {
  margin: 40px 0;
  font-size: 20px;
  font-size: 2rem;
}
.company .privacy .block__ttl {
  color: #c30d23;
}

/* resultst
******************************************************************************************** */
.resultst .block__ttl {
  margin: 0 0 60px 0;
  background: #c30d23;
  text-align: center;
  padding: 60px 0;
}
.resultst .block__ttl .pc-mode {
  display: inline-block;
}
.resultst .block__sub {
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
}
.resultst .block__cat {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  max-width: 750px;
  margin: 0 auto 60px;
}
.resultst .block__cat li {
  width: 30%;
  text-align: center;
}
.resultst .block__cat li a {
  display: block;
  width: 100%;
  padding: 10px 20px;
  border: 1px solid #c30d23;
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: bold;
}
.resultst .block__cat li a:hover {
  text-decoration: none;
  background: #c30d23;
  color: #fff;
}
.resultst .block__cat li.current a {
  background: #c30d23;
  color: #fff;
}
.resultst .block__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .resultst .block__list {
    width: 100%;
  }
}
.resultst .block__list::after {
  content: "";
  display: block;
  width: 32%;
}
.resultst .block__list li {
  width: 32%;
  margin-bottom: 60px;
}
.resultst .block__img {
  margin: 0 0 5px 0;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.resultst .block__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.resultst .block__hidden {
  opacity: 0;
  width: 0;
  height: 0;
}
.resultst .block__date {
  color: #c30d23;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 5px 0;
}
.resultst .block__title {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 5px 0;
}
.resultst .archives {
  background: #f0f0e7;
  padding: 60px 0;
}
.resultst .archives__in {
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .resultst .archives__in {
    width: 100%;
  }
}
.resultst .archives__ttl {
  margin-top: 0;
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: bold;
}
.resultst .archives__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.resultst .archives__list li {
  display: inline-block;
  margin-right: 20px;
}
.resultst .archives__list li a {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
}

/* contact
******************************************************************************************** */
.contact .tel {
  padding: 60px 0;
  text-align: center;
}
.contact .mail {
  padding: 60px 0;
  max-width: 750px;
  margin: 0 auto;
}
.contact .mail__ttl {
  text-align: center;
}
.contact .mail__txt {
  font-size: 16px;
  font-size: 1.6rem;
}
.contact .mail__txt a {
  color: #c30d23;
  text-decoration: underline;
}
.contact .mail__txt a:hover {
  text-decoration: none;
}
.contact .mail__txt span {
  color: #c30d23;
  font-weight: bold;
}
.contact .form {
  background: #efefef;
  position: relative;
  z-index: 2;
}
.contact .form .wpcf7-turnstile {
  text-align: center;
}
.contact .form__arrow {
  width: 80px;
  position: absolute;
  margin: 0 auto;
  top: -22px;
  left: 0;
  right: 0;
  z-index: 2;
}
.contact .form__in {
  padding: 60px 0;
  max-width: 1200px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .contact .form__in {
    width: 100%;
  }
}
.contact .form__table {
  width: 80%;
  margin: 0 auto 40px;
}
.contact .form__table th, .contact .form__table td {
  padding: 10px 4px;
  font-size: 18px;
  font-size: 1.8rem;
}
.contact .form__table th {
  text-align: left;
  white-space: nowrap;
}
.contact .form__table th .must {
  background: #c30d23;
  color: #fff;
  padding: 0 4px;
  font-size: 14px;
  font-size: 1.4rem;
  margin-left: 5px;
}
.contact .form__table td input[type=text],
.contact .form__table td input[type=email],
.contact .form__table td input[type=tel] {
  width: 100%;
  padding: 15px;
  border: 0;
  font-size: 18px;
  font-size: 1.8rem;
}
.contact .form__table td input[type=text].size-m,
.contact .form__table td input[type=email].size-m,
.contact .form__table td input[type=tel].size-m {
  width: 49%;
}
.contact .form__table td input[type=text].size-m-l,
.contact .form__table td input[type=email].size-m-l,
.contact .form__table td input[type=tel].size-m-l {
  margin-right: 2%;
}
.contact .form__table td input[type=text].size-s,
.contact .form__table td input[type=email].size-s,
.contact .form__table td input[type=tel].size-s {
  width: 40%;
}
.contact .form__table td textarea {
  width: 100%;
  padding: 15px;
  border: 0;
  font-size: 18px;
  font-size: 1.8rem;
}
.contact .form__table td input[type=radio] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.contact .form__table td input[type=radio]:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8fc31f;
  content: "";
}
.contact .form .submit {
  text-align: center;
}
.contact .form .submit input[type=submit] {
  border: 1px solid #c30d23;
  background: #c30d23;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
  padding: 20px 80px;
  cursor: pointer;
}
.contact.confirm .form {
  background: none;
}
.contact.confirm .form__txt {
  width: 80%;
  margin: 20px auto 40px;
}
.contact.confirm .submit input[type=button] {
  border: 1px solid #000;
  background: none;
  font-size: 20px;
  font-size: 2rem;
  padding: 20px 80px;
  cursor: pointer;
  margin-right: 30px;
}
.contact .thanks {
  padding: 60px 0;
  text-align: center;
}
.contact .thanks__ttl {
  margin-bottom: 60px;
}
.contact .thanks__txt {
  font-size: 17px;
  font-size: 1.7rem;
  margin-bottom: 60px;
}
.contact .thanks__cau {
  font-size: 17px;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 60px;
}
.contact .thanks__btn a {
  background: #c30d23;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
  padding: 10px 40px;
  overflow: hidden;
  position: relative;
}
.contact .thanks__btn a::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
}
.contact .thanks__btn a:hover::before {
  animation: shine 0.75s;
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
.contact .thanks__btn a:hover {
  text-decoration: none;
}

/* news
******************************************************************************************** */
.news .wrap {
  background: transparent url(../assets/img/common/bg_footer.jpg) repeat;
  padding: 100px 0;
}
.news .wrap__ttl {
  font-size: 18px;
  font-size: 1.8rem;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  margin-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  .news .wrap__ttl {
    width: 100%;
  }
}
.news .wrap__in {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .news .wrap__in {
    width: 100%;
  }
}
.news .left {
  width: 77%;
}
.news .left .set {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #c8c9ca;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.news .left .set__img {
  margin: 0;
  margin-right: 20px;
}
.news .left .set__img img {
  max-width: 200px;
}
.news .left .set__meta {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  font-size: 18px;
  font-size: 1.8rem;
}
.news .left .set__date {
  margin: 0;
  margin-right: 10px;
}
.news .left .set__label {
  margin: 0;
}
.news .left .set__label a {
  background: #c30d23;
  color: #fff;
  padding: 0 20px;
  min-width: 140px;
  text-align: center;
  display: inline-block;
}
.news .left .set__title {
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
.news .right {
  width: 15%;
}
.news .right .block {
  margin-bottom: 100px;
}
.news .right .block__ttl {
  margin: 0;
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 2rem;
  color: #c30d23;
  border-bottom: 1px solid #c8c9ca;
  padding-bottom: 10px;
}
.news .right .block__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news .right .block__list li {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  margin-bottom: 10px;
}
.news .right .block__list li::before {
  content: "-";
  color: #c8c9ca;
  margin-right: 5px;
}
.news .right .block__list li a {
  font-size: 16px;
  font-size: 1.6rem;
}
.news.single .wrap {
  background: none;
}
.news.single .entry__meta {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  -o-justify-content: flex-start;
  justify-content: flex-start;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  font-size: 18px;
  font-size: 1.8rem;
}
.news.single .entry__date {
  margin: 0;
  margin-right: 10px;
}
.news.single .entry__label {
  margin: 0;
}
.news.single .entry__label a {
  background: #c30d23;
  color: #fff;
  padding: 0 20px;
  min-width: 140px;
  text-align: center;
  display: inline-block;
}
.news.single .entry__ttl {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 40px;
}
.news.single .entry__body {
  font-size: 16px;
  font-size: 1.6rem;
}
.news.single .entry__body img {
  display: inline-block;
  margin: 5px;
}

/* recruit
******************************************************************************************** */
.recruit {
  /* アニメーション定義 */
  /* job */
  /* data */
  /* benefits */
  /* schedule */
  /* staff */
  /* snslink */
  /* posting */
  /* entry */
}
.recruit .wrap {
  width: 100%;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.recruit .wrap__right {
  width: 5%;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-align-items: center;
  -ms-align-items: center;
  -o-align-items: center;
  align-items: center;
  flex-flow: column;
}
.recruit .wrap__ttl {
  margin: 0;
}
.recruit .wrap__sns {
  margin: 20px 0;
}
.recruit .wrap__insta {
  margin-bottom: 20px;
}
.recruit .wrap_youtube {
  margin: 0;
}
.recruit .hero {
  width: 94%;
  position: relative;
  overflow: hidden;
}
.recruit .hero__bg {
  background: url(../assets/img/recruit/bg_recruit.jpg) center/cover;
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 0;
}
.recruit .hero__text {
  padding: 40px 0;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.recruit .hero__slanting {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, #e60012 0 30px, transparent 30px 60px);
  transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.recruit .hero__slanting.is-hide {
  transform: translate(40%, -60%) scale(1.1);
  opacity: 0;
}
.recruit .hero__overlay {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(195, 13, 35, 0.5);
  transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.recruit .hero__overlay.is-hide {
  opacity: 0;
}
.recruit .marquee {
  position: relative;
}
.recruit .marquee__arrow {
  width: 60px;
  position: absolute;
  margin: 0 auto;
  top: -22px;
  left: 0;
  right: 0;
  z-index: 3;
}
.recruit .marquee__in {
  display: block;
  padding: 10px 0;
  position: relative;
  overflow: hidden;
}
.recruit .marquee__list {
  margin: 0;
  padding: 20px 0;
  list-style: none;
  white-space: nowrap;
  animation: marqueeScroll 40s linear infinite;
  position: absolute;
  z-index: 2;
}
.recruit .marquee__list:hover {
  animation-play-state: paused;
}
.recruit .marquee__item {
  margin-right: 40px;
  display: inline-block;
}
.recruit .marquee__item a {
  display: block;
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid #000;
  border-radius: 20px;
  background: #fff;
}
.recruit .marquee__txt {
  display: flex;
  position: relative;
  z-index: 0;
  margin: 0;
  width: -moz-max-content;
  width: max-content;
  animation: marqueeScroll 40s linear infinite;
}
.recruit .marquee__txt img {
  display: block;
  height: 80px;
  margin-right: 40px;
}
@keyframes marqueeScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%); /* リスト幅の半分流す例 */
  }
}
.recruit .job__shape {
  width: 50%;
  height: 50px;
  background-color: #ff0023;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
  margin: 0 0 20px 0;
}
.recruit .job__en {
  margin: 0;
  width: 80%;
}
.recruit .job__w {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -o-align-items: flex-end;
  align-items: flex-end;
  margin-bottom: 40px;
}
.recruit .job__img {
  margin: 0 40px 0 0;
  width: 50%;
}
.recruit .job__detail {
  width: 40%;
}
.recruit .job__ttl {
  font-size: 34px;
  font-size: 3.4rem;
  margin-bottom: 20px;
  font-weight: 500;
}
.recruit .job__txt {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0;
}
.recruit .job .skills {
  background: #f7f7f1;
  padding: 40px 0;
}
.recruit .job .skills__in {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .recruit .job .skills__in {
    width: 100%;
  }
}
.recruit .job .skills__ttl {
  background: #ff0023;
  text-align: center;
  color: #fff;
  font-weight: normal;
  font-size: 34px;
  font-size: 3.4rem;
  margin-top: 0;
  line-height: 1;
  clip-path: polygon(3% 0, 100% 0, 97% 100%, 0% 100%);
}
.recruit .job .skills__arrow {
  width: 60px;
  margin: 20px auto;
}
.recruit .job .skills__item {
  border: 4px solid #000;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  background: #fff;
}
.recruit .job .block {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  padding: 40px 0;
}
@media only screen and (max-width: 640px) {
  .recruit .job .block {
    width: 100%;
  }
}
.recruit .job .block__txt {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 0;
  font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Yu Mincho Medium", "游游明朝 Medium", "YuMincho", "游游明朝体", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "serif";
  text-align: justify;
}
.recruit .job .block__copy {
  margin-top: 40px;
  font-size: 35px;
  font-size: 3.5rem;
  font-weight: bold;
  font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Yu Mincho Medium", "游游明朝 Medium", "YuMincho", "游游明朝体", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "serif";
  text-align: justify;
  word-break: break-word;
}
.recruit .data {
  border-top: 50px solid #ff0023;
}
.recruit .data__en {
  margin: 0;
}
.recruit .data .numbers {
  text-align: center;
  background: transparent url(../assets/img/common/bg_footer.jpg) repeat;
  padding-bottom: 60px;
}
.recruit .data .numbers__ttl {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  margin: 40px 0 0 0;
}
.recruit .data .numbers__date {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 10px 0;
}
.recruit .data .numbers__icon {
  margin: 40px 0;
}
.recruit .data .numbers__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .recruit .data .numbers__list {
    width: 100%;
  }
}
.recruit .data .numbers__list li {
  width: 30%;
  padding: 20px;
  margin-bottom: 40px;
  border: 4px solid #000;
  border-radius: 20px;
  background: #fff;
}
.recruit .benefits__ttl {
  font-size: 30px;
  font-size: 3rem;
  background: #ff0023;
  color: #fff;
  text-align: center;
  font-weight: 500;
}
.recruit .benefits__in {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 100px 0;
}
@media only screen and (max-width: 640px) {
  .recruit .benefits__in {
    width: 100%;
  }
}
.recruit .benefits__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
.recruit .benefits__list li {
  width: 49%;
  padding: 40px;
  border-left: 4px solid #000;
}
.recruit .benefits__list li:nth-child(even) {
  border-right: 4px solid #000;
}
.recruit .benefits__list li:nth-child(1), .recruit .benefits__list li:nth-child(2) {
  border-bottom: 4px solid #000;
  padding-top: 0;
}
.recruit .benefits__sub {
  margin: 0 0 20px 0;
}
.recruit .benefits__txt {
  margin: 0;
  font-weight: 500;
}
.recruit .benefits__en {
  margin: 0;
  width: 12%;
  position: absolute;
  top: 100px;
  right: -12%;
}
.recruit .schedule {
  background: #f0f0e7;
  padding: 60px 0;
  position: relative;
  /* チェック状態で表示切り替え */
  /* チェックされたタブの見た目 */
}
.recruit .schedule__piko {
  position: absolute;
  top: -7%;
  left: 10%;
  z-index: 2;
}
.recruit .schedule__piko img {
  width: 75%;
}
.recruit .schedule__piko--02 {
  top: auto;
  left: 0;
  bottom: 20%;
}
.recruit .schedule__piko--03 {
  top: -2%;
  left: auto;
  right: 0;
}
.recruit .schedule__piko--04 {
  top: auto;
  left: auto;
  right: 0;
  bottom: 10%;
}
.recruit .schedule__ttl {
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
}
.recruit .schedule input[name=tab_item] {
  display: none;
}
.recruit .schedule__tabs {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .recruit .schedule__tabs {
    width: 100%;
  }
}
.recruit .schedule__tabs label {
  width: 33.3333333333%;
  border: 4px solid #000;
  border-left: none;
  border-bottom: none;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  cursor: pointer;
  transition: 0.3s;
}
.recruit .schedule__tabs label.first {
  border-left: 4px solid #000;
}
.recruit .schedule__tabs label:hover {
  opacity: 0.8;
}
.recruit .schedule__contents {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .recruit .schedule__contents {
    width: 100%;
  }
}
.recruit .schedule__item {
  display: none;
  border: 4px solid #000;
  background: #fff;
  padding: 30px;
}
.recruit .schedule #tab1:checked ~ .schedule__contents #tab1__content,
.recruit .schedule #tab2:checked ~ .schedule__contents #tab2__content,
.recruit .schedule #tab3:checked ~ .schedule__contents #tab3__content {
  display: block;
}
.recruit .schedule #tab1:checked ~ .schedule__tabs label[for=tab1],
.recruit .schedule #tab2:checked ~ .schedule__tabs label[for=tab2],
.recruit .schedule #tab3:checked ~ .schedule__tabs label[for=tab3] {
  background: #fff;
}
.recruit .schedule__txt {
  margin: 0 0 20px 0;
  text-align: center;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
}
.recruit .schedule__pic {
  margin: 0;
}
.recruit .schedule__en {
  width: 95%;
  margin: 0 auto;
  left: 0;
  right: 0;
  position: absolute;
  bottom: -5%;
}
.recruit .staff {
  padding: 100px 0;
  border-left: 50px solid #ff0023;
  position: relative;
  /* チェック状態で表示切り替え */
}
.recruit .staff__en {
  width: 8%;
  position: absolute;
  right: 0;
  top: 10%;
}
.recruit .staff__ttl {
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
}
.recruit .staff input[name=link_item] {
  display: none;
}
.recruit .staff__links {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
  text-align: center;
  margin: 40px auto 60px;
}
.recruit .staff__links label {
  cursor: pointer;
  margin: 0 15px;
}
.recruit .staff__links label::after {
  content: "";
  border-bottom: 7px solid #ff0023;
  display: block;
  width: 50px;
  height: 7px;
  text-align: center;
  padding-top: 10px;
  transition: 0.3s;
}
.recruit .staff__links label:hover::after {
  display: none;
}
.recruit .staff__contents {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .recruit .staff__contents {
    width: 100%;
  }
}
.recruit .staff__item {
  display: none;
}
.recruit .staff #link1:checked ~ .staff__contents #link1__content,
.recruit .staff #link2:checked ~ .staff__contents #link2__content,
.recruit .staff #link3:checked ~ .staff__contents #link3__content,
.recruit .staff #link4:checked ~ .staff__contents #link4__content,
.recruit .staff #link5:checked ~ .staff__contents #link5__content {
  display: block;
}
.recruit .staff__title {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -o-align-items: flex-end;
  align-items: flex-end;
  border-bottom: 4px solid #000;
  margin-bottom: 60px;
}
@media only screen and (max-width: 640px) {
  .recruit .staff__title {
    width: 100%;
  }
}
.recruit .staff__title--left {
  text-align: center;
  width: 30%;
  margin: 0 20px 0 0;
}
.recruit .staff__title--ja {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
}
.recruit .staff__title--label {
  font-size: 22px;
  font-size: 2.2rem;
  background: #000;
  color: #fff;
  display: block;
  padding: 5px;
}
.recruit .staff__title--en {
  font-size: 40px;
  font-size: 4rem;
  font-weight: bold;
}
.recruit .staff__title--year {
  font-size: 22px;
  font-size: 2.2rem;
  margin-left: auto;
  font-weight: bold;
}
.recruit .staff__w {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .recruit .staff__w {
    width: 100%;
  }
}
.recruit .staff__img {
  margin: 0;
  width: 50%;
  clip-path: polygon(0 0, 100% 0, 100% 95%, 0 100%);
}
.recruit .staff__detail {
  width: 50%;
  background: #f7f7f1;
  padding: 30px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);
}
.recruit .staff__txt {
  margin-top: 0;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
}
.recruit .snslink {
  background: transparent url(../assets/img/common/bg_footer.jpg) repeat;
  padding: 40px 0;
}
.recruit .snslink__in {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -o-justify-content: center;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .recruit .snslink__in {
    width: 100%;
  }
}
.recruit .snslink__detail {
  margin: 0 20px;
  text-align: center;
}
.recruit .snslink__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
}
.recruit .snslink__list li {
  width: 48%;
}
.recruit .posting {
  padding-bottom: 60px;
  /* チェック状態で表示切り替え */
  /* チェックされたタブの見た目 */
}
.recruit .posting__en {
  margin: 0;
  text-align: center;
}
.recruit .posting__ttl {
  text-align: center;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  margin: 60px 0;
}
.recruit .posting input[name=job_item] {
  display: none;
}
.recruit .posting__tabs {
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .recruit .posting__tabs {
    width: 100%;
  }
}
.recruit .posting__tabs label {
  width: 33.3333333333%;
  background: #f7f7f1;
  border: 4px solid #000;
  border-left: none;
  border-bottom: none;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  cursor: pointer;
  transition: 0.3s;
}
.recruit .posting__tabs label.first {
  border-left: 4px solid #000;
}
.recruit .posting__tabs label:hover {
  opacity: 0.8;
}
.recruit .posting__contents {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .recruit .posting__contents {
    width: 100%;
  }
}
.recruit .posting__item {
  display: none;
  border: 4px solid #000;
  background: #fff;
  padding: 60px 30px;
}
.recruit .posting #job1:checked ~ .posting__contents #job1__content,
.recruit .posting #job2:checked ~ .posting__contents #job2__content,
.recruit .posting #job3:checked ~ .posting__contents #job3__content {
  display: block;
}
.recruit .posting #job1:checked ~ .posting__tabs label[for=job1],
.recruit .posting #job2:checked ~ .posting__tabs label[for=job2],
.recruit .posting #job3:checked ~ .posting__tabs label[for=job3] {
  background: #fff;
}
.recruit .posting__table {
  width: 100%;
  border-top: 1px solid #000;
}
.recruit .posting__table th {
  padding: 20px 60px;
  border-bottom: 2px solid #000;
  font-size: 18px;
  font-size: 1.8rem;
  white-space: nowrap;
  text-align: justify;
  -moz-text-align-last: justify;
       text-align-last: justify;
}
.recruit .posting__table th:first-child {
  border-top: 2px solid #000;
}
.recruit .posting__table td {
  padding: 20px;
  border-bottom: 1px solid #000;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
.recruit .posting__table td .txt-l {
  font-size: 24px;
  font-size: 2.4rem;
}
.recruit .entry {
  border-top: 50px solid #ff0023;
  border-bottom: 50px solid #ff0023;
  padding-bottom: 100px;
  text-align: center;
}
.recruit .entry__en {
  margin: -7% 0 0 0;
}
.recruit .entry__ttl {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  margin: 60px 0;
}
.recruit .entry__txt {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 500;
}
.recruit .entry__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
}
@media only screen and (max-width: 640px) {
  .recruit .entry__list {
    width: 100%;
  }
}
.recruit .entry__list li {
  width: 48%;
}
.recruit .entry__list li span {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}

/* 404 not found
******************************************************************************************** */
.non {
  padding: 60px 0;
}
.non__ttl {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  margin-bottom: 20px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 400;
}
@media only screen and (max-width: 640px) {
  .non__ttl {
    width: 100%;
  }
}
.non .block {
  max-width: 960px;
  margin: 0 auto;
  /*  Smartphone */
  padding: 40px 0;
}
@media only screen and (max-width: 640px) {
  .non .block {
    width: 100%;
  }
}
.non .block__ttl {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 60px;
}
.non .block__ttl .pc-mode {
  display: inline-block;
}
.non .block__txt {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
}
.non .block__actions {
  background: #f7f7f1;
  text-align: center;
  padding: 40px;
  margin: 40px 0;
}
.non .block__btn {
  color: #fff;
  background: #c30d23;
  display: inline-block;
  padding: 4px 20px;
  text-shadow: none;
  position: relative;
}
.non .block__btn i {
  margin-right: 1em;
}
.non .block__btn:hover {
  transition: 0.5s ease-in-out;
  opacity: 0.8;
  filter: alpha(opacity=80);
  text-decoration: none;
}
.non .block__btn:hover i {
  transition: 0.5s ease-in-out;
  transform: scale(1.5);
}/*# sourceMappingURL=style.css.map */