body {
  position: relative;
  background-color: #000;
  width: 100%;
  min-width: 320px;
}
#hamburger {
  display: block;
  position: fixed;
  top: 22px;
  right: 25px;
  width: 50px;
  height: 40px;
  z-index: 5;
}
.hamburger-line {
  position: fixed;
  margin-top: 22px;
  left: 80vw;
  background-color: #fff;
  mix-blend-mode: difference;
  z-index: 1;
  width: 30px;
  height: 1.2px;
  border-radius: 0px;
}
#hamburger-line1 {
  top: 0;
}
#hamburger-line2 {
  top: 10.5px;
}
#hamburger-line3 {
  bottom: 0px;
}
#menu-content {
  width: 70%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 80;
  opacity: 0.8;
  background-color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.1em;
}
.menu {
  left: 100%;
  transition: all 0.5s;
}
.open {
  transition: all 0.5s;
  left: 30%;
}
#menu-close {
  position: absolute;
  top: 12px;
  right: 10%;
  width: 50px;
  height: 40px;
}
.menu-line {
  width: 35px;
  height: 1px;
  background-color: #000;
  border-radius: 0px;
}
#menu-line1 {
  position: absolute;
  top: 50%;
  transform: rotate(30deg);
}
#menu-line3 {
  position: absolute;
  top: 50%;
  transform: rotate(-30deg);
}
#menu-ul {
  margin-top: 40%;
  margin-left: 10%;
  margin-bottom: 40%;
}
#menu-li {
  margin-top: 12%;
  margin-left: 15%;
}
.click-obj {
  font-size: 3.5vw;
  letter-spacing: 0.2em;
}
.menu-sub-text {
  font-size: 2vw;
  letter-spacing: 0.2em;
}
#menu-sns {
  position: absolute;
  width: 25vw;
  top: 90vw;
  left: 23%;
  font-family: 'Marcellus', serif;
  font-size: 1.3vw;
  letter-spacing: 0.2em;
}
#menu-instagram-icon {
  position: absolute;
  width: 5.5vw;
  left: 0%;
}
#menu-twitter-icon {
  position: absolute;
  width: 4.75vw;
  margin-left: 39%;
}
#background-img {
  position: fixed;
  width: 179.3%;
  height: 100%;
  top: 0;
  right: 0%;
  opacity: 0.3;
  min-height: 100vh;
}
.corsor-wrapper {
  display: none;
}
.corsor {
  display: none;
}
.img {
  width: 100%;
}
.img-hover-box {
  position: relative;
  overflow: hidden;
}
#top-name-left {
  position: fixed;
  font-family: 'Marcellus', serif;
  color: #fff;
  font-size: 3.5vw;
  letter-spacing: 0.2em;
  margin-left: 25px;
  margin-top: 26px;
  z-index: 1;
  mix-blend-mode: difference;
}
#top-a-img {
  display: block;
  transition: 0.5s all;
  height: 80vw;
  background-image: url("../images/Top/Top01-phone.png");
  background-size: cover;
}
#top-a-txt-a-pc {
  display: none;
}
#top-a-txt-b-pc {
  display: none;
}
#top-a-txt-a-phone {
  position: absolute;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.22em;
  font-size: 5.5vw;
  top: 45%;
  left: 60%;
  pointer-events: none;
}
#top-a-txt-b-phone {
  position: absolute;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 2.5vw;
  top: 61%;
  left: 60%;
  pointer-events: none;
}
#top-b-img {
  display: block;
  transition: 0.5s all;
  height: 80vw;
  background-image: url("../images/Top/Top02-phone.png");
  background-size: cover;
}
#top-b-txt-wrap {
  position: absolute;
  display: flex;
  color: #fff;
  top: 45%;
  left: 12%;
  align-items: center;
  flex-flow: column;
  pointer-events: none;
}
#top-b-txt-a {
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.25em;
  font-size: 5.5vw;
  pointer-events: none;
}
#top-b-txt-b {
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.25em;
  font-size: 2vw;
  pointer-events: none;
}
#top-c-txt {
  display: none;
}
#scroll-txt {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  font-size: 3vw;
  text-align: center;
  width: 100%;
  top: 145vw;
}
#scroll-line {
  border: 0.5px solid #fff;
  width: 0.1px;
  left: 50%;
  top: 148.5vw;
  height: 0vw;
  z-index: 10;
  position: absolute;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
  transform: translateY(50%);
}
#contents-a-wrap {
  position: relative;
  width: 100%;
  height: 280vw;
  background-color: #000;
  padding-top: 10vw;
}
#contents-txt-wrap {
  position: relative;
  width: 100%;
  height: 180vw;
  background-color: #000;
}
#contents-txt-title {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  line-height: 3.7vw;
  font-size: 4.5vw;
  top: 10vw;
  left: 8%;
  pointer-events: none;
}
#contents-txt-a {
  display: none;
}
#contents-txt-a-phone {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.1em;
  line-height: 10vw;
  font-size: 3vw;
  top: 30vw;
  left: 8%;
  padding-right: 8%;
  pointer-events: none;
}
#contents-line-a {
  border: 0.5px solid #fff;
  width: 8vw;
  left: 8%;
  top: 23.5vw;
  height: 0.1px;
  z-index: 1;
  position: absolute;
}
#contents-line-txt-a {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.1vw;
  font-size: 3vw;
  top: 22vw;
  left: 16%;
  pointer-events: none;
}
#contents-line-b {
  border: 0.5px solid #fff;
  width: 8vw;
  left: 27%;
  top: 23.5vw;
  height: 0.1px;
  z-index: 1;
  position: absolute;
}
#contents-line-c {
  border: 0.5px solid #fff;
  width: 8vw;
  left: 8%;
  top: 167.5vw;
  height: 0.1px;
  z-index: 1;
  position: absolute;
}
#contents-line-txt-b {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.1vw;
  font-size: 3vw;
  top: 166vw;
  left: 16%;
  pointer-events: none;
}
#contents-line-d {
  border: 0.5px solid #fff;
  width: 8vw;
  left: 30.5%;
  top: 167.5vw;
  height: 0.1px;
  z-index: 1;
  position: absolute;
}
#contents-txt-b {
  display: none;
}
#contents-txt-b-phone {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.1em;
  line-height: 10vw;
  font-size: 3vw;
  top: 175vw;
  left: 8%;
  padding-right: 8%;
  pointer-events: none;
}
#contents-txt-position {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.5em;
  line-height: 5.1vw;
  font-size: 2.5vw;
  top: 245vw;
  right: 28vw;
  padding-right: 8%;
  pointer-events: none;
}
#contents-txt-name {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.5em;
  line-height: 5.1vw;
  font-size: 3.5vw;
  top: 245vw;
  right: 4vw;
  padding-right: 8%;
  pointer-events: none;
}
#contents-b-wrap {
  position: relative;
  width: 100%;
  height: 96vw;
  background-color: #000;
}
#contents-b-img-pc {
  display: block;
  transition: 0.5s all;
  width: 100vw;
  height: 96vw;
  background-image: url("../images/Top/Top03-phone.png");
  background-size: cover;
}
#contents-b-img-phone {
  display: none;
}
#contents-b-txt-a-sub {
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.6em;
  line-height: 2.3;
  font-size: 3.5vw;
  margin-top: -82%;
  margin-left: 29.7%;
  transform: scale(0.6, 0.6);
  pointer-events: none;
}
#contents-b-txt-a {
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.6em;
  line-height: 2.3;
  font-size: 7vw;
  margin-top: -23%;
  margin-left: 20%;
  transform: scale(0.6, 0.6);
  pointer-events: none;
}
#contents-b-txt-b {
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.35em;
  font-size: 5vw;
  margin: 0 auto;
  transform: translate(-50%, -50%);
  margin-top: 31%;
  margin-left: 50%;
  width: 100%;
  text-align: center;
  pointer-events: none;
}
#contents-b-txt-c {
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.3em;
  font-size: 2.5vw;
  margin: 0 auto;
  transform: translate(-50%, -50%);
  margin-top: 0%;
  margin-left: 50%;
  margin-bottom: 5%;
  width: 50%;
  text-align: center;
  pointer-events: none;
}
#news-txt-wrap {
  position: relative;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.1em;
  font-size: 1.5vw;
  width: 100%;
  height: 190vw;
  background-color: #000;
  padding-top: 7vw;
}
#news {
  padding-top: 5%;
  margin-left: 10%;
  font-family: 'Marcellus', serif;
  font-size: 7vw;
}
.news-text {
  position: relative;
}
.news-text-li {
  margin-left: 10%;
  font-size: 3vw;
}
.news-title-hr {
  width: 90%;
  margin-top: 6%;
}
.news-text-hr {
  width: 90%;
}
.news-date {
  display: flex;
  align-items: center;
  width: 20%;
  height: 9vw;
  margin-top: 3%;
}
.news-content {
  display: flex;
  align-items: center;
  left: 30%;
  width: 81vw;
  height: 7vw;
  margin-top: 8%;
  margin-bottom: 12%;
  line-height: 2.3;
}
#sns-wrap {
  position: relative;
  width: 100%;
  height: 100vw;
}
#sns-txt {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 5vw;
  margin: 0 auto;
  top: 10%;
  left: 10vw;
}
#sns-txt-sub {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  font-size: 2.5vw;
  margin: 0 auto;
  top: 17%;
  left: 10vw;
}
#sns-contact-wrap {
  position: absolute;
  width: 35vw;
  height: 11vw;
  top: 77%;
  left: 32.5vw;
}
#sns-contact {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 4vw;
  margin: 0 auto;
  left: 7vw;
}
#sns-contact-btn {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  font-size: 2.5vw;
  margin: 0 auto;
  top: 60%;
}
#sns-contact-line {
  position: absolute;
  border: 1px solid #fff;
  width: 100%;
  height: 1px;
  z-index: 1;
  top: 100%;
}
.instagram-hover-box {
  overflow: hidden;
}
#sns-instagram-back {
  display: block;
  position: absolute;
  width: 37.5vw;
  height: 37.5vw;
  background-image: url("../images/Top/Top-instagram-back.png");
  background-size: cover;
  transition: 0.5s all;
  top: 30%;
  left: 10vw;
}
#sns-instagram-icon {
  display: block;
  position: absolute;
  width: 7vw;
  height: 7vw;
  background-image: url("../images/Top/Top-instagram-icon.png");
  background-size: cover;
  top: 45%;
  left: 25.25%;
  pointer-events: none;
  z-index: 1;
}
#sns-instagram-txt {
  position: absolute;
  width: 22vw;
  top: 61%;
  left: 18.5vw;
  text-align: center;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 2.5vw;
  pointer-events: none;
  z-index: 1;
}
.twitter-hover-box {
  overflow: hidden;
}
#sns-twitter-back {
  position: absolute;
  display: block;
  width: 37.5vw;
  height: 37.5vw;
  background-image: url("../images/Top/Top-twitter-back.png");
  background-size: cover;
  transition: 0.5s all;
  top: 30%;
  left: 52.5vw;
}
#sns-twitter-back:hover {
  transform: scale(1.1, 1.1);
  transition: 0.5s all;
}
#sns-twitter-icon {
  display: block;
  position: absolute;
  width: 6vw;
  height: 6vw;
  background-image: url("../images/Top/Top-twitter-icon.png");
  background-size: cover;
  top: 45.5%;
  left: 68.5vw;
  pointer-events: none;
}
#sns-twitter-txt {
  position: absolute;
  width: 22vw;
  top: 61%;
  left: 61vw;
  text-align: center;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 2.5vw;
  pointer-events: none;
}
#footer {
  position: relative;
  width: 100%;
  height: 60vw;
  background-color: #000;
}
#footer-name-a {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  font-size: 3vw;
  margin: 0 auto;
  bottom: 70%;
  left: 10vw;
}
#footer-name-b {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  font-size: 4.5vw;
  margin: 0 auto;
  bottom: 55%;
  left: 10vw;
}
#footer-name-c {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.3em;
  font-size: 2.5vw;
  margin: 0 auto;
  bottom: 47%;
  left: 10vw;
}
#footer-instagram-icon {
  position: absolute;
  width: 5.7vw;
  height: 5.7vw;
  background-image: url("../../images/Top/Top-instagram-icon.png");
  background-size: cover;
  bottom: 69.5%;
  right: 10vw;
}
#footer-twitter-icon {
  position: absolute;
  width: 5.2vw;
  height: 5.2vw;
  background-image: url("../../images/Top/Top-twitter-icon.png");
  background-size: cover;
  bottom: 70%;
  right: 20vw;
}
#footer-copyright {
  position: absolute;
  color: #fff;
  width: 100%;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.35em;
  font-size: 2vw;
  margin: 0 auto;
  bottom: 20%;
}
@-moz-keyframes pathmove {
  0% {
    height: 0vw;
    top: 148.5vw;
    opacity: 0;
    transform: translateY(50%);
  }
  30% {
    height: 10vw;
    opacity: 1;
  }
  90% {
    height: 0vw;
    top: 171.5vw;
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%);
  }
}
@-webkit-keyframes pathmove {
  0% {
    height: 0vw;
    top: 148.5vw;
    opacity: 0;
    transform: translateY(50%);
  }
  30% {
    height: 10vw;
    opacity: 1;
  }
  90% {
    height: 0vw;
    top: 171.5vw;
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%);
  }
}
@-o-keyframes pathmove {
  0% {
    height: 0vw;
    top: 148.5vw;
    opacity: 0;
    transform: translateY(50%);
  }
  30% {
    height: 10vw;
    opacity: 1;
  }
  90% {
    height: 0vw;
    top: 171.5vw;
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%);
  }
}
@keyframes pathmove {
  0% {
    height: 0vw;
    top: 148.5vw;
    opacity: 0;
    transform: translateY(50%);
  }
  30% {
    height: 10vw;
    opacity: 1;
  }
  90% {
    height: 0vw;
    top: 171.5vw;
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%);
  }
}
