@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;
}
.bg {
	position: relative;
	background: url("../images/bg-cold-bace.jpg") repeat-y top;
}
#kaiteki{
	position: relative;
	padding-top: 130px;
	padding-bottom: 180px;
}
#kaiteki .wrap {
	padding-top: 9em;
	border-radius: 40px;
	background-image: linear-gradient(90deg, #00a0e9, #ffffff);
	border: 5px solid #0962b0;
	padding-bottom: 4em;
}
#hinyari {
	position: relative;
	padding-top: 130px;
	padding-bottom: 180px;
}
#hinyari .wrap {
	padding-top: 4em;
	border-radius: 40px;
	background-color: #bae3f9;
	border: 5px solid #193167;
	padding-bottom: 4em;
}


#uv {
	position: relative;
	padding-top: 130px;
	padding-bottom: 180px;
}
#uv .wrap {
	padding-top: 4em;
	border-radius: 40px;
	background-image: linear-gradient(90deg, #86b3e0 30%, #007dc9 85%, #3156a5);
	border: 5px solid #00b9e7;
	padding-bottom: 4em;
}

#yukata {
	position: relative;
	padding-top: 130px;
	padding-bottom: 170px;
}
#yukata .wrap {
	padding-top: 4em;
	border-radius: 40px;
	background-color: #e8f5fd;
	border: 5px solid #005bac;
	padding-bottom: 4em;
}
.line{
	margin: 45px 0;
	margin-bottom: 20px;
}

/* コンテンツを背景画像より上に */
.bg > * {
  position: relative;
  z-index: 2;
}
.item-kaiteki02{
	position: relative;
}
.qr{
position: absolute;
	left: 0;
    right: 0px;
    top: -120px;
}
.qr:hover{
	opacity: 0.5;
}

	.top-btn .flex_btn li.btn1 a:active{
  transform: scale(1.1);
	}

@media screen and (min-width: 1020px) {
  .wrap {
    max-width: 1450px;
    padding: 0 10px;
    margin: 0 auto;
  }

  #kaiteki h1 {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: -80px;

  }
  #hinyari h1 {
		padding-top: 0;
        padding-bottom: 0;
        margin-bottom: -65px;
  }
	#uv h1{
        padding-bottom: 0;
        margin-bottom: -65px;
}
		#yukata h1{
        padding-bottom: 0;
        margin-bottom: -65px;
}
	#kaiteki::before {
    content: '';
    position: absolute;
	top: 10em;
    left: 0;
    background: url("../images/before-kaiteki.png") no-repeat top; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
	#hinyari::before {
    content: '';
    position: absolute;
    top: 9em;
    left: 0;
    background: url("../images/before-hinyari.png") no-repeat top; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
#uv::before {
    content: '';
    position: absolute;
    top: 95px;
    left: 0;
    background: url("../images/before-uv.png") no-repeat top; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
#yukata::before {
    content: '';
    position: absolute;
    top: 7em;
    left: 0;
    background: url("../images/before-yukata.png") no-repeat top; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
  .btn-wrap {
    margin: 0 auto;
    max-width: 580px;
    justify-content: space-between;
    margin-bottom: 42px;
  }
	.top-btn .flex_btn{
		margin: 0;
		        margin: 40px 0;
	}
	.top-btn .flex_btn li{
		transition: transform .2s ease;
	}
    .top-btn .flex_btn li:last-child {
        /*padding: 0;
		padding-left: 30px;*/
    }
	.top-btn .flex_btn li:first-child {
       
    }
	.top-btn .flex_btn li:hover img{
		transform: scale(1.2);
		 transition: transform .2s ease;
	}
	#js-fixed-header .flex_btn li:hover img{
		transform: scale(1.2);
		 transition: transform .2s ease;
	}

.flex-last .item{
  flex: auto;
}

    .item {
        margin: 85px 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;
	}
	 .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: 1500px) and (min-width: 768px){
	    .wrap {
        max-width: 1250px;
        padding: 0 10px;
        margin: 0 auto;
    }
    .item {
        margin: 55px 10px;
        flex: 0 1 calc(30% - 20px);
    }

		#kaiteki::before {
    content: '';
    position: absolute;
	top: 10em;
    left: 0;
    background: url("../images/before-kaiteki.png") no-repeat top center / contain; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
	#hinyari::before {
    content: '';
    position: absolute;
    top: 9em;
    left: 0;
    background: url("../images/before-hinyari.png") no-repeat top center / contain; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
#uv::before {
    content: '';
    position: absolute;
    top: 95px;
    left: 0;
    background: url("../images/before-uv.png") no-repeat top center / contain; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
#yukata::before {
    content: '';
    position: absolute;
    top: 7em;
    left: 0;
    background: url("../images/before-yukata.png") no-repeat top center / contain; 
    width: 100%;
    height: 100%;
	z-index: 0;
	pointer-events: none;
}
}
@media screen and (max-width: 1019px) {
	#kaiteki,
	#hinyari,
	#uv,
	#yukata{
    position: relative;
    padding-bottom: 1em;
		padding-top: 100px;
}
	#yukata .wrap{
		 padding-bottom: 1em;
		margin-bottom: 3em;
	}
	#kaiteki{
		padding-top: 0;
	}
    .wrap {
        width: auto;
        /*margin: 0 20px;*/
		        padding: 0 20px;
    }
  h1 {
    margin: 0 auto;
  }
	    h1.ttl {
        margin: 0 15px;
        text-align: center;
        padding-top: 60px;
        padding-bottom: 40px;
    }
	h1.category-ttl{
		margin: 0 50px;
	        margin-bottom: -40px;
        position: relative;
        z-index: 99;
	}
#kaiteki .wrap,
	#hinyari .wrap {
	position: relative;
	padding-top: 70px;
	padding-bottom: 40px;
}
	#kaiteki h1 {
        padding-top: 30px;

    }
	.ttl{
        padding-top: 70px;
        margin: 0 15px;
    }
  .item {
    margin: 0 auto;
    margin-bottom: 75px;
    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) {
	.qr {
    position: absolute;

    right: 0px;
    top: -110px;
}
	.item-kaiteki02{
		margin-top: 110px;
	}
}


/* =============================================================================

   ========================================================================== */
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {

}