/* Y'S GEAR : /mc/custom/xsr900gp_intercolor/css/xsr900gp_intercolor.css */


body {
	/* overflow-x: hidden; */
	/* margin: 0 auto !important; */
}

.contentsWidth {
	padding-bottom: 1px;
	background: url(../img/bg.png) center top / 200px 200px repeat #000;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
}
.contentsWidth * { box-sizing: border-box; }
.contentsWidth a,
.contentsWidth a::before,
.contentsWidth a::after {
	color: #fff;
	transition: all 0.3s ease;
}
.contentsWidth a img { transition: all 0.3s ease; }

.contentsWidth figure img { width: 100%; }

.contentsWidth p span { display: inline-block; }

@media screen and (max-width: 980px) {
	.contentsWidth {
		padding: 0 0 1px 0 !important;
	}
} /* */

@media screen and (min-width: 569px) {
	.contentsWidth .sp { display: none; }
} /* */

@media screen and (max-width: 568px) {
	.contentsWidth {
		padding-bottom: 1px !important;
		font-size: 1.4rem;
	}
	.contentsWidth .pc { display: none; }
} /* */


/*======================================================================*
 *  [ Common ] 
 *======================================================================*/

.contentsWidth h2 {
	margin-bottom: 50px;
	text-align: center;
}

@media screen and (max-width: 568px) {
	.contentsWidth h2 {
		margin-bottom: 40px;
	}
} /* */


/*======================================================================*
 *  [ Main ] 
 *======================================================================*/

.xsrMain {
	margin-bottom: 60px;
	text-align: center;
}

/* [ 線 ] */
.xsrMain .line {
	display: block;
	width: 100%;
	height: 49px;
	object-fit: cover;
	object-position: left top;
}

/* [ コピー ] */
.xsrMain .copy {
	margin: -7% 0 40px;
	padding: 0 20px;
}

/* [ テキスト・注釈 ] */
.xsrMain .txt {
	margin-bottom: 30px;
	padding: 0 20px;
	font-size: 2rem;
}
.xsrMain .txt b {
	display: inline-block;
	color: #FFCD00;
}
.xsrMain .note {
	padding: 0 20px;
	color: #aaa;
	font-size: 1.4rem;
}

@media screen and (max-width: 568px) {
	.xsrMain {
		margin-bottom: 50px;
	}

	/* [ テキスト ] */
	.xsrMain .txt {
		font-size: 1.6rem;
	}
	.xsrMain .note {
		font-size: 1.2rem;
	}
} /* */


/*======================================================================*
 *  [ xsrItem ] 
 *======================================================================*/

.xsrItem {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 100px;
	padding: 0 50px;
}
#accessory.xsrItem {
	background: url(../img/accesory_bg.png) center center / 100% auto no-repeat;
}
#helmet.xsrItem {
	background: url(../img/helmet_bg.png) center top / 100% auto no-repeat;
}
#apparel.xsrItem {
	background: url(../img/apparel_bg.png) center center / 100% auto no-repeat;
}

/* [ 見出し ] */
.xsrItem h2 {
	width: 100%;
}

/* [ 説明 ] */
.xsrItem .expl:not(:has(div)) {
	width: calc(50% - 10px);
}
.xsrItem .expl:has(div) {
	display: flex;
	align-items: start;
	gap: 20px;
	width: 100%;
}
.xsrItem .expl:has(div) > * {
	width: calc(50% - 10px);
}
.xsrItem .expl p {
	margin-top: 50px;
	padding-left: 10px;
	border-left: 5px solid #DEBC30;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
}
.xsrItem .expl p span {
	display: inline-block;
	margin-top: 5px;
	font-size: 1.4rem;
	font-weight: normal;
}

