@charset "utf-8";

/* 共通  */
.pc {
  display: none;
}

/* 共通  */
.c-link {
  width: 100%;
  max-width: 35rem;
}

@media screen and (max-width: 389px) {
  .c-link {
    font-size: 1.8rem;
  }
}

.c-heading h2 {
  font-size: 2.8rem;
  line-height: 1.36;
}

.c-heading p {
  font-size: 1.4rem;
}

.c-txt {
  font-size: 1.4rem;
}

main {
  padding-top: 6.4rem;
}



/*------------------------------ 追従バナー ------------------------------*/
#fixed-banner {
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
}



/*------------------------------ ヘッダー ------------------------------*/
@media screen and (max-width: 375px) {
  header .large-container .logo-nav .logo {
    width: 12rem;
  }
}

header .large-container .registration {
  width: 9.6rem;
  height: 4.6rem;
  font-size: 1.4rem;
  line-height: 1.36;
  border-radius: .4rem;
  margin-right: 4.6rem;
}

header:has(nav.active) .large-container .registration {
  display: none;
}

header .large-container nav {
  position: fixed;
  top: 6.4rem;
  left: 100%;
  background-color: #ECF0F4;
  width: 100vw;
  height: calc(100vh + 6.4rem);
  padding-top: 2.7rem;
  opacity: 0;
  pointer-events: none;
}

header .large-container nav.active {
  transition: opacity .6s cubic-bezier(.23, 1, .32, 1) 0s, left .6s cubic-bezier(.23, 1, .32, 1) 0s;
  opacity: 1;
  pointer-events: auto;
  left: 0;
}

header .large-container nav ul {
  flex-direction: column;
  width: 90%;
  margin-inline: auto;
}

header .large-container nav ul li {
  border-bottom: 1px solid #D3D3D3;
  position: relative;
  opacity: 0;
  left: -5rem;
}

header .large-container nav.active ul li {
  transition: opacity .6s ease-out, left .6s ease-out;
  opacity: 1;
  left: 0;
}

header .large-container .active ul li:first-of-type {
  transition-delay: .3s;
}

header .large-container .active ul li:nth-of-type(2) {
  transition-delay: .4s;
}

header .large-container .active ul li:nth-of-type(3) {
  transition-delay: .5s;
}

header .large-container .active ul li:nth-of-type(4) {
  transition-delay: .6s;
}

header .large-container nav ul li::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 2.6rem;
  transform: rotate(45deg) translateY(-50%);
  border-top: 2px solid #757575;
  border-right: 2px solid #757575;
  width: 1.5rem;
  height: 1.5rem;
}

header .large-container nav ul li:first-of-type {
  border-top: 1px solid #D3D3D3;
}

header .large-container nav ul li a {
  padding: 2rem 1.8rem;
}

header .large-container nav .c-link {
  width: 90%;
}

header .large-container .hamburger {
  position: absolute;
  width: 2.6rem;
  height: 2rem;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  cursor: pointer;
}

header .large-container .hamburger span {
  position: absolute;
  height: .2rem;
  background-color: #333333;
  left: 0;
  transition: .5s;
  width: 100%;
}

header .large-container .hamburger span:first-of-type {
  top: 0;
}

header .large-container .hamburger.active span:first-of-type {
  transform: rotate(39deg);
  transform-origin: left top;
  width: 3rem;
}

header .large-container .hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

header .large-container .hamburger.active span:nth-of-type(2) {
  opacity: 0;
  transition: none;
}

header .large-container .hamburger span:last-of-type {
  bottom: 0;
}

header .large-container .hamburger.active span:last-of-type {
  transform: rotate(-39deg);
  transform-origin: left bottom;
  width: 3rem;
}

header .large-container .logo-nav nav ul {
  margin-bottom: 4rem;
}

header .large-container .logo-nav nav ul li a {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2.11;
  width: 100%;
}

