@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");

/******************************************************************************
	common
******************************************************************************/
body main{
	max-width: 1300px;
	margin: 0 auto;
	background: #000;
	color: #fff;
	overflow-x: hidden;
	font-size: 16px;
	font-family: ShinGoPro-Regular,sans-serif;
	letter-spacing: 0.02em;
}
body main section{
	box-sizing: border-box;
	margin: 0 auto;
	padding: 100px 15px;
}
body main section ul,
body main section ol,
body main section figure{
	margin: 0;
	padding: 0;
}
body main section ul li,
body main section ol li{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body main section p,
body main section li,
body main section dt,
body main section dd,
body main section th,
body main section td{
	margin: 0;
	line-height : 140% ;
}
body main section h1,
body main section h2,
body main section h3,
body main section h4{
	margin: 0;
	line-height : 120% ;
	color: #fff;
	letter-spacing: 0.04em;
}
body main section img{
	vertical-align: bottom;
}
body main section a{
	color: #fff;
	text-decoration: underline;
	transition-duration: 0.3s ;
}

body main section a:focus,
body main section input:focus{
	outline: none;
}

body main section a,
body main section button,
body main section input[type=submit],
body main section input[type=button]{
	text-decoration : none ;
	transition-duration : 0.3s ;
}
body main section a:hover,
body main section button:hover,
body main section input[type=submit]:hover,
body main section input[type=button]:hover{
	opacity: 0.7;
}

body main section h1,
body main section h2,
body main section h3,
body main section h4{
	line-height: 140%;
	font-weight: normal;
}
body main section p,
body main section li,
body main section dt,
body main section dd,
body main section th,
body main section td{
	line-height: 180%;
}
body main section strong,
body main section b{
	font-weight: normal;
}
@media screen and (max-width:750px){
	body main{
		max-width: initial;
		font-size: 3.2vw;
	}
	body main section{
		padding: 12vw 4vw;
	}
	body main section a:hover,
	body main section button:hover,
	body main section input[type=submit]:hover,
	body main section input[type=button]:hover{
		opacity: 1;
	}
	br.pc{
		display: none;
	}
}
@media screen and (min-width:751px){
	br.sp{
		display: none;
	}
}
#include-footer .page-top{
	z-index: 1000;
}
/******************************************************************************
	header
******************************************************************************/
body main header{
	position: relative;
}
body main header .kvSlider .item img{
	width: 100%;
}
body main header h1{
	position: absolute;
	top: min(12.7vw,220px);
	left: min(7.3vw,92px);
	max-width: 39.7%;
}
body main header p{
	position: absolute;
	top: min(31.54vw,460px);
	left: min(7.3vw,95px);
	max-width: 40%;
}
@media screen and (max-width:750px){
	body main header h1{
		top: 10vw;
		left: 4.7vw;
		max-width: initial;
		width: 70.13vw;
	}
	body main header p{
		top: 41.3vw;
		left: 4.7vw;
		max-width: initial;
		width: 51.6vw;
	}
}
/******************************************************************************
	.btnWrap
******************************************************************************/
body main section.btnWrap{
	position: relative;
	padding: 0 15px;
	z-index: 2;
}
body main section#support + section.btnWrap{
	margin-top: -80px;
}
body main section.btnWrap .bg{
	position: absolute;
	left: 0;
	top: -60px;
	width: 100%;
	height: 200px;
	transform: skewY(-4.9deg);
	transform-origin: center center;
	background: rgba(255,255,255,0.7);
}
body main section.btnWrap ul{
	position: relative;
	display: flex;
	justify-content: space-between;
	max-width: 860px;
	margin: 0 auto;
}
body main section.btnWrap ul li{
	width: 385px;
	max-width: calc(50% - 10px);
}
body main section.btnWrap ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	background-image: url("../img/ico_btn_arrow.svg"),linear-gradient(#323228,#000);
	background-size: auto auto,cover;
	background-position: right 20px center,center center;
	background-repeat: no-repeat;
	border-radius: 10px;
	font-size: 22px;
	box-shadow: 0 5px 0 0 rgba(0,0,0,0.1);
}
body main section.btnWrap ul li:last-child a{
	background-image: url("../img/ico_btn_arrow.svg"),linear-gradient(#c81943,#96012f);
}
@media screen and (max-width:750px){
	body main section.btnWrap{
		padding: 0;
	}
	body main section#support + section.btnWrap{
		margin-top: -2vw;
	}
	body main section.btnWrap .bg{
		left: 0;
		top: -4.5vw;
		height: 46vw;
	}
	body main section.btnWrap ul{
		display: block;
		max-width: initial;
		width: 65vw;
		padding: 2vw 0 0;
	}
	body main section.btnWrap ul li{
		width: auto;
		max-width: initial;
		margin: 0 0 6vw;
	}
	body main section.btnWrap ul li:last-child{
		margin: 0;
	}
	body main section.btnWrap ul li a{
		height: 13vw;
		background-position: right 4vw center,center center;
		background-size: 2vw auto,auto auto;
		border-radius: 1.6667vw;
		font-size: 4vw;
		box-shadow: 0 1vw 0 0 rgba(0,0,0,0.1);
	}
}
/******************************************************************************
	.content common
******************************************************************************/
body main section.content{
	position: relative;
}
body main section.content .bg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
body main section.content .bg .set{
	left: 0;
	bottom: 0;
	position: absolute;
	width: 100%;
}
body main section.content .bg .set .line{
	position: absolute;
	left: 0;
	top: 38px;
	width: 100%;
	height: 36px;
	background: rgba(200,25,67,0.8);
	transform: skewY(-4.9deg);
	transform-origin: center center;
}
body main section.content .bg .set .cover{
	position: absolute;
	right: 0;
	top: 39px;
	width: 100%;
	height: 450px;
	background: rgba(0,0,0,0.7);
	transform: skewY(-4.9deg);
	transform-origin: center center;
}
body main section.content .bg img{
	width: 100%;
	clip-path: polygon(0% min(112px,8.615vw),100% 0%,100% calc(100% - min(112px,8.615vw)),0% 100%);
}
body main section.content .inner{
	position: relative;
	margin: 0 auto;
	z-index: 2;
}
body main section.content p.note{
	margin: 40px 0 0;
	text-align: center;
	font-size: 14px;
	text-shadow: 0 0 3px rgba(0,0,0,1);
}
body main section.content.init .bg .set img,
body main section.content.init .bg .set .line,
body main section.content.init .inner{
	opacity: 0;
}
@media screen and (max-width:750px){
	body main section.content .bg .set .line{
		top: 1.8vw;
		height: 4.8vw;
	}
	body main section.content .bg .set .cover{
		top: 4.4vw;
		height: 86vw;
	}
	body main section.content p.note{
		margin: 4vw 0 0;
		font-size: 2.1vw;
	}
}
/******************************************************************************
	#merit
******************************************************************************/
body main section#merit{
	padding-top: 190px;
	padding-bottom: 250px;
	text-align: center;
}
body main section#merit .bg .set{
	top: -80px;
}
body main section#merit .bg .set:first-of-type img{
	clip-path: polygon(0% 0%,100% 0%,100% calc(100% - min(112px,8.615vw)),0% 100%);
}
body main section#merit .bg .set:last-of-type{
	top: auto;
	bottom: 0;
}
body main section#merit h2{
	width: 680px;
	margin: 0 auto 240px;
}
body main section#merit h2 a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 135px;
	background: rgba(200,25,67,0.8);
	font-size: 30px;
	line-height: 160%;
	border-radius: 10px;
}
body main section#merit h2 a:after{
	content: " ";
	position: absolute;
	left: calc(50% - 25px);
	bottom: -24px;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 34px 25px 0px 25px;
	border-color: #fff transparent transparent transparent;
}
body main section#merit h2 a strong{
	font-size: 42px;
}
body main section#merit p{
	font-size: 28px;
}
body main section#merit h3{
	display: inline-block;
	margin:  0 auto 60px;
	padding: 0 4px 10px;
	border-bottom: #c81943 4px solid;
	font-size: 48px;
	font-family: ShinGoPro-Bold,sans-serif;
	line-height: 120%;
	color: #f7f7f7;
}
body main section#merit ul{
	display: flex;
	justify-content: space-between;
	width: 830px;
	max-width: 100%;
	margin: 0 auto;
}
body main section#merit ul li{
	width: 250px;
	max-width: calc(33.33% -  5px);
}
body main section#merit ul li a{
	position: relative;
	display: block;
	padding: 30px 0 160px;
	background: #fff url("../img/ico_merit01.png") center bottom 25px no-repeat;
	border-radius: 10px;
	color: #000;
	font-size: 24px;
	line-height: 140%;
}
body main section#merit ul li:nth-of-type(2) a{
	background-image: url("../img/ico_merit02.png");
}
body main section#merit ul li:nth-of-type(3) a{
	background-image: url("../img/ico_merit03.png");
}
body main section#merit ul li a:after{
	content: " ";
	position: absolute;
	left: calc(50% - 23px);
	bottom: -15px;
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 23px 0px 23px;
	border-color: #c3002f transparent transparent transparent;
}
@media screen and (max-width:750px){
	body main section#merit{
		padding-top: 28vw;
		padding-bottom: 35vw;
	}
	body main section#merit .bg .set{
		top: -36vw;
	}
	body main section#merit h2{
		width: 76vw;
		margin: 0 auto 40vw;
	}
	body main section#merit h2 a{
		height: 18vw;
		font-size: 4vw;
		border-radius: 1.6667vw;
	}
	body main section#merit h2 a:after{
		left: calc(50% - 3.4vw);
		bottom: -2.8vw;
		border-width: 4.4vw 3.4vw 0px 3.4vw;
	}
	body main section#merit h2 a strong{
		font-size: 5.2vw;
	}
	body main section#merit p{
		font-size: 3.7vw;
	}
	body main section#merit h3{
		margin:  0 auto 6.6vw;
		padding: 0 1vw 1.5vw;
		border-bottom-width: 2px;
		font-size: 6.4vw;
	}
	body main section#merit ul{
		width: 90vw;
	}
	body main section#merit ul li{
		width: 27.8vw;
		max-width: initial;
	}
	body main section#merit ul li a{
		padding: 2.6667vw 0 17vw;
		background-position: center bottom 2vw;
		background-size: 14vw auto;
		border-radius: 1.6667vw;
		font-size: 3.2vw;
	}
	body main section#merit ul li a:after{
		left: calc(50% - 2.5vw);
		bottom: -1.8vw;
		border-width: 3.2vw 2.5vw 0px 2.5vw;
	}
}
/******************************************************************************
	#lineup
******************************************************************************/
body main section#lineup{
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}
body main section#lineup .bg .set .line{
	background: rgba(109,157,200,0.8);
}
body main section#lineup h2{
	color: #6d9dc8;
	font-size: 46px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#lineup p:not([class]){
	margin: 0 0 30px;
	font-size: 22px;
	letter-spacing: 0.2em;
}
body main section#lineup p:not([class]) strong{
	color: #c3002f;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#lineup h3{
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255,255,255,0.8);
	width: 680px;
	max-width: 100%;
	margin: 0 auto 30px;
	padding: 15px 0;
	color: #000;
	font-size: 16px;
}
body main section#lineup h3 strong{
	margin: 0 0 0 15px;
	font-size: 28px;
	color: #c3002f;
}
body main section#lineup .lineupSlider .item{
	width: 323px;
	padding: 0 5px 5px;
	margin: 0 30px;
}
body main section#lineup .lineupSlider .item span{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 50px;
	height: 50px;
	margin: 0 auto 5px;
	background: #c3002f;
	border-radius: 5px;
	font-size: 28px;
	color: #ffff;
}
body main section#lineup .lineupSlider .item h4{
	margin: 0 0 10px;
	font-size: 30px;
}
body main section#lineup .lineupSlider .item figure{
	position: relative;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,1);
}
body main section#lineup .lineupSlider .item figure figcaption{
	position: absolute;
	left: 0;
	top: 15px;
	width: 100%;
	font-size: 18px;
}
body main section#lineup .lineupSlider .slick-next{
	width: 25px;
	height: 40px;
	right: 60px;
	top: auto !important;
	bottom: 105px;
	outline: 0;
}
body main section#lineup .lineupSlider .slick-next:before{
	content: " ";
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0;
	border-style: solid;
	border-width: 20px 0px 20px 25px;
	border-color: transparent transparent transparent #fff;
}
body main section#lineup .lineupSlider .slick-prev{
	width: 25px;
	height: 40px;
	left: 60px;
	top: auto !important;
	bottom: 105px;
	outline: 0;
}
body main section#lineup .lineupSlider .slick-prev:before{
	content: " ";
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0;
	border-style: solid;
	border-width: 20px 25px 20px 0px;
	border-color: transparent #fff transparent transparent;
}
body main section#lineup .lineupSlider .slick-next:hover,
body main section#lineup .lineupSlider .slick-prev:hover,
body main section#lineup .lineupSlider .slick-next:focus,
body main section#lineup .lineupSlider .slick-prev:focus{
	background: transparent;
}
@media screen and (max-width:750px){
	body main section#lineup{
		padding-bottom: 32vw;
	}
	body main section#lineup .bg .set .cover{
		height: 80vw;
	}
	body main section#lineup h2{
		font-size: 6.9vw;
	}
	body main section#lineup p:not([class]){
		margin: 0 0 4vw;
		font-size: 3.2vw;
	}
	body main section#lineup h3{
	flex-direction: column;
		width: 54vw;
		margin: 0 auto 4vw;
		padding: 2vw 0;
		font-size: 3.2vw;
	}
	body main section#lineup h3 strong{
		margin: 0;
		font-size: 4.8vw;
	}
	body main section#lineup .lineupSlider .item{
		width: 48vw;
		padding: 0 1vw 1vw;
		margin: 0 2vw;
	}
	body main section#lineup .lineupSlider .item span{
		width: 7vw;
		height: 7vw;
		margin: 0 auto 1vw;
		border-radius: 0.8vw;
		font-size: 4vw;
	}
	body main section#lineup .lineupSlider .item h4{
		margin: 0 0 2vw;
		font-size: 4.8vw;
	}
	body main section#lineup .lineupSlider .item figure{
		box-shadow: 1vw 1vw 0 0 rgba(0,0,0,1);
	}
	body main section#lineup .lineupSlider .item figure figcaption{
		top: 2vw;
		font-size: 2.8vw;
	}
	body main section#lineup .lineupSlider .slick-next{
		width: 3.2vw;
		height: 5.6vw;
		right: 22vw;
		top: auto !important;
		bottom: 17vw;
	}
	body main section#lineup .lineupSlider .slick-next:before{
		border-width: 2.4vw 0px 2.4vw 3.2vw;
		border-color: transparent transparent transparent #fff;
	}
	body main section#lineup .lineupSlider .slick-prev{
		width: 3.2vw;
		height: 5.6vw;
		left: 22vw;
		top: auto !important;
		bottom: 17vw;
	}
	body main section#lineup .lineupSlider .slick-prev:before{
		border-width: 2.8vw 3.2vw 2.8vw 0px;
		border-color: transparent #fff transparent transparent;
	}
}
/******************************************************************************
	#support
******************************************************************************/
body main section#support{
	padding-bottom: 200px;
	text-align: center;
}
body main section#support .bg .set .line{
	background: rgba(109,157,200,0.8);
}
body main section#support .bg .set .cover{
	top: 39px;
	height: 550px;
	background: rgba(102,102,102,0.8);
}
body main section#support h2{
	color: #6d9dc8;
	font-size: 46px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#support p:not([class]){
	font-size: 22px;
	letter-spacing: 0.2em;
}
body main section#support p:not([class]) strong{
	color: #c3002f;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#support ul{
	width: 800px;
	max-width: 100%;
	margin: 100px auto 0;
}
body main section#support ul li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 20px;
	background: #fff;
	border-bottom: #c3002f 10px solid;
	color: #000;
}
body main section#support ul li figure{
	width: 287px;
}
body main section#support ul li .text{
	box-sizing: border-box;
	width: calc(100% - 287px);
	padding: 0 45px;
	text-align: left;
}
body main section#support ul li .text h3{
	font-size: 36px;
	color: #c3002f;
	letter-spacing: 0.2em;
}
body main section#support ul li .text p{
	font-size: 20px;
}
body main section#support ul li:last-child{
	margin: 0;
}
body main section#support p.note{
	margin-top: 10px;
}
@media screen and (max-width:750px){
	body main section#support{
		padding-bottom: 14vw;
	}
	body main section#support .bg .set .cover{
		top: 4.4vw;
		height: 69vw;
		background: rgba(102,102,102,0.8);
	}
	body main section#support h2{
		font-size: 6.9vw;
	}
	body main section#support p:not([class]){
		font-size: 3.2vw;
	}
	body main section#support ul{
		width: 90vw;
		max-width: 100%;
		margin: 6vw auto 0;
	}
	body main section#support ul li{
		margin: 0 0 2.4vw;
		border-bottom-width: 1.3vw;
	}
	body main section#support ul li figure{
		width: 34.5vw;
	}
	body main section#support ul li .text{
		width: calc(100% - 34.5vw);
		padding: 0 4vw;
	}
	body main section#support ul li .text h3{
		font-size: 4.4vw;
		color: #c3002f;
	}
	body main section#support ul li .text p{
		font-size: 2.4vw;
	}
	body main section#support ul li:last-child{
		margin: 0;
	}
	body main section#support p.note{
		margin-top: 4vw;
	}
}
/******************************************************************************
	#service
******************************************************************************/
body main section#service{
	padding-top: 220px;
	padding-bottom: 300px;
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}
body main section#service .bg .set .line{
	background: rgba(109,157,200,0.8);
}
body main section#service .bg .set .cover{
	top: 39px;
	height: 580px;
	background: rgba(51,51,51,0.9);
}
body main section#service h2{
	color: #6d9dc8;
	font-size: 46px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#service p:not([class]){
	font-size: 22px;
	letter-spacing: 0.2em;
}
body main section#service p:not([class]) strong{
	color: #c3002f;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#service .serviceSlider{
	margin-top: 80px;
}
body main section#service .serviceSlider .item{
	width: 920px;
	max-width: 100vw;
	margin: 0 50px;
}
body main section#service .serviceSlider .item div{
	box-sizing: border-box;
	position: relative;
	height: 308px;
	max-height: 23.69vw;
	padding: 30px 30px 0 calc(min(23.69vw,308px) + 30px);
	background: #fff;
	text-align: left;
}
body main section#service .serviceSlider .item div img{
	position: absolute;
	left: 0;
	top: 0;
	width: 308px;
	max-width: 23.69vw;
}
body main section#service .serviceSlider .item div h3{
	margin-bottom: 20px;
	color: #000;
	font-size: 26px;
}
body main section#service .serviceSlider .item div h3 strong{
	font-size: 40px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#service .serviceSlider .item div p{
	color: #000;
	font-size: 22px;
	line-height: 140%;
	letter-spacing: 0.02em;
}
body main section#service .serviceSlider .item div p strong{
	color: #c3002f;
}
body main section#service .serviceSlider .item dl{
	display: flex;
	flex-wrap: wrap;
	padding: 24px;
	background: #c3002f;
	text-align: left;
}
body main section#service .serviceSlider .item dl dt{
	width: 100%;
}
body main section#service .serviceSlider .item dl dt span{
	display: inline-block;
	padding: 5px 30px;
	background: #fff;
	color: #c3002f;
	font-size: 24px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#service .serviceSlider .item dl dd{
	margin: 15px 1em 0 0;
	font-size: 20px;
	line-height: 100%;
}
body main section#service .serviceSlider .slick-next{
	width: 25px;
	height: 40px;
	right: 140px;
	top: calc(50% - 20px);
	outline: 0;
}
body main section#service .serviceSlider .slick-next:before{
	content: " ";
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0;
	border-style: solid;
	border-width: 20px 0px 20px 25px;
	border-color: transparent transparent transparent #fff;
}
body main section#service .serviceSlider .slick-prev{
	width: 25px;
	height: 40px;
	left: 140px;
	top: calc(50% - 20px);
	outline: 0;
}
body main section#service .serviceSlider .slick-prev:before{
	content: " ";
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0;
	border-style: solid;
	border-width: 20px 25px 20px 0px;
	border-color: transparent #fff transparent transparent;
}
body main section#service .serviceSlider .slick-next:hover,
body main section#service .serviceSlider .slick-prev:hover,
body main section#service .serviceSlider .slick-next:focus,
body main section#service .serviceSlider .slick-prev:focus{
	background: transparent;
}
body main section#service .serviceSlider .slick-dots{
	bottom: -60px;
}
body main section#service .serviceSlider .slick-dots li{
	margin: 0 20px;
}
body main section#service .serviceSlider .slick-dots li button{
	background: #fff;
	color: #fff;
	border-radius: 10px;
}
body main section#service .serviceSlider .slick-dots li button:before,
body main section#service .serviceSlider .slick-dots li button:after{
	display: none;
}
body main section#service .serviceSlider .slick-dots li.slick-active button{
	background: #c3002f;
}
@media screen and (max-width:1280px){
	body main section#service .serviceSlider .slick-next{
		right: 6vw;
	}
	body main section#service .serviceSlider .slick-prev{
		left: 6vw;
	}
}
@media screen and (max-width:1200px){
	body main section#service .serviceSlider .item div h3{
		font-size: 2vw;
	}
	body main section#service .serviceSlider .item div h3 strong{
		font-size: 3vw;
	}
	body main section#service .serviceSlider .item div p{
		font-size: 1.8vw;
	}
	body main section#service .serviceSlider .item dl dt span{
		font-size: 2vw;
	}
	body main section#service .serviceSlider .item dl dd{
		font-size: 1.8vw;
	}
}
@media screen and (max-width:1100px){
	body main section#service .serviceSlider .slick-next{
		right: 0;
	}
	body main section#service .serviceSlider .slick-prev{
		left: 0;
	}
}
@media screen and (max-width:750px){
	body main section#service{
		padding-top: 26vw;
		padding-bottom: 0;
	}
	body main section#service .bg .set .cover{
		top: 4.4vw;
		height: 74vw;
	}
	body main section#service h2{
		font-size: 6.9vw;
	}
	body main section#service p:not([class]){
		font-size: 3.2vw;
	}
	body main section#service .serviceSlider{
		margin-top: 6vw;
	}
	body main section#service .serviceSlider .item{
		width: 82vw;
		max-width: initial;
		margin: 0 5vw;
	}
	body main section#service .serviceSlider .item div{
		height: auto;
		max-height: initial;
		padding: 4vw;
	}
	body main section#service .serviceSlider .item div img{
		position: static;
		width: 42vw;
		max-width: initial;
		margin: 4vw auto;
	}
	body main section#service .serviceSlider .item div h3{
		margin-bottom: 4vw;
		font-size: 3.2vw;
		text-align: center;
	}
	body main section#service .serviceSlider .item div h3 strong{
		font-size: 5.4vw;
	}
	body main section#service .serviceSlider .item div p{
		font-size: 3.2vw;
	}
	body main section#service .serviceSlider .item dl{
		display: block;
		padding: 4vw;
	}
	body main section#service .serviceSlider .item dl dt span{
		display: inline-block;
		padding: 1vw 4vw;
		font-size: 3.2vw;
	}
	body main section#service .serviceSlider .item dl dd{
		margin: 2vw 0 0;
		font-size: 2.8vw;
	}
	body main section#service .serviceSlider .slick-next{
		width: 3.2vw;
		height: 5.6vw;
		right: 3.2vw;
		top: calc(50% - 2.8vw);
	}
	body main section#service .serviceSlider .slick-next:before{
		border-width: 2.4vw 0px 2.4vw 3.2vw;
		border-color: transparent transparent transparent #fff;
	}
	body main section#service .serviceSlider .slick-prev{
		width: 3.2vw;
		height: 5.6vw;
		left: 3.2vw;
		top: calc(50% - 2.8vw);
	}
	body main section#service .serviceSlider .slick-prev:before{
		border-width: 2.8vw 3.2vw 2.8vw 0px;
		border-color: transparent #fff transparent transparent;
	}
	body main section#service .serviceSlider .slick-dots{
		bottom: -8vw;
	}
	body main section#service .serviceSlider .slick-dots li{
		margin: 0 2vw;
	}
	body main section#service .serviceSlider .slick-dots li button{
		width: 2vw;
		height: 2vw;
		border-radius: 1vw;
	}
}
/******************************************************************************
	#flow
******************************************************************************/
body main section#flow{
	padding-top: 60px;
	text-align: center;
}
body main section#flow .bg .set{
	bottom: auto;
	top: 0;
}
body main section#flow .bg .set .cover{
	top: -85px;
	height: 250px;
	background: rgba(51,51,51,0.9);
}
body main section#flow h2{
	display: inline-block;
	width: 600px;
	padding: 0 0 5px;
	margin: 0 0 90px;
	font-size: 42px;
	border-bottom: #fff 2px solid;
}
body main section#flow ol{
	display: flex;
	justify-content: space-between;
	width: 1100px;
	max-width: 100%;
	margin: 0 auto;
}
body main section#flow ol li{
	position: relative;
	width: 216px;
	max-width: calc(25% - 8px);
	padding: 45px 0 15px;
	background: #fff;
}
body main section#flow ol li:nth-of-type(2n){
	background: #666;
}
body main section#flow ol li:after{
	content: " ";
	position: absolute;
	right: -15px;
	top: calc(50% - 13px);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 0 13px 20px;
	border-color: transparent transparent transparent #c3002f;
	z-index: 3;
}
body main section#flow ol li:first-child:after{
	border-color: transparent transparent transparent #fff;
}
body main section#flow ol li:last-child:after{
	display: none;
}
body main section#flow ol li .label{
	position: absolute;
	right: -20px;
	bottom: calc(50% - 20px);
	width: 34px;
	padding: 35px 0 55px;
	background: #c3002f;
	color: #fff;
	text-align: center;
	font-size: 16px;
	line-height: 120%;
	z-index: 2;
}
body main section#flow ol li h3{
	color: #000;
}
body main section#flow ol li p{
	line-height: 140%;
	color: #000;
}
body main section#flow ol li:nth-of-type(2n) h3,
body main section#flow ol li:nth-of-type(2n) p{
	color: #fff;
}
body main section#flow ol li p.step{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 66px;
	height: 66px;
	left: calc(50% - 33px);
	top: -33px;
	background: #c3002f;
	border-radius: 33px;
	color: #fff;
	font-size: 14px;
}
body main section#flow ol li p.step strong{
	margin: 3px 0 0;
	font-size: 26px;
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#flow ol li figure{
	margin: 20px 0;
}
body main section#flow p.note{
	margin-top: 30px;
}
@media screen and (max-width:750px){
	body main section#flow{
		padding-top: 18vw;
		padding-bottom: 30vw;
	}
	body main section#flow .bg .set .cover{
		top: -13vw;
		height: 47vw;
	}
	body main section#flow h2{
		width: 84vw;
		padding: 0 0 1vw;
		margin: 0 0 10vw;
		font-size: 5.6vw;
	}
	body main section#flow ol{
		display: block;
		width: 70vw;
	}
	body main section#flow ol li{
		width: auto;
		max-width: initial;
		padding: 4vw 2vw 4vw 24vw;
		margin-bottom: 3.2vw;
	}
	body main section#flow ol li:last-child{
		margin-bottom: 0;
	}
	body main section#flow ol li:after{
		content: " ";
		position: absolute;
		right: auto;
		left: calc(50% - 3.5vw);
		top: auto;
		bottom: -4vw;
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 4.8vw 3.5vw 0 3.5vw;
		border-color: #c3002f transparent transparent transparent;
	}
	body main section#flow ol li:first-child:after{
		bottom: -3vw;
		left: calc(50% + 5vw);
		border-width: 2.4vw 1.7vw 0 1.7vw;
		border-color: #fff transparent transparent transparent;
	}
	body main section#flow ol li:last-child:after{
		display: none;
	}
	body main section#flow ol li .label{
		position: absolute;
		display: flex;
		align-items: center;
		right: auto;
		left: calc(50% - 12vw);
		bottom: -4.8vw;
		width: 24vw;
		height: 6vw;
		padding: 0 0 0 6vw;
		background: #c3002f;
		color: #fff;
		text-align: left;
		font-size: 2.8vw;
		z-index: 2;
	}
	body main section#flow ol li h3{
		text-align: left;
	}
	body main section#flow ol li p{
		text-align: left;
		font-size: 2.6vw;
	}
	body main section#flow ol li:nth-of-type(2n) h3,
	body main section#flow ol li:nth-of-type(2n) p{
		color: #fff;
	}
	body main section#flow ol li p.step{
		width: 12vw;
		height: 12vw;
		left: -6vw;
		top: calc(50% - 6vw);
		border-radius: 6vw;
		font-size: 2.8vw;
	}
	body main section#flow ol li p.step strong{
		margin: 0;
		font-size: 4.8vw;
	}
	body main section#flow ol li figure{
		position: absolute;
		left: 8vw;
		top: calc(50% - 6vw);
		width: 12vw;
		height: 12vw;
		margin: 0;
	}
	body main section#flow p.note{
		margin-top: 4vw;
	}
}
/******************************************************************************
	#faq
******************************************************************************/
body main section#faq{
	padding-top: 60px;
	padding-bottom: 160px;
	background: #666;
	text-align: center;
}
body main section#faq .bg .set{
	bottom: auto;
	top: 0;
}
body main section#faq .bg .set .cover{
	top: -55px;
	height: 250px;
	background: #666;
}
body main section#faq .bg .set .line{
	top: -74px;
	background: rgba(109,157,200,0.8);
}
body main section#faq h2{
	display: inline-block;
	width: 600px;
	padding: 0 0 5px;
	margin: 0 0 50px;
	font-size: 42px;
	border-bottom: #fff 2px solid;
}
body main section#faq dl{
	width: 1000px;
	max-width: 100%;
	margin: 30px auto 0;
	text-align: left;
}
body main section#faq dl:first-of-type{
	margin-top: 0;
}
body main section#faq dl dt{
	position: relative;
	display: flex;
	align-items: center;
	height: 128px;
	padding: 0 70px 0 90px;
	background: #fff;
	border-radius: 10px;
	color: #000;
	font-size: 18px;
	transition-duration: 0.3s ;
	cursor: pointer;
}
body main section#faq dl dt:hover{
	opacity: 0.8;
}
body main section#faq dl dt:before{
	content: "Q";
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 28px;
	width: 44px;
	height: 44px;
	background: #c3002f;
	border-radius: 5px;
	color: #fff;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 16px;
}
body main section#faq dl dt span{
	position: absolute;
	display: block;
	right: 32px;
	width: 28px;
	height: 28px;
}
body main section#faq dl dt span:before{
	content: " ";
	position: absolute;
	left: 0;
	top: calc(50% - 2px);
	width: 100%;
	height: 4px;
	background: #c3002f;
	border-radius: 2px;
}
body main section#faq dl dt span:after{
	content: " ";
	position: absolute;
	left: calc(50% - 2px);
	top: 0;
	width: 4px;
	height: 100%;
	background: #c3002f;
	border-radius: 2px;
	transform: rotate(0deg);
	transition-duration : 0.3s ;
}
body main section#faq dl.show dt span:after{
	transform: rotate(90deg);
}
body main section#faq dl dd{
	position: relative;
	display: none;
	padding: 8px 0 0 90px;
	margin: 50px 0 0;
}
body main section#faq dl dd:before{
	content: "A";
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	left: 28px;
	top: 0;
	width: 44px;
	height: 44px;
	background: #fff;
	border-radius: 5px;
	color: #000;
	font-family: ShinGoPro-Bold,sans-serif;
	font-size: 16px;
}
body main section#faq dl dd p,
body main section#faq dl dd table,
body main section#faq dl dd .merit{
	margin-top: 30px;
}
body main section#faq dl dd p:first-of-type{
	margin-top: 0;
}
body main section#faq dl dd p strong{
	font-family: ShinGoPro-Bold,sans-serif;
}
body main section#faq dl dd p a{
	color: #c3002f;
}
body main section#faq dl dd .merit{
	display: flex;
}
body main section#faq dl dd .merit ol{
	position: relative;
	padding: 15px;
	margin: 0 65px 0 0;
	background: #fff;
	border: #ccc 1px solid;
	color: #333;
	font-size: 14px;
}
body main section#faq dl dd .merit ol:before{
	content: " ";
	position: absolute;
	display: inline-block;
	right: -48px;
	top: calc(50% - 25px);
	width: 0;
	height: 0;
	margin: 0;
	border-style: solid;
	border-width: 25px 0px 25px 25px;
	border-color: transparent transparent transparent #8a8a8a;
}
body main section#faq dl dd .merit ul{
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 15px;
	margin: 0 65px 0 0;
	background: #fff;
	border: #c3002f 1px solid;
	color: #c3002f;
	font-size: 14px;
}
body main section#faq dl dd table{
	width: 640px;
	max-width: 100%;
	border-left: #ccc 1px solid;
	border-top: #ccc 1px solid;
}
body main section#faq dl dd table + table{
	margin-top: -1px;
}
body main section#faq dl dd table th{
	box-sizing: border-box;
	padding: 10px;
	border-right: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
	white-space: nowrap;
	font-size: 14px;
	line-height: 120%;
	text-align: center;
}
body main section#faq dl dd table td{
	padding: 10px 15px;
	background: #fff;
	border-right: #ccc 1px solid;
	border-bottom: #ccc 1px solid;
	font-size: 14px;
	line-height: 120%;
	color: #333;
}
body main section#faq dl dd table thead th{
	width: calc(50% - 68px);
}
body main section#faq dl dd table thead th:first-of-type{
	width: 136px;
}
@media screen and (max-width:750px){
	body main section#faq{
		padding-top: 8vw;
		padding-bottom: 24vw;
	}
	body main section#faq .bg .set .cover{
		top: -12vw;
		height: 30vw
	}
	body main section#faq .bg .set .line{
		top: -14.4vw;
	}
	body main section#faq h2{
		width: 84vw;
		padding: 0 0 1vw;
		margin: 0 0 8vw;
		font-size: 5.6vw;
	}
	body main section#faq dl{
		width: 84vw;
		margin: 4vw auto 0;
	}
	body main section#faq dl dt{
		height: 17.6vw;
		padding: 0 9vw 0 12vw;
		border-radius: 1.6667vw;
		font-size: 3.2vw;
		line-height: 140%;
	}
	body main section#faq dl dt:hover{
		opacity: 1;
	}
	body main section#faq dl dt:before{
		left: 3vw;
		width: 6vw;
		height: 6vw;
		border-radius: 1.3333vw;
		font-size: 2.8vw;
	}
	body main section#faq dl dt span{
		position: absolute;
		display: block;
		right: 3vw;
		width: 3.2vw;
		height:3.2vw;
	}
	body main section#faq dl dt span:before{
		top: calc(50% - 1px);
		height: 2px;
		border-radius: 2px;
	}
	body main section#faq dl dt span:after{
		left: calc(50% - 1px);
		width: 2px;
	}
	body main section#faq dl dd{
		padding: 12vw 0 0 4.4vw;
		margin: 0;
	}
	body main section#faq dl dd:before{
		top: 4vw;
		left: 3vw;
		width: 6vw;
		height: 6vw;
		background: #000;
		border-radius: 1.3333vw;
		font-size: 2.8vw;
		color: #fff;
	}
	body main section#faq dl dd p,
	body main section#faq dl dd table,
	body main section#faq dl dd .merit{
		margin-top: 4vw;
		font-size: 3.2vw;
	}
	body main section#faq dl dd .merit{
		display: block;
	}
	body main section#faq dl dd .merit ol{
		padding: 4vw;
		margin: 0 0 6vw;
		font-size: 2.8vw;
	}
	body main section#faq dl dd .merit ol:before{
		right: auto;
		top: auto;
		left: calc(50% - 3.4vw);
		bottom: -5vw;
		border-style: solid;
		border-width: 3.2vw 3.4vw 0 3.4vw;
		border-color: #8a8a8a transparent transparent transparent;
	}
	body main section#faq dl dd .merit ul{
		padding: 4vw;
		margin: 0;
		font-size: 2.8vw;
	}
	body main section#faq dl dd table{
		width: 100%;
	}
	body main section#faq dl dd table th{
		padding: 1vw 2vw;
		font-size: 2.8vw;
	}
	body main section#faq dl dd table td{
		padding: 1vw 2vw;
		font-size: 2.8vw;
	}
	body main section#faq dl dd table thead th{
		width: calc(50% - 11vw);
	}
	body main section#faq dl dd table thead th:first-of-type{
		width: 22vw;
	}
}
/******************************************************************************
	#banner
******************************************************************************/
body main section#banner{
	background: #fff;
	text-align: center;
}
body main section#banner .bg .set{
	bottom: auto;
	top: 0;
}
body main section#banner .bg .set .cover{
	top: -55px;
	height: 250px;
	background: #fff;
}
body main section#banner .bg .set .line{
	top: -74px;
}
@media screen and (max-width:750px){
	body main section#banner{
		padding-top: 8vw;
		padding-left: 6vw;
		padding-right: 6vw;
	}
	body main section#banner .bg .set .cover{
		top: -12vw;
		height: 30vw
	}
	body main section#banner .bg .set .line{
		top: -14.4vw;
	}
}
/******************************************************************************
	#popup
******************************************************************************/
body #popup{
	padding: 75px 0;
	background: transparent;
}
body #popup .inner{
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1000px;
	font-family: ShinGoPro-Regular,sans-serif;
}
body #popup .inner div{
	box-sizing: border-box;
	position: relative;
	width: 480px;
	max-width: calc(50% - 10px);
	padding: 45px 35px min(calc(50vw - 50px),400px);
	background: #eee;
	border-radius: 10px;
	text-align: center;
}
body #popup .inner div p.sub{
	position: relative;
	display: inline-block;
	margin: 0 0 5px;
	font-size: 20px;
	color: #666;
}
body #popup .inner div p.sub:before{
	margin: 0 10px;
	content: "\005C";
	font-family: ShinGoPro-Bold,sans-serif;
}
body #popup .inner div p.sub:after{
	margin: 0 10px;
	content: "/";
	font-family: ShinGoPro-Bold,sans-serif;
}
body #popup .inner div p.note{
	margin: 15px 0 0;
	font-size: 14px;
	text-align: left;
}
body #popup .inner div h3{
	margin: 0 0 30px;
	font-size: 40px;
	color: #c3002f;
}
body #popup .inner div ul{
	text-align: left;
}
body #popup .inner div ul li{
	margin: 15px 0 0;
	color: #333;
	padding: 0 0 0 30px;
	background: url("../img/ico_check.svg") left top 4px no-repeat;
	font-size: 16px;
	list-style-type: none;
}
body #popup .inner div figure{
	position: absolute;
	left: 10px;
	bottom: 10px;
	width: calc(100% - 20px);
	background: #fff;
	border-radius: 0 0 5px 5px;
}
body #popup .fancybox-close-small{
	width: 60px;
	height: 60px;
	padding: 0;
	background: url("../img/ico_close.png") center center no-repeat;
	background-size: contain;
	opacity: 1;
	transition-duration : 0.3s ;
}
body #popup .fancybox-close-small:hover{
	opacity: 0.7;
}
body #popup .fancybox-close-small svg{
	display: none;
}
@media screen and (max-width:750px){
	body #popup{
		padding: 10vw 0 0;
		background: transparent;
	}
	body #popup .inner{
		display: block;
		max-width: initial;
	}
	body #popup .inner div{
		width: auto;
		max-width: initial;
		margin: 0 0 4vw;
		padding: 6vw 6vw 1.2vw;
		border-radius: 10px;
	}
	body #popup .inner div:last-of-type{
		margin: 0;
	}
	body #popup .inner div p.sub{
		margin: 0 0 1vw;
		font-size: 3.4vw;
	}
	body #popup .inner div p.sub:before{
		margin: 0 1.3333vw;
	}
	body #popup .inner div p.sub:after{
		margin: 0 1.3333vw;
	}
	body #popup .inner div p.note{
		margin: 2vw 0 0;
		font-size: 3.2vw;
	}
	body #popup .inner div h3{
		margin: 0 0 4vw;
		font-size: 6.6vw;
	}
	body #popup .inner div ul li{
		margin: 2vw 0 0;
		padding: 0 0 0 6vw;
		background-size: 4vw auto;
		background-position: 0 0.6vw;
		font-size: 3.2vw;
		line-height: 160%;
	}
	body #popup .inner div figure{
		position: static;
		width: auto;
		margin: 8vw -4.8vw 0;
		border-radius: 0 0 1.3333vw 1.3333vw;
	}
	body #popup .fancybox-close-small{
		width: 8vw;
		height: 8vw;
	}
	body #popup .fancybox-close-small:hover{
		opacity: 1;
	}
}
/******************************************************************************
	fixed
******************************************************************************/
body main section.fixed{
	position: fixed;
	bottom: -150px;
	left: 50%;
	width: 100%;
	padding: 20px 0;
	background: rgba(255,255,255,0.5);
	transform: translateX(-50%);
	z-index: 999;
	transition-duration: 0.3s ;
	z-index: 999;
}
body main section.fixed.show{
	bottom: 0;
}
body main section.fixed ul{
	display: flex;
	justify-content: center;
	width: auto;
	margin: 0;
}
body main section.fixed ul li{
	width: 580px;
	margin: 0 5px;
}
body main section.fixed ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 90px;
	background: #000 url("../img/ico_btn_arrow.svg") right 30px center no-repeat;
	border-radius: 45px;
	color: #fff;
	font-size: 1.7143em;
	font-family: ShinGoPro-Regular,sans-serif;
}
body main section.fixed ul li:last-child a{
	background-color: #c3002f;
}
@media screen and (max-width:1240px){
	body main section.fixed{
		bottom: -300px;
	}
	body main section.fixed ul{
		flex-direction: column;
		align-items: center;
	}
	body main section.fixed ul li{
		margin: 0 0 20px;
	}
	body main section.fixed ul li:last-of-type{
		margin-bottom: 0;
	}
}
@media screen and (max-width:750px){
	body main section.fixed{
		bottom: -40vw;
		width: 100%;
		padding: 1.3333vw 0;
	}
	body main section.fixed.show{
		bottom: 0;
	}
	body main section.fixed ul{
		flex-direction: column;
		align-items: center;
	}
	body main section.fixed ul li{
		width: 92vw;
		margin: 0 0 2.6667vw;
	}
	body main section.fixed ul li a{
		box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 16vw;
		background-size: 2.6667vw auto;
		background-position: right 4vw center;
		border-radius: 8vw;
		font-size: 4vw;
		line-height: 180%;
	}
	body main section.fixed ul li a strong{
		font-size: 4.8vw;
	}
	body main section.fixed ul li a span{
		padding: 0.8vw 2vw;
		line-height: 140%;
		font-size: 2.6667vw;
		text-align: center;
	}
	body main section.fixed ul li a span strong{
		font-size: 3.2vw;
	}
}
