@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　ハピシエ用
--------------------------------------------------------*/
#hapishie_top{
		margin: 0.5em 0 1.5em;
	}
.txt {
    width: 100%;
    margin: 0;
    padding: 0 1em 1.5em;
    font-size: 93%;
    font-weight: normal;
}

/*--------------------------------------------------------
　トップナビ
--------------------------------------------------------*/
#topNav{
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	margin: 0 ;
	/*box-shadow: 0 1px 0 0 #505050 inset;*/
	/*border-top: 1px solid #878787;
	border-bottom: 1px solid #878787;*/
	position: fixed;
	bottom: 0;
	z-index: 2147483645;
	background: #fff;
	box-shadow: 0 -5px 5px -5px rgba(0,0,0,.5);
	transition: .3s ease;
}
#topNav li {
	width: 20%;
	text-align: center;
	font-size: 0.7rem;
	font-weight: 700;
	white-space: nowrap;
	/*font-feature-settings: "palt";*/
	/*font-family: 'M PLUS 1p', sans-serif;*/
	border-right: 1px solid #878787;
}
#topNav li:last-child {
	border-right: none;
}
#topNav li a{
	padding: 0.6em 0;
	display: block;
}
#topNav li img{
	width: 35%;
	margin: 0 auto 0.25em;
	display: block;		
}

/*--------------------------------------------------------
　カテゴリ切り替え
--------------------------------------------------------*/
#catNav{
		background: #D5D4D4;	
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: center;
		margin: 1.5em;
		border-radius: 2em;
	}
	#catNav li {
		width: 33.3%;
		text-align: center;
		font-size: 1rem;
		font-weight: normal;
		white-space: nowrap;
		/*font-feature-settings: "palt";*/
		/*font-family: 'M PLUS 1p', sans-serif;*/		
		padding: 0.3em;
		border-radius: 2em;
	}
	#catNav li.select {
		width: 33.3%;
		font-weight: bold;
		/*font-weight: 800;*/
		background: #514F50;		
	}
	#catNav li.select a {
		color: #fff;	
	}
	#catNav li a{
		display: block;
	}


/*--------------------------------------------------------
　メインスライダー
--------------------------------------------------------*/
.topMain {
    margin: 0 0 1.5em;
    /*overflow: hidden;*/
}
.topMain p{
	padding: 1em 1em 0;
}

.top-bnr{
	padding: 0;
    margin: 0 6% 1.5em;
}
.top-bnr li{
	margin-bottom:0.8em;	
}

/*-----------　読み込み時縦に並ぶのを回避 -----------*/
.slider-notes,
.slider-main,
.slider-sub{
  opacity: 0 ;
  transition: opacity .2s linear;
}
.slider-notes.slick-initialized,
.slider-main.slick-initialized,
.slider-sub.slick-initialized{
  opacity: 1 ;
}
/*-----------　読み込み時縦に並ぶのを回避 -----------*/
	
	.slider-container{		
		display: block !important;
		box-sizing: border-box !important;
	}	
	.slider-main{		
		position: relative !important;
		margin-bottom: 1em !important;
		/*margin-bottom: 30px !important;*/
	}	
	.slider-prev{
		width: 40px !important;
		left: 0 !important;
	}
	.slider-next{
		width: 40px !important;
		right: 0 !important;
	}
	
	.slick-prev{
		width: 30px !important;
	    height: 30px !important;
		left: 0 !important;
		 z-index: 1;
	}
	.slick-next{
		width: 30px !important;
    	height: 30px !important;
		right: -1px !important;
	}
	/*.slick-dots {
		position: relative !important;
    	bottom: -10% !important;
		display: block !important;
	}*/
	.slider-sub li{
    	margin: 0 0.4em !important;
	}
	.slider-notes {
		margin: 0.5em 0 !important;
	}
	.slider-notes li{
    	margin: 0 0.4em 0.4em !important;
	}
	.slider-arrow {
    position: absolute !important;
	bottom: -35px !important;
    /*bottom: -14% !important;*/
    cursor: pointer !important;
    z-index: 1 !important;
}

.slick-next:before, [dir='rtl'] .slick-next:before {
    content: "" !important;
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
}
.slick-next:before {
    background: url(../../sp_img/index/arrow_next.png)no-repeat center center;
    background-size: contain;
}
.slick-prev:before, [dir='rtl'] .slick-prev:before {
    content: "" !important;
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
}
.slick-prev:before {
    background: url(../../sp_img/index/arrow_prev.png)no-repeat center center;
    background-size: contain;
}

