@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .content {
  position: relative;
  z-index: 10;
}
#main .top-visual {
  margin: 0 auto 26.9rem;
  max-width: 164rem;
  background-color: #fff;
  padding: 6.8rem 7.7rem 9.8rem;
  position: relative;
  z-index: 10;
  border: 2px solid #000000;
}
#main .top-visual .image {
  position: relative;
}
#main .top-visual .image::after {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 2px solid #000000;
  content: "";
  box-sizing: border-box;
}
#main .top-visual .image img {
  width: 100%;
}
#main .top-visual .title {
  width: 122rem;
  position: absolute;
  top: 24rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
#main .top-visual .notos {
  font-size: 4rem;
  font-family: "vdl-penletter", sans-serif;
  font-weight: 500;
  position: absolute;
  bottom: -6rem;
  left: 0;
  white-space: nowrap;
  line-height: 1;
}
@media all and (max-width: 896px) {
  #main .top-visual {
    padding: 1.4rem;
    margin: 0 0 12rem;
    border: 2px solid #000000;
  }
  #main .top-visual .title {
    width: 74.809vw;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  #main .top-visual .notos {
    bottom: -2.3rem;
    left: 2.2rem;
    font-size: 1.5rem;
  }
}

/* people-box */
#main .people-box .content {
  padding-bottom: 2.9rem;
  position: relative;
  max-width: 163.2rem;
}
#main .people-box .content .image {
  width: 46.6rem;
  position: absolute;
  right: -2.9rem;
  bottom: -8.2rem;
}
#main .people-box .bg-box {
  position: relative;
  padding: 4.5rem 0 5.4rem;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  background-color: rgba(255, 255, 255, 0.7);
}
#main .people-box .slick-box {
  padding-bottom: 7.9rem;
  position: relative;
  z-index: 10;
}

/* people-box 矢印スタイル */
#main .people-box .arrow-ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 94rem;
  margin: auto;
}
#main .people-box .arrow-ul li {
  position: relative;
  margin-top: 4.2rem;
  width: 6rem;
  cursor: pointer;
  transition: 0.3s;
}

#main .people-box .arrow-ul li img {
  width: 100%;
}
#main .people-box .penn-img {
  width: 48.2rem;
  position: absolute;
  top: -6.6rem;
  right: -37.6rem;
}
#main .people-box .slick-dots {
  position: absolute;
  bottom: -4.5rem;
  left: 0;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  white-space: nowrap;
}
#main .people-box .slick-dots button {
  display: block;
  width: 7.5rem;
  height: 7.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
#main .people-box .slick-dots li {
  margin: 0 1rem !important;
  width: 7.5rem !important;
  height: 7.5rem !important;
  flex: 0 0 7.5rem;
  box-sizing: border-box;
}
#main .people-box .slick-dots button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#main .people-box .slick-box .slick-dots {
  bottom: -11rem;
  width: max-content;
  left: 50%;
  transform: translateX(-50%);
}

#main .people-box .prev.slick-arrow {
  left: -10rem;
}
#main .people-box .next.slick-arrow {
  right: -10rem;
}
@media all and (max-width: 876px) {
  #main .people-box .arrow-ul {
    width: calc(100% - 8rem);
  }
  #main .people-box .arrow-ul .prev {
    left: -4rem;
  }
  #main .people-box .arrow-ul .next {
    right: -4rem;
  }
  #main .people-box .slick-box .slick-dots {
    width: 50rem;
    flex-wrap: wrap;
    white-space: normal;
  }
}

