/*----------------------------------
common
-----------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Oswald&display=swap");
#workstyleContents {
  max-width: 1920px;
  margin: 0 auto;
  font-size: 15px;
  overflow: hidden;
  /*font*/
  /*animation*/
  /*layout*/
  width: 100%;
  min-width: 1240px;
}
#workstyleContents * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
#workstyleContents .fnt01 {
  font-family: 'Oswald', sans-serif;
}
#workstyleContents h2,
#workstyleContents h3 {
  font-feature-settings: "palt";
}
#workstyleContents .brs {
  display: none;
}
#workstyleContents .fadein {
  opacity: 0;
  transition: opacity 1s;
}
#workstyleContents .is-fadein {
  opacity: 1;
}
#workstyleContents img {
  max-width: 100%;
}

#workstyleContents.historyback .fadein {
  opacity: 1;
}

/*----------------------------------
workstyleMain
-----------------------------------*/
#workstyleContents .workstyleMain {
  position: relative;
  padding-top: 130px;
  padding-bottom: 140px;
}
#workstyleContents .workstyleMain::before {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  max-height: 483px;
  background: url("../images/img_top_item.jpg") right center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  z-index: -1;
}
#workstyleContents .workstyleMain .productLogo,
#workstyleContents .workstyleMain .inner {
  width: 1240px;
  margin: 0 auto;
}
#workstyleContents .workstyleMain .productLogo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
#workstyleContents .workstyleMain .productLogo a {
  display: block;
  width: 136px;
  height: 25px;
  margin-right: auto;
}
#workstyleContents .workstyleMain .inner .txtIn {
  width: 50%;
  margin-right: auto;
  padding-left: 20px;
}
#workstyleContents .workstyleMain .inner .txtIn h1 {
  text-align: center;
  font-family: 'Oswald', sans-serif;
  font-size: 4.800em;
  letter-spacing: 0.025em;
  padding-top: 0.65em;
  padding-bottom: 0.65em;
}
#workstyleContents .workstyleMain .inner .txtIn .logo {
  width: 141px;
  margin: 0 auto 30px;
}
#workstyleContents .workstyleMain .inner .txtIn p {
  text-align: center;
  font-size: 1.600em;
  letter-spacing: 0.025em;
  line-height: calc(48 / 24);
  font-weight: bold;
}

/*----------------------------------
workstyleConcept
-----------------------------------*/
#workstyleContents .workstyleConcept .bgArea {
  margin-bottom: 110px;
  min-height: 878px;
  position: relative;
}
#workstyleContents .workstyleConcept .bgArea::before {
  content: "";
  display: block;
  width: calc(50% + 545px);
  height: 100%;
  background: url("../images/img_concept_01.jpg") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#workstyleContents .workstyleConcept .bgArea .inner {
  width: 1120px;
  margin: 0 auto;
  padding-left: 110px;
  color: #fff;
}
#workstyleContents .workstyleConcept .bgArea .inner .title {
  padding-top: 140px;
  text-align: left;
}
#workstyleContents .workstyleConcept .bgArea .inner .title span,
#workstyleContents .workstyleConcept .bgArea .inner .title h2 {
  display: inline-block;
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleConcept .bgArea .inner .title span {
  margin-right: 20px;
  font-family: 'Oswald', sans-serif;
  font-size: 2.667em;
  line-height: 66px;
}
#workstyleContents .workstyleConcept .bgArea .inner .title h2 {
  margin-top: 12px;
  padding-left: 20px;
  font-size: 1.467em;
  font-weight: bold;
  line-height: 40px;
  position: relative;
}
#workstyleContents .workstyleConcept .bgArea .inner .title h2::before {
  content: "";
  display: block;
  width: 1px;
  height: 40px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