header .large-container .logo-nav nav .img {
  text-align: center;
  margin-bottom: 1.6rem;
  width: 90%;
  margin-inline: auto;
}



/* ファーストビュー  */
#top .fv .contents {
  bottom: 4.8rem;
  right: 0;
  white-space: nowrap;
}

@media screen and (max-width: 550px) {
  #top .fv .contents {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 400px) {
  #top .fv .contents {
    width: 90%;
    margin-inline: auto;
  }
}

#top .fv .contents h2 {
  font-size: 6.4rem;
  margin-bottom: 2rem;
}

@media screen and (max-width: 550px) {
  #top .fv .contents h2 {
    font-size: 4.4rem;
    margin-bottom: 1.6rem;
  }
}

@media screen and (max-width: 350px) {
  #top .fv .contents h2 {
    font-size: 4rem;
  }
}

#top .fv .contents p {
  margin-bottom: 4.8rem;
  font-size: 2.2rem;
}

@media screen and (max-width: 550px) {
  #top .fv .contents p {
    margin-bottom: 2.8rem;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 350px) {
  #top .fv .contents p {
    font-size: 1.6rem;
  }
}

#top .fv .contents .img {
  margin-bottom: 1.6rem;
}

#top .fv .large-container {
  width: 76.8rem;
  height: 91.4rem;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 390px) {
  #top .fv .large-container {
    width: 39rem;
    height: 73.4rem;
  }
}

#top .fv .large-container .orange-shape {
  position: absolute;
  top: 0;
  left: 0;
}

#top .fv .large-container .navy-shape {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

#top .fv .large-container .person {
  top: 0;
  left: 5%;
  z-index: 1;
}

@media screen and (max-width: 390px) {
  #top .fv .large-container .person {
    top: 2rem;
  }
}

#top .fv .large-container .person .img {
  width: 56.3rem;
  height: 60.4rem;
}

@media screen and (max-width: 390px) {
  #top .fv .large-container .person .img {
    width: 32.7rem;
    height: 35.1rem;
  }
}



/* お悩み */
#top .worries {
  padding-top: 6.4rem;
}

#top .worries .inner .emphasis-top {
  font-size: 2.4rem;
  line-height: 1.584;
}

#top .worries .inner .emphasis-bottom {
  font-size: 2.4rem;
  line-height: 1.25;
}

@media screen and (max-width: 400px) {
  #top .worries .inner .emphasis-bottom {
    font-size: 2rem;
  }
}

#top .worries .inner .emphasis-bottom span {
  font-size: 3.2rem;
  padding: 0 .2rem;
}

@media screen and (max-width: 400px) {
  #top .worries .inner .emphasis-bottom span {
    font-size: 2.4rem;
  }
}

#top .worries .inner ul {
  padding: 2rem 1.4rem;
  transform: translateY(-3rem);
}

#top .worries .inner ul li {
  align-items: baseline;
}

#top .worries .inner ul li .img {
  width: 2.6rem;
}

#top .worries .inner ul li:not(:last-of-type) {
  margin-bottom: 1.25rem;
}

#top .worries .inner ul li p {
  font-size: 1.8rem;
  line-height: 1.56;
  width: calc(100% - 3.8rem);
}

@media screen and (max-width: 400px) {
  #top .worries .inner ul li p {
    font-size: clamp(1.4rem, 4.2vw, 1.7rem);
  }
}



/* 解決 */
#top .solution {
  padding: 0 0 4.2rem;
}

#top .solution .bg-dot {
  background-size: 2.3rem 2.3rem;
}

#top .solution .bg-dot1 {
  width: 24rem;
  height: 24rem;
  left: -7rem;
  bottom: 0;
}

#top .solution .bg-dot2 {
  width: 11rem;
  height: 11rem;
  right: -1rem;
  bottom: 12rem;
}

#top .solution .large-container .on-solution {
  height: 8rem;
  margin-bottom: 4.8rem;
}