#main .people-box .list-ul li {
  width: 140.8rem;
  margin: 0 2.7rem;
  padding-left: 7.7rem;
}
#main .people-box .list-ul .slick-slide > div {
  margin: 0 2.7rem;
  width: 140.8rem;
}
#main .people-box .list-ul .slick-slide li {
  width: auto;
  margin: 0;
}
#main .people-box .flex-box a {
  display: flex;
  justify-content: space-between;
}
#main .people-box .flex-box .photo {
  width: 73rem;
}
#main .people-box .over {
  display: none;
}
#main .people-box .flex-box .right-box {
  margin: 7.8rem 0 0 -9.4rem;
  flex: 1;
}
#main .people-box .flex-box .text-box {
  background: #fff;
  border: 2px solid #000;
  font-size: 2rem;
  padding: 1.7rem 2.4rem;
  letter-spacing: -0.09em;
  text-align: justify;
  line-height: 2;
  font-weight: 600;
}
#main .people-box .title {
  font-weight: 400;
}
#main .people-box .name {
  margin-bottom: 1.4rem;
  font-size: 6.8rem;
  line-height: 1;
  font-family: "vdl-penletter", sans-serif;
  display: block;
}
#main .people-box .lable {
  margin-bottom: 1.4rem;
  color: #fff;
  font-size: 3.4rem;
  font-family: "vdl-penletter", sans-serif;
  line-height: 1;
  display: block;
}
#main .people-box .lable span {
  padding: 0.7rem 1.3rem;
  display: inline-block;
  vertical-align: top;
  background-color: #000;
}
#main .people-box .link a,
#main .people-box .link .inner {
  width: 20.2rem;
  height: 4.9rem;
  font-size: 3.3rem;
  background: #fff;
  border: 2px solid #000;
  font-family: "vdl-penletter", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: -0.1em;
}
#main .people-box .link {
  margin-top: 3rem;
}
@media (hover: hover) {
  #main .people-box .link a:hover,
  #main .people-box a:hover .link .inner {
    background-color: #000;
    color: #fff;
  }
  #main .people-box .arrow-ul li:hover {
    opacity: 0.7;
  }
  #main .people-box a:hover .over {
    display: inline-block;
  }
  #main .people-box a:hover .img {
    display: none;
  }
}
@media all and (max-width: 876px) {
  #main .people-box .content .image {
    width: 15.5rem;
    right: -3.7rem;
    bottom: -2.7rem;
  }
  #main .people-box .content {
    margin: 0 4.1rem;
    padding-bottom: 3.6rem;
  }
  #main .people-box .list-ul a {
    display: block;
  }
  #main .people-box .list-ul .image img {
    height: 27.6rem;
    width: auto;
  }
  #main .people-box .list-ul .slick-slide > div {
    margin: 0 1.7rem;
    width: auto;
  }
  #main .people-box .list-ul li {
    padding-left: 1.2rem;
  }
  #main .people-box .bg-box {
    padding: 3rem 0 4.7rem;
    border-width: 1px;
  }
  #main .people-box .slick-dots li {
    margin: 0 0.45rem !important;
    width: 3.6rem !important;
    height: 3.6rem !important;
    flex-basis: 3.6rem;
  }
  #main .people-box .slick-dots button {
    width: 3.6rem;
    height: 3.6rem;
  }
  #main .people-box .slick-box .slick-dots {
    width: 25rem;
    flex-wrap: wrap;
    white-space: normal;
  }
  #main .people-box .slick-box {
    padding-bottom: 10.8rem;
  }
  #main .people-box .slick-box .slick-dots {
    bottom: -11.3rem;
    width: 25rem;
    left: 50%;
    gap: 1rem 0;
    transform: translateX(-55%);
  }
  #main .people-box .slick-box .slick-dots li:nth-child(n + 6) {
    transform: translateX(2rem);
  }
  #main .people-box .slick-dots {
    bottom: -4.6rem;
  }
  #main .people-box .penn-img {
    width: 19rem;
    bottom: 17.1rem;
    top: auto;
    right: -13.4rem;
  }
}

/* team-box */
#main .team-box .content {
  padding: 7.9rem 0 8.3rem;
}
#main .team-box .head-line03 {
  margin-bottom: 2.7rem;
}
#main .team-box .head-line03 img {
  width: 35.2rem;
}
#main .team-box .head-line03 .jp {
  margin-top: 3rem;
}
#main .team-box .com-ill-list {
  margin: 0 -1.6rem 0 1.5rem;
}
#main .team-box .inner-box {
  position: relative;
}
#main .team-box .starImg {
  width: 16rem;
  position: absolute;
  top: -2.1rem;
  left: 7.6rem;
}
#main .team-box .star02 {
  width: 10.7rem;
  left: auto;
  right: 7.8rem;
  top: 0.6rem;
}
#main .team-box .btm-photo {
  width: 34.2rem;
  position: absolute;
  bottom: -1.4rem;
  left: -8rem;
}
@media all and (max-width: 896px) {
  #main .team-box .head-line03 img {
    width: 13.4rem;
  }
  #main .team-box .content {
    padding: 8.9rem 0 21.2rem;
  }
  #main .team-box .head-line03 {
    margin-bottom: 3.7rem;
  }
  #main .team-box .com-ill-list {
    margin: 0 auto;
  }
  #main .team-box .head-line03 .jp {
    margin-top: 0.8rem;
  }
  #main .team-box .com-ill-list li:last-child {
    margin-bottom: 1.2rem;
  }
  #main .team-box .starImg {
    width: 6.5rem;
    top: -9.5rem;
    left: -0.4rem;
  }
  #main .team-box .star02 {
    width: 4.5rem;
    left: auto;
    right: 1.6rem;
    top: -11.3rem;
  }
  #main .team-box .btm-photo {
    width: 19.2rem;
    bottom: -0.8rem;
    left: -2.9rem;
  }
  #main .team-box .inner-box {
    margin: 0 auto;
    max-width: 39.3rem;
  }
}

