@charset "UTF-8";

#mainContents img.pc,
#mainContents br.pc,
#kiyaku br.pc,
a.linkLinePC,
a.linkPC{
	display: none !important;
}
#mainContents img{
	max-width: 100%;
}
body #mainContents a:hover,
body #mainContents button:hover,
body #mainContents input[type=submit]:hover,
body #mainContents input[type=button]:hover{
	opacity: 1;
}
/******************************************************************************
	common
******************************************************************************/
body #mainContents section{
	width: auto;
	min-width: 320px;
}
body #mainContents section ul.attention li{
	font-size: 3.2vw;
}
body #mainContents .regist{
	margin: 0;
}
body #mainContents .regist ul{
	flex-direction: column;
	width: 92vw;
	margin: 0 auto;
}
body #mainContents .regist ul li{
	position: relative;
	width: auto;
	padding: 0;
}
body #mainContents .regist ul li p.btn{
	width: 92vw;
}
body #mainContents .regist ul li p.btn a{
	background-position: right 4vw center;
	background-size: 2.6667vw auto;
	font-size:4vw;
}
body #mainContents .regist ul li p.before{
	font-size: 3.4667vw;
}
body #mainContents .regist ul li p.before strong{
	font-size: 4.5333vw;
}
body #mainContents .regist ul li p.after{
	margin: 2vw 0 0;
	font-size: 2.6667vw;
}
body #mainContents .regist p.period{
	margin: 0;
	font-size: 3.2vw;
}
body #mainContents .regist p.attention{
	margin: 0 0 4vw;
	font-size: 3.2vw;
}
body #mainContents .regist p.kiyaku{
	margin: 0;
	font-size: 3.2vw;
}
body #mainContents .regist p.before{
	margin: 2vw 0 0;
	font-size: 3.2vw;
}
body #mainContents div.error{
	margin: 4vw;
	padding: 4vw;
	font-size: 3.7333vw;
}
/******************************************************************************
	.header
******************************************************************************/
body #mainContents section.header{
	padding: 8vw 0 12vw;
	background-image: url("../img/bg_kv_sp.jpg");
	background-size: 100% auto;
}
body #mainContents section.header h1{
	width: 100%;
	margin-bottom: 41vw;
}
body #mainContents section.header h1 img{
	width: 100%;
}
body #mainContents section.header .regist{
	margin-bottom: 6vw;
}
body #mainContents section.header p.bnr{
	width: 92vw;
	margin: 0 auto;
}
/******************************************************************************
	.present
******************************************************************************/
body #mainContents section.present{
	padding: 16vw 4vw;
}
body #mainContents section.present h2{
	margin: 0 0 8vw;
	font-size: 8vw;
}
body #mainContents section.present h3{
	width: auto;
	padding: 0 4vw;
	font-size: 3.7333vw;
	line-height: 8vw;
}
body #mainContents section.present h3:after{
	border-width: 0 2.1333vw 2.1333vw 0;
}
body #mainContents section.present .text{
	width: auto;
	padding: 2vw 4vw;
	margin: 0 auto 4vw;
}
body #mainContents section.present .text p{
	font-size: 4.2666vw;
}
body #mainContents section.present .text p.strong{
	font-size: 5.0667vw;
}
body #mainContents section.present .text ul li{
	font-size: 4.2666vw;
}
body #mainContents section.present .text ul.attention{
	margin-top: 2vw;
}
body #mainContents section.present .text ul.attention li{
	font-size: 2.6667vw;
}
body #mainContents section.present .text ul.attention.caution li{
	font-size: 3.2vw;
}
/******************************************************************************
	.needs
******************************************************************************/
body #mainContents section.needs{
	padding: 16vw 0 8vw;
	background-image: url("../img/bg_needs_sp.png");
	background-size: 100% auto;
}
body #mainContents section.needs h2{
	background: linear-gradient(transparent 92%,#112857 0%);
	font-size: 6.4vw;
}
body #mainContents section.needs > p{
	margin: 4vw 0;
	font-size: 3.2vw;
}
body #mainContents section.needs ul.tab{
	margin: 0 0 10vw;
}
body #mainContents section.needs ul.tab li{
	width: 29vw;
	margin: 0 1vw;
	border-radius: 2.6667vw 2.6667vw 0 0;
	line-height: 12vw;
	font-size: 4vw;
}
body #mainContents section.needs .tabInner h3{
	margin: 0 0 8vw;
	font-size: 6.9333vw;
	font-style: italic;
	text-align: center;
}
body #mainContents section.needs .tabInner .imgWrap{
	margin: 0 0 8vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type01{
	right: 4vw;
	bottom: 14vw;
	font-size: 3.4667vw;
	text-shadow: 0 0 2.9333vw rgba(0,0,0,1);
}
body #mainContents section.needs .tabInner .imgWrap p.type02{
	padding: 0 4vw 0 4vw;
	font-size: 4.8vw;
	line-height: 12vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type02:after{
	left: calc(1px - 4vw);
	border-width: 0 0 12vw 4vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type03{
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	height: auto;
	padding: 0;
	background: transparent;
	font-size: 6.9333vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type03:after{
	display: none;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 b{
	position: relative;
	display: block;
	height: 12vw;
	padding: 0 6vw 0 8vw;
	line-height: 12vw;
	background: #00a3e0;
	transform: translateY(0);
}
body #mainContents section.needs .tabInner .imgWrap p.type03 b:first-of-type{
	margin-bottom: 0.6667vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 b:after{
	content: " ";
	position: absolute;
	right: calc(1px - 4vw);
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12vw 4vw 0 0;
	border-color: #00a3e0 transparent transparent transparent;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 strong{
	font-family: ShinGoPro-Bold,sans-serif;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 span{
	font-size: 4.26667vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 sup{
	display: none;
	font-size: 4.26667vw;
}
body #mainContents section.needs .tabInner .imgWrap p.type03 b:last-of-type sup{
	display: inline;
	position: absolute;
	transform: translateY(-2vw);
}


body #mainContents section.needs .tabInner ul.content li{
	display: block;
	max-width: initial;
	width: 92vw;
	margin: 0 auto 8vw;
	padding: 0 0 8vw;
}
body #mainContents section.needs .tabInner ul.content li:last-child{
	margin: 0 auto;
	padding: 0;
	border-bottom: none;
}
body #mainContents section.needs .tabInner ul.content li figure{
	width: 100%;
	margin: 0 0 6vw;
}
body #mainContents section.needs .tabInner ul.content li figure img{
	max-width: 100%;
}
body #mainContents section.needs .tabInner ul.content li .text{
	width: 88vw;
	margin: 0 auto;
}
body #mainContents section.needs .tabInner ul.content li .text h4{
	padding: 0 0 2vw;
	font-size: 5.3333vw;
	border-bottom-width: 0.6667vw;
}
body #mainContents section.needs .tabInner ul.content li .text p{
	margin: 2vw 0 0;
	font-size: 4.2667vw;
}
body #mainContents section.needs .tabInner ul.content li .text ul.attention{
	width: 100%;
	margin: 1vw 0 0;
}
body #mainContents section.needs .tabInner ul.content li .text ul.attention li{
	position: relative;
	padding-left: 1em;
	font-size: 2.4vw;
}
body #mainContents section.needs .tabInner ul.content li .text ul.attention li span{
	position: absolute;
	left: 0;
}
body #mainContents section.needs .tabInner ul.content li:last-child figure{
	order: 2;
}
body #mainContents section.needs .tabInner p.attention{
	box-sizing: border-box;
	width: 88vw;
	margin: 8vw auto 0;
	font-size: 2.4vw;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
}
/******************************************************************************
	.regist.last
******************************************************************************/
body #mainContents .regist.last{
	max-width: initial;
	min-width: initial;
	padding: 8vw 0;
}
body #mainContents .regist.last h2{
	margin: 0 0 2vw;
	font-size: 5.8667vw;
}
/******************************************************************************
	#kiyaku
******************************************************************************/
body .fancybox-content{
	padding: 2.6666vw;
}
body section.kiyaku{
}
body section.kiyaku h2{
	margin: 0 6vw 2.6666vw;
	font-size: 4.8vw;
	text-align: center;
}
body section.kiyaku h3{
	margin: 2.6666vw 0 0.6666vw;
	font-size: 4vw;
	font-weight: bold;
}
body section.kiyaku p{
	margin: 0 0 2.6666vw;
	font-size: 3.2vw;
	line-height: 160%;
	word-break: break-all;
}
body section.kiyaku p.hasBottom{
	margin: 0;
}
body section.kiyaku ul{
	margin: 0 0 2.6666vw;
	padding: 0;
	list-style-type: none;
}
body section.kiyaku p + ul{
	margin-top: -2.6666vw;
}
body section.kiyaku ul li{
	position: relative;
	font-size: 3.2vw;
	word-break: break-all;
	list-style-type: disc;
}
body section.kiyaku ul li ol{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
body section.kiyaku ul li ol li{
	margin: 0;
	list-style-type: none;
}
body section.kiyaku ul li ul li{
	padding: 0;
	list-style-type: disc;
}
body section.kiyaku ol.maru{
	margin: 0 0 2.6666vw;
}
body section.kiyaku ol.maru li{
	font-size: 3.2vw;
}
body section.kiyaku ul.attention{
	margin-top: -2vw;
}
body section.kiyaku ol.maru li ol,
body section.kiyaku ol.maru li ol li ul{
	margin: 0;
	padding: 0;
}
body section.kiyaku ol.maru li ol li ul li{
	margin: 0 0 0 6vw;
}
body section.kiyaku ul.attention li{
	padding: 0 0 0 4vw;
	margin: 0;
	list-style-type: none;
	color: #c3092f;
}
body section.kiyaku ul li span{
	position: absolute;
	left: 0;
}
body section.kiyaku table{
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 2.6666vw;
	font-size: 3.2vw;
	border-top: #ccc 1px solid;
	border-left: #ccc 1px solid;
}
body section.kiyaku table th,
body section.kiyaku table td{
	padding: 0.6666vw 1.3333vw;
	border-bottom: #ccc 1px solid;
	border-right: #ccc 1px solid;
	text-align: center;
}
body section.kiyaku table th{
	background: #fafafa;
}
body section.kiyaku a{
	color : #1897e0;
	text-decoration : underline ;
}
body section.kiyaku a:hover{
	color: #c3002f
}
/******************************************************************************
	#addLink
******************************************************************************/
body #mainContents #addLink{
	padding: 0;
	background: #000;
	font-size: 20px;
}
body #addLink p{
	position: relative;
	margin: 0;
	padding: 20px 15px;
	border-bottom: #4c4c4c 1px solid;
	text-align: left;
}
body #addLink p a{
	background: none;
	position: relative;
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	line-height: 137.5%;
}
body #addLink p a:before{
	border-top: solid 2px;
	content: '';
	display: inline-block;
	height: 0;
	right: 0;
	opacity: 1;
	position: absolute;
	width: 7px;
	color: #c3002f;
	padding: 0;
	margin-top: 0px;
	top: 12px;
	transform: rotate(40deg);
	right: 5px;
}
body #addLink p a:after{
	border-top: solid 2px;
	content: '';
	display: inline-block;
	height: 0;
	right: 0;
	opacity: 1;
	position: absolute;
	width: 7px;
	color: #c3002f;
	padding: 0;
	margin-top: 0px;
	top: 12px;
	transform: rotate(-40deg);
}