#workstyleContents .workstyleConcept .bgArea .inner .txt h3 {
  margin-bottom: 20px;
  font-size: 4em;
  font-weight: bold;
  line-height: calc(76/60);
}
#workstyleContents .workstyleConcept .bgArea .inner .txt p {
  font-size: 1.467em;
  font-weight: bold;
  line-height: calc(38/22);
}
#workstyleContents .workstyleConcept .btnArea {
  width: 820px;
  margin: 110px auto 0;
}
#workstyleContents .workstyleConcept .btnArea a {
  display: block;
  width: 700px;
  height: 160px;
  margin: 0 auto;
  background-color: #2c5f81;
  transition: .3s all;
  position: relative;
}
#workstyleContents .workstyleConcept .btnArea a::before {
  content: "";
  display: block;
  width: 150px;
  height: 104px;
  background: url("../images/btn_photo.png") center center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: -70px;
  margin-top: -52px;
}
#workstyleContents .workstyleConcept .btnArea a::after {
  content: "";
  display: block;
  width: 23px;
  height: 13px;
  background: url("../images/ico_arrow_01.svg") center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 28px;
  margin-top: -7px;
}
#workstyleContents .workstyleConcept .btnArea a:hover {
  background-color: #326c92;
  text-decoration: none;
  color: #fff;
}
#workstyleContents .workstyleConcept .btnArea a div {
  height: 100%;
  padding-left: 100px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#workstyleContents .workstyleConcept .btnArea a div p {
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleConcept .btnArea a div .txt01 {
  font-size: 1.200em;
}
#workstyleContents .workstyleConcept .btnArea a div .txt01 span {
  display: inline-block;
  margin-right: 0.5em;
  font-family: 'Oswald', sans-serif;
  font-size: 1.111em;
}
#workstyleContents .workstyleConcept .btnArea a div .txt02 {
  font-size: 1.733em;
  font-weight: bold;
}

/*----------------------------------
workstylePoints
-----------------------------------*/
#workstyleContents .workstylePoints {
  margin-top: -20px;
  overflow: hidden;
  /*common*/
  /*point01*/
  /*point03*/
  /* point02 04 */
}
#workstyleContents .workstylePoints .pointBox {
  position: relative;
  width: 100%;
  z-index: 1;
}
#workstyleContents .workstylePoints .pointBox .line {
  width: 100%;
  height: 3000px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#workstyleContents .workstylePoints .pointBox .line .line01,
