@charset "UTF-8";
html,body{
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
}
html{
  font-size: calc(0.5rem + 0.22vw);
  color: white;
}
body{
  display: table;
  background-color: black;
}
a{
  text-decoration: none;
  color: #B5B5B5;
}
a:hover{
  color: white;
}
img{
  border: none;
}
ul{
  list-style-type: none;
  padding-left: 0
}
.menu{
  position: fixed;
  top: 0;
  text-align: right;
  width: 100vw;
  z-index: 1;
}
.menu ul{  
  padding: 0 3.5% 0 0;
}
.menu li{
  display: inline-block;
  font-family: "Open Sans",sans-serif;
  font-size: 1.6rem;
  margin: 1.5% 0 0 2.0%;
}
.menu a{
  color: #636363;
}
.menu a:hover{
  color: white;
}
.current a{
  color: white;
}
.back{
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 100vw;
  height: 100%;
  overflow: hidden;  
}
.back img{
  width: calc(650px + 30%);
  height: auto;
  max-width: 1280px;
  margin: -160px 0 -160px -8%;
}
.caption{
  position: absolute;
  top: 50%;
  left: calc(40.5% - 123px);
  transform: translate(0, -50%);
  font-family: "Noto Serif JP",serif;
  font-size: 3.5rem;
  white-space: nowrap;
}
.vertical{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.text{
  position: absolute;
  top: 50%;
  left: calc(50% - 80px);
  transform: translate(0, -50%);
  font-family: "Noto Serif JP",serif;
  font-size: 1.3rem;
  color: rgba(255, 255, 255,0.4);
  line-height: 2.1rem;
  text-align: left;
  width: 50%;
  max-width: 800px;
}



@media screen and (max-width: 879px){
.back img{
  width: calc(220px + 80%);
  margin: -95px 0 -95px -90px;
}
.caption{
  left: calc(37% - 100px);
  font-size: 3.3rem;
}
.text{
  left: calc(45% - 65px);
  font-size: 1.3rem;
  letter-spacing: -1.0px;
  line-height: 2.0rem;
  width: 63%;
}

@media screen and (max-width: 599px){
.back img{
  margin: -60px 0 -60px -110px;
}
.caption{
  left: calc(33% - 88px);
  font-size: 3.0rem;
}
.text{
  left: calc(36% - 80px);
  font-size: 1.5rem;
  line-height: 2.0rem;
  transform: scale(0.8,1) translate(0, -50%);
  width: 90%;
}

@media screen and (max-width: 479px){
html{
  font-size: calc(0.15rem + 1.4vw);
}
.menu{
  text-align: center;
  height: 5rem;
  background-color: black;
}
.menu ul{
  padding: 0;
}
.menu li {
  font-size: 1.8rem;
  margin: 2.0% 5.0% 0 5.0%;
}
.back img{
  width: calc(360px + 90%);
  margin: -100px 0 40% -130px;
}
.caption{
  top: calc(50% - 30vw - 50px);
  left: 6%;
  font-size: 2.8rem;
  letter-spacing: -0.2rem;
}
.vertical{
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;;
}
.text{
  top: calc(67% - 35vw - 50px);;
  left: 4%;
  font-size: 1.8rem;
  line-height: 2.4rem;
  transform: scale(0.8,1);
  width: 120%;
  margin: -10.0% -10.0% 10.0% -10.0%;
}
}