.img-hover-box {
  position: relative;
  overflow: hidden;
}
#top-name-left {
  position: fixed;
  color: #fff;
  font-family: 'Marcellus', serif;
  font-size: 1.3vw;
  letter-spacing: 0.2em;
  margin-left: 25px;
  margin-top: 24px;
  z-index: 1;
  mix-blend-mode: difference;
}
#hamburger {
  z-index: 5;
}
.hamburger-line {
  position: fixed;
  margin-top: 22px;
  left: auto;
  right: 25px;
  background-color: #fff;
  mix-blend-mode: difference;
  z-index: 1;
}
#top-a-img {
  display: block;
  transition: 0.5s all;
  height: 28.1vw;
  background-image: url("../images/Top/Top01.png");
  background-size: cover;
}
#top-a-img:hover {
  transform: scale(1.05, 1.05);
}
#top-a-txt-a-pc {
  position: absolute;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.22em;
  font-size: 2.5vw;
  top: 45%;
  left: 55%;
  pointer-events: none;
}
#top-a-txt-b-pc {
  position: absolute;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 1vw;
  top: 56%;
  left: 58%;
  pointer-events: none;
}
#top-a-txt-a-phone {
  display: none;
}
#top-a-txt-b-phone {
  display: none;
}
#top-b-img {
  display: block;
  transition: 0.5s all;
  height: 28.1vw;
  background-image: url("../images/Top/Top02.png");
  background-size: cover;
}
#top-b-img:hover {
  transform: scale(1.05, 1.05);
}
#top-b-txt-a {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.5em;
  font-size: 2.5vw;
  pointer-events: none;
  top: 45%;
  left: 25%;
}
#top-b-txt-b {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 1vw;
  pointer-events: none;
  top: 56%;
  left: 25.7%;
}
#top-c-txt {
  position: absolute;
  color: #000;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.8em;
  line-height: 3.7;
  font-size: 2vw;
  top: 11vw;
  left: 85%;
  pointer-events: none;
}
#scroll-txt {
  display: none;
}
#contents-a-wrap {
  position: relative;
  width: 100%;
  height: 72vw;
  background-color: #000;
}
#contents-txt-wrap {
  position: relative;
  width: 100%;
  height: 70vw;
  background-color: #000;
  margin-bottom: 5vw;
}
#contents-txt-title {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.7vw;
  font-size: 1.8vw;
  top: 15vw;
  left: 84.5%;
  pointer-events: none;
}
#contents-txt-a {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.4vw;
  font-size: 1vw;
  top: 15vw;
  left: 37.5%;
  pointer-events: none;
}
#contents-txt-a-phone {
  display: none;
}
#contents-line-a {
  border: 0.5px solid #fff;
  width: 0.1px;
  left: 80.5%;
  top: 15vw;
  height: 3vw;
  z-index: 1;
  position: absolute;
}
#contents-line-txt-a {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.1vw;
  font-size: 1vw;
  top: 18.5vw;
  left: 79%;
  pointer-events: none;
}
#contents-line-b {
  border: 0.5px solid #fff;
  width: 0.1px;
  left: 80.5%;
  top: 23vw;
  height: 3vw;
  z-index: 1;
  position: absolute;
}
#contents-line-c {
  border: 0.5px solid #fff;
  width: 0.1px;
  left: 35.7%;
  top: 15vw;
  height: 3vw;
  z-index: 1;
  position: absolute;
}
#contents-line-txt-b {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.1vw;
  font-size: 1vw;
  top: 18.5vw;
  left: 34.2%;
  pointer-events: none;
}
#contents-line-d {
  border: 0.5px solid #fff;
  width: 0.1px;
  left: 35.7%;
  top: 24.5vw;
  height: 4vw;
  z-index: 1;
  position: absolute;
}
#contents-txt-b {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.4vw;
  font-size: 1vw;
  top: 15vw;
  left: 17%;
  pointer-events: none;
}
#contents-txt-a-phone {
  display: none;
}
#contents-b-wrap {
  width: 100vw;
  height: 46.9vw;
}
#contents-b-img-pc {
  display: block;
  transition: 0.5s all;
  width: 100vw;
  height: 46.9vw;
  background-image: url("../images/Top/Top03.png");
  background-size: cover;
}
#contents-b-img-pc:hover {
  transform: scale(1.05, 1.05);
  transition: 0.5s all;
}
#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: 1.5vw;
  margin-top: -35%;
  margin-left: 21.75%;
  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.3em;
  line-height: 2.3;
  font-size: 3vw;
  margin-top: -3%;
  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.45em;
  font-size: 2vw;
  margin: 0 auto;
  transform: translate(-50%, -50%);
  margin-top: 10.7%;
  margin-left: 50%;
  width: 50%;
  text-align: center;
  pointer-events: none;
}
#contents-b-txt-c {
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.3em;
  font-size: 1vw;
  margin: 0 auto;
  transform: translate(-50%, -50%);
  margin-top: 0%;
  margin-left: 50%;
  margin-bottom: 0.8%;
  width: 50%;
  text-align: center;
  pointer-events: none;
}
#contents-txt-position {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.5em;
  line-height: 3.1vw;
  font-size: 0.8vw;
  top: 47vw;
  left: 12vw;
  pointer-events: none;
}
#contents-txt-name {
  position: absolute;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.3em;
  line-height: 3.1vw;
  font-size: 1.5vw;
  top: 52vw;
  left: 12vw;
  pointer-events: none;
}
#contents-c-img-pc:hover {
  transform: scale(1.05, 1.05);
  transition: 0.5s all;
}
#news-txt-wrap {
  position: relative;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.1em;
  font-size: 1.5vw;
  width: 100%;
  height: 67.2vw;
  background-color: #000;
  padding-top: 7vw;
}
#news {
  padding-top: 5%;
  margin-left: 15%;
  font-family: 'Marcellus', serif;
  font-size: 2.2vw;
}
.news-text {
  display: flex;
}
.news-text-li {
  margin-left: 15%;
  font-size: 1.2vw;
  line-height: 2;
}
.news-title-hr {
  margin-top: 2%;
}
.news-date {
  display: flex;
  align-items: center;
  width: 20%;
  height: 9vw;
}
.news-title {
  display: none;
}
.news-content {
  display: flex;
  align-items: center;
  left: 30%;
  width: 55vw;
  height: 9vw;
}
#sns-wrap {
  position: relative;
  width: 100%;
  height: 30vw;
}
#sns-txt {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 2vw;
  margin: 0 auto;
  top: 4%;
  left: 16.400000000000002vw;
}
#sns-txt-sub {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  font-size: 10px;
  margin: 0 auto;
  top: 14%;
  left: 16.400000000000002vw;
}
#sns-contact-wrap {
  position: absolute;
  width: 15vw;
  height: 5vw;
  top: 28%;
  left: 16.400000000000002vw;
}
#sns-contact {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 1.7vw;
  margin: 0 auto;
}
#sns-contact-btn {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  font-size: 8px;
  margin: 0 auto;
  top: 52%;
}
#sns-contact-line {
  position: absolute;
  border: 1px solid #fff;
  width: 100%;
  height: 1px;
  z-index: 1;
  top: 75.5%;
}
.instagram-hover-box {
  overflow: hidden;
  width: 22vw;
  margin-top: 8%;
  margin-left: 41.199999999999996vw;
}
#sns-instagram-back {
  display: block;
  width: 22vw;
  height: 22vw;
  background-image: url("../images/Top/Top-instagram-back.png");
  background-size: cover;
  transition: 0.5s all;
}
#sns-instagram-back:hover {
  transform: scale(1.1, 1.1);
  transition: 0.5s all;
}
#sns-instagram-icon {
  display: block;
  position: absolute;
  width: 3.7vw;
  height: 3.7vw;
  background-image: url("../images/Top/Top-instagram-icon.png");
  background-size: cover;
  top: 30%;
  left: 50.4vw;
  pointer-events: none;
}
#sns-instagram-txt {
  position: absolute;
  width: 22vw;
  top: 62%;
  left: 41.199999999999996vw;
  text-align: center;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 1.5vw;
  pointer-events: none;
}
.twitter-hover-box {
  overflow: hidden;
  width: 22vw;
  margin-top: -22%;
  margin-left: 64.60000000000001vw;
}
#sns-twitter-back {
  display: block;
  width: 22vw;
  height: 22vw;
  background-image: url("../images/Top/Top-twitter-back.png");
  background-size: cover;
  transition: 0.5s all;
}
#sns-twitter-back:hover {
  transform: scale(1.1, 1.1);
  transition: 0.5s all;
}
#sns-twitter-icon {
  display: block;
  position: absolute;
  width: 3.5vw;
  height: 3.5vw;
  background-image: url("../images/Top/Top-twitter-icon.png");
  background-size: cover;
  top: 30.5%;
  left: 73.8vw;
  pointer-events: none;
}
#sns-twitter-txt {
  position: absolute;
  width: 22vw;
  top: 62%;
  left: 64.60000000000001vw;
  text-align: center;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 1.5vw;
  pointer-events: none;
}
#footer {
  position: relative;
  width: 100%;
  height: 20vw;
  background-color: #000;
}
#footer-name-a {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  font-size: 0.8vw;
  margin: 0 auto;
  bottom: 60%;
  left: 27px;
}
#footer-name-b {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  font-size: 1.8vw;
  margin: 0 auto;
  bottom: 40%;
  left: 25px;
}
#footer-name-c {
  position: absolute;
  color: #fff;
  font-family: 'Marcellus', serif;
  letter-spacing: 0.2em;
  font-size: 0.8vw;
  margin: 0 auto;
  bottom: 27%;
  left: 27px;
}
#footer-instagram-icon {
  position: absolute;
  width: 1.8vw;
  height: 1.8vw;
  background-image: url("../images/Top/Top-instagram-icon.png");
  background-size: cover;
  bottom: 42%;
  right: 5.9vw;
}
#footer-twitter-icon {
  position: absolute;
  width: 1.6vw;
  height: 1.6vw;
  background-image: url("../images/Top/Top-twitter-icon.png");
  background-size: cover;
  bottom: 42.5%;
  right: 2.4vw;
}
#footer-copyright {
  position: absolute;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.2em;
  font-size: 0.7vw;
  margin: 0 auto;
  bottom: 27%;
  right: 23px;
}
