
.topimg{
	font-size: 0;
	line-height: 0;
	margin: 0 0 30px 0;
	padding: 0 20px;
}
.topimg img{
	width: 100%;
	height: auto;
}


/** cmp **/

#cmp{
	text-align: center;
	padding: 0 0 35px 0;
	background: url(img/cmp.png) no-repeat 50% calc(100% - 30px);
	background-size: 300px auto;
}
#cmp h3{
	font-size: 36px;
	font-weight: bold;
	line-height: 44px;
	color: #006c6c;
	margin: 0 0 5px 0;
}
#cmp p:nth-of-type(1){
	font-size: 16px;
	line-height: 22px;
	margin: 0 0 5px 0;
}
#cmp p:nth-of-type(2){
	font-size: 24px;
	font-weight: bold;
	line-height: 46px;
	color: #ff0000;
}
#cmp p:nth-of-type(2) span{	font-size: 40px;}
#cmp p:nth-of-type(3){
	position: relative;
	top: -8px;
	font-size: 16px;
	line-height: 22px;
}


/** sys **/

.sys{
	padding: 30px 50px;
}
#sys1{	background: url(img/sys1.jpg) no-repeat; background-size: cover;}
#sys2{	background: url(img/sys2.jpg) no-repeat; background-size: cover;}

.sys h3{
	text-align: center;
	color: #fff;
	margin: 0 0 20px 0;
}
.sys h3 span{
	display: block;
	font-family: "FontA";
	font-size: 50px;
	line-height: 1.2;
}
.sys h3 em{
	display: block;
	font-size: 16px;
	line-height: 1.2;
}
.sys .toptxt1{
	font-size: 16px;
	line-height: 1.2;
	color: #fff;
	margin: 0 0 10px 0;
}
.sys .toptxt2{
	display: inline-block;
	vertical-align: top;
	font-size: 14px;
	line-height: 18px;
	margin: 0 0 20px 0;
	padding: 4px 15px;
	color: #fff;
	background: #ff3333;
	border-radius: 13px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#sys1 .toptxt2{	border-radius: 34px;}
#sys1 .caution{ margin-bottom: 20px;}
#sys1 .sysbox:last-of-type{	margin-bottom: 0;}

.sysbox{
	margin: 0 0 20px 0;
}
.sysbox h4{
	font-size: 20px;
	line-height: 30px;
	color: #fff;
	margin: 0 0 1px 0;
	padding: 10px 0;
	border-radius: 5px 5px 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.sysbox h4 span{
	display: block;
	font-size: 16px;
	line-height: 20px;
}
.sysbox dl{
	display: table;
	table-layout: fixed;
	width: 100%;
	font-size: 0;
	line-height: 0;
	margin: 0 0 1px 0;
}
.sysbox dt,
.sysbox dd{
	display: table-cell;
	vertical-align: middle;
	font-size: 18px;
	line-height: 20px;
	text-align: center;
	padding: 15px 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.sysbox dt{}
.sysbox dd{	background: #fff;}

.sysbox .boxtxt{
	position: relative;
	font-size: 14px;
	line-height: 20px;
	text-align: left;
	color: #fff;
	margin: 5px 0 0 0;
	padding: 0 0 0 18px;
}
.sysbox .boxtxt span{
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}

.sys .caution{
	text-align: left;
	padding: 20px;
	background: #fff;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.sys .caution ul{
}
.sys .caution li{
	position: relative;
	font-size: 12px;
	line-height: 15px;
	margin: 0 0 5px 0;
	padding: 0 0 0 15px;
}
.sys .caution li span{
	display: inline-block;
	vertical-align: top;
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}

#sys1 .sysbox h4{	background: #00c8c8;}
#sys2 .sysbox h4{	background: #ef933a;}
#sys1 .sysbox dt{	color: #006c6c; background: #dff7f7;}
#sys2 .sysbox dt{	color: #9b5614; background: #fff2e5;}


/** use **/

#use{
	text-align: left;
	padding: 30px 20px;
}
#use .s_title{	margin-bottom: 20px;}
#use ul{
}
#use li{
	position: relative;
	font-size: 14px;
	line-height: 20px;
	margin: 0 0 5px 0;
	padding: 0 0 0 12px;
}
#use li:last-of-type{	margin-bottom: 0;}
#use li:after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #999;
	border-width: 3.5px 0px 3.5px 5px;
	position: absolute;
	top: 6px;
	left: 2px;
}


/** pay **/

