@charset "utf-8"; /* default PC */
/* 募集要項 */
#contents .apply-box h2 {
  color: #fff;
}

#contents .apply-box .grid-box {
  background-color: #fff;
  display: grid;
  gap: 40px;
  grid-template-columns: 300px calc(100% - 340px);
  margin: 0 auto;
  max-width: 1200px;
  padding: 50px;
}

#contents .apply-box .main-txt {
  color: #C09520;
  font-size: 25px;
  font-weight: bold;
}

/*エントリーフォーム*/
#entry .entry-area {
  width: 100%;
  max-width: 700px;
  margin: auto;
  padding: 40px 35px;
  margin-bottom: 50px;
  background: #F1F4FD;
}

#entry #contents .entry-area p {
  text-align: center;
}

#entry #contents .entry-area p:last-child {
  margin-bottom: 0;
}

#entry .table-01 {
  font-size: 1.02em;
  margin: 0 auto;
  max-width: 850px;
  width: 100%;
}

#entry .table-01 th {
  min-width: 250px;
  background-color: transparent;
  vertical-align: top;
  border: none;
}

/*page.css*/
#entry tr:first-child, #entry table td {
  border-top: 0px;
}

#entry .inquiry {
  display: inline-flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
}

#entry .inquiry .wpcf7-list-item {
  margin-right: 15px;
}

#entry .inquiry .wpcf7-list-item.last {
  margin-right: 0;
}

#entry .classifying {
  display: inline-flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-content: flex-start;
}

#entry .classifying .wpcf7-list-item {
  margin-right: 15px;
}

#entry #contents .year {
  width: 15%;
  margin-right: 10px;
}

#entry #contents .table-01 td p:last-child {
  margin-bottom: 0;
}

#entry .occupation {
  padding: 0.6em 0.7em 0.7em;
}

#entry input#zip {
  margin-bottom: 10px;
  width: 25%;
  margin-left: 5px;
}

#entry input#adress {
  width: 100%;
}

/*ドロップダウン 矢印*/
#entry select {
  -moz-appearance: menulist;
  -webkit-appearance: menulist;
}

#entry select::-ms-expand {
  display: block;
}

/* 福利厚生 */
#contents .welfare-area h3 {
  clip-path: none;
  font-size: 20px;
  margin: 0 0 25px;
  text-align: center;
}

#contents .welfare-area .welfare-item {
  margin-bottom: 30px;
}

#contents .welfare-area .welfare-item .txt-box {
  padding: 20px;
}

#contents .welfare-item img {
  height: 100px;
  width: 100px;
}

#contents .welfare-area .welfare-item p {
  font-size: 17px;
}

#contents .welfare-area .welfare-item:nth-child(n+9) {
  margin-bottom: 0;
}

#contents .welfare-item {
  background-color: #f1f4fd;
  margin-bottom: 25px;
  padding: 30px 25px 25px;
}

#contents .welfare-item h3 {
  background-color: #FFF0;
  color: #EC6319;
  font-size: 22px;
  margin-bottom: 15px;
  padding: 0;
  text-align: center;
}

#contents .welfare-item.txt-2box {
  margin-right: 20px;
  width: calc(100% / 2 - 13px);
}

#contents .welfare-item.txt-2box.end {
  margin-right: 0;
}

#contents .welfare-item.txt-2box.end .txt-box .txt-2box {
  background-color: #FFF;
  padding: 15px;
}

#contents .welfare-item.txt-2box.end .txt-box .txt-2box p {
  margin-bottom: 0;
}

/* 福利厚生 */
#training #contents .img-2box-txt.txt-area h3 {
  background-color: #FFF0;
  color: #EC6319;
  font-size: 140%;
  font-weight: bold;
  line-height: 1.5em;
  margin-bottom: 20px;
  padding: 0;
}

#contents .education-area h3 {
  clip-path: none;
  font-size: 20px;
  margin: 0;
  text-align: center;
}

