@charset "UTF-8";

@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Light/woff/ShinGoPro-Light.css");
@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Bold/woff/ShinGoPro-Bold.css");
@import url("https://www.nissan.co.jp/COMMON/WEBFONTS/ShinGoPro-Regular/woff/ShinGoPro-Regular.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

main.page-supply{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 24px;
}
main.page-supply br{
	font-size: 0;
}
main.page-supply ul,
main.page-supply ol,
main.page-supply figure{
	margin: 0;
	padding: 0;
}
main.page-supply ul li,
main.page-supply ol li{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
main.page-supply p,
main.page-supply li,
main.page-supply dt,
main.page-supply dd,
main.page-supply th,
main.page-supply td{
	margin: 0;
	line-height : 140% ;
}
main.page-supply h1,
main.page-supply h2,
main.page-supply h3,
main.page-supply h4{
	margin: 0;
	line-height : 120% ;
}
main.page-supply img{
	vertical-align: bottom;
}
main.page-supply a{
	color: #c3092f;
	text-decoration: underline;
	transition-duration: 0.3s ;
}

main.page-supply a:focus,
main.page-supply input:focus{
	outline: none;
}

main.page-supply a,
main.page-supply button,
main.page-supply input[type=submit],
main.page-supply input[type=button]{
	text-decoration : none ;
	transition-duration : 0.3s ;
}
main.page-supply a:hover,
main.page-supply button:hover,
main.page-supply input[type=submit]:hover,
main.page-supply input[type=button]:hover{
	opacity: 0.5;
}

main.page-supply h1,
main.page-supply h2,
main.page-supply h3,
main.page-supply h4{
	line-height: 140%;
	font-weight: normal;
}
main.page-supply p,
main.page-supply li,
main.page-supply dt,
main.page-supply dd,
main.page-supply th,
main.page-supply td{
	line-height: 180%;
}
main.page-supply strong,
main.page-supply b{
	font-weight: normal;
}
main.page-supply sup{
	vertical-align: baseline;
	position: relative;
	top: -0.5ex;
	font-size:0.6em;
}
main.page-supply sub{
	vertical-align: baseline;
	position: relative;
	bottom: -0.5ex;
	font-size:0.6em;
}

/******************************************************************************
	common
******************************************************************************/
main.page-supply div.block{
	padding: 120px 0;
}
main.page-supply div.block section{
	max-width: 920px;
	margin: 0 auto;
}
#contents-wrapper .l-floating.isVisible{
	display: none;
}
/******************************************************************************
	header
******************************************************************************/
main.page-supply header{
	margin: 0 auto;
	padding: 20px 0 130px;
	background-image: url("../images/bg_kv.png"),linear-gradient(-180deg, #0E1D6E,#0043ff 55%,#0E1D6E);
	background-position: center top 540px,center top;
	background-size: 1260px auto, cover;
}
main.page-supply header p.logo{
	padding: 0 20px;
	margin: 0 0 20px;
}
main.page-supply header p.logo img{
	width: 100px;
}
main.page-supply header h1{
	margin: 0 auto 60px;
}
main.page-supply header div.bnr{
	position: relative;
	width: 900px;
	max-width: 100%;
	margin: 0 auto 10px;
}
main.page-supply header div.bnr:after{
	content: " ";
	position: absolute;
	left: -75px;
	top: -8px;
	width: 234px;
	height: 594px;
	background: url("../images/deco_bnr_kv.png") center center no-repeat;
	background-size: contain;
}
main.page-supply header h1 picture img,
main.page-supply header div.bnr picture img{
	margin: 0 auto;
	text-align: center;
}
main.page-supply header ul.attention{
	box-sizing: border-box;
	width: 900px;
	max-width: 100%;
	padding-left: 165px;
	margin: 0 auto;
	font-size: 14px;
	color: #fff;
}
/******************************************************************************
	section.otoku
******************************************************************************/
main.page-supply div.block:has(section.otoku){
	padding-bottom: 320px;
	background: #fffcec;
}
main.page-supply section.otoku div{
	width: 900px;
	margin: 0 auto;
}
main.page-supply section.otoku div:first-of-type{
	margin-bottom: 10px;
}
main.page-supply section.otoku div img{
	max-width: initial;
	width: 978px;
	margin-left: -78px;
}
/******************************************************************************
	section.simulation
******************************************************************************/
main.page-supply div.block:has(section.simulation){
	position: relative;
	padding-top: 275px;
	padding-bottom: 90px;
	background: #319cff;
	color: #fff;
}
main.page-supply section.simulation h2{
	position: absolute;
	top: -215px;
	left: calc(50% - 375px);
	width: 750px;
	height: 400px;
	padding-top: 110px;
	background: #319cff url("../images/txt_simulation_ttl.png") left 315px top 250px no-repeat;
	border-radius: 375px 375px 0 0;
	text-align: center;
	font-size: 40px;
}
main.page-supply section.simulation p.btn{
	width: 670px;
	margin: 0 auto 90px;
}
main.page-supply section.simulation p.btn a{
	display: block;
	background: #143dff url("../images/arrow_simulation.svg") right 30px center no-repeat;
	background-size: 25px auto;
	border-radius: 10px;
	line-height: 110px;
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
main.page-supply section.simulation .header{
	width: 630px;
	margin: 0 auto 110px;
	padding: 30px 0;
	border-top: #fff 2px solid;
	border-bottom: #fff 2px solid;
	text-align: center;
}
main.page-supply section.simulation .header h3{
	margin-bottom: 15px;
	font-size: 96px;
	line-height: 100%;
}
main.page-supply section.simulation .header p{
	font-size: 32px;
	line-height: 100%;
}
main.page-supply section.simulation .slider{
	width: 630px;
	margin: 0 auto;
}
main.page-supply section.simulation .slider .item{
	padding-bottom: 45px;
}
main.page-supply section.simulation .slider .item figure{
	width: 180px;
	height: 180px;
	margin: 0 auto 60px;
	background: #fff;
	border-radius: 90px;
}
main.page-supply section.simulation .slider .item figure img{
	width: 100%;
	height: 100%;
}
main.page-supply section.simulation .slider .item p{
	margin: 0 auto 30px;
	text-align: center;
}
main.page-supply section.simulation .slider .item p:last-of-type{
	margin-bottom: 0;
}
main.page-supply section.simulation .slider .item p.attention{
	font-size: 14px;
}
main.page-supply section.simulation .slider .item p a{
	position: relative;
	color: #fff;
}
main.page-supply section.simulation .slider .item p a:after{
	content: " ";
	position: absolute;
	left: -2%;
	bottom: -3px;
	width: 104%;
	height: 5px;
	background: #143dff;
}
main.page-supply section.simulation .slider .slick-arrow{
	top: 90px;
	right: 0;
	width: 18px;
	height: 48px;
	background: url("../images/arrow_slider_next.svg") center center no-repeat;
	background-size: contain;
	z-index: 99;
}
main.page-supply section.simulation .slider .slick-arrow.slick-prev{
	right: auto;
	left: 0;
	background-image: url("../images/arrow_slider_prev.svg");
}
main.page-supply section.simulation .slider .slick-arrow:before{
	display: none;
}
main.page-supply section.simulation .slider .slick-dots li{
	width: 26px;
	height: 26px;
	margin: 0 20px;
}
main.page-supply section.simulation .slider .slick-dots li button{
	width: 26px;
	height: 26px;
	background: #fff;
	border-radius: 13px;
	opacity: 0.4;
}
main.page-supply section.simulation .slider .slick-dots li.slick-active button{
	opacity: 1;
}
main.page-supply section.simulation .slider .slick-dots li button:before{
	display: none;
}
/******************************************************************************
	section.zero
******************************************************************************/
main.page-supply div.block:has(section.zero){
	padding-top: 70px;
	background: #fffcec;
}
main.page-supply section.zero div{
	width: 643px;
	margin: 0 auto;
}
/******************************************************************************
	section.plan
******************************************************************************/
main.page-supply div.block:has(section.plan){
	background: #fedf43;
}
main.page-supply section.plan h2{
	text-align: center;
	font-size: 46px;
}
main.page-supply section.plan > p{
	margin-bottom: 70px;
	text-align: center;
	font-size: 32px;
}
main.page-supply section.plan ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 490px;
	margin: 0 auto;
}
main.page-supply section.plan ul li{
	width: 150px;
	margin-bottom: 20px;
}
main.page-supply section.plan ul li a{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	background: #fff;
	border: #000 2px solid;
	color: #000;
}
main.page-supply section.plan ul li a.active{
	background: #000;
	color: #fff;
}
main.page-supply section.plan div.plan{
	box-sizing: border-box;
	display: none;
	width: 650px;
	margin: 60px auto 0;
	padding: 90px 50px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 10px 10px 10px 0 rgba(0,0,0,0.3);
	text-align: center;
}
main.page-supply section.plan div.plan.show{
	display: block;
}
main.page-supply section.plan div.plan p{
	line-height: 120%;
}
main.page-supply section.plan div.plan .header{
	position: relative;
	margin: 30px 0 30px;
	padding: 20px 0;
	background: #fedf43;
	border-radius: 10px;
}
main.page-supply section.plan div.plan .header:first-of-type{
	margin-top: 0;
}
main.page-supply section.plan div.plan .header:after{
	content: " ";
	position: absolute;
	left: calc(50% - 24px);
	bottom: -23px;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 24px 0px 24px;
	border-color: #fedf43 transparent transparent transparent;
}
main.page-supply section.plan div.plan .header p:first-of-type{
	font-size: 30px;
}
main.page-supply section.plan div.plan .header h3{
	font-size: 44px;
	line-height: 120%;
}
main.page-supply section.plan div.plan > p{
}
main.page-supply section.plan div.plan > p.customer{
	font-size: 32px;
}
main.page-supply section.plan div.plan > p.strong{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: relative;
	font-size: 84px;
	align-items: baseline;
}
main.page-supply section.plan div.plan > p.strong span{
	position: relative;
	margin-left: 5px;
	font-size: 32px;
	line-height: 120%;
}
main.page-supply section.plan div.plan > p.strong + p{
	margin-left: -50px;
	margin-right: -50px;
}
/******************************************************************************
	section.faq
******************************************************************************/
main.page-supply section.faq h2{
	margin: 0 auto 90px;
	text-align: center;
	font-size: 46px;
}
main.page-supply section.faq h3{
	position: relative;
	width: 580px;
	margin: 0 auto 40px;
	font-size: 32x;
	border-bottom: #b0b0b0 2px solid;
	line-height: 160%;
	cursor: pointer;
}
main.page-supply section.faq h3:before,
main.page-supply section.faq h3:after{
	content: " ";
	position: absolute;
	top: calc(50% - 2px);
	right: 12px;
	width: 24px;
	height: 4px;
	background: #143dff;
}
main.page-supply section.faq h3:after{
	transition-duration: 0.3s ;
	transform: rotate(90deg);
}
main.page-supply section.faq h3.show:after{
	transform: rotate(0);
}
main.page-supply section.faq h3:last-of-type{
	margin-bottom: 0;
}
main.page-supply section.faq .faqWrap{
	display: none;
	width: 580px;
	margin: 40px auto;
}
main.page-supply section.faq .faqWrap dl{
	margin: 0 0 40px;
}
main.page-supply section.faq .faqWrap dl dt{
	margin: 0 0 15px;
	font-size: 20px;
	font-weight: 700;
}
main.page-supply section.faq .faqWrap dl dd{
	font-size: 18px;
}
main.page-supply section.faq .faqWrap dl dt span,
main.page-supply section.faq .faqWrap dl dd span{
	font-size: 32px;
	font-weight: 700;
}
main.page-supply section.faq p.btn{
	width: 670px;
	margin: 120px auto 0;
}
main.page-supply section.faq p.btn a{
	display: block;
	background: #143dff url("../images/arrow_simulation.svg") right 30px center no-repeat;
	background-size: 14px auto;
	border-radius: 10px;
	line-height: 110px;
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
/******************************************************************************
	footer
******************************************************************************/
main.page-supply footer{
	padding: 90px 0;
	background: #083556;
	text-align: center;
	color: #fff;
}
main.page-supply footer p.btn{
	width: 550px;
	margin: 0 auto 170px;
	font-size: 32px;
	text-align: left;
	line-height: 140%;
}
main.page-supply footer p.btn.callcenter{
	margin-bottom: 15px;
}
main.page-supply footer p.attention{
	margin-bottom: 100px;
	font-size: 28px;
}
main.page-supply footer p.btn a{
	display: flex;
	align-items: center;
	height: 140px;
	padding-left: 120px;
	border-radius: 10px;
	color: #083556;
	background: #fff url("../images/ico_callcenter.png") left 12px center no-repeat;
}
main.page-supply footer p.btn.shoplist a{
	background-image: url("../images/ico_shoplist.png"),url("../images/arrow_shoplist.svg");
	background-position: left 16px center,right 20px center;
	background-size: auto auto,20px auto;
	
}
main.page-supply footer ul{
	margin-bottom: 60px;
	
}
main.page-supply footer ul li{
	font-size: 24px;
}
main.page-supply footer ul li a{
	color: #fff;
}
main.page-supply footer p.logo img{
	margin: 0 auto;
}
main.page-supply footer small{
	display: block;
	margin: 80px auto 0;
	font-size: 18px;
}
/******************************************************************************
	#floating
******************************************************************************/
#floatingNav{
	position: fixed;
	left: 0;
	bottom: -150px;
	width: 100%;
	background: #00c8ff;
	transition-duration: 0.3s;
	z-index: 100;
}
#floatingNav ul{
	display: flex;
	justify-content: center;
	padding: 10px 0;
}
#floatingNav ul li{
	margin: 0 5px;
}
#floatingNav ul li a{
	display: block;
	padding: 0 60px 0 25px;
	background: #143dff url("../images/arrow_simulation.svg") right 25px center no-repeat;
	background-size: 25px auto;
	border-radius: 10px;
	line-height: 110px;
	font-size: 32px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
