@charset "UTF-8";
/*英字*/
/* -----------------------------------------------------
	business
----------------------------------------------------- */
#business h3 {
  font-family: 'Kanit',YuGothic,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;
  font-size: 7.6rem;
  font-weight: 300;
  margin-top: 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  #business h3::before {
    content: "";
    display: inline-block;
    margin-right: 30px; }
    @media screen and (max-width: 768px) {
      #business h3::before {
        margin-right: 3.125vw; } }
  @media screen and (max-width: 768px) {
    #business h3 {
      font-size: 9.375vw; } }
  #business h3 span {
    background: -webkit-linear-gradient(left, #007b7b, #00a9a9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
  #business h3#salesProm::before {
    background: url(../img/business/icon-salesProm.png) center/contain no-repeat;
    width: 64px;
    height: 70px; }
    @media screen and (max-width: 768px) {
      #business h3#salesProm::before {
        width: 7.42188vw;
        height: 7.94271vw; } }
  #business h3#outsourcing::before {
    background: url(../img/business/icon-outsourcing.png) center/contain no-repeat;
    width: 62px;
    height: 60px; }
    @media screen and (max-width: 768px) {
      #business h3#outsourcing::before {
        width: 8.07292vw;
        height: 7.8125vw; } }
  #business h3#staffing::before {
    background: url(../img/business/icon-staffing.png) center/contain no-repeat;
    width: 49px;
    height: 60px; }
    @media screen and (max-width: 768px) {
      #business h3#staffing::before {
        width: 7.29167vw;
        height: 8.98438vw; } }
  #business h3#publicworks::before {
    background: url(../img/business/icon-publicworks.png) center/contain no-repeat;
    width: 75px;
    height: 58px; }
    @media screen and (max-width: 768px) {
      #business h3#publicworks::before {
        width: 8.59375vw;
        height: 6.38021vw; } }
  @media screen and (max-width: 768px) {
    #business h3#foreignoperation {
      font-size: 8.46354vw; } }
  #business h3#foreignoperation::before {
    background: url(../img/business/icon-foreignoperation.png) center/contain no-repeat;
    width: 60px;
    height: 60px; }
    @media screen and (max-width: 768px) {
      #business h3#foreignoperation::before {
        width: 7.8125vw;
        height: 7.8125vw; } }
  #business h3 + p {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.2em;
    margin-bottom: 70px; }
    @media screen and (max-width: 768px) {
      #business h3 + p {
        font-size: 3.64583vw;
        margin-bottom: 10.41667vw; } }

#business .readWrap {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin: 90px auto 150px; }
  @media screen and (max-width: 768px) {
    #business .readWrap {
      font-size: 3.64583vw; } }
  #business .readWrap dt {
    font-size: 2.8rem;
    color: #009999;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    #business .readWrap {
      margin: 15.625vw auto 19.53125vw; }
      #business .readWrap dt {
        font-size: 4.6875vw;
        margin-bottom: 5.85938vw; } }

