body,html{
	padding: 0;
	margin: 0;
	color: #333;
}
*{
	box-sizing: border-box;
}
ul,li{
	list-style: none;
	margin: 0;
	padding: 0;
}
#allwrap{
	padding-bottom: 40px;
}
#allwrap,
header,
#flow
{
	width: 800px;
	margin: 0 auto;
}
header{
	padding: 20px 0 12px;
	border-bottom: 4px solid #FD551F;
}
#allwrap{
	border-top: 1px solid #ddd;
	padding-top: 12px;
}
#flow ul{
	width: 100%;
	align-content: stretch;
	margin-top: 12px;
	margin-bottom: 12px;
	display: flex;
}
#flow ul li{
	position: relative;
	width: 100%;
	text-align: center;
	text-indent: 0px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #1CA4FC;
	border-left: none;
	margin-right: 12px;
	color: #555;
	font-weight: bold;
}
#flow ul li.active{
	background-color: #1CA4FC;
	color: #fff;
}
#flow ul li:nth-child(1){
	z-index: 4;
	border-left: 1px solid #1CA4FC;
	border-radius: 2px 0 0 2px;
}
#flow ul li:nth-child(1)>div:before,
#flow ul li:nth-child(1)>div:after{
	display: none;
}
#flow ul li:nth-child(2){
	z-index: 3;
	text-indent: 20px;
	border-right: none;
}
#flow ul li:nth-child(3){
	z-index: 1;
	margin-right: 0;
	border-right: 1px solid #1CA4FC;
	border-radius: 0 2px 2px 0;
}
#flow ul li:nth-child(3):after,
#flow ul li:nth-child(3):before{
	display: none;
}
#flow ul li>div:before,
#flow ul li>div:after,
#flow ul li:before,
#flow ul li:after{
	content: "";
	display: block;
	position: absolute;
	height: 0px;
	width: 0px;
	top: -1px;
	border: 30px solid transparent;
	right: -60px;
	border-left-color: #1CA4FC;
}
#flow ul li>div:after,
#flow ul li:after{
	border-left-color: #fff;
}
#flow ul li:after{
	border: 28px solid transparent;
	border-left-color: #fff;
	top: 1px;
	margin-right: 3px;
	box-shadow: -1px 0 0px 0px #fff;
}
#flow ul li.active:after{
	border-left-color: #1CA4FC;
	box-shadow: -1px 0 0px 0px #1CA4FC;
}

#flow ul li>div:before,
#flow ul li>div:after{
	right: auto;
	left: 0px;
}
#flow ul li>div:after{
	left: -1px;
}


.input_table{
	width: 100%;
}
.input_table,tr,td,th{
	border-collapse: collapse;
	border: 1px solid #ddd;
	text-align: left;
}
.input_table th{
	position: relative;
	width: 240px;
	font-size: 16px;
	font-weight: bold;
	color: #777;
	padding: 8px 12px;
	vertical-align: middle;
	background-color: #dAf0Ff;
}
.input_table th.req{
	background-color: #FFF0F0;
}

