/* CSS Document */
#topslide {
  margin-bottom: 8rem;
  position: relative; }
  @media screen and (max-width: 1199px) {
    #topslide {
      margin-bottom: 6rem; } }
  @media screen and (max-width: 991px) {
    #topslide {
      margin-bottom: 4rem; } }
  @media screen and (max-width: 767px) {
    #topslide {
      margin-bottom: 5rem; } }
  @media screen and (max-width: 575px) {
    #topslide {
      margin-bottom: 3rem; } }
  #topslide .topslide-box {
    position: relative; }
    #topslide .topslide-box .catchcopy {
      position: absolute;
      font-size: 60px;
      font-size: 6rem;
      font-weight: 800;
      z-index: 50;
      color: #fff;
      text-shadow: 0px 0px 12px #159831;
      -webkit-filter: drop-shadow(0px 0px 2px #22923b);
      filter: drop-shadow(0px 0px 2px #22923b);
      text-align: center;
      right: 0;
      left: 0;
      top: 50%;
      bottom: 50%; }
      @media screen and (max-width: 1199px) {
        #topslide .topslide-box .catchcopy {
          font-size: 50px;
          font-size: 5rem;
          line-height: 1rem; } }
      @media screen and (max-width: 991px) {
        #topslide .topslide-box .catchcopy {
          font-size: 40px;
          font-size: 4rem;
          line-height: 0.6rem; } }
      @media screen and (max-width: 575px) {
        #topslide .topslide-box .catchcopy {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          font-size: 27px;
          font-size: 2.7rem;
          line-height: 4rem; } }
      #topslide .topslide-box .catchcopy span {
        display: block;
        font-size: 25px;
        font-size: 2.5rem;
        margin-top: 4rem; }
        @media screen and (max-width: 1199px) {
          #topslide .topslide-box .catchcopy span {
            font-size: 20px;
            font-size: 2rem; } }
        @media screen and (max-width: 991px) {
          #topslide .topslide-box .catchcopy span {
            font-size: 18px;
            font-size: 1.8rem; } }
        @media screen and (max-width: 767px) {
          #topslide .topslide-box .catchcopy span {
            line-height: 3rem;
            margin-top: 2.5rem; } }
        @media screen and (max-width: 575px) {
          #topslide .topslide-box .catchcopy span {
            font-size: 18px;
            font-size: 1.8rem;
            margin-top: 0rem;
            line-height: 2.5rem; } }
    #topslide .topslide-box .swiper-box1 {
      position: relative;
      display: flex;
      align-items: center; }
      #topslide .topslide-box .swiper-box1 .deco1 {
        position: absolute;
        width: 490px; }
        @media screen and (max-width: 991px) {
          #topslide .topslide-box .swiper-box1 .deco1 {
            width: 390px; } }
        @media screen and (max-width: 575px) {
          #topslide .topslide-box .swiper-box1 .deco1 {
            width: 300px; } }
    #topslide .topslide-box .swiper-img {
      width: 90%;
      height: 815px;
      background-position: center; }
      @media screen and (max-width: 1199px) {
        #topslide .topslide-box .swiper-img {
          height: 600px; } }
      @media screen and (max-width: 991px) {
        #topslide .topslide-box .swiper-img {
          height: 450px; } }
      @media screen and (max-width: 767px) {
        #topslide .topslide-box .swiper-img {
          width: 100%; } }
      @media screen and (max-width: 575px) {
        #topslide .topslide-box .swiper-img {
          height: 305px; } }
    #topslide .topslide-box .img1 {
      background-image: url("../img/top-img01.jpg");
      background-size: cover; }
    #topslide .topslide-box .img2 {
      background-image: url("../img/top-slide-02.jpg");
      background-size: cover; }
    #topslide .topslide-box .img3 {
      background-image: url("../img/top-slide-03.jpg");
      background-size: cover; }
  #topslide .top-bg {
    position: absolute;
    background-color: #efefef;
    height: 1200px;
    width: 92%;
    top: 0;
    right: 0; }
    @media screen and (max-width: 1199px) {
      #topslide .top-bg {
        height: 930px; } }
    @media screen and (max-width: 991px) {
      #topslide .top-bg {
        height: 715px; } }
    @media screen and (max-width: 767px) {
      #topslide .top-bg {
        height: 800px; } }
    @media screen and (max-width: 575px) {
      #topslide .top-bg {
        height: 650px; } }

