@charset "UTF-8";
*{
  box-sizing: border-box;
  margin : 0;
  padding: 0;
}
html{
  width : 100%;
  font-size: 62.5%;
  font-feature-settings: "palt";
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  height : 100%;
}
body{
  width : 100%;
  -webkit-text-size-adjust: 100%;
  color : rgba(143, 79, 178, 1);
  background-color : #000;
  background-image : url(murasaki.svg);
  background-repeat : no-repeat;
  background-position : left center;
  background-attachment : fixed;
  height : 100%;
}
img{
  width: 100%;
  max-width: 100%;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast;
}
hr{
  border: solid 0 #fff;
  clear : both;
}
a{
  color : #ffffff;
  text-decoration: none;
}
a:hover{
  filter:alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -moz-opacity:0.7;
  -khtml-opacity: 0.7;
  opacity:0.7;
  zoom:1;
}
i{
  font-style : normal;
  white-space : nowrap;
}
.inner{
  margin : 0 auto;
  padding : 7.8rem 2rem 2rem;
  width : 100%;
  display:flex;
  flex-wrap:wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap:1rem;
}
header{
  width : 100%;
  height : 100%;
  position : relative;
}
section,footer{
  width : 100%;
  min-height:100vh;
  position : relative;
  filter: drop-shadow(0 0 2px #000);
}
footer .video-box{
  position: relative;
  overflow: hidden;
  width: 100%;
  height:100vh;
}
section{
  background-size: cover;
  background-position: center;
  background-repeat : no-repeat;
}
footer video{
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
header .inner{
  position:relative;
  z-index: 2;
  height : 100%;
}
header h2{
  display:flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding-top : 1rem;
  height: 70vh;
  max-width:25px;
  aspect-ratio: 25/405;
}
.under{
  display: block;
  text-align: center;
  width : 100%;
  position : absolute;
  bottom : 2rem;
  z-index: 4;
  font-size : 1.4rem;
}
.under_txt{
  text-align: center;
  width : 100%;
  font-size : 1.4rem;
  margin-top : 2rem;
}
.upper{
  display: block;
  width: 100%;
  height: calc(2.8rem + 60vw / 24 * 5);
  max-height: 7.8rem;
  position : fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color : rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  z-index: 1;
}
span.nowrap{
  white-space:nowrap;
}
.vegas-overlay{
  opacity: .9;
  background: url(img/06.png) center center;
}
.inner.sub{
  max-width: 60rem;
}
footer .inner{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  text-align: center;
  margin: auto;
}
section h2,footer h2{
  font-size : 2.3rem;
  width:100%;
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  align-items: flex-end;
  align-content: flex-end;
}
section h2 span,footer h2 span{
  font-size : 1.6rem;
}
section h2 img,footer h2 img{
  width: 55%;
  max-width:24rem;
}
section h3,footer h3{
  font-size: 2.2rem;
  width:100%;
  font-weight: 900;
  text-align: center;
  line-height: 1.8;
  color : #ffffff;
}
footer h3{
  font-size : 2rem;
  line-height : 1.1;
}
footer h3 span{
  font-size : 1.4rem;
  font-weight: 500;
}
#intro{
  background-image: linear-gradient(rgba(0,0,0,0.85),rgba(0,0,0,0.85)),url(../img/shikon.webp);
}
#rest-area{
  background-image: linear-gradient(rgba(0,0,0,0.85),rgba(0,0,0,0.85)),url(../img/rest-area.webp);
}
#cafe{
  background-image: linear-gradient(rgba(0,0,0,0.85),rgba(0,0,0,0.85)),url(../img/cafe_bgi.webp);
}
section#cafe{
  background-size: cover;
  background-position : right bottom;
  background-repeat : no-repeat;
}
section#cafe h2 img{
  width: 85%;
  max-width:36rem;
}
#intro p,#rest-area p,footer p,#cafe p{
  margin: 0 auto;
  font-size: 1.6rem;
  color : #ffffff;
}
footer p{
  text-align : center;
  line-height : 1.1;
}
.copy{
  font-size: 1.2rem;
  width : 100%;
}
.space{
  margin:1rem;
  width : 100%;
}
.btt_box {
    width: 4.9rem;
    padding: 0.5rem;
    font-size: 3rem;
    position: fixed;
    bottom: 0.5rem;
    right: 0.5rem;
    z-index: 9000;
    text-align: center;
    line-height: 1;
}
.btt_box span {
    display: block;
}