@charset "utf-8";

/* -----------------------------------------------------------
CSS Information

 File name:      top.css
 Update:         2017.6.15
 Style Info:     スタイルCSSファイル
----------------------------------------------------------- */
/********************************************
モバイルファースト
*********************************************/
/*h2*/
h2 {
	text-align: center;
	font-size: 3.2rem;
}

/*btn_more*/
.btn_more {
	margin: 25px 0;
	text-align: center;
	position: relative;
}
.btn_more a {
	display: inline-block;
	padding: 10px 60px;
	color: #FFF;
	background: #000;
	position: relative;
}
.btn_more a:after {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
    height: 5px;
	top:0;
	right: 10px;
	bottom: 0;
	margin: auto;
    border-right: 1px solid #FFF;
    border-top: 1px solid #FFF;
    transform: rotate(45deg);
}

/***marque***/
#marque {
	width: 100%;
	height: 24px;
	margin-top: 56px;
	background: #0080cc;
	padding: 5px 0 0;
}
#marque #marque_area {
	background: url("../img/marque_sale.png") repeat-x;
	background-size: auto 14px;
	width: 100%;
	height: 14px;
	animation: loop-text 3.0s infinite linear;	
}

@keyframes loop-text {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -117px 0;
  }
}

/***main slider***/
#main_slider .sp {
    display: block;
}
#main_slider .pc {
    display: none;
}
#main_slider {
	background-image: linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #0080CC 42%, #b49fda 79%, #7ac5d8 100%);
}
/*
#main_slider .slick-slide {
	-webkit-transition: 1s ease-in-out;
	transition: 1s ease-in-out;
	transform: scale( 1 );
}
#main_slider .slick-slide.is--active {
	transition-delay: 2.8s;
	transform: scale( 0.8 );
}
*/

/***ad***/
#ad_area {
	margin: 20px 40px;
}
#ad_area .slick-dots {
	bottom:-35px;
}
#ad_area .slick-dots li {
	width: 10px;
	height: 10px;
}
#ad_area .slick-dots li button:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 5px;
    content: '';
    text-align: center;
    background: #FFF;
	border: 2px solid #c2c2c2;
	border-radius: 50%;
}
#ad_area .slick-dots li.slick-active button:before {
    background: #c2c2c2;
}

/***category***/
#category_wrap {
	padding: 20px 10px;
	background: #f2f2f2;
}
#category_wrap #category {
	margin: 15px 0;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
#category_wrap #category > div {
	margin-bottom: 20px;
	width: calc(50% - 10px);
	box-sizing: border-box;
}
#category_wrap #category .thumb_category {
	display: inline-block;
	border: 8px solid #FFF;
	box-sizing: border-box;
}
#category_wrap #category .title_category {
	margin-top: 2px;
	font-size: 2.0rem;
}

/***styling***/
#style_wrap {
	margin-top: 40px;
	padding: 20px 10px;
}
#style_wrap #styling {
	margin-top: 15px;
}
#style_wrap #styling .slick-slide {
	margin: 5px;
}
#style_wrap #styling .staff_styling {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
}
#style_wrap #styling .staff_styling .thumb_staff {
	width: 30%;
}
#style_wrap #styling .staff_styling .thumb_staff img{
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 50%;
	object-position: 100% 10%;
}
#style_wrap #styling .staff_styling .info_staff {
	width: 70%;
	padding-left: 8px;
	font-size: 1.2rem;
	box-sizing: border-box;
}
#snap-title h3 {
	display: none;
}

/***live commerce***/
#live_commerce_wrap {
	margin-top: 40px;
	padding: 20px 0;
	background: url("../img/bg_live_commerce.jpg") no-repeat;
	background-size: cover;
}
#live_commerce_wrap #live_commerce {
	margin-top: 20px;
}
#live_commerce_wrap #live_commerce .slick-slide {
	/*margin: 0 10px;*/
	width: 275px;
	height: 415px;
	padding: 50px 0 35px;
	background: url("../img/bg_iphone.png") no-repeat;
	background-size: contain;
	background-position: center;
	box-sizing: border-box;
	position: relative;
}
#live_commerce_wrap #live_commerce .slick-slide:after {
	content: "";
	display: block;
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	background: url("../img/btn_play.png") no-repeat;
	background-size: contain;
}
#live_commerce_wrap #live_commerce img {
	width: 195px;
	height: 325px;
	margin: 0 auto;
}
#live_commerce_wrap .slick-dots {
	bottom:-35px;
}
#live_commerce_wrap .slick-dots li {
	width: 10px;
	height: 10px;
}
#live_commerce_wrap .slick-dots li button:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 5px;
    content: '';
    text-align: center;
	border: 2px solid #FFF;
	border-radius: 50%;
}
#live_commerce_wrap .slick-dots li.slick-active button:before {
    background: #FFF;
}