/* talk-box */
#main .talk-box {
  background-color: rgba(0, 0, 0, 0.15);
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}
#main .talk-box .content {
  padding: 8rem 0 6.28rem;
}
#main .talk-box .head-line03 img {
  width: 30.3rem;
}
#main .talk-box .head-line03 .jp {
  margin-top: 3rem;
}
#main .talk-box .head-line03 {
  margin-bottom: 3.1rem;
}
#main .talk-box .com-ill-list.bottom {
  margin-top: 4rem;
}
#main .talk-box .com-ill-list.style .txt span {
  padding: 1rem 4.2rem 1.1rem;
}
#main .talk-box .com-ill-list.style .txt02 {
  margin-top: 3.1rem;
}
#main .talk-box .inner-box {
  position: relative;
}
#main .talk-box .decImg {
  width: 10.7rem;
  position: absolute;
  top: -9.8rem;
  left: -8.5rem;
}
#main .talk-box .dec02 {
  width: 10.1rem;
  left: auto;
  top: -11.2rem;
  right: -8rem;
}
#main .talk-box .dec03 {
  width: 33.4rem;
  bottom: calc(100% - 3.7rem);
  right: 1.9rem;
  top: auto;
  left: auto;
  z-index: 10;
}
@media all and (min-width: 897px) {
  #main .talk-box .com-ill-list {
    margin-bottom: -3rem;
  }

  #main .talk-box .com-ill-list li {
    margin-bottom: 3rem;
  }
  #main .talk-box .com-ill-list.bottom {
    margin-top: 6rem;
  }
}
@media all and (max-width: 896px) {
  #main .talk-box .head-line03 img {
    width: 11.6rem;
  }
  #main .talk-box .content {
    padding: 8.7rem 0 5.5rem;
  }
  #main .talk-box .head-line03 .jp {
    margin-top: 0.8rem;
  }
  #main .talk-box .head-line03 .jp {
    margin-top: 0.8rem;
  }
  #main .talk-box .decImg {
    width: 4.3rem;
    top: -3.8rem;
    left: -1rem;
  }
  #main .talk-box .dec02 {
    width: 4rem;
    left: auto;
    top: -4.2rem;
    right: -0.3rem;
  }
  #main .talk-box .head-line03 {
    margin-bottom: 3.5rem;
  }
  #main .talk-box .com-ill-list.style .txt span {
    padding: 0.7rem 1rem 0.5rem;
  }
  #main .talk-box .com-ill-list.style .txt {
    margin-top: 1.1rem;
  }
  #main .talk-box .com-ill-list.style .txt02 {
    margin-top: 1.8rem;
  }
  #main .talk-box .inner-box {
    margin: 0 auto;
    padding-bottom: 14.9rem;
    max-width: 39.3rem;
  }
  #main .talk-box .dec03 {
    bottom: -7.6rem;
    right: -0.9rem;
    top: auto;
    left: auto;
    width: 19.1rem;
  }
}

/* works-box */
#main .works-box {
  padding: 10rem 0 8.4rem;
  background-color: rgba(255, 255, 255, 0.38);
  border-bottom: 2px solid #000000;
}
#main .works-box .head-line03 img {
  width: 47.2rem;
}
#main .works-box .sub-box {
  z-index: 15;
  position: relative;
}
#main .works-box .com-works-box {
  margin-top: 5rem;
}
#main .works-box .slick-box {
  padding-bottom: 4.5rem;
  position: relative;
}
#main .works-box .slick-box .slick-dots {
  bottom: -8rem;
}
#main .works-box .slick-box .slick-dots li {
  margin: 0 1.5rem 0 1.4rem !important;
  border-radius: 5rem;
  width: 1.3rem !important;
  height: 1.3rem !important;
  background-color: #000;
  border: 1px solid #000;
  box-sizing: border-box;
}
#main .works-box .slick-box .slick-dots li button {
  display: none;
}
#main .works-box .slick-box .slick-dots li:not(.slick-active) button {
  opacity: 1;
}
#main .works-box .slick-box .slick-dots li.slick-active button {
  background: transparent;
}
#main .works-box .slick-box .slick-dots li.slick-active {
  background-color: #fff;
}
/* works-box 矢印スタイル */
#main .works-box .arrow-ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 72rem;
  margin: -0.6rem auto 0;
}
#main .works-box .arrow-ul li {
  position: relative;
  width: 6rem;
  cursor: pointer;
  transition: 0.3s;
}
#main .works-box .arrow-ul li img {
  width: 100%;
}
#main .works-box .prev.slick-arrow {
  left: -6rem;
}
#main .works-box .next.slick-arrow {
  right: -6rem;
}
#main .works-box .slick-arrow img {
  width: 100%;
}
@media (hover: hover) {
  #main .works-box .arrow-ul li:hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 896px) {
  #main .works-box .head-line03 img {
    width: 18rem;
  }
  #main .works-box {
    padding: 9.3rem 0 6.9rem;
  }
  #main .works-box .com-works-box {
    margin-top: 3.6rem;
  }
  #main .works-box .slick-box {
    padding-bottom: 2.9rem;
  }
  #main .works-box .slick-box .slick-dots {
    bottom: -3.5rem;
  }
  #main .works-box .arrow-ul {
    display: none;
  }
  #main .works-box .slick-box .slick-dots li {
    margin: 0 0.8rem !important;
    width: 0.7rem !important;
    height: 0.7rem !important;
  }
}

