/*general
=================================================*/
/**{
    outline: 2px red solid;
}*/

html{
    font-size:36px;
    width:100%;
}

body{
    background-color: #f5f5f5;
    width:100%;
    height: 100%;
    position:relative;
}

h2{
    font-family: 'Oswald', sans-serif;
    font-size:1rem;
    font-weight: 300;
    letter-spacing:0.08em;
    text-align: center;
    margin:0 auto;
    padding-top:96px;
    color:#11361F;
}

h2::after{
    content: "";
    display: block;
    padding-bottom:1px;
    margin-top:0.33rem;
    background-color:#11361F;
    padding: 1px auto;
    visibility: 
    
}

.dis-flex{
    display: flex;
}

section{
    padding-left:10.5%;
}

/* header 
=================================================*/
#header-container{
    display:block;
    align-items: center;
    position: relative;
}

.header-kv{
    width:100vw;
    height:100%;
}

.header-logo{
    position: absolute;
    width: 41%;
    top: 7%;
    left: 3%;
}
/* concept 
=================================================*/
#concept{
}

.concept-title{
    width:118px;
}

.concept-container{
    display: flex;
    justify-content: space-between;
}
/* concept-leftの上にボックスを作って、比率で動かす。 */
.concept-left::before {
    content: "";
    display: block;
    padding-top: 37%; 
  }
.concept-left{
    width: 35%;
    
}
.concept-left-f{
    font-family: 'Noto Sans JP', sans-serif;
    /*font-size: calc([最小値]px + ([最大値] - [最小値])単位なし * ((100vw - [最小画面幅]px) / ([最大画面幅] - [最小画面幅])単位なし));
	}*/
    font-size: calc(16px + 16 * ((100vw - 320px) / 1120));
    letter-spacing:0.06em;
    line-height: 1.66;
    color:#11361F;
}
.concept-left-s{
    font-family: 'Oswald', sans-serif;
    /*font-size: calc([最小値]px + ([最大値] - [最小値])単位なし * ((100vw - [最小画面幅]px) / ([最大画面幅] - [最小画面幅])単位なし));
	}*/
    font-size: calc(42px + 42 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    margin:20px 0;
    color:#11361F;
}

.concept-left-t{
    font-family: 'Oswald', sans-serif;
    /*font-size: calc([最小値]px + ([最大値] - [最小値])単位なし * ((100vw - [最小画面幅]px) / ([最大画面幅] - [最小画面幅])単位なし));
	}*/
    font-size: calc(8px + 8 * ((100vw - 320px) / 1120));
    font-weight: 400;
    letter-spacing:0.08em;
    line-height: 1.75;
    
}

.concept-right{
    width:60%;
}
.concept-ham{
    width: 85%;
}

/* menu 
=================================================*/
#menu{
    padding-right: 10.5%;
}
.menu-container{
    display:flex;
    justify-content: space-between;
}
.menu-img{
    width:100%;
}
.menu-title{
    width:80px;
    margin-bottom: 90px;
}

