@charset "utf-8";

/* 基本設定 */
#loader svg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

/* ナビゲーション */
@media screen and (max-width: 480px){
  #header{
    margin-bottom: 50px;
    z-index: 9999;
  }
  #header .mMenu{
    right: inherit;
    top: inherit;
    bottom: -50px;
    width: 100%;
    background: rgba(0,0,0,0.8);
  }
  #header .mMenu ul{
    display: block;
    margin-bottom: 50px;
    transition: all .4s;
    height: 0;
    max-height: 0;
    overflow: hidden;
  }
  #header .mMenu ul.active{
    height: auto;
    max-height: 77vw;
  }
  .menu-trigger{
    display: inline-block;
    position: absolute;
    bottom: 0;
    right: 2%;
    z-index: 9999;
  }
}

/* コンテンツ */
#contents{
  position: relative;
}
#inforF{
  padding: 5% 0 8%;
  position: relative;
  
}
#inforF h2{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 2vw;
  letter-spacing: 0.2vw;
  color: #B28146;
  margin-bottom: 4%;
  position: relative;
  left:50%;
  display:inline;
  transform:translateX(-50%);
}
#inforF .infoB{
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 80vw;
  margin: 0 auto;
}
#inforF .infoB .sns{
  width: 50vw;
  float: right;
}
#inforF .infoB .info{
  width: 29vw;
  margin: 0 0.5vw;
  float: left;
  padding-bottom: 1%;
}
#inforF .infoB .info .box{
  display: block;
  text-align: left;
  margin: 0 auto 10%;
}
#inforF .infoB .info .box img{
  width: 100%;
  height: 100%;
  display: block;
  margin: 0 auto 3%;
  max-width: 320px;
  max-height: 320px;
}
#inforF .infoB .info .box .date{
  border-bottom: 1px solid #fff;
  padding: 0 0 0.3vw 0.5vw;
  font-size: 1.6vw;
  margin-bottom: 0.5vw;
}
#inforF .infoB .info .box .txt{
  font-size: 1.6vw;
  text-align: center;
  line-height: 1.4;
  padding-top: 0.3vw;
}
#inforF .infoB .info a:hover.box{
  opacity: 0.7;
	transition: all 0.5s 0s ease;
  cursor: pointer;
}
#inforF .infoB .info a:hover.box .date{
  border-bottom: 1px solid #B28146;
}
#inforF .infoB .info .infoL{
  border: 1px solid #000;
  padding: 1% 3%;
  letter-spacing: 0.2vw;
  color: #000;
  font-weight: 500;
}
#inforF .infoB .info .infoL a{
  border: 1px solid #fff;
  padding: 3% 6%;
  letter-spacing: 0.2vw;
  font-weight: 500;
  font-size: 1.8vw;
}
#inforF .infoB .info .infoL a:hover{
  border: 1px solid #B28146;
  opacity: 0.7;
}
@media screen and (max-width: 480px){
  #inforF{
    padding: 5% 0 8%;
  }
  #inforF h2{
    font-size: 5vw;
  }
  #inforF .infoB{
    width: 90%;
  }
  #inforF .infoB .sns{
    width: 100%;
    float: none;
    margin: 5% auto 15%;
  }
  #inforF .infoB .info{
    width: 100%;
    float: none;
    margin: 5% auto 18%;
  }
  #inforF .infoB .info .box .date{
    padding: 0 0 0.6vw 4vw;
    font-size: 4vw;
  }
  #inforF .infoB .info .box .txt{
    font-size: 5.4vw;
    padding-top: 2vw;
  }
  #inforF .infoB .info .infoL a{
    font-size: 4vw;
  }
}

#menF, #sorceF{
  position: relative;
}
#menF .txt{
  position: absolute;
  z-index: 10;
  width: 30%;
  height: auto;
  right: 8%;
  top: 12%;
}
#sorceF .txt{
  position: absolute;
  z-index: 10;
  width: 30%;
  height: auto;
  left: 8%;
  top: 12%;
}
#menF .bgImg, #sorceF .bgImg{
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 480px){
  #menF .bgImg{
    width: 180%;
    margin-left: -10%;
  }
  #sorceF .bgImg{
    width: 180%;
    margin-left: -80%;
  }
  #menF .txt,
  #sorceF .txt{
    width: 40%;
  }
}

#shopF{
  background: #B28146;
  padding: 5% 0 8%;
  color: #000;
  position: relative;
}
#shopF h2{  
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-size: 2vw;
  letter-spacing: 0.2vw;
  margin-bottom: 4%;
  position: relative;
  left:50%;
  display:inline;
  transform:translateX(-50%);
}
#shopF .box{
  position: relative;
  width: 70%;
  margin: 0 auto 5%;
}
#shopF .box th{
  width: 47%;
}
#shopF .box th .photo{
  width: 100%;
  height: auto;
}
#shopF .box td{
  width: 53%;
  vertical-align: middle;
  overflow: hidden;
}
#shopF .box td span{
  color: #FFF;
  padding-left: 1vw;
  font-weight: 700;
}
#shopF .box td .txt{
  float: right;
  height: 100%;
  width: 93%;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 6% 2%;
}
#shopF .box td .txt .new{
  display: inline-block;
  font-weight: 600;
  color: #fff;
  background: #FF0000;
  margin-bottom: 3%;
  padding: 0.3vw 0.7vw 0.2vw;
  letter-spacing: 0.2vw;
}
#shopF .box td .txt h4{
  font-size: 2vw;
  letter-spacing: 0.2vw;
}
#shopF .box td .txt p{
  font-size: 1.2vw;
  line-height: 1.6;
}
#shopF .shopL{
  text-align: center;
}
#shopF .shopL a{
  border: 1px solid #000;
  padding: 1% 3%;
  letter-spacing: 0.2vw;
  color: #000;
  font-weight: 500;
}
#shopF .shopL a:hover{
  opacity: 0.6;
}
@media screen and (max-width: 480px){
  #shopF{
    padding: 10% 0 13%;
  }
  #shopF h2{
    font-size: 5vw;
    margin-bottom: 8%;
  }
  #shopF .box{
    width: 85%;
    margin: 0 auto 12%;
  }
  #shopF .box th,
  #shopF .box td{
    display: block;
    width: 100%;
  }
  #shopF .box th{
    margin-bottom: 3%;
  }
  #shopF .box td span{
    font-size: 3vw;
  }
  #shopF .box td .txt{
    width: 100%;
    padding: 3% 2% 4% 5%;
  }
  #shopF .box td .txt .new{
    font-size: 4vw;
    margin-bottom: 2%;
  }
  #shopF .box td .txt h4{
    font-size: 6vw;
  }
  #shopF .box td .txt p{
    font-size: 3.6vw;
    padding-left: 1%;
    line-height: 1.5;
  }
  #shopF .shopL a{
    font-size: 4vw;
    letter-spacing: 0.4vw;
  }
}