/* btm-box */
#main .btm-box {
  display: flex;
  justify-content: center;
  gap: 8rem;
  margin: auto;
  padding-top: 13.8rem;
  min-height: 112.7rem;
  background: url("../img/index/btm_bg.png") no-repeat center bottom / auto
    48.5rem;
  position: relative;
  z-index: 10;
}
#main .btm-box .link {
  text-align: center;
}
#main .btm-box .link:first-child {
  margin-left: calc(5%);
}
#main .btm-box .link:last-child {
  margin-right: calc(5%);
}
#main .btm-box .link a {
  display: inline-block;
  vertical-align: top;
  position: relative;
  font-size: 4rem;
  font-family: "vdl-penletter", sans-serif;
}
#main .btm-box .link img {
  width: 58.8rem;
}
#footer {
  margin-top: -0.2rem;
}
@media (hover: hover) {
  #main .btm-box .link a:hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 896px) {
  #main .btm-box .link:first-child, #main .btm-box .link:last-child {
    margin: 0;
  }
  #main .btm-box .link img {
    width: 26.6rem;
  }
  #main .btm-box {
    flex-direction: column;
    gap: 3rem;
    width: auto;
    min-height: 47.8rem;
    padding: 8.4rem 0 25rem;
    background-size: auto 15.7rem;
  }
  #main .btm-box .link a {
    font-size: 3rem;
    letter-spacing: -0.05em;
  }
}

.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/* pop-box */
.mfp-bg {
  background: #ededed url(../img/common/body_bg.png) repeat-y center top
    2.5rem / calc(100% - 2.8rem);
  opacity: 1 !important;
}
.pop-box .image {
  margin: 0 auto;
  max-width: 172.8rem;
}
.pop-box .image img {
  width: 100%;
}
.pop-box .close {
  width: 6.3rem;
  position: fixed;
  top: 1.9rem;
  right: 3.7rem;
  cursor: pointer;
  z-index: 20;
}
.pop-box .inner-box {
  padding: 3rem;
}
#pop2 .inner-box {
  padding: 0;
}
.mfp-container {
  padding: 0;
  overflow-y: auto;
}
@media (hover: hover) {
  .pop-box .close:hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 896px) {
  .pop-box .inner-box {
    padding: 3.8rem 4rem 3.8rem 4.1rem;
  }
  .mfp-bg {
    background-image: url(../img/common/body_bg_sp.png);
    background-size: 100% auto;
    background-position: center top;
  }
  .pop-box .close {
    width: 4.3rem;
    top: 3.8rem;
    right: 2.3rem;
  }
  #pop2 .close {
    top: 0;
    right: 0;
  }
}

#main .people-box {
  padding-top: 16rem;
  margin-top: -16rem;
}
@media all and (max-width: 896px) {
  #main .people-box {
    padding-top: 8rem;
    margin-top: -8rem;
  }
}

/* add */
.float_btn {
  position: fixed;
  bottom: 4rem;
  left: 3.3rem;
  width: 35.3rem;
  height: auto;
  cursor: pointer;
  z-index: 9999;
  transition:
    opacity 0.3s,
    visibility 0.3s;
  opacity: 1;
  visibility: visible;
}
.float_btn.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (hover: hover) {
  .float_btn:not(.is-hidden):hover {
    opacity: 0.7;
  }
}
@media all and (max-width: 896px) {
  .float_btn {
    bottom: 2.8rem;
    left: 2rem;
    width: 18.5rem;
  }
}

.top-visual-main {
  width: 100%;
  height: 585rem;
  background-color: #1c9cc6;
  border: 2px solid #000000;
}