#top .solution .large-container .on-solution .bg-dot3 {
  width: 15rem;
  height: 15rem;
  top: 7rem;
  right: 5%;
}

#top .solution .large-container .contents .emphasis-top {
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
  line-height: 2.2;
}

#top .solution .large-container .contents .emphasis-top span {
  font-size: 3.2rem;
  line-height: 1.1875;
}

#top .solution .large-container .contents .emphasis-top span:first-of-type {
  margin-right: .2rem;
  background: linear-gradient(transparent 70%, #FFED89 30%) 0 -.1rem;
}

#top .solution .large-container .contents .emphasis-top span:last-of-type {
  margin: 0 .8rem;
}

#top .solution .large-container .contents .emphasis-bottom {
  font-size: 1.8rem;
  margin-bottom: 4.2rem;
}



/* スカイサイドとは？  */
#top .overview {
  padding: 8.1rem 0 3rem;
}

#top .overview .bg-circle {
  top: 2.54rem;
  left: -1.7rem;
  width: 7.154rem;
  height: 7.154rem;
}

#top .overview .bg-large-circle {
  top: 13.57rem;
  right: -5.2rem;
  width: 13.303rem;
  height: 13.303rem;
}

#top .overview .inner .txt-img {
  margin-bottom: 26.3rem;
  flex-direction: column;
  gap: 1.7rem 0;
}

#top .overview .inner .bg-txt {
  top: 30rem;
  left: -2rem;
  font-size: 8.3rem;
}

#top .overview .inner .c-heading {
  margin-bottom: 2.8rem;
}

#top .overview .inner .txt-img .txt {
  width: 100%;
}

#top .overview .inner .txt-img .txt p:not(:last-of-type) {
  margin-bottom: 1.8rem;
}

#top .overview .inner .txt-img .img {
  width: 100%;
}

#top .overview .inner .txt-img .img img {
  width: 35.7rem;
  top: 0;
  right: -6.2rem;
}



/* スカイサイドが選ばれる4つの理由  */
#top .benefit {
  padding: 7.2rem 0 4.2rem;
}

#top .benefit .c-heading {
  margin-bottom: 4.2rem;
}

#top .benefit .inner .reason {
  gap: 4rem 0;
  margin-bottom: 4.2rem;
}

#top .benefit .inner .reason .each-reason {
  width: 100%;
}

#top .benefit .inner .reason .each-reason .img {
  margin-bottom: 1.6rem;
}

#top .benefit .inner .reason .each-reason h3 {
  font-size: 2rem;
  margin-bottom: 1.2rem;
}



/* パイロット一覧  */
#top .pilots {
  padding: 7.2rem 0 4.2rem;
}

#top .pilots .bg-dot:first-of-type {
  bottom: 9.9rem;
  left: -17.5rem;
}

#top .pilots .bg-dot:nth-of-type(2) {
  top: 3.4rem;
  right: -5.6rem;
}

#top .pilots .large-container .c-heading {
  margin-bottom: 4.2rem;
}

#top .pilots .large-container .swiper {
  margin-bottom: 7.8rem;
}

#top .pilots .large-container .swiper .swiper-button-prev {
  width: 4.8rem;
  height: 4.8rem;
}

#top .pilots .large-container .swiper .swiper-button-prev::before {
  width: .9rem;
  height: .9rem;
}

@media screen and (max-width: 350px) {
  #top .pilots .large-container .swiper .swiper-button-prev {
    opacity: .8;
  }
}

#top .pilots .large-container .swiper .swiper-button-next {
  width: 4.8rem;
  height: 4.8rem;
}

@media screen and (max-width: 350px) {
  #top .pilots .large-container .swiper .swiper-button-next {
    opacity: .8;
  }
}

#top .pilots .large-container .swiper .swiper-button-next::before {
  width: .9rem;
  height: .9rem;
}

#top .pilots .large-container .swiper .swiper-wrapper .swiper-slide a .contents h3 {
  margin-bottom: 1.4rem;
}

