@charset "utf-8";
/* Y'S GEAR : school.css */

body {
	overflow-x: hidden;
	margin-right: auto !important;
}

.contentsWidth {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
}
.contentsWidth *,
.contentsWidth *::before,
.contentsWidth *::after { box-sizing: border-box; }
.contentsWidth a,
.contentsWidth a::before,
.contentsWidth a::after,
.contentsWidth a img { transition: all 0.3s ease; }

.contentsWidth h2,
.contentsWidth h3,
.contentsWidth h4,
.contentsWidth h5 { line-height: 1.2; } 


@media screen and (min-width: 769px) {
	.contentsWidth .sp { display: none; }
} /* */

@media screen and (max-width: 768px) {
	.contentsWidth .pc { display: none; }
} /* */


.contentsWidth h2 {
	position: relative;
	display: inline-block;
	color: #fff;
	text-align: center;
	font-size: 3.0rem;
	font-weight: bold;
	padding: 0 45px;
	margin-bottom: 45px;
}
.contentsWidth h2::before,
.contentsWidth h2::after {
	position: absolute;
	display: inline-block;
	content: '';
	top: 50%;
	width: 44px;
	height: 2px;
	background-color: #fff;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}
.contentsWidth h2::before {
	left: 0;
}
.contentsWidth h2::after {
	right: 0;
}

@media screen and (max-width: 768px) {
	.contentsWidth h2 {
		line-height: 3.6rem;
		letter-spacing: 0.25rem;
		padding: 0 65px;
		margin-bottom: 50px;
	}
	.contentsWidth h2::before,
	.contentsWidth h2::after {
		width: 62px;
	}
}


/*==============================================*
 *  [ メイン ] 
 *==============================================*/

.main-img {
	position: relative;
}

.item-link {
	position: absolute;
	font-size: 1.6rem;
	font-weight: bold;
	background-color: #CC1733;
	padding: 20px 0;
	left: 24%;
	bottom: 30%;
}
.item-link:hover {
	background-color: #D6455C;
}
.item-link a {
	color: #fff;
	padding: 20px;
}
.item-link a:hover {
	color: #fff!important;
	background-color: #D6455C;
}

@media screen and (max-width: 768px) {
	.main-img {
		background-color: #000;
		margin: 0 -10px;
		padding-bottom: 50px;
		text-align: center;
	}
	.main-img img {
		width: 100%;
		height: auto;
		margin-bottom: 10px;
	}
	.item-link {
		position: relative;
		display: inline-block;
		left: 0;
	}
}


/*==============================================*
 *  [ ナビゲーション ] 
 *==============================================*/

.nav-menu {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18.5px;
	margin-top: -15.5%;
	padding: 0 40px;
}
.nav-menu a {
	width: calc((100% - 37px) / 3);
	height: 147px;
}
.nav-btn {
	text-align: center;
	background-image: linear-gradient(180deg, rgba(0, 64, 152, 1), rgba(0, 0, 0, 1));
	padding: 15px 0;
}
.nav-btn img {
	height: 117px;
}

.nav-btn:hover {
	background-color: #004098;
	background-image: none;
	border-bottom: 3px solid #CC1733;
}

#float-nav {
	display: none;
}
#float-nav.fixed {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: +1;
	display: flow;
}
.nav-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 18.5px;
	padding: 0 40px;
}
.nav-inner a {
	width: calc((900px - 37px) / 3);
	height: 66px;
}
.nav-inner a .nav-btn {
	padding: 10px 0;
	background-image: linear-gradient(180deg, rgba(0, 64, 152, 0.8), rgba(0, 0, 0, 0.8));
}
.nav-inner a .nav-btn img {
	height: 45px;
}


@media screen and (max-width: 768px) {
	.nav-menu {
		display: block;
		margin: 0 -10px;
		padding: 0 10px;
		background-color: #000;
	}
	.nav-menu a {
		width: 100%;
		height: 76px;
	}
	.nav-btn {
		padding: 10px 0;
	}
	.nav-btn img {
		height: 56px;
	}
	.nav-inner {
		gap: 9px;
		padding: 0;
	}
	.nav-inner a {
		width: calc((100% - 18px) / 3);
	}
	.nav-inner a .nav-btn img {
		height: 42.5px;
	}
}


