main .absolute_image {
  position: absolute;
}
main .absolute_image .ratio {
  border-radius: 0.5rem;
}
main .mv_image {
  top: 30rem;
  right: 24rem;
  display: block;
  width: 42rem;
}
main .mv_image .ratio {
  padding-top: 150%;
}
@media only screen and (max-width: 860px) {
  main .mv_image {
    top: 20rem;
    left: 0;
    right: 0;
    margin: auto;
    width: calc((100% - 4rem) * 0.8);
  }
}
main .ex_image {
  top: 148rem;
  right: 12rem;
  width: 15rem;
}
main .ex_image .ratio {
  padding-top: 70%;
}
main .text_sub_image {
  top: 172.9rem;
  left: 33rem;
  width: 20rem;
}
main .text_sub_image .ratio {
  padding-top: 75%;
}
@media only screen and (max-width: 860px) {
  main .text_sub_image {
    top: 175rem;
    left: initial;
    right: 2rem;
    width: calc(40% - 2rem);
  }
}
main .circle {
  position: fixed;
  top: 9rem;
  left: 9rem;
  right: 0;
  display: block;
  margin: auto;
  width: 75%;
  pointer-events: none;
  z-index: 0;
}
main .circle .ratio {
  padding-top: 100%;
}
main .circle .ratio img {
  animation: circle 12s linear forwards infinite;
  transform-origin: center;
}
@keyframes circle {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media only screen and (max-width: 860px) {
  main .circle {
    top: 25vh;
    left: -5%;
    right: -5%;
    width: 110%;
  }
}
main .text_main_image {
  top: 148rem;
  left: 0rem;
  width: 30rem;
  z-index: 1;
}
main .text_main_image .ratio {
  padding-top: 133%;
  border-radius: 0 0.5rem 0.5rem 0;
}
@media only screen and (max-width: 860px) {
  main .text_main_image {
    top: 156.5rem;
    width: calc(60% - 2rem);
  }
}
main section {
  position: relative;
  z-index: 1;
}
main .concept {
  padding-bottom: 25rem;
}
main .concept h3 {
  margin-bottom: 8rem;
  font-size: 2rem;
}
main .concept .ratio {
  border-radius: 0.5rem;
}
main .concept .main {
  padding-left: 8rem;
}
main .concept .main .text {
  margin-top: 30rem;
  width: 40%;
}
main .concept .main .text p {
  margin-left: 6rem;
}
main .concept .main .images {
  position: relative;
  margin-top: -1.6rem;
  width: 46%;
  height: fit-content;
  height: 63rem;
}
main .concept .main .images .main_image {
  width: 80%;
}
main .concept .main .images .main_image .ratio {
  padding-top: 150%;
}
main .concept .main .images .sub_image {
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: 30rem;
}
main .concept .main .images .sub_image .ratio {
  padding-top: 70%;
}
main .concept .sub {
  position: relative;
  margin-top: 30rem;
}
main .concept .sub .text {
  margin-left: auto;
  width: 75rem;
}
main .concept .sub .text p {
  width: 35rem;
}
@media only screen and (max-width: 860px) {
  main .concept {
    margin-top: 6rem;
    padding-bottom: 12rem;
  }
  main .concept h3 {
    margin-bottom: 6rem;
    font-size: 1.6rem;
  }
  main .concept .main {
    padding-left: 0;
  }
  main .concept .main .text {
    margin: 12rem auto 4.8rem;
    width: 80%;
  }
  main .concept .main .text p {
    margin-left: 0;
  }
  main .concept .main .images {
    margin: auto;
    width: 80%;
    height: 42rem;
    order: -1;
  }
  main .concept .main .images .main_image {
    width: 100%;
  }
  main .concept .main .images .main_image .ratio {
    padding-top: 150%;
  }
  main .concept .main .images .sub_image {
    right: -3.5rem;
    bottom: -6rem;
    width: 16rem;
  }
  main .concept .main .images .sub_image .ratio {
    padding-top: 70%;
  }
  main .concept .sub {
    margin-top: 35rem;
  }
  main .concept .sub .text {
    margin: 3.5rem auto;
    width: 80%;
  }
  main .concept .sub .text p {
    width: 100%;
  }
}
main .company {
  padding-bottom: 18rem;
}
main .company .list {
  margin-top: 6rem;
  margin-left: auto;
  width: 60%;
  border-top: 1px solid #D2D2D2;
}
main .company .list .flex {
  padding: 3rem 0;
  border-bottom: 1px solid #D2D2D2;
}
main .company .list .flex .heading {
  width: 20%;
}
main .company .list .flex .content {
  width: 80%;
}
main .company .list .flex .content li {
  margin-bottom: 1.2rem;
}
main .company .list .flex .content li p {
  margin-left: 2rem;
}
main .company .list .flex .content li p a {
  margin-left: 1rem;
}
main .company .list .flex .content li:last-of-type {
  margin-bottom: 0;
}
@media only screen and (max-width: 860px) {
  main .company {
    padding-bottom: 16rem;
  }
  main .company .list {
    margin-top: 4.8rem;
    width: 90%;
  }
  main .company .list .flex {
    padding: 2rem 0;
  }
  main .company .list .flex .heading {
    width: 16%;
  }
  main .company .list .flex .content {
    width: 80%;
  }
  main .company .list .flex .content .indent {
    display: block;
    text-indent: 1.6rem;
  }
  main .company .list .flex .content li {
    margin-bottom: 1.6rem;
  }
  main .company .list .flex .content li p {
    margin-top: 0.4rem;
    margin-left: 1.6rem;
  }
  main .company .list .flex .content li p a {
    display: block;
    margin-left: 0;
    width: fit-content;
  }
  main .company .list .flex .content li:last-of-type {
    margin-bottom: 0;
  }
}
main .member .profile {
  margin-top: 12rem;
  padding-left: 8rem;
}
main .member .profile .image {
  width: 18rem;
  width: 16%;
  text-align: center;
}
main .member .profile .image .ratio {
  padding-top: 100%;
  border-radius: 50%;
}
main .member .profile .image span {
  display: inline-block;
  margin-top: 2rem;
  font-size: 1.1rem;
}
main .member .profile .image h3 {
  font-size: 1.5rem;
}
main .member .profile .text {
  width: 44rem;
  width: 39%;
}
main .member .profile .note {
  padding: 4.8rem 3rem;
  width: cacl(29rem);
  width: calc(30% - 6rem);
  border: 1px solid #D2D2D2;
  border-radius: 0.5rem;
}
main .member .profile .note h4 {
  padding-bottom: 0.8rem;
  font-size: 3rem;
  line-height: 1;
}
main .member .profile .note ul {
  margin-top: 3.5rem;
}
main .member .profile .note ul li {
  position: relative;
  margin-bottom: 1.6rem;
  padding-left: 1.2rem;
}
main .member .profile .note ul li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 0.4rem;
  height: 0.4rem;
  background-color: #4F545A;
  border-radius: 50%;
}
main .member .profile .note ul li a {
  color: inherit;
}
@media only screen and (max-width: 860px) {
  main .member .profile {
    margin-top: 6rem;
    padding: 0;
  }
  main .member .profile .image {
    margin: 0 auto;
    width: 50%;
  }
  main .member .profile .text {
    margin: 6rem auto 0;
    width: 80%;
  }
  main .member .profile .note {
    margin: 8rem auto 0;
    width: 100%;
  }
  main .member .profile .note ul {
    margin-top: 3.5rem;
  }
}