@charset "utf-8";
@import url("all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/* CSS Document */

/**************************************************************************************************
CLEARFIX CLASS
**************************************************************************************************/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}


/* LINK
-------------------------------------------------------------------------------------------------*/
a:link,
a:active,
a:visited {
	color : #002aff;
	text-decoration : none;
}
a:hover,
a:focus {
	color : #555;
	text-decoration : none;
}
a:hover img.ov, a:focus img.ov {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/* OUTLINE
-------------------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
body {
	color: #000;
	margin: 0px;
	padding: 0px;
	font: 15px/1.6 "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",Arial, Helvetica,  sans-serif;
	background-color: #f2f2f2;
	-webkit-text-size-adjust: 100%;
}
ul{
	list-style-type: none;
}
img {
	border:none;
	display: inline-block;
	max-width: 100%;
	height: auto;
}
hr {
	height: 0;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #ccc;
}


/* PC SP
-------------------------------------------------------------------------------------------------*/
.pcOnly {
	display: block!important;
}
.spOnly {
	display: none!important;
}


/* HEADER
-------------------------------------------------------------------------------------------------*/
header {
	border-bottom: 6px solid #fa4617;
	padding: 20px 0;
}
header > h1 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	line-height: 1;
}

/* FOOTER
-------------------------------------------------------------------------------------------------*/
footer > div.bg_white > ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 32px 0;
	display: table;
}
footer > div.bg_white > ul > li {
	display: table-cell;
	vertical-align: middle;
}
footer > div.bg_white > ul > li:first-child {
	width: 25%;
}
footer > div.bg_white > ul > li:last-child > span {
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: -0.05em;
}
a.pagetop {
	display: block;
	position: fixed;
	right: 24px;
	bottom: 88px;
	width: 48px;
	height: 48px;
	padding: 0;
	z-index: 1;
}
a.pagetop > i {
	font-size: 48px;
	color: rgba(34,111,193,.8);
}
a.pagetop:hover > i {
	color: rgba(34,111,193,1);
}
.copyright {
	width: 100%;
	padding: 16px 0;
	text-align: center;
	color: #fff;
	background: #4e4e4e;
}
#bottomLink {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 48px;
}
#bottomLink > ul > li {
	display: inline-block;
	margin-right: 2em;
	border-bottom: 1px solid #888787;
}
#bottomLink > ul > li:hover {
	border-bottom: none;
}
#bottomLink > ul >li > a {
	color: #595757;
}
#bottomLink > ul >li > a::before {
	content: '〉〉';
	padding-right: .5em;		
	letter-spacing: -.5em;
	font-size: .8em;
	position: relative;
	bottom: .1em;
}


/* CONTENTS
-------------------------------------------------------------------------------------------------*/
#Contents {
	padding: 48px 0;
}
#smallstartpack{
	width: 100;
	text-align: center;
}
.wrapper {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
h2 {
	font-weight: bold;
	font-size: 6em;
	color: #2e74e0;
	text-align: center;
	line-height: 1.2;
	padding: 0;
}
h3 {
	font-weight: bold;
	font-size: 2.3em;
	text-align: center;
	margin-bottom: 1em;
}
h4 {
	font-weight: normal;
	font-size: 3.3em;
	position: relative;
	display: inline-block;
	margin: 100px 0;
	text-shadow: 0 0 2px white;
}
h4:before {
	content: "";
	position: absolute;
	background: #fff;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: -1;
}
h5 {
	width: 80%;
	max-width: 540px;
	color: #2e74e0;
	margin: 0 auto;
	padding: 0.2em;
	background: #fff;
	border-radius: 0.5em;
	font-size: 2.6em;
	line-height: 1;
}
h5 > span {
	font-size: 0.8em;
}
h6 {
	font-size: 2em;
	color: #2e74e0;
}
#Contents p {
	margin-bottom: 1em;
}
 p.txtBox {
	text-indent: 1em;
}
.bgBox {
	border-radius: 16px;
	padding: 16px;
}

#mainimg {
	width: 100%;
	height: 640px;
	background: url("../../img/mainimage.jpg") center 0 / cover;
	position: relative;
}
#mainimg > div {
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
#maincopy {
	background:linear-gradient(45deg, #2e74e0 0%, #fa4617 20%, #fa4617 20%, #fa4617 100%);
	padding: 6vw 0;
	font-size: 3vw;
	line-height: 2;
	color: #fff;
}
#maincopy > div > span {
	border: .1em solid #fff;
	padding: .2em .5em;
}