#workstyleContents .workstylePoints .pointBox .line .line02 {
  display: block;
  width: 1px;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(60deg);
  transform-origin: right top;
}
#workstyleContents .workstylePoints .pointBox .line .line01 {
  z-index: 4;
  height: 0;
  background-color: #9caab6;
}
#workstyleContents .workstylePoints .pointBox .line .line02 {
  z-index: 3;
  height: 100%;
  background: #e7eaec;
}
#workstyleContents .workstylePoints .pointBox .inner {
  position: relative;
  z-index: 10;
}
#workstyleContents .workstylePoints .pointBox .inner .num {
  display: block;
  width: 1120px;
  margin: 0 auto;
  position: relative;
}
#workstyleContents .workstylePoints .pointBox .inner .num img {
  display: block;
  height: 218px;
  width: auto;
}
#workstyleContents .workstylePoints .pointBox .line.lineOn .line01 {
  animation-name: lineH;
  animation-fill-mode: both;
  animation-duration: 12s;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-delay: .3s;
  animation-direction: normal;
}
@keyframes lineH {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
#workstyleContents .workstylePoints .pointBox.scroll01 .img {
  opacity: 0;
}
#workstyleContents .workstylePoints .pointBox.scroll01 .img.imgFade {
  animation-name: imgFade;
  animation-fill-mode: both;
  animation-duration: 1.5s;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-delay: .5s;
  animation-direction: normal;
}
@keyframes imgFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#workstyleContents .workstylePoints .pointBox#point01 {
  padding-top: 110px;
  padding-bottom: 125px;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  height: 840px;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .num img {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 144px;
  margin-left: 376px;
  z-index: 1;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .img {
  width: calc(50% + 390px);
  position: absolute;
  top: 55px;
  right: 0;
  bottom: 0;
  z-index: 3;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .img figure {
  width: 620px;
  position: absolute;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .img .photo01 {
  top: 0;
  right: 0;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .img .photo02 {
  bottom: 0;
  left: 0;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .txt {
  width: 1120px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .txt .ico {
  display: block;
  width: 122px;
  margin-right: auto;
  margin-bottom: 15px;
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .txt h2 {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 3.667em;
  line-height: calc(72/55);
}
#workstyleContents .workstylePoints .pointBox#point01 .inner .txt p {
  font-weight: bold;
  font-size: 1.467em;
  line-height: calc(38/22);
}
#workstyleContents .workstylePoints .pointBox#point03 {
  padding-top: 240px;
  padding-bottom: 115px;
}
#workstyleContents .workstylePoints .pointBox#point03 .line {
  top: 40px;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .num img {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 10px;
  margin-top: -150px;
  z-index: 1;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .img {
  width: calc(50% + 460px);
  max-width: calc(100% - 130px);
  margin-left: auto;
  position: relative;
  z-index: 2;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .txt {
  width: calc(50% + 360px);
  max-width: calc(100% - 230px);
  margin-top: -10px;
  margin-left: auto;
  position: relative;
  z-index: 3;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .txt .ico {
  display: block;
  width: 122px;
  margin-right: auto;
  margin-bottom: 15px;
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .txt h2 {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 3.667em;
  line-height: calc(72/55);
}
#workstyleContents .workstylePoints .pointBox#point03 .inner .txt p {
  font-weight: bold;
  font-size: 1.467em;
  line-height: calc(38/22);
}
#workstyleContents .workstylePoints .pointBox#point02,
#workstyleContents .workstylePoints .pointBox#point04 {
  background-color: #2c5f81;
  padding-top: 200px;
  padding-bottom: 115px;
}
#workstyleContents .workstylePoints .pointBox#point02 .line,
#workstyleContents .workstylePoints .pointBox#point04 .line {
  top: 40px;
}
#workstyleContents .workstylePoints .pointBox#point02 .line .line01,
#workstyleContents .workstylePoints .pointBox#point02 .line .line02,
#workstyleContents .workstylePoints .pointBox#point04 .line .line01,
#workstyleContents .workstylePoints .pointBox#point04 .line .line02 {
  display: block;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-60deg);
  transform-origin: left top;
}
#workstyleContents .workstylePoints .pointBox#point02 .line .line01,
#workstyleContents .workstylePoints .pointBox#point04 .line .line01 {
  background-color: #93b2c8;
}
#workstyleContents .workstylePoints .pointBox#point02 .line .line02,
#workstyleContents .workstylePoints .pointBox#point04 .line .line02 {
  background-color: #396d8f;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner,
#workstyleContents .workstylePoints .pointBox#point04 .inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .num img,
#workstyleContents .workstylePoints .pointBox#point04 .inner .num img {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: -90px;
  z-index: 1;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .img,
#workstyleContents .workstylePoints .pointBox#point04 .inner .img {
  width: calc(50% + 460px);
  max-width: calc(100% - 130px);
  margin-right: auto;
  position: relative;
  z-index: 2;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .txt,
#workstyleContents .workstylePoints .pointBox#point04 .inner .txt {
  width: 1180px;
  margin: -10px auto 0;
  position: relative;
  z-index: 2;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .txt .ico,
#workstyleContents .workstylePoints .pointBox#point04 .inner .txt .ico {
  display: block;
  width: 122px;
  margin-right: auto;
  margin-bottom: 15px;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .txt h2,
#workstyleContents .workstylePoints .pointBox#point04 .inner .txt h2 {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 3.667em;
  line-height: calc(72/55);
  color: #fff;
}
#workstyleContents .workstylePoints .pointBox#point02 .inner .txt p,
#workstyleContents .workstylePoints .pointBox#point04 .inner .txt p {
  font-weight: bold;
  font-size: 1.467em;
  line-height: calc(38/22);
  color: #fff;
}

/*----------------------------------
workstyleLineup
-----------------------------------*/
#workstyleContents .workstyleLineup {
  width: 1240px;
  margin: 100px auto 130px;
}
#workstyleContents .workstyleLineup h2 {
  margin-bottom: 30px;
  text-align: center;
  font-family: 'Oswald', sans-serif;
  font-size: 4em;
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleLineup h2 + p {
  margin-bottom: 50px;
  text-align: center;
  font-size: 1.600em;
  line-height: calc(40 / 24);
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleLineup .inner {
  overflow: hidden;
}
#workstyleContents .workstyleLineup .inner .box01 {
  width: calc(50% - 40px);
  float: left;
}
#workstyleContents .workstyleLineup .inner .box02 {
  width: calc(50% - 40px);
  float: right;
}
#workstyleContents .workstyleLineup .inner .bgBox {
  padding-top: 500px;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 50px;
}
#workstyleContents .workstyleLineup .inner .bgBox figure {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#workstyleContents .workstyleLineup .inner .bgBox p {
  width: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.333em;
  line-height: calc(36/20);
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 340px;
}
#workstyleContents .workstyleLineup .inner .box01 .bgBox {
  background-image: url("../images/bg_lineup_01.jpg");
}
#workstyleContents .workstyleLineup .inner .box01 .bgBox p {
  padding-top: 15px;
}
#workstyleContents .workstyleLineup .inner .box02 .bgBox {
  background-image: url("../images/bg_lineup_02.jpg");
}
#workstyleContents .workstyleLineup .inner .tbBox {
  width: 100%;
  margin-bottom: 20px;
}
#workstyleContents .workstyleLineup .inner .tbBox table {
  width: 100%;
  border-left: #d4d4d4 1px solid;
  border-top: #d4d4d4 1px solid;
}
#workstyleContents .workstyleLineup .inner .tbBox table th, #workstyleContents .workstyleLineup .inner .tbBox table td {
  border-right: #d4d4d4 1px solid;
  border-bottom: #d4d4d4 1px solid;
  font-size: 1.133em;
  padding: 12px 10px;
  vertical-align: middle;
  text-align: center;
}
#workstyleContents .workstyleLineup .inner .tbBox table th {
  font-weight: normal;
  text-align: center;
}
#workstyleContents .workstyleLineup .inner .box01 .tbBox table th {
  background-color: #eff2f4;
}
#workstyleContents .workstyleLineup .inner .box02 .tbBox table th {
  background-color: #efe8e9;
}
#workstyleContents .workstyleLineup .inner + p {
  text-align: right;
}

