
/*======================================
-----レイアウトの骨組みのみここに記載-----
======================================*/

.mamapan{
    overflow:hidden;
}

/*======================================
-------------フッターifarme-------------
======================================*/
/*.iframeWrap5 {
    padding-bottom: 52%;
}*/
@media screen and (max-width: 1024px) {
    .iframeWrap5 {
        padding-bottom: 100%;
    }   
}










/*======================================
---------------レイアウト---------------
======================================*/

/*10pxアキのグリッドレイアウトにする*/
.grd_gp10 {
    display: grid;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}
/*20pxアキのグリッドレイアウトにする*/
.grd_gp20 {
    display: grid;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}
/*25pxアキのグリッドレイアウトにする*/
.grd_gp25 {
    display: grid;
    grid-column-gap: 25px;
    grid-row-gap: 25px;
}

/*50pxアキのグリッドレイアウトにする*/
.grd_gp50 {
    display: grid;
    grid-column-gap: 50px;
    grid-row-gap: 50px;
}

/*均等2分割*/
.grd_col_2fr{
    grid-template-columns: 1fr 1fr;  
}
.grd_col_2fr_r{
    grid-template-columns: 1fr 1fr; 
    grid-template-areas:
    "areaA areaB";
}
/*均等3分割*/
.grd_col_3fr{
    grid-template-columns: 1fr 1fr 1fr;
}
/*均等4分割*/
.grd_col_4fr{
    grid-template-columns: 1fr 1fr 1fr 1fr; 
}
/*3:2の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/
.grd_col_3_2_l {
    grid-template-columns: 3fr 2fr;
}
/*2:3の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/
.grd_col_2_3_l {
    grid-template-columns: 2fr 3fr;
}
/*3:2の2分割レイアウト（スマホ表示にしたとき、右の要素を上に表示）※直下のdivにgrd_itm1,grd_itm2などでエリア指定を行う*/
.grd_col_3_2_r {
    grid-template-columns: 3fr 2fr;
    grid-template-areas:
    "areaA areaB";
}
/*2:3の2分割レイアウト（スマホ表示にしたとき、右の要素を上に表示）※直下のdivにgrd_itm1,grd_itm2などでエリア指定を行う*/
.grd_col_2_3_r {
    grid-template-columns: 2fr 3fr;
    grid-template-areas:
    "areaA areaB";
}
/*1:4の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/
.grd_col_1_4_l {
    grid-template-columns: 1fr 4fr;
}
/*4:1の2分割レイアウト（スマホ表示にしたとき、左の要素を上に表示）※直下のdivは何も指定しなくてよい*/
.grd_col_4_1_l {
    grid-template-columns: 4fr 1fr;
}
.grd_itm1{
    grid-area:areaA;
}
.grd_itm2{
    grid-area:areaB;
}
/*均等3分割SNS用*/
.grd_sns{
    display: grid;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr 1fr;
}
/*sns内の画像サイズを40%に*/
.grd_sns img{
    width:40%;
}

@media (max-width: 767px){
/*スマホ表示の際、分割せず縦並び*/
    .grd_sp1fr{
        grid-template-columns: 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }

/*スマホ表示の際、分割せず縦並び*/
    .grd_sp1fr_r{
        grid-template-columns: 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
        grid-template-areas:
        "areaB"
        "areaA";
    }


/*スマホ表示の際、均等2分割横並び*/
    .grd_sp2fr{
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 10px;
        grid-row-gap: 10px;
    }
/*スマホ表示の際、右の要素を上に表示*/
    .grd_col_3_2_r, .grd_col_2_3_r, .grd_col_2fr_r {
        grid-template-areas:
        "areaB"
        "areaA";
    }
  .grd_sns{
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    }
    .grd_sns img{
        width:60%;
    }
}

/*----------中央寄せ----------*/
.blk_center{
    text-align: center;
}
.txt_center{
    text-align: center; /*インライン要素自体にかけると、要素内のテキストに反映される*/
}

/*----------上下アキ----------*/
.row_bottom{
	margin-bottom:15px;
}
.row_bottom30{
	margin-bottom:30px;
}
.row_bottom50{
	margin-bottom:50px;
}
.row_bottom80{
	margin-bottom:80px;
}
.row_bottom100{
	margin-bottom:100px;
}
.row_top{
    margin-top:15px;
}
.row_top30{
    margin-top:30px;
}
.row_top50{
    margin-top:50px;
}
.row_top80{
    margin-top:80px;
}
.row_top100{
    margin-top:100px;
}