#policy {
  margin-bottom: 9rem; }
  @media screen and (max-width: 1199px) {
    #policy {
      margin-bottom: 6rem; } }
  @media screen and (max-width: 991px) {
    #policy {
      margin-bottom: 9rem; } }
  @media screen and (max-width: 767px) {
    #policy {
      margin-bottom: 3rem; } }
  #policy .policy-img {
    text-align: right; }
    @media screen and (max-width: 767px) {
      #policy .policy-img {
        padding-right: 5rem; } }
    @media screen and (max-width: 575px) {
      #policy .policy-img {
        margin-top: 1rem; } }
    @media screen and (max-width: 767px) {
      #policy .policy-img img {
        width: 45%; } }
  #policy .policy-text {
    color: #22923b; }
    @media screen and (max-width: 767px) {
      #policy .policy-text {
        display: flex;
        justify-content: flex-end; } }
    @media screen and (max-width: 767px) {
      #policy .policy-text dl {
        width: 90%;
        margin-bottom: 0; } }
    #policy .policy-text dl dt {
      font-size: 45px;
      font-size: 4.5rem;
      font-weight: 800;
      line-height: 6.5rem;
      letter-spacing: 0.3rem;
      margin-bottom: 2rem; }
      @media screen and (max-width: 1199px) {
        #policy .policy-text dl dt {
          font-size: 35px;
          font-size: 3.5rem;
          line-height: 5rem; } }
      @media screen and (max-width: 991px) {
        #policy .policy-text dl dt {
          font-size: 32px;
          font-size: 3.2rem; } }
      @media screen and (max-width: 575px) {
        #policy .policy-text dl dt {
          font-size: 23px;
          font-size: 2.3rem;
          line-height: 3.2rem;
          margin-bottom: 1rem;
          text-align: right; } }
    #policy .policy-text dl dd {
      line-height: 3.2rem; }
      @media screen and (max-width: 575px) {
        #policy .policy-text dl dd {
          line-height: 3rem; } }