#top .pilots .large-container .swiper .swiper-wrapper .swiper-slide a .contents h4 {
  margin-bottom: 1rem;
}

#top .pilots .large-container .swiper .swiper-wrapper .swiper-slide a .contents .term-wrapper p {
  font-size: 1.2rem;
}

#top .pilots .large-container .swiper-pagination {
  bottom: 10rem;
}

#top .pilots .large-container .c-link {
  width: 90%;
  margin-inline: auto;
}



/* 人気のカテゴリ  */
#top .categories .large-container {
  padding: 7.2rem 0 4.2rem;
}

#top .categories .large-container .c-heading {
  margin-bottom: 4.2rem;
}

#top .categories .large-container .category-wrap {
  gap: 1.2rem;
  margin-bottom: 4.2rem;
}

#top .categories .large-container .category-wrap a {
  font-size: 1.4rem;
  padding: 1rem 1.8rem;
}

#top .categories .large-container .c-link {
  width: 90%;
  margin-inline: auto;
}



/* 利用者の声  */
#top .voices {
  padding: 7.2rem 0 10.8rem;
}

#top .voices .inner {
  position: relative;
}

#top .voices .inner .c-heading {
  margin-bottom: 4.2rem;
}

#top .voices .inner .voice-wrap .each-voice h3 {
  font-size: 2rem;
  margin-bottom: 1.6rem;
}

#top .voices .inner .voice-wrap .each-voice p {
  padding: 1.8rem;
  margin-bottom: 3rem;
}

#top .voices .inner .voices-pagination {
  bottom: -3.6rem;
  z-index: 0;
}

#top .voices .inner .voices-pagination .swiper-pagination-bullet {
  background-color: #E7E7E7;
  opacity: 1;
  width: 1rem;
  height: 1rem;
  margin: 0 .7rem;
}

#top .voices .inner .voices-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--c-orange);
}



/* 仕事を受注する流れ  */
#top .flow {
  padding: 0 0 4.2rem;
}

#top .flow {
  background-color: #FFFAD0;
}

#top .flow .inner {
  width: 100%;
}

#top .flow .inner .c-heading {
  padding-top: 7.2rem;
}

#top .flow .inner .each-flow:first-of-type {
  padding-bottom: 4.2rem;
}

#top .flow .inner .each-flow:last-of-type {
  padding-bottom: 4.2rem;
}

#top .flow .inner .c-link {
  width: 90%;
  margin-inline: auto;
}

#top .flow .inner .c-heading {
  background-color: #FFFCE6;
}

#top .flow .inner .each-flow:first-of-type {
  background-color: #FFFCE6;
}

#top .flow .inner .each-flow:last-of-type {
  background-color: #FFFAD0;
}

#top .flow .inner .flow-wrap {
  flex-direction: column;
}

#top .flow .inner .flow-wrap .each-flow {
  width: 100%;
  padding-top: 4.2rem;
}

#top .flow .inner .flow-wrap .each-flow .img {
  margin-bottom: 2.7rem;
}

#top .flow .inner .flow-wrap .each-flow .img img {
  max-width: 12rem;
}

#top .flow .inner .flow-wrap .each-flow h3 {
  font-size: 1.8rem;
  margin-bottom: 2.6rem;
}

#top .flow .inner .flow-wrap .each-flow .step {
  gap: 0 1rem;
  padding: 1.8rem 1.2rem;
  width: 90%;
  margin-inline: auto;
}

#top .flow .inner .flow-wrap .each-flow .step:not(:last-of-type) {
  margin-bottom: 4.1rem;
}

#top .flow .inner .flow-wrap .each-flow .step:not(:last-of-type)::before {
  top: calc(100% + .4rem);
  width: 1.6rem;
  height: 1.6rem;
}

#top .flow .inner .flow-wrap .each-flow .step:not(:last-of-type)::before {
  border-right: .4rem solid var(--c-orange);
  border-bottom: .4rem solid var(--c-orange);
}