#floatingNav.show{
	bottom: 0;
}
/******************************************************************************
	fancybox
******************************************************************************/
.fancybox-content{
	box-sizing: border-box;
	padding: 40px;
	border-radius: 10px;
}
.fancybox-button{
	width: 42px;
	height: 42px;
}
.fancybox-slide--html .fancybox-close-small{
	right: 10px;
	top: 10px;
	padding: 0;
}
.fancybox-button svg{
	width: 42px;
	height: 42px;
}
/* 販売店一覧 */
#shoplist{
	min-width: 590px;
}
#shoplist h2{
	margin: 0 auto 40px;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
}
#shoplist dl{
	padding-bottom: 20px;
	border-bottom: #464646 2px solid;
}
#shoplist dl:first-of-type{
	border-top: #464646 2px solid;
}
#shoplist dl dt{
	position: relative;
	font-size: 28px;
}
#shoplist dl dt a{
	display: block;
	padding: 20px 15px 0;
}
#shoplist dl dt:before,
#shoplist dl dt:after{
	content: " ";
	position: absolute;
	top: calc(50% - 2px + 10px);
	right: 15px;
	width: 24px;
	height: 4px;
	background: #143ddc
}
#shoplist dl dt:after{
	transition-duration: 0.3s ;
	transform: rotate(90deg);
}
#shoplist dl.show dt:after{
	transform: rotate(0);
}
#shoplist dl dd{
	display: none;
	justify-content: space-between;
	align-items: center;
	padding: 5px 15px;
	font-size: 22px;
}
#shoplist dl.show dd{
	display: flex;
}
#shoplist dl dd a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 116px;
	height: 30px;
	background: #083556;
	border-radius: 15px;
	color: #fff;
	font-size: 16px;
}
/* 販売店選択 */
#regist{
	padding-top: 30px;
}
#regist ul{
	width: 480px;
	margin: 0 auto;
}
#regist ul li{
	margin: 0 0 30px;
}
#regist ul li:last-child{
	margin: 0;
}
#regist ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 15px 0;
	background: #143dff;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 20px;
	text-align: center;
	line-height: 160%;
}
#regist ul li:last-child a{
	border: #143dff 2px solid;
	background: #fff;
	color: #143dff;
}
#regist ul li:last-child a span{
	display: block;
	margin-top: 5px;
	font-size: 14px;
	color: #666;
}
/* シミュレーション */
.fancybox-simlation .fancybox-content{
	padding: 0;
	background: transparent;
}
.fancybox-simlation .fancybox-button svg path{
	fill: #fff;
}
#sim{
	box-sizing: border-box;
	width: 670px;
	padding: 0 40px 0;
	border: #143dff 4px solid;
	border-radius: 10px;
	background: #fff;
	font-family: "Noto Sans JP", sans-serif;
}
#sim h2{
	margin: 0 -40px 40px;
	line-height: 110px;
	background: #143dff;
	color: #fff;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}