#business .readList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 60px; }
  @media screen and (max-width: 768px) {
    #business .readList {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      margin-top: 9.11458vw; } }
  @media screen and (min-width: 769px) {
    #business .readList li {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      border-left: 1px solid #e5e5e5;
      width: calc(100% / 5); }
      #business .readList li:first-of-type {
        border: none; } }
  @media screen and (max-width: 768px) {
    #business .readList li {
      width: 100%;
      border-bottom: 1px solid #e5e5e5; }
      #business .readList li:first-of-type {
        border-top: 1px solid #e5e5e5; } }
  #business .readList li:nth-of-type(1) .readList__link::before {
    background: url(../img/top/business_icon01.png) center/contain no-repeat; }
  #business .readList li:nth-of-type(1) .readList__link span {
    background-image: url(../img/top/businessList_ttl01.svg); }
  #business .readList li:nth-of-type(2) .readList__link::before {
    background: url(../img/top/business_icon02.png) center/contain no-repeat; }
  #business .readList li:nth-of-type(2) .readList__link span {
    background-image: url(../img/top/businessList_ttl02.svg); }
  #business .readList li:nth-of-type(3) .readList__link::before {
    background: url(../img/top/business_icon03.png) center/contain no-repeat; }
  #business .readList li:nth-of-type(3) .readList__link span {
    background-image: url(../img/top/businessList_ttl03.svg); }
  #business .readList li:nth-of-type(4) .readList__link::before {
    background: url(../img/top/business_icon04.png) center/contain no-repeat; }
  #business .readList li:nth-of-type(4) .readList__link span {
    background-image: url(../img/top/businessList_ttl04.svg); }
  #business .readList li:nth-of-type(5) .readList__link::before {
    background: url(../img/top/business_icon05.png) center/contain no-repeat; }
  #business .readList li:nth-of-type(5) .readList__link span {
    background-image: url(../img/top/businessList_ttl05.svg); }
  #business .readList__link {
    display: block;
    padding: 5px; }
    #business .readList__link span {
      display: inline-block;
      height: 14px;
      position: relative;
      text-indent: 100%;
      overflow: hidden;
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      margin: 15px auto 0; }
    #business .readList__link:before {
      content: "";
      display: block;
      width: 84px;
      height: 84px;
      margin: auto; }
    #business .readList__link::after {
      content: '';
      display: block;
      margin: auto;
      width: 8px;
      height: 8px;
      border-top: solid 2px #009999;
      border-right: solid 2px #009999;
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg);
      -webkit-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
      transition: all .3s ease-in-out; }
    @media screen and (min-width: 769px) {
      #business .readList__link:hover::after {
        -webkit-transform: translateY(5px) rotate(135deg);
        -ms-transform: translateY(5px) rotate(135deg);
        transform: translateY(5px) rotate(135deg); } }
    @media screen and (max-width: 768px) {
      #business .readList__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 3.90625vw; }
        #business .readList__link span {
          height: 3.77604vw;
          margin: auto;
          -webkit-box-flex: 2;
          -ms-flex-positive: 2;
          flex-grow: 2;
          background-position: left;
          margin-left: 4.55729vw; }
        #business .readList__link:before {
          width: 10.15625vw;
          height: 10.15625vw; }
        #business .readList__link::after {
          width: 1.30208vw;
          height: 1.30208vw; } }

#business .contents {
  margin: 100px auto; }
  @media screen and (max-width: 768px) {
    #business .contents {
      margin: 19.53125vw auto; } }
  #business .contents:nth-of-type(even) {
    background: #fff;
    padding-top: 40px;
    padding-bottom: 100px; }
    #business .contents:nth-of-type(even) .works {
      background-color: #f2f2f2; }
    @media screen and (max-width: 768px) {
      #business .contents:nth-of-type(even) {
        padding-top: 14.97396vw;
        padding-bottom: 19.53125vw; } }

#business .txtWrap {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2; }
  @media screen and (max-width: 768px) {
    #business .txtWrap {
      font-size: 3.64583vw; } }
  @media screen and (max-width: 768px) {
    #business .txtWrap {
      font-size: 3.90625vw; } }

#business .imgBox {
  margin: 50px auto; }
  @media screen and (max-width: 768px) {
    #business .imgBox {
      margin: 8.46354vw auto 9.11458vw; } }

#business .subTxt {
  line-height: 1.875; }

