@charset "UTF-8";
/* ----------------------------------------------------------------
	recruit
---------------------------------------------------------------- */
#subtitle1 {
  width: 100%;
  padding-bottom: 4.03vw;
  margin-top: 5vw;
}
#subtitle1 .lead {
  font-weight: 400;
  letter-spacing: 1px;
  padding-bottom: 3.13vw;
}
#subtitle1 dl {
  display: table;
  border-collapse: collapse;
  width: 100%;
  min-height: 15.28vw;
  border: 3px solid #00a27a;
  background: #fff;
  margin-bottom: 1.39vw;
}
#subtitle1 dl dt {
  display: table-cell;
  width: 15.28vw;
  border-right: 3px solid #00a27a;
  vertical-align: middle;
  text-align: center;
}
#subtitle1 dl dt img {
  width: 10.28vw;
}
#subtitle1 dl dd {
  display: table-cell;
  width: 63.89vw;
  vertical-align: middle;
  padding: 3.47vw 3.47vw;
  font-weight: 400;
  letter-spacing: 1px;
}
#subtitle1 dl dd h4 {
  color: #00a27a;
  font-size: 1.67vw;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 1.8;
}
#subtitle2 {
  margin-top: 5vw;
}
#subtitle2 .title {
  text-align: center;
  font-size: 3.33vw;
  color: #00a27a;
}
#subtitle2 .lead02 {
  text-align: center;
  font-size: 1.25vw;
  line-height: 2;
  padding-bottom: 4.17vw;
}
#subtitle2 .gallery {
  width: 100%;
  overflow: hidden;
}
#subtitle2 .loop_wrap {
  display: flex;
  width: 100vw;
  height: 19.44vw;
  overflow: hidden;
  margin-bottom: 2.78vw;
}
#subtitle2 .loop_wrap img {
  width: auto;
  height: 100%;
}
@-webkit-keyframes loop_l {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes loop_l {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes loop_l2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
@keyframes loop_l2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
#subtitle2 .loop_wrap img:first-child {
  -webkit-animation: loop_l 120s -60s linear infinite;
  animation: loop_l 120s -60s linear infinite;
}
#subtitle2 .loop_wrap img:last-child {
  -webkit-animation: loop_l2 120s linear infinite;
  animation: loop_l2 120s linear infinite;
}
@-webkit-keyframes loop_r {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@keyframes loop_r {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@-webkit-keyframes loop_r2 {
  0% {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes loop_r2 {
  0% {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
#subtitle2 .loop_wrap.loopR img:first-child {
  -webkit-animation: loop_r 120s -60s linear infinite;
  animation: loop_r 120s -60s linear infinite;
}
#subtitle2 .loop_wrap.loopR img:last-child {
  -webkit-animation: loop_r2 120s linear infinite;
  animation: loop_r2 120s linear infinite;
}
#subtitle2 .loop_wrap:hover img, #subtitle2 .loop_wrap.loopR:hover img {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}
#subtitle3 {
  background: url("../images/recruit/ideal_b.png") right top / 50vw 43.96vw no-repeat;
  padding-bottom: 5vw;
}
#subtitle3 .lead {
  font-weight: 400;
  letter-spacing: 1px;
}
#subtitle3 ul {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
  width: 79.17vw;
	margin: 7.64vw auto 7.64vw;
  position: relative;
}
#subtitle3 ul::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -3.47vw;
  left: -3.47vw;
  z-index: -1;
  width: 93.06vw;
  height: 10.42vw;
  background: #00a27a;
}
@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
#subtitle3 ul li.fadeUp {
  opacity: 0;
  -webkit-animation: fadeUp 0.5s linear forwards;
  animation: fadeUp 0.5s linear forwards;
  animation-delay: 0.3s;
}
#subtitle3 ul li:nth-child(2).fadeUp {
  animation-delay: 0.9s;
}
#subtitle3 ul li:nth-child(3).fadeUp {
  animation-delay: 1.5s;
}
#subtitle3 ul li {
  position: relative;
  width: 25vw;
  min-height: 13.89vw;
  background: #fff;
  color: #000;
  font-size: 1.11vw;
  opacity: 0;
  padding: 2.78vw 0 0;
}
#subtitle3 ul li h4 {
  color: #00a27a;
  font-size: 1.39vw;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-align: center;
  line-height: 1.6;
  padding: 0 2.43vw 0;
  min-height: 7.33vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