#sim fieldset{
	display: none;
	margin: 0 0 40px;
}
#sim fieldset p{
	margin: 0 0 40px;
	font-size: 24px;
}
#sim fieldset div.radio{
	display: flex;
	flex-wrap: wrap;
	width: 490px;
	margin: 0 auto;
}
#sim fieldset div.radio label{
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 150px;
	height: 60px;
	margin: 0 20px 20px 0;
	border: #000 1px solid;
	font-size: 24px;
}
#sim fieldset div.radio label:nth-of-type(3n){
	margin-right: 0;
}
#sim fieldset div.radio label:nth-last-of-type(1),
#sim fieldset div.radio label:nth-last-of-type(2),
#sim fieldset div.radio label:nth-last-of-type(3){
	margin-bottom: 0;
}
#sim fieldset div.radio label:has(input:checked){
	background: #143dff;
	border-color: #143dff;
	color: #fff;
}
#sim div.result{
	display: none;
	margin: 0 0 40px;
}
#sim div.result .box{
	box-sizing: border-box;
	position: relative;
	width: 408px;
	padding: 15px;
	margin-bottom: 40px;
	background: #143dff;
	color: #fff;
	box-shadow: 5px 5px 10px 0 rgba(0,0,0,0.2);
}
#sim div.result .box p{
	font-size: 26px;
	line-height: 120%;
}
#sim div.result .box p.price{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: baseline;
	font-size: 92px;
	text-align: center;
}
#sim div.result .box p.price span{
	position: relative;
	margin-left: 5px;
	font-size: 42px;
	line-height: 120%;
}
#sim div.result .box p.otoku{
	font-size: 46px;
	font-weight: 900;
	text-align: center;
}
#sim div.result .box p.attention{
	position: relative;
	padding-left: 1em;
	margin-top: 5px;
	font-size: 15px;
}
#sim div.result .box p.attention span{
	position: absolute;
	left: 0;
}
#sim div.result .box:after{
	content: " ";
	position: absolute;
	right: -177px;
	bottom: -5px;
	width: 172px;
	height: 186px;
	background: url("../images/fig_sim.png") center center no-repeat;
	background-size: contain;
}
#sim div.result p.btn a{
	display: block;
	background: #143dff url("../images/arrow_simulation.svg") right 30px center no-repeat;
	background-size: 14px auto;
	border-radius: 10px;
	line-height: 72px;
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
#sim fieldset.show,
#sim div.result.show{
	display: block;
}