.top-img {
  position: relative;
}
.top-img .img,
.top-img .ono {
  position: absolute;
}
.top-img .ono,
.top-img .ono-2 {
  opacity: 0;
}
.top-img.img1 {
  position: relative;
  top: 75rem;
}
.top-img.img1 .img {
  left: 50%;
  transform: translateX(-50%);
  width: 125rem;
  z-index: 10;
}
.top-img.img1 .ono {
  left: 50%;
  transform: translateX(-50%);
  width: 145rem;
  top: 10rem;
  z-index: 20;
}

.top-img.img2 {
  position: relative;
  top: 140rem;
}
.top-img.img2 .img {
  width: 41rem;
  left: 11rem;
  z-index: 10;
}
.top-img.img2 .ono {
  width: 20.5rem;
  top: 26rem;
  left: 29rem;
  z-index: 20;
}

.top-img.img3 {
  position: relative;
  top: 140rem;
}
.top-img.img3 .img {
  width: 19.1rem;
  top: 2rem;
  left: 55rem;
  z-index: 10;
}
.top-img.img3 .ono {
  width: 36.7rem;
  top: -1rem;
  left: 56rem;
  z-index: 20;
}

.top-img.img4 {
  position: relative;
  top: 185rem;
}
.top-img.img4 .img {
  width: 95.6rem;
  top: 2rem;
  left: 11rem;
  z-index: 10;
}
.top-img.img4 .ono {
  width: 23.6rem;
  top: -3rem;
  left: 33.5rem;
  z-index: 20;
}

.top-img.img5 {
  position: relative;
  top: 240rem;
}
.top-img.img5 .img {
  width: 58rem;
  right: -0.3rem;
  z-index: 10;
}
.top-img.img5 .ono {
  width: 23.9rem;
  top: -13rem;
  right: 3rem;
  z-index: 20;
}

.top-img.img6 {
  position: relative;
  top: 277rem;
}
.top-img.img6 .img {
  width: 38.4rem;
  right: 41rem;
  z-index: 10;
}
.top-img.img6 .ono {
  width: 48.8rem;
  top: 6.5rem;
  right: 35rem;
  z-index: 20;
}

.top-img.img7 {
  position: relative;
  top: 298rem;
}
.top-img.img7 .img {
  width: 37.7rem;
  right: 65rem;
  z-index: 10;
}
.top-img.img7 .ono {
  width: 16.7rem;
  top: 1rem;
  right: 52rem;
  z-index: 20;
}

.top-img.img8 {
  position: relative;
  top: 317rem;
}
.top-img.img8 .img {
  width: 72.3rem;
  left: -1.5rem;
  z-index: 10;
}

.top-img.img9 {
  position: relative;
  top: 371.5rem;
  z-index: 10;
}
.top-img.img9 .img {
  width: 29.7rem;
  left: 51.5rem;
  z-index: 10;
}
.top-img.img9 .ono {
  width: 13.1rem;
  top: -6rem;
  left: 78rem;
  z-index: 20;
}
.top-img.img9 .ono-2 {
  position: absolute;
  width: 11.4rem;
  top: 16rem;
  left: 44.5rem;
  z-index: 30;
}

.top-img.img10 {
  position: relative;
  top: 390rem;
  z-index: 10;
}
.top-img.img10 .img {
  width: 47.2rem;
  right: 6rem;
  z-index: 10;
}
.top-img.img10 .ono {
  width: 25.9rem;
  top: -24rem;
  right: 2rem;
  z-index: 20;
}

.top-img.img11 {
  position: relative;
  top: 415rem;
  z-index: 10;
}
.top-img.img11 .img {
  width: 49.6rem;
  left: 5rem;
  z-index: 10;
}

.top-img.img12 {
  position: relative;
  top: 452rem;
  z-index: 10;
}
.top-img.img12 .img {
  width: 48.7rem;
  right: 10rem;
  z-index: 10;
}

