/* Y'S GEAR : /mc/oil/yamalube_cp/css/yamalube.css */


body {
	overflow-x: hidden;
}

.contentsWidth {
	font-size: 1.6rem;
	font-weight: 500;
}
.contentsWidth * { box-sizing: border-box; }
.contentsWidth a,
.contentsWidth a::before,
.contentsWidth a::after { transition: all 0.3s ease; }

@media screen and (min-width: 569px) {
	.contentsWidth .sp { display: none !important; }
} /* */

@media screen and (max-width: 568px) {
	.contentsWidth {
		font-size: 1.4rem;
	}
	.contentsWidth .pc { display: none !important; }
} /* */


/*======================================================================*
 *  [ Common ] 
 *======================================================================*/

.contentsWidth > section {
	margin-top: 100px;
}
section h2 {
	margin-bottom: 40px;
	font-size: 3rem;
	text-align: center;
}

@media screen and (max-width: 568px) {
	.contentsWidth > section {
		margin-top: 50px;
	}
	section h2 {
		margin-bottom: 30px;
		font-size: 2.6rem;
	}
} /* */

p.notes {
	padding-left: 1em;
	text-indent: -1em;
	font-size: calc(1em - 0.2rem);
}
ul.notes li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: calc(1em - 0.2rem);
}

.txt-red {
	color: #CC1733;
}

.btn {
	display: block;
	margin: 0 auto;
}

/* [ ボタン小・大 ] */
.btn-small, .btn-large {
	position: relative;
	display: block;
	margin: 0 auto;
	color: #fff !important;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	transition: all 0.3s ease;
}
.btn-small::before,
.btn-large::before {
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-1px) rotate(45deg);
	content: "";
}
.btn-small{
	background: #363A90;
}
a.btn-small:hover, a.btn-small:active {
	color: #fff !important;
	background: #4247B8;
}
a:hover .btn-small, a:active .btn-small {
	background: #4247B8;
}
.btn-large {
	background: #EB6C8B;
}
a.btn-large:hover, a.btn-large:active {
	color: #fff !important;
	background: #ff8aa7;
}
a:hover .btn-large, a:active .btn-large {
	background: #ff8aa7;
}

/* [ ボタン小 ] */
.btn-small {
	width: min(100%, 150px);
	padding: 10px 5px;
	border-radius: 20px;
}
.btn-small::before {
	margin-right: 0.5em;
}

/* [ ボタン大 ] */
.btn-large {
	width: min(100%, 350px);
	padding: 20px;
	border-radius: 35px;
	font-size: 2.6rem;
}
a.btn-large:hover,
a.btn-large:active {
	transform: translateY(-5px);
}
.btn-large::before {
	margin-right: 1em;
}

.btn-large.inactive {
	pointer-events: none;
}
.btn-large.inactive div {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 35px;
	background: rgba(51,51,51,0.8);
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}

@media screen and (max-width: 568px) {
	.btn-small {
		width: min(100%, 130px);
		padding: 7px 5px;
	}

	.btn-large {
		width: min(100%, 250px);
		padding: 15px 10px;
		font-size: 2rem;
	}
	.btn-large.inactive div {
		font-size: 1.6rem;
	}
} /* */


/*======================================================================*
 *  [ Main ] 
 *======================================================================*/

.cpMain {
	position: relative;
	background: url(../img/main_bg_pc.jpg) center top / 100% auto no-repeat,
				url(../img/main_bg.jpg) center bottom / 100% auto no-repeat,
				#000;
	color: #fff;
	text-align: center;
}

.cpMain .text {
	margin-bottom: 40px;
	padding: 0 40px;
}
.cpMain .text p:not(.notes) {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
}
.cpMain .text p:not(.notes) b {
	display: inline-block;   
	font-size: 2.6rem;
}

/* 購入期間終了 */
.cpMain .text p:not(.notes) + p {
	position: relative;
	padding: 20px;
	background: rgba(255,255,255,0.75);
	color: #000;
	font-size: 1.8rem;
	line-height: 1.4;
}
.cpMain .text p:not(.notes) + p::before {
	position: absolute;
	top: 2px;
	right: 2px;
	bottom: 2px;
	left: 2px;
	border: 1px solid rgba(0,0,0,0.5);
	content: "";
}
.cpMain .text p:not(.notes) + p b {
	display: inline-block;
	margin-bottom: 5px;
	color: #363a90;
	font-size: 2.2rem;
}
.cpMain .text p:not(.notes) + p span {
	font-size: calc(1em - 0.2rem);
}

.cpMain .notes {
	margin-top: 20px;
	color: #FFE100;
}
.cpMain .notes a {
	color: #FFE100;
	text-decoration: underline;
}
.cpMain .notes a:hover,
.cpMain .notes a:hover {
	color: #fff !important;
	text-decoration: none;
}