/*==============================================*
 *  [ POINT ポイント ] 
 *==============================================*/

.point {
	position: relative;
	background-image: url("/mc/oil/rs4gp/img/point_bg.png"), linear-gradient(180deg, rgba(0, 0, 0, 1) 80%, rgba(0, 64, 152, 1));
	background-repeat: no-repeat;
	background-size: contain;
	clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
	padding: 200px 40px 180px;
	margin-top: -40px;
	z-index: -1;
}
.point-content {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}
.point-content:nth-child(odd) {
	flex-direction: row-reverse;
}
.point-content:nth-child(odd) .point-txt img {
	margin-left: 54px;
}
.point-content:nth-child(odd) .point-txt p {
	padding-left: 74px;
}
.point-content:nth-child(odd) .point-img {
	margin: 20px -54px 30px 0;
}
.point-content:last-child .point-img {
	margin-bottom: 0;
}
.point-txt {
	position: relative;
	width: 530px;
	height: fit-content;
	color: #fff;
	font-size: 1.6rem;
	background-color: rgba(255, 255, 255, 0.1);
	padding-top: 20px;
	padding-right: 64px;

}
.point-txt b {
	font-size: 2.6rem;
	line-height: 4.0rem;
}
.lb-txt {
	color: #00A8FF;
}
.bl-txt {
	color: #2255FF;
}
.pk-txt {
	color: #FF235F;
}
.point-txt img {
	width: 170px;
}
.point-txt p {
	width: 460px;
	line-height: 2.4rem;
	padding: 20px 0 20px 20px;
}
.point-txt p:last-child {
	padding-top: 0;
}
.point-img {
	position: relative;
	width: calc(41.2% + 54px);
	min-height: 283px;
	margin: 20px 0 30px -54px;
	z-index: 100;
}
.point-img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	object-fit: cover;
	object-position: bottom;
}

.point-graph {
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 30px;
}
.point-graph h3 {
	font-size: 3.0rem;
	font-weight: bold;
	margin-bottom: 50px;
}
.point-graph img {
	margin-bottom: 50px;
}
.point-graph .table-img img {
	width: 750px;
}
.point-graph p {
	font-size: 2.4rem;
	line-height: 5.0rem;
}
.point-graph p b {
	font-size: 3.0rem;
}

@media screen and (max-width: 768px) {
	.point {
		padding: 90px 0 130px;
		margin: 0 -10px;
		background-image: url("/mc/oil/rs4gp/img/point_bg_sp.png"), linear-gradient(180deg, rgba(0, 0, 0, 1) 94%, rgba(0, 64, 152, 1));
		clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 100%);
	}
	.point-content {
		display: block;
	}
	.point-txt {
		width: 95%;
		padding: 20px 20px 0 0;
	}
	.point-txt p {
		width: 100%;
		padding: 30px 0 20px 20px;
	}
	.point-img {
		width: 100%;
		height: 100%;
		min-height: auto;
		margin: 0;
		padding: 0 20px 0 0;
	}
	.point-img img {
		position: relative;
	}
	.point-content:nth-child(odd) {
		padding-left: 5%;
	}
	.point-content:last-child {
		margin-bottom: 0;
	}
	.point-content:nth-child(odd) .point-txt {
		width: 100%;
		padding: 20px 0 20px 0;
	}
	.point-content:nth-child(odd) .point-txt p {
		padding: 30px 20px 20px 20px;
	}
	.point-content:nth-child(odd) .point-txt p:last-child {
		padding-top: 0;
		padding-bottom: 0;
	}
	.point-content:nth-child(odd) .point-txt img {
		margin-left: 0;
	}
	.point-content:nth-child(odd) .point-img {
		margin: 0;
		padding: 0;
	}
	.point-graph {
		padding-left: 0;
		padding-right: 0;
	}
	.point-graph img {
		margin-bottom: 50px;
	}
	.point-graph p {
		font-size: 2.0rem;
		line-height: 4.0rem;
	}
	.point-graph p b {
		font-size: 2.6rem;
	}
	.point-graph .table-img {
		width: 100%;
		overflow-x: scroll;
	}
	.point-graph .table-img img {
		max-width: 750px;
		margin-bottom: 0;
	}
	p.sp-swipe {
		font-size: 1.4rem;
		margin-bottom: 55px;
	}
}