.top-img.img13 {
  position: relative;
  top: 520rem;
  z-index: 10;
}
.top-img.img13 .img {
  width: 126.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

/* text */
.top-text {
  position: absolute;
}
.top-text.text1 {
  width: 25.8rem;
  top: 160rem;
  right: 30rem;
}

.top-text.text2 {
  top: 255rem;
  left: 19rem;
  font-size: 3rem;
  font-weight: bold;
  line-height: 2.1;
  text-align: left;
}

.top-text.text3 {
  top: 325rem;
  right: 16rem;
  font-size: 3rem;
  font-weight: bold;
  line-height: 2.1;
  text-align: left;
}

.top-text.text4 {
  top: 446rem;
  left: 53rem;
  font-size: 3rem;
  font-weight: bold;
  line-height: 2.1;
  text-align: center;
}

@media all and (max-width: 896px) {
  .sp-title-area {
    position: relative;
    width: 100%;
    height: 100svh;
  }
  .sp-main-area {
    position: relative;
    height: 787vw;
  }
  .top-visual-main {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  /* 画像 */
  .top-img.img1 {
    top: 0;
  }
  .top-img.img1 .img {
    width: 76.845vw;
  }
  .top-img.img1 .ono {
    width: 88.041vw;
    top: 10vw;
  }

  .top-img.img2 {
    top: 45vw;
  }
  .top-img.img2 .img {
    width: 33.079vw;
    left: 7.3vw;
  }
  .top-img.img2 .ono {
    width: 16.539vw;
    top: 21vw;
    left: 22vw;
  }

  .top-img.img3 {
    top: 46.7vw;
  }
  .top-img.img3 .img {
    width: 16.539vw;
    top: 0;
    left: 41vw;
  }
  .top-img.img3 .ono {
    width: 26.972vw;
    top: 0;
    left: 44.5vw;
  }

  .top-img.img4 {
    top: 145vw;
  }
  .top-img.img4 .img {
    width: 75.827vw;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .top-img.img4 .ono {
    width: 18.575vw;
    top: -4vw;
    left: 26vw;
  }

  .top-img.img5 {
    top: 270vw;
  }
  .top-img.img5 .img {
    width: 82.188vw;
    right: -0.3vw;
  }
  .top-img.img5 .ono {
    width: 33.842vw;
    top: -18vw;
    right: 5vw;
  }

  .top-img.img6 {
    top: 324vw;
  }
  .top-img.img6 .img {
    width: 45.293vw;
    right: 9.16vw;
  }
  .top-img.img6 .ono {
    width: 57.761vw;
    top: 7.5vw;
    right: 2vw;
  }

  .top-img.img7 {
    top: 350vw;
  }
  .top-img.img7 .img {
    width: 39.695vw;
    right: inherit;
    left: 2.799vw;
  }
  .top-img.img7 .ono {
    width: 17.5vw;
    top: 1vw;
    right: inherit;
    left: 38.5vw;
  }

  .top-img.img8 {
    top: 440vw;
  }
  .top-img.img8 .img {
    width: 66.921vw;
    left: 3.308vw;
  }

  .top-img.img9 {
    top: 505vw;
  }
  .top-img.img9 .img {
    width: 26.209vw;
    left: 15vw;
  }
  .top-img.img9 .ono {
    width: 11.45vw;
    top: -6vw;
    left: 38.5vw;
  }
  .top-img.img9 .ono-2 {
    width: 9.924vw;
    top: 14.5vw;
    left: 8vw;
    z-index: 30;
  }

  .top-img.img10 {
    top: 531vw;
  }
  .top-img.img10 .img {
    width: 37.913vw;
    right: 10vw;
  }
  .top-img.img10 .ono {
    width: 20.865vw;
    top: -19vw;
    right: 6vw;
  }

  .top-img.img11 {
    top: 566vw;
  }
  .top-img.img11 .img {
    width: 49.618vw;
    left: 5.344vw;
  }

  .top-img.img12 {
    top: 678vw;
  }
  .top-img.img12 .img {
    width: 51.908vw;
    right: 5.852vw;
  }

  .top-img.img13 {
    top: 745vw;
  }
  .top-img.img13 .img {
    width: 80vw;
  }

  /* テキスト */
  .top-text img {
    width: 100%;
    height: auto;
  }

  .top-text.text1 {
    width: 24.427vw;
    top: 78vw;
    right: 50%;
    transform: translateX(50%);
  }

  .top-text.text2 {
    top: 197vw;
    left: 8.5vw;
    font-size: 3.562vw;
    line-height: 2.1;
  }

  .top-text.text3 {
    top: 385vw;
    right: 14vw;
    font-size: 3.562vw;
    line-height: 2.1;
  }

  .top-text.text4 {
    width: 100%;
    top: 630vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 3.562vw;
    line-height: 2.1;
  }
}

/* アニメーション */
.top-img.img1 .ono.on {
  animation:
    kf_5007_396_opacity_0 0.8s linear,
    kf_5007_396_scale_0 0.8s linear;
}

@keyframes kf_5007_396_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  37.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_396_scale_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.124, 0.997);
    scale: 0.5 0.5;
  }
  37.5% {
    animation-timing-function: linear(
      0,
      0.0949,
      0.3298,
      0.6273,
      0.9179,
      1.1507,
      1.298,
      1.3546,
      1.3328,
      1.2563,
      1.1525,
      1.047,
      0.9595,
      0.9011,
      0.8752,
      0.8784,
      0.9028,
      0.9387,
      0.9767,
      1.0094,
      1.0323,
      1.0435,
      1.0441,
      1.0366,
      1.0243,
      1.0107,
      0.9986,
      0.9897,
      0.9849,
      0.9841,
      0.9863,
      0.9905,
      0.9953,
      0.9998,
      1.0032,
      1.0052,
      1.0057,
      1.0051,
      1.0037,
      1.002,
      1.0003,
      0.999,
      0.9983,
      0.998,
      0.9981,
      0.9986,
      0.9992,
      0.9998,
      1.0003,
      1.0006,
      1.0007
    );
    scale: 1.1 1.1;
  }
  100% {
    scale: 1 1;
  }
}