/* [ 終了 ] */
.cpMain .text.end {
	position: relative;
}
.cpMain .text.end > div {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -20px;
	right: 0;
	bottom: -40px;
	left: 0;
	padding: 0 50px;
	background: rgba(0,0,0,0.75);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.75) 20px,rgba(0,0,0,0.75) calc(100% - 40px),rgba(0,0,0,0) 100%);
	z-index: 20;
}
.cpMain .text.end > div p {
	margin: 0;
	padding: 20px;
	border: 1px solid #fff;
	background: rgba(0,0,0,0.5);
}

@media screen and (max-width: 980px) {
	.cpMain {
		margin: 0 -20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpMain {
		margin: 0 -10px;
		padding-bottom: 40px;
		background: url(../img/main_bg_pc.jpg) center top / 100% auto no-repeat,
					url(../img/main_bg.jpg) center bottom 40px / 100% auto no-repeat,
					#000;
	}
	
	.cpMain .text {
		margin-bottom: 20px;
		padding: 0 20px;
	}
	.cpMain .text p:not(.notes) {
		margin-top: -20px;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	.cpMain .text p:not(.notes) b {
		font-size: 1.8rem;
	}

	/* 購入期間終了 */
	.cpMain .text p:not(.notes) + p {
		margin-top: 15px;
		padding: 15px;
		font-size: 1.4rem;
	}
	.cpMain .text p:not(.notes) + p b {
		font-size: 1.8rem;
	}

	.cpMain .btn-large.inactive::after {
		font-size: 1.4rem;
	}

	/* [ 終了 ] */
	.cpMain .text.end > div {
		top: -20px;
		bottom: -20px;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.75) 20px,rgba(0,0,0,0.75) calc(100% - 20px),rgba(0,0,0,0) 100%);
	}
} /* */


/*======================================================================*
 *  [ ナビゲーション ] 
 *======================================================================*/

/* [ 本体 ] */
.cpNav.original {
	position: relative;
	padding: 30px 40px 90px;
}
.cpNav.original::before {
	position: absolute;
	top: 0;
	right: 40px;
	left: 40px;
	height: 1px;
	background: rgba(255,255,255,.2);
	content: "";
}
.cpNav.original h2 {
	display: none;
}
.cpNav.original ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -10px;
	font-size: 1.8rem;
	line-height: 1.1;
}
.cpNav.original li {
	width: max(20%, 160px);
	padding: 0 10px 20px;
}

@media screen and (max-width: 768px) {
	.cpNav.original li {
		width: max(33.33%, 160px);
	}
} /* */

@media screen and (max-width: 568px) {
	.cpNav.original {
		padding: 0 20px;
	}
	.cpNav.original::before {
		right: 10px;
		left: 10px;
	}
	.cpNav.original ul {
		margin: 0 -5px;
		font-size: 1.4rem;
	}
	.cpNav.original li {
		width: 33.33%;
		padding: 0 5px 20px;
	}
} /* */

/* ボタン */
.cpNav.original a {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	height: 70px;
	padding: 0 1em;
	background: linear-gradient(135deg, rgba(202,132,21,1) 0%,rgba(254,212,48,1) 100%);
}
.cpNav.original a::before,
.cpNav.original a::after {
	position: absolute;
	top: 3px;
	right: 3px;
	bottom: 3px;
	left: 3px;
	content: "";
}
.cpNav.original a::before {
	background: rgba(0,0,0,.8);
}
.cpNav.original a::after {
	background: rgba(255,255,255,.1);
	opacity: 0;
}
.cpNav.original a:hover::after,
.cpNav.original a:active::after {
	opacity: 1;
}
.cpNav.original a b {
	position: relative;
	width: 100%;
	color: #fff;
	z-index: 1;
}
.cpNav.original a b::before {
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-right: 1em;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-5px) rotate(45deg);
	content: "";
}

@media screen and (max-width: 568px) {
	.cpNav.original a {
		height: 46px;
		padding: 0;
	}
	.cpNav.original a::before,
	.cpNav.original a::after {
		top: 2px;
		right: 2px;
		bottom: 2px;
		left: 2px;
	}
	.cpNav.original a b::before {
		margin-right: 0.5em;
		transform: translateY(-4px) rotate(45deg);
	}
} /* */

/* ボタン：非活性 */
.cpNav.original .inactive {
	position: relative;
}
.cpNav.original .inactive::before {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 20px;
	left: 10px;
	background: rgba(51,51,51,.8);
	z-index: 2;
	content: "";
}
.cpNav.original .inactive::after {
	position: absolute;
	top: calc(50% - 10px);
	left: 50%;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	white-space: nowrap;
	opacity: 0.8;
	z-index: 3;
	/* transform: translate(-50%,-50%) rotate(-10deg) scaleX(75%); */
	transform: translate(-50%,-50%) scaleX(75%);
	/* content: "COMING SOON"; */
	content: "";
}
.cpNav.original .inactive a {
	pointer-events: none;
}

@media screen and (max-width: 568px) {
	.cpNav.original {
		padding: 20px 10px;
		z-index: 100;
	}
	.cpNav.original .inactive::before {
		right: 5px;
		left: 5px;
	}
} /* */

