#About .mg-t-40 {
  margin-top: 4rem;
}
#About #About-itech {
  position: relative;
  padding: 13rem 0 4rem;
  background-color: var(--c-bg-beige);
  background-image: radial-gradient(circle, var(--c-dot-gray) 1px, transparent 1px);
  background-position: 0 0;
  background-size: 8px 8px;
}
@media screen and (width <= 767px) {
  #About #About-itech {
    padding: 8rem 0 4rem;
  }
}
#About #About-itech::before {
  position: absolute;
  bottom: -15.9rem;
  width: 100%;
  height: 16rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background-color: var(--c-bg-beige);
  background-image: radial-gradient(circle, var(--c-dot-gray) 1px, transparent 1px);
  background-position: 0 0;
  background-size: 8px 8px;
}
@media screen and (width <= 767px) {
  #About #About-itech::before {
    bottom: -4rem;
    height: 4rem;
  }
}
#About #About-itech .inner-1100 {
  position: relative;
  padding: 9rem 5rem;
  background-color: var(--c-white);
  border-radius: 2rem;
  box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
}
@media screen and (width <= 767px) {
  #About #About-itech .inner-1100 {
    padding: 5rem 5% 5%;
    margin: 0 5%;
  }
}
#About #About-itech .inner-820 {
  padding: 0;
}
#About #About-itech .about-geo-wrapper .about-geo-01 {
  position: absolute;
  top: 35rem;
  left: 6rem;
  width: clamp(1rem, 2vw, 2.6rem);
  height: clamp(8rem, 8vw, 19rem);
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (width <= 767px) {
  #About #About-itech .about-geo-wrapper .about-geo-01 {
    top: 7rem;
    left: 2rem;
  }
}
#About #About-itech .about-geo-wrapper .about-geo-02 {
  position: absolute;
  top: 3rem;
  left: 7rem;
  width: clamp(7rem, 10vw, 17rem);
  height: clamp(7rem, 10vw, 18rem);
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (width <= 767px) {
  #About #About-itech .about-geo-wrapper .about-geo-02 {
    top: 3rem;
    left: 3rem;
  }
}
#About #About-itech .about-geo-wrapper .about-geo-03 {
  position: absolute;
  top: 0;
  left: 50%;
  width: clamp(3rem, 5vw, 7rem);
  height: clamp(3rem, 5vw, 7rem);
  -o-object-fit: contain;
     object-fit: contain;
  transform: translateX(-50%);
}
#About #About-itech .about-geo-wrapper .about-geo-04 {
  position: absolute;
  top: 2rem;
  right: 4rem;
  width: clamp(10rem, 20vw, 27rem);
  height: clamp(6rem, 20vw, 18rem);
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (width <= 767px) {
  #About #About-itech .about-geo-wrapper .about-geo-04 {
    top: 0;
    right: 2rem;
  }
}
#About #About-itech .about-geo-wrapper .about-geo-05 {
  position: absolute;
  top: 30rem;
  right: 7rem;
  width: clamp(4rem, 10vw, 10rem);
  height: clamp(4rem, 10vw, 14rem);
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (width <= 767px) {
  #About #About-itech .about-geo-wrapper .about-geo-05 {
    top: 10rem;
    right: 1rem;
  }
}
#About #About-itech .title-wrapper {
  text-align: center;
}
@media screen and (width <= 767px) {
  #About #About-itech .title-wrapper h1 {
    font-size: 2.4rem;
  }
}

