.companyArea01 {
  width: 100%;
  height: 300vh;
  height: 300dvh;
  position: relative;
  margin-bottom: 100vh;
}
.companyArea01 .sec-height {
  position: absolute;
  top: 0;
  left: 0;
}
.companyArea01 .sec-height .sec-height-box {
  width: 1px;
  height: 100vh;
  height: 100dvh;
}
.companyArea01 .sec-height .sec-height-box#company01 {
  height: 150vh;
  height: 150dvh;
}
.companyArea01 .imgArea {
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}
.companyArea01 .imgArea .imgBox01 {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: absolute;
  top: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.companyArea01 .imgArea .imgBox01 .inBox {
  width: 50%;
  height: 100%;
}
.companyArea01 .imgArea .imgBox01 .inBox figure {
  width: 100%;
  height: 100%;
}
.companyArea01 .imgArea .imgBox01 .inBox figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.companyArea01 .txtArea01 {
  position: relative;
  height: 250vh;
  z-index: 3;
}
.companyArea01 .txtArea01 .txt01Inner {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
}
.companyArea01 .txtArea01 .txt01Inner .txtBox01 {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 50px;
}
.companyArea01 .txtArea01 .txt01Inner p.cc01 {
  text-align: center;
  font-size: 36px;
  line-height: 1.75em;
  margin-bottom: 150px;
}
@media (max-width: 991px) {
  .companyArea01 .txtArea01 .txt01Inner p.cc01 {
    margin-bottom: 200px;
  }
}
@media (max-width: 767px) {
  .companyArea01 .txtArea01 .txt01Inner p.cc01 {
    margin-bottom: 170px;
    font-size: min(24px, 6.2vw);
  }
}
.companyArea01 .txtArea01 .txt01Inner .txtBox02 {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 50px;
  position: absolute;
  top: 0;
  left: 0;
}
.companyArea01 .txtArea01 .txt01Inner .txtBox02 p.cc01 {
  color: #fff;
}
.companyArea01 .txtArea01 .txt01Inner .txtBox02 .logoWrap {
  opacity: 0;
}
.companyArea01 .logoWrap {
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}
.companyArea01 .logoWrap .logoInner {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
}
.companyArea01 .logoWrap .logoInner .logoBoxWrap {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-top: 150px;
}
@media (max-width: 991px) {
  .companyArea01 .logoWrap .logoInner .logoBoxWrap {
    margin-top: 200px;
  }
}
@media (max-width: 767px) {
  .companyArea01 .logoWrap .logoInner .logoBoxWrap {
    margin-top: 170px;
  }
}
.companyArea01 .logoWrap .logoInner .logoBoxWrap::before {
  content: "";
  width: 82px;
  height: 82px;
  background: url(../img/company/kakeru_bk.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .companyArea01 .logoWrap .logoInner .logoBoxWrap::before {
    width: 41px;
    height: 41px;
  }
}
.companyArea01 .logoWrap .logoBox {
  width: 50%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.companyArea01 .logoWrap .logoBox .logoTxt {
  color: #000;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .companyArea01 .logoWrap .logoBox .logoTxt {
    font-size: 14px;
  }
}
.companyArea01 .logoWrap .logoBox .logo01 {
  text-align: center;
}
.companyArea01 .logoWrap .logoBox .logo01 figure img {
  width: 370px;
}
@media (max-width: 991px) {
  .companyArea01 .logoWrap .logoBox .logo01 figure img {
    width: min(70%, 250px);
  }
}
@media (max-width: 767px) {
  .companyArea01 .logoWrap .logoBox .logo01 figure img {
    width: min(80%, 140px);
  }
}
.companyArea01 .logoWrap .logoBox .logo02 {
  text-align: center;
}
.companyArea01 .logoWrap .logoBox .logo02 figure img {
  width: 341px;
}
@media (max-width: 991px) {
  .companyArea01 .logoWrap .logoBox .logo02 figure img {
    width: min(70%, 210px);
  }
}
@media (max-width: 767px) {
  .companyArea01 .logoWrap .logoBox .logo02 figure img {
    width: min(80%, 110px);
  }
}
.companyArea01 .txtArea02 {
  height: 100vh;
  height: 100dvh;
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.companyArea01 .txtArea02::before {
  content: "";
  width: 82px;
  height: 82px;
  background: url(../img/company/kakeru.png) no-repeat center center/cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .companyArea01 .txtArea02::before {
    width: 41px;
    height: 41px;
  }
}
.companyArea01 .txtArea02 .logoBox {
  width: 50%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.companyArea01 .txtArea02 .logoBox .logoTxt {
  color: #fff;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .companyArea01 .txtArea02 .logoBox .logoTxt {
    font-size: 14px;
  }
}
.companyArea01 .txtArea02 .logoBox .logo01 {
  text-align: center;
}
.companyArea01 .txtArea02 .logoBox .logo01 figure img {
  width: 370px;
}
@media (max-width: 767px) {
  .companyArea01 .txtArea02 .logoBox .logo01 figure img {
    width: min(90%, 140px);
  }
}
.companyArea01 .txtArea02 .logoBox .logo02 {
  text-align: center;
}
.companyArea01 .txtArea02 .logoBox .logo02 figure img {
  width: 341px;
}
@media (max-width: 767px) {
  .companyArea01 .txtArea02 .logoBox .logo02 figure img {
    width: min(90%, 128px);
  }
}
.companyArea01 .txtArea03 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100vh;
  height: 100dvh;
  position: relative;
  z-index: 3;
}
.companyArea01 .txtArea03 p.txt01 {
  color: #fff;
  text-align: center;
  font-size: 20px;
}
@media (max-width: 767px) {
  .companyArea01 .txtArea03 p.txt01 {
    font-size: 16px;
  }
}

.companyArea02 {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .companyArea02 {
    padding: 80px 0;
  }
}
.companyArea02 .cc01 {
  font-size: 32px;
  line-height: 1.7em;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .companyArea02 .cc01 {
    font-size: 24px;
  }
}
.companyArea02 .companyBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 100px;
}
@media (max-width: 991px) {
  .companyArea02 .companyBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 50px;
    margin-top: 50px;
  }
}
.companyArea02 .companyBox .subBox {
  width: 31.1842105263%;
}
@media (max-width: 991px) {
  .companyArea02 .companyBox .subBox {
    width: 100%;
  }
}
.companyArea02 .companyBox .subBox .logo {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .companyArea02 .companyBox .subBox .logo {
    margin-bottom: 30px;
  }
}
.companyArea02 .companyBox .subBox .logo .logoTxt {
  font-size: 16px;
  line-height: 1;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .companyArea02 .companyBox .subBox .logo .logoTxt {
    font-size: 14px;
  }
}
.companyArea02 .companyBox .subBox .logo .logo01 img {
  width: min(100%, 246px);
}
.companyArea02 .companyBox .subBox .logo .logo02 img {
  width: min(100%, 177px);
}
.companyArea02 .companyBox .subBox .logo .logo03 img {
  width: min(100%, 284px);
}
.companyArea02 .companyBox .subBox .achieveList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.companyArea02 .companyBox .subBox .achieveList li {
  width: 47.8902953586%;
}
.companyArea02 .companyBox .subBox .achieveList li .txt {
  font-size: 14px;
  line-height: 1.6em;
  margin-top: 15px;
}
.companyArea02 .companyBox .subBox .achieveList li .txt small {
  font-size: 78%;
}