body {
  margin: 0;
  padding: 0;
  width:100%;
}

.loading {
 position: fixed;
 z-index: 100;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background: #fff;
}
.loading__img {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
}

.loading__img img{
  width: 50px;
}

.wrap{
  overflow: hidden;
}

.nav ul{
  list-style: none;

}

li{
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
}


ul li{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 11px;
  margin: 110px auto;
}



/*main*/
.main{
  margin: 0;
  padding: 0;
}








/*header*/



#nav_pc{
  width: 60px;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9000;
  background-color: #222223;
  display: table;
}

.menuLst{
  padding: 0;
  margin: 0;
  display:table-cell;
  vertical-align: middle;
}

.menuLst li a{
  color: #f0f0f0;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.menuLst li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #777777;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

.menuLst li a:hover::after {
  transform: scale(1, 1);
}

.sns{
  padding: 0;
  margin:0;
  height: 16px;
  width:16px;
  position: absolute;
  display: block;
  left: 25px;
  bottom: 30px;
  list-style: none;
}

.fb{
  margin:0;
  width:16px;
  height:16px;
}

.fb a img{
  width:26px;
}


/*ヘッダーモバイル*/
/*ハンバーグ*/



/*top*/
.top{
  width:100%;
  height:100vh;
}

video {
position: fixed;
right: 0;
bottom: 0;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
z-index: -100;
}

.top-logo {
position: fixed;; /*必ず必要*/
z-index: -50; /*必ず必要*/
top:300px;
left:100px;
}


/*pagetopボタン*/
.scroll{
  width: 15px;
  position: fixed;
  left: 25px;
  z-index: 8999;
}

#prev{
  width: 15px;
  padding-top: 40px;
  position: absolute;
  left: 0;
  top:80vh;
  text-decoration: none;
}

.txt{
  display: inline-block;
    color: #fff;
    font-size: 11px;
    font-family: "brandon-grotesque",sans-serif;
    font-style: normal;
    font-weight: 600;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}


/*message*/
.message-wrapper{
  width:100%;
  height:60vh;
  padding: 120px 0;
  background-color: #262626;
  color: rgb(227, 227, 227);
  position:relative;
  z-index: 10;
}

.message{
  height:100%;
  max-width: 1340px;
  margin:0 auto;
  display:table;
  flex-direction: row;
  justify-content: space-between;
  z-index: 1000;
}

.mat{
  width: 50%;
  height: 100%;
  display: inline-block;
  background-color: #1b1b1c;
  position: absolute;
  top: 0;
  z-index: -10;
}

.message h3{
  font-family: 'Playfair Display', serif;
  font-style: normal;
  font-size: 42px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.13em;
  display: inline-block;
  vertical-align: bottom;
  position: relative;
}

.message p{
  font-size: 15px;
  color: #fff;
  line-height: 2.1;
  margin-top: 50px;
}

/*message-box*/
.message-box{
  padding-left: 100px;
  width: 45%;
  display: table-cell;
  padding-right: 45px;
  vertical-align: middle;
}
/*img-box*/

.img-box{
  width: 55%;
  height: 486px;
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
  position: relative;
  left: 0;
}

.img-box img{
  height:100%;

}


/*menu*/
.menu{

}



/*menu-wrapper*/
.menu-wrapper{
  width:100%;
  height:65vh;
}
/*menu-wrapper-2*/
.menu-wrapper-2{
  width:100%;
  height:90vh;
  background-color: #293C26;
  position: relative;
}


/*menu-box*/
.menu-box{
  height:89vh;
  width:80%;
  background-color: #1f1f1f;
  position: absolute;
  left:8%;
  top:-10%;
  text-align: center;
}

.menu-ttl{
  margin: 40px auto 0 auto;
  font-family: 'Playfair Display', serif;
  font-style: normal;
  font-size: 42px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.13em;
  display: inline-block;
  vertical-align: bottom;
  position: relative;
}

.menu-img{
  height:68vh;
}

.menu-btn{margin-top:20px;}


.menu-box img{
  margin: 25px 20px 30px 20px;
  width:70%;
}

/*お品書きボタン*/
.btn-flat-border {
  font-family: 'Playfair Display', serif;
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #d0d0d0;
  border: solid 2px #d0d0d0;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #d0d0d0;
  color: #2e2e2e;
}

/*スマホ用css*/






/*contact*/
.contact{
  background: #f9f9f9;
  width:100%;
  height:100%;
  position:relative;
}

/*contact-box*/
.contactInner{
  max-width: 1340px;
  width: 100%;
  padding: 95px 100px 175px;
  box-sizing: border-box;
  position: relative;
  margin: auto;
  z-index: 1;
}

.section-ttl{
  margin:0;
  color: #000;
  font-family: 'Playfair Display', serif;
  font-style: normal;
  font-size: 42px;
  font-weight: bold;
  letter-spacing: 0.13em;
  display: inline-block;
  vertical-align: bottom;
  position: relative;
}

#contactLst{
  width: 67%;
  height: auto;
  position: relative;
  margin-left: auto;
}

.m-43{
  margin-top: -43px;
}

#contactLst dl{
  width: 100%;
  border-top: 1px solid #222223;
  display: table;
  text-align: left;
  line-height: 2;
  box-sizing: border-box;
  padding: 30px 0;
}

.bottom{
  border-bottom: 1px solid #222223;
}


#contactLst dl dt{
  width: 42%;
  display: table-cell;    vertical-align: top;
}

.map-sp{
  display:none;
}

.logo1{
  display:inline-block;
}

.logo1 img{
  vertical-align: middle;
  width:95%;
}


#contactLst dl dd{
  width: 58%;
  display: table-cell;
  vertical-align: top;
}

#contactInner #contactLst dl dd p {
  display: block;
}

.lead{
  margin: 0;
  font-size: 13px;
  color: #a9a9a9;
  font-family: "brandon-grotesque",sans-serif;
  font-style: normal;
  font-weight: 600;
}

.pd_{
  font-family: 'Playfair Display', serif;
}

.up{
  color:black;
}

.down{
  color:black;
  font-size:16px;
}

.info {
  margin:0;
  font-size: 15px;
}

.note{
  margin:0;
}

.forPc{
  margin: 0;
}








/*footer*/
footer{
  width:100%;
}


/*movie*/
.movie{
  width: 100%;
  position: relative;
  background-color: rgb(48, 51, 55);



}

.movie-box{
  margin: 0 auto;
  position: relative;
  width: 90%;
  padding: calc(85 / 170 * 100%) 0 0;

}

.movie-box iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*動画を見るbtn*/
.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}
.arrow::before,
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.sample4-3::before{
  width: 62px;
  height: 45px;
  -webkit-border-radius: 25%;
  border-radius: 21%;
  background: #de1212;
}
.sample4-3::after{
  left: 23px;
  box-sizing: border-box;
  width: 26px;
  height: 17px;
  border: 10px solid transparent;
  border-left: 17px solid #fff;
}





/*copy*/
.copy{
  width:100%;
  background-color: #f9f9f9;
  text-align:left;
}

.copy p{
  font-weight: 100;
  font-size:10px;
  margin: 0;
}