#About #About-itech .read-wrapper h2 {
  margin: 2rem 0 0;
  text-align: center;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper h2 {
    font-size: 2rem;
  }
}
#About #About-itech .read-wrapper p {
  max-width: 63rem;
  margin: 2rem auto 0;
  text-align: justify;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper p {
    font-size: 1.4rem;
  }
}
#About #About-itech .read-wrapper h3.box-title {
  padding: 1rem 2rem;
  margin: 6rem 0 0;
  font-size: 2.2rem;
  text-align: center;
  border: 1px solid var(--c-black);
  border-radius: 1rem;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper h3.box-title {
    margin: 4rem 0 0;
    font-size: 1.6rem;
  }
}
#About #About-itech .read-wrapper h4 {
  margin: 3rem 0 0;
  font-size: 2.2rem;
  text-align: center;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper h4 {
    font-size: 1.6rem;
  }
}
#About #About-itech .read-wrapper .image-wrapper {
  gap: 1rem;
  margin: 3rem 0 0;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper .image-wrapper {
    flex-direction: column;
  }
}
#About #About-itech .read-wrapper .image-wrapper img {
  max-width: 49%;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper .image-wrapper img {
    max-width: 100%;
  }
}
#About #About-itech .read-wrapper .image-gfc {
  max-width: 43rem;
  margin: 6rem auto 0;
}
#About #About-itech .read-wrapper .image-gfc img{
	width: 100%;
	max-width: unset;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper .image-gfc {
    max-width: 20rem;
    margin: 3rem auto 0;
  }
}
#About #About-itech .read-wrapper .btn-wrapper {
  display: flex;
  justify-content: center;
  margin: 4rem auto 0;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper .btn-wrapper {
    margin: 3rem auto 0;
  }
}
#About #About-itech .read-wrapper ul.support-list {
  align-items: center;
  justify-content: space-between;
  margin: 3rem 0 0;
  text-align: center;
}
@media screen and (width <= 890px) {
  #About #About-itech .read-wrapper ul.support-list {
    flex-direction: column;
  }
}
#About #About-itech .read-wrapper ul.support-list li p.number {
  margin: 1rem 0;
  font-size: 2.6rem;
  font-weight: 500;
}
#About #About-itech .read-wrapper ul.support-list li .icon-wrapper img {
  width: 18rem;
  height: 18rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#About #About-itech .read-wrapper ul.support-list li .arrow-wrapper {
  position: relative;
  top: -2rem;
}
@media screen and (width <= 890px) {
  #About #About-itech .read-wrapper ul.support-list li .arrow-wrapper {
    top: 1rem;
    padding: 1rem 0;
    transform: rotate(90deg);
  }
}
#About #About-itech .read-wrapper ul.support-list li .arrow-wrapper img {
  width: 1rem;
  height: 1.6rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#About #About-itech .read-wrapper ul.other-list {
  gap: 3rem;
  justify-content: center;
  margin: 4rem 0 0;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper ul.other-list {
    flex-direction: column;
    gap: 2rem;
    align-items: center;
  }
}
#About #About-itech .read-wrapper ul.other-list li {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  max-width: 30rem;
  background-color: var(--c-bg-beige);
  border-radius: 1rem;
}
@media screen and (width <= 767px) {
  #About #About-itech .read-wrapper ul.other-list li {
    max-width: 100%;
  }
}
#About #About-itech .read-wrapper ul.other-list li p.title {
  padding: 1rem 2rem;
  margin: 0;
  font-weight: 500;
  text-align: center;
  background-color: var(--c-beige);
  border-radius: 1rem 1rem 0 0;
}
#About #About-itech .read-wrapper ul.other-list li p.size-14 {
  display: flex;
  flex-grow: 1;
  padding: 0 2rem;
}
#About #About-itech .read-wrapper ul.other-list li a.btn-arrow-beige {
  position: relative;
  width: 90%;
  padding: 1rem 2rem;
  margin: 2rem auto;
  font-weight: 500;
  background-color: var(--c-beige);
  border-radius: 3rem;
  transition: all 0.3s;
}
#About #About-itech .read-wrapper ul.other-list li a.btn-arrow-beige::after {
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  content: "";
  border: 0;
  border-top: solid 2px var(--c-black);
  border-right: solid 2px var(--c-black);
  transition: all 0.3s;
  transform: rotate(45deg);
}
#About #About-itech .read-wrapper ul.other-list li a.btn-arrow-beige:hover {
  color: var(--c-beige);
  background-color: var(--c-white);
  border-color: var(--c-black);
}
#About #About-itech .read-wrapper ul.other-list li a.btn-arrow-beige:hover::after {
  border-top-color: var(--c-beige);
  border-right-color: var(--c-beige);
}
#About #About-itech .animation-wrapper {
  height: 60rem;
}
@media screen and (width <= 767px) {
  #About #About-itech .animation-wrapper {
    height: 75vw;
    margin: 1rem 0 0;
  }
}
#About #About-itech .border-item {
  position: relative;
  width: 100%;
  height: 1px;
  margin: 6rem 0;
  background-color: var(--c-black);
}
@media screen and (width <= 767px) {
  #About #About-itech .border-item {
    margin: 3rem 0;
  }
}
#About #About-itech .border-item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  content: "";
  background-color: var(--c-black);
  border-radius: 50%;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #About #About-itech .border-item::before {
    width: 4px;
    height: 4px;
  }
}
#About #About-itech .border-item::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  content: "";
  background-color: var(--c-black);
  border-radius: 50%;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #About #About-itech .border-item::after {
    width: 4px;
    height: 4px;
  }
}
#About #StaffGuide {
  padding: 24rem 0 12rem;
}
@media screen and (width <= 767px) {
  #About #StaffGuide {
    padding: 10rem 0 8rem;
  }
}
#About #StaffGuide .title-wrapper {
  position: relative;
  display: flex;
  gap: 5rem;
  align-items: center;
}
@media screen and (width <= 767px) {
  #About #StaffGuide .title-wrapper {
    flex-direction: column;
    gap: 3rem;
  }
}
#About #StaffGuide .title-wrapper .text-wrapper {
  max-width: 500px;
}
@media screen and (width <= 767px) {
  #About #StaffGuide .title-wrapper .text-wrapper {
    width: 80%;
  }
}
#About #StaffGuide .title-wrapper .text-wrapper h2 img {
  max-width: 50rem;
}
#About #StaffGuide .title-wrapper .text-wrapper p.description {
  margin: 2rem 0 0;
  text-align: justify;
}
#About #StaffGuide .title-wrapper .image-wrapper .staff-guide-image img {
  width: 25rem;
}
#About #StaffGuide .staff-guide-swiper--list {
  margin: 5rem 0 0;
}
#About #StaffGuide .staff-guide-swiper--list .swiper-wrapper {
  display: flex;
  justify-content: space-between;
  height: auto;
}
#About #StaffGuide .staff-guide-swiper--list .swiper-slide {
  width: 32%;
  height: auto;
}
#About #StaffGuide .staff-guide-swiper--list .swiper-slide img {
  max-width: 26rem;
  max-height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
  border: 1px solid var(--c-border-light-gray);
}
@media screen and (width >= 768px) {
  #About #StaffGuide .staff-guide-swiper--list .swiper-slide .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    justify-content: center;
  }
  #About #StaffGuide .staff-guide-swiper--list .swiper-slide .swiper-slide {
    flex: 0 0 auto;
    width: auto;
  }
  #About #StaffGuide .staff-guide-swiper--list .swiper-slide .swiper-slide img {
    max-width: 26rem;
    max-height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#About #StaffGuide .staff-guide-swiper {
  margin: 6rem 0 0;
}
#About #StaffGuide .staff-guide-swiper .swiper-wrapper {
  height: auto;
}
#About #StaffGuide .staff-guide-swiper img {
  border: 1px solid var(--c-border-light-gray);
}
#About #StaffGuide .btn-wrapper.detail-link {
  display: block;
  margin: 5rem auto 0;
  text-align: center;
}
@media screen and (width <= 767px) {
  #About #StaffGuide .btn-wrapper.detail-link {
    margin: 7rem auto 0;
  }
}
#About #StaffGuide .btn-wrapper.detail-link a {
  display: inline-block;
}
#About #Training {
  position: relative;
  padding: 9rem 0;
  background-color: var(--c-beige);
  background-image: radial-gradient(circle, var(--c-dot-gray) 1px, transparent 1px);
  background-position: 0 0;
  background-size: 8px 8px;
}
@media screen and (width <= 767px) {
  #About #Training {
    padding: 5rem 0 10%;
  }
}
@media screen and (width <= 767px) {
  #About #Training::before {
    position: absolute;
    top: 3rem;
    left: 1rem;
    width: 9rem;
    height: 9rem;
    content: "";
    background-image: url("../img/about/icon_reaf_01_sp.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
@media screen and (width <= 767px) {
  #About #Training::after {
    position: absolute;
    top: 3rem;
    right: 1rem;
    width: 8rem;
    height: 8rem;
    content: "";
    background-image: url("../img/about/icon_reaf_02_sp.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
@media screen and (width <= 767px) {
  #About #Training .inner-820 {
    padding: 0 10%;
  }
}
#About #Training p {
  max-width: 63rem;
}
@media screen and (width <= 767px) {
  #About #Training p {
    font-size: 1.4rem;
  }
}
#About #Training .title-wrapper h2 {
  text-align: center;
}
@media screen and (width <= 767px) {
  #About #Training .title-wrapper h2 {
    font-size: 2rem;
  }
}
#About #Training .title-wrapper p.size-18 {
  margin: 2rem auto 0;
}
#About #Training ul.training-list {
  position: relative;
  flex-wrap: wrap;
  gap: 3rem;
  justify-content: center;
  margin: 4rem 0 0;
}
#About #Training ul.training-list::before {
  position: absolute;
  top: 50%;
  left: -36rem;
  width: 36rem;
  height: 130%;
  content: "";
  background-image: url("../img/about/icon_reaf_01_pc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #About #Training ul.training-list::before {
    display: none;
  }
}
#About #Training ul.training-list::after {
  position: absolute;
  top: 50%;
  right: -36rem;
  width: 36rem;
  height: 130%;
  content: "";
  background-image: url("../img/about/icon_reaf_02_pc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #About #Training ul.training-list::after {
    display: none;
  }
}
#About #Training ul.training-list li {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  width: 30rem;
  background-color: var(--c-white);
  border-radius: 1rem;
}
@media screen and (width <= 767px) {
  #About #Training ul.training-list li {
    width: 100%;
  }
}
#About #Training ul.training-list li p.title {
  padding: 1.5rem 2rem;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  background-color: var(--c-bg-beige);
  border-radius: 1rem 1rem 0 0;
}
#About #Training ul.training-list li p.size-14 {
  display: flex;
  flex-grow: 1;
  padding: 2rem;
}
#About #Contact {
  padding: 10rem 0;
  text-align: center;
  background-color: var(--c-bg-beige);
}
#About #Contact p.description {
  margin: 8rem 0 0;
}
#About #Contact .btn-wrapper.detail-link {
  margin: 6rem 0 0;
}


