@charset "utf-8";
/* CSS Document */

/* OUTLINE
-------------------------------------------------------------------------------------------------*/
body {
	min-width: 100%;
	font-size: 12px;
}


/* PC SP
-------------------------------------------------------------------------------------------------*/
.pcOnly {
	display: none!important;
}
.spOnly {
	display: block!important;
}

/* HEADER
-------------------------------------------------------------------------------------------------*/
header {
	border-bottom: 4px solid #fa4617;
	padding: 10px 4px 6px;
}
header > h1 > img {
	width: auto;
	height: 28px;
}


/* FOOTER
-------------------------------------------------------------------------------------------------*/
footer > div.bg_white > ul {
	width: 98%;
	padding: 16px 0;
}
footer > div.bg_white > ul > li:first-child {
	padding-right: 8px;
}
@media screen and (max-width: 479px) {
	footer > div.bg_white > ul > li {
		display: block;
		width: 96%!important;
		margin: 0 auto 4px;
	}
}
a.pagetop {
	right: 12px;
	bottom: 132px;
	width: 40px;
	height: 40px;
}
.copyright {
	padding: 8px 0;
}
#bottomLink {
	width: 96%;
	margin: 0 auto 24px;
}


/* CONTENTS
-------------------------------------------------------------------------------------------------*/
#Contents {
	width: 100%;
	padding: 16px 0;
	overflow: hidden;
}
.wrapper {
	width: 96%;
	margin: 0 auto;
}
h2 {
	font-size: 10vw;
}
#mainimg {
	height: 100vw;
}
#mainimg > div {
	top: 90%;
	-moz-transform: translateY(-90%);
	-webkit-transform: translateY(-90%);
	-ms-transform: translateY(-90%);
	transform: translateY(-90%);
}
#mainimg > div > img {
	width: 50vw;
	height: auto;
}
#maincopy {
	font-size: 4vw;
}
a.button {
	font-size: 5vw;
}
.fukidashi {
	font-size: 6vw;
	border: solid 3px #2e74e0;
}
.fukidashi:before {
	bottom: -24px;
	margin-left: -14px;
	border: 14px solid transparent;
	border-top: 14px solid #FFF;
}
.fukidashi:after {
	bottom: -30px;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #2e74e0;
}

#intro > dl {
	display:block;
	width: 96%;
	margin: 0 auto;
	border: 0.2vw solid #2e74e0;
	margin-top: 20px;
}
#intro > dl > dt,
#intro > dl > dd {
	flex-basis: 100%;
	padding: 10px;
}
@media screen and (max-width: 703px) {
	ul#feature > li {
		margin: 0 0 4vw 0;
		padding: 10px;
		max-width: 300px;
		width: 42vw;
		height: 42vw;
	}
	ul#feature > li:nth-child(odd) {
		margin-right: 4%;
	}
}
@media screen and (max-width: 540px) {
	ul#feature > li {
		margin: 0 0 4vw 0;
		max-width: 300px;
		width: 90%;
		height: auto;
	}
	ul#feature > li:nth-child(odd) {
		margin-right: 0;
	}
}
#step > div {
	width: 96%;
}
@media screen and (max-width: 540px) {
	h4 {
		font-size: 2.4em;
		margin: 50px 0;
	}
	h4:before {
		width: 100px;
		height: 100px;
	}
	h5 {
		font-size: 2em;
	}
	#step > div > dl {
		width: 100%;
		display: block;
		margin-top: 12px;
	}
	#step > div > dl > dt {
		display: block;
		width: 100%;
		text-align: center;
	}
	#step > div > dl > dd {
		display: block;
		width: 100%;
		padding: 0 16px 16px 16px;
	}
	#step > div:nth-child(2),
	#step > div:nth-child(4),
	#step > div:nth-child(6),
	#step > div:nth-child(9) {
		padding-top: 20px;
	}
	#step > div:nth-child(8) {
	padding-top: 0;
	font-size: 1.5em;
	}
	h6 {
		font-size: 1.2em;
	}
}
#support > div {
	width: 96%;
	margin: 0 auto;
}
#support > div > ul,
#support > div > ul > li {
	display: block;
	text-align: center;
}




/* CONTACT
-------------------------------------------------------------------------------------------------*/
.form > table,
.form > table tbody,
.form > table tr,
.form > table th,
.form > table td {
	display: block;
	width: 100%!important;
}
.form > table tr {
	border-bottom: 1px solid #ccc;
}
.form > table tr:first-child {
	border-top: 1px solid #ccc;
}
.form > table th {
	padding: 1em 0 .5em 0;
}
.form > table td {
	padding: 0 0 1em 1em;
}
.form > table input[type="text"],
.form > table input[type="email"],
.form > table textarea {
	width: 100%;
}
.form > table td.name input[type="text"] {
	width: 40%;
}