#company {
  margin-bottom: 12rem;
  position: relative; }
  @media screen and (max-width: 991px) {
    #company {
      margin-bottom: 10rem; } }
  @media screen and (max-width: 575px) {
    #company {
      margin-bottom: 7rem; } }
  #company .company-text {
    text-align: center; }
    #company .company-text img {
      width: 578px; }
      @media screen and (max-width: 1199px) {
        #company .company-text img {
          width: 530px; } }
      @media screen and (max-width: 991px) {
        #company .company-text img {
          width: 400px; } }
      @media screen and (max-width: 767px) {
        #company .company-text img {
          width: 340px; } }
      @media screen and (max-width: 575px) {
        #company .company-text img {
          width: 300px; } }
    #company .company-text p {
      color: #22923b;
      margin-top: 7rem;
      font-weight: 600;
      line-height: 3.5rem;
      margin-bottom: 7.5rem; }
      @media screen and (max-width: 1199px) {
        #company .company-text p {
          margin-top: 5rem;
          margin-bottom: 5.5rem; } }
      @media screen and (max-width: 767px) {
        #company .company-text p {
          margin-top: 3rem;
          margin-bottom: 3.5rem; } }
      @media screen and (max-width: 575px) {
        #company .company-text p {
          line-height: 2.8rem;
          text-align: left;
          margin-left: 1rem; } }
  #company .company-box01, #company .company-box02, #company .company-box03 {
    display: flex;
    height: 325px;
    position: relative;
    width: 100%;
    margin-bottom: 1rem; }
    @media screen and (max-width: 1199px) {
      #company .company-box01, #company .company-box02, #company .company-box03 {
        height: 265px; } }
    @media screen and (max-width: 991px) {
      #company .company-box01, #company .company-box02, #company .company-box03 {
        height: 205px; } }
    @media screen and (max-width: 767px) {
      #company .company-box01, #company .company-box02, #company .company-box03 {
        height: 165px; } }
    @media screen and (max-width: 575px) {
      #company .company-box01, #company .company-box02, #company .company-box03 {
        height: 120px; } }
    #company .company-box01 a, #company .company-box02 a, #company .company-box03 a {
      display: flex; }
      #company .company-box01 a .company-box-img, #company .company-box02 a .company-box-img, #company .company-box03 a .company-box-img {
        display: inline-block;
        overflow: hidden; }
        #company .company-box01 a .company-box-img img, #company .company-box02 a .company-box-img img, #company .company-box03 a .company-box-img img {
          height: 100%;
          width: 100%;
          object-fit: cover; }
      #company .company-box01 a .company-button, #company .company-box02 a .company-button, #company .company-box03 a .company-button {
        position: relative;
        background-color: #22923b;
        display: inline-block;
        height: 100%;
        width: 30vw;
        padding-left: 5rem;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center; }
        @media screen and (max-width: 991px) {
          #company .company-box01 a .company-button, #company .company-box02 a .company-button, #company .company-box03 a .company-button {
            padding-left: 3.5rem; } }
        @media screen and (max-width: 767px) {
          #company .company-box01 a .company-button, #company .company-box02 a .company-button, #company .company-box03 a .company-button {
            padding-left: 2.5rem; } }
        @media screen and (max-width: 575px) {
          #company .company-box01 a .company-button, #company .company-box02 a .company-button, #company .company-box03 a .company-button {
            width: 40%;
            padding-left: 2rem; } }
        #company .company-box01 a .company-button h4, #company .company-box02 a .company-button h4, #company .company-box03 a .company-button h4 {
          font-size: 30px;
          font-size: 3rem;
          font-weight: 600;
          color: #fff;
          position: relative;
          letter-spacing: 0.3rem; }
          @media screen and (max-width: 1199px) {
            #company .company-box01 a .company-button h4, #company .company-box02 a .company-button h4, #company .company-box03 a .company-button h4 {
              font-size: 25px;
              font-size: 2.5rem; } }
          @media screen and (max-width: 767px) {
            #company .company-box01 a .company-button h4, #company .company-box02 a .company-button h4, #company .company-box03 a .company-button h4 {
              font-size: 2px;
              font-size: 2rem; } }
          @media screen and (max-width: 575px) {
            #company .company-box01 a .company-button h4, #company .company-box02 a .company-button h4, #company .company-box03 a .company-button h4 {
              letter-spacing: 0.1rem; } }
          #company .company-box01 a .company-button h4 span, #company .company-box02 a .company-button h4 span, #company .company-box03 a .company-button h4 span {
            font-size: 20px;
            font-size: 2rem;
            font-weight: 300;
            display: block;
            margin-top: 1rem; }
            @media screen and (max-width: 1199px) {
              #company .company-box01 a .company-button h4 span, #company .company-box02 a .company-button h4 span, #company .company-box03 a .company-button h4 span {
                font-size: 16px;
                font-size: 1.6rem; } }
            @media screen and (max-width: 575px) {
              #company .company-box01 a .company-button h4 span, #company .company-box02 a .company-button h4 span, #company .company-box03 a .company-button h4 span {
                margin-top: 0.5rem; } }
        #company .company-box01 a .company-button img, #company .company-box02 a .company-button img, #company .company-box03 a .company-button img {
          position: absolute;
          height: 120px;
          right: 3rem;
          bottom: 3rem; }
          @media screen and (max-width: 1199px) {
            #company .company-box01 a .company-button img, #company .company-box02 a .company-button img, #company .company-box03 a .company-button img {
              height: 95px; } }
          @media screen and (max-width: 991px) {
            #company .company-box01 a .company-button img, #company .company-box02 a .company-button img, #company .company-box03 a .company-button img {
              height: 78px;
              right: 2.3rem;
              bottom: 2.3rem; } }
          @media screen and (max-width: 767px) {
            #company .company-box01 a .company-button img, #company .company-box02 a .company-button img, #company .company-box03 a .company-button img {
              height: 60px; } }
          @media screen and (max-width: 575px) {
            #company .company-box01 a .company-button img, #company .company-box02 a .company-button img, #company .company-box03 a .company-button img {
              right: 1rem;
              bottom: 1rem; } }
        #company .company-box01 a .company-button::before, #company .company-box02 a .company-button::before, #company .company-box03 a .company-button::before {
          position: absolute;
          top: 0;
          left: 0;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          background: #1a1a1a;
          transform: scaleX(0);
          transform-origin: right;
          transition: all 0.5s ease;
          transition-property: transform; }
      #company .company-box01 a:hover .company-button::before, #company .company-box02 a:hover .company-button::before, #company .company-box03 a:hover .company-button::before {
        transform: scaleX(1);
        transform-origin: left; }
  #company .company-box01 .company-box-img {
    width: 50vw; }
    @media screen and (max-width: 575px) {
      #company .company-box01 .company-box-img {
        width: 60%; } }
  #company .company-box02 .company-box-img {
    width: 60vw; }
    @media screen and (max-width: 575px) {
      #company .company-box02 .company-box-img {
        width: 60%; } }
  #company .company-box02 a .company-button {
    background-color: #1f4741; }
    #company .company-box02 a .company-button img {
      height: 82px; }
      @media screen and (max-width: 1199px) {
        #company .company-box02 a .company-button img {
          height: 70px; } }
      @media screen and (max-width: 991px) {
        #company .company-box02 a .company-button img {
          height: 52px; } }
      @media screen and (max-width: 767px) {
        #company .company-box02 a .company-button img {
          height: 35px; } }
      @media screen and (max-width: 575px) {
        #company .company-box02 a .company-button img {
          height: 32px; } }
  #company .company-box03 .company-box-img {
    width: 70vw; }
    @media screen and (max-width: 575px) {
      #company .company-box03 .company-box-img {
        width: 60%; } }
  #company .company-box03 a .company-button img {
    height: 81px; }
    @media screen and (max-width: 1199px) {
      #company .company-box03 a .company-button img {
        height: 69px; } }
    @media screen and (max-width: 991px) {
      #company .company-box03 a .company-button img {
        height: 55px; } }
    @media screen and (max-width: 767px) {
      #company .company-box03 a .company-button img {
        height: 40px; } }
  #company .company-bg {
    position: absolute;
    background-color: #efefef;
    background-image: linear-gradient(180deg, #efefef 45%, #FFFFFF 87%);
    background-position: bottom;
    height: 30vh;
    width: 92%;
    top: 4rem;
    left: 0;
    z-index: -1; }
    @media screen and (max-width: 991px) {
      #company .company-bg {
        top: 3rem; } }