#lottie {
  position: absolute;
  top: -35px;
  left: 50%;
  display: block;
  width: 400px;
  height: 240px;
  overflow: hidden;
  text-align: center;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media screen and (width <= 767px) {
  #lottie {
    top: 90vw;
    right: -13vw;
    display: block;
    width: 55vw;
  }
}

#lottie02 {
  position: absolute;
  right: -100px;
  bottom: -20px;
  display: block;
  width: 500px;
  overflow: hidden;
  text-align: center;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media screen and (width <= 767px) {
  #lottie02 {
    right: -50px;
    bottom: -5vw;
    z-index: 2;
    display: block;
    width: 55vw;
  }
}

#lottie03 {
  position: absolute;
  bottom: 0;
  left: -150px;
  display: block;
  width: 400px;
  overflow: hidden;
  text-align: center;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media screen and (width <= 767px) {
  #lottie03 {
    right: 30px;
    bottom: -30px;
    left: unset;
    width: 35vw;
  }
}

#lottie04 {
  position: absolute;
  top: 0;
  right: -100px;
  display: block;
  width: 400px;
  max-height: 260px;
  overflow: hidden;
  text-align: center;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

#lottie06 {
  position: absolute;
  right: -200px;
  width: 480px;
}
@media screen and (width <= 767px) {
  #lottie06 {
    position: relative;
    right: unset;
    left: 0;
    z-index: 0;
    width: 100%;
  }
}

