@charset "utf-8";

.mb10{
	margin-bottom: 10px !important;
}
.mb20{
	margin-bottom: 20px !important;
}
.mb30{
	margin-bottom: 30px !important;
}
.mb40{
	margin-bottom: 40px !important;
}

.message p{
	margin-bottom: 30px;
}
main h3{
  margin-bottom: 30px;
}
main  p.leader{
	margin-bottom: 20px;
}
main dl.area{
	border: 1px solid #e6e6e6;
	padding: 18px 30px;
	margin-bottom: 60px;
}
main dl.area dt{
	float: left;
	font-weight: bold;
	font-size: 150% !important;
	margin: 10px 35px 0 0;
}
main dl.area dd{
	float: left;
}
main p.txt{
	color: #009ce7;
	font-size: 190%;
	margin-bottom: 20px;
}
main table + p{
	text-align: center;
	margin-bottom: 20px;
}
main .privacy{
	border: 1px solid #e8e8e8;
	height: 155px;
	padding: 15px 20px;
	margin-bottom: 30px;
}
main .privacy .inner{
	width: 665px;
	margin: 0;
	overflow: auto;
	height: 155px;
	padding-right: 10px;
}
main .privacy dl dt{
	font-weight: bold;
	margin-bottom: 10px;
}
main .privacy dl dd{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 130%;
	margin-top: 3px;
}
main .privacy dl dd:before{
	content: "※";
}
main .privacy p + dl{
	margin-top: 20px;
}
main a[href^="tel:"]{
	text-decoration: none;
	color: #333;
	cursor: default;
}
main a[href^="tel:"]:hover{
	opacity: 1;
}

main .privacy dl {
	border-bottom: 1px dotted #cccccc;
	padding: 15px 0;
	clear: both;
	font-size: 100%;
}

/* error
------------------------------------------------*/
.errorArea{
	background: #fff6f6;
	color: #f00;
	padding: 18px 19px;
	margin: 0 0 30px;
}
.errorArea p{
	font-size: 160%;
	font-weight: bold;
	margin: 0 0 5px;
}
.errorArea ul{
	margin: 0 0 0 2em;
}
.errorArea ul li{
	font-size: 130%;
	list-style: disc;
	margin: 2px 0 0;
}
.g-recaptcha div {
	margin: 0 auto 30px auto;
}
table tr.error th{
	background: #fff6f6;
}
table tr.error td{
	background: #fff;
}
table tr.error p.error{
	color: #dd0000;
	font-size: 80%;
	margin-top: 5px;
}
table tr.error  td.name p.error{
	margin-left: 37px;
}
table tr.error input,
table tr.error textarea,
table tr.error span.select01{
	border-color: #f8bdbd !important;
}

/* form
------------------------------------------------*/
table{
	width: 100%;
	border-top: 1px dotted #ccc;
	margin: 0 0 50px;
}
table th{
	width: 245px;
	padding: 20px;
	border-bottom: 1px dotted #ccc;
	vertical-align: middle;
	text-align: left;
	background: #f6f6f6;
	box-sizing: border-box;
	font-weight: bold;
	font-size: 150% !important;
}
table th div{
	position: relative;
}
table td{
	padding: 20px;
	border-bottom: 1px dotted #ccc;
	box-sizing: border-box;
	vertical-align: middle;
}
table td div{
	margin: 17px 0 0;
}
table td div:first-child{
	margin: 0;
}
table td b{
	width: 95px;
	color: #555;
}
table td b{
	display: inline-block;
}
table td b + p{
	display: inline-block;
	width: 325px;
}
table td p.postcode{
	font-size: 100%;
}
table th span,
table td b span{
	background: #e20000;
	color: #fff;
	font-size: 60%;
	padding: 0 5px;
	vertical-align: middle;
	font-weight: normal;
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -8px;
}
table th em{
	display: block;
	font-size: 80%;
	text-indent: -1em;
	padding-left: 1em;
	font-style: normal;
	font-weight: normal;
}
table th em.normal{
	font-weight: bold;
}
table th b{
	font-size: 80%;
}

/* name */
table td.name p span{
	width: 38px;
	display: inline-block;
	font-size: 70%;
	font-weight: bold;
}
table td.name input[type="text"]{
	margin-right: 15px;
}

