@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: Noto_Sans_JP;
  src: url(../font/Noto_Sans_JP/static/NotoSansJP-Regular.ttf);
}

@font-face {
  font-family: Noto_Sans_light;
  src: url(../font/Noto_Sans_JP/static/NotoSansJP-Light.ttf);
}

@font-face {
  font-family: Zen_Old_Mincho;
  src: url(../font/Zen_Old_Mincho/ZenOldMincho-Regular.ttf);
}



/* グローバルナビゲーション */

header {
  position: fixed;
  width: 15%;
  height: 44vw;
}

header h1 {
  height: 16vw;
  padding-top: 20%;
}


header h1 a {
  display: block;
  width: 35%;
  height: 80%;
  margin-left: auto;
  margin-right: auto;
}

header h1 a img {
  height: 100%;

}

header nav ul {
  list-style: none;
  width: 100%;
  height: 20vw;
}

header nav ul li {
  width: 100%;
  height: 4vw;
}

header nav ul li a {
  display: inline-block;
  width: 70%;
  height: 2.7vw;
  padding-top: 1.3vw;
  padding-left: 30%;
  text-decoration: none;
  color: #202020;
  font-size: 1vw;
  font-family: Noto_Sans_JP;
  font-weight: bold;
  transition: 0.5s;
}

header nav ul li a:hover {
  background-color: #17184b;
  color: #fff;
  transition: 0.5s;
}

.sns-icon {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: 100%;
  height: 6vw;
}

.fa-brands {
  display: inline-block;
  font-size: 2.5vw;
  color: #202020;
  transition: 1s;
}


.fa-square-x-twitter:hover {
  color: #000;
  transition: 1s;
}

.fa-facebook:hover {
  color: #3B5998;
  transition: 1s;
}

.fa-instagram:hover {
  color: #CF2E92;
  transition: 1s;
}

.fa-youtube:hover {
  color: #FF0000;
  transition: 1s;
}


/* セクション */

main {
  width: 85%;
  margin-left: auto;
  font-family: Noto_Sans_JP;
  background-image: url(../images/BGC-Jupiter.jpg);
  background-attachment: fixed;
  /* background: rgb(0, 0, 70);
  background: linear-gradient(180deg, rgba(0, 0, 70, 1) 35%, rgba(28, 181, 224, 1) 100%); */
}

.flex-wrapper {
  display: flex;
  width: 95%;
  height: 46vw;
  padding-top: 1%;
  padding-left: 5%;
  font-family: Zen_Old_Mincho;
}

.massage {
  width: 40%;
  height: 80%;
  padding-top: 5%;
}




.massage h2 {
  width: 80%;
  margin-bottom: 5%;
  line-height: 2;
  color: #fff;
  font-size: 1.5vw;
  font-family: Noto_Sans_JP;
}

.massage h2::after {
  content: "";
  width: 0%;
  height: 0.2vw;
  background-color: #838B0D;
  transition: 1s;
}

.massage h2:hover::after {
  width: 100%;
  transition: 1s;
}

.massage p {
  width: 95%;
  height: 5vw;
  color: #fff;
  font-size: 3.3vw;
  font-family: Noto_Sans_JP;
}

.massage p:nth-of-type(3) {
  margin-top: 5%;
  font-size: 1.5vw;
}

.mv {
  width: 50%;
}


.mv img {
  vertical-align: bottom;
  width: 100%;
  height: fit-content;
  object-fit: cover;
}

.copy {
  width: 100%;
  height: 25vw;
  padding-top: 10%;
  font-family: Noto_Sans_JP;
}

.copy p {
  width: 70%;
  line-height: 2;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-size: 1.2vw;
  font-family: Noto_Sans_JP;
}

.copy p:nth-child(3) {
  margin-top: 3%;
  margin-bottom: 3%;
}


.wrapper-flexbox {
  width: 95%;
  height: 60vw;
  margin-bottom: 10%;
  padding-top: 1%;
  padding-left: 5%;
  font-family: Noto_Sans_JP;
}


.wrapper-flexbox h2 {
  width: 15%;
  height: 20%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: 9vw;
  font-family: Noto_Sans_light;
  color: #fff;
}


.wrapper-flexbox h3 {
  width: 20%;
  text-align: center;
  margin-bottom: 3%;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.3vw;
  font-family: Noto_Sans_light;
  color: #fff;
}

.flex-leftbox {
  display: flex;
  width: 70%;
  height: 30%;
}

