/* ------------------------------------------------------

    variables

------------------------------------------------------ */
:root {
  --fontNotoSelf: "Noto Serif JP", serif;
}

/* ------------------------------------------------------

    Base

------------------------------------------------------ */
html {
  font-size: calc(1vw * 100 / 1920);
  scroll-behavior: smooth;
}

@media screen and (max-width: 1000px) {
  html {
    font-size: 1px;
  }
}

.for-sp {
  display: none;
}

@media screen and (max-width: 500px) {
  .for-sp {
    display: block;
  }
}

/* ------------------------------------------------------

    Layout

------------------------------------------------------ */
.footer {
  background: #000;
  padding: 80rem 0 72rem;
}

.footer__logo {
  text-align: center;
}

.footer__logo img {
  width: 224rem;
}

.footer__copyright {
  color: #fff;
  font-family: var(--fontNotoSelf);
  font-size: 20rem;
  margin-top: 40rem;
  text-align: center;
}

@media screen and (max-width: 1080px) {
  .footer {
    padding: calc(100px / 2) 0 calc(60px / 2);
  }

  .footer__logo img {
    height: calc(90px / 2);
    width: auto;
  }

  .footer__copyright {
    font-size: calc(20px / 2);
    margin-top: calc(40px / 2);
  }
}

/* ------------------------------------------------------

    Anime

------------------------------------------------------ */

/* modal 
--------------------------------------- */
.comment-button {
  margin-top: -4rem !important;
}

.comment-button span {
  border-bottom: 2px solid #fff;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: var(--fontNotoSelf);
  font-size: 16rem;
  font-weight: 500;
  padding-bottom: 8rem;
  padding-left: 30rem;
  position: relative;
}

.comment-button span::before {
  background: url("../images/icon_comment_purple.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  height: 20rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: -5rem;
  width: 23rem;
}

@media screen and (max-width: 1080px) {
  .comment-button {
    margin-top: 0 !important;
  }

  .comment-button span {
    font-size: calc(18px / 2);
    padding-left: calc(40px / 2);
  }

  .comment-button span::before {
    height: calc(28px / 2);
    left: 0;
    top: -6px;
    width: calc(33px / 2);
  }
}

.modal {
  align-items: center;
  bottom: 0;
  display: flex;
  height: 100vh;
  justify-content: center;
  opacity: 0;
  position: fixed;
  right: 192rem;
  top: 0;
  transform: translateY(-20px);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s;
  visibility: hidden;
  width: auto;
  z-index: 1000;
}

.modal.open {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.modalWindow {
  background: #fff;
  padding: 50rem 48rem 40rem;
  width: 760rem;
}

.modal__wrapper {
  position: relative;
}

.modalWindow__head {
  text-align: center;
}

.modalWindow__head span {
  background: #8f5aa3;
  color: #fff;
  display: inline-block;
  font-size: 24rem;
  padding: 4rem 8rem;
}

.modalWindow__name {
  font-family: var(--fontNotoSelf);
  font-size: 40rem;
  font-weight: 500;
  margin-top: 24rem;
  text-align: center;
}

.modalWindow__text {
  font-size: 18rem;
  line-height: 2;
  margin-top: 48rem;
}

.modalWindow__logo {
  margin-top: 16rem;
  text-align: right;
}

.modalWindow__logo img {
  height: 105rem;
  width: 165rem;
}

.close-button {
  cursor: pointer;
  height: 45rem;
  position: absolute;
  right: 24rem;
  top: 24rem;
  width: 45rem;
}

.close-button::before {
  background: #8f5aa3;
  content: "";
  height: 45rem;
  position: absolute;
  right: 24rem;
  top: 0;
  transform: rotate(45deg);
  width: 1rem;
}

.close-button::after {
  background: #8f5aa3;
  content: "";
  height: 45rem;
  position: absolute;
  right: 24rem;
  top: 0;
  transform: rotate(-45deg);
  width: 1rem;
}

@media screen and (max-width: 1080px) {
  .modal {
    align-items: center;
    display: flex;
    height: auto;
    justify-content: center;
    left: 0;
    max-height: 90vh;
    max-width: 100%;
    opacity: 0;
    overflow-y: auto;
    padding: 0;
    position: fixed;
    top: 5vh;
    transition: opacity 0.3s ease-in-out, visibility 0.3s;
    visibility: hidden;
    width: 100%;
  }

  .modalWindow {
    background: #fff;
    max-height: 100%;
    max-width: 100%;
    overflow-y: auto;
    padding: 45px 30px 40px;
    width: 100%;
  }

  .modal.open {
    opacity: 1;
    visibility: visible;
  }

  body.modal-open {
    overflow: hidden;
  }

  .modal__wrapper {
    height: 100%;
    position: relative;
  }

  .modalWindow__head {
    text-align: center;
  }

  .modalWindow__head span {
    font-size: 16px;
    padding: 4px 8px;
  }

  .modalWindow__name {
    font-size: calc(60px / 2);
    font-weight: 500;
    margin-top: 20px;
  }

  .modalWindow__text {
    font-size: calc(30px / 2);
    line-height: 2;
    margin-top: 25px;
  }

  .modalWindow__logo {
    margin-top: 16rem;
    text-align: right;
  }

  .modalWindow__logo img {
    height: 105rem;
    width: 165rem;
  }

  .close-button {
    height: 25px;
    right: 12px;
    top: 12px;
    width: 25px;
  }

  .close-button::before {
    height: 25px;
    right: 12px;
  }

  .close-button::after {
    height: 25px;
    right: 12px;
    width: 1px;
  }
}

/* fadeBg 
--------------------------------------- */
.js-fadeBg {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: opacity 0.7s ease-in-out;
  width: calc(100% - 800rem);
  z-index: -1;
}

.js-fadeBg.is-show {
  opacity: 1;
}

.bg__01 {
  background-image: url("../images/img-section_bg_1.png");
  opacity: 1;
}

.bg__02 {
  background-image: url("../images/img-section_bg_2.png");
}

.bg__03 {
  background-image: url("../images/img-section_bg_3.png");
}

.bg__04 {
  background-image: url("../images/img-section_bg_4.png");
  background-position: center center;
}

@media screen and (max-width: 1080px) {
  .js-fadeBg {
    width: 100%;
  }

  .bg__01 {
    background-image: url("../images/img-section_bg_1.png");
    opacity: 1;
  }

  .bg__02 {
    background-image: url("../images/img-section_bg_2.png");
  }
}