a.button {
	display: inline-block;
	line-height: 1;
	margin: 0 auto;
	color: #fff;
	font-size: 3em;
	border-radius: .5em;
}
a.button::after {
	content: '〉〉';
	padding-left: .3em;
	letter-spacing: -.5em;
	font-size: .8em;
	position: relative;
	bottom: .1em;
}
a.button.pd1 {
	padding: .8em 1.2em;
}
a.button.pd2 {
	padding: 1em;
	width: 96%;
	max-width: 850px;
	margin: 0 auto;
	display: block;
}
a.button.blue {
	background: #2e74e0;
}
a.button.blue:hover {
	background: #629af2;
}
a.button.orange {
	background: #fa4617;
}
a.button.orange:hover {
	background: #f96c47;
}

.fukidashi {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: .2em .5em;
	min-width: 8em;
	max-width: 100%;
	color: #2e74e0;
	font-size: 3em;
	font-weight: bold;
	line-height: 1;
	background: #FFF;
	border: solid 5px #2e74e0;
	border-radius: .3em;
	box-sizing: border-box;	
}
.fukidashi:before {
	content: "";
	position: absolute;
	bottom: -35px;
	left: 50%;
	margin-left: -19px;
	border: 19px solid transparent;
	border-top: 19px solid #FFF;
	z-index: 2;
}
.fukidashi:after {
	content: "";
	position: absolute;
	bottom: -48px;
	left: 50%;
	margin-left: -24px;
	border: 24px solid transparent;
	border-top: 24px solid #2e74e0;
	z-index: 1;
}
#intro > dl {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #2e74e0;
	border: 10px solid #2e74e0;
	color: #fff;
	margin-top: 40px;
}
#intro > dl:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#intro > dl > dt {
	-ms-flex-preferred-size: 63.2%;
	flex-basis: 63.2%;
}
#intro > dl > dt > img {
	display: block;
	width: 100%;
	max-width: 632px;
	height: auto;
}
#intro > dl > dd {
	-ms-flex-preferred-size: 36.8%;
	flex-basis: 36.8%;
	padding: 20px;
}
ul#feature {
	width: 100%;
}
ul#feature > li {
	width: 300px;
	height: 300px;
	padding: 20px;
	background: #fff;
	border-radius: 2em;
	display: inline-block;
	margin: 0 14px 28px 14px;
}
ul#feature > li > p {
	font-size: 1.2em;
	margin: 0!important;
}
#step > div {
	width: 100%;
	max-width: 850px;
	margin: 0 auto;
}
#step > div > dl {
	width: 100%;
	display: table;
	margin-top: 24px;
}
#step > div > dl > dt {
	display: table-cell;
	width: 46%;
	text-align: right;
}
#step > div > dl > dd {
	display: table-cell;
	width: 54%;
	vertical-align: top;
	padding: 0 60px 0 24px;
	text-align: left;
	font-size: 1.4em;
}
#step > div > dl > dd > ul span {
	font-size: .8em;
}
#step > div > dl > dd > ul > li {
	background: url("../../img/check.png") no-repeat 0 .2em;
	padding-left: 32px;
	margin: 8px 0;
	min-height: 28px;
}
#step > div > dl > dd > ul.white > li {
	background: url("../../img/check_w.png") no-repeat 0 .2em;
}
#step > div:nth-child(2) {
	background: #c0d5f6;
	padding-top: 40px;
}
#step > div:nth-child(3) {
	background:linear-gradient(to bottom left, #c0d5f6 50%, #abc7f3 50%) top left/ 50% 100% no-repeat,linear-gradient(to bottom right, #c0d5f6 50%, #abc7f3 50%) top right / 50% 100% no-repeat;
	height: 10vw;
}
#step > div:nth-child(4) {
	background: #abc7f3;
	padding-top: 40px;
}
#step > div:nth-child(5) {
	background:linear-gradient(to bottom left, #abc7f3 50%, #77a5eb 50%) top left/ 50% 100% no-repeat,linear-gradient(to bottom right, #abc7f3 50%, #77a5eb 50%) top right / 50% 100% no-repeat;
	height: 10vw;
}
#step > div:nth-child(6) {
	background: #77a5eb;
	color: #fff;
	padding-top: 40px;
}
#step > div:nth-child(7) {
	background:linear-gradient(to bottom left, #77a5eb 50%, #fa4617 50%) top left/ 50% 100% no-repeat,linear-gradient(to bottom right, #77a5eb 50%, #fa4617 50%) top right / 50% 100% no-repeat;
	height: 10vw;
}
#step > div:nth-child(8) {
	background:linear-gradient(to bottom left, #fa4617 50%, #5890e6 50%) top left/ 50% 100% no-repeat,linear-gradient(to bottom right, #fa4617 50%, #5890e6 50%) top right / 50% 100% no-repeat;
	height: 10vw;
	color: #fff;
	padding-top: 10px;
	font-size: 2.6em;
}
#step > div:nth-child(9) {
	background: #5890e6;
	color: #fff;
	padding-top: 40px;
}
#step > div:nth-child(10) {
	background:linear-gradient(to bottom left, #5890e6 50%, transparent 50%) top left/ 50% 100% no-repeat,linear-gradient(to bottom right, #5890e6 50%, transparent 50%) top right / 50% 100% no-repeat;
	height: 10vw;
}
#support {
	width: 100%;
	max-width: 850px;
	margin: 0 auto;
}
#support > div {
	border-left: 5px solid #5890e6;
}
#support > div > p {
	margin-top: 2em;
	font-size: 1.2em;
}
#support > div > ul {
	display: table;
}
#support > div > ul > li {
	display: table-cell;
	vertical-align: middle;
}