#subtitle3 ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: -2.8vw;
  left: 50%;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 3.89vw;
  line-height: 1.2;
  color: #00a27a;
  margin: 0 0 0 -1.985vw;
}
#subtitle3 ul li:nth-child(1)::before {content: "01";}
#subtitle3 ul li:nth-child(2)::before {content: "02";}
#subtitle3 ul li:nth-child(3)::before {content: "03";}
#subtitle3 ul li::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  border-left: 2.78vw solid transparent;
  border-bottom: 2.78vw solid #ff6600;
  z-index: 1;
}
#subtitle3 ul li p {
  font-weight: 400;
  letter-spacing: 1px;
  padding: 0.43vw 2.43vw 2.43vw;
}
#subtitle4 {
  padding-bottom: 5vw;
}
#subtitle4 .lead {
  font-weight: 400;
  letter-spacing: 1px;
}
#subtitle4 .infomationTitle {
  margin: 4.44vw 0 0;
  color: #00a27a;
  font-size: 1.94vw;
}
#subtitle4 .infomation {
  position: relative;
  width: 79.17vw;
  margin: 1.44vw auto 6.94vw;
  border: 2px solid #00a27a;
  padding: 2.08vw 5.56vw;
  background: #fff;
}
#subtitle4 .infomation .table {
  display: table;
  border-collapse: collapse;
  width: 100%;
}
#subtitle4 .infomation .table dl {
  display: table-row;
}
#subtitle4 .infomation .table dl dt {
  display: table-cell;
  width: 14%;
  vertical-align: middle;
  color: #00a27a;
  font-size: 1.25vw;
  padding: 1.67vw 0;
  border-bottom: 1px solid #a8d8c9;
}
#subtitle4 .infomation .table dl dd {
  display: table-cell;
  width: 86%;
  vertical-align: middle;
  font-size: 0.97vw;
  font-weight: 400;
  letter-spacing: 1px;
  padding: 1.67vw 0;
  border-bottom: 1px solid #a8d8c9;
}
#subtitle4 .infomation .table dl dd span {
  display: inline-block;
  width: 4.17vw;
}
#subtitle4 .infomation .table dl dd a {
  color: #00a27a;
  text-decoration: underline;
}
#subtitle4 .infomation .table dl:last-child dt,
#subtitle4 .infomation .table dl:last-child dd {
  border: none;
}
#subtitle4 .flow .flowNotes {
  position: relative;
  display: table;
  border-collapse: collapse;
  border: 10px solid #00a27a;
  background: #00a27a;
  width: 100%;
  height: 8.33vw;
  margin-bottom: 3.28vw;
}
#subtitle4 .flow .flowNotes::after {
  content: "";
  display: block;
  position: absolute;
  left: 1.78vw;
  top: 8.63vw;
  width: 0;
  height: 0;
  border-left: 1.39vw solid transparent;
  border-right: 1.39vw solid transparent;
  border-top: 2.08vw solid #ff6600;
}
#subtitle4 .flow .flowNotes:last-child::after {
  display: none;
}
#subtitle4 .flow .flowNotes p {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  line-height: 1.86;
}
#subtitle4 .flow .flowNotes p:nth-child(1) {
  width: 6.94vw;
  text-align: center;
  background: #fff;
  color: #00a27a;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 1.67vw;
}
#subtitle4 .flow .flowNotes p:nth-child(2) {
  width: 16.67vw;
  font-size: 1.67vw;
  padding-left: 4.03vw;
  line-height: 1.46;
}
#subtitle4 .flow .flowNotes p:nth-child(3) {
  width: 30.72vw;
  font-weight: 400;
}
#subtitle4 .flow .flowNotes:nth-child(2) p:nth-child(3) {
  width: 40.72vw;
}
#subtitle4 .flow .flowNotes:nth-child(2) p:nth-child(4) {
  width: 10.67vw;
  padding-right: 2.78vw;
}
#subtitle4 .flow .flowNotes p:nth-child(4) {
  width: 20.67vw;
  padding-right: 2.78vw;
}
#subtitle4 .flow .flowNotes:nth-child(3) span {
  display: block;
  position: absolute;
  top: -2.28vw;
  left: 11.11vw;
  line-height: 1.86;
  font-weight: 400;
}
#subtitle5 .title {
  text-align: center;
  font-size: 3.33vw;
  color: #00a27a;
}
#subtitle5 .lead02 {
  text-align: center;
  font-size: 1.25vw;
  line-height: 2;
  padding-bottom: 4.17vw;
}
#subtitle5 ul.message {
  width: 100%;
  background: #fff;
  padding: 1.56vw 5.56vw 4.17vw;
}
#subtitle5 ul.message li.title {
  margin: 4.56vw 0 2.78vw 0;
  text-align: center;
}
#subtitle5 ul.message li.title p {
  display: inline-block;
  border-bottom: 4px solid #00a27a;
  font-size: 1.94vw;
  font-weight: 500;
  letter-spacing: 0.8px;
  color: #00a27a;
  line-height: 2;
}
#subtitle5 ul.message li {
  font-size: 1.11vw;
  font-weight: 400;
  letter-spacing: 1px;
}


