@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@600;700&display=swap");
.visual {
  background-color: #404040;
}
.visual--inner {
  background-color: #D2EAF7;
  background-image: linear-gradient(to right, #E0F0F9 1px, transparent 1px), linear-gradient(to bottom, #E0F0F9 1px, transparent 1px);
  background-size: 9px 9px;
  padding-top: 116px;
  border-radius: 0 0 60px 60px;
  min-height: 810px;
  position: relative;
  overflow-x: clip;
}
@media (max-width: 450px) {
  .visual--inner {
    min-height: 700px;
    padding-top: 80px;
    border-radius: 0 0 20px 20px;
  }
}
.visual--ttl_img {
  display: block;
  margin: 0 auto;
}
@media (max-width: 450px) {
  .visual--ttl_img {
    width: 108vw;
    max-width: initial;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
.visual--subttl {
  z-index: 2;
  position: absolute;
  top: 564px;
  left: calc(50% - 12.2254758419vw - 483px);
}
@media (max-width: 450px) {
  .visual--subttl {
    width: 70.6vw;
    min-width: 265px;
    left: 14px;
  }
}
.visual--human_img_wrap {
  z-index: 1;
  position: absolute;
  top: 181px;
  left: calc(50% - 420px - 40px);
}
@media (max-width: 450px) {
  .visual--human_img_wrap {
    top: 277px;
    left: 0;
  }
}
@media (max-width: 450px) {
  .visual--human_img {
    width: 132.8vw;
    max-width: initial;
    position: relative;
    left: calc(50% - 22vw);
    transform: translateX(-50%);
  }
}
.visual--parts_img {
  position: absolute;
}
.visual--parts_img-left {
  top: 272px;
  left: calc(50% - 659px);
}
.visual--parts_img-right {
  top: 560px;
  left: calc(50% + 466px);
}
@media (max-width: 450px) {
  .visual--parts_img-left {
    width: 100px;
    left: auto;
    right: 0;
    top: 58px;
  }
  .visual--parts_img-right {
    width: 67px;
    left: auto;
    right: -18px;
    top: 148px;
  }
}

.mission {
  background-color: #404040;
  padding: 114px 95px 104px;
  overflow-x: clip;
}
@media (max-width: 450px) {
  .mission {
    padding: 38px 20px 35px;
  }
}
.mission--content {
  background-color: #fff;
  border-radius: 80px;
  padding-bottom: 236px;
  position: relative;
  z-index: 1;
}
@media (max-width: 450px) {
  .mission--content {
    border-radius: 30px;
    padding-bottom: 113px;
  }
}
.mission--ttl {
  font-family: "Fugaz One", sans-serif;
  font-size: 130px;
  text-align: center;
  color: #0087d0;
  position: relative;
  top: -96px;
  margin-bottom: -96px;
}
@media (max-width: 450px) {
  .mission--ttl {
    font-size: 55px;
    top: -41px;
    margin-bottom: -41px;
    letter-spacing: -2px;
  }
}
.mission--lead {
  margin-top: 26px;
  font-weight: bold;
  font-size: 40px;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 450px) {
  .mission--lead {
    margin-top: 18px;
    font-size: 18px;
    line-height: 1.66;
  }
}
.mission--desc {
  margin-top: 57px;
  font-weight: 500;
  font-size: 18px;
  line-height: 3;
  text-align: center;
}
@media (max-width: 450px) {
  .mission--desc {
    text-align: justify;
    margin-top: 25px;
    margin-left: 20px;
    margin-right: 20px;
    font-size: 14px;
    line-height: 2;
  }
}
.mission--parts_img {
  position: absolute;
}
.mission--parts_img-left {
  left: calc(50% - 633px);
  top: 73px;
}
.mission--parts_img-right {
  left: calc(50% + 18px);
  bottom: -83px;
}
@media (max-width: 450px) {
  .mission--parts_img-left {
    left: -20px;
    top: 22px;
    width: 110px;
  }
  .mission--parts_img-right {
    left: calc(50% - 75px);
    bottom: -35px;
    width: 271px;
  }
}
.mission--human_img {
  position: absolute;
  z-index: -1;
}
.mission--human_img-left {
  left: calc(50% - 605px);
  top: 368px;
}
.mission--human_img-right {
  left: calc(50% + 336px);
  top: 73px;
}
@media (max-width: 450px) {
  .mission--human_img {
    display: none;
  }
}

.news {
  background-color: #404040;
  padding: 2px 0;
  margin: -2px 0;
}
@media (max-width: 450px) {
  .news {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.news--layout {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 50px;
}
@media (max-width: 450px) {
  .news--layout {
    flex-direction: column;
    align-items: stretch;
    row-gap: 20px;
  }
}
.news--ttl {
  display: flex;
  flex-direction: column;
}
@media (max-width: 450px) {
  .news--ttl {
    align-items: center;
    margin: 0 auto;
  }
}
.news--ttl_lead {
  font-family: "Fugaz One", sans-serif;
  font-size: 80px;
  line-height: 1;
  color: #0087d0;
}
@media (max-width: 450px) {
  .news--ttl_lead {
    font-size: 50px;
  }
}
.news--ttl_txt {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
}
@media (max-width: 450px) {
  .news--ttl_txt {
    font-size: 12px;
  }
}
.news--content {
  flex: 0 0 910px;
}
@media (max-width: 450px) {
  .news--content {
    flex-basis: auto;
  }
}
.news--block {
  background-color: #fff;
  border-radius: 9999px;
  padding: 24px 124px 24px 42px;
  min-height: 100px;
  display: flex;
  align-items: center;
  column-gap: 24px;
}
@media (max-width: 450px) {
  .news--block {
    flex-direction: column;
    row-gap: 8px;
    align-items: stretch;
    padding: 20px 14px 27px 25px;
    border-radius: 30px;
  }
}
.news--heading_sp {
  display: contents;
}
@media (max-width: 450px) {
  .news--heading_sp {
    display: flex;
    align-items: center;
    column-gap: 10px;
  }
}
.news--date {
  font-size: 15px;
  color: #8a9398;
}
@media (max-width: 450px) {
  .news--date {
    font-size: 14px;
  }
}
.news--label {
  background-color: #d2eaf7;
  padding-top: 6px;
  padding-bottom: 6px;
  font-weight: bold;
  font-size: 13px;
  text-align: center;
  flex: 0 0 130px;
}
.news--desc {
  font-size: 16px;
}
@media (max-width: 450px) {
  .news--desc {
    font-size: 14px;
  }
}
.news--desc_link {
  transition: 0.2s;
}
.news--desc_link:hover {
  opacity: 0.8;
}
.news--link {
  font-weight: bold;
  font-size: 16px;
  color: #fff;
  display: flex;
  align-items: center;
  column-gap: 11px;
  width: fit-content;
  margin-top: 12px;
  margin-left: auto;
  transition: 0.2s;
}
.news--link:hover {
  opacity: 0.8;
}
.news--link:after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22to_link%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%3E%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_1%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%201%22%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%2211%22%20fill%3D%22%230087d0%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_870221%22%20data-name%3D%22%E3%83%91%E3%82%B9%20870221%22%20d%3D%22M-15510%2C16828.18l4.783%2C4.027-4.783%2C3.826%22%20transform%3D%22translate%2815518.5%20-16820.68%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 22px;
  height: 22px;
}
@media (max-width: 450px) {
  .news--link {
    font-size: 14px;
    column-gap: 9px;
    margin: 0 auto;
    margin-top: 15px;
    justify-content: center;
  }
}

.team {
  background-color: #404040;
  padding-top: 120px;
}
@media (max-width: 450px) {
  .team {
    padding-top: 38px;
  }
}
.team--content {
  background-color: #53bcf5;
  border-radius: 80px 80px 0 0;
}
@media (max-width: 450px) {
  .team--content {
    display: contents;
  }
}
.team--ttl {
  font-family: "Fugaz One", sans-serif;
  font-size: 130px;
  color: #0087d0;
  text-align: center;
  position: relative;
  top: -96px;
  margin-bottom: -96px;
}
@media (max-width: 450px) {
  .team--ttl {
    top: 0;
    margin-bottom: 0;
    font-size: 55px;
  }
}
.team--lead {
  font-weight: bold;
  font-size: 36px;
  text-align: center;
  color: #fff;
  margin-top: 16px;
}
@media (max-width: 450px) {
  .team--lead {
    font-size: 18px;
    margin-top: 19px;
  }
}

.team_nav {
  width: fit-content;
  max-width: calc(100% - 112px);
  margin: 0 auto;
  margin-top: 77px;
  display: grid;
  grid-template-columns: repeat(3, auto);
}
@media (max-width: 450px) {
  .team_nav {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-top: 54px;
    width: 100%;
  }
}
.team_nav--link {
  position: relative;
}
.team_nav--link:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 65, 155, 0.3);
  transition: 0.2s;
}
.team_nav--link:hover:before {
  opacity: 0.5;
}
@media (max-width: 450px) {
  .team_nav--img {
    width: 100%;
  }
}
.team_nav--link_txt {
  font-weight: bold;
  font-size: 22px;
  color: #fff;
  position: absolute;
  top: 34%;
  width: 100%;
  text-align: center;
}
.team_nav--link_txt:after {
  display: block;
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2255%22%20height%3D%2255%22%20viewBox%3D%220%200%2055%2055%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_1398859%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%201398859%22%20transform%3D%22translate%28-206%20-5351%29%22%3E%20%3Ccircle%20id%3D%22%E6%A5%95%E5%86%86%E5%BD%A2_1%22%20data-name%3D%22%E6%A5%95%E5%86%86%E5%BD%A2%201%22%20cx%3D%2227.5%22%20cy%3D%2227.5%22%20r%3D%2227.5%22%20transform%3D%22translate%28206%205351%29%22%20fill%3D%22%230087d0%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_870227%22%20data-name%3D%22%E3%83%91%E3%82%B9%20870227%22%20d%3D%22M-15510%2C16828.178l10.07%2C8.48-10.07%2C8.055%22%20transform%3D%22translate%2815738.497%20-11457.678%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 55px;
  height: 55px;
  margin: 0 auto;
  margin-top: 20px;
}
@media (max-width: 450px) {
  .team_nav--link_txt {
    font-size: 20px;
    top: 98px;
  }
  .team_nav--link_txt:after {
    width: 50px;
    height: 50px;
    margin-top: 16px;
  }
}

.movie {
  padding-top: 110px;
  padding-bottom: 311px;
  margin-bottom: -166px;
  background-color: #53bcf5;
}
@media (max-width: 450px) {
  .movie {
    padding-top: 42px;
    padding-bottom: 277px;
    margin-bottom: -200px;
  }
}
.movie--ttl {
  font-family: "Fugaz One", sans-serif;
  font-size: 80px;
  text-align: center;
  color: #0087d0;
}
@media (max-width: 450px) {
  .movie--ttl {
    font-size: 55px;
  }
}
.movie--video_wrap {
  aspect-ratio: 16/9;
  max-width: 800px;
  margin: 0 auto;
  margin-top: 24px;
  cursor: pointer;
}
@media (max-width: 450px) {
  .movie--video_wrap {
    margin-top: 30px;
  }
}
.movie--video {
  width: 100%;
  display: block;
}

/*# sourceMappingURL=top.css.map */