/* COMMON
-------------------------------------------------------------------------------------------------*/
/* TEXT */
.fs72 { font-size:2.2em; }
.fs40 { font-size:1.8em; }
.fs32 { font-size:1.5em; }
.fs24 { font-size:1.3em; }
.fs16 { font-size:1.1em; }

/* -- MARGIN / PADDING --*/
.mar_l4{ margin-left:2px!important; }
.mar_l8{ margin-left:4px!important; }
.mar_l12{ margin-left:6px!important; }
.mar_l16{ margin-left:8px!important; }
.mar_l22{ margin-left:11px!important; }
.mar_l24{ margin-left:12px!important; }
.mar_l32{ margin-left:16px!important; }
.mar_l40{ margin-left:20px!important; }
.mar_l48{ margin-left:24px!important; }
.mar_l56{ margin-left:28px!important; }

.mar_r4{ margin-right:2px!important; }
.mar_r8{ margin-right:4px!important; }
.mar_r12{ margin-right:6px!important; }
.mar_r16{ margin-right:8px!important; }
.mar_r24{ margin-right:12px!important; }
.mar_r32{ margin-right:16px!important; }
.mar_r40{ margin-right:20px!important; }
.mar_r48{ margin-right:24px!important; }
.mar_r56{ margin-right:28px!important; }

.mar_t4{ margin-top:2px!important; }
.mar_t8{ margin-top:4px!important; }
.mar_t12{ margin-top:6px!important; }
.mar_t16{ margin-top:8px!important; }
.mar_t24{ margin-top:12px!important; }
.mar_t32{ margin-top:16px!important; }
.mar_t40{ margin-top:20px!important; }
.mar_t48{ margin-top:24px!important; }
.mar_t56{ margin-top:28px!important; }
.mar_t64{ margin-top:32px!important; }
.mar_t80{ margin-top:40px!important; }

.mar_b4{ margin-bottom:2px!important; }
.mar_b8{ margin-bottom:4px!important; }
.mar_b12{ margin-bottom:6px!important; }
.mar_b16{ margin-bottom:8px!important; }
.mar_b24{ margin-bottom:12px!important; }
.mar_b32{ margin-bottom:16px!important; }
.mar_b40{ margin-bottom:20px!important; }
.mar_b48{ margin-bottom:24px!important; }
.mar_b56{ margin-bottom:28px!important; }

.mar_tb16{ margin-top:8px!important; margin-bottom:8px!important; }
.mar_tb24{ margin-top:12px!important; margin-bottom:12px!important; }
.mar_tb40{ margin-top:20px!important; margin-bottom:20px!important; }
.mar_tb48{ margin-top:24px!important; margin-bottom:24px!important; }

.pad_l4{ padding-left:2px!important; }
.pad_l8{ padding-left:4px!important; }
.pad_l12{ padding-left:6px!important; }
.pad_l16{ padding-left:8px!important; }
.pad_l24{ padding-left:12px!important; }
.pad_l32{ padding-left:16px!important; }
.pad_l40{ padding-left:20px!important; }
.pad_l48{ padding-left:24px!important; }
.pad_l56{ padding-left:28px!important; }

.pad_r4{ padding-right:2px!important; }
.pad_r8{ padding-right:4px!important; }
.pad_r12{ padding-right:6px!important; }
.pad_r16{ padding-right:8px!important; }
.pad_r24{ padding-right:12px!important; }
.pad_r32{ padding-right:16px!important; }
.pad_r40{ padding-right:20px!important; }
.pad_r48{ padding-right:24px!important; }
.pad_r56{ padding-right:28px!important; }

.pad_t4{ padding-top:2px!important; }
.pad_t8{ padding-top:4px!important; }
.pad_t12{ padding-top:6px!important; }
.pad_t16{ padding-top:8px!important; }
.pad_t24{ padding-top:12px!important; }
.pad_t32{ padding-top:16px!important; }
.pad_t40{ padding-top:20px!important; }
.pad_t48{ padding-top:24px!important; }
.pad_t56{ padding-top:28px!important; }
.pad_t64{ padding-top:32px!important; }
.pad_t80{ padding-top:40px!important; }

.pad_b4{ padding-bottom:2px!important; }
.pad_b8{ padding-bottom:4px!important; }
.pad_b12{ padding-bottom:6px!important; }
.pad_b16{ padding-bottom:8px!important; }
.pad_b24{ padding-bottom:12px!important; }
.pad_b32{ padding-bottom:16px!important; }
.pad_b40{ padding-bottom:20px!important; }
.pad_b48{ padding-bottom:24px!important; }
.pad_b56{ padding-bottom:28px!important; }
.pad_b64{ padding-bottom:32px!important; }

.pad_tb8{ padding-top:4px!important; padding-bottom:4px!important; }
.pad_tb20{ padding-top:10px!important; padding-bottom:10px!important; }
.pad_tb40{ padding-top:20px!important; padding-bottom:20px!important; }
.pad_tb48{ padding-top:24px!important; padding-bottom:24px!important; }

.pad_al8 {padding:4px!important; }
.pad_al16 {padding:8px!important; }