#top .flow .inner .flow-wrap .each-flow .step:not(:last-of-type)::after {
  top: calc(100% + 1.4rem);
  width: 1.6rem;
  height: 1.6rem;
}

#top .flow .inner .flow-wrap .each-flow .step:not(:last-of-type)::after {
  border-right: .4rem solid var(--c-orange);
  border-bottom: .4rem solid var(--c-orange);
}

#top .flow .inner .flow-wrap .each-flow .step .contents h4 {
  font-size: 1.8rem;
}



/* 安心してご利用できる仕組み */
#top .safety {
  padding: 7.2rem 0 4.2rem;
}

#top .safety .container .c-heading {
  margin-bottom: 4.2rem;
}

#top .safety .container .safety-wrap {
  gap: 2rem 0;
  padding: 2.2rem 2rem;
}

#top .safety .container .safety-wrap .each-safety {
  width: 100%;
}

#top .safety .container .safety-wrap .each-safety .img-heading {
  gap: 0 .8rem;
  margin-bottom: .8rem;
}

#top .safety .container .safety-wrap .each-safety .img-heading .img {
  width: 4.3rem;
}

#top .safety .container .safety-wrap .each-safety .img-heading h3 {
  font-size: 1.8rem;
}



/* よくある質問 */
#top .faq {
  padding: 7.2rem 0;
}

#top .faq .inner .c-heading {
  margin-bottom: 4.2rem;
}

#top .faq .inner .faq-wrap {
  gap: 2rem 0;
  margin-bottom: 4.2rem;
}

#top .faq .inner .faq-wrap .each-faq summary {
  align-items: baseline;
  gap: 0 .8rem;
  padding: 1.4rem 5.2rem 1.4rem 1.2rem;
}

#top .faq .inner .faq-wrap .each-faq summary span:first-of-type {
  width: 3.2rem;
  height: 3.2rem;
  font-size: 1.7rem;
}

#top .faq .inner .faq-wrap .each-faq summary span:last-of-type {
  width: calc(100% - 4rem);
}

#top .faq .inner .faq-wrap .each-faq summary::before {
  right: 2.1rem;
}

#top .faq .inner .faq-wrap .each-faq summary::after {
  right: 1.2rem;
}

#top .faq .inner .faq-wrap .each-faq p {
  padding: 0 2rem;
}

#top .faq .inner .faq-wrap .each-faq[open] p {
  padding: 1.4rem 2rem;
}



/*------------------------------ 事前登録------------------------------*/
.sign-up {
  padding: 7.2rem 0;
  position: relative;
  overflow: hidden;
}

.sign-up .bg-circle {
  position: absolute;
  top: -7rem;
  left: -7rem;
  width: 17rem;
  height: 17rem;
  -webkit-mask: url(../img/dot-circle.svg) no-repeat center center / contain;
  mask-image: url(../img/dot-circle.svg);
  background-color: #FAC864;
}

.sign-up .start-skyside {
  padding: 4.8rem 1.8rem;
  margin-bottom: 4rem;
}

.sign-up .start-skyside .bg-left {
  width: 25rem;
}

.sign-up .start-skyside .bg-right {
  width: 35rem;
}

.sign-up .start-skyside .img {
  margin-bottom: 2.4rem;
}

.sign-up .start-skyside p:first-of-type {
  font-size: 2.8rem;
  margin-bottom: 2rem;
  line-height: 1.215;
}

.sign-up .start-skyside p:last-of-type {
  margin-bottom: 4rem;
}



/*------------------------------ フッター ------------------------------*/
footer {
  padding-top: 3.6rem;
}

footer .container .instagram {
  margin-bottom: 3.6rem;
}

footer .container .instagram a {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
}

footer .img {
  text-align: center;
  background-color: #D3D3D3;
}

footer .img img {
  opacity: 0;
  pointer-events: none;
}