/*==============================================*
 *  [　INTERVIEW レースも可能なオイル ] 
 *==============================================*/

.interview {
	position: relative;
	color: #fff;
	background-image: linear-gradient(180deg, rgba(0, 64, 152, 1), rgba(0, 7, 17, 1) 40%, rgba(0, 0, 0, 1));
	clip-path: polygon(0 8%, 100% 0%, 100% 92%, 0% 100%);
	padding: 200px 40px 220px;
	margin-top: -40px;
	z-index: -1;
}
.interview-content p {
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 3.0rem;
	margin-bottom: 30px;
}

.test-content {
	display: flex;
	justify-content: center;
	margin-bottom: 50px;
}
.test-content:nth-child(odd) {
	flex-direction: row-reverse;
}
.test-content:nth-child(odd) .test-txt img {
	margin-left: 54px;
}
.test-content:nth-child(odd) .test-txt p {
	padding-left: 74px;
}
.test-content:nth-child(odd) .test-txt ul{
	padding-left: 74px;
}
.test-content:nth-child(odd) .test-img {
	margin: 20px -54px 30px 0;
}
.test-content:nth-child(odd) .test-img img {
	object-position: center;
	object-fit: contain;
	background-color: #fff;
}
.test-content:last-child .test-img {
	margin-bottom: 0;
}
.test-txt {
	position: relative;
	width: 530px;
	height: fit-content;
	color: #fff;
	font-size: 1.6rem;
	background-color: rgba(255, 255, 255, 0.1);
	padding-top: 20px;
	padding-right: 64px;
}
.test-txt p {
	width: 460px;
	text-align: left!important;
	font-weight: normal;
	line-height: 2.4rem;
	padding: 20px 0 30px 20px;
}
.test-txt p:last-child {
	padding-top: 0;
}

p.test-title {
	width: fit-content!important;
	font-size: 2.7rem!important;
	background-color: #004098;
	padding: 15px 15px 10px 20px;
	margin-top: 10px;
}
p.test-title span {
	font-size: 2.0rem;
}
.test-txt .test-subtxt {
	font-size: 1.2rem;
	padding-top: 0;
}
.test-txt .test-subtxt {
	margin-bottom: 0;
}
.test-txt ul {
	padding-left: 20px;
	padding-bottom: 20px;
}
.test-txt ul li {
	position: relative;
	width: 420px;
	font-size: 1.6rem;
	padding-left: 1.0em;
	margin-bottom: 10px;
}
.test-txt ul li:last-child {
	margin-bottom: 0;
}
.test-txt ul li::before {
	content: '';
	border-radius: 50%;
	width: 10px;
	height: 10px;
	display: block;
	position: absolute;
	left: 0;
	top: 0.3em;
	background: #FFCC00;
}
.test-img {
	position: relative;
	width: calc(41.2% + 54px);
	min-height: 283px;
	margin: 20px 0 30px -54px;
	z-index: 100;
}
.test-img img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	object-fit: cover;
	object-position: top;
}
.test-img p {
	position: absolute;
	font-size:1.2rem;
	font-weight: normal;
	text-align:left;
	bottom: -50px;
	margin-bottom: 20px;
}


.oilresult {
	margin-top: 100px;
	text-align: center;
}
.oilresult-bgbl {
	background-color: #004098;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 3.0rem;
	padding: 20px;
	margin-top: 50px;
}
.oilresult-bgbl span {
	font-size: 1.4rem;
}
.oilresult-point {
	display: flex;
	align-items: flex-start;
	background-color: rgba(255, 255, 255, 0.1);
	margin-bottom: 30px;
	text-align: center
}
.oilresult-point:last-child {
	margin-bottom: 0;
}

.oilresult-point .orp-wrap {
	width: 100%;
	color: #fff;
	padding: 20px;
}