.slick-dots li button:before {
	font-size: 0.6rem !important;
}


/*----------------------------------------------------------------------
   納期案内
----------------------------------------------------------------------*/
/*スマホ用*/
.noukiBox{	
	/*height: 29.21875%;*/
	margin: 0 0.5em ;
	text-align: center;
	background: #F50078;
    border-radius: 10px 10px 0 0;
}
.noukiBox .noukiItem{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 138%;
    font-weight: bold;
    color: #fff;
    margin: 0.8em 0 0 !important;
    line-height: 1em;
    padding: 0 1.8em;
    position: relative;
    display: inline-block;
}
.noukiBox .noukiItem::before {
	position: absolute;
	left: 0;
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 1em;/*画像の幅*/
	height: 1em;/*画像の高さ*/
	background: url(../../sp_img/common/ico_clover.png) no-repeat;
	background-size: contain;
}
.noukiBox .noukiItem::after {
	position: absolute;
	right: 0;
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 1em;/*画像の幅*/
	height: 1em;/*画像の高さ*/
	background: url(../../sp_img/common/ico_clover.png) no-repeat;
	background-size: contain;
}


.noukiBox p{
	font-size: 75%;
	color: #fff;
	margin: 0;
	padding: 0.5em 0.5em 0.8em;
}