.menu-left{
    width: 47.5%;
}
.menu-right{
    width: 47.5%;

}
.menu-name{
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: calc(13px + 13 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 1.73;
}
.menu-content{
    padding-top:30px;
    width:100%;
    justify-content: space-between;
    

}

.menu-detail{
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: calc(8px + 8 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 1.75;
    margin:0px auto 60px auto;
    width:100%;
}
/* separate
=================================================*/
.separate{
    width:100vw;
}
.separate-sp{
    display: none;
}

/* shop
=================================================*/

.shop-title{
    width:2.22rem;
    margin-bottom: 1.66rem;

    
}
#shop{
    background-color: white;
    padding-right:10.5%;
}



.shop-container{
    width:100%;
    text-align: center;
    justify-content: space-between;
   
}
.shop-left{
    width:100%;
    text-align: right;
}
.shop-img{
    width:90%;
    min-width:300px;
    
}
.shop-right{
    width:100%;
}
.shop-right-container{
    font-weight: 300;
    font-size: calc(8px + 8 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 1.75;
    margin:0px auto 60px auto;
    width:80%;
    text-align: left;
}
.shop-name{
    font-family: 'Noto Sans JP', sans-serif;
    font-size:calc(12px + 12 * ((100vw - 320px) / 1120));
    font-weight: 300;
    letter-spacing:0.08em;
    margin-top:5%;
    margin-bottom:3.5%;
}
.shop-detail{
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    font-size: calc(8px + 8 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 1.75;
    width:396px;
}
.shop-address{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: calc(8px + 8 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 2.00;
    margin-top:3.5%;
    width:244px;
}
/* footer
=================================================*/
.footer-main{
position: relative;
}

.footer-left{
    width:50%;
    height:100%;
    padding:90px 0 110px 125px;
}
.footer-right{
    position: absolute;
    top: 35%;
    left:70%;
    width:28%;
    /*
    padding-top: 121px;
    margin-right:29px;
    margin-left:296px;
    */
}
.footer-logo{
    width:50%;
    min-width:200px;
    height:50%;
   
}
.footer-address{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: calc(7px + 7 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    line-height: 2.00;
    padding-left:30px;
    min-width:7rem;
}

.footer-link{
    font-family: 'Oswald', sans-serif;
    font-weight: 300;
    font-size: calc(9px + 9 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    padding-left:.55rem;
}

.Copyright{
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: calc(7px + 7 * ((100vw - 320px) / 1120));
    letter-spacing:0.08em;
    display: flex;
    justify-content: center;
    align-items: center;
    height:60px;
    background-color: #11361F;
    color:white;
}

/*responsive
=================================================*/
@media screen and (max-width: 834px) {
	section{
        padding-left:0;
    }

    .menu-title{
        margin-bottom:40px;
    }
    .menu-detail{
        font-size:14px;
    }
    .concept-container{
        flex-direction: column-reverse;
    }
    .concept-left{
        width:auto;
        margin: auto 23px;
    }
    .concept-right{
        margin:25px auto;
    }
    .concept-left::before {
        display: none;
    }
    .concept-left-f{
        font-size: 28px;
        line-height: 1.75;
    }
    .concept-left-s{
        font-size: 1.77rem;
       
    }
    .concept-left-t{
        font-size: 14px;
       
    }
    .concept-right{
        width:auto;
        text-align: center;
    }
    .concept-ham{
        width: 80%;   
        
    }
    #menu{
        padding-right:0px;
    }
    .menu-left,.menu-right{
       width:100vw;
       padding-bottom:30px;
    }
    .menu-left{
        
    }
    .menu-container,.shop-container,.footer-main,.footer-left{
        flex-direction: column;
    }
    .menu-name{
        font-size: 26px;
    }
    .menu-content{
        padding-bottom:30px;
    }
    .menu-content,.menu-detail{
        margin:auto 23px;
        width:auto;
    }
    #shop{
        padding-right:0;
    }
    .shop-right{
        margin:auto 23px;
        width:auto;
    }
    .shop-container{
        padding-bottom:70px;
    }
    .shop-right-container{
        margin: 0;
        width:100%;
    }
    .shop-name{
        font-size: 20px;
    }
    .shop-detail,.shop-address{
        font-size:14px;
    }
    .shop-detail{
        width:auto;
    }
    .shop-img{
        width:100vw;
    }
    .footer-main{
        position: static;
    }
    .footer-left{
        width:100vw;
        padding:60px;
        
    }
    .footer-address{
        padding:0;
        text-align: center;
        font-size: 12px;
    }
    .footer-logo{
        width:100%;
        padding:20px;
    }
    .footer-right{
        position: static;
        display: flex;
        width:80vw;
        margin:0 auto;
        justify-content: space-between;
        padding-bottom: 70px;
    }
    .footer-link{
        padding-left:0;
        font-size: 18px;
    }

}
@media screen and (max-width: 600px) { 
	.header-logo{
        width: 92%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .header-kv{
        height:540px;
        object-fit: cover; 
        object-position: -5rem 0;
    }

    .separate{
        display:none
    }
    .separate-sp{
        display:block;
        width:100vw;
    
    }

}