#lottie07 {
  position: absolute;
  right: -50px;
  bottom: 50px;
  width: 320px;
}

#lottie08 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 320px;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #lottie08 {
    top: 20%;
    left: -80px;
    width: 150px;
  }
}

#lottie09 {
  position: absolute;
  top: 50%;
  right: 0;
  width: 320px;
  transform: translateY(-50%);
}
@media screen and (width <= 767px) {
  #lottie09 {
    top: 20%;
    right: -80px;
    width: 150px;
  }
}

#lottie17 {
  position: relative;
  top: -25px;
}

#lottie18 svg {
  height: auto !important;
}

.geo-01 {
  position: absolute;
  top: 180px;
  right: 150px;
  width: 80px;
}

.geo-02 {
  position: absolute;
  top: -40px;
  right: 0;
  left: -6vw;
  z-index: 0;
  width: 100vw;
  margin: 0 auto;
}
@media screen and (width <= 767px) {
  .geo-02 {
    top: -100px;
    right: 0;
    left: -90vw;
    width: 150vw;
  }
}

.geo-02-sp {
  position: absolute;
  right: 0;
  bottom: 0;
  left: -6vw;
  z-index: 0;
  width: 200vw;
  margin: 0 auto;
}

.geo-03 {
  position: absolute;
  right: -10vw;
  bottom: 65px;
  left: 0;
  z-index: 2;
  width: 93vw;
  margin: 0 auto;
}
@media screen and (width <= 767px) {
  .geo-03 {
    right: 0;
    bottom: 20px;
    left: unset;
    width: 150vw;
  }
}