/*----------------------------------
workstyleSeminar
-----------------------------------*/
#workstyleContents .workstyleSeminar {
  width: 1240px;
  margin: 100px auto 130px;
}
#workstyleContents .workstyleSeminar h2 {
  margin-bottom: 30px;
  text-align: center;
  font-family: 'Oswald', sans-serif;
  font-size: 4em;
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleSeminar h2 + p {
  margin-bottom: 50px;
  text-align: center;
  font-size: 1.600em;
  line-height: calc(40 / 24);
  letter-spacing: 0.025em;
}
#workstyleContents .workstyleSeminar .inner {
  overflow: hidden;
  margin-bottom: 50px;
}
#workstyleContents .workstyleSeminar .inner .img {
  width: 50%;
  float: left;
}
#workstyleContents .workstyleSeminar .inner .txt {
  width: calc(50% - 40px);
  float: right;
}
#workstyleContents .workstyleSeminar .inner .txt p {
  display: inline-block;
  margin: 0px 0 18px -10px;
  padding: 4px 24px 0px;
  background: #585858;
  font-weight: bold;
  font-size: 1.4em;
  color: #fff;
}
#workstyleContents .workstyleSeminar .inner .txt h3 {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 2.133em;
  line-height: calc(50/32);
  text-align: left;
}
#workstyleContents .workstyleSeminar .inner .txt ul li {
  font-size: 1.200em;
  line-height: calc(36/18);
}
#workstyleContents .workstyleSeminar .inner .txt ul li span {
  display: block;
  font-weight: bold;
}
#workstyleContents .workstyleSeminar .inner .txt ul li div#main {
  text-align: left;
}
#workstyleContents .workstyleSeminar .inner02 {
  margin-bottom: 50px;
  text-align: center;
}
#workstyleContents .workstyleSeminar .inner02 .inner02In {
  display: inline-block;
  text-align: left;
}
#workstyleContents .workstyleSeminar .inner02 p.txt01 {
  font-size: 1.200em;
  line-height: calc(36/18);
}
#workstyleContents .workstyleSeminar .inner02 p.trademark {
  margin-top: 10px;
  text-align: left;
}
#workstyleContents .workstyleSeminar .btn {
  width: 810px;
  margin: 0 auto;
}
#workstyleContents .workstyleSeminar .btn a {
  display: block;
  height: 80px;
  position: relative;
  border: #333 2px solid;
  font-weight: bold;
  font-size: 1.333em;
  text-align: center;
  line-height: 76px;
  color: #333;
  text-decoration: none;
  transition: 0.3s all;
}
#workstyleContents .workstyleSeminar .btn a::before, #workstyleContents .workstyleSeminar .btn a::after {
  content: "";
  display: block;
  width: 32px;
  height: 11px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: 0.3s all;
  position: absolute;
  right: 25px;
  top: 50%;
  margin-top: -6px;
}
#workstyleContents .workstyleSeminar .btn a::before {
  background-image: url("../images/ico_arrow_02.svg");
  opacity: 1;
}
#workstyleContents .workstyleSeminar .btn a::after {
  background-image: url("../images/ico_arrow_02_ov.svg");
  opacity: 0;
}
#workstyleContents .workstyleSeminar .btn a:hover {
  background-color: #333;
  color: #fff;
}
#workstyleContents .workstyleSeminar .btn a:hover::before {
  opacity: 0;
}
#workstyleContents .workstyleSeminar .btn a:hover::after {
  opacity: 1;
}

.listCaution > li {
  padding-left: 3.2em;
}

/*# sourceMappingURL=style.css.map */
