/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/
@charset "utf-8";
body {
  margin: 0;
}
/* --------------------------------------------------
	ステージ共通
-------------------------------------------------- */
/* サブページのステージ */
#zone_substage {
  margin: 0px auto;
  width: 100vw;
  padding: 50px 0 0;
  margin-bottom: 55px;
  height: calc(997/1920*100vw);
  background-image: url("../image/sample1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#zone_substage > div {
  padding: 2em;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
/*ページ見出し*/
#zone_substage h1 {
  font-size: clamp(75px, calc(127/1920*100vw), 127px);
  height: auto;
  display: block;
  padding: 0;
  line-height: 1.5;
  font-weight: normal;
  margin: 0;
}
#zone_substage p {
  font-size: clamp(20px, calc(31/1920*100vw), 31px);
}
@media screen and (max-width : 960px) {
  #zone_substage {
    background-position: center;
  }
}
@media screen and (max-width : 768px) {
  #zone_substage {
    padding: 25px 0 0 0;
    width: 100%;
    margin-bottom: 0;
  }
  /*ページ見出し*/
  #zone_substage h1 {
    font-size: 2em;
  }
  #zone_substage p {
    font-size: .8em;
  }
  #zone_substage div {
    background-size: 50% !important;
    padding: 0 2em;
  }
}
@media screen and (max-width : 960px) {
  #zone_substage {
    height: 100vh;
  }
}
@media screen and (max-width : 500px) {
  #zone_substage {
    height: 60vh;
    text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.65);
  }
}
/* 基本　*/
#zone_middle_floor {
  margin: 0 auto;
  padding: 0;
}
/* --------------------------------------------------
	本文領域
-------------------------------------------------- */
/*  本文領域 */
.col_textarea_full {
  padding: 0;
  margin: 0 auto;
  width: 100%;
}
.col_textarea_full::after {
  content: "";
  clear: both;
  display: block;
}
@media (max-width : 1614px) {
  .col_textarea_full {
    margin-bottom: 20px;
  }
}
/*-------------------------------------------------- */
section h2 {
  font-size: clamp(24px, calc(80/1920*100vw), 80px);
  font-weight: 400;
  margin-left: 2em;
}
@media screen and (max-width : 768px) {
  section h2 {
    margin-left: .5em;
  }
}
.color {
  color: #D80A30;
}
.circle-list {
  max-width: 1027px;
  list-style: none;
  padding-left: 0;
  margin: 0 auto;
}
#job_section03 .circle-list {
  max-width: 1300px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.circle-list li {
  margin-bottom: 2.5%;
}
.circle-list li > *:first-child {
  position: relative;
  padding-left: 1.5em;
}
.circle-list li > *:first-child::before {
  content: '●';
  width: 32px;
  height: 20px;
  font-size: 0.7em;
  line-height: 1;
  color: #D80A30;
  display: block;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.page-nav {
  width: 95%;
  max-width: 900px;
  margin: 30px auto 50px;
  list-style: none;
  padding-left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}
.page-nav li {
  margin: 0 0.2em 0.5em;
}
.page-nav a {
  font-size: clamp(16px, calc(33/1920*100vw), 33px);
  font-weight: 500;
  color: #000;
  padding-bottom: 0.4em;
  text-decoration: none;
  border-bottom: solid 1px #000;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.page-nav a:hover {
  color: #D80A30;
  border-bottom: solid 1px #D80A30;
}
#job_section01 {
  max-width: 1706px;
  margin: 0 auto;
  padding: 0 25px 5%;
}
#job_section01 .check-list {
  max-width: 1070px;
  list-style: none;
  padding-left: 0;
  margin: 0 auto;
}
#job_section01 .check-list li {
  font-size: clamp(14px, calc(27/1920*100vw), 27px);
  padding-left: max(2em, 40px);
  margin-bottom: 1.5em;
  position: relative;
}
#job_section01 .check-list li::before {
  content: '';
  width: 32px;
  height: 20px;
  background-image: url("../image/check.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
}
#job_section01 h3 {
  max-width: 1564px;
  font-size: clamp(20px, calc(40/1920*100vw), 40px);
  font-weight: 500;
  text-align: center;
  margin: 100px auto 25px;
  padding-top: 100px;
  border-top: solid 1px #000;
  position: relative;
}
#job_section01 h3::before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 65px solid transparent;
  border-left: 65px solid transparent;
  border-top: 45px solid #000000;
  border-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
