/* CSS Document */
/*******************

    common

*******************/
.home{
    padding-top: 0;
    margin-top: 0;
}
/*******************

    keyV

*******************/
.keyV{
	  width: 100%;
    height: 100%;
    height: 80vh;
	  position: relative;
    text-align: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    padding: 0;
    z-index: 1;
}
.keyV .slider {
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    width: 100%;
    height: 100%;
}
.keyV .slider img{
    display: block;
    width: 100%;
    height: 100%;
}
.keyV .inner{
	position:absolute;
	top:50%;
	left:10%;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	text-align: center;
}
.keyV .inner h2{
    font-weight: bold;
    letter-spacing: 3px;
}
.keyV p{
    margin-bottom: 0;
}
.keyV .scroll{
	position:absolute;
	bottom: 0px;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
    font-style: oblique;
}
.keyV .scroll a {
    display: block;
    color: #fff;
    padding-top: 60px;
    position: relative;
    text-align: center;
}
.keyV .scroll a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  box-sizing: border-box;
}
.keyV .scroll a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.vegas{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: -1;
}
/*******************

    news

*******************/
.news .news_inner{
    background-color: #ffffff;
    padding: 5%;
}
.news .sec_title.flexbox{
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #ccc;
}
.news .sec_title.flexbox{
    -webkit-align-items: center;
    align-items: center;
}
.news .sec_title h2{
    margin-right: 1em;
    margin-top: 0;
}
.news h3{
    text-align: left;
    font-weight: bold;
}
.news a{
    text-decoration:underline;
}
.news .title_line_logo{
    margin-bottom: 0;
}
.news .title_line_logo::before{
    content: none;
}
/*******************

    product

*******************/
.product figcaption{
    position: relative;
}
.product .product_img{
    margin-bottom: 1em;
    overflow: hidden;
}
.product .product_img img{
    transition: all .3s ease;
}
.product .favorite_btn{
    /*position: absolute;
    top: 0;
    right: 0;*/
}
.product .favorite_btn .ionicon{
    color:#ccc;
    font-size: 2.5rem;
    cursor: pointer;
}
.product .favorite_btn.active .ionicon{
    color: #282828;
}
.product figcaption{
    margin-bottom: 1em;
}
.product figcaption dt{
    color: #777;
}
.product figcaption dd:not(.favorite_btn){
    width: 100%;
}
.product .btn{
    padding: 8px 0;
    position: relative;
    background-color: #282828;
    color: #fff;
}
.product .box{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.product .product_box{
    margin-bottom: 5%;
}
.product_box .slick-slide{
    padding: 0 10px;
}
/*******************

    newarrives

*******************/
.newarrives .product_box li{
    padding: 0;
}
.newarrives .product_box .slick-slide{
    width: 240px;
    position: relative;
    padding:0 10px;
}
/*******************

    ranking

*******************/
.ranking .product_box{
    counter-reset: ranking;
}
.ranking .product_box .slick-slide{
    width: 250px;
    position: relative;
    padding:0 10px;
}
.ranking .product_box .slick-slide::before,
.ranking .product_box .slick-slide::after{
  font-family: "Geneva CY",sans-serif;
}
.ranking .product_box .slick-slide::before{
    content: "RANK";
    position: absolute;
    top: 2px;
    left: 10px;
    width: 50px;
    text-align: center;
    color: #404040;
    z-index: 10;
    font-size: 1rem;
}
.ranking .product_box .slick-slide::after{
    counter-increment: ranking;
    content: counter(ranking);
    position: absolute;
    top: 0;
    left: 10px;
    width: 50px;
    padding-top: .5em;
    text-align: center;
    background-color: #ffd904;
    color: #404040;
    font-size: 2.5rem;
    z-index: 9;
}
.ranking .flexbox.clm4::before,
.ranking .flexbox.clm4::after{
    content: none;
}
.ranking .sub_title h3{
    display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	-webkit-align-items: center;
			align-items: center;
	-webkit-align-content: center;
			align-content: center;
    letter-spacing: 4px;
}
.ranking .product_box .slick-counter{
    display: none;
}
.ranking .sub_title h3:before,
.ranking .sub_title h3:after {
    border-top: 1px solid #ccc;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}
.ranking .sub_title h3:before {
    margin-right: .5em;
}
.ranking .sub_title h3:after {
    margin-left: .5em;
}
.ranking .tab_btn_wrap{
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 2em;
}
.ranking .tab_btn_wrap.flexbox li{
    width: auto;
    text-align: center;
    min-width: unset;
}
.ranking  .box.of_category .tab_btn_wrap li:first-child{
    padding-left: 0;
}
.ranking  .box.of_category .tab_btn_wrap li:last-child{
    padding-right: 0;
}
.tab_btn,
.tab_btn_2{
	padding: 0;
    margin: 0 0.5em;
	background: none;
	border: none;
	font-size: inherit;
	cursor: pointer;
	outline: none;
	position: relative;
}
.tab_btn::after,
.tab_btn_2::after{
	content: "";
	display: inline-block;
	width: 0%;
	border-top: 1px solid #232323;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	position: absolute;
	left: 0;
	bottom: 0;
}
.tab_btn:hover::after,
.tab_btn_2:hover::after{
	width: 100%;
}
.tab_btn.is-active::after,
.tab_btn_2.is-active::after{
	content: "";
	display: inline-block;
	width: 100%;
	border-top: 1px solid #232323;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	position: absolute;
	left: 0;
	bottom: 0;
}
.tab_panel_wrap{
    position: relative;
}
.tab_panel_wrap .loader{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 6;
}
.tab_panel_wrap .loader img{
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
}
.tab_panel,
.tab_panel_2{
	display: none;
    padding-bottom: 1px;
}
.section.brand{
    margin-bottom: 30px;
}
@media screen and (max-width:768px){
    .keyV{
        height: 60vh;
    }
    .keyV .inner{
        left: auto;
        right: 20px;
    }
    .login_box {
        max-width: 100%;
        width: 100%;
        background-color: #232323;
        color: #fff;
        bottom: auto;
        top: 100%;
        right: 0;
    }
    .search.pc_none{
        display: block;
    }
    .newarrives .product_box li{
        width: 48%;
    }
    .newarrives .product_box .slick-slide,
    .ranking .product_box .slick-slide{
        width: 270px;
    }
    .ranking .box.of_category .tab_btn_wrap{
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: flex-start;
        justify-content: flex-start;
        white-space: nowrap;
        overflow-x: auto;
    }
    .ranking .box.of_category .arrow{
       position: relative;
    }
    .ranking .box.of_category .arrow::before,
    .ranking .box.of_category .arrow::after{
        background-color: #fff;
        padding: 13px 0;
        width: 1em;
        display: inline-block;
        font-family: "Ionicons";
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        text-rendering: auto;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        position: absolute;
        z-index: 2;
        top: 50%;
        transform: translateY(-50%);
    }
    .ranking .box.of_category .arrow::before{
        content: "\f3cf";
        left: 0;
        text-align: left;
    }
    .ranking .box.of_category .arrow::after{
        content: "\f3d1";
        right: 0;
        text-align: right;
    }
    .ranking  .box.of_category .tab_btn_wrap li:first-child{
        margin-left: 1em;
    }
    .ranking  .box.of_category .tab_btn_wrap li:last-child{
        padding-right: 1em;
    }
}
@media screen and (max-width:480px){
    .keyV{
        height: 50vh;
    }
    .keyV h2 span{
        display: block;
        line-height: 1.2;
    }
    .keyV .inner{
        left: auto;
        right: auto;
        width: 100%;
    }
    .keyV .scroll{
        bottom: -30px;
    }
    .keyV .scroll a span{
        display: inline-block;
        transform-origin: bottom center;
        transform: scale(0.9);
    }
    .news .news_inner{
        margin-top: 10px;
    		margin-bottom: 10px;
    }
    .ranking .product_box .slick-counter::before{
        content: "RANK";
        display: inline-block;
        font-size: 1rem;
        position: absolute;
        top: 0;
        left: 0;
        width: 50px;
        text-align: center;
    }
    .ranking .product_box .slick-counter{
        display: block;
        position: absolute;
        top: 0;
        left: 50px;
        width: 50px;
        padding-top: 10px;
        text-align: center;
        background-color: #008798;
        color: #fff;
        font-size: 3rem;
        z-index: 5;
    }
    .brand .box .flexbox.clm4 li{
        width: 48%;
        margin-bottom: 1em;
    }
    .ranking .product_box .slick-list{
    }
}
@media screen and (max-width:360px){
    .newarrives .product_box .slick-slide,
    .ranking .product_box .slick-slide{
        width: 260px;
    }
}
@media screen and (max-width:360px){
    .newarrives .product_box .slick-slide,
    .ranking .product_box .slick-slide{
        width: 220px;
    }
}
/*************追加*****************/

/*
/*    カートインボタン
/************************************************/
.fs-c-buttonContainer{
padding:0;
}
.btn.fs-c-button--addToCart--list.fs-c-button--plain{
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.btn.fs-c-button--addToCart--list.fs-c-button--plain:hover{
    text-decoration: none;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
}
.fs-c-button--plain.fs-c-button--addToCart--list::before{
content:none;
}
.fs-c-productListItem__productName{
    text-align: left;
}
.fs-c-button--plain:hover{
    opacity: 1;
}
.fs-c-productList__list__item{
    border-bottom: none;
}
.product .item_deta_wrap{
    position: relative;
}
.product .fs-c-productListItem__outOfStock ~ .btn_wrap{
    display: none;
}
/*お気に入りボタン調整
.product .fs-c-button--removeFromWishList--icon.fs-c-button--particular,
.product .fs-c-button--addToWishList--icon.fs-c-button--particular{
    position: absolute;
    top: 0;
    right: 0;
}

.favorite.product .fs-c-button--removeFromWishList--icon.fs-c-button--particular,
.favorite.product .fs-c-button--addToWishList--icon.fs-c-button--particular,
.cart.product .fs-c-button--removeFromWishList--icon.fs-c-button--particular,
.cart.product .fs-c-button--addToWishList--icon.fs-c-button--particular,
.newarrives.product .fs-c-button--removeFromWishList--icon.fs-c-button--particular,
.newarrives.product .fs-c-button--addToWishList--icon.fs-c-button--particular,
.ranking.product .fs-c-button--removeFromWishList--icon.fs-c-button--particular,
.ranking.product .fs-c-button--addToWishList--icon.fs-c-button--particular{
    position: static;
    margin-top: 8px;
}*/
/*
/*    マイページ
/************************************************/
@media screen and (max-width: 480px){
    .mymenu .fs-c-accountService > li{
        flex-basis:auto;
        width: 48%;
    }    
}
/*
/*    商品一覧
/************************************************/
@media screen and (min-width: 960px){
    .product .fs-c-productList__list > *:nth-child(1n){
        -ms-grid-column: 1;
        grid-column: auto;
        -ms-grid-row: 1;
        grid-row: auto;
    }
    .product .fs-c-productList__list > *:nth-child(2n){
        -ms-grid-column: 2;
        grid-column: auto;
        -ms-grid-row: 1;
        grid-row: auto;
    }
    .product .fs-c-productList__list > *:nth-child(3n){
        -ms-grid-column: 3;
        grid-column: auto;
        -ms-grid-row: 1;
        grid-row: auto;
    }
    .product .fs-c-productList__list > *:nth-child(4n){
        -ms-grid-column: 4;
        grid-column: auto;
        -ms-grid-row: 1;
        grid-row: auto;
    }
    .product .fs-c-productList__list > *:nth-child(5n){
        -ms-grid-column: 1;
        grid-column: auto;
        -ms-grid-row: 2;
        grid-row: auto;
    }
    .fs-c-productList__list {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: calc(25% - 0px) calc(25% - 0px) calc(25% - 0px) calc(25% - 0px);
        grid-template-columns: calc(25% - 0px) calc(25% - 0px) calc(25% - 0px) calc(25% - 0px) ;
        grid-gap: 0px;
    }
}
/*
/*    スライダーの幅リセット
/************************************************/
.product_box .fs-c-productListCarousel__list__item{
    flex-basis: auto;
    max-width: unset;
    min-width: unset;
    margin: 0;
}
@media screen and (min-width: 600px){
    .product_box .fs-c-productListCarousel__list__item{
        flex-basis: auto;
        max-width: unset;
        min-width: unset;
        margin: 0;
    }
}