/* attention */
table th span.attention{
  display: block;
  color: #000;
  background: none;
  font-weight: normal;
  font-size: 85%;
  margin: 0;
  padding: 12px 0 0 12px;
  text-indent: -1em;
	line-height: 1.4em;
}

/* text */
table td input[type="text"], table td input[type="tel"], table td input[type="email"]{
	height: 40px;
	width: 140px;
	padding: 0 10px;
	background: #fff;
	border: 1px solid #e8e8e8;
}
table td input.size01{
	width: 80px;
}
table td input.size02{
	width: 100px;
}
table td input.size03{
	width: 100%;
}

/* select */
table td select{
	cursor: pointer;
	padding: 9px 10px;
	border: 1px solid #e8e8e8;
	background: #fff;
	width: 230px;
}

/* textarea */
table td textarea{
	padding: 10px;
	background-color: #fff;
	border: 1px solid #e8e8e8;
	line-height: 1.5em;
	resize: none;
	width: 100%;
	box-sizing: border-box;
	font-family : inherit;
	font-size: 100%;
	height: 180px;
}
ul.checkBoxWrap{
	display: block;
	letter-spacing: -0.4em;
	text-align: left;
}
ul.checkBoxWrap>li{
	display: inline-block;
	letter-spacing: normal;
	width: 50%;
	font-size: 85%;
	vertical-align: top;
}
ul.checkBoxWrap input{
	border: 1px solid #e8e8e8;
	-webkit-appearance: checkbox;
  -moz-appearance: checkbox;
}
ul.checkBoxWrap02{
	display: block;
	letter-spacing: -0.4em;
	text-align: left;
}
ul.checkBoxWrap02>li{
	display: inline-block;
	letter-spacing: normal;
	width: 25%;
	font-size: 90%;
	vertical-align: top;
}
ul.checkBoxWrap02 input{
	border: 1px solid #e8e8e8;
	-webkit-appearance: checkbox;
  -moz-appearance: checkbox;
}

/* reset */
p.reset input{
	background: #e6e6e6;
	border-radius: 4px;
	padding: 15px;
	width: 250px;
	margin: 0 auto;
	display: block;
	cursor: pointer;
}

/* confirm */
p.confirm input{
	border-radius: 4px;
	padding: 15px;
	width: 310px;
	margin: 0 auto;
	display: block;
	color: #fff;
	margin-bottom: 20px;
	font-size: 115%;
	cursor: pointer;
	background: #009ce7 url(../../img/common/icon_arrow01.png) no-repeat 240px center;
}
p.reset input:hover,
p.confirm input:hover{
	opacity: 0.8;
}

/* autoBtn */
.autoBtn{
	display: inline-block;
	background: #009ce7;
	font-size: 85%;
	color: #fff;
	padding: 12px 14px 11px;
	border-radius: 4px;
	line-height: 1;
	margin-left: 18px;
	cursor: pointer;
}
.autoBtn:hover{
	opacity: 0.8;
}

/* placeholder */
::-webkit-input-placeholder{
	color: #a5a5a5;
}
:-ms-input-placeholder{
	color: #a5a5a5;
}
::-moz-placeholder{
	color: #a5a5a5;
}

/* customSelect
------------------------------------------------*/
table td span.select01{
	width: 230px;
	height: 40px;
	line-height: 40px;
	background: url(../../img/common/icon_select.png) right 14px center no-repeat;
	background-size: 12px;
	text-align: left;
	border: 1px solid #e8e8e8;
	padding: 0 10px;
	font-size: 65%;
}

/* confirm
------------------------------------------------*/
.confirm .reset input{
	background: url(../../img/common/icon_arrow09.png) no-repeat 45px center #e6e6e6;
}

/* end
------------------------------------------------*/
.end dl.thanks{
	text-align: center;
	margin: 50px 0;
}
.end dl.thanks dt{
	font-size: 230% !important;
	font-weight: normal;
	margin: 0 0 30px;
}
.end dl.thanks dt span{
	color: #009de4;
	display: block;
	font-size: 110%;
}
.end dl.thanks dd{
	line-height: 2;
}
.end p.toTop{
	text-align: center;
}
.end p.toTop a{
	position: relative;
	display: inline-block;
	padding: 16px 70px 13px;
	color: #fff;
	font-size: 120%;
	text-decoration: none;
	border-radius: 3px;
	background: #009ce7;
}
.end p.toTop a span{
	background: url(../../img/common/icon_arrow13.png) no-repeat left center;
	padding-left: 25px;
}