#business .accordionBox {
  margin: 60px auto 70px;
  text-align: center;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    #business .accordionBox {
      margin: 13.02083vw auto; } }
  #business .accordionBox .accBtn {
    background-color: #009999;
    padding: 16px 5% 15px;
    color: #fff;
    line-height: 1;
    letter-spacing: .2em;
    position: relative;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      #business .accordionBox .accBtn {
        font-size: 3.64583vw; } }
    #business .accordionBox .accBtn:before {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 25px;
      margin: auto;
      width: 16px;
      height: 2px;
      background-color: #fff;
      -webkit-transition: .2s;
      -o-transition: .2s;
      transition: .2s;
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
      -webkit-transform: rotate(90deg); }
    #business .accordionBox .accBtn:after {
      display: block;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 25px;
      margin: auto;
      width: 16px;
      height: 2px;
      background-color: #fff;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
    @media screen and (min-width: 769px) {
      #business .accordionBox .accBtn {
        -webkit-transition: all .3s ease-in-out;
        -o-transition: all .3s ease-in-out;
        transition: all .3s ease-in-out; }
        #business .accordionBox .accBtn:hover {
          background-color: #008383; }
        #business .accordionBox .accBtn:hover:not(.active) {
          -webkit-box-shadow: 3px 3px 7px rgba(79, 79, 88, 0.13);
          box-shadow: 3px 3px 7px rgba(79, 79, 88, 0.13); } }
    #business .accordionBox .accBtn.active::before {
      -ms-transform: rotate(0deg);
      transform: rotate(0deg);
      -webkit-transform: rotate(0deg); }
    #business .accordionBox .accBtn.active::after {
      background-color: transparent; }
  #business .accordionBox .accColumn {
    display: none; }
  #business .accordionBox .accList {
    padding: 10px 0; }
    @media screen and (max-width: 768px) {
      #business .accordionBox .accList {
        padding: 1.30208vw 0; } }
    #business .accordionBox .accList__item {
      background-color: #f2f2f2;
      margin: 20px 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      min-height: 140px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      #business .accordionBox .accList__item span:not(.pc) {
        font-size: 1.8rem;
        font-weight: 700;
        margin-bottom: 5px; }
        @media screen and (max-width: 768px) {
          #business .accordionBox .accList__item span:not(.pc) {
            font-size: 3.64583vw; } }
      @media screen and (min-width: 769px) {
        #business .accordionBox .accList__item span.pc {
          display: contents; } }
      @media screen and (max-width: 768px) {
        #business .accordionBox .accList__item {
          margin: 2.60417vw 3.25521vw;
          padding: 3.90625vw 4.55729vw 2.60417vw;
          font-size: 3.125vw; } }
    #business .accordionBox .accList .aside {
      font-size: 1.4rem;
      padding: 10px; }
      @media screen and (max-width: 768px) {
        #business .accordionBox .accList .aside {
          padding: 1.95313vw 4.55729vw 1.30208vw;
          font-size: 3.125vw; } }

#business .works {
  padding: 50px 40px 70px;
  background: #e5e5e5;
  margin-top: 70px; }
  @media screen and (max-width: 768px) {
    #business .works {
      padding: 6.51042vw 3.25521vw 13.02083vw;
      margin-top: 13.02083vw; } }
  #business .works h4 {
    color: #009999;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #business .works h4 {
        font-size: 3.90625vw;
        margin-bottom: 3.90625vw; } }
  #business .works .introWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      #business .works .introWrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    #business .works .introWrap__item {
      width: calc(100% / 4 - 1%);
      text-align: center;
      /*margin-left: 1.79%;
                &:first-of-type {
                    margin-left: 0;
                }*/ }
      @media screen and (max-width: 768px) {
        #business .works .introWrap__item {
          width: 100%;
          margin-bottom: 11.71875vw; }
          #business .works .introWrap__item:last-of-type {
            margin-bottom: 0; } }
      #business .works .introWrap__item .introTttl {
        margin: 20px auto 24px; }
        @media screen and (max-width: 768px) {
          #business .works .introWrap__item .introTttl {
            margin: 5.20833vw auto 6.51042vw; } }
        #business .works .introWrap__item .introTttl span {
          font-size: 1.8rem;
          font-weight: 700;
          display: block; }
          @media screen and (max-width: 768px) {
            #business .works .introWrap__item .introTttl span {
              font-size: 3.64583vw; } }
      #business .works .introWrap__item .introImg img {
        width: 100%; }
      #business .works .introWrap__item .btn {
        margin: auto;
        cursor: pointer; }
  #business .works > .btn {
    margin: auto;
    cursor: pointer; }
  #business .works .clients {
    text-align: center;
    padding: 40px 2%;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
    margin-top: 60px; }
    #business .works .clients dt {
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        #business .works .clients dt {
          font-size: 3.64583vw; } }
    @media screen and (max-width: 768px) {
      #business .works .clients {
        font-size: 3.125vw;
        padding: 6.51042vw 2%;
        margin-top: 13.02083vw; }
        #business .works .clients dt {
          font-size: 3.90625vw; } }

