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

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_2_3 {
  grid-template-columns: 2fr 3fr;
}

.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 h1, .main_cnt h2, .main_cnt h3, .main_cnt h4{
  font-family: "Belleza", "Noto Serif JP", serif;
  font-weight: 400 , 600;
  margin-bottom:10px
}

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

.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
}

.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");
  } 

p{
    color:#231815
  }

@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.5rem;
    }

  .main_cnt h4{
    font-size:1rem;
  }
  
  .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_3_2_r{
      grid-template-areas:
      "areaB"
      "areaA";
  }

}

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

.section_spring{
  background-image: linear-gradient(180deg, rgba(250, 222, 220, 1), rgba(255, 255, 255, 1));
  padding: 50px 0;
}

.section_summer{
  background-image: linear-gradient(180deg, rgba(201, 223, 180, 1), rgba(255, 255, 255, 1));
  padding: 50px 0;
}

.section_autumn{
  background-image: linear-gradient(180deg, rgba(247, 238, 218, 1), rgba(255, 255, 255, 1));
  padding: 50px 0;
}

.section_winter{
  background-image: linear-gradient(180deg, rgba(225, 234, 242, 1), rgba(255, 255, 255, 1));
  padding: 50px 0;
}

.sign img{
  width:300px;
  display:block;
  margin:30px 0 0 auto;
}

.seasons p{
  display: inline-block;
}

.seasons a:hover{
  text-decoration: none;
  cursor: pointer;
}

.spring{
  color: #d28480;
}

.summer{
  color: #6f8d55;
}

.autumn{
  color: #867855;
}

.winter{
  color: #546c81;
}

.caption{
  font-size:1rem;
  margin-right:10px;
}	

/*============================================*/
/*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;
  }
}
