@charset "utf-8";

/*============================================*/
/*共通*/
/*============================================*/

@font-face {
  font-family: "Belleza";
  src: url('https://www.mamapan.jp/html/contents/odl/font/Belleza-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Noto Serif JP";
  src: url('https://www.mamapan.jp/html/contents/odl/font/NotoSerifJP-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

.container{
  font-family: "Belleza", sans-serif;
  font-weight: 400 , 600;
  font-style: normal;
  font-size: 1rem;
  line-height:2rem;
  color: #231815;
  /* letter-spacing: 100%; */
}

a {
  color: #231815;
  text-decoration: none;
}

.row_bottom30{
  margin-bottom:30px;
}

.row_bottom50{
  margin-bottom:50px;
}

.row_bottom80{
  margin-bottom:80px;
}

/*20pxアキのグリッドレイアウトにする*/
.grd_gp20 {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-columns: repeat(auto-fit);
}

.subgrd{
  display: grid;
  grid-template-rows: subgrid;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-row: span 4;
}

/*firefoxのみに適用*/
@-moz-document url-prefix() {
  .subgrd{
    grid-template-rows: auto;
  }
}

/*均等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: repeat(3, 1fr); 
}

/*均等4分割*/
.grd_col_4fr{
  grid-template-columns: repeat(4, 1fr);  
}

.grd_col_1_3 {
  grid-template-columns: 1fr 3fr;
}

.grd_col_2_3 {
  grid-template-columns: 2fr 3fr;
}

.grd_col_3_1_r{
  grid-template-columns: 3fr 2fr;
  grid-template-areas:
    "areaA areaB";
}

.grd_col_3_2_r{
  grid-template-columns: 3fr 2fr;
  grid-template-areas:
    "areaA areaB";
}

.grd_itm1{
  grid-area:areaA;
}

.grd_itm2{
  grid-area:areaB;
}

.main_cnt h1 {
  font-size:2rem;
  padding-top:20px;
  margin-bottom: 5px;
  text-align: center;
}

.main_cnt h2 {
  font-size:1.8rem;
  line-height: 2.3rem;
  text-align: center;
  position: relative;
	padding: 50px 0 70px 0;
}

.main_cnt h2 span{
  position: relative;
  z-index: 2;
}

.main_cnt h2::before{
  content: attr(data-en);
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(162, 162, 162, 0.2);
	font-size: 6rem;
  line-height: 4rem;
}

.main_cnt h3 {
  font-size:1.5rem;
}

.main_cnt h4{
  font-size:1.2rem;
}

.main_cnt h5{
  font-size: 1.1rem;
}

.main_cnt h1, .main_cnt h2, .main_cnt h3, .main_cnt h4, .main_cnt h5{
  font-family: "Belleza", "Noto Serif JP", serif;
  font-weight: 400 , 600;
  margin-bottom:10px
}

.inner-container img{
  display:block;
  margin:0 auto 50px auto;
}

a:hover{
  color:#231815;
  text-decoration: none;
  cursor: pointer;
}

.line-p {
  overflow: hidden;
  text-align: center;
  padding:10px 0 50px 0;
}

.line-p span {
  display: inline-block;
  padding: 0 1em;
  position: relative;
  text-align: center;
}

.line-p span:before,
.line-p span:after {
  border-top: 1px solid;
  content: "";
  position: absolute;
  top: 50%;
  width: 99rem;
}

.line-p span:before {
  right: 100%;
}

.line-p span:after {
  left: 100%;
}

.u_line{
  border-bottom:1px #ccc solid;
  margin-bottom:10px
}

.description{
  font-size: 0.9rem;
  line-height: 1.5rem;
}

.p-line-height{
	line-height: 2rem;
	font-size: 1.2rem;
  margin-left:30px;
  position:absolute;
  top:20%;
}

.title{
  display:inline-block;
  position: relative;
  padding-bottom:1px;
  font-size:1rem;
  margin:8px 10px 3px 5px;
}

.title span{
  margin-left:1.7em;
}

.recipe_t::before, .story_t::before{
  position: absolute;
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  justify-content: center;
}

.recipe_t::before{
  background-image: url("https://www.mamapan.jp/html/contents/odlprovence/img/recipe.png");
}

.story_t::before{
  background-image: url("https://www.mamapan.jp/html/contents/odlprovence/img/story.png");
} 

.clr{
  color:#7AC2E3
}

p{
  color:#231815
}

.big{
  font-size:1.3rem
}

.sml{
  font-size:0.9rem;
  line-height: 1.5rem;
}

@media (max-width: 767px){

  .container{
    font-size: 0.9rem;
    line-height: 1.6em;
  }

  .main_cnt h1{
      font-size:1.5rem;
      text-align: center;
      margin: 0 0;
      margin-top: 7px;
      margin-bottom: 0px;
    }

  .main_cnt h2{
      font-size:1.3rem;
      text-align:center;
      margin-bottom: 10px;
    }

  .main_cnt h2::before{
      top: -5px;
      font-size: 2.5rem;
      line-height: 3.5rem;
    }

  .main_cnt h3{
      font-size:1.1rem;
    }

  .main_cnt h3 span{
      font-size: 1.3rem;
    }

  .main_cnt h4{
    font-size:1rem;
  }

  .description{
    display:none
  }

  .p-line-height{
    font-size:1.1rem;
    line-height:1.6rem;
    padding:0 10px;
    margin-left:0;
    position:relative;
  }

  .title{
		font-size:0.9rem;
	}
  
  /*スマホ表示の際、分割せず縦並び*/
  .grd_sp1fr{
      grid-template-columns: 1fr;
      grid-column-gap: 10px;
      grid-row-gap: 10px;
  }

  /*スマホ表示の際、均等2分割横並び*/
  .grd_sp2fr{
      grid-template-columns: 1fr 1fr;
      grid-column-gap: 10px;
      grid-row-gap: 10px;
  }

  .grd_col_2fr_r, .grd_col_3_2_r, .grd_col_3_1_r{  
    grid-template-areas:
    "areaB"
    "areaA";
  }

  .big{
    font-size:1.2rem
  }

  .sml{
    font-size:0.8rem;
  }

}

/*============================================*/
/*odlprovence2019autumn01のみに適用*/
/*============================================*/

/** リード **/
.block_ttlhaus {
  display: table;
  height: 500px;
  width: 100%;
  position: relative;
  background: url('img/haus_obi.jpg') no-repeat; 
  text-align:center;
  background-size: cover;
  text-align:center;
  margin-bottom: 80px;
}

.block_ttlolive {
  display: table;
  height: 300px;
  width: 100%;
  position: relative;
  background: url('img/olive_obi0.jpg') repeat; 
  text-align:center;
  background-size: cover;
  text-align:center;
  margin-bottom: 80px;
}

.aperitif{
  background-color: #FFF5EE;
  border:1px solid #F99;
  border-radius: 10px;
  padding:15px;
}

.aperitif h4{
  font-weight:700;
  text-decoration: underline;
  color:#F99;
  font-size: 1.7rem;
  margin-bottom:20px;
}

.aperitif h4 span{
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {

  /** リード文 **/
  .block_ttlhaus {
    height:300px;
  }

  /** リード中 **/
  .block_ttlolive {
    height:200px;
  }

}

/*============================================*/
/*SNS */
/*============================================*/

.lead-bg01{
  background-color: #ededed;
  padding:50px 0;
}

.sns{
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.sns-box00{
  display: block;
  width: 20%;
  text-align: left;
  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: serif;
  font-size: 25px;
  font-weight: bold;
  margin: 20px 0px;
  text-align: center;
}

.sns h2::before{
  content: none;
}

.sns h4{
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 0px;
  text-shadow: none;
  margin-bottom: 20px;
}

@media (max-width: 767px){
  
  .sns img{
    width: 80%;
  }

  .sns h2{
    font-size: 20px;
    margin: 10px 0px;
  }

  .sns-box00{
    width: 25%;
  }

  .sns-box01{
    width: 18%;
  }

  .sns h4{
    font-size: 11px;
  }

}

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

@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;
	}
}

/* ����p
===================
.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}*/

