@charset "UTF-8";
/*////////////////////////

home
///////////////////////*/

a.scroll {
  position: absolute;
  bottom: 80px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
    color: #fff;
    font-size: 1.3em;
}
a.scroll span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
/*================================
// Opening
================================*/
#opening{
    width: 100%;
    height: auto;

}

#opening::before, #opening::after {
  clear: both;
  content: '';
  display: block;
}
#wrapper{
  display: -webkit-flex; /* Safari用 */
  display: flex;
  -webkit-justify-content: center; /* Safari用 */
  justify-content: center;
  -webkit-align-items: center; /* Safari用 */ 
}

#opening h1{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%); 
transform: translate(-50%, -50%);
    
    font-size: 8em;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.3em;
    color: #fff;
    z-index: 9999;
    width: 1000px;
    text-align: center;
 
}





.mask {
-moz-clip-path: url(#svgPath);    
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
}

/* slider */
.slider{
    width: 90%;
    margin: 80px auto 0;  
}
.slider li img{
    width: 100%;
    height: auto;
}


@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#opening{
    width: 100%;
    height: auto;
}
    #opening h1{
display: none;
 
}

 /* slider */
.slider{
    width: 90%;
    margin: 60px auto;  
}
.slider li img{
    width: 100%;
    height: auto;
}   
}
/*================================
// CONCEPT
================================*/
#concept{
width: 100vw;
padding: 1rem 0;
box-sizing: border-box;
/*background: rgba(255,255,255,.9);*/
}

#concept h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#concept h1 .conceptCopy{
    font-size: 2em;
     display: block;
    line-height: 1.2em;
}
#concept h1 .smallTxt{
    font-size: 0.8em;
   
}

#concept .openD{
    font-size: 5em;
    line-height: 1.2em;
    font-weight: bold;
    text-align: center;
    margin: 2% auto;
    letter-spacing: 0.1em;   
}


@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#concept{
width: 100vw;
padding: 1rem 3rem;
box-sizing: border-box;
}

#concept h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#concept h1 .conceptCopy{
    font-size: 1.5em;
     display: block;
    line-height: 1.6em;
}

}


/*================================
// ABOUT
================================*/
#about{
width: 100vw;
padding: 1rem 0;
box-sizing: border-box;
/*background: rgba(255,255,255,.9);*/
}

#about h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#about .conceptCopy{
    font-size: 1.4em;
     display: block;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    width: 80%;
    margin: 0 auto 40px;
    text-align: center;
}
#about .contentWrap{
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    
}
#about .contentWrap .imagePh{
    width: 40vw;
    height: 500px;  
    background: #efefef;
}
#about .contentWrap .imagePh img{
    width: 100%;
    height: auto;
}
#about .contentWrap .shopinfo{
    width: 60vw;  
    padding: 8%;
    display: flex;
    flex-direction: column
}
#about .contentWrap .shopinfo h2{
    font-size:1.3em;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}
#about .contentWrap .shopinfo p{
    font-size:1.3em;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    line-height: 1.8em;
}
#about .contentWrap .shopinfo p span{
    display: block;
}
@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#about{
width: 100vw;
padding: 1rem 0 150px;
box-sizing: border-box;
}    
#about h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#about .conceptCopy{
    font-size: 1.5em;
     display: block;
    line-height: 1.6em;
}
    
#about .contentWrap{
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
}
#about .contentWrap .imagePh{
    width: 100vw;
    height: 300px;  
    background: #efefef;
}
#about .contentWrap .shopinfo{
    width: 92%;  
    padding: 4%;
    display: flex;
    flex-direction: column
}
#about .contentWrap .shopinfo h2{
    font-size:1.3em;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}
#about .contentWrap .shopinfo p{
    font-size:1.3em;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    line-height: 1.8em;
}
#about .contentWrap .shopinfo p span{
    display: block;
}    
}
/*/// ////////////////////////////////
STAFF
///////////////////////////////////*/