/*pick up collection*/
#collection_wrap {
	margin-top: 60px;
}
#collection_wrap #collection {
	margin-top: 20px;
	padding: 0;
	border-top:1px solid #000;
	box-sizing: border-box;
	position: relative;
}
#collection_wrap #collection div {
	border-bottom:1px solid #000;
	padding: 0 10px;
	position: relative;
}
#collection_wrap #collection div a {
	display: block;
	padding: 5px;
	border-left:1px solid #000;
	border-right:1px solid #000;
	box-sizing: border-box;
	position: relative;
}
#collection_wrap #collection div span {
	display: block;
	width: 100px;
	padding: 2px 0; 
	text-align: center;
	box-sizing: border-box;
	color: #FFF;
	background: #000;
	position: absolute;
	left: 0;
	bottom: 0;
}

/*instagram*/
#instagram_wrap {
	margin-top: 60px;
	padding: 20px 10px;
	background: #f2f2f2;
}
#instagram_wrap #instagram {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#instagram_wrap #instagram .flex_item {
	flex-basis: 50%;
}
#instagram_wrap #instagram .flex_item p {
	position: relative;
	overflow: hidden;
	padding-top: 90%;
	margin: 2px;
}
#instagram_wrap #instagram .flex_item p.multiple:after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	width: 30px;
	height: 30px;
	background: url("../img/icon_pic.png")no-repeat;
	background-size: contain;
}
#instagram_wrap #instagram .flex_item p.movie:after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	right: 5px;
	width: 30px;
	height: 21px;
	background: url("../img/icon_video.png")no-repeat;
	background-size: contain;
}
#instagram_wrap #instagram .flex_item p img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/*shop info*/
#shopinfo_wrap {
	margin-top: 60px;
}
#shopinfo_wrap #shopinfo {
	margin-top: 20px;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}
#shopinfo_wrap #shopinfo div {
	padding: 0 10px;
	position: relative;
}
#shopinfo_wrap #shopinfo div a {
	display: block;
	padding: 5px;
	box-sizing: border-box;
	position: relative;
}



/********************************************
ランドスケープ
*********************************************/
@media screen and (min-width:480px){
	/***main slider***/
	#main_slider .sp {
	    display: block;
	}
	#main_slider .pc {
	    display: none;
	}

	/*btn_more*/
	.btn_more {
		margin: 40px 0 25px;
	}
	.btn_more a {
		font-size: 2.0rem;
	}
	
	/***marque***/
	#marque {
		width: 100%;
		height: 30px;
		margin-top: 56px;
		padding: 6px 0 0;
	}
	#marque #marque_area {
		background: url("../img/marque_sale.png") repeat-x;
		background-size: auto 18px;
		width: 100%;
		height: 18px;
		animation: loop-text 3.0s infinite linear;	
	}

	@keyframes loop-text {
	  from {
		background-position: 0 0;
	  }
	  to {
		background-position: -150px 0;
	  }
	}

	/***ad***/
	#ad_area {
		margin: 20px 80px;
	}
	
	/***category***/
	#category_wrap #category {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0px;
	}
	#category_wrap #category > div {
		margin-bottom: 25px;
		width: 49%;
	}
	#category_wrap #category .title_category {
		font-size: 2.4rem;
	}
	
	/*pick up collection*/
	#collection_wrap #collection div {
		padding: 0 20px;
	}
	
	/*instagram*/
	#instagram_wrap {
		margin-top: 80px;
	}
}