.input_table th.table_title:after{
	display: none !important;
}
.input_table th:after{
	position: absolute;
	top: 50%;
	right: 8px;
	height: 20px;
	width: 40px;
	margin-top: -10px;
	content: "任意";
	display: block;
	text-align: center;
	color: #fff;
	line-height: 20px;
	font-weight: bold;
	font-size: 10px;
	border-radius: 3px;
	background-color: #4DA9CD;
}
.input_table th.req:after{
	position: absolute;
	top: 50%;
	right: 8px;
	height: 20px;
	width: 40px;
	margin-top: -10px;
	content: "必須";
	display: block;
	text-align: center;
	color: #fff;
	line-height: 20px;
	font-weight: bold;
	font-size: 10px;
	border-radius: 3px;
	background-color: #FC0D23;
}
.input_table th.osusuth:after{
	content: "オススメ";
	width: 44px;
	background-color: #FC0D23;
}
.input_table td{
	padding: 20px;
	width: 560px;
	font-size: 16px;
	vertical-align: middle;
}
.input_table .table_title{
	width: 100%;
	background-color: #1CA4FC;
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	padding: 12px;
}
.submit_button{
	position: relative;
	border-radius: 100px;
	height: 72px;
	width: 400px;
	border: none;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	display: block;
	margin: 0 auto;
	margin-top: 20px;
	color: #fff;
	font-weight: bold;
	font-size: 24px;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#8ada7f+1,31d54c+100 */
background: rgb(138,218,127); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(138,218,127,1) 1%, rgba(49,213,76,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(138,218,127,1) 1%,rgba(49,213,76,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(138,218,127,1) 1%,rgba(49,213,76,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8ada7f', endColorstr='#31d54c',GradientType=0 ); /* IE6-9 */
cursor: pointer;
}
.submit_button:hover{
	opacity: 0.9;
}
.submit_button>span{
	text-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.input_table+.input_table{
	margin-top: 40px;
}
#ns{
	display: flex;
	width: 100%;
	margin-top: 12px;
}
#ns>a{
	width: 100%;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 6px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#6db3f2+0,54a3ee+50,3690f0+51,1e69de+100;Blue+Gloss+%233 */
background: rgb(109,179,242); /* Old browsers */
background: -moz-linear-gradient(top, rgba(109,179,242,1) 0%, rgba(84,163,238,1) 50%, rgba(54,144,240,1) 51%, rgba(30,105,222,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(109,179,242,1) 0%,rgba(84,163,238,1) 50%,rgba(54,144,240,1) 51%,rgba(30,105,222,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(109,179,242,1) 0%,rgba(84,163,238,1) 50%,rgba(54,144,240,1) 51%,rgba(30,105,222,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6db3f2', endColorstr='#1e69de',GradientType=0 ); /* IE6-9 */
	border-radius: 3px;
	box-shadow: 0 3px 3px rgba(0,0,0,0.2);
	color: #fff;
	text-decoration: none;
}
#ns>a.active{
	box-shadow: 0 0px 1px rgba(0,0,0,0.2);/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e5799+0,2989d8+100 */
background: rgb(30,87,153); /* Old browsers */
background: -moz-linear-gradient(top, rgba(30,87,153,1) 0%, rgba(41,137,216,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(30,87,153,1) 0%,rgba(41,137,216,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#2989d8',GradientType=0 ); /* IE6-9 */

}
#ns>a:first-child{
	margin-left: 0;
}
#ns>a:last-child{
	margin-right: 0;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e2e2e2+0,dbdbdb+50,d1d1d1+51,eaeaea+100 */
background: rgb(226,226,226); /* Old browsers */
background: -moz-linear-gradient(top, rgba(226,226,226,1) 0%, rgba(219,219,219,1) 50%, rgba(209,209,209,1) 51%, rgba(234,234,234,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 51%,rgba(234,234,234,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(226,226,226,1) 0%,rgba(219,219,219,1) 50%,rgba(209,209,209,1) 51%,rgba(234,234,234,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#eaeaea',GradientType=0 ); /* IE6-9 */
	color: #777;
}
#ns>a>span{
	font-weight: bold !important;
	font-size: 16px;
}
.ns_midashi{
	font-size: 14px;
	color: #555;
}
.kazais_wrap{
	display: flex;
	flex-wrap: wrap;
	border: 1px solid #eee;
}
.kazais{
	width: 33.333333%;
	display: flex;
	padding: 8px;
	align-items: center;
	border: 1px solid #eee;
}
.kazais:before{
	content: "";
	display: block;
	height: 52px;
	width: 52px;
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.kazais.nb{
	background-color: #eee;
}
.kazais.nb:before{
	display: none;
}
.kazais:nth-child(1):before{ background-image: url("/kaguimg/01.png"); }
.kazais:nth-child(2):before{ background-image: url("/kaguimg/02.png"); }
.kazais:nth-child(3):before{ background-image: url("/kaguimg/03.png"); }
.kazais:nth-child(4):before{ background-image: url("/kaguimg/04.png"); }
.kazais:nth-child(5):before{ background-image: url("/kaguimg/05.png"); }
.kazais:nth-child(6):before{ background-image: url("/kaguimg/06.png"); }
.kazais:nth-child(7):before{ background-image: url("/kaguimg/07.png"); }
.kazais:nth-child(8):before{ background-image: url("/kaguimg/08.png"); }
.kazais:nth-child(9):before{ background-image: url("/kaguimg/09.png"); }
.kazais:nth-child(10):before{ background-image: url("/kaguimg/10.png"); }
.kazais:nth-child(11):before{ background-image: url("/kaguimg/11.png"); }
.kazais:nth-child(12):before{ background-image: url("/kaguimg/12.png"); }
.kazais:nth-child(13):before{ background-image: url("/kaguimg/13.png"); }
.kazais:nth-child(14):before{ background-image: url("/kaguimg/14.png"); }
.kazais:nth-child(15):before{ background-image: url("/kaguimg/15.png"); }
.kazais:nth-child(16):before{ background-image: url("/kaguimg/16.png"); }
.kazais:nth-child(17):before{ background-image: url("/kaguimg/17.png"); }
.kazais:nth-child(18):before{ background-image: url("/kaguimg/18.png"); }
.kazais:nth-child(19):before{ background-image: url("/kaguimg/19.png"); }
.kazais:nth-child(20):before{ background-image: url("/kaguimg/20.png"); }
.kazais:nth-child(21):before{ background-image: url("/kaguimg/21.png"); }
.kazais:nth-child(22):before{ background-image: url("/kaguimg/22.png"); }
.kazais:nth-child(23):before{ background-image: url("/kaguimg/23.png"); }
.kazais:nth-child(24):before{ background-image: url("/kaguimg/24.png"); }
.kazais:nth-child(25):before{ background-image: url("/kaguimg/25.png"); }
.kazais:nth-child(26):before{ background-image: url("/kaguimg/26.png"); }
.kazais:nth-child(27):before{ background-image: url("/kaguimg/27.png"); }
.kazais:nth-child(28):before{ background-image: url("/kaguimg/28.png"); }
.kazais:nth-child(29):before{ background-image: url("/kaguimg/29.png"); }
.kazais:nth-child(30):before{ background-image: url("/kaguimg/30.png"); }
.kazais:nth-child(31):before{ background-image: url("/kaguimg/31.png"); }
.kazais:nth-child(32):before{ background-image: url("/kaguimg/32.png"); }
.other_kazai{
	width: 100%;
	margin-top: 40px;
}
.other_kazai textarea{
	width: 100%;
	border: 1px solid #aaa;
	height: 120px;
}
h3{
	border-left: 10px solid #1CA4FC;
	padding: 6px 8px;
	font-size: 15px;
	color: #555;
	margin-bottom: 12px;

}



.kazais>div{
	display: flex;
	align-items: center;
	justify-content: center;
}
.kazais>span{
	width: 116px;
	padding: 0 6px 0 10px;
	font-size: 14px;
	word-break: break-all;
}
.kazais>div>input{
	width: 32px;
	height: 32px;
	text-align: center;
	padding: 8px 0;
	background-color: #fff;
}
.kazais>div>input.innum{
	background-color: #ffeeee;
}
.count_button{
	width: 36px;
	height: 36px;
	border-radius: 3px;
	margin: 0 2px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#eeeeee+0,cccccc+100;Gren+3D */
background: rgb(238,238,238); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(238,238,238,1) 0%, rgba(204,204,204,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */

	box-shadow: 0 2px 2px rgba(0,0,0,0.07);
	cursor: pointer;
	color: #666;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.copy{
	padding: 8px 0;
	width: 100%;
	text-align: center;
	color: #555;
}
#exp{
	border: 2px solid #aaa;
	margin: 0 12px;
	padding: 12px;
}
.subex{
	font-size: 12px;
	color: #555;
}
#osuse{
	line-height: 30px;
}
#osuse>b{
	font-weight: bold;
}

.osusu{position: absolute;
    top: 50%;
    right: 8px;
    height: 20px;
    width: 48px;
    margin-top: -10px;
    content: "必須";
    display: block;
    text-align: center;
    color: #fff;
    line-height: 20px;
    font-weight: bold;
    font-size: 10px;
    border-radius: 3px;
    background-color: #ff4411;
	background-color: #ff4411;

}
.gai{
	position: relative;
	display: flex;
	cursor: pointer;
	line-height: normal;
}
.gai:before{
	display: inline-block;
	height: 18px;
	width: 18px;
	margin-right: 4px;
	border-radius: 3px;
	font-weight: bold;
	background-color: #0088ff;
	color: #fff;
	content: "!";
	display: flex;
	align-items: center;
	justify-content: center;
}
.gai a{
	text-decoration: underline;
}
.ttback{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.tt{
	display: none;
	position: absolute;
	font-size: 11px;
	width: 300px;
	height: auto;
	padding: 12px;
	background-color: #FFFED0;
	color: #555;
	border-radius: 3px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.4);
	z-index: 10;
	margin-top: 8px;
	line-height: normal;
}
.tt:before{
	border: 8px solid transparent;
	border-bottom: 12px solid #FFFED0;
	content: "";
	display: block;
	position: absolute;
	top: -16px;
	left: 16px;
}
.ts{
	display: none;
}
.ts:checked+.tt,
.ts:checked+.tt+.ttback{
	display: block;
}



.i100{
	width: 100% !important;
}
.scover{
	position: relative;
	width: auto;
	height: auto;
	display: inline-block;
}
.scover.blo{
	display: block;
}
.scover:after{
	content: "";
	display: block;
	height: 0;
	width: 0;
	border: 6px solid transparent;
	border-top: 8px solid #aaa;
	position: absolute;
	top: 50%;
	right: 8px;
	margin-top: -4px;
}

input[type="email"],
input[type="text"],
input[type="number"],
select{
	margin: 8px 0;
	border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 2px solid #aaa;
	padding: 6px;
	padding-left: 12px;
	padding-right: 28px;
	font-size: 16px;
	width: 100%;
}

label.radio{
	position: relative;
	padding-left: 32px;
	font-size: 16px;
	margin: 4px 0;
	display: block;
}
label.radio input{
	display: none;
}
label.radio span{
	border: #aaa 2px solid;
	left: 0;
	height: 18px;
	width: 18px;
	border-radius: 100px;
	display: block;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
input:checked+span:after{
	display: block;
	content: "";
	position: absolute;
	height: 8px;
	width: 8px;
	background-color: #2AA6F9;
	top: 50%;
	left: 50%;
	border-radius: 100px;
	-webkit-transform: translate( -50%, -50%);
	-ms-transform: translate( -50%, -50%);
	-o-transform: translate( -50%, -50%);
	transform: translate( -50%, -50%);
}
.tels{
	width: auto !important;
}


#ib{
	width: 100%;
	height: auto;display: block;
	max-width: 800px;
	margin: 0 auto;
}