.left-img {
  width: 30%;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }

  50% {
    transform: translate(0, -7px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}

.left-img img {
  vertical-align: bottom;
  width: 100%;
}

.left-content p {
  width: 100%;
  font-size: 1.8vw;
  margin-left: 15%;
  color: #fff;
  font-family: Noto_Sans_JP;
}

.left-content p:nth-child(1) {
  margin-top: 10%;
}

.flex-rightbox {
  display: flex;
  width: 70%;
  height: 30%;
  margin-left: auto;
}

.right-content {
  width: 75%;
}

.right-content p {
  width: 50%;
  margin-left: auto;
  color: #ffdaf4;
  font-size: 1.5vw;
  font-family: Noto_Sans_JP;
}

.right-content p:nth-child(1) {
  margin-top: 30%;
}

.right-img {
  width: 20%;
  margin-right: 5%;
  margin-left: auto;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  background: url(../img/ico-apple.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }

  50% {
    transform: translate(0, -7px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}


.right-img img {
  display: block;
  vertical-align: bottom;
  width: 100%;
  margin-top: 50%;
}


/* sub-section */

.wrapper {
  width: 95%;
  height: 50vw;
  margin-bottom: 20%;
  padding-left: 5%;
  font-family: Noto_Sans_JP;
}

.wrapper-container {
  display: flex;
}

.wrapper p {
  width: 80%;
  margin-top: 4%;
  font-size: 1.4vw;
  color: #fff;
  font-family: Noto_Sans_JP;
}

.wrapper-container h2 {
  width: 26%;
  height: 40%;
  color: #fff;
  font-size: 3.3vw;
  font-family: Noto_Sans_JP;
}

.wrapper-img {
  width: 50%;
  height: 40%;
  margin-left: auto;
  margin-right: 10%;
}

.wrapper-img img {
  vertical-align: bottom;
  width: 100%;
}

.mid-content {
  width: 60%;
  height: 40%;
  margin-bottom: 20%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.mid-content p {
  color: #fff;
  font-size: 1.3vw;
  font-family: Noto_Sans_JP;
}


.wrapper-container2 {
  display: flex;
}

.wrapper-container2 h2 {
  width: 40%;
  height: 40%;
  margin-top: 15%;
  color: #fff;
  font-size: 3.3vw;
  font-family: Noto_Sans_JP;
}


.wrapper-img2 {
  width: 40%;
  height: 40%;
  margin-top: 10%;
  margin-left: auto;
  margin-right: 15%;
}

.wrapper-img2 img {
  vertical-align: bottom;
  width: 100%;
}

.center-content {
  width: 90%;
  margin: 15% auto;
}

.center-content p {
  width: 100%;
  text-align: center;
  font-size: 1.7vw;
  color: #fff;
}


.last-container {
  width: 100%;
  height: 45vw;
}

.last-container>p {
  width: 90%;
  margin-bottom: 3%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #fff;
  font-size: 1vw;
  font-family: Noto_Sans_JP;
}


.last-container h2 {
  width: 90%;
  margin-bottom: 3%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #fff;
  font-size: 1.8vw;
  font-family: Noto_Sans_JP;
}

.last-content {
  width: 90%;
  height: 50%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.last-content p {
  width: 100%;
  line-height: 2.5;
  color: #fff;
  font-size: 3vw;
  font-family: Noto_Sans_JP;
}



/* フッター部分 */
footer {
  width: 85%;
  height: 30vw;
  margin-left: auto;
}

.footer-nav-container {
  display: flex;
  width: 100%;
  height: 18vw;
  margin-right: auto;
}

.footer-nav1 {
  width: 20%;
  height: 13vw;
  margin-top: 6%;
  margin-left: 5%;
  font-family: NotoSerifJP-Regular;
}

.footer-nav1 ul li {
  display: block;
  list-style: none;
  margin-top: 1.5vw;
  margin-left: auto;
  margin-right: auto;
  font-size: 1vw;
}

.footer-nav1 ul li a {
  display: block;
  text-decoration: none;
  width: 10vw;
  font-family: NotoSerifJP-Regular;
  font-weight: bold;
  color: #202020;
  margin-right: auto;
}

.footer-nav1 ul li a::after {
  display: block;
  content: "";
  width: 0%;
  height: 0.2vw;
  background-color: #838B0D;
  transition: 1s;
}

.footer-nav1 ul li a:hover::after {
  width: 100%;
  transition: 1s;
}

address {
  width: 95%;
  height: 7vw;
  margin-top: 3%;
  margin-left: 5%;
  font-style: normal;
  font-size: 1.3vw;
  font-family: NotoSerifJP-Regular;
  line-height: 1.5;
  font-weight: bold;
  color: #202020;
}

footer p {
  width: 100%;
  line-height: 1.7;
  text-align: center;
  color: #202020;
}