/* adressBox
------------------------------------------------*/
.adressBox {
	padding: 15px;
	border: 2px solid #009de4;
	margin-bottom: 2em;
}
.adressBox dl dt {
	font-weight: bold;
	float: left;
	margin-right: 15px;
}


@media screen and (min-width:768px){
	
}

@media screen and (max-width:767px){
	.message p{
		margin-bottom: 20px;
	}
	main h3{
		margin-bottom: 25px;
	}
	main  p.leader{
		margin-bottom: 20px;
	}
	main dl.area{
		border: 1px solid #e6e6e6;
		padding: 10px 15px;
		margin-bottom: 30px;
	}
	main dl.area dt{
		font-weight: bold;
		font-size: 150% !important;
		margin-bottom: 5px;
	}
	main p.txt{
		color: #009ce7;
		font-size: 190%;
		margin-bottom: 15px;
	}
	main table + p{
		text-align: center;
		margin-bottom: 20px;
	}
	
	main p.txt{
		color: #009ce7;
		font-size: 190%;
		margin-bottom: 20px;
	}
	main table + p{
		text-align: center;
		margin-bottom: 20px;
	}
	main .privacy{
		border: 1px solid #e8e8e8;
		height: 180px;
		overflow: hidden;
		padding: 10px 10px 10px 0;
		margin-bottom: 30px;
	}
	main .privacy .inner{
		width: 90%;
		margin: 0;
		height: 180px;
	}
	main .privacy dl dt{
		font-weight: bold;
		margin-bottom: 10px;
	}
	main .privacy dl dd{
		text-indent: -1em;
		padding-left: 1em;
		font-size: 130%;
		margin-top: 3px;
	}
	main .privacy dl dd:before{
		content: "※";
	}
	main .privacy p + dl{
		margin-top: 20px;
	}
	
	/* error
	------------------------------------------------*/
	.errorArea{
		background: #fff6f6;
		color: #f00;
		padding: 18px 19px;
		margin: 0 0 30px;
	}
	.errorArea p{
		font-size: 160%;
		font-weight: bold;
		margin: 0 0 5px;
	}
	.errorArea ul{
		margin: 0 0 0 2em;
	}
	.errorArea ul li{
		font-size: 130%;
		list-style: disc;
		margin: 2px 0 0;
	}
	table tr.error th{
		background: #fff6f6;
	}
	table tr.error td{
		background: #fff;
	}
	table tr.error p.error{
		color: #dd0000;
		font-size: 100%;
		margin-top: 5px;
		font-weight: bold;
	}
	table tr.error  td.name p.error{
		margin-left: 12.5%;
	}
	table tr.error input,
	table tr.error span.select01{
		border-color: #f8bdbd !important;
	}
	
	/* form
	------------------------------------------------*/
	table{
		width: 100%;
		border: none;
	}
	table th{
		display: block;
		width: auto;
		padding: 12px 15px;
		vertical-align: top;
		text-align: left;
		background: #f6f6f6;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	table th div{
		position: relative;
	}
	table td{
		width: auto;
		display: block;
		padding: 20px 10px !important;
		border-bottom: none !important;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	table td div{
		margin: 17px 0 0;
	}
	table td div:first-child{
		margin: 0;
	}
	table td b{
		color: #555;
		margin-bottom: 5px;
	}
	table td b,
	table td b + p{
		display: block;
		width: auto;
	}
	table th span,
	table td b span{
		color: #f00;
	}
	table td p.postcode{
		font-size: 100%;
	}
	table th em{
		display: block;
		font-size: 80%;
		text-indent: -1em;
		padding-left: 1em;
		font-style: normal;
		font-weight: normal;
	}
	table th em.normal{
		display: inline-block;
		font-weight: bold;
		margin-left: 10px;
	}
	
	/* name */
	table td.name p{
		font-size: 110%;
	}
	table td.name p span{
		display: inline-block;
		margin-bottom: 5px;
		width: 13%;
	}
	table td.name input[type="text"]{
		margin-bottom: 15px;
		width: 87%;
	}
	table td.name input[type="text"]:last-child{
		margin-bottom: 0;
	}
	
	/* attention */
	table th span.attention{
	  display: block;
	  color: #000;
	  background: none;
	  font-weight: normal;
	  font-size: 85%;
	  margin: 0;
	  padding: 12px 0 0 12px;
	  text-indent: -1em;
		line-height: 1.4em;
	}
	
	/* text */
	table td input[type="text"],
	table td input[type="tel"],
	table td input[type="email"]{
		width: 100%;
		height: 54px;
		padding: 5px 10px;
		border: 1px solid #e1e1e1;
		box-sizing: border-box;
		font-size: 16px;
		margin-right: 0;
	}
	table td input.size01{
		width: 63px;
	}
	table td input.size02{
		width: 26%;
	}
	table td input.size03{
		width: 100%;
	}
	table td.name input[type="text"]{
		margin-right: 0;
	}
	
	/* select */
	table td select{
		padding: 6px;
		border: 1px solid #ccc;
		background: #fafafa;
		width: 100% !important;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		background: url(../../img/common/icon_select.png) right 14px center no-repeat;
		background-size: 13px;
		position: static !important;
		opacity: 1 !important;
	}
	
	/* textarea */
	table td textarea{
		padding: 8px 5px;
		background-color: #fff;
		border: 1px solid #e6e6e6;
		line-height: 1.5em;
		width: 100%;
		resize: none;
		font-size: 16px;
		box-sizing: border-box;
		font-family : inherit;
		border-radius: 0;
		height: 200px;
		-webkit-appearance: none;
	}
	
	/* reset */
	p.reset input{
		background: #e6e6e6;
		border-radius: 2px;
		padding: 15px;
		width: 70%;
		margin: 0 auto;
		display: block;
		font-size: 115%;
	}
	
	/* confirm */
	p.confirm input{
		border-radius: 2px;
		padding: 15px;
		width: 90%;
		margin: 0 auto;
		display: block;
		color: #fff;
		margin-bottom: 20px;
		font-size: 115%;
		background: #009ce7 url(../../img/common/sp/icon_arrow03.png) no-repeat right 18% center;
		background-size: 8px auto;
	}
	
	/* autoBtn */
	.autoBtn{
		display: inline-block;
		background: #009ce7;
		font-size: 100%;
		color: #fff;
		padding: 15px 5px;
		border-radius: 2px;
		line-height: 1;
		width: 100px;
		text-align: center;
		margin-left: 10px;
	}
	
	/* customSelect
	------------------------------------------------*/
	table td span.select01{
		display: none !important;
		width: 100%;
		height: 54px;
		line-height: 54px;
		background: url(../../img/common/icon_select.png) right 14px center no-repeat;
		background-size: 13px;
		text-align: left;
		border: 1px solid #e8e8e8;
		padding: 0 10px;
		font-size: 16px;
		box-sizing: border-box;
	}
	table td span.select01>span{
		width: 100% !important;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	/* confirm
	------------------------------------------------*/
	.confirm .reset input{
		background: url(../../img/common/sp/icon_arrow07.png) no-repeat 25px center #e6e6e6;
		background-size: 7px auto;
	}
	
	/* end
	------------------------------------------------*/
	.end dl.thanks{
		text-align: center;
		margin: 20px 0;
	}
	.end dl.thanks dt{
		font-size: 180% !important;
		font-weight: normal;
		margin: 0 0 15px;
	}
	.end dl.thanks dt span{
		color: #009de4;
		display: block;
		font-size: 110%;
	}
	.end dl.thanks dd{
		line-height: 1.8;
	}
	.end p.toTop{
		text-align: center;
	}
	.end p.toTop a{
		position: relative;
		display: inline-block;
		padding: 16px 70px 13px;
		color: #fff;
		font-size: 120%;
		text-decoration: none;
		border-radius: 3px;
		background: #009ce7;
	}
	.end p.toTop a span{
		background: url(../../img/common/sp/icon_arrow08.png) no-repeat left center;
		background-size: 8px auto;
		padding-left: 25px;
	}
	
	
	/* adressBox
	------------------------------------------------*/
	.adressBox {
		padding: 15px;
		border: 2px solid #009de4;
		margin-bottom: 2em;
	}
	.adressBox dl dt {
		font-weight: bold;
		margin-bottom:5px;
	}
}