#contents .education-area .education-item .txt-box {
  padding: 20px;
}

#contents .education-item.txt-4box.bg-white {
  background-color: #F8F6F0;
  padding: 25px 30px;
}

#contents .education-item.txt-4box h4 {
  color: #3A2885;
  padding: 0;
  text-align: center;
}

#contents .education-item.txt-4box h4::before {
  display: none;
}

#contents h4 {
  border-left: 0px
}

.career-area .about-area {
  background-color: #FFF;
  margin-bottom: 40px;
  padding: 40px 50px;
}

#contents .career-area .about-area h3 {
  background-color: #FFF0;
  color: #EC6319;
  font-size: 22px;
  margin-bottom: 20px;
  padding: 0;
}

.career-area .table-02 th {
  background-color: #DBDAED;
  border-color: #BFBFBF;
}

.career-area .table-02 tr:first-child th:last-child {
  border-color: #BFBFBF;
}

.career-area .table-02 tr:nth-child(2) th {
  background-color: #CAC9E3;
}

.career-area .table-02 tr:nth-child(3) th {
  background-color: #8B89BF;
  color: #FFF;
}

.career-area .table-02 tr:nth-child(4) th {
  background-color: #5652A6;
  color: #FFF;
}

#contents .data-box.w-100 {
  width: 100%;
}

/* 数字で見る */
#contents .aid-txt {
  color: #595959;
  font-size: 15px;
  margin-bottom: 0;
}

#contents .data-box .counter {
  color: #EC6319;
  font-size: 30px;
  margin-bottom: 0;
  text-align: center;
}

#contents .data-box {
  background-color: #fff;
  padding: 30px 20px;
  width: calc((100% - 30px * 2) / 3);
}

#contents .data-box .data-area {
  align-items: center;
  padding: 16px 0 30px;
}

#contentsh2.bg-ttl {
  line-height: 1.2;
}

#contents .data-box h4.ttl {
  background-color: #FFF0;
  color: #314FA5;
  font-weight: bold;
  margin-bottom: 0;
  padding: 0 0 30px;
  text-align: center;
}

#contents .data-box h4.ttl .min {
  font-size: 16px;
}

#contents .data-box h4.ttl::before {
  display: none;
}

#contents .data-box .main-txt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0;
  margin-top: 5px;
  text-align: center;
}

#contents .data-box .main-txt .year {
  font-size: 16px;
  font-weight: 500;
}

#contents .data-content {
  margin: auto;
  max-width: 1370px;
  width: 95%;
}

#contents .data-list .num-p {
  color: #EC6319;
  font-size: 160%;
  font-weight: 500;
  text-align: center;
}

#contents .data-list .num-p .min {
  font-size: 15px;
}

#contents .data-box .counter .number {
  font-family: "Roboto", sans-serif;
  font-size: 260%;
  letter-spacing: .05em;
  padding: 0 3px;
}

#contents .num-ttl {
  background-color: #DFDFDF;
  color: #FFF;
  margin: 0 auto 30px auto;
  max-width: 120px;
  padding: 3px;
  text-align: center;
  width: 100%;
}

#contents .num-ttl.pink {
  background-color: #ED6969;
}

#contents .num-ttl.blue {
  background-color: #3D81E2;
}

#contents .data-list.flex {
  align-items: stretch;
  gap: 30px;
}

#contents .data-contents h3 {
  align-items: center;
  background-color: #FFF0;
  color: #314FA5;
  display: flex;
  flex-direction: row;
  font-size: 27px;
  font-weight: 600;
  padding: 0;
}

#contents .data-contents h3 .data-txt {
  color: #C09520;
  font-size: 230%;
  font-weight: bold;
  line-height: .9em;
  margin-right: 20px;
}

#contents .data-box .data-area .contrast {
  background-color: #5A8CEA;
  border-radius: 5px;
  color: #FFF;
  margin: 0 auto 35px;
  max-width: 125px;
  text-align: center;
  width: 100%;
}

