@charset "utf-8";

/* =============================================================================
    福袋　ファッション
   ========================================================================== */

section {
  text-align: center;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
  flex-wrap: wrap;
	    align-items: center;
}

.grid{
	  display: grid;
  grid-template-columns: repeat(3, 1fr); 
}
h2 {
  text-align: center;
  padding-bottom: 60px;
}
#hatuuri{
	background: #f3c8b6;
	position: relative;
	padding-bottom: 19em;
}
#hatuuri::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: url("../images/bg-hatuuri.png") repeat-y top; 
    width: 100%;
    height: 100%;
    mix-blend-mode: screen;
	z-index: -1;
}
#hatuuri::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: url("../images/bg-hatuuri-soshoku.png") repeat-y top; 
    width: 100%;
    height: 100%;
	z-index: -1;
}
#special-gourmet {
	position: relative;
	background: url("../images/bg-hatuuri-gourmet.png") no-repeat top; 
	margin-bottom: -155px;
	margin-top: -6em;
	padding: 140px 0;
	    padding-bottom: 100px;
}
#special-gourmet h1{
	position: absolute;
    top: -14em;
	justify-self: center;
}
.line{
	margin: 45px 0;
}

/* コンテンツを背景画像より上に */
.bg > * {
  position: relative;
  z-index: 2;
}
.category-ttl{
	padding-top: 4em;
	padding-bottom: 3em;
}


@media screen and (min-width: 1020px) {
  .wrap {
    max-width: 1400px;
    padding: 0 10px;
    margin: 0 auto;
	 
  }
	#hatuuri .wrap {
		padding-top: 4em;
	}

  #hatuuri h1.ttl {
	  padding-top: 0;
	  padding-bottom: 0;
  }
  .btn-wrap {
    margin: 0 auto;
    max-width: 580px;
    justify-content: space-between;
    margin-bottom: 42px;
  }

  #gift {
    position: relative;
    background-size: cover;
        margin: 0 auto;
  }
.flex-last .item{
  flex: auto;
}

    .item {
        margin: 55px 10px;
		flex: 1 1 calc(33.333% - 20px);
    }
	.flex-evenry{
		
	}
	.flex-center{
		justify-self: center;
        justify-content: center;
	}
	.flex-center .item{
		margin: 40px 20px;
        flex: none;
	}
	.flex-double .item:first-child{
		flex-grow: 1;
        flex-shrink: 1;
        flex-basis: 0;
	}
		.flex-double .item:last-child{
		  flex-grow: 2;
		  flex-shrink: 1;
		  flex-basis: 0;
	}
		.flex-double-reverse .item:first-child{
		flex-grow: 2;
        flex-shrink: 1;
        flex-basis: 0;
	}
		.flex-double-reverse .item:last-child{
		  flex-grow: 1;
		  flex-shrink: 1;
		  flex-basis: 0;
	}
	.item-happybag-reservation03{
		margin-top: 0;
	}
	  #happybag-sale .flex-double{
		margin-top: 3em;
		width: 1455px;
	}
	.flex-bottom .item {
		margin-top: 0;
	}
	.flex-column{
		flex-flow: column;
	}
.title::before{
    content: "";
    /* 縦線の色・形 */
    width: 3px;
    height: 36px;
    border-radius: 2px;
    background-color: #dddddd;
    /* 配置場所 */
    position: absolute;
    right: -64px; /* ポイント３ */
}
  #btnWrap {
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 1019px) {
	#hatuuri {
    position: relative;

    padding-bottom: 7em;
}
    .wrap {
        width: 100%;
        padding: 0 40px;
    }
  h1 {
    padding-top: 80px;
    margin: 0 auto;
    padding-bottom: 30px;
	  
  }
	#hatuuri h1 {
        padding-top: 0;
        margin: 0 auto;
        padding-bottom: 40px;
    }
	#special-gourmet {
	  position: relative;
		background: url("../images/bg-hatuuri-gourmetSP.png") no-repeat top; 
	}
	#special-gourmet h1 {
    position: absolute;
    top: -7em;
}
  .item {
    margin: 0 auto;
    margin-bottom: 70px;
    text-align: center;
    width: 100%;
  }
  .btn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 92%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 57px;
  }

  .btn-wrap li {
    width: 31%;
    margin-bottom: 10px;
  }

}

@media screen and (max-width: 1019px) {
}

/* =============================================================================

   ========================================================================== */
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}