/*----------左右アキ----------*/

@media (max-width: 767px){
.margin_side{
	margin-right:10px;
	margin-left:10px;
	}
}




/*----------セクション背景----------*/


.chef_background {
	background-color:#f5f5f5;
	margin:0 20 0 20;
}

.lunch_background {
	background-color:#fff9ed;
	margin:0 20 0 20;
}




/*----------PC・スマホ調整----------*/
@media only screen and (min-width : 320px) {
	.pc_h{
		display:none;
	}
	.smp_h{
		display:inline;
	}
}

@media only screen and (min-width : 992px) {
	.pc_h{
		display:inline;
	}
	.smp_h{
		display:none;
	}
}

@media only screen and (min-width : 1200px) {
	.pc_h{
		display:inline;
	}
	.smp_h{
		display:none;
	}
}




/* 背景色 */
.lead-bg01 { background-color: #f3f3f3; padding: 30px 0px;}
.lead-bg02 { background-color: #c2d3e7; padding: 30px 0px;}


/*============================================*/
/*SNS */
/*============================================*/
.sns{
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.sns-box00{
    display: block;
    width: 20%;
    text-align: center;
    border-right: solid 1px #333;
}
.sns-box01{
    display: inline-block;
    width: 15%;
    padding: 10px;
    text-align: center;
}
.sns img{width: 40%;}
.sns h2{
    font-family: "Shippori Mincho", serif;
    font-size: 25px;
    text-shadow: none;
    margin: 40px 0px 30px 0px;
}
.sns h2::before{content: none;}
.sns h4{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 0px;
    text-shadow: none;
    margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
.sns img{width: 80%;}
.sns h2{margin: 10px 0px;}
.sns-box00{width: 25%;}
.sns-box01{width: 18%;}
.sns h4{font-size: 11px;}
}

/*============================================*/
/*item */
/*============================================*/
.item{
    display: flex;
	justify-content: center;
    align-items: flex-start;
	}
	
.item-box{
    padding: 10px;
    text-align: center;
	}
	

.item  h4{ 
font-size:14px;
margin-top:5px;
}


@media screen and (max-width: 760px){
	
.item{
	 width: 100%;
  display: flex;
    flex-wrap: wrap;
	}
	
.item-box{
    padding: 10px;
    text-align: center;
	width: 50%;
	}
.item  h4{ 
font-size:12px;
}
	}



/*============================================*/
/* メニュー・ナビボタン */
/*============================================*/
.nav{
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 640px) {
.nav{
    display: block;
    text-align: center;
}
}
.nav ul{
    display: flex;
    width: 80%;
    justify-content: space-between;
}
.nav li{
    display: inline-block;
    padding: 15px 20px;
    margin: 3px;
	background-color:#6d803b;
	border-radius:3px;

}
@media screen and (max-width: 640px) {
.nav{
    display: block;
    align-items: center;
    justify-content: center;
}

.nav li{
    width: 80%;
    margin: 2px 0px;
    padding: 8px 15px;
}
}
.nav li:hover{
    background-color: #c1d1dd;
    border: solid 1px #6d803b;
}
.nav a{
    font-family: serif;
    font-size: 14px;
    text-decoration: none;
	color:#FFF;
}
.nav a:hover{color: #6d803b;}
@media screen and (max-width: 640px) {
.nav a{
    font-size: 16px;
    letter-spacing: 0.5px;
}
}




/*============================================*/
/* 写真のシェフ紹介 */ 
/*============================================*/
.img-box00{
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.img-box01{
    display: flex;
    width: 77%;
}
.img-box02{
    display: inline-block;
    width: 20%;
    height: auto;
    justify-content: flex-start;
    border: solid 1px #999;
    padding: 10px 0px 10px 20px;
}
.img-box03{
    display: block;
}
.img-text{
    margin-top: 5px;
    margin-bottom: 10px;
}


.img-text_h3 {
    font-size: 1.2rem;
    padding-top: 10px;
    font-weight: bold;
    margin-bottom: 10px;
	font-family:serif;
}


@media (max-width: 768px) {
.img-box00{display: block;}
.img-box01{
    width: 100%;
    margin-bottom: 15px;
}
.img-box02{
    width: 100%;
    padding: 14px;
}
.img-box03{
    display: flex;
    width: 100%;
    justify-content: space-between;
    border-bottom: dashed 1px #ccc;
	margin-bottom:5px;

}
.img-text{
    display: inline-block;
    width: 48%;
    margin-top: 5px;
	padding:2px;
}
}


.img-box02 h3{
    display: block;
    font-family: serif;
    font-size: 17px;
    line-height: 1.4em;
    letter-spacing: 0.5px;
    margin: -5px;
	margin-bottom:4px;
	text-align:left;
}

.img-box02 h4{
    display: block;
    position:relative;
    font-family:  "Alegreya", serif;
    font-size: 13px;
    letter-spacing: 0.5px;
    padding-left: 12px;
}
.img-box02 h4::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 8px;
    border: 5px solid transparent;
    box-sizing: border-box;
    border-left-color: #ccc;
    left: 0;
    margin: 2px 0px 0px 0px;
}
.img-box02 p{
    display: block;
    font-size: 14px;
}
@media (max-width: 768px) {
.img-box02 h3{
    font-size: 14px;
    letter-spacing: 0px;
}
.img-box02 h4{
    font-size: 10px;
    letter-spacing: 0px;
    }
.img-box02 p{
    font-size: 12px;
    margin-bottom: 5px;
    }
}
/* ======================================*/
/* フレックス設定 */
/* ======================================*/
.flex-box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.flex-box00{
    display: inline-block;
    width: 24%;
    margin-bottom: 50px;
}
.flex-box01{
    display: inline-block;
    width: 100%;
}
@media screen and (max-width: 640px) {
.flex-box{display: inline-block;}
.flex-box00{
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    }
.flex-box01{
    display: inline-block;
    width: 49%;
}
}

/* 1並び用 */
.recipe-1{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
/*    background-color: #fff;
    border-radius: 8px;*/
}
/*.recipe-1 img{border-radius: 8px 0px 0px 8px;}*/
.recipe-1-box01{
    display: inline-block;
    width: 59%;
}
.recipe-1-box02{
    display: inline-block;
    width: 40%;
    text-align: left;
    padding: 10px 15px;
}
.recipe-1 h2{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    margin: 20px 0px;
}
.recipe-1 h2 span{font-size: 14px;}
.recipe-1 h3{
    background-color: #2a3263;
    border: solid 1px #2a3263;
    border-radius: 3px;
    margin: 0px;
    padding: 8px 20px;
    text-align: center;
    font-size: 15px;
    color: #fff;
}
.recipe-1 h3:hover{
    background-color: #fff;
    color: #2a3263;
}
.recipe-1 p{
    font-size: 14px;
    text-align: left;
    margin: 25px 0px;
}
.recipe-1 a{display: block;}
@media screen and (max-width: 640px) {
.recipe-1{display: block;}
.recipe-1 h2{font-size: 16px;}
.recipe-1-box02{padding: 0px 0px;}
/*.recipe-1 img{border-radius: 8px 8px 0px 0px;}*/
.recipe-1-box01{width: 100%;}
.recipe-1-box02{width: 100%;}
.recipe-1 p{font-size: 12px;}
}

/* ======================================*/
/* レシピ・アイテム-グリッド設定 */
/* ======================================*/
.ch-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
    grid-gap: 20px 15px;
    margin-bottom: 30px;
}
.ch-grid-w{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
    grid-gap: 20px 15px;
    margin-bottom: 30px;
}
.ch-grid-w-set{display: inline-block;}
.ch-grid_5-2,.ch-grid_5-1{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(185px,1fr));
    grid-gap: 20px 15px;
    margin-bottom: 30px;
}
.ch-grid_4-1,.ch-grid_4-2{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    grid-gap: 20px 15px;
    margin-bottom: 30px;
}
.ch-grid_3-2,.ch-grid_3-1{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
    grid-gap: 40px;
    margin-bottom: 30px;
}
.ch-grid_2-1,.ch-grid_2-2{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(450px,1fr));
    grid-gap: 40px;
    margin-bottom: 30px;
}
.ch-grid-set{
    display: inline-block;
/*    background-color: #fff;
    border-radius: 5px;
    padding: 15px;*/
}
.ch-grid-set h1,.ch-grid-w-set h1{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 40px;
    color: #b6d6cf;
    font-weight: normal;
    text-align: left;
    letter-spacing: 8px;
    margin: 0px 0px 30px 0px;
}
.ch-grid-set h2,.ch-grid-w-set h2{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    margin: 5px 0px 30px 0px;
}
.ch-grid-set h3{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-weight: normal;
    margin: 10px 0px;
}
.ch-grid-set h4,.ch-grid-w-set h4{
    background-color: #b22c2c;
    border: solid 1px #b22c2c;
    margin: 0px;
    padding: 10px 20px;
    text-align: center;
    font-size: 15px;
    color: #fff;
}
.ch-grid-set p,.ch-grid-w-set p{
    font-size: 15px;
    line-height: 1.8em;
    margin: 5px 0px 20px 0px;
	letter-spacing: 1.5px;
}
@media screen and (max-width: 640px) {
/*.ch-grid-set{
    border-bottom: solid 1px #ccc;
    padding: 10px;
}*/
.ch-grid-set h1,.ch-grid-w-set h1{font-size: 30px;}
.ch-grid-set h2,.ch-grid-set h2{
    font-size: 13px;
    letter-spacing: -0.5px;
}
.ch-grid-set h3{
    font-size: 10px;
    letter-spacing: -0.5px;
}
.ch-grid-set h4{font-size: 11px;}
.ch-grid-set p,.ch-grid-set p{font-size: 10px;line-height: 1.4rem;}
.ch-grid_4-1,.ch-grid_3-1,.ch-grid_2-1{
    grid-template-columns: repeat(1,minmax(150px,1fr));
    grid-gap: 30px 5px;
}
.ch-grid_4-2,.ch-grid_3-2,.ch-grid_2-2{
    grid-template-columns: repeat(2,minmax(150px,1fr));
    grid-gap: 10px 10px;
}
.ch-grid_5-2{
    grid-template-columns: repeat(3,minmax(80px,1fr));
    grid-gap: 10px 10px;
}
}


/* ======================================*/
/* お店のご紹介 */
/* ======================================*/
.store_title{
    border-bottom: solid 2px #2a3263;
    text-align: left;
    margin-bottom: 30px;
    padding-bottom: 5px;
}
.store_title h1{
    font-family: "Shippori Mincho B1", serif;
    font-size: 30px;
    font-weight: bold;
}
@media screen and (max-width: 640px) {
.store_title h1{font-size: 23px;}
}
.store_address{
    margin: 0px;
}
.store_address h5{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 20px;
}
.store_address h5 span{
    font-size: 18px;
    font-weight: normal;
}
.store_address h5 span::before{
    content: " / ";
}
.store_address h6{
    font-family: "Shippori Mincho B1", serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6em;
    text-align: left;
    margin-bottom: 30px;
}
.store_address_text{
    font-size: 15px;
    line-height: 1.8em;
}
@media screen and (max-width: 640px) {
.store_address h6{
    font-size: 13px;
    margin-bottom: 10px;
}
.store_address_text{font-size: 13px;}
}
.store_sns{
    border: solid 1px #666;
    border-radius: 5px;
    padding: 10px 15px;
    margin: 0px;
}
.store_sns_box{
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin-bottom: 8px;
}
.store_sns img{
    display: inline-block;
    width: 25px;
    height: auto;
}
.store_sns_black{
    background-color: #000;
    padding: 3px;
}
.store_sns_text{
    display: inline-block;
    font-size: 15px;
    margin-left: 10px;
}
@media screen and (max-width: 640px) {
.store_sns_text{
    font-size: 12px;
    margin-left: 5px;
}
}
/* googleMapのレスポンシブ設定 */
.map_set {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 66.6%; /* 比率指定 */
}
.map_set iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 640px) {
.map_set {padding-top: 75%; /* 比率指定 */}
}

/* ======================================*/
/* 枠線box */
/* ======================================*/
.line-box{
    display: block;
    border: solid 1px #333;
    padding: 15px 15px;
    margin: 0px;
    /*border-radius: 10px;*/
    text-align: center;
}
.line-box h4{
    font-size: 17px;
    font-weight: bold;
    margin: 5px 0px 10px 0px;
    text-align: left;
}
.line-box h8{
    display: block;
    font-size: 14px;
    text-align: left;
    line-height: 1.6em;
    margin: 0px;
}

@media screen and (max-width: 640px) {
.line-box h4{font-size: 14px;;}
.line-box h8{font-size: 11px;;}
}