#job_section01 h3::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 65px solid transparent;
  border-left: 65px solid transparent;
  border-top: 45px solid #fff;
  border-bottom: 0;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  margin: auto;
}
#job_section01 h3 span {
  font-size: 1.2em;
  color: #D80A30;
  font-weight: 100;
}
#job_section01 .circle-list li {
  font-size: clamp(21px, calc(38/1920*100vw), 38px);
  font-weight: 500;
}
@media screen and (max-width : 768px) {
  #job_section01 h3 {
    margin: 60px auto 25px;
    padding-top: 60px;
  }
  #job_section01 h3::before {
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 25px solid #000000;
  }
  #job_section01 h3::after {
    border-right: 35px solid transparent;
    border-left: 35px solid transparent;
    border-top: 25px solid #fff;
  }
  #job_section01 img {
    width: 100%;
  }
  #job_section01 .flexbox {
    margin: 0;
  }
}
@media screen and (max-width : 500px) {
  #job_section01 .circle-list li {
    font-size: 1.1em;
  }
}
#job_section02 {
  max-width: 1706px;
  padding: 4% 30px 4% 0;
  margin: 0 auto;
}
#job_section02 .left {
  width: 47%;
}
#job_section02 .right {
  width: 50%;
}
#job_section02 h2 {
  margin-top: 0;
  margin-left: 2em;
}
#job_section02 img {
  display: block;
}
#job_section02 .img01 {
  width: 80%;
}
#job_section02 .img02 {
  width: 45%;
  margin: 5% 0 0 auto;
  position: relative;
}
#job_section02 .img03 {
  width: 70%;
  margin: -7% 0 0 7px;
}
#job_section02 .circle-list {
  margin: 70px 0 0;
  padding: 10px 0;
  list-style: none;
  padding-left: 0;
  position: relative;
}
#job_section02 .circle-list li {
  padding: 0.75em 0;
  border-top: solid 1px #000;
  text-align: left;
}
#job_section02 .circle-list li:last-child {
  border-bottom: solid 1px #000;
}
#job_section02 .circle-list h3 {
  font-size: clamp(18px, calc(33/1920*100vw), 33px);
}
#job_section02 .circle-list p {
  font-size: clamp(16px, calc(23/1920*100vw), 23px);
  padding-left: 2.25em;
}
#job_section02 h4 {
  font-size: clamp(18px, calc(33/1920*100vw), 33px);
  margin: 0 0 0.5em;
  text-align: left;
}
#job_section02 .sub-list {
  list-style: none;
  border-left: solid #D80A30 4px;
}
#job_section02 .sub-list li * {
  font-size: clamp(16px, calc(23/1920*100vw), 23px);
  margin: 0;
  text-align: left;
  padding-left: 1em;
}
#job_section02 .sub-list p {
  margin: 0.2em 0 0.5em 1em;
}
@media screen and (max-width : 768px) {
  #job_section02 h2 {
    margin-left: .5em;
  }
  #job_section02 {
    padding: 40px 20px 30px;
  }
  #job_section02 img {
    width: 100%;
  }
  #job_section02 .left, #job_section02 .right {
    width: 100%;
  }
}
#job_section03 {
  max-width: 1706px;
  margin: 0 auto;
  padding: 4% 20px;
}
#job_section03 h2 {
  margin-bottom: 0;
  padding: 0;
}
#job_section03 img {
  width: 100%;
}
#job_section03 h3 {
  width: max(13%, 120px);
  font-size: clamp(32px, calc(52/1920*100vw), 52px);
  position: relative;
}
#job_section03 h3 .big {
  background: #fff;
  font-size: clamp(55px, calc(111/1920*100vw), 111px);
}
#job_section03 .flexbox h3::after {
  content: '';
  width: 1px;
  height: calc(100% - 6.5em);
  background-color: #000;
  display: block;
  position: absolute;
  bottom: 7%;
  left: 25%;
}
#job_section03 .wrap {
  width: 80%;
}
#job_section03 .circle-list {
  /*  margin: 10% 0 0;*/
}
#job_section03 h4 {
  font-size: clamp(20px, calc(38/1920*100vw), 38px);
  margin: 1em 0 0;
}
#job_section03 p, #job_section03 h5 {
  font-size: clamp(14px, calc(27/1920*100vw), 27px);
}
#job_section03 p {
  line-height: 2;
  margin: 0.25em 0 1em 2em;
}
#job_section03 .txt-box {
  background-color: #f2f2f2;
  border-radius: 20px;
  padding: 2em 3em;
  margin: 4em 0 6em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#job_section03 h5 {
  padding-left: 1.5em;
  margin: 0;
  position: relative;
}
#job_section03 h5::before {
  content: '⬛︎';
  width: 32px;
  height: 20px;
  line-height: 1;
  color: #a6b0c7;
  display: block;
  position: absolute;
  top: 0.15em;
  left: 0;
}
#job_section03 .txt-box p {
  margin-bottom: 0;
}
@media screen and (max-width : 768px) {
  #job_section03 h2 {
    padding: 0 0.5em;
  }
  #job_section03 h3 {
    width: auto;
    font-size: 1.5em;
  }
  #job_section03 h3 .big {
    font-size: 2em;
  }
  #job_section03 .flexbox:not(:last-child) h3::after {
    display: none;
  }
  #job_section03 .wrap {
    width: 100%;
    padding-left: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #job_section03 .txt-box {
    padding: 1.5em;
    margin: 2em 0 3em;
  }
}
#job_section04 {
  padding-bottom: 100px;
  position: relative;
}
#job_section04 > img {
  width: 83%;
}
#job_section04 h2 {
  color: #fff;
  position: absolute;
  left: 0;
  max-width: 1706px;
  top: 25px;
}
#job_section04 .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2em;
  margin: 0 0 0 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