/* [ 商品 ] */
.xsrItem .expl:not(:has(div)) + .items {
	width: calc(50% - 10px);
} 
.xsrItem .expl:has(div) + .items {
	width: min(510px, 100%);
}
.xsrItem .item {
	display: block;
	padding: 20px;
	background: rgba(255,255,255,0.15);	
}
.xsrItem .item + .item {
	margin-top: 50px;
}
.xsrItem .item:hover,
.xsrItem .item:active {
	transform: translateY(-5px);
}
.xsrItem .item:hover img,
.xsrItem .item:active img {
	opacity: 1;
}
.xsrItem .item section {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	color: #fff;
}
.xsrItem .item section:has(.img) {
	align-items: end;
}
.xsrItem .item .ribbon {
	position: absolute;
	top: -20px;
	right: -20px;
}
.xsrItem .item h3 {
	width: 100%;
	color: #FFCD00;
	font-size: 2.4rem;
	font-weight: bold;
}
.xsrItem .item p {
	width: 100%;
}
.xsrItem .item dl {
	width: 100%;
	padding: 10px;
	background: rgba(255,255,255,0.15);
	font-weight: bold;
	text-align: center;
}
.xsrItem .item dd span {
	display: inline-block;
}
.xsrItem .item .img {
	width: calc(100% - 20px - 180px);
	margin-bottom: -45px;
}
.xsrItem .item .end {
	width: calc(100% - 20px - 180px);
	color: #DEBC30;
	font-size: 1.8rem;
	text-align: center;
}
.xsrItem .item .btn {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 180px;
	margin: 0 0 0 auto;
	padding: 12px 20px;
	background: #DEBC30;
	color: #000;
	font-size: 1.7rem;
	transition: all 0.3s ease;
}
.xsrItem .item .btn::before {
	width: 10px;
	height: 17px;
	background: url(../img/btn_arrow.svg) center center no-repeat;
	content: "";
}
.xsrItem .item:hover .btn,
.xsrItem .item:active .btn {
	background: #fff;
}

@media screen and (max-width: 768px) {
	/* [ 説明 ] */
	.xsrItem .expl:not(:has(div)) {
		display: flex;
		align-items: start;
		gap: 20px;
		width: 100%;
	}
	.xsrItem .expl:not(:has(div)) img,
	.xsrItem .expl:not(:has(div)) p {
		width: calc(50% - 10px);
		margin: 0;
	}

	/* [ 商品 ] */
	.xsrItem .expl:not(:has(div)) + .items {
		width: min(510px, 100%);
	} 
} /* */

@media screen and (max-width: 568px) {
	.xsrItem {
		flex-direction: column;
		align-items: center;
		padding: 0 20px;
	}
	#accessory.xsrItem {
		background-position: left top;
		background-size: 240% auto;
	}
	#helmet.xsrItem {
		background-position: center top;
		background-size: 240% auto;
	}
	#apparel.xsrItem {
		background-position: right top;
		background-size: 240% auto;
	}

	.xsrItem h2 img {
		max-width: 312px;
	}

	/* [ 説明 ] */
	.xsrItem .expl:not(:has(div)),
	.xsrItem .expl:has(div) {
		align-items: center;
		flex-direction: column;
	}
	.xsrItem .expl:not(:has(div)) img,
	.xsrItem .expl:not(:has(div)) p {
		width: min(355px, 100%);
	}
	.xsrItem .expl:has(div) > * {
		width: min(355px, 100%);
	}
	.xsrItem .expl p {
		margin-top: 20px;
		font-size: 1.6rem;
	}

	/* [ 商品 ] */
	.xsrItem .expl:not(:has(div)) + .items, 
	.xsrItem .expl:has(div) + .items {
		width: min(420px, 100%);
		margin-top: 20px;
	}
	.xsrItem .item + .item {
		margin-top: 20px;
	}
	.xsrItem .item .ribbon {
		position: absolute;
		top: -20px;
		right: -20px;
	}
	.xsrItem .item section {
		flex-direction: column;
	}
	.xsrItem .item .ribbon {
		width: 80px;
		height: 73px;
	}
	.xsrItem .item h3 {
		font-size: 2.2rem;
	}
	.xsrItem .item .img {
		width: min(250px, 100%);
		margin: 0 auto;
	}
	.xsrItem .item .end {
		width: 100%;
		font-size: 1.6rem;
	}
	.xsrItem .item .btn {
		margin: 0 auto;
		font-size: 1.6rem;
	}
} /* */