/********************************************
ランドスケープ
*********************************************/
@media screen and (min-width:640px){
	/***main slider***/
	#main_slider .sp {
	    display: none;
	}
	#main_slider .pc {
	    display: block;
	}

	/***ad***/
	#ad_area {
		margin: 40px 10px;
	}
	#ad_area .slick-slide {
		padding: 0 5px;
		box-sizing: border-box;
	}
	
	/***category***/
	#category_wrap {
		padding: 20px 40px;
	}
	
	/*pick up collection*/
	#collection_wrap #collection {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#collection_wrap #collection div {
		width: 50%;
		box-sizing: border-box;
		padding: 0;
	}
	#collection_wrap #collection div a {
		width: 95%;
	}
	#collection_wrap #collection div:nth-child(odd) a{
		margin-left: auto;
	}
	#collection_wrap #collection div:nth-child(even) a{
		margin-right: auto;
		border-left:none;
	}
	
	/*instagram*/
	#instagram_wrap #instagram {
		position: relative;
	}
	#instagram_wrap #instagram:after {
		content: "";
		display: block;
		width: calc(100% / 3) ;
	}
	#instagram_wrap #instagram .flex_item {
		flex-basis: calc(100% / 3) ;
	}
	#instagram_wrap .flex_item:last-child {
		display: none;
	}

	/*shop info*/
	#shopinfo_wrap #shopinfo {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	#shopinfo_wrap #shopinfo div {
		width: 50%;
		box-sizing: border-box;
		padding: 0;
	}
	#shopinfo_wrap #shopinfo div a {
		width: 95%;
	}
	#shopinfo_wrap #shopinfo div:nth-child(odd) a{
		margin-left: auto;
	}
	#shopinfo_wrap #shopinfo div:nth-child(even) a{
		margin-right: auto;
		border-left:none;
	}

}

/********************************************
タブレット
*********************************************/
@media screen and (min-width:768px){

}

/********************************************
PC
*********************************************/
@media print, screen and (min-width: 980px) {
	/***main slider***/
	#main_slider {
		background-image: linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #0080CC 42%, #b49fda 79%, #7ac5d8 100%);
	}
	#main_slider .sp {
	    display: none;
	}
	#main_slider .pc {
	    display: block;
	}
	/*
	#main_slider .slick-slide {
		-webkit-transition: 1s ease-in-out;
		transition: 1s ease-in-out;
		transform: scale( 1 );
	}
	#main_slider .slick-slide.is--active {
		transition-delay: 2.8s;
		transform: scale( 0.8 );
	}
	*/
	
	/*h2*/
	h2 {
		text-align: center;
		font-size: 4.2rem;
	}
	
	/*btn_more*/
	.btn_more {
		margin: 35px 0 25px;
		text-align: center;
		position: relative;
	}
	.btn_more a {
		display: inline-block;
		padding: 10px 60px;
		color: #FFF;
		background: #000;
		position: relative;
		border: 1px solid #000;
		z-index: 1;
	}
	.btn_more a:before {
		content: "";
		background: #fff;
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 100%;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
		z-index: -1;
	}
	.btn_more a:after {
		content: "";
		display: block;
		position: absolute;
		width: 5px;
		height: 5px;
		top:0;
		right: 10px;
		bottom: 0;
		margin: auto;
		border-right: 1px solid #FFF;
		border-top: 1px solid #FFF;
		transform: rotate(45deg);
	}
	.btn_more a:hover {
		color: #000;
	}
	.btn_more a:hover:before {
		transform: scale(1, 1);
	}
	.btn_more a:hover:after {
		border-right: 1px solid #000;
		border-top: 1px solid #000;
	}
	
	/*marque*/
	#marque {
		margin-top: 70px;
	}
	/***ad***/
	#ad_area {
		width: 960px;
		margin: 0 auto;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	#ad_area .slick-slide {
		padding: 0 5px;
		box-sizing:border-box;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
	}
	
	/***category***/
	#category_wrap {
		padding: 40px 0;
		box-sizing: border-box;
	}
	#category_wrap #category {
		width: 960px;
		margin: 0 auto;
		padding: 0 10px;
		box-sizing: border-box;
	}
	#category_wrap #category > div {
		width: 24%;
	}
	#category_wrap #category .thumb_category {
		transition: border 0.3s;
	}
	#category_wrap #category .thumb_category:hover {
		border: 4px solid #fff;
	}
	#category_wrap #category .title_category {
		transition: color 0.3s;
	}
	#category_wrap #category .thumb_category:hover + .title_category {
		color:#0080cc;
	}
	
	/***styling***/
	#style_wrap {
		width: 960px;
		margin: 0 auto;
		margin-top: 40px;
		padding: 20px 10px;
		box-sizing: border-box;
	}
	#style_wrap #styling {
		margin-top: 15px;
	}
	#style_wrap #styling .slick-slide {
		margin: 5px;
	}
	#style_wrap #styling .staff_styling {
		display: flex;
		justify-content: space-between;
		margin-top: 8px;
	}
	#style_wrap #styling .staff_styling .thumb_staff {
		width: 30%;
	}
	#style_wrap #styling .staff_styling .thumb_staff img{
		width: 50px;
		height: 50px;
		object-fit: cover;
		border-radius: 50%;
		object-position: 100% 10%;
	}
	#style_wrap #styling .staff_styling .info_staff {
		width: 70%;
		padding-left: 8px;
		font-size: 1.2rem;
		box-sizing: border-box;
	}
	
	/*pick up collection*/
	#collection_wrap #collection div {
		padding: 0;
	}
	#collection_wrap #collection div a {
		width: 455px;
	}
	
	/*instagram*/
	#instagram_wrap {
		margin-top: 80px;
		padding: 40px 0;
	}
	#instagram_wrap #instagram {
		width: 960px;
		margin: 0 auto;
		margin-top: 20px;
		padding: 0 10px;
		box-sizing: border-box;
	}
	#instagram_wrap #instagram:after {
		display: none;
	}
	#instagram_wrap #instagram .flex_item {
		flex-basis: 20%;
	}
	#instagram_wrap .flex_item:last-child {
		display: block;
	}

	/*shop info*/
	#shopinfo_wrap #shopinfo div {
		padding: 0;
	}
	#shopinfo_wrap #shopinfo div a {
		width: 455px;
	}


	/* =======================================
	    VISUMO（STYLE）
	======================================= */
	.hacobune-grid-col{
    flex: 0 0 25% !important;
    max-width: 25% !important;
}
	
}