#service {
  margin-bottom: 12rem;
  background-image: url("../img/top-service-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  padding-bottom: 11rem; }
  @media screen and (max-width: 991px) {
    #service {
      margin-bottom: 7rem; } }
  @media screen and (max-width: 767px) {
    #service {
      padding-bottom: 7rem; } }
  @media screen and (max-width: 575px) {
    #service {
      padding-bottom: 4rem; } }
  #service .service-box {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      #service .service-box {
        flex-direction: column; } }
    #service .service-box .service-text {
      width: 50%;
      padding-left: 10rem;
      padding-right: 6rem;
      margin-top: 4rem; }
      @media screen and (max-width: 1199px) {
        #service .service-box .service-text {
          padding-left: 8rem; } }
      @media screen and (max-width: 991px) {
        #service .service-box .service-text {
          padding-right: 4rem; } }
      @media screen and (max-width: 767px) {
        #service .service-box .service-text {
          width: 85%;
          padding: 0; } }
      @media screen and (max-width: 575px) {
        #service .service-box .service-text {
          margin-top: 3rem; } }
      #service .service-box .service-text dl dt {
        font-size: 40px;
        font-size: 4rem;
        color: #22923b;
        margin-bottom: 2rem; }
        @media screen and (max-width: 1199px) {
          #service .service-box .service-text dl dt {
            font-size: 30px;
            font-size: 3rem; } }
        @media screen and (max-width: 991px) {
          #service .service-box .service-text dl dt {
            font-size: 26px;
            font-size: 2.6rem; } }
        @media screen and (max-width: 575px) {
          #service .service-box .service-text dl dt {
            margin-bottom: 1rem; } }
      #service .service-box .service-text dl dd {
        margin-bottom: 5rem;
        line-height: 3.3rem; }
        @media screen and (max-width: 991px) {
          #service .service-box .service-text dl dd {
            line-height: 2.5rem; } }
        @media screen and (max-width: 575px) {
          #service .service-box .service-text dl dd {
            margin-bottom: 3rem; } }
    #service .service-box .service-img {
      width: 50%; }
      @media screen and (max-width: 767px) {
        #service .service-box .service-img {
          width: 90%; } }
      @media screen and (max-width: 575px) {
        #service .service-box .service-img {
          width: 100%; } }
      #service .service-box .service-img img {
        height: 100%;
        width: 100%; }