.oilresult-point .orp-wrap .orp-title {
	width: 100%;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 20px;
	padding: 10px 0;
	background-color: #8D7511;
}

.oilresult-point .orp-wrap .orp-txt {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 3.0rem;
	margin-bottom: 0;
}

.oilresult-recommendation {
	height: 270px;
	background-image: url("/mc/oil/rs4gp/img/oilimg_pc.png");
	background-position: top right;
	background-repeat: no-repeat;
	background-size: contain;
}
.oilresult-recommendation p {
	float: left;
	line-height: 3.0rem;
	padding: 10px 0 30px;
	margin-bottom: 0;
	text-shadow: #000 1px 0 5px;
}
.oilresult-recommendation p span {
	color: #FFCC00;
	font-size: 3.0rem;
	line-height: 5.0rem;
}
.oilresult-recommendation img {
	width: 410px;
}


@media screen and (max-width: 768px) {
	.interview {
		padding: 100px 10px;
		margin: 0 -10px;
		clip-path: polygon(0 2.25%, 100% 0%, 100% 97.75%, 0% 100%);
	}
	.test-content {
		display: block;
	}
	.test-content:nth-child(odd) .test-txt p {
		padding-left: 20px;
		line-height: 4.0rem;
	}
	.test-content:nth-child(odd) .test-txt ul{
		padding-left: 20px;
		padding-right: 20px;
		line-height: 3.0rem;
	}
	.test-content:nth-child(odd) .test-img {
		margin: 0;
	}
	.test-content:nth-child(odd) .test-img img {
		object-position: center;
		object-fit: contain;
		background-color: #fff;
	}
	.test-txt {
		width: 100%;
		padding-right: 0;
	}
	.test-txt p {
		width: 100%;
	}
	.test-txt ul li {
		width: 100%;
	}
	.test-img {
		width: 100%;
		margin: 0;
	}

	.oilresult-point {
		display: block;
		margin-bottom: 20px;
	}

	.oilresult-point .orp-wrap .orp-title {
		margin-bottom: 30px;
	}

	.oilresult-point .orp-wrap .orp-txt {
		font-size: 1.4rem;
		line-height: 2.4rem;
	}

	.oilresult-recommendation {
		height: fit-content;
		background-image: none;
	}
	.oilresult-recommendation p {
		width: 100%;
		text-shadow: none;
	}
	.oilresult-recommendation img {
		width: 100%;
	}
}


/*==============================================*
 *  [ 大バナー ] 
 *==============================================*/

.page-link {
	padding: 0 40px;
	margin-top: -110px;
	margin-bottom: 50px;
}
.page-link a {
	background-color: #fff;
	display: block;
}
.page-link img {
	background-color: #fff;
}

@media screen and (max-width: 768px) {
	.page-link {
		padding: 0;
		margin-top: -30px;
	}
}

/*==============================================*
 *  [ コンテンツバナー ] 
 *==============================================*/

.bunnerArea {
	background-color: #ddd;
	padding: 20px;
	margin-bottom: 50px;
}

.bunnerArea ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.bunnerArea li {
	width: calc((940px - 20px) / 3);
}

.bunnerArea li img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	.bunnerArea {
		margin: 0 -10px 50px;
	}
	.bunnerArea ul {
		gap: 20px;
	}
	.bunnerArea li {
		width: 100%;
	}
}


/*==============================================*
 *  [ TOPへ戻る ] 
 *==============================================*/

.returntop {
	text-align: center;
	margin-bottom: 60px;
	height: 60px;
}

.returntop a {
	color: #333;
	font-size: 2.0rem;
	border: 3px solid #F5F5F5;
	background-color: #fff;
	padding: 17px 32px 17px 26px;
}
.returntop a:hover {
	border: 3px solid #F5F5F5!important;
}

.returntop a b::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.2rem;
	height: 1.2rem;
	border: 3px solid #CC1533;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateX(25%) rotate(-135deg);
	margin-right: 30px;
}

@media screen and (max-width: 768px) {
	.returntop a {
		height: 40px;
		font-size: 1.6rem;
	}
	.longbtn a b::before {
		margin-right: 10px;
	}
}