#contents .data-box .txt-2box.end .data-area .contrast {
  background-color: #E45757;
}

/**/
.animation {
  opacity: 0;
  position: relative;
  top: 50px;
  transition: .6s;
}

.animation.active {
  opacity: 1;
  top: 0;
  transition: .6s;
}

/**/
#contents .data-box .hobby-content ul {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  padding: 0;
}

#contents .data-box .hobby-content ul li {
  background-color: #F8F6F0;
  color: #FF7E00;
  font-size: 24px;
  font-weight: 600;
  list-style: none;
  margin-bottom: 10px;
  margin-right: 10px;
  padding: 15px 34px;
}

#contents .data-box .hobby-content ul li:last-child {
  background: no-repeat;
  color: #333;
  display: contents;
  font-size: 100%;
}

#contents .data-box .hobby-content ul p {
  height: 30px;
  margin-bottom: 10px;
  margin-top: auto;
}

#contents .data-box .hobby-content .rank-ttl {
  color: #333;
  font-size: 150%;
  font-weight: 600;
  margin-bottom: 15px;
}

#contents .data-box .hobby-content .rank-ttl .hobby-name {
  color: #FF7E00;
  font-weight: bold;
  padding-left: 15px;
  position: absolute;
}

#contents .data-box .hobby-content .rank-ttl:last-child {
  margin-bottom: 0;
}

#contents .data-box .hobby-content .rank-ttl:first-child {
  margin-bottom: 25px;
}

#contents .data-box .hobby-content .rank-ttl:first-child .hobby-name {
  font-size: 33px;
}

#contents .data-box:nth-child(5) .data-area .certification-area {
  align-content: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#contents .certification-name {
  align-items: center;
  background-color: #FFF;
  color: #333;
  display: flex;
  flex-wrap: nowrap;
  font-size: 18px;
  font-weight: 500;
  justify-content: space-between;
  margin-bottom: 15px;
  padding: 16px 20px;
  position: relative;
  width: calc(100% / 2 - 10px);
}

#contents .certification-name .num-p {
  font-size: 120%;
  margin-top: 10px;
  position: absolute;
  right: 21px;
}

#contents .data-box .certification-name .counter {
  font-size: 120%;
  margin-top: 10px;
  right: 21px;
}

#contents .certification-name .item {
  bottom: -15px;
  position: absolute;
  right: 15px;
}

#contents .good-content .good-place {
  background-color: #F8F6F0;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 30px;
  margin-right: 10px;
  padding: 20px 10px;
  position: relative;
  text-align: center;
  width: calc(100% / 4 - 20px);
}

#contents .good-content .good-place:nth-child(3) .important {
  font-size: 20px;
}

#contents .good-content .good-place:nth-child(7) {
  font-size: 16px;
}

#contents .good-content .good-place:before {
  border: 25px solid transparent;
  border-left: 25px solid #F8F6F0;
  bottom: -38px;
  box-sizing: border-box;
  content: "";
  height: 30px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  transform: rotate(90deg);
  width: 30px;
}

#contents .good-content .good-place .important {
  color: #FF7E00;
  font-size: 24px;
}

#contents .good-content.flex {
  justify-content: space-evenly;
  margin-top: 20px;
}

#contents .data-box .age-ratio .info.studies03 .ttl {
  font-size: 20px;
  margin-bottom: 0px;
}

.chart-area .figure:after {
  animation: company07 1.5s ease forwards;
  background-color: #9CDBDB;
  content: "";
  display: block;
  margin: 0 auto;
  width: 90px;
}

#contents .data-box .img-box p.txt-center {
  margin-bottom: 0;
}

#contents .data-contents.third .data-list .data-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#training .table-over.pc-none .table-02 {
  min-width: 820px;
}

.table-over.sp-none .table-02 {
  min-width: 1200px;
}