#job_section04 .box h3 {
  font-size: clamp(21px, calc(38/1920*100vw), 38px);
  line-height: 1.8;
}
#job_section04 a {
  display: block;
  max-width: 1200px;
  margin: -6em 0 0 auto;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
  padding: 0;
  background-color: #fff;
  border: solid 1px #000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 80%;
  position: relative;
}
#job_section04 a:hover {
  background: #E9E9E9;
}
#job_section04 .box span {
  font-size: clamp(25px, calc(47/1920*100vw), 47px);
  font-weight: bold;
  color: #d80a30;
  display: block;
}
#job_section04 .ciecle_icon img {
  border-radius: 100%;
  max-width: 500px;
  -o-object-fit: contain;
  object-fit: contain;
  margin-top: -100px;
}
@media screen and (min-width : 1920px) {
  #job_section04 h2 {
    left: 10%;
  }
}
@media screen and (max-width : 1400px) {
  #job_section04 .ciecle_icon img {
    max-width: 400px
  }
}
@media screen and (max-width :960px) {
  #job_section04 .ciecle_icon img {
    max-width: 300px
  }
  #job_section04 a {
    width: 90%;
  }
}
@media screen and (max-width : 768px) {
  #job_section04 > img {
    width: 89%;
  }
  #job_section04 .ciecle_icon img {
    max-width: 250px;
    position: static;
  }
  #job_section04 h2 {
    left: 7%;
  }
  #job_section04 a {
    margin: 0 auto;
    padding: 2em 0;
  }
  #job_section04 .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin: 0 auto;
  }
  #job_section04 .box::after {
    width: min(40vw, 230px);
    height: min(40vw, 230px);
  }
  #job_section04 .box h3 {
    font-size: 1em;
  }
  #job_section04 .box a {
    font-size: 1.1em;
  }
}
#job_section05 {
  padding: 4% 20px;
}
#job_section05 h2 {
  text-align: center;
  margin-left: 0;
}
#job_section05 ul {
  max-width: 1712px;
  margin: 0 auto;
  list-style: none;
  padding-left: 0;
}
#job_section05 ul li {}
#job_section05 ul li img {
  height: 100%;
  width: 100%;
}
#job_section05 ul li h3 {
  font-size: clamp(15px, calc(27/1920*100vw), 27px);
  margin: 0.75em 0.5em;
  position: relative;
}
#job_section05 ul li h3 span {
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
  background: rgba(154, 152, 171, .5);
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#job_section05 ul li a {
  font-size: clamp(14px, calc(23/1920*100vw), 23px);
  font-weight: bold;
  text-decoration: none;
  color: #000 !important;
  text-align: center;
  display: block;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
#job_section05 ul li a:hover {
  opacity: .8;
}
@media screen and (max-width : 768px) {
  #job_section05 {
    padding: 12% 20px;
  }
  #job_section05 h2 {
    font-size: 1.5em;
    margin-bottom: 40px;
  }
  #job_section05 ul {
    max-width: 550px;
  }
  #job_section05 ul li {
    width: 100%;
    margin-bottom: 15%;
  }
  #job_section05 ul li p {
    border-top: solid 70px #003692;
  }
}
.l_step_title {
  font-size: clamp(1.563rem, 1.222rem + 1.7vw, 2.5rem);
  margin: 5% 0 0;
  padding: 0;
}
@media screen and (max-width :500px) {
  .l_step_title {
    font-size: 1.3em;
    margin: 5% 0 0;
    padding: 0;
    line-height: 1.4;
  }
}