/*----------------------------------------------------------
		 contact
	----------------------------------------------------------*/
		#contact .ttl {
			margin: 0 auto 20px;
		}
		#contact .txt_box p {
			text-align: left;
			width: 82%;
			margin: 0 auto;
			    font-size: 15px;
		}
		#contact .txt_box p.pre {
			margin: 15px auto 10px;
		}
		#contact .txt_box p.pre a {
			color: #e70012;
			font-weight: bold;
		}
		#contact .form {
			position: relative;
			margin: 20px auto;
			text-align: left;
			padding: 0 30px 30px;
			background: #fff;
			border: solid 1px #cccdce;
		}
		#contact .form p.comment {
			width: 100%;
			font-size: 12px;
			text-indent: -1em;
			margin-left: 1em;
			line-height: 1.5;
			margin-bottom: 20px;
		}
		.required::before {
			content: "必須";
			font-weight: bold;
			background: #C72D41;
			color: #fff;
			font-size: 10px;
			padding: 1px 5px 2px 6px;
			border-radius: 5px;
			margin-right: 10px;
			vertical-align: baseline;
		}
		.any::before {
			content: "任意";
			font-weight: bold;
			background: #5194E9;
			color: #fff;
			font-size: 10px;
			padding: 1px 5px 2px 6px;
			border-radius: 5px;
			margin-right: 10px;
			vertical-align: baseline;
		}
		form {
		    position: relative;
		}
		label {
			display: block;
			font-weight: bold;
			margin-top: 25px;
			margin-bottom: 10px;
			line-height: normal;
		}
		label .any {
			margin-bottom: 5px;
		}
		#menuIconLabel {
			display: block;
			font-weight: bold;
			margin-top: 3px; /* ハンバーガーメニュー適正値 */
			margin-bottom: 10px;
			line-height: normal;
		}
		#menuIconLabel .any {
			margin-bottom: 5px;
		}
		input,select,button {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			font-size: 14px;
			color: #212121;
			letter-spacing: 1px;
			padding: 15px 0px 15px 15px;
			border-radius: 10px;
			border: none;
			background-color: #E4E4E4;
			width: 100%;
		}
		input.way + span {
			display: block;
			height: 20px;
		}
		input.way + span.pre {
			margin-bottom: 15px;
		}
		.telcom {
			width: 100% !important;
			font-size: 12px;
			text-align: center !important;
			margin-top: 10px !important;
		}
		button[type="submit"] {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			padding: 1em;
			text-decoration: none;
			background: #e70012;
			color: #FFF;
			border-bottom: solid 5px #BD0312;
			border-radius: 10px;
			font-size: 16px;
			letter-spacing: 2px;
			font-weight: bold;
			border-top: 0;
			border-left: 0;
			border-right: 0;
			display: block;
			width: 80%;
			margin: 30px auto 0;
		}
		input[type="radio"] {
			width: auto !important;
			margin-bottom: -5px;
			padding: 10px;
			position: absolute;
			right: 0;
			border-radius: 5px;
		}
		input[type="radio"]:checked{
			background: url(../../img/check.svg)no-repeat #E4E4E4;
			background-position: 2px 4px;
			background-size: 17px 13px;
		}

.info h2 {
    text-align: center;
    background: #009c79;
    color: #fff;
    padding: 15px 0;
    font-weight: lighter;
    font-size: 2.5rem;
	font-weight: bold;
}

.frow img{
	max-width: 100%;
	max-height: 100%;
	margin: 20px;
}

.nonvisible {
	/* utm_source, utm_campaginの入力項目を擬似的に存在させ、隠すための記述です */
	visibility: hidden;
	position: absolute;
	bottom: 0;
	right: 0;
}
.bold {
	font-weight: bold;
}
.mt {
	margin-top: 20px;
}

/*----------------------------------------------------------
		 thanks
	----------------------------------------------------------*/

.thanksh2 h2{
	font-size: 30px;
  font-size: 3rem;
  position: relative;
  padding: 1.5rem;
  text-align: center;
}
.thanksh2 span{
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
}

.thanksbox{
background-color: #FFFFFF;
    box-shadow: 0px 0px 8px 8px #f8edeb;
    padding: 20px;
    margin: 20px;
    font-size: 25px;
    line-height: normal;
}