/* [ クローン ] */
.cpNav.clone {
	position: fixed;
	top: 0;
	left: 50%;
	width: min(100%, 980px);
	background: #000;
	color: #fff;
	text-align: center;
	transform: translate(-50%, -100%);
	transition: all 0.3s ease;
	z-index: 101;
}
.cpNav.clone h2 {
	position: relative;
	padding: 15px 20px;
	font-size: 2rem;
	cursor: pointer;
}
.cpNav.clone h2::before, 
.cpNav.clone h2::after {
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	width: 1em;
	height: 2px;
	background: #fff;
	transition: all 0.3s ease;
	content: "";
}
.cpNav.clone h2::before {
	transform: translateY(-5px);
} 
.cpNav.clone h2::after {
	transform: translateY(5px);
}
.cpNav.clone ul {
	display: flex;
	justify-content: space-around;
	padding: 10px 20px 30px;
	font-size: 1.8rem;
	font-weight: bold;
}
.cpNav.clone a {
	display: inline-block;
	position: relative;
	padding-left: 25px;
	color: #fff;
	text-decoration: underline;
}
.cpNav.clone a:hover,
.cpNav.clone a:active {
	text-decoration: none;
}
.cpNav.clone a::before {
	position: absolute;
	top: calc(50% - 1.5px);
	left: 0;
	width: 15px;
	height: 3px;
	background: linear-gradient(135deg, rgba(202,132,21,1) 0%,rgba(254,212,48,1) 100%);
	content: "";
}

.navOn .cpNav.clone {
	transform: translate(-50%, 0);
}
.cpNav.clone h2.open::before {
	transform: rotate(-45deg);
}
.cpNav.clone h2.open::after {
	transform: rotate(45deg);
}

/* 非活性化 */
.cpNav.clone .inactive {
	display: none;
}

@media screen and (max-width: 568px) {
	.cpNav.clone ul {
		display: block;
	}
	.cpNav.clone li + li {
		margin-top: 20px;
	}
} /* */


/*======================================================================*
 *  [ 対象商品 ] 
 *======================================================================*/

.cpProducts {
	position: relative;
	text-align: center;
	margin-top: 0 !important;
	padding: 0 40px 60px;
	background: #000;
	background: linear-gradient(to bottom,  #000000 0%,#000000 calc(100% - 230px),#7a4d20 calc(100% - 115px),#d6982f 100%);
	color: #fff;
	overflow: hidden;
}
.cpProducts::after {
	position: absolute;
	bottom: -1px;
	left: -1px;
	width: calc(100% + 2px);
	background: url(../img/wave_bottom.png) center bottom / 100% auto no-repeat;
	aspect-ratio: 490 / 31;
	content: "";
}
.cpProducts > section {
	position: relative;
	margin-bottom: 50px;
	/* padding: 40px 35px; */
}
.cpProducts > section + section {
	position: relative;
	padding-top: 50px;
}
.cpProducts > section + section::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: rgba(255,255,255,0.2);
	content: "";
}
.cpProducts h3 {
	margin-bottom: 40px;
	color: #EB6C8B;
	font-size: 2.6rem;
	line-height: 1.2;
	text-align: center;
}
.cpProducts h3 b {
	display: inline-block;
}

