@charset "UTF-8";
/* カラー設定 */
:root {
  --color-blue-01: #0054FF;
  --color-blue-02: #115CF2;
  --color-blue-03: #C1CDE7;
  --color-blue-04: #EAF1FF;
  --color-blue-05: #F0F5FF;
  --color-black: #292931;
  --color-gray-01: #6B7280;
  --color-gray-02: #ACACAC;
  --color-white: #FCFCFC;
  --color-orange: #F86120;
  /* グラデーション */
  --blue-gradation01: linear-gradient(to right, #0054FF 0%, #007AFF 100%);
}

/*----------------------------------------------------------*/
/* トップページ */
/*----------------------------------------------------------*/
/*--- mv ---*/
.p-top_mv {
  position: relative;
  overflow: hidden;
  height: 57vw;
  min-height: 790px;
  background: linear-gradient(to right, #0048ff 0%, #007AFF 100%);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top_mv {
    height: 100svh;
    max-height: 680px;
    min-height: inherit;
    align-items: flex-end;
    padding-bottom: 32px;
  }
}
.p-top_mv::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/bg-noise.png);
  background-repeat: repeat;
  background-size: 720px auto;
}
@media screen and (max-width: 768px) {
  .p-top_mv::after {
    background-size: 500px auto;
  }
}
.p-top_mv__img-wrapper {
  position: absolute;
  top: -12vw;
  right: -14vw;
  height: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-top_mv__img-wrapper {
    top: -24vh;
    right: -28vw;
    max-width: 120%;
  }
}
.p-top_mv__img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-top_mv__img-wrapper__earth {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: 96%;
}
.p-top_mv__img-wrapper__earth::after {
  position: absolute;
  display: block;
  content: "";
  bottom: -11%;
  left: 18%;
  width: 7%;
  aspect-ratio: 1/1;
  background-image: url(../images/top/mv_mars.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .p-top_mv__img-wrapper__earth::after {
    bottom: unset;
    top: 80%;
    left: 2%;
  }
}
@media screen and (max-width: 500px) {
  .p-top_mv__img-wrapper__earth::after {
    top: 76%;
  }
}
.p-top_mv__content {
  z-index: 2;
  width: 100%;
  max-width: 710px;
  padding: 0 72px;
  display: flex;
  flex-direction: column;
  gap: 52px;
  margin-top: 2vw;
}
@media screen and (max-width: 768px) {
  .p-top_mv__content {
    padding: 0 20px;
    gap: 16px;
    margin-top: 0px;
  }
}
.p-top_mv__content h2 {
  font-size: 6.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-top_mv__content h2 {
    font-size: 3.2rem;
  }
}

/*--- section-mvv ---*/
.p-top_section-mvv__item {
  border-bottom: solid 1px var(--color-blue-03);
}
.p-top_section-mvv__item .core-value__list {
  display: grid;
  grid-template-columns: 1fr 32px 1fr 32px 1fr;
  align-items: center;
  gap: 16px 20px;
}
@media screen and (max-width: 768px) {
  .p-top_section-mvv__item .core-value__list {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
@media screen and (max-width: 768px) {
  .p-top_section-mvv__item .core-value__list .cross-icon img {
    width: 32px;
  }
}
.p-top_section-mvv__item .core-value__item {
  padding: 24px;
  display: grid;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-top_section-mvv__item .core-value__item {
    padding: 16px;
    width: 100%;
  }
}
.p-top_section-mvv__item .core-value__item img {
  width: 160px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-top_section-mvv__item .core-value__item img {
    width: 120px;
  }
}

/*--- section-about ---*/
.section-message {
  padding-bottom: 0;
}
.section-message .inner {
  gap: 0;
}
.section-message .img-wrapper {
  position: relative;
}
.section-message .img-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: -32px;
  right: 5vw;
  background-image: url(../images/top/astronaut.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.6%;
  aspect-ratio: 2/3;
  animation: float 4s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  .section-message .img-wrapper::after {
    top: -52px;
    width: 8%;
  }
}
@keyframes float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(-6deg);
  }
}
.section-message .img-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 16vw;
  left: 5%;
  background-image: url(../images/top/satellite.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 4.5%;
  aspect-ratio: 2/3;
  animation: float-satellite 6s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  .section-message .img-wrapper::before {
    top: 47vw;
    left: 2%;
    width: 10%;
    animation-name: float-satellite-mobile;
  }
}
@keyframes float-satellite {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-15px) rotate(8deg);
  }
}
@keyframes float-satellite-mobile {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-8px) rotate(8deg);
  }
}
@media screen and (max-width: 1920px) {
  .section-message__img--large {
    display: none;
  }
}
.section-message__img--medium {
  display: none;
}
@media screen and (max-width: 1920px) {
  .section-message__img--medium {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .section-message__img--medium {
    display: none;
  }
}
.section-message__img--small {
  display: none;
}
@media screen and (max-width: 768px) {
  .section-message__img--small {
    display: block;
    margin-top: 80px;
  }
}

/*----------------------------------------------------------*/
/* Labsページ */
/*----------------------------------------------------------*/
.p-labs {
  /*--- section-about ---*/
}
.p-labs .section-about__content {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .p-labs .section-about__content {
    padding: 32px 20px;
  }
}
.p-labs .section-about__img {
  width: 100%;
  max-width: 540px;
}

/*----------------------------------------------------------*/
/* Genkai Programページ */
/*----------------------------------------------------------*/
/*--- section-overview ---*/
.p-genkai-program_section-overview {
  background: linear-gradient(to bottom, #FFFFFF, #f7f6f6);
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-overview__content p.body-large {
    font-size: 1.5rem;
  }
}
.p-genkai-program_section-overview__img {
  margin-top: 40px;
  width: 34%;
  max-width: 132px;
}

/*--- section-ground-segment ---*/
.p-genkai-program_section-ground-segment__content {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-ground-segment__content {
    padding: 24px 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-ground-segment .step__list {
    width: 100%;
  }
}

/*--- section-operations ---*/
.p-genkai-program_section-operations .structure {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .structure {
    padding: 24px 20px;
  }
}
.p-genkai-program_section-operations .structure__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .structure__list {
    grid-template-columns: 1fr;
  }
}
.p-genkai-program_section-operations .structure__item {
  padding: 16px;
}
.p-genkai-program_section-operations .arrow-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .arrow-wrapper {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .arrow-wrapper img {
    width: 20px;
  }
}
.p-genkai-program_section-operations .arrow-wrapper img:first-child {
  padding-right: 26px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .arrow-wrapper img:first-child {
    padding-right: unset;
  }
}
.p-genkai-program_section-operations .arrow-wrapper img:last-child {
  padding-left: 26px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .arrow-wrapper img:last-child {
    padding-right: unset;
  }
}
.p-genkai-program_section-operations .relation {
  display: grid;
  grid-template-columns: 1fr 52px 1fr;
  gap: 16px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .relation {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
    border: solid 1px var(--color-blue-04);
    border-radius: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .relation__arrow {
    transform: rotate(90deg);
    width: 38px;
    margin: 8px auto;
  }
}
.p-genkai-program_section-operations .relation__item {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-operations .relation__item {
    padding: 20px 12px;
  }
}

/*--- section-crew-program ---*/
.p-genkai-program_section-crew-program__content .detail {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 32px 4%;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-crew-program__content .detail {
    grid-template-columns: 1fr;
  }
}
.p-genkai-program_section-crew-program__content .img {
  padding: 0 8%;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-crew-program__content .img {
    padding: 0;
  }
}

/*--- section-crew-app ---*/
.p-genkai-program_section-crew-app__content .detail {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  gap: 32px 6%;
}
@media screen and (max-width: 768px) {
  .p-genkai-program_section-crew-app__content .detail {
    grid-template-columns: 1fr;
  }
}

/*----------------------------------------------------------*/
/* Genkai Program Zeroページ */
/*----------------------------------------------------------*/
/*--- p-genkai-zero_section-overview ---*/
.p-genkai-zero_section-overview .step__item:first-child {
  border: solid 2px var(--color-blue-02);
}

/*--- section-objectives ---*/
.p-genkai-zero_section-objectives__list {
  display: grid;
  gap: 16px;
}

/*--- section-roadmap ---*/
.p-genkai-zero_section-roadmap__content .arrow {
  width: 32px;
  display: block;
}

/*--- section-crew-program ---*/
.p-genkai-zero_section-crew-program__content {
  padding: 32px;
}
@media screen and (max-width: 1000px) {
  .p-genkai-zero_section-crew-program__content .step__list {
    width: 100%;
  }
}

/*--- section-crew-app ---*/
.p-genkai-zero_section-crew-app__content {
  padding: 32px;
  border: solid 1px var(--color-blue-03);
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app__content {
    padding: 20px 12px;
  }
}
.p-genkai-zero_section-crew-app table tbody tr td {
  padding: 16px 8px;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table tbody tr td {
    padding: 16px 8px;
  }
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table th:first-child {
    width: unset;
  }
}
.p-genkai-zero_section-crew-app table thead tr th {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table thead tr th:first-child {
    width: 32%;
  }
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table thead tr th:nth-child(2) {
    width: 36%;
  }
}
.p-genkai-zero_section-crew-app table thead tr th:last-child {
  border-radius: 0 100px 100px 0;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table thead tr th:last-child {
    border-radius: 0 16px 16px 0;
    width: 32%;
  }
}
.p-genkai-zero_section-crew-app table .status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8em;
}
.p-genkai-zero_section-crew-app table .status p {
  width: fit-content;
}
.p-genkai-zero_section-crew-app table .status-color {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 999px;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-crew-app table .status-color {
    width: 6px;
    height: 6px;
  }
}
.p-genkai-zero_section-crew-app table .status-color--progress {
  background-color: #7BD159;
}
.p-genkai-zero_section-crew-app table .status-color--plan {
  background-color: #597BD1;
}
.p-genkai-zero_section-crew-app table .status-color--future {
  background-color: #F86120;
}

/*--- section-crew ---*/
.p-genkai-zero_section-support__content {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-support__content {
    padding: 24px 16px;
  }
}
.p-genkai-zero_section-support__content .support__list {
  display: grid;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-support__content .support__list {
    grid-template-columns: 1fr;
  }
}
.p-genkai-zero_section-support__content .support__item {
  padding: 16px;
}
.p-genkai-zero_section-support__content .support__item .sponsor-type {
  font-size: 1.2rem;
}
.p-genkai-zero_section-support__content .support__item .sponsor-description {
  border-top: solid 1px var(--color-blue-03);
  margin-top: 12px;
  padding-top: 12px;
}
.p-genkai-zero_section-support__content--1 .support__list {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-support__content--1 .support__list {
    grid-template-columns: 1fr;
  }
}
.p-genkai-zero_section-support__content--2 .support__list {
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .p-genkai-zero_section-support__content--2 .support__list {
    grid-template-columns: 1fr;
  }
}
.p-genkai-zero_section-support__content--2 img {
  display: block;
  width: 40px;
}
.p-genkai-zero_section-support .contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-bottom: solid 1px var(--color-black);
  width: fit-content;
}
.p-genkai-zero_section-support .contact-btn img {
  display: inline-block;
  width: 8px;
}

/*--- section-mission-log ---*/
.p-genkai-zero_section-mission-log .mission-log__item {
  display: flex;
  gap: 16px;
  padding: 24px 0;
  border-bottom: solid 1px var(--color-blue-03);
}
.p-genkai-zero_section-mission-log .mission-log__item:first-child {
  padding: 0 0 24px 0;
}
.p-genkai-zero_section-mission-log .mission-log__item:last-child {
  border-bottom: none;
}
.p-genkai-zero_section-mission-log .mission-log__item date {
  width: 120px;
}

/*----------------------------------------------------------*/
/* お問い合わせページ*/
/*----------------------------------------------------------*/
/*----------------------------------------------------------*/
/* プライバシーポリシーページ*/
/*----------------------------------------------------------*/
.p-privacy__content p {
  font-weight: 400;
}
.p-privacy__content ol {
  list-style: auto;
  margin-left: 1em;
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-privacy__content ol {
    font-size: 1.4rem;
  }
}

/*----------------------------------------------------------*/
/* 404ページ・thanksページ */
/*----------------------------------------------------------*/
.section-404,
.section-thanks {
  min-height: calc(100svh - 320px);
  display: flex;
}