.top-img.img2 .ono.on {
  animation: kf_5007_1157_opacity_0 0.8s linear;
}
@keyframes kf_5007_1157_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.top-img.img3 .ono.on {
  animation:
    kf_5007_1551_opacity_0 0.8s linear,
    kf_5007_1551_scale_0 0.8s linear;
}
@keyframes kf_5007_1551_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  37.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_1551_scale_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.124, 0.997);
    scale: 0.5 0.5;
  }
  37.5% {
    animation-timing-function: linear(
      0,
      0.2391,
      0.7665,
      1.2703,
      1.5263,
      1.479,
      1.2248,
      0.9307,
      0.7408,
      0.7161,
      0.827,
      0.9895,
      1.1167,
      1.1592,
      1.1186,
      1.0339,
      0.9546,
      0.9156,
      0.9248,
      0.966,
      1.0126,
      1.0419,
      1.0449,
      1.0266,
      1.0007,
      0.9809,
      0.9747,
      0.9815,
      0.9951,
      1.0076,
      1.0135,
      1.0118,
      1.0051,
      0.9978,
      0.9932,
      0.9929,
      0.9959,
      1,
      1.0031,
      1.004,
      1.0029,
      1.0007,
      0.9987,
      0.9978,
      0.9981,
      0.9992,
      1.0004,
      1.0011,
      1.0011,
      1.0006,
      1
    );
    scale: 1.1 1.1;
  }
  100% {
    scale: 1 1;
  }
}

.top-img.img4 .ono.on {
  animation:
    kf_5007_1973_opacity_0 0.8s linear,
    kf_5007_1973_scale_0 0.8s linear;
}
@keyframes kf_5007_1973_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_1973_scale_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    scale: 0.8 0.8;
  }
  25% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    scale: 1.2 1.2;
  }
  50% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    scale: 1 1;
  }
  75% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    scale: 1.1 1.1;
  }
  100% {
    scale: 1 1;
  }
}

.top-img.img5 .ono.on {
  animation: kf_5007_2358_opacity_0 0.8s linear;
}
@keyframes kf_5007_2358_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.top-img.img6 .ono.on {
  animation:
    kf_5007_2743_opacity_0 0.8s linear,
    kf_5007_2743_scale_0 0.8s linear;
}
@keyframes kf_5007_2743_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_2743_scale_0 {
  0% {
    animation-timing-function: ease-out;
    scale: 0.75 0.75;
  }
  62.5% {
    scale: 1 1;
  }
  100% {
    scale: 1 1;
  }
}

.top-img.img7 .ono.on {
  animation:
    kf_5007_3535_opacity_0 0.8s linear,
    kf_5007_3535_translate_0 0.8s linear;
}
@keyframes kf_5007_3535_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_3535_translate_0 {
  0% {
    animation-timing-function: cubic-bezier(0, 0, 0.281, 1);
    translate: 0px 40px;
  }
  62.5% {
    translate: 0px 0px;
  }
  100% {
    translate: 0px 0px;
  }
}

.top-img.img9 .ono.on {
  animation:
    kf_5007_3933_opacity_0 0.8s linear,
    kf_5007_3933_scale_0 0.8s linear;
}
@keyframes kf_5007_3933_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0, 0, 0.211, 0.999);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_3933_scale_0 {
  0% {
    animation-timing-function: cubic-bezier(0.345, 3.24, 0.805, 0.838);
    scale: 0.75 0.75;
  }
  62.5% {
    scale: 1 1;
  }
  100% {
    scale: 1 1;
  }
}

.top-img.img9 .ono-2.on {
  animation:
    kf_5007_3931_opacity_0 0.8s linear,
    kf_5007_3931_translate_0 0.8s linear;
}
@keyframes kf_5007_3931_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_3931_translate_0 {
  0% {
    animation-timing-function: ease-out;
    translate: 0px 40px;
  }
  62.5% {
    translate: 0px 0px;
  }
  100% {
    translate: 0px 0px;
  }
}