@media screen and (max-width: 980px) {
	.cpProducts {
		margin: 0 -20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpProducts {
		margin: 0 -10px;
		padding: 0 30px 60px;
		background: linear-gradient(to bottom,  #000000 0%,#000000 calc(100% - 100px),#7a4d20 calc(100% - 50px),#d6982f 100%);
	}
	.cpProducts > section {
		/* padding: 40px 15px 30px; */
		background-size: 65% auto;
	}
	.cpProducts > section + section::before {
		left: -20px;
		width: calc(100% + 40px);
	}
	.cpProducts h3 {
		font-size: 2rem;
	}
} /* */

/* [ オイル ] */
.cpProducts .oil {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.cpProducts .oil section {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	width: calc(50% - 10px);
	margin-bottom: 50px;
}
.cpProducts .oil h4 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	padding: 0 7px;
	border-radius: 10px;
	background: #333;
	color: #fff;
	line-height: 1;
}
.cpProducts .oil h4.rs4gp  { background: #CC1733; }
.cpProducts .oil h4.sports { background: #31369F; }
.cpProducts .oil h4 span {
	display: inline-block;
}
.cpProducts .oil a {
	position: relative;
	width: calc(50% - 10px);
	padding-bottom: 40px;
}
.cpProducts .oil a:hover,
.cpProducts .oil a:active {
	transform: translateY(-5px);
}
.cpProducts .oil .img {
	position: relative;
}
.cpProducts .oil .img::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #262626;
	transition: all 0.3s ease;
	content: "";
}
.cpProducts .oil .img img {
	position: relative;
	z-index: +1;
}
.cpProducts .oil a:hover .img::before,
.cpProducts .oil a:active .img::before {
	background: #3c3c3c;
}
/* .cpProducts .oil img[src*=".jpg"] {
	border-radius: 50%;
}
.cpProducts .oil img[src*=".svg"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
} */
.cpProducts .oil a:hover img,
.cpProducts .oil a:active img {
	opacity: 1;
}
.cpProducts .oil p {
	margin: 10px 0;
	color: #fff;
	font-size: calc(1em - 0.2rem);
}
.cpProducts .oil p b,
.cpProducts .oil p span {
	display: inline-block;
}
.cpProducts .oil p b {
	color: #fff;
	font-size: 1.6rem;
}
.cpProducts .oil p br + span {
	margin-top: 0.5em;
}
.cpProducts .oil .btn-small {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
	.cpProducts .oil {
		display: block;
		max-width: 500px;
		margin: 0 auto;
	}
	.cpProducts .oil section {
		width: 100%;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpProducts .oil section {
		margin-bottom: 30px;
	}
	.cpProducts .oil a {
		padding-bottom: 30px;
	}
} /* */

/* [ オイルチェンジキット ] */
.cpProducts .kit {
	text-align: left;
}
.cpProducts .kit a {
	display: block;
	position: relative;
	padding: 20px calc(20px + 150px + 10px) 20px calc(20px + 22% + 20px);
	border-radius: 30px;
	background: #262626;
	color: #fff;
}
.cpProducts .kit a:hover,
.cpProducts .kit a:active {
	transform: translateY(-5px);
	background: #3c3c3c;
}
.cpProducts .kit img[src*=".png"] {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 22%;
	transform: translateY(-50%);
}
.cpProducts .kit a:hover img,
.cpProducts .kit a:active img {
	opacity: 1;
}
.cpProducts .kit p {
	margin-top: 5px;
	color: #fff;
	font-weight: bold;
}
.cpProducts .kit p b,
.cpProducts .kit p span {
	display: inline-block;
}
.cpProducts .kit p b {
	font-size: 2rem;
}
.cpProducts .kit p br + span {
	margin-top: 0.5em;
}
.cpProducts .kit .btn-small {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	.cpProducts .kit a {
		padding: 20px 20px 20px calc(20px + 28% + 20px);
	}
	.cpProducts .kit img[src*=".png"] {
		width: 28%;
	}
	.cpProducts .kit .btn-small {
		position: static;
		margin: 10px 0 0;
		transform: none;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpProducts .kit {
		padding: 1px 0 0;
	}
	.cpProducts .kit a {
		margin-top: min(12%, 65px);
		padding: 20px;
	}
	.cpProducts .kit img[src*=".png"] {
		top: 0;
		left: 28%;
		width: min(40%, 160px);
		transform: translateX(-50%) translateY(calc(-100% + 50px));
	}
	.cpProducts .kit img[src*=".svg"] {
		display: block;
		margin: 0 0 15px auto;
	}
	.cpProducts .kit p b {
		font-size: 1.6rem;
	}
	.cpProducts .kit .btn-small {
		margin: 15px auto 0;
	}
} /* */


/*======================================================================*
 *  [ コンテンツリンク ] 
 *======================================================================*/

.cpLink {
	/* margin: 50px 0; */
	margin-top: 40px !important;
	padding: 40px;
	border-radius: 30px;
	background: #EAEBF4;
}
.cpLink h2 {
	margin-bottom: 40px;
	color: #363A90;
	font-size: 2.6rem;
	line-height: 1.2;
	text-align: center;
}
.cpLink h2 b {
	display: inline-block;
}

@media screen and (max-width: 568px) {
	.cpLink {
		padding: 40px 20px;
	}
	.cpLink h2 {
		font-size: 2rem;
	}
} /* */

/* [ リンク ] */
.cpLink .link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.cpLink .link a {
	display: block;
	width: calc(33.33% - 13.33px);
}
.cpLink .link a img {
	border-radius: 30px;
	aspect-ratio: 5/3;
	object-fit: cover;
	transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
	.cpLink .link a {
		width: calc(50% - 10px);
	}
} /* */

@media screen and (max-width: 568px) {
	.cpLink .link a {
		width: min(100%, 315px);
	}
	.cpLink .link a img {
		aspect-ratio: auto;
	}
} /* */


/*======================================================================*
 *  [ 景品一覧 ] 
 *======================================================================*/

.cpPrize {
	position: relative;
	margin-top: 40px !important;
	padding: 100px 40px 50px;
	background: #000;
	background: linear-gradient(to bottom,  #d6982f 0%,#7a4d20 115px,#000000 230px,#000000 100%);
	color: #fff;
	text-align: center;
	overflow: hidden;
}
.cpPrize::after {
	position: absolute;
	top: -1px;
	left: -1px;
	width: calc(100% + 2px);
	background: url(../img/wave_top.png) center bottom / 100% auto no-repeat;
	aspect-ratio: 490 / 31;
	content: "";
}
.cpPrize h2 + p {
	font-size: calc(1em + 0.2rem);
}

@media screen and (max-width: 980px) {
	.cpPrize {
		margin: 0 -20px;
	}
} /* */

@media screen and (max-width: 768px) {
	.cpPrize {
		padding: 140px 20px;
	}
} /* */


@media screen and (max-width: 568px) {
	.cpPrize {
		margin: 0 -10px;
		padding: 80px 10px 50px;
		background: linear-gradient(to bottom,  #d6982f 0%,#7a4d20 50px,#000000 100px,#000000 100%);
		/* clip-path: polygon(50% 40px, 100% 0, 100% 100%, 0 100%, 0 0); */
	}
} /* */

.prizeWrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	margin-top: 50px;
}
.prizeWrap input { background: #ff0000;
	display: none;
	width: 0;
	height: 66px;
	margin: 0;
	visibility: hidden;
}

@media screen and (max-width: 568px) {
	.prizeWrap {
		margin-top: 20px;
	}
} /* */

/* [ タブ ] */
.prizeTab {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(50% - 5px);
	height: 110px;
	/* margin: 0 0.75% -10px; */
	margin-bottom: -26px;
	padding: 0 10px 26px;
	border-radius: 20px 20px 0 0;
	cursor: pointer;
	transition: all 0.3s ease;
}
.prizeTab b {
	font-size: 2rem;
	line-height: 1.1;
	font-family: Arial, Helvetica, sans-serif;
	opacity: 0.75;
}
.prizeTab span {
	display: block;
	font-size: 1.6rem;
	font-family:
		"游ゴシック体", "Yu Gothic", YuGothic, 
		"メイリオ", Meiryo, 
		"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 
		"ＭＳ Ｐゴシック", "MS PGothic", 
		sans-serif;
}
.prizeTab[for="rs4gp"] {
	background: #7e253b;
}
.prizeTab[for="sports"] {
	background: #313571;
}
[name="prizeTab"]:checked + .prizeTab b { opacity: 1; }
[name="prizeTab"]:checked + .prizeTab[for="rs4gp"] {
	background: #CC1733;
}
[name="prizeTab"]:checked + .prizeTab[for="sports"] {
	background: #31369F;
}

@media screen and (max-width: 768px) {
	.prizeTab b {
		font-size: 1.8rem;
	}
	.prizeTab span {
		font-size: 1.4rem;
	}
} /* */

@media screen and (max-width: 568px) {
	.prizeTab {
		height: 76px;
		border-radius: 20px 20px 0 0;
	}
	.prizeTab b {
		font-size: 1.4rem;
	}
	.prizeTab span {
		display: inline-block;
		font-size: 1.2rem;
	}
} /* */

/* [ 中身 ] */
.prizeBox {
	display: none;
	width: 100%;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.prizeBox h3 {
	font-size: 0;
}

/* [ 中身：対象商品 ] */
.prizeBox .products {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	padding: 30px 3%;
	border-radius: 30px 30px 0 0;
}
.prizeBox.rs4gp .products { background: #CC1733; }
.prizeBox.sports .products { background: #31369F; }
.prizeBox .products li {
	width: 14.28%;
}

@media screen and (max-width: 768px) {
	.prizeBox .products li {
		width: 20%;
	}
} /* */

@media screen and (max-width: 568px) {
	.prizeBox .products {
		padding: 10px;
		border-radius: 20px 20px 0 0;
	}
	.prizeBox .products li {
		width: 25%;
	}
	.prizeBox .products li:nth-child(4) ~ li {
		margin-top: 10px;
	}
} /* */

/* [ 中身：商品 ] */
.prizeBox .prize {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	padding: 20px 40px 40px;
	border-radius: 0 0 30px 30px;
}
.prizeBox.rs4gp  .prize { background: #681623; }
.prizeBox.sports .prize { background: #1B1D48; }
.prizeBox .prize li {
	width: calc(25% - 15px);
}

@media screen and (max-width: 768px) {
	.prizeBox .prize li {
		width: calc(50% - 10px);
		max-width: 200px;
	}
} /* */

@media screen and (max-width: 568px) {
	.prizeBox .prize {
		padding: 20px;
		border-radius: 0 0 20px 20px;
	}
	.prizeBox .prize li {
		width: calc(50% - 10px);
	}
} /* */

/* [ 制御 ] */
#rs4gp:checked ~ .rs4gp { display: block; visibility: visible; opacity: 1; }
#sports:checked ~ .sports { display: block; visibility: visible; opacity: 1; }

/* [ SNS ] */
.cpPrize .sns {
	margin-top: 50px;
	padding: 20px 20px 20px calc(14% + 20px + 10px);
	border: 2px solid #fff;
	border-radius: 30px;
	background: url(../img/sns_bg.svg) left 3% bottom -20px / 14% auto no-repeat;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
}
.cpPrize .sns b {
	display: inline-block;
	font-size: 3.4rem;
	line-height: 1;
}
.cpPrize .sns a {
	color: #FFE100;
	font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
	.cpPrize .sns {
		padding: 20px 20px 130px;
		background-position: center bottom -15px;
		background-size: 85px auto;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpPrize .sns {
		margin-top: 30px;
		font-size: 1.8rem;
	}
	.cpPrize .sns a {
		display: inline-block;
		font-size: 2rem;
	}
} /* */


/*======================================================================*
 *  [ 対象店舗 ] 
 *======================================================================*/

.cpStores {
	padding: 40px 20px;
	border-radius: 30px;
	background: #EAEBF4;
	text-align: center;
}
.cpStores h2 {
	color: #363A90;
}
.cpStores h2 + p {
	margin: -10px 0 30px;
	font-weight: bold;
}
.cpStores h2 + p b {
	display: block;
	margin-bottom: 10px;
	font-size: 2.4rem;
}
.cpStores h2 + p span {
	font-size: 1.8rem;
}
.cpStores h2 + p sup {
	font-size: 1.4rem;
	vertical-align: super;
}
.cpStores .notes {
	width: fit-content;
	margin: 0 auto;
	font-weight: bold;
	text-align: left;
}
.cpStores .notes li {
	padding-left: 2em;
	text-indent: -2em;
}
.cpStores .btn-shop + p {
	font-size: calc(1em - 0.2rem);
}

/* [ ボタン ] */
.cpStores .btns {
	display: flex;
	justify-content: center;
}
.cpStores .btn-shop {
	display: block;
	position: relative;
	width: fit-content;
	/* margin: 15px auto 20px; */
	margin: 15px 10px 20px;
	padding: 12px 20px 12px 80px;
	border-radius: 34px;
	background: #fff;
	font-size: 2rem;
	line-height: 1.2;
}
.cpStores .btn-shop:hover,
.cpStores .btn-shop:active {
	transform: translateY(-5px);
}
.cpStores .btn-shop::before {
	position: absolute;
	top: calc(50% - 26.5px);
	left: 12px;
	width: 53px;
	height: 53px;
	background: url(../img/icon_shop.svg) center center / contain no-repeat;
	content: "";
}
.cpStores .btn-shop b {
	display: block;
	width: 9em;
	color: #333;
}
.cpStores .btn-shop.inactive {
	pointer-events: none;
}
.cpStores .btn-shop.inactive div {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 35px;
	background: rgba(0,0,0,0.8);
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
}
 
@media screen and (max-width: 768px) {
	/* [ ボタン ] */
	.cpStores .btns {
		display: block;
	}
	.cpStores .btn-shop {
		margin: 15px auto 20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.cpStores h2 + p {
		margin-bottom: 20px;
	}
	.cpStores h2 + p b {
		font-size: 2rem;
	}
	.cpStores h2 + p span {
		font-size: 1.6rem;
	}
	.cpStores h2 + p sup {
		font-size: 1.2rem;
	}
	.cpStores .notes {
		font-size: 1.4rem;
	}
} /* */


/*======================================================================*
 *  [ 応募要項 ] 
 *======================================================================*/

.cpGuideline {
	padding: 0 20px;
}
.cpGuideline section + section {
	margin-top: 40px;
}

.cpGuideline h3 {
	margin: 0 0 15px 0;
	padding: 12px 20px;
	background-color: #ebebf4;
	background-image: url(/shared/img/bg_common.png);
	background-size: 3px 3px;
	color: #363a90;
	font-size: calc(1em + 0.2rem);
	font-weight: bold;
	line-height: 1.2;
}
.cpGuideline h3 ~ * {
	margin-right: 20px;
	margin-left: 20px;
}

.cpGuideline a,
.cpGuideline a:hover,
.cpGuideline a:active {
	color: #010e7f !important;
}
.cpGuideline a {
	font-weight: bold;
	text-decoration: underline;
}
.cpGuideline a:hover, 
.cpGuideline a:active {
	text-decoration: none;
}

/* [ Link ] */
.cpGuideline a.link {
	display: inline-block;
	position: relative;
	padding-left: 1em;
}
.cpGuideline a.link::before {
	position: absolute;
	top: calc(50% - 0.3em);
	left: 0;
	border: 0.3em solid transparent;
	border-right: none;
	border-left: 0.6em solid #010e7f;
	content: "";
}

.cpGuideline li {
	list-style: disc;
	margin-left: 30px;
}
.cpGuideline li + li {
	margin-top: 10px;
}

/* [ お問合せ先 ] */
.cpGuideline dt {
	position: relative;
	float: left;
	width: 300px;
	height: 55px;
	padding: 15px 0 0 75px;
	box-sizing: border-box;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
}
.cpGuideline dt img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.cpGuideline dt span {
	display: block;
	margin: 5px 0 0 8em;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
}
.cpGuideline dd {
	margin: 0 0 0 317px;
	color: #464646;
}
.cpGuideline dd p {
	margin-bottom: 10px;
	font-weight: bold;
}
.cpGuideline dd p span {
	font-weight: normal;
}
.cpGuideline dd li {
	list-style: none;
	margin: 5px 0 0 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
	font-size: calc(1em - 0.2rem);
}
.cpGuideline dd li:before {
	content: "◎";
}

@media screen and (max-width: 768px) {
} /* */

@media screen and (max-width: 568px) {
	.cpGuideline {
		padding: 0;
	}
	.cpGuideline section + section {
		margin-top: 30px;
	}
	.cpGuideline li {
		margin-left: 20px;
	}
	
	/* [ お問合せ ] */
	.cpGuideline dt {
		float: none;
		width: 100%;
		font-size: 2.2rem;
	}
	.cpGuideline dd {
		margin: 15px 0 0 0;
	}
} /* */




/*======================================================================*
 *  [ 注意事項 ] 
 *======================================================================*/

.cpNotes {
	margin: 0;
	padding: 40px 20px;
	background: #f5f5f5;
}

.cpNotes a {
	font-weight: bold;
	text-decoration: underline;
}
.cpNotes a:hover, 
.cpNotes a:active {
	text-decoration: none !important;
}

/* [ Link ] */
.cpNotes a.link {
	display: inline-block;
	position: relative;
	padding-left: 1em;
}
.cpNotes a.link::before {
	position: absolute;
	top: calc(50% - 0.3em);
	left: 0;
	border: 0.3em solid transparent;
	border-right: none;
	border-left: 0.6em solid #010e7f;
	content: "";
}

/* [ Title ] */
.cpNotes h2 {
	margin-bottom: 30px;
	font-size: calc(1em + 0.4rem);
	text-align: center;
}

/* [ Section ] */
.cpNotes > section {
	padding-left: 1em;
}
.cpNotes > section + section {
	margin-top: 30px;
}
.cpNotes > section h3 {
	margin-bottom: 10px;
}
.cpNotes > section h3::before {
	display: inline-block;
	width: 1em;
	margin-left: -1em;
	font-family: Verdana;
	text-align: center;
	content: "●";
}
.cpNotes > section h3 ~ * {
	font-size: calc(1em - 0.2rem);
}
.cpNotes > section ol li {
	padding-left: 1em;
	text-indent: -1em;
}
.cpNotes > section ol li + li {
	margin-top: 5px;
}
.cpNotes > section ol li:nth-child(1)::before { content: "①"; }
.cpNotes > section ol li:nth-child(2)::before { content: "②"; }
.cpNotes > section ol li:nth-child(3)::before { content: "③"; }
.cpNotes > section ol li:nth-child(4)::before { content: "④"; }
.cpNotes > section ol li:nth-child(5)::before { content: "⑤"; }
.cpNotes > section ol li:nth-child(6)::before { content: "⑥"; }
.cpNotes > section ol li:nth-child(7)::before { content: "⑦"; }
.cpNotes > section ol li:nth-child(8)::before { content: "⑧"; }
.cpNotes > section ol li:nth-child(9)::before { content: "⑨"; }
.cpNotes > section ol li:nth-child(10)::before { content: "⑩"; }
.cpNotes > section ol li sup {
	display: inline-block;
	font-size: calc(1em - 0.2rem);
	text-indent: 0;
	vertical-align: super;
	line-height: 1;
}
.cpNotes > section ol li span {
	display: inline-block;
	padding-left: 1em;
	font-size: calc(1em - 0.1rem);
	text-indent: -1em;
}
.cpNotes > section a,
.cpNotes > section a:hover,
.cpNotes > section a:active {
	color: #010e7f !important;
}

@media screen and (max-width: 568px) {
	.cpNotes {
		padding: 30px 20px;
	}
} /* */


/*======================================================================*
 *  [ Main ] 
 *======================================================================*/

.shoplistMain { margin-bottom: 40px; }
.shoplistMain + section { margin-top: 0; }
.shoplistMain p {
	margin-top: 40px;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 980px) {
	.shoplistMain {
		margin-right: -20px;
		margin-left: -20px;
	}
	.shoplistMain p { padding: 0 20px; }
} /* */

@media screen and (max-width: 568px) {
	.shoplistMain {
		margin: 0 -10px 30px;
	}
	.shoplistMain p {
		margin-top: 30px;
		padding: 0 10px;
	}
} /* */

.shoplistText {
	margin-top: -40px;
	padding: 100px 20px;
	background: #FFFADC;
	color: #010e7f;
	font-size: calc(1em + 0.4rem);
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 980px) {
	.shoplistText {
		margin-right: -20px;
		margin-left: -20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.shoplistText {
		margin-right: -10px;
		margin-left: -10px;
		padding: 80px 20px;
		font-size: calc(1em + 0.2rem);
	}
} /* */


/*======================================================================*
 *  [ campaignLink ] 
 *======================================================================*/

.campaignLink {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 50px 0;
	font-size: 2rem;
	line-height: 1.2;
}
.campaignLink + .campaignLink {
	margin-top: -20px;
}
.campaignLink.shop {
	padding: 0 40px;
}
.campaignLink li {
	display: -webkit-flex;
	display: flex;
	width: calc(50% - 10px);
}
.campaignLink li + li { margin-left: 20px; }
.campaignLink a {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	width: 100%;
	padding: 15px 40px;
	border: 2px solid #010e7f;
	border-radius: 5px;
	color: #010e7f;
	background: #fff;
}
.campaignLink a.list {
	color: #fff;
	background: #010e7f;
}
.campaignLink a::after {
	position: absolute;
	top: calc(50% - 11px);
	right: 18px;
	width: 22px;
	height: 22px;
	background: url(../img/icon_link.svg) center center no-repeat;
	background-size: contain;
	content: "";
}
.campaignLink a.list::after {
	background-image: url(../img/icon_link_wh.svg);
}
.campaignLink a.prev::after {
	right: auto;
	left: 18px;
	transform: rotate(180deg);
}
.campaignLink a[target="_blank"]::after {
	background-image: url(../img/icon_blank.svg);
}

.campaignLink a:hover, 
.campaignLink a:active {
	color: #010e7f !important;
	border-color: #010e7f !important;
	background: #e8eff7;
}
.campaignLink a.list:hover::after, 
.campaignLink a.list:active::after {
	background-image: url(../img/icon_link.svg);
}

.campaignLink a.disabled {
	border-color: #666 !important;
	background: #eee;
	color: #666 !important;
}
.campaignLink a.disabled::after {
	display: none;
}

@media screen and (max-width: 980px) {
	.campaignLink.shop {
		padding: 0 20px;
	}
} /* */

@media screen and (max-width: 568px) {
	.campaignLink {
		display: block;
		margin: 30px 0 !important;
		font-size: 1.6rem;
	}
	.campaignLink.shop {
		padding: 0 10px;
	}
	.campaignLink li {
		width: 100%;
	}
	.campaignLink li + li {
		margin: 15px 0 0;
	}
} /* */


/*======================================================================*
 *  [ Shoplist ] 
 *======================================================================*/

.yamalubeShoplist {
	margin: 20px 0 30px !important;
	padding: 0 20px;
}
.yamalubeShoplist .ttl {
	margin: 0;
	color: #CC1533;
}

.yamalubeShoplist.accordion {
	margin: 20px 0 !important;
}
.yamalubeShoplist.accordion .ttl {
	position: relative;
	cursor: pointer;
}
.yamalubeShoplist.accordion .ttl::before, 
.yamalubeShoplist.accordion .ttl::after {
	position: absolute;
	top: calc(50% - 2px);
	right: 10px;
	width: 20px;
	height: 2px;
	background: #CC1533;
	content: "";
}
.yamalubeShoplist.accordion .ttl::after {
	display: none;
	transform: rotate(90deg);
}
.yamalubeShoplist.accordion.hide .ttl::after  {
	display: block;
}
.yamalubeShoplist.accordion .inner {
	display: none;
}

.yamalubeTable {
	margin-top: 10px;
	width: 100%;
	border: 1px solid #ccc;
	font-size: 1.4rem;
}
.yamalubeTable th,
.yamalubeTable td {
	padding: 5px;
	border: 1px solid #ccc;
	vertical-align: middle;
}
.yamalubeTable thead th {
	background: #eee;
}
.yamalubeTable thead tr th:nth-child(1) { width: 33%; }
.yamalubeTable thead tr th:nth-child(2) { width: 10%; }
.yamalubeTable thead tr th:nth-child(4) { width: 14%; }
.yamalubeTable tbody tr th { text-align: left; }
.yamalubeTable tbody tr td:nth-child(2), 
.yamalubeTable tbody tr td:nth-child(4) {
	text-align: center;
	white-space: nowrap;
}

@media screen and (max-width: 568px) {
	.yamalubeShoplist {
		padding: 0;
		margin: 15px 0 !important;
	}
	.yamalubeShoplist .ttl {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.yamalubeTable {
		display: block;
	}
	.yamalubeTable thead {
		display: none;
	}
	.yamalubeTable tbody, 
	.yamalubeTable tbody tr,
	.yamalubeTable tbody th,
	.yamalubeTable tbody td {
		display: block;
		width: 100% !important;
		border: none;
		box-sizing: border-box;
	}
	.yamalubeTable tbody tr th {
		padding: 5px 10px;
		background: #999;
		color: #fff;
	}
	.yamalubeTable tbody tr td {
		padding: 0 10px;
		text-align: left !important;
	}
	.yamalubeTable tbody tr td:nth-child(2) {
		padding-top: 10px;
	}
	.yamalubeTable tbody tr td:nth-child(4) {
		padding-top: 5px;
		padding-bottom: 10px;
	}
	.yamalubeTable tbody tr td:nth-child(2)::before { content: "〒"; }
	.yamalubeTable tbody tr td:nth-child(4)::before { content: "TEL："; }
} /* */