/* Smartphone
----------------------------------------------- */
@media print,screen and (max-width: 767px) {
  #subtitle1 {
    width: 100%;
    padding-bottom: 20vw;
    margin-top: 0;
  }
  #subtitle1 .lead {
    padding-bottom: 8vw;
    font-size: 3.47vw;
    letter-spacing: 0;
  }
  #subtitle1 dl {
    display: block;
    height: auto;
    border: 2px solid #00a27a;
    margin-bottom: 5.33vw;
  }
  #subtitle1 dl dt {
    display: block;
    width: 100%;
    border-right: none;
    border-bottom: 2px solid #00a27a;
  }
  #subtitle1 dl dt img {
    width: 28.53vw;
  }
  #subtitle1 dl dd {
    display: block;
    width: 100%;
    padding: 5.33vw 6.67vw;
    font-size: 3.47vw;
    letter-spacing: 0;
  }
  #subtitle1 dl dd h4 {
    font-size: 4.27vw;
    letter-spacing: 0;
    text-align: center;
    padding-bottom: 2.13vw;
  }
  #subtitle2 {
    margin-top: 0;
  }
  #subtitle2 .title {
    font-size: 7.47vw;
  }
  #subtitle2 .lead02 {
    font-size: 3.47vw;
    padding-bottom: 8vw;
  }
  #subtitle2 .loop_wrap {
    height: 37.33vw;
    margin-bottom: 5.33vw;
  }
  #subtitle3 {
    background: url("../images/recruit/sp_ideal_b.png") right 65.33vw / 100% 90.8vw no-repeat;
    padding-bottom: 0;
  }
  #subtitle3 .lead {
    letter-spacing: 0;
  }
  #subtitle3 ul {
    width: 73.33vw;
    margin: 42vw auto 27.2vw;
  }
  #subtitle3 ul::after {
    top: 0;
    left: inherit;
    right: -13.33vw;
    width: 26.67vw;
    height: 103%;
  }
  #subtitle3 ul li:nth-child(2).fadeUp {
    animation-delay: 0s;
  }
  #subtitle3 ul li:nth-child(3).fadeUp {
    animation-delay: 0s;
  }
  #subtitle3 ul li {
    width: 100%;
    min-height: 32vw;
    font-size: 3.47vw;
    margin-top: 10.4vw;
    padding: 8.56vw 0 0;
  }
  #subtitle3 ul li h4 {
    color: #00a27a;
    font-size: 4.27vw;
    letter-spacing: 0;
    padding: 0;
    min-height: 16vw;
  }
  #subtitle3 ul li:first-child {
    margin-top: 6.93vw;
  }
  #subtitle3 ul li::before {
    top: -6.2vw;
    font-size: 10.67vw;
    margin: 0 0 0 -5.335vw;
  }
  #subtitle3 ul li::after {
    border-left: 8vw solid transparent;
    border-bottom: 8vw solid #ff6600;
  }
  #subtitle3 ul li p {
    letter-spacing: 0;
    padding: 2vw 6.67vw 9.33vw;
  }
  #subtitle4 {
    padding-bottom: 0;
  }
  #subtitle4 .lead {
    letter-spacing: 0;
  }
  #subtitle4 .infomationTitle {
    margin: 8.53vw 0 0;
    font-size: 5.33vw;
  }
  #subtitle4 .infomation {
    width: 100%;
    padding: 6.67vw 6.67vw;
  }
  #subtitle4 .infomation .table {
    display: block;
  }
  #subtitle4 .infomation .table dl {
    display: block;
  }
  #subtitle4 .infomation .table dl dt {
    display: block;
    width: 100%;
    font-size: 3.47vw;
    padding: 2.67vw 0 0;
    border-bottom: none;
  }
  #subtitle4 .infomation .table dl dd {
    display: block;
    width: 100%;
    font-size: 3.2vw;
    letter-spacing: 0;
    padding: 0 0 2.67vw;
    border-bottom: 1px solid #a8d8c9;
  }
  #subtitle4 .infomation .table dl dd span {
    display: inline-block;
    width: 16vw;
  }  
  #subtitle4 .infomation .table dl:last-child dt,
  #subtitle4 .infomation .table dl:last-child dd {
    border: none;
  }
  #subtitle4 .flow .flowNotes {
    display: block;
    border: 5px solid #00a27a;
    height: auto;
    margin-bottom: 9.07vw;
  }
  #subtitle4 .flow .flowNotes:last-child {
    margin-bottom: 20vw;
  }
  #subtitle4 .flow .flowNotes::before {
    content: "";
    display: block;
    position: absolute;
    left: 1.33vw;
    bottom: -7.97vw;
    border-left: 3vw solid transparent;
    border-right: 3vw solid transparent;
    border-top: 4.33vw solid #ff6600;
  }
  #subtitle4 .flow .flowNotes:last-child::before {
    display: none;
  }
  #subtitle4 .flow .flowNotes::after {
    content: "";
    display: block;
    clear: both;
    position: inherit;
    left: inherit;
    top: inherit;
    border-left: none;
    border-right: none;
    border-top: none;
  }
  #subtitle4 .flow .flowNotes:last-child::after {
    content: "";
    display: block;
    clear: both;
  }
  #subtitle4 .flow .flowNotes p {
    display: block;
  }
  #subtitle4 .flow .flowNotes p:nth-child(1) {
    width: 10.67vw;
    height: 40vw;
    font-size: 4.27vw;
    float: left;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #subtitle4 .flow .flowNotes:nth-child(2) p:nth-child(1) {
    height: 51vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(3) p:nth-child(1) {
    height: 28vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(4) p:nth-child(1),
  #subtitle4 .flow .flowNotes:nth-child(5) p:nth-child(1) {
    height: 22vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(6) p:nth-child(1) {
    height: 14.67vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(6) p:nth-child(3),
  #subtitle4 .flow .flowNotes:nth-child(2) p:nth-child(4),
  #subtitle4 .flow .flowNotes:nth-child(3) p:nth-child(4),
  #subtitle4 .flow .flowNotes:nth-child(4) p:nth-child(4),
  #subtitle4 .flow .flowNotes:nth-child(5) p:nth-child(4),
  #subtitle4 .flow .flowNotes:nth-child(6) p:nth-child(4) {
    display: none;
  }
  #subtitle4 .flow .flowNotes p:nth-child(2) {
    float: left;
    width: 60vw;
    font-size: 4.27vw;
    padding-left: 5.33vw;
    padding-top: 3vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(2) p:nth-child(3) {
    width: 60vw;
  }
  #subtitle4 .flow .flowNotes p:nth-child(3) {
    float: left;
    width: 60vw;
    padding-left: 5.33vw;
  }
  #subtitle4 .flow .flowNotes p:nth-child(4) {
    float: left;
    width: 60vw;
    padding-left: 5.33vw;
    padding-top: 3vw;
  }
  #subtitle4 .flow .flowNotes p:nth-child(4) img {
    width: 37.33vw;
  }
  #subtitle4 .flow .flowNotes:nth-child(3) span {
    top: -7.33vw;
    left: 14.11vw;
  }
  #subtitle5 .title {
    font-size: 7.47vw;
  }
  #subtitle5 .lead02 {
    font-size: 3.47vw;
    padding-bottom: 8vw;
  }
  #subtitle5 ul.message {
    width: 100%;
    padding: 6vw 6.67vw 6.67vw;
  }
  #subtitle5 ul.message li.title {
    margin-bottom: 8vw 0 5.33vw 0;
  }
  #subtitle5 ul.message li.title p {
    border-bottom: 2px solid #00a27a;
    font-size: 5.33vw;
    letter-spacing: 0;
    line-height: 1.6;
  }
  #subtitle5 ul.message li {
    font-size: 3.47vw;
    letter-spacing: 0;
  }
}/* Smartphone End */