/********************************************
タブレット　ランドスケープ
*********************************************/
@media only screen and (min-width: 1024px) {

}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1051px) {

}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1100px) {
	/***category***/
	#category_wrap #category {
		width: 1080px;
	}
	
	/***styling***/
	#style_wrap {
		width: 1080px;
	}
	
	/*instagram*/
	#instagram_wrap #instagram {
		width: 1080px;
	}
	#instagram_wrap #instagram .flex_item {
		flex-basis: 20%;
	}
}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1280px) {

}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1300px) {

}

/********************************************
PC
*********************************************/
@media only screen and (min-width: 1400px) {
	
}


/********************************************
Styling用に追加 2024-12-06
*********************************************/

/* =======================================
    VISUMO（STYLE）
======================================= */
.hacobune-logo{
    display:none !important;
}
/*サイドナビ非表示 */
.hacobune-layout-left{
    display:none !important;
}

/*カウンター */
.hacobune-totalCount{
    display:none !important;
}

/*ボーダーなし */
.hacobune-media-post-list-item{
border:0 !important;
}
/*タグ */
.hacobune-snap-search{
display:none !important;
}

.hacobune-layout-base{
/*width: 1200px !important;*/
}


/*上部スペース */
.hacobune-app-container{
padding-top:5px!important;
}

.hacobune-grid-col{
    flex: 0 0 50%;
    max-width: 50%;
}


  /* ■moreボタン */
  .morearea {
    max-width: 250px;
    margin: 0 auto;
  }

  a.btn_more {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 50px;
    position: relative;
    background: #fff;
    border: 1px solid #02679d;
    border-radius: 30px;
    box-sizing: border-box;
    padding: 0 45px 0 25px;
    color: #02679d;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    transition-duration: 0.3s;
  }

  a.btn_more:before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: 2px solid #02679d;
    border-right: 2px solid #02679d;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 25px;
    margin-top: -6px;
  }

  a.btn_more:hover {
    background: #02679d;
    color: #fff;
  }

  a.btn_more:hover:before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

/********************************************
topのmain_slider用に追加 2025-07-01
*********************************************/
/*
@media screen and (min-width: 768px) {
  #main_slider {
    width: 100%;
    overflow: hidden;
  }

  #main_slider picture img {
    max-width: none !important;
    width: 100%; /* スライド幅に合わせて拡大縮小しない */
    height: auto;
    display: block;
  }
}
*/
@media screen and (min-width: 768px) {
  #main_slider {
    overflow: hidden;
  }

  /* slick-slideが幅を持っているため */
  #main_slider .slick-slide {
    width: 1200px !important; /* 必ず固定で表示したい幅 */
  }

  #main_slider picture img {
    width: 100%;
    height: auto;
    display: block;
  }
}