#trademark{
	text-align: center;
}

/* CONTACT
-------------------------------------------------------------------------------------------------*/
.form > table {
	width: 100%;
	border: none;
}
.form > table tr,
.form > table th,
.form > table td {
	border: none;
	background: none;
	font-weight: normal;
	text-align: left;
}
.form > table tr {
	border-bottom: 1px solid #ccc;
}
.form > table tr:first-child {
	border-top: 1px solid #ccc;
}
.form > table th {
	padding: 1em 1em 1em 0;
	width: 25%;
}
.form > table td {
	padding: 1em 0;
	width: 75%;
}
.form > table input[type="text"],
.form > table input[type="email"],
.form > table textarea {
	width: 500px;
	padding: .5em;
	margin-right: .5em;
}
.form > table td.name input[type="text"] {
	width: 180px;
}
.form > table input[type="email"] {
	margin-top: .5em;
}
.form > table textarea {
	height: 6em;
}
.form > table label {
	display: inline-block;
	margin-right: 1em;
}
.required {
	display: inline-block;
	padding: .1em .5em;
	background: #f74719;
	color: #fff;
	font-size: 86%;
	margin-left: .5em;
}
.error {
	color:#ff0000;
	font-size: 90%;
	display: block;
}
.form button {
	display: block;
	margin: 16px auto;
	padding: .4em 1em;
	border: none;
	border-radius: 2em;
	background: #226fc1;
	color: #fff;
	font-size: 120%;
	cursor: pointer;
}
.form button:hover {
	background: #5797dc;
}
.form button.return {
	background: #666;
}
.form button.return:hover {
	background: #888;
}
.form button.ck {
	display: inline-block;
}





/* TABLE
-------------------------------------------------------------------------------------------------*/
table {
	border-collapse:collapse;
	font-size: 1em;
	border-spacing: 0;
}
th, td {
	border:1px solid #789cb4;
	padding: .5em 1em;
	word-break:break-all;
}
caption {
	text-align:left;
	font-weight:bold;
	color: #3d7ea9;
	font-size: 1.2em;
}
thead th {
	background:#226fc1;
	color: #fff;
}
thead td {
	background:#bad9fa;
	color: #000;
	text-align:center;
}
tfoot th {
	background:#feffa4;
}
tfoot td {
	background:#ffffdd;
}
tbody th {
	background:#eee;
}


/* COMMON
-------------------------------------------------------------------------------------------------*/
/* TEXT */
.fs72 { font-size:4.8em; }
.fs40 { font-size:2.6em; }
.fs32 { font-size:2.1em; }
.fs24 { font-size:1.6em; }
.fs20 { font-size:1.4em; }
.fs16 { font-size:1.1em; }
.fs12 { font-size:0.9em; }
.fs11 { font-size:0.8em; }
.txt_center { text-align:center !important; }