p.open-910, p.open-1330 {
  display: none;
}

@keyframes company07 {
  0% {
    height: 0;
  }

  100% {
    height: calc(100% - 40%);
  }
}

@media screen and (min-width: 1141px) {
  #contents.second .data-box:nth-child(n + 4) h4.ttl {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 88px;
  }
}

@media screen and (max-width: 1330px) {
  p.open-1330 {
    display: block;
  }

  #contents .welfare-item h3 {
    font-size: 21px;
  }
}

/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  #contents .apply-box .grid-box {
    grid-template-columns: 200px calc(100% - 240px);
    padding: 40px;
  }

  #contents .apply-box .main-txt {
    font-size: 20px;
  }

  /* 数字で見る */
  #contents .data-box h4.ttl {
    padding-bottom: 20px;
  }

  #contents .data-box .data-area {
    padding: 5px 3px 10px;
  }

  #contents .data-box .data-area .contrast {
    margin-bottom: 20px;
  }

  #contents .data-box .counter .number {
    font-size: 210%;
  }

  #contents .data-list.flex {
    gap: 20px;
  }

  #contents .data-box .img-box img {
    max-height: 100px;
  }

  #contents .data-box {
    width: calc((100% - 20px * 1) / 2);
  }

  #contents .data-box .counter {
    font-size: 25px;
  }

  #contents .data-contents h3 .data-txt {
    font-size: 200%;
  }

  #contents .data-contents h3 {
    font-size: 23px;
  }

  /* 福利厚生 */
  #contents .welfare-item img {
    height: 70px;
    width: 70px;
  }

  #welfare #contents .welfare-item.txt-4box {
    margin-bottom: 15px;
    margin-right: 15px;
    width: calc(100% / 3 - 10px);
  }

  #welfare .flex {
    justify-content: start;
  }

  #welfare #contents .welfare-item.txt-4box:nth-child(3n) {
    margin-right: 0;
  }

  #welfare #contents .welfare-item p br {
    display: none;
  }

  #welfare #contents .welfare-item.txt-2box.end .txt-box .txt-2box p br {
    display: block;
  }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  #contents .sp-left {
    text-align: left;
  }

  #entry .inquiry {
    display: block;
  }

  /* 数字で見る */
  #contents .data-box .txt-2box {
    width: calc(100% / 2);
  }

  #contents .data-box .counter .number {
    font-size: 230%;
  }

  #contents .data-contents h3 {
    font-size: 130%;
  }

  p.open-1330 {
    display: none;
  }

  /* 福利厚生 */
  #welfare #contents .welfare-item.txt-4box, #welfare #contents .welfare-item.txt-4box:nth-child(3n) {
    margin-right: 14px;
    width: calc(100% / 2 - 7px);
  }

  #welfare #contents .welfare-item.txt-4box:nth-child(2n) {
    margin-right: 0;
  }

  #contents .welfare-item h3 {
    font-size: 20px;
  }

  #contents .welfare-item.txt-2box.end .txt-box .txt-2box {
    margin-bottom: 15px;
  }

  #contents .welfare-item.txt-2box.end .txt-box .txt-2box.end {
    margin-bottom: 0;
  }

  #contents .welfare-item.txt-2box {
    margin-bottom: 15px;
    margin-right: 15px;
    width: calc(100% / 2 - 10px);
  }

  /* エントリーフォーム */
  #entry .table-01 tr {
    border-bottom: 0;
  }

  #entry .entry-area {
    padding: 30px 16px;
  }

  #entry #contents .table-01 th p {
    margin-bottom: 0;
  }

  #entry #contents input#zip {
    width: 200px;
  }
}

@media screen and (max-width: 910px) {
  p.open-910 {
    display: block;
  }
}