.grad-wrap{
	position: relative;
	margin-bottom: 5em;
}
.grad-btn {
	z-index: 10;
    position: absolute;
    right: 0;
    bottom: -4.2em;
    left: 0;
    margin: 0 0.5em;
    padding: 0.5em 0;
    border-radius: 0 0 10px 10px;
    background: #F50078;
    color: #fff;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
}
.grad-btn::after {
content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(/sp/img/common/arrow_open.png);
  background-size: contain;
  vertical-align: middle;
}
.grad-btn::before {
	content: "営業日／平日のみ ［当店定休日／土日祝・お盆・年末年始］";
	display: block;
	font-size: 75%;
	padding: 0.5em 0.5em 0.25em;
}

	
.grad-item {
  position: relative;
  overflow: hidden;
  height: 230px;
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked ~ .grad-btn::after {
	content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(/sp/img/common/arrow_close.png);
  background-size: contain;
  vertical-align: middle;
}
.grad-trigger:checked ~ .grad-item {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::after {
  display: none; 
}



/*#flowBody .dmBnr{
    display: none;
}*/

/*-----------　納期の文字スタイル -----------*/
.schedule{
	/*border: 1px dotted #FFF;*/
	border-radius: 10px;
	margin: 0 ;
	/*margin: 0 0.5em ;*/
	padding: 0.25em ;
	letter-spacing: normal;
}
		/*.schedule > div {
			margin: 0 ;
			padding: 0 0.5em;
		}*/
        .schedule > div {
			margin: 0 ;
			padding: 0.8em 0.8em 0.3em;
			background: #fff;
			border-radius: 10px;
		}
		.schedule p {
			font-size: 120%;
			font-weight: bold;
			line-height: 1;
			color: #333;
			background: #F7F5ED;
            border-radius: 10px;
            border: 1px dotted #DCD3B0;
            margin-bottom: 0.5em;
		}
		.seal_note,.hanko_com_note,.hanko_note,.wappen_note,.towel_note,.gift_note,.option_note{
			font-size: 77%;
    		font-weight: bold;    		
    		line-height: 1.2;
			display: block;    		
    		text-align: center;
			margin: 0.5em 0;
		}
		.seal_note{
			color: #3DB74A !important;
		}
		.hanko_com_note{
			color: #E84593 !important;
		}

		.hanko_note{
            color: #8F56D0 !important;                
            }
        .wappen_note{
            color: #A55C34 !important;
                
            }
        .towel_note{
            color: #E07911 !important;
                
            }
        .gift_note{
            color: #48B2C7 !important;
                
            }
        .option_note{
            color: #25BC9E !important;
                
            }

        /*.nouki_seal_info .note{
            color: #6FBD8F !important;
                
            }
        .nouki_hanko_info .note{
            color: #C18ED6 !important;
                
            }
        .nouki_hanko_com_info .note{
            color: #EE8394 !important;
                
            }
        .nouki_wappen_info .note{
            color: #AB8561 !important;
                
            }
        .nouki_towel_info .note{
            color: #E6AB4C !important;
                
            }
        .nouki_gift_info .note{
            color: #7EA5CD !important;
                
            }
        .nouki_option_info .note{
            color: #57B3C2 !important;
                
            }*/


		
		@media screen and (max-width : 320px) {/*iPhone 5/SE/4以下縦*/
			.schedule p{ font-size : 100%;  }
		}
		@media screen and (min-width : 321px) and (max-width : 374px){/*その他Android縦*/
			.schedule p{ font-size : 115%;  }
		}
		@media screen and (min-width : 375px) and (max-width : 413px){/*iPhone X/8/7/6縦*/
			.schedule p{ font-size : 120%;  }
		}
		@media screen and (min-width : 414px) and (max-width : 567px) {/*iPhone 8/7/6 Plus縦*/
			.schedule p{ font-size : 135%;  } 
		}
		@media screen and (min-width : 568px) and (max-width : 666px) {/*iPhone 5/SE/4以下横*/
			.schedule p{ font-size : 185%;  } 
		}
		@media screen and (min-width : 667px) and (max-width : 735px) {/*iPhone 8/7/6 横*/
			.schedule p{ font-size : 215%;  }
		}
		@media screen and (min-width : 736px) and (max-width : 767px) {/*iPhone 8/7/6 Plus横*/
			.schedule p{ font-size : 235%;  }
		}
		@media screen and (min-width : 768px) and (max-width : 811px) {/*iPad縦 */
			.schedule p{ font-size : 245%;  }
		}
		@media screen and (min-width : 812px) and (max-width : 1023px){/*iPhone X横 */
			.schedule p{ font-size : 260%; }
		}
		@media screen and (min-width : 1024px) and (max-width : 1365px) {/*iPad横 / iPad Pro縦*/
			.schedule p{ font-size : 325%;  }
		}		
		@media screen and (min-width : 1366px) {/*iPad Pro横*/
			.schedule p{ font-size : 435%;  }
		}
		
		
		
		
		.schedule .clr1,
		.schedule2 .clr1{
			font-family:'Archivo Black', sans-serif; 					
			padding: 0 0.1em;
			font-size: 180%;
			font-weight: bold;
			letter-spacing: -0.05em;
		}
		.schedule .clr2,
		.schedule2 .clr2{	
			font-family:'Archivo Black', sans-serif; 
			padding: 0 0 0 0.1em;
			font-size: 100%;
			font-weight: bold;	
			letter-spacing: -0.05em;
		}
		.schedule .clr3,
		.schedule2 .clr3{				
			padding: 0 0.1em;
			font-size: 60%;
			margin-left: -0.2em;
			/*letter-spacing: -0.05em;*/
		}
		.schedule .clr4,
		.schedule2 .clr4{
			padding: 0 0 0 0.1em;
			font-size: 100%;
			font-weight: bold;	
			/*letter-spacing: -0.05em;*/
		}
		
        .noteTop{
            font-size: 138%;
			display: block;    		
    		text-align: center;
			color: #fff !important;
            font-weight: bold;			
		}
		.note{
			font-size: 77%;
    		font-weight: bold;    		
    		line-height: 1.2;
			display: block;    		
    		text-align: center;
			margin: 0.5em 0;
			color: #159519 !important;
		}
		.note2{			
    		display: inline-block;
			font-size: 45%;
			line-height: 1.2;			    
			color: #fff;
			margin-left: 1em;
		}
        
		.note,		
		.schedule .clr3,
		.schedule2 .clr3{
			font-family: 'M PLUS 1p', sans-serif;
			/*font-family:"M PLUS Rounded 1c", sans-serif;*/
			font-weight: 800;/*400,500,700,800,900*/
		}
		.schedule .clr4,
		.schedule2 .clr4{
			font-family: 'M PLUS 1p', sans-serif;
			font-weight: 800;/*400,500,700,800,900*/
		}


/*--------------------------------------------------------
　index見出し
--------------------------------------------------------*/

.stMida2 {
	font-size: 108%;
    color: #484848;
    font-weight: normal;
    text-align: center;
	background-color:#E8E8EB ;
	margin-bottom: 1em;
	padding: 0.4em;
	line-height: normal;
}

.stMida2::before {
	margin-right: 1.5em;
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("/sp/img/hapishie/ico_clover.png") no-repeat;
    background-size: contain;
	vertical-align: middle;
}
.stMida2::after {
	margin-left: 1.5em;
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("/sp/img/hapishie/ico_clover.png") no-repeat;
    background-size: contain;
	vertical-align: middle;
}

	

/*----------------------------------------------------------------------
   アイテム一覧
----------------------------------------------------------------------*/
	
.itemList{
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		margin: 0 1em -1em ;
		border-radius: 2em;
	}
	.itemList li {
		width: 46%;
		text-align: center;
		font-size: 116%;
		font-weight: bold;
		white-space: nowrap;
		/*font-feature-settings: "palt";*/
		/*font-family: 'M PLUS 1p', sans-serif;*/		
		padding: 0 ;
		margin: 0 2% 4%;
		border: 1px solid #B4B4B4;
	}
	/*.itemList li:last-child{
		margin-bottom: 0;
	}*/
	.itemList li span{
		display: block;	
		padding: 0.5em 0;
	}

	.sortBox{
			margin: 2.5em 1.5em 1em ;
		}
		.sortBox ul{
			margin: 0 0 -0.5em;
			padding: 0 1em;
		}		
		.sortBox li{
			margin-bottom: 0.5em;
	}
	
.pickup{
		margin: 0 5% ;
	}
	.pickup li {		
		padding: 0 ;
		margin-bottom: 1em;
	}
	.pickup li:last-child{
		margin-bottom: 0;
	}






/*--------------------------------------------------------
　ランキング
--------------------------------------------------------*/
#rankingTab {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
.disnon2 {
  display: none;
}
.content_wrap2 {
  margin:0 auto;
	clear: both;
	width: 100%;
	margin:0 auto;
  text-align: center;
	position: relative;
	z-index: 20;
}

#rankingTab li {
	background: #DDD;
	float: left;
	font-size: 9pt;
	padding: 10px 0 10px 0;
	width: 33%;
	text-align: center;
	display: inline-block;
	position: relative;
	margin-bottom: 10px;
}
.rankingTab1 {
	margin-right: 0.5%;
	background-size: 100%;
}
.rankingTab2 {
	margin-right: 0.5%;
	background-size: 100%;
}
.rankingTab3 {
	margin-right: 0;
	background-size: 100%;
}
#rankingTab li.select2 {
	background: #666;
	color: #FFF;
}
#rankingTab li.select2:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(102, 102, 102, 0);
	border-top-color: #666;
	border-width: 5px;
	margin-left: -5px;
	z-index: 100;
}
#rankingTab li.select2 img {
		opacity: 0.0;
		filter: alpha(opacity=0);
}
#rankingTab li.select2 a:hover img{
		opacity: 1.0;
		filter: alpha(opacity=100);
}