#staff{
width: 100vw;
padding: 3rem 5rem;
box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
/*background: rgba(255,255,255,.9);*/  
}
#staff h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#staff .conceptCopy{
    font-size: 1.4em;
     display: block;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    width: 80%;
    margin: 0 auto 40px;
    text-align: center;
}
.staffBoxWrap{
    width: 90%;
display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}
.staffBox{
    width: calc(100%/3 - 2px) ;
    height: auto;
    margin: 2% 1px;
    position: relative;
    
}
.staffBox a:link,.staffBox a:visited{
    text-decoration: none;
    color: #000
}
.staffBox a:hover,.staffBox a:active{
    text-decoration: none;
    color: #ccc
}
.staffBox .category{
    font-size: 1.2em;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    display: block;
    padding: 0 10px;
}
.staffBox .category .floor{
    display: inline-block;
    padding-right: 10px;
}

.staffBox .imgBox{
    width: 100%;
    height: auto;

}

.staffBox .imgBox img{
        width: 100%;
        height: auto;
    } 
.staffBox .name{
    font-size: 1.6em;
    font-weight: bold;
    display: block;
    letter-spacing: 0.1em;
        margin: 10px auto 10px;
    padding: 0 10px;
}
.staffBox .detail{
    font-size: 1.2em;
    padding: 0 10px;
}
.staffBox .comment{
    font-size: 1.2em;
    padding: 0 10px;
    letter-spacing: 0.1em;
        margin: 10px auto ;
    
}
@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#staff{
width: 100vw;
padding: 3rem 0;
box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    
/*background: rgba(255,255,255,.9);*/  
}
    .staffBoxWrap{
    width: 100%;
display: flex;
    flex-wrap: wrap;
    align-items: center; 
    flex-direction: row;
     justify-content: center;   
}
#staff h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#staff .conceptCopy{
    font-size: 1.5em;
     display: block;
    line-height: 1.6em;
} 
.staffBox{
    width: 100%;
    height: auto;
    margin: 4% 1%;
    
}

.staffBox .category{
    font-size: 1.6em;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    display: block;
    padding-left: 15px;
    text-align: center;
    
}
.staffBox .category .floor{
    display: inline-block;
    padding-right: 10px;
}

.staffBox .imgBox{
    width: 100%;
    height: auto;
    margin-bottom: 30px;

}

.staffBox .name{
    font-size: 1.8em;
    font-weight: bold;
    display: block;
    letter-spacing: 0.1em;
        margin: 10px auto;
    text-align: center;
}
.staffBox .detail{
    font-size: 1.4em;
    text-align: center;
    display: block;
}
 .staffBox .comment{
    font-size: 1.4em;
     line-height: 1.8em;
    padding: 0 3%;
    letter-spacing: 0.1em;
        margin: 10px auto ;
} 
}

/*================================
// MENU
================================*/
#menu{
width: 100vw;
padding: 1rem 0;
box-sizing: border-box;
}

#menu h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#menu .conceptCopy{
    font-size: 1.4em;
     display: block;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    width: 80%;
    margin: 0 auto 40px;
    text-align: center;
}
#menu .contentWrap{
    width: 100vw;
    display: flex;
    align-items: stretch;
    
}
#menu .contentWrap .imagePh{
    width: 40vw;
    height: 500px;  
    background: #efefef;
}
#menu .contentWrap .imagePh img{
    width: 100%;
    height: auto;  
}
#menu .contentWrap .menuDetail{
    width: 60vw;
    height: 600px;  
    padding: 2%;
    display: flex;
}
#menu .contentWrap .menuDetail .menuCont{
    width: 50%;
    height: auto;  
    padding: 2%;
    display: flex;
    flex-direction: column;
}
#menu .contentWrap .menuDetail .menuCont h2{
    font-size: 1.65em;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 30px;
}
#menu .contentWrap .menuDetail .menuCont h2 span{
    font-size: .6em;
    display: block;
    font-weight: normal;
    padding: 1.5em 0;
    text-align: center;
}

#menu .contentWrap .menuDetail dl{
    width: 50vw;
    padding: 1%;
       
}
#menu .contentWrap .menuDetail dl dt{
    font-size: 1.6em;
    padding: .5em;
    
}
#menu .contentWrap .menuDetail dl dt span{
    display: inline;
    font-size: .7em;
    padding: 0 1em;
}
#menu .contentWrap .menuDetail dl dd{
    padding: .5em .5em 1em;
    font-size: 1.4em;
  
}
#menu .contentWrap .menuDetail dl dd span{
    display: block;
    font-size: .7em;
    padding: 1em;
}
@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#menu{
width: 100vw;
padding: 1rem 0;
box-sizing: border-box;
}    
#menu h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#menu .conceptCopy{
    font-size: 1.5em;
     display: block;
    line-height: 1.6em;
}  
     