.geo-04 {
  position: absolute;
  right: -10vw;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 21vw;
  margin: 0 auto;
}
@media screen and (width <= 767px) {
  .geo-04 {
    right: unset;
    left: 1vw;
    z-index: 0;
    width: 40vw;
  }
}

.geo-05 {
  position: absolute;
  top: 0;
  left: 0;
  width: 21vw;
}
@media screen and (width <= 767px) {
  .geo-05 {
    width: 40vw;
  }
}

.geo-06 {
  position: absolute;
  top: 0;
  right: 0;
  width: 21vw;
}
@media screen and (width <= 767px) {
  .geo-06 {
    width: 40vw;
  }
}

.geo-07 {
  position: absolute;
  top: 10vw;
  left: -40px;
  width: 15vw;
}
@media screen and (width <= 767px) {
  .geo-07 {
    position: absolute;
    top: 50%;
    right: 5vw;
    left: unset;
    width: 25vw;
    margin-top: -10vw;
    transform: translateY(-50%);
  }
}

.geo-08 {
  position: absolute;
  bottom: 100px;
  left: 12vw;
  width: 12vw;
}

.geo-09 {
  position: absolute;
  right: 0;
  bottom: 60px;
  width: 15vw;
}

.geo-10 {
  position: absolute;
  top: 30px;
  right: 0;
  width: 30vw;
}

.geo-10-sp {
  width: 320px;
  margin: 0 auto;
  margin-top: 30px;
}

.geo-11-sp {
  width: 320px;
  margin: 0 auto;
  margin-top: 30px;
}

.geo-11 {
  position: absolute;
  top: 40px;
  right: 10vw;
  width: 20vw;
}

.geo-12 {
  position: absolute;
  top: 10vw;
  left: 10vw;
  width: 10vw;
}
@media screen and (width <= 767px) {
  .geo-12 {
    top: 0;
    width: 12vw;
  }
	
	#StaffGuide img{
		max-width: 100%;
	}
}

#lottie5-2{
	height: 100%;
}