#business #margin_rate {
  margin-top: 100px; }
  @media screen and (max-width: 768px) {
    #business #margin_rate {
      margin-top: 14.32292vw; } }
  #business #margin_rate h4 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      #business #margin_rate h4 {
        font-size: 3.64583vw; } }
    @media screen and (max-width: 768px) {
      #business #margin_rate h4 {
        margin-bottom: 6.51042vw; } }
  #business #margin_rate .pdfLink {
    margin: 40px auto 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #business #margin_rate .pdfLink::before {
      content: "";
      display: inline-block;
      width: 22px;
      height: 25px;
      background: url(../img/business/icon-pdf.svg) center/100% no-repeat;
      margin-right: 15px; }
    @media screen and (max-width: 768px) {
      #business #margin_rate .pdfLink {
        margin: 7.29167vw auto 9.11458vw; } }
  #business #margin_rate a {
    color: #009999;
    font-weight: 700;
    text-decoration: underline; }
    @media screen and (min-width: 769px) {
      #business #margin_rate a:hover {
        text-decoration: none; } }
  #business #margin_rate dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #c9c9c9;
    padding: 38px 50px; }
    #business #margin_rate dl dt {
      min-width: 158px;
      margin-right: 60px; }
    @media screen and (max-width: 768px) {
      #business #margin_rate dl {
        padding: 7.8125vw 4.55729vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; }
        #business #margin_rate dl dt {
          margin-right: 0;
          margin-bottom: 7.8125vw; } }

@media screen and (min-width: 769px) {
  #business #modal .modalWrap {
    width: 50%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-height: 70%; } }

@media screen and (max-width: 768px) {
  #business #modal .modalWrap {
    width: 82%;
    height: 46.18%; } }

#business #modal .modalWrap .modalCont {
  overflow: initial; }
  #business #modal .modalWrap .modalCont > div {
    padding: 0 15px;
    text-align: center;
    max-width: 950px;
    margin: auto; }
    @media screen and (max-width: 768px) {
      #business #modal .modalWrap .modalCont > div {
        padding: 0 0;
        max-width: 100%; } }
  #business #modal .modalWrap .modalCont .slick-slide img {
    margin: auto; }

#business #modal .modalTtl {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    #business #modal .modalTtl {
      font-size: 3.64583vw; } }
  #business #modal .modalTtl span {
    display: block;
    color: #009999;
    font-size: 2.8rem;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    #business #modal .modalTtl {
      margin-bottom: 5.20833vw; }
      #business #modal .modalTtl span {
        font-size: 4.42708vw;
        margin-bottom: 3.90625vw; } }

#business #modal .slick-arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #009999;
  width: 65px;
  height: 65px;
  background-color: #f1f1f1;
  overflow: hidden;
  border-radius: 50vw;
  -webkit-box-shadow: 3px 3px 5px rgba(79, 79, 88, 0.13), -3px -3px 5px #fff;
  box-shadow: 3px 3px 5px rgba(79, 79, 88, 0.13), -3px -3px 5px #fff;
  z-index: 120; }
  @media screen and (max-width: 768px) {
    #business #modal .slick-arrow {
      width: 10.67708vw;
      height: 10.67708vw; } }
  #business #modal .slick-arrow::before {
    content: "";
    width: 11px;
    height: 11px;
    border-top: solid 2px #009999;
    border-right: solid 2px #009999; }
    @media screen and (max-width: 768px) {
      #business #modal .slick-arrow::before {
        width: 1.69271vw;
        height: 1.69271vw; } }

#business #modal .slick-prev::before {
  -webkit-transform: translateX(3px) rotate(225deg);
  -ms-transform: translateX(3px) rotate(225deg);
  transform: translateX(3px) rotate(225deg); }

#business #modal .slick-next::before {
  -webkit-transform: translateX(-3px) rotate(45deg);
  -ms-transform: translateX(-3px) rotate(45deg);
  transform: translateX(-3px) rotate(45deg); }

#business #modal .slick-dots {
  bottom: -40px; }
  @media screen and (max-width: 768px) {
    #business #modal .slick-dots {
      bottom: -20%;
      -webkit-transform: translatey(50%);
      -ms-transform: translatey(50%);
      transform: translatey(50%); } }
  #business #modal .slick-dots li.slick-active button {
    background-color: #009999;
    border: none; }