#menu .contentWrap{
    width: 100vw;
    display: flex;
    flex-direction: column;
    
}
#menu .contentWrap .imagePh{
    width: 100vw;
    height: 300px;  
margin-bottom: 150px
}
#menu .contentWrap .menuDetail{
    width: 96%;
    height: auto;  
    padding: 2%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
#menu .contentWrap .menuDetail .menuCont{
    width: 100%;
}

#menu .contentWrap .menuDetail .menuCont h2{
    font-size: 1.65em;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}    
    
#menu .contentWrap .menuDetail dl{
    width: 98%;
    padding: 1%;
}
#menu .contentWrap .menuDetail dl dt{
    font-size: 2em;
    letter-spacing: 0.1em;
    padding: .5em;
    
}
#menu .contentWrap .menuDetail dl dt span{
    display: inline;
    font-size: .6em;
    padding: 0 1em;
    color: #9a7c61
}
#menu .contentWrap .menuDetail dl dd{
    padding: .5em .5em 1em;
    font-size: 2em;
  letter-spacing: 0.1em;
}
#menu .contentWrap .menuDetail dl dd span{
    display: block;
    font-size: .75em;
    line-height: 1.8em;
    padding: 1em 0em;
    
}   
    
    
}


/*================================
// ACCESS
================================*/
#access{
width: 100vw;
padding: 2rem 0;
box-sizing: border-box;
/*background: rgba(255,255,255,.9);*/
}

#access h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#access .conceptCopy{
    font-size: 1.4em;
     display: block;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
#access .conceptCopy .how{
    display: inline-block;
    padding: 1%;
    border: 1px #6a3a0e solid;
   
}
#access #map{
    width: 100%;
    margin: 40px auto;
}

@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#access{
width: 100vw;
padding: 1rem 3rem;
box-sizing: border-box;
}    
#access h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#access .conceptCopy{
    font-size: 1.5em;
     display: block;
    line-height: 1.6em;
} 
#access .conceptCopy .how{
    display: block;
    padding: 2%;
    border: 1px #6a3a0e solid;
    margin-bottom: 15px;
}    
}

/*================================
// RECRUIT
================================*/
#recruit{
width: 100vw;
padding: 1rem 0;
box-sizing: border-box;
/*background: rgba(255,255,255,.9);*/
}

#recruit h1{
    font-size: 1.6vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    font-weight: normal;
}
#recruit .conceptCopy{
    font-size: 1.4em;
     display: block;
    line-height: 1.8em;
    letter-spacing: 0.1em;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
#recruit .map{
    width: 100%;
    margin: 40px auto;
}
.rec_wrap{
    width: 80%;
    margin: 3% auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.rec_wrap .ph{
    width: 50%;
    
}
.rec_wrap .ph img{ 
    width: 100%;
    height: auto;
}
.rec_wrap .txt{
    width: 50%;
    padding: 5%;
    box-sizing: border-box;
    font-size: 1.4em;
    letter-spacing: .1em;
    line-height: 1.8em;
    
}

@media screen and (min-width: 1281px) {
    
}

@media screen and (max-width: 767px) {
#recruit{
width: 100vw;
padding: 1rem 2rem;
box-sizing: border-box;
}    
#recruit h1{
    font-size: 4vw;
    line-height: 1.7em;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
}
#recruit .conceptCopy{
    font-size: 1.em;
     display: block;
    line-height: 1.6em;
} 

.rec_wrap{
    width: 94%;
    margin: 3% auto;
    display: flex;
    flex-direction: column;
}
.rec_wrap .ph{
    width: 100%;
    
}
.rec_wrap .txt{
    width: 100%;
    padding: 5%;
    box-sizing: border-box;
    font-size: 1.4em;
    letter-spacing: .1em;
    line-height: 1.8em;
    
}  
}