.aBox {
	text-align: left;
}


.topRank{	
	padding:0 ;
	margin:0 auto ;
}
.topRank li{
	margin:0 ;
	padding:0;
	border-bottom:1px dashed #989898;
	overflow:hidden;
	padding:0 3.75% 0.5em;
	margin-bottom:0.5em;
	line-height:1.4;
}
.topRank li p{
	margin:0;
	padding:0;
}

.topRank li .topRankBnr{
	float:left;
	width:34%;
	margin-right:4%;
}

.topRank li .topRankData{
	float:left;
	width:62%;
	font-size:77%;
}
.topRank li .topRankData img{
	width:52%;
	margin-bottom:0.4em;
}

.topRank li .topRankName{
	font-size:123.1%;
	font-weight:bold;
	
	margin-top:0.4em;	
}
.topRank li .topRankName span{
	font-size:100%;
	font-weight: normal;
	display:block;
}

.topRank2{
	padding:0 0 0.5em 0;
	margin:0.5em 3.75% 1em;
	border-bottom:1px dashed #989898;
}

.topRank2 li{
	float:left;
	width:32%;
	height:auto;
	margin-left:2%;
	text-align:center;
	font-size:77%;
	line-height:1.4;
}

.topRank2 li:first-child{
	margin-left:0;

}

.topRank2 li img{
	margin-bottom:0.4em;
}

.topRank2 li .topRank2Ico{
	width:24px;
}

.topRankBtn{
	width:40%;
	margin:0 auto;
}




/*----------------------------------------------------------------------
   コラム
----------------------------------------------------------------------*/
.column{
	margin-top:2em;	
}
.column img {
	vertical-align: bottom;
}