.top-img.img10 .ono.on {
  @property --rotate-transform {
    syntax: "<angle>";
    initial-value: 0rad;
    inherits: false;
  }

  transform: rotate(var(--rotate-transform, 0rad));

  animation:
    kf_5007_3937_opacity_0 0.8s linear,
    kf_5007_3937_rotate_0 0.8s linear,
    kf_5007_3937_translate_0 0.8s linear;
}
@keyframes kf_5007_3937_opacity_0 {
  0% {
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
    opacity: 0;
  }
  62.5% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes kf_5007_3937_rotate_0 {
  0% {
    animation-timing-function: step-end;
    --rotate-transform: 0rad;
  }
  31.25% {
    animation-timing-function: step-end;
    --rotate-transform: -0.349rad;
  }
  62.5% {
    --rotate-transform: 0rad;
  }
  100% {
    --rotate-transform: 0rad;
  }
}
@keyframes kf_5007_3937_translate_0 {
  0% {
    animation-timing-function: cubic-bezier(0, 0, 0.165, 0.999);
    translate: 0px 56px;
  }
  62.5% {
    translate: 0px 0px;
  }
  100% {
    translate: 0px 0px;
  }
}

.top-img .ono.on,
.top-img .ono-2.on {
  opacity: 1;
  animation-fill-mode: forwards;
}

/* ボタン関連 */
.com-btn-area {
  display: flex;
  justify-content: center;
  gap: 8.3rem;
}
.com-btn-area .com-btn {
  margin: 0 !important;
}
.com-btn a {
  padding: 0 8rem;
  width: fit-content !important;
}
@media all and (max-width: 896px) {
  .com-btn-top {
    margin: 0 auto 5vw;
  }
  .com-btn-top .com-btn {
    margin: 0;
  }
  .com-btn-area .com-btn {
    margin: 7vw 0 0 !important;
  }
  .com-btn-top .com-btn a {
    padding: 0 5vw;
  }
  .com-btn-area .com-btn a {
    padding: 0 15vw;
  }
}

.com-ill-list.style .txt02 {
  margin: 2.1rem 0 0;
}
.com-ill-list {
  gap: 8.1rem 0;
}
#main .team-box .content {
  padding: 7.9rem 0 30rem;
}

/* モーダル関連 */
.inner-box {
  position: relative;
}
.grow-story {
  position: absolute;
}
.grow-story a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.grow-story.img1 {
  width: 31.8rem;
  top: 32rem;
  left: 15rem;
}
.grow-story.img2 {
  width: 31.4rem;
  top: 27rem;
  left: 55rem;
}
.grow-story.img3 {
  width: 31.8rem;
  top: 54rem;
  left: 45rem;
}
.grow-story.img4 {
  width: 31.5rem;
  top: 63rem;
  left: 81.5rem;
}
.grow-story.img5 {
  width: 38.6rem;
  top: 3rem;
  left: 89rem;
}
.grow-story.img6 {
  width: 33rem;
  top: 31rem;
  left: 102rem;
}
.grow-story.img7 {
  width: 33.7rem;
  top: 65rem;
  left: 113rem;
}
.grow-story.img8 {
  width: 42.1rem;
  top: 4.5rem;
  left: 132.7rem;
}
.grow-story.img9 {
  width: 32.8rem;
  top: 32rem;
  left: 142rem;
}
.grow-story.img10 {
  width: 27.7rem;
  top: 57rem;
  left: 149rem;
}
@media all and (max-width: 896px) {
  .grow-story.img1 {
    width: 53.908vw;
    top: 28vw;
    left: 7.5vw;
  }
  .grow-story.img2 {
    width: 65.359vw;
    top: 84vw;
    left: 19vw;
  }
  .grow-story.img3 {
    width: 60.743vw;
    top: 129.5vw;
    left: 7vw;
  }
  .grow-story.img4 {
    width: 75.5vw;
    top: 428.5vw;
    left: 6vw;
  }
  .grow-story.img5 {
    width: 79.608vw;
    top: 209.5vw;
    left: 13vw;
  }
  .grow-story.img6 {
    width: 69vw;
    top: 330vw;
    left: 8vw;
  }
  .grow-story.img7 {
    width: 70.5vw;
    top: 493vw;
    left: 23vw;
  }
  .grow-story.img8 {
    width: 77.957vw;
    top: 286vw;
    left: 12vw;
  }
  .grow-story.img9 {
    width: 65.466vw;
    top: 382vw;
    left: 20vw;
  }
  .grow-story.img10 {
    width: 51.145vw;
    top: 538vw;
    left: 10vw;
  }
}