#pay{
	padding: 30px 20px;
}
#pay .s_title{	margin-bottom: 20px;}
#pay ul{
	display: flex;
	justify-content: center;
	font-size: 0;
	line-height: 0;
}
#pay li{
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	width: calc(50% - 10px);
	max-width: 230px;
	height: 60px;
	background: #dff7f7;
	border-radius: 2px;
	margin: 0 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#pay li em{
	width: 100%;
	font-size: 16px;
	line-height: 20px;
}
#pay li span{
	font-size: 10px;
	line-height: 18px;
}


/** area **/

#area{
	text-align: left;
	padding: 30px 20px;
	background: #dff7f7;
}
#area .s_title{	margin-bottom: 20px;}
#area h4{
	font-size: 16px;
	font-weight: bold;
	line-height: 24px;
	color: #006c6c;
	margin: 0 0 5px 0;
}
#area div{
	margin: 0 0 20px 0;
}
#area div:last-of-type{	margin-bottom: 0;}
#area p{
	font-size: 14px;
	line-height: 20px;
}


/** flow **/

#flow{
	text-align: left;
	padding: 30px 20px;
	background: #dff7f7;
}
#flow .s_title{	margin-bottom: 20px;}

#flow .flow_in{
	position: relative;
	counter-reset: number 0;
	text-align: left;
	margin: 0 0 20px 0;
}
#flow .flow_in:last-of-type{	margin-bottom: 0;}
#flow .flow_in:after{
	content: "";
	width: 3px;
	height: calc(100% - 30px);
	background: #009994;
	position: absolute;
	top: 30px;
	left: 13px;
}
#flow .flow_in h4{
	font-size: 16px;
	font-weight: bold;
	line-height: 30px;
	color: #006c6c;
	margin: 0 0 20px 0;
	padding: 0 0 0 38px;
	background: url(img/i_flow.png) no-repeat 0 0;
	background-size: 30px auto;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#flow .flbox{
	position: relative;
	margin: 0 0 20px 0;
	padding: 20px 20px 20px 60px;
	background: #fff;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#flow .flbox:before{
	content: "STEP";
	width: 40px;
	font-family: "FontA";
	font-size: 13px;
	font-weight: normal;
	line-height: 20px;
	text-align: center;
	color: #009994;
	position: absolute;
	top: 18px;
	left: 17px;
}
#flow .flbox:after{
	counter-increment: number 1;
	content: "0" counter(number) "";
	width: 40px;
	font-family: "FontA";
	font-size: 28px;
	font-weight: normal;
	line-height: 32px;
	text-align: center;
	color: #009994;
	position: absolute;
	top: 36px;
	left: 17px;
}
#flow .flbox p{
	font-size: 14px;
	line-height: 22px;
	margin: 0 0 10px 0;
}
#flow .flbox p.sub{
	position: relative;
	font-size: 12px;
	line-height: 16px;
	margin: 0 0 10px 0;
	padding: 0 0 0 15px;
}
#flow .flbox p.sub span{
	display: inline-block;
	vertical-align: top;
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}
#flow .flbox p:last-of-type{	margin-bottom: 0;}


/** notes **/

#notes{
	text-align: left;
	padding: 30px 20px;
}
#notes h3{
	font-size: 18px;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
	color: #fff;
	background: #009994;
	border-radius: 20px;
	margin: 0 0 15px 0;
	padding: 10px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#notes h4{
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	color: #006c6c;
	margin: 0 0 5px 0;
}
#notes div{
	margin: 0 0 20px 0;
}
#notes p{
	font-size: 12px;
	line-height: 20px;
	margin: 0 0 15px 0;
}
#notes ul{
	margin: 0 0 15px 0;
}
#notes li{
	position: relative;
	font-size: 12px;
	line-height: 20px;
	margin: 0 0 5px 0;
	padding: 0 0 0 12px;
}
#notes li:after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #999;
	border-width: 3.5px 0px 3.5px 5px;
	position: absolute;
	top: 6px;
	left: 2px;
}
#notes li span{
	display: inline-block;
	vertical-align: top;
	color: #ff0000;
	position: absolute;
	top: 0;
	left: 0;
}
#notes li em{
	position: relative;
	display: inline-block;
	vertical-align: top;
	padding-left: 17px;
}
#notes div:last-of-type,
#notes li:last-of-type,
#notes p:last-child,
#notes ul:last-child{	margin-bottom: 0;}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 750px) {
	.sys{
		padding: 30px 20px;
	}
}