.column ul{
	margin:2em 1em 0;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

}
.column li{
	width:47.5%;
	float:left;
	margin-right:5%;
	margin-bottom:2em;
	text-align:center;
	position:relative;
	color:#505050;
	
}
.column li:nth-child(even){	
	margin-right:0;
}
.column .column-thum{
	width:100%;
	height:auto;
	margin:0;	
	border: 2px #C79F62 dotted;
	border-radius: 8px;
	padding:6px;
}

.column h3{
	font-size:85%;
	font-weight: bold;
	line-height:1.4;
	padding: 0.5em;
	text-align:left;
}
/*.column p{
	font-size:12px;
	line-height:1.4;
}*/

.column li span{
	position:absolute;
	left:-10px;
	top:-10px;
}

.column .column-btn{
	text-align:center;
	width:40%;
	margin:-1em auto 2em;
	
}

.cate-icon {
	min-width:60px;	/*テキストの文字数により極端に横幅が小さくなってしまうのを防ぐために指定しています*/
	font-size:85%;
	text-align:center;
	background-color:#999;
	color:#FFF;
	padding:0.25em 1em;
	border-radius:14px;
	position: relative;
}
.cate-icon:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(204, 204, 204, 0);
	border-top-color: #999;
	border-width: 8px;
	margin-left: -8px;	
}

.childbirth {
	background-color: #FF386E !important;
}
.kosodate {
	background-color: #FF78B5 !important;
}
.school {
	background-color: #FF78B5 !important;
}
.kindergarten {
	background-color: #FF78B5 !important;
}
.mamalife{
	background-color: #FF7A00 !important;
}
.working-mama {
	background-color: #73C429 !important;
}
.season {
	background-color: #00BD9E !important;
}
.odekake {
	background-color: #C47DFF !important;
}

.childbirth:after {
	border-top-color: #FF386E !important;
}
.kosodate:after {
	border-top-color: #FF78B5 !important;
}
.school:after {
	border-top-color: #FF78B5 !important;
}
.kindergarten:after {
	border-top-color: #FF78B5 !important;
}
.mamalife:after{
	border-top-color: #FF7A00 !important;
}
.working-mama:after {
	border-top-color: #73C429 !important;
}
.season:after {
	border-top-color: #00BD9E !important;
}
.odekake:after {
	border-top-color: #C47DFF !important;
}



/*--------------------------------------------------------
　infoMation
--------------------------------------------------------*/
#infoMation {
	display: block;
	margin:0 3.125% 1em;    
    padding: 1em;
    border: 1px solid #ccc;
    border-radius: 0.5em;
	font-size:77%;
	color:#666;
    background: #f7f7f7;
}
#infoMation dt {
    width:100%;    
    margin-bottom: 0.5em;
	vertical-align: top;
	text-align:center;
    background: #fff;
    padding: 0.25em;
    border-radius: 10em;
}
#infoMation dt img{
    width: 70px;
}
#infoMation dd {
	vertical-align: middle;
}
.infoMessage {
	height: 5em;
	overflow: auto;
	padding: 0;
}

.infoMessage li{
	padding-left:6.5em;
	text-indent:-6.5em;
	margin-bottom:0.1em;
}
.infoMessage li span{
	margin-right:1em;
}


/*--------------------------------------------------------
　message
--------------------------------------------------------*/
#message{
    font-size:100%;
    color:#666;
    border: 1px solid #ccc;
    margin: 0 3.125% 1em ;
    padding: 1em;
    border-radius: 0.5em;
}
#message a {
    color: #0645ad;
    text-decoration: none;
}
#message dt,
#message h2{
    font-size: 108%;
    font-weight: bold;
    text-align: center;
}
#message h2{
	margin-bottom: 1em;
}
#message dt {
	display: block;
	position: relative;
}

#message dt:before{
	display: block;
	content: "";
	position: absolute;
	top:0; 
	right:0;
	bottom:0;
	margin:auto;
	width: 20px;
	height: 4px;
	background-color: #009eff;
	transition: .2s;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}
#message dt:after{
	display: block;
	content: "";
	position: absolute;
	top: 0; 
	right: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 4px; 
	background-color: #009eff;
	transition: .3s;
}
#message dt.on:before{
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}
#message dt.on:after{
	background-color: transparent;
}

#message dd{
    padding-top: 1em;
    font-size:85%;   
}
#message dd img{
    width: 185px;
}
#message p{
    margin: 0.5em 0.5em 1.5em; 
}