#recruit {
  position: relative;
  margin-bottom: 12rem; }
  @media screen and (max-width: 991px) {
    #recruit {
      margin-bottom: 8rem; } }
  @media screen and (max-width: 575px) {
    #recruit {
      margin-bottom: 12rem; } }
  #recruit .recruit-box {
    display: flex;
    align-items: center; }
    @media screen and (max-width: 767px) {
      #recruit .recruit-box {
        flex-direction: column; } }
    #recruit .recruit-box .recruit-text {
      width: 50%;
      padding-left: 10rem;
      padding-right: 6rem;
      margin-top: 4rem; }
      @media screen and (max-width: 1199px) {
        #recruit .recruit-box .recruit-text {
          padding-left: 8rem;
          margin-top: 2rem; } }
      @media screen and (max-width: 991px) {
        #recruit .recruit-box .recruit-text {
          padding-right: 4rem; } }
      @media screen and (max-width: 767px) {
        #recruit .recruit-box .recruit-text {
          width: 80%;
          padding-right: 0;
          padding-left: 0;
          padding-bottom: 10rem;
          margin-top: 3rem; } }
      @media screen and (max-width: 575px) {
        #recruit .recruit-box .recruit-text {
          padding-bottom: 0rem;
          margin-top: 2rem;
          width: 80%; } }
      #recruit .recruit-box .recruit-text dl {
        z-index: 6;
        position: sticky;
        color: #fff; }
        #recruit .recruit-box .recruit-text dl dt {
          font-size: 40px;
          font-size: 4rem;
          margin-bottom: 2rem; }
          @media screen and (max-width: 1199px) {
            #recruit .recruit-box .recruit-text dl dt {
              font-size: 30px;
              font-size: 3rem; } }
          @media screen and (max-width: 991px) {
            #recruit .recruit-box .recruit-text dl dt {
              font-size: 26px;
              font-size: 2.6rem; } }
          @media screen and (max-width: 575px) {
            #recruit .recruit-box .recruit-text dl dt {
              margin-bottom: 1rem; } }
          #recruit .recruit-box .recruit-text dl dt span {
            color: #fff100; }
        #recruit .recruit-box .recruit-text dl dd {
          margin-bottom: 5rem;
          line-height: 3.3rem; }
          @media screen and (max-width: 1199px) {
            #recruit .recruit-box .recruit-text dl dd {
              margin-bottom: 4rem; } }
          @media screen and (max-width: 991px) {
            #recruit .recruit-box .recruit-text dl dd {
              line-height: 2.5rem; } }
          @media screen and (max-width: 575px) {
            #recruit .recruit-box .recruit-text dl dd {
              margin-bottom: 2rem; } }
    #recruit .recruit-box .recruit-img {
      width: 52%;
      z-index: 5; }
      @media screen and (max-width: 767px) {
        #recruit .recruit-box .recruit-img {
          width: 100%;
          text-align: right; } }
      #recruit .recruit-box .recruit-img img {
        width: 100%;
        height: 100%;
        filter: drop-shadow(4px 6px 8px rgba(0, 0, 0, 0.3)); }
        @media screen and (max-width: 767px) {
          #recruit .recruit-box .recruit-img img {
            width: 90%; } }
  #recruit .recruit-bg {
    position: absolute;
    width: 52%;
    top: 0;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      #recruit .recruit-bg {
        width: 95%;
        top: revert;
        bottom: 0; } }
    @media screen and (max-width: 575px) {
      #recruit .recruit-bg {
        width: 120%;
        bottom: -6rem; } }
    #recruit .recruit-bg img {
      width: 100%;
      height: 100%; }
