/* ---------------------------------------------------------------
	KVエリア
------------------------------------------------------------------*/
.sale__top-container {
	width: 81%;
	margin: 7% auto 0;
}
@media only screen and (max-width: 750px) {
	.sale__top-container {
		width: 90%;
		margin: 9% auto 0;
	}
}

.sale__top-kvArea {
}

.sale__top-kvArea-head {
	width: 100%;
}

.sale__top-kvArea-info {
	font-size: calc(19 * 100vw / 1920);
	color: #666666;
	line-height: 1.8;
	letter-spacing: 0.02em;
	margin-bottom: 5%;
}
@media only screen and (max-width: 750px) {
	.sale__top-kvArea-info {
		font-size: calc(15 * 100vw / 750);
	}
}

.sale__top-kvArea {
	position: relative;
}
/**
.sale__top-kvArea-bg {
	width: 100%;
}
@media only screen and (max-width: 750px) {
	.sale__top-kvArea-bg {
		display: none;
	}
}
**/
/**
.sale__top-kvArea-waku {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
}
@media only screen and (max-width: 750px) {
	.sale__top-kvArea-waku {
		display: none;
	}
}
**/
.sale__top-kvArea-image {
	width: 70%;
	margin: auto;
	padding-top: 1%;

	@media (max-width: 750px) {
		width: 100%;
		padding-top: 0;
	}

	.slider {
		width: 100%;
		margin: auto;
	}

/***
.slide-arrow {
  background-color: #fff;
  bottom: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}
.prev-arrow {
#  border-bottom: 2.5vw solid  #fff;
#  border-left: 0;
#  border-right:  2.5vw solid red;
#  border-top:  2.5vw solid  #fff;
#  left: -7%;
	width: 3.5vw;
	height: 8.5vw;
	background: linear-gradient(180deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
	border: none;
	left: -7%;
}
.next-arrow {
#  border-bottom:  2.5vw solid  #fff;
#  border-left:  2.5vw solid red;
#  border-right: 0;
#  border-top:  2.5vw solid  #fff;
#  right: -7%;
	width: 3.5vw;
	height: 8.5vw;
	background: linear-gradient(180deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	border: none;
	right: -7%;
}
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
}
***/

.slide-arrow {
  bottom: 0;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  width: 3vw;

	@media (max-width: 750px) {
		width: 6vw;
	}
}
.prev-arrow {
	left: -7%;

	@media (max-width: 750px) {
		left: -11%;
	}
}
.next-arrow {
	right: -7%;

	@media (max-width: 750px) {
		right: -11%;
	}
}

/*
.arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 20px 0 0;
    position: relative;
}

.prev-arrow,
.next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    background: coral;
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
    position:relative;
}

.prev-arrow {
    transform: rotate(180deg);
    margin-right: 20px;
}

.prev-arrow::before,
.next-arrow::before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}
*/

	/* dotsを丸くカスタマイズするCSS */
	.dots-wrap {
	    display: flex;
	    justify-content: center;
	}

	.dots-wrap li {
		width: 1.1vw;
		height: 1.1vw;
		margin: 1% 1% 0;
		background: #b1afaf;
		border-radius: 50%;
		cursor: pointer;

		@media (max-width: 750px) {
			width: 2.1vw;
			height: 2.1vw;
			margin: 2% 2% 0;
		}
	}

	.dots-wrap li:hover,
	.dots-wrap li.slick-active {
	    background: #ce5eb8;
	}
	.dots-wrap li button {
	    display: none;
	    -webkit-appearance: none;
	    -moz-appearance: none;
	    appearance: none;
	    outline: none;
	    padding: 0;
	    border: none;
	    background-color: transparent;
	}
}

