body {
  height: 100vh;
}

main {
  display: none;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
}

/* 左 */
section {
  width: 50%;
  height: 100%;
  padding: 3%;
  background: var(--theme-color);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.logo {
  width: min(20vw, 20vh);
}

.contents {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  align-self: center;
}

.contents > div {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.title {
  width: 55%;
  font-size: clamp(3rem, min(4.2vw, 6vh), 5rem);
  text-align: left;
  letter-spacing: 7px;
  line-height: 1.2;
  color: white;
  text-shadow: 0 0 10px var(--theme-color);
}

.message {
  width: 60%;
  margin: 2% 0 5%;
  font-size: clamp(0.8rem, min(1.6vw, 3vh), 2.5rem);
  text-align: left;
  letter-spacing: 0.2vw;
  line-height: 1.9;
  color: white;
}

.message p:first-of-type {
  margin-left: 0.8vw;
}

.message img {
  width: 70%;
}

#startButton {
  width: 55%;
  transition: 0.3s;
}

#startButton:hover {
  transform: scale(1.1);
}

#startButton img {
  width: 100%;
  border-radius: 42px;
}

p.copyright {
  font-size: 1vw;
  color: white;
}

/* 右 */
.intro {
  width: 50%;
  height: 100%;
  position: relative;
}

.scrollBottles {
  width: 100%;
  height: 100%;
  position: absolute;
  left: -10px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  background-color: white;
}

.scrollBottles .bottles {
  width: 100%;
  background-image: url(/img/png/top/bottles.png);
  background-size: 95%;
  background-repeat: repeat-y;
  animation: scrollBottles 60s linear infinite;
}

@keyframes scrollBottles {
  from {
    background-position-y: 0 -30px;
  }
  to {
    background-position: 0 -1774px;
  }
}

.blurFilter {
  filter: blur(10px);
}

.essay {
  display: none;
  width: 90%;
  margin: 5rem auto;
  z-index: 10;
  padding: 70px 0;
  color: var(--intro-text);
  letter-spacing: 2px;
  line-height: 2.5;
  background-color: white;
  border-radius: 50px;
  /* box-shadow: 0px 0px 15px var(--theme-color); */
  box-shadow: 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.1),
    0 1.6px 3.6px 0 rgba(0, 0, 0, 0.13);
}

.essay > div {
  width: 70%;
  margin: auto;
  display: flex;
  flex-direction: column;
}

.introTitle {
  font-size: 1.2vw;
  margin-bottom: 3.5rem;
}

.sentences > div {
  font-size: 1.1vw;
  margin-bottom: 3rem;
}

.scrollable {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-y: auto;
}

#nextButton {
  width: 60%;
  transition: 0.3s;
  align-self: center;
}

#nextButton:hover {
  transform: scale(1.1);
}

.essay button img {
  width: 100%;
  border-radius: 42px;
}

.fadeIn {
  display: block;
  animation: fadeIn 1s ease-in-out;
}

@media screen and (orientation: portrait) and (min-width: 960px) {
  .intro {
    justify-content: center;
  }
}

@media screen and (max-width: 959px) {
  body {
    height: 100%;
  }

  main {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
    overflow-x: hidden;
  }

  /* 上 */
  section {
    width: 100%;
    height: fit-content;
    min-height: auto;
    padding: 7% 3%;
    top: 50%;
    transform: translateY(-50%);
    background: var(--theme-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    z-index: 10;
    box-shadow: 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.1),
      0 1.6px 3.6px 0 rgba(0, 0, 0, 0.13), 0 -0.3px 0.9px 0 rgba(0, 0, 0, 0.1),
      0 -1.6px 3.6px 0 rgba(0, 0, 0, 0.13);
  }

  .logo {
    width: 100%;
    padding: 0 0 5vh;
    display: flex;
    justify-content: center;
    align-content: flex-end;
  }

  .logo img {
    width: 20vw;
  }

  .contents {
    height: fit-content;
  }

  .contents div {
    height: fit-content;
  }

  .title {
    width: 100%;
    font-size: 12vw;
    letter-spacing: 3px;
    text-align: center;
  }

  .message {
    font-size: 4vw;
    text-align: center;
  }

  .message p:first-of-type {
    margin-left: 0;
  }

  #startButton {
    width: 50vw;
  }

  #startButton:hover {
    transform: scale(1);
  }

  /* 下 */
  .intro {
    width: 100%;
    min-height: 20%;
    position: absolute;
    display: flex;
    justify-content: center;
    overflow: hidden;
  }

  .scrollBottles {
    width: 114%;
    margin-left: -10px;
    height: 100%;
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }

  .essay {
    position: absolute;
    top: 56vh;
    z-index: 30;
    padding: 12% 0;
  }

  .essay > div {
    width: 90%;
    margin: auto;
    display: flex;
    flex-direction: column;
    text-align: center;
  }

  .introTitle {
    font-size: 4vw;
    margin-bottom: 2rem;
  }

  .sentences > div {
    font-size: 4vw;
    margin-bottom: 3rem;
  }

  #nextButton:hover {
    transform: scale(1);
  }

  #nextButton img {
    width: 45vw;
    margin: auto;
  }

  .footer.sp {
    display: none;
    width: 100%;
    height: 68px;
    bottom: 0;
    justify-content: center;
    align-items: center;
    background-color: var(--theme-color);
    position: absolute;
    color: white;
    font-size: 3.2vw;
  }
}

@media screen and (orientation: landscape) and (max-width: 959px) {
  section {
    height: 70%;
    min-height: 70vh;
  }

  .logo img {
    width: 10%;
  }

  .title {
    font-size: 10vh;
    line-height: 1;
  }

  .message {
    font-size: 3vh;
    line-height: 1.5;
    margin: 2% 0;
  }

  #startButton {
    width: 36vh;
  }

  .essay {
    top: 40vh;
  }

  .introTitle {
    font-size: 2vw;
  }

  .sentences > div {
    font-size: 2.8vw;
  }

  #nextButton img {
    width: 24vw;
  }
}