@media screen and (max-width: 834px) {
  #contents .certification-name {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #contents .apply-box .grid-box {
    grid-template-columns: 100%;
    padding: 30px;
  }

  #contents .apply-box .grid-box .photo-box img {
    max-width: 300px;
    width: 100%;
  }

  #contents .data-box h4.ttl {
    padding-bottom: 15px;
  }

  #contents .data-box .counter .number {
    font-size: 200%;
  }

  /* 福利厚生 */
  #contents .welfare-item img {
    height: 80px;
    width: 80px;
  }

  #welfare #contents .welfare-item.txt-4box {
    width: calc(100% / 2 - 10px);
  }

  #contents .welfare-item:nth-child(10) h3 {
    font-size: 18px;
  }

  #contents .welfare-item {
    padding: 25px 15px 15px;
  }
}

@media screen and (max-width: 640px) {
  /* 数字で見る */ #contents .data-box {
    padding: 15px 10px 10px;
  }

  #contents .about-area p {
    text-align: left;
  }

  /* エントリーフォーム */
  #entry .table-01 td {
    padding: 15px 15px 20px;
  }

  #entryform .table-01 th {
    display: block;
    padding: 20px 15px 0;
    width: 100%;
  }

  #entry #contents .table-01 th p {
    font-size: 16px;
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  #contents .apply-box .grid-box .photo-box img {
    max-width: 200px;
  }

  #contents .apply-box .grid-box {
    gap: 20px;
    padding: 30px 15px;
  }

  /* 福利厚生 */
  #contents .welfare-item img {
    height: 65px;
    width: 65px;
  }

  #welfare #contents .welfare-item.txt-4box, #welfare #contents .welfare-item.txt-4box:nth-child(3n) {
    margin-right: 0;
    padding: 25px 15px;
    width: 100%;
  }

  #contents .welfare-item {
    width: 100%;
  }

  #contents .welfare-item.txt-2box {
    margin-right: 0;
    width: 100%;
  }

  #contents .welfare-item.txt-2box.end .txt-box .txt-2box {
    margin-bottom: 10px;
  }

  #contents .welfare-item.txt-2box.end .txt-box .txt-2box.end {
    margin-bottom: 0;
  }

  /* 数字で見る */
  #contents .data-box .data-area {
    padding: 5px 3px 0;
  }

  #contents .data-box .data-area .contrast {
    margin-bottom: 15px;
  }

  #contents .aid-txt {
    font-size: 13px;
    margin-bottom: 5px;
  }

  #contents .data-box .img-box img {
    max-height: 70px;
  }

  #contents .data-box .counter {
    font-size: 17px;
  }

  #contents .data-box h4.ttl {
    font-size: 16px;
    line-height: 1.4em;
    padding-bottom: 10px;
  }

  #contents .data-box {
    width: calc((100% - 10px * 1) / 2);
  }

  #contents .data-contents.third .data-list .data-box:nth-child(n + 5), #contents .data-contents.third .data-list .data-box:nth-child(-n + 2) {
    width: 100%;
  }

  #contents .data-list.flex {
    gap: 10px;
  }

  #contents .data-contents h3 {
    align-items: flex-start;
    display: flex;
    font-size: 17px;
    line-height: 1.7em;
  }

  #contents .data-contents h3 .data-txt {
    font-size: 190%;
    margin-right: 15px;
  }

  #contents .data-box .counter .number {
    font-size: 190%;
  }

  /* エントリーフォーム */
  #entry .entry-area {
    padding: 20px 15px;
  }

  #entry #contents .entry-area p {
    text-align: left;
  }

  #entry #contents .entry-area p br {
    display: none;
  }

  #entry form .table-01 td {
    padding: 15px 5px 15px;
  }

  #entry form .table-01 th {
    padding: 15px 5px 0;
  }
}

@media screen and (max-width: 430px) {
  #contents .about-area p br {
    display: none;
  }
}

@media screen and (max-width: 414px) {
  #welfare #contents .sub-txt {
    text-align: left;
  }

  #welfare #contents .sub-txt br {
    display: none;
  }
}