.sale__top-kvArea-gradient-line {
	height: 2px;
	background: linear-gradient(-270deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	border: none;
	margin-bottom: 3%;
}


/* ---------------------------------------------------------------
	検索エリア
------------------------------------------------------------------*/
.sale__top-searchArea {
##	background: linear-gradient(to right, #4559d1, #8555c9, #b752c2, #dd80a2, #fdc56c);
	background: linear-gradient(-225deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	border-radius: 12px;
	padding: 3% 4% 5%;
	margin-bottom: 15%;
}

.sale__top-searchArea-label {
	padding: 0.25em 0.5em;
	background: transparent;
	border-left: solid 4px #fff;
	line-height: 1;
	color: #fff;
	font-size: calc(25 * 100vw / 1920);
	margin-bottom: 2%;
}
@media only screen and (max-width: 750px) {
	.sale__top-searchArea-label {
		border-left: solid 2px #fff;
		font-size: 2.5vw;
	}
}

.sale__top-searchArea-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: center;
	justify-items: center;
	gap: 2.5vw;
	width: 95%;
}
@media only screen and (max-width: 750px) {
	.sale__top-searchArea-list {
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
}

.sale__top-searchArea-list li {
	width: 100%;
	text-align: center;
	border: 2px solid #fff;
	border-radius: 30px;
#	padding: 4% 2%;
	font-size: 1.1vw;
	font-weight: 600;
	cursor: pointer;

	a {
		color: #fff;
		padding: 2% 4%;
		display: block;
	}
	a:hover {
		border-bottom: none;
	}
}
@media only screen and (max-width: 750px) {
	.sale__top-searchArea-list li {
		font-size: 2.5vw;
#		padding: 5% 2%;

		a {
			padding: 5% 2%;
		}
	}
}

.sale__top-searchArea-list li.active {
#	background: #fff;
	border: 1px solid #fff;
	cursor: default;

	a {
#		background-image: linear-gradient(to right, #4459d1, #c851c0);
#		-webkit-background-clip: text;
#		background-clip: text;
#		-webkit-text-fill-color: transparent;
#		color: transparent;
		display: block;
		background-color: #fff;
		color: #000;
		mix-blend-mode: screen;
		border-radius: 30px;
	}
}
/*
.sale__top-searchArea-list li.steam.active {
	a {
		color: #082370;
	}
}
.sale__top-searchArea-list li.playstation.active {
	a {
		color: #0072ce;
	}
}
.sale__top-searchArea-list li.xbox.active {
	a {
		color: #107b10;
	}
}
*/


/* ---------------------------------------------------------------
	リストエリア
------------------------------------------------------------------*/
.sale__top-listArea {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
#	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 4vw;
	row-gap: 3vw;
	margin-bottom: 15%;
}
@media only screen and (max-width: 750px) {
	.sale__top-listArea {
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw;
		row-gap: 6vw;
		margin-bottom: 20%;
	}
}

.sale__top-listArea-box {
	display: flex;
	flex-direction: column;
	height: 100%;
}

/** ラベル **/
.sale__top-listArea-label {
	color: #fff;
	font-weight: 600;
	font-size: calc(30 * 100vw / 1920);
	margin-bottom: 1px;

	p {
#		background: red;
		background: linear-gradient(to right, #ce45b8, #f48b8e);
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		display: inline-block;
		padding: 0 0.5em;
		border-radius: 5px;
	}

	span {
		font-size: calc(46 * 100vw / 1920);
	}
}
@media only screen and (max-width: 750px) {
	.sale__top-listArea-label {
#		font-size: calc(20 * 100vw / 750);
		font-size: 2.5vw;

		span {
#			font-size: calc(30 * 100vw / 750);
			font-size: 3.5vw;
		}
	}
}

/** カード **/
.sale__top-listArea-card {
	width: 100%;
	height: 100%;
	padding: 0 6px;
	border-radius: 10px;
	background: #fff;
#	background: linear-gradient(to bottom, #4559d1, #8555c9, #b752c2, #dd80a2, #fdc56c);
	background: linear-gradient(180deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	box-shadow: 0 4px 15px rgba(0,0,0,0.3);

	h2 {
		font-size: calc(23 * 100vw / 1920);
		margin-top: 3%;
		margin-bottom: 15%;
	}
}
@media only screen and (max-width: 750px) {
	.sale__top-listArea-card {
		padding: 0 3px;
		border-radius: 5px;

		h2 {
			font-size: 3.5vw;
		}
	}
}

.sale__top-listArea-card-inner {
	height: 100%;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	background: #fff;
	padding: 7%;

	img {
		border-radius: 15px;
	}
}

/** 値段 **/
.sale__top-price-container {
	display: flex;
	align-items: baseline;
	gap: 0.4vw;
	font-family: sans-serif;
	font-weight: bold;
	margin-top: auto;
	margin-bottom: 5%;
}
@media only screen and (max-width: 750px) {
	.sale__top-price-container {
		gap: 4px;
	}
}


/* 元の価格（グレー・打ち消し線） */
.sale__top-price-old {
	color: #999;
#	font-size: 1.1rem;
	font-size: calc(25 * 100vw / 1920);
	text-decoration: line-through;
}
@media only screen and (max-width: 750px) {
	.sale__top-price-old {
		font-size: 2.5vw;
	}
}

/* 現在の価格（赤・大きく強調） */
.sale__top-price-current {
	color: #e60012; /* 任天堂風の赤色 */
#	font-size: 2rem;
	font-size: calc(51 * 100vw / 1920);
	font-weight: 500;
	line-height: 1;
}
@media only screen and (max-width: 750px) {
	.sale__top-price-current {
		font-size: 3.3vw;
	}
}


/* 「円」の文字だけ少し小さくする場合 */
.sale__top-unit {
#	font-size: 1.4rem;
	font-size: calc(30 * 100vw / 1920);
}
@media only screen and (max-width: 750px) {
	.sale__top-unit {
		font-size: 2.8vw;
	}
}


/* (税込) の部分 */
.sale__top-price-tax {
	color: #e60012;
# 	font-size: 0.8rem;
	font-size: calc(20 * 100vw / 1920);
}
@media only screen and (max-width: 750px) {
	.sale__top-price-tax {
		font-size: 2.3vw;
	}
}


/** ボタン **/
.sale__top-listArea-button {
	font-weight: 500;
	margin-bottom: 5%;
	font-size: calc(24 * 100vw / 1920);
	letter-spacing: 0.06em;
	border-radius: 5px;

	a {
		color: #fff;
		display: block;
		padding: 3%;
		text-align: center;
		border-bottom: none;
	}

}
@media only screen and (max-width: 750px) {
	.sale__top-listArea-button {
		font-size: 3vw;
	}
}

.sale__top-listArea-button.Switch,
.sale__top-listArea-button.Switch2 {
	background: #d40011;
}
.sale__top-listArea-button.Steam {
	background: #082370;
}

.sale__top-listArea-period {
	font-size: calc(20.5 * 100vw / 1920);
	color: #828282;
	font-weight: 600;
}
@media only screen and (max-width: 750px) {
	.sale__top-listArea-period {
		font-size: 2.6vw;
	}
}

.sale__top-listArea-nowPreparing {
	background: linear-gradient(-225deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
	margin-right: auto;
	white-space: nowrap;
	padding: 1% 2%;
	font-size: calc(19 * 100vw / 1920);
	color: #fff;
	font-weight: 500;
}
@media only screen and (max-width: 750px) {
	.sale__top-listArea-nowPreparing {
		font-size: calc(19 * 100vw / 750);
	}
}

.lineup-container {
	text-align: center;
	width: 26%;
	margin: 0 auto 7%;
}
@media only screen and (max-width: 750px) {
	.lineup-container {
		width: 40%;
	}
}

.lineup-text {

}
@media only screen and (max-width: 750px) {
	.lineup-text {

	}
}

.gradient-line {
  height: 2px;
  margin-top: 8px;
  background: linear-gradient(-270deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
  border: none;
}


/* ---------------------------------------------------------------
	コピーライト
------------------------------------------------------------------*/
.sale__top-copyright {
#    margin-bottom: 5%;

}

.sale__top-copyright-text {
	font-size: 0.8vw;
}
@media screen and (max-width: 750px) {
	.sale__top-copyright-text {
		font-size: 2.2vw;
	}
}
.sale__top-copyright-text img {
	vertical-align: baseline;
	width: 2.5vw;
}
@media screen and (max-width: 750px) {
	.sale__top-copyright-text img {
		width: 5.5vw;
	}
}

.top-button {
    position: relative;
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    margin-left: auto;

     background: linear-gradient(90deg, #ce45b8 0%, #f48b8e 33%, #9fccea 66%, #6579ef 100%);
   
    padding: 4px;
    
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.2s ease;
}
@media only screen and (max-width: 750px) {
	.top-button {
		width: 12vw;
		height: 12vw;
	}
}


/* 内側の暗い背景部分 */
.top-button-inner {
    width: 100%;
    height: 100%;
    background-color: #25162a; /* 非常に濃い紫・黒 */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 中央の「TOP」テキスト */
.top-text {
    font-size: 1.2vw;
    font-weight: 900;
    letter-spacing: 0.05em;

    /* テキスト自体のグラデーション */
#    background: linear-gradient(to bottom, #f093fb 0%, #f5576c 100%);
    /* 画像に近い色味に調整 */
    background: linear-gradient(to right, #ce45b8, #f48b8e);
    
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;

    
    /* テキストを少し強調 */
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.1));
}
@media only screen and (max-width: 750px) {
	.top-text {
		font-size: 3.3vw;
	}
}

/* ホバー（マウスを乗せた時）のアニメーション */
.top-button:hover {
    transform: scale(1.1);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

/* クリックした時のアニメーション */
.top-button:active {
    transform: scale(0.95);
}



/* ---------------------------------------------------------------
	footer
------------------------------------------------------------------*/
.sale__top-main-footer {
	position: relative;
	margin-top: 5%;
}
@media only screen and (max-width: 750px) {
	.sale__top-main-footer {
		padding-top: 5%;
		margin-top: 5%;
	}
}

.sale__top-main-footer-bt {
    position: absolute;
    top: 0;
    right: 2%;
}
@media only screen and (max-width: 750px) {
	.sale__top-main-footer-bt {
    		top: 0;

	}
}


/* -------------------------------------
	FAB
----------------------------------------*/
.page-top-fab {
	position: fixed;
	width: 3.5%;
	max-width: 120px;
	top: 50%;
	left: 2.5%;
	transform: translateY(-50%);
	z-index: 10;

	a:hover {
	        border-bottom: none;
	}
}
@media screen and (max-width: 750px) {
	.page-top-fab {
#		top: 6.5%;
#		left: 0.7%;
#		width: 13%;
###		display: none;
		visibility: hidden;
	}
}

.page-top-fab.activeFub{

}


.page-top-fab__x {
	width: 100%;
	height: 16%;
	position: absolute;
	top: 49%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.page-top-fab__line {
	width: 100%;
	height: 16%;
	position: absolute;
	top: 71%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.page-top-fab__facebook {
	width: 100%;
	height: 16%;
	position: absolute;
	top: 92%;
	left: 50%;
	transform: translate(-50%, -50%);
}