.bg_white { background: #fff; }

/* -- MARGIN / PADDING --*/
.mar_l0{ margin-left:0px!important; }
.mar_l4{ margin-left:4px!important; }
.mar_l8{ margin-left:8px!important; }
.mar_l12{ margin-left:12px!important; }
.mar_l16{ margin-left:16px!important; }
.mar_l22{ margin-left:22px!important; }
.mar_l24{ margin-left:24px!important; }
.mar_l32{ margin-left:32px!important; }
.mar_l40{ margin-left:40px!important; }
.mar_l48{ margin-left:48px!important; }
.mar_l56{ margin-left:56px!important; }

.mar_r0{ margin-right:0px!important; }
.mar_r4{ margin-right:4px!important; }
.mar_r8{ margin-right:8px!important; }
.mar_r12{ margin-right:12px!important; }
.mar_r16{ margin-right:16px!important; }
.mar_r24{ margin-right:24px!important; }
.mar_r32{ margin-right:32px!important; }
.mar_r40{ margin-right:40px!important; }
.mar_r48{ margin-right:48px!important; }
.mar_r56{ margin-right:56px!important; }

.mar_t0{ margin-top:0!important; }
.mar_t4{ margin-top:4px!important; }
.mar_t8{ margin-top:8px!important; }
.mar_t12{ margin-top:12px!important; }
.mar_t16{ margin-top:16px!important; }
.mar_t24{ margin-top:24px!important; }
.mar_t32{ margin-top:32px!important; }
.mar_t40{ margin-top:40px!important; }
.mar_t48{ margin-top:48px!important; }
.mar_t56{ margin-top:56px!important; }
.mar_t64{ margin-top:64px!important; }
.mar_t80{ margin-top:80px!important; }

.mar_b0{ margin-bottom:0!important; }
.mar_b4{ margin-bottom:4px!important; }
.mar_b8{ margin-bottom:8px!important; }
.mar_b12{ margin-bottom:12px!important; }
.mar_b16{ margin-bottom:16px!important; }
.mar_b24{ margin-bottom:24px!important; }
.mar_b32{ margin-bottom:32px!important; }
.mar_b40{ margin-bottom:40px!important; }
.mar_b48{ margin-bottom:48px!important; }
.mar_b56{ margin-bottom:56px!important; }

.mar_tb0{ margin-top:0!important; margin-bottom:0!important; }
.mar_tb16{ margin-top:16px!important; margin-bottom:16px!important; }
.mar_tb24{ margin-top:24px!important; margin-bottom:24px!important; }
.mar_tb40{ margin-top:40px!important; margin-bottom:40px!important; }
.mar_tb48{ margin-top:48px!important; margin-bottom:48px!important; }

.mar_lrauto { margin-left:auto; margin-right:auto; }

.pad_l0{ padding-left:0px!important; }
.pad_l4{ padding-left:4px!important; }
.pad_l8{ padding-left:8px!important; }
.pad_l12{ padding-left:12px!important; }
.pad_l16{ padding-left:16px!important; }
.pad_l24{ padding-left:24px!important; }
.pad_l32{ padding-left:32px!important; }
.pad_l40{ padding-left:40px!important; }
.pad_l48{ padding-left:48px!important; }
.pad_l56{ padding-left:56px!important; }

.pad_r0{ padding-right:0px!important; }
.pad_r4{ padding-right:4px!important; }
.pad_r8{ padding-right:8px!important; }
.pad_r12{ padding-right:12px!important; }
.pad_r16{ padding-right:16px!important; }
.pad_r24{ padding-right:24px!important; }
.pad_r32{ padding-right:32px!important; }
.pad_r40{ padding-right:40px!important; }
.pad_r48{ padding-right:48px!important; }
.pad_r56{ padding-right:56px!important; }

.pad_t0{ padding-top:0px!important; }
.pad_t4{ padding-top:4px!important; }
.pad_t8{ padding-top:8px!important; }
.pad_t12{ padding-top:12px!important; }
.pad_t16{ padding-top:16px!important; }
.pad_t24{ padding-top:24px!important; }
.pad_t32{ padding-top:32px!important; }
.pad_t40{ padding-top:40px!important; }
.pad_t48{ padding-top:48px!important; }
.pad_t56{ padding-top:56px!important; }

.pad_b0{ padding-bottom:0px!important; }
.pad_b4{ padding-bottom:4px!important; }
.pad_b8{ padding-bottom:8px!important; }
.pad_b12{ padding-bottom:12px!important; }
.pad_b16{ padding-bottom:16px!important; }
.pad_b24{ padding-bottom:24px!important; }
.pad_b32{ padding-bottom:32px!important; }
.pad_b40{ padding-bottom:40px!important; }
.pad_b48{ padding-bottom:48px!important; }
.pad_b56{ padding-bottom:56px!important; }
.pad_b64{ padding-bottom:64px!important; }

.pad_tb8{ padding-top:8px!important; padding-bottom:8px!important; }
.pad_tb20{ padding-top:20px!important; padding-bottom:20px!important; }
.pad_tb40{ padding-top:40px!important; padding-bottom:40px!important; }
.pad_tb48{ padding-top:48px!important; padding-bottom:48px!important; }

.pad_al8 {padding:8px!important; }
.pad_al16 {padding:16px!important; }
