#contact #h2_img {
	background-image: url(../img/contact_h2.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
#contact .h2_text {
text-shadow:
    white 1px 1px 2px, white -1px 1px 2px,
    white 1px -1px 2px, white -1px -1px 2px;
}
/*h3*/
.h3_contact {
    text-align: center;
    padding-top: 30px;
    padding-bottom: 50px;
    margin: 0 auto;
}
.h3_contact .heading03 {
	display: inline-block;
}
#contact h4 {
	margin-top:40px;
	margin-bottom:20px;
}
/*contact*/
.content_inner {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-around;
	padding: 0 20px;
}
#formWrap_left{
	width:35%;
	padding-right: 2%;
    border-right: 1px solid #000;
}
#formWrap {
	width:50%;
	max-width:1000px;
	margin:0 auto;
	color:#000;
	line-height:120%;
	font-size:1.2em;
}

table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	width:100%;
}
table.formTable th{
	width:100%;
	font-weight:bold;
	text-align:left;
	vertical-align: middle;
	padding: 2em 0px 0.5em;/* 上 | 左右 | 下 */
}
table.formTable tr:first-child th{
	/*border-top:1px solid #eee;*/
}
table.formTable tr:first-child td{
	/*border-top:1px solid #eee;*/
}

table.formTable th, table.formTable td {
	display:block;
}

.mail_main {
	text-align:center;
}
.mail_main_text{
	margin-top:2em;
}
.mail_main_text, .mail_main_text_end{
	font-size: 1.2em;
	line-height:1.5em;
	margin-bottom:2em;
}
.mail_main_text_end {
	margin-top:50px;
	margin-bottom:150px;
}
p.error_messe{
	font-size: 1.2em;
	margin:15px 0;
	color:red;
}
/*ボタン*/
.form_bottom {
	margin-top: 2em;
	margin-bottom: 50px;
	text-align:center;
}
.form_bottom input {
  width:180px;
  height: 50px;
  cursor: pointer;
  border: none;
  

    background: #eee;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
}
.form_bottom input:hover {
    background: #313131;
    background-image: linear-gradient(135deg, #000 0%, #666 100%);
    color: #FFF;
}
/*必須*/
.required {
}
.required::before {
	content: "必須";
	color: #fff;
	font-size: 0.8em;
	padding: 0.3em;
	/*border-radius: 0.5em;*/
	margin-right:0.3em;
    display: inline-block;
	font-weight:normal;
	background: #000;
}
.normal::before {
	content: "任意";
	color: #000;
	font-size: 0.8em;
	padding: 0.3em;
	/*border-radius: 0.5em;*/
	margin-right:0.3em;
    display: inline-block;
	font-weight:normal;
	background: #F9F9F9;
    border: 1px solid #000;
}
.normal{
}
.kome {
	font-size: 0.8em;
}
/*input*/
::placeholder {
  color: #ccc;
}
.m-form-text {
    height: 2.4em;
    width: 100%;
    padding: 0 16px;
    /*border-radius: 4px;*/
    border: 1px solid #000;
    /*box-shadow: 0 0 0 1px #ccc inset;*/
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.m-form-text_half {
    width: 80%;
}
.m-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
    border:none;
}
.m-form-select {
    position: relative;
}

.m-form-select:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 12px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(135deg);
    pointer-events: none;
}

.m-form-select select {
    height: 2.4em;
    width: 100%;
    padding: 0 8px;
    /*border-radius: 4px;*/
    border: 1px solid #000;
    /*box-shadow: 0 0 0 1px #ccc inset;*/
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

.m-form-select select::-ms-expand {
    display: none;
}

.m-form-select select:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
    border:none;
}
.m-form-item-textarea textarea {
    height: 300px;
}

.m-form-textarea {
    display: block;
    width: 100%;
    padding: 4px 16px;
    /*border-radius: 4px;*/
    border: 1px solid #000;
    /*box-shadow: 0 0 0 1px #ccc inset;*/
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
}

.m-form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
    border:none;
}
/*================================================
 *  thanks
 ================================================*/
#thanks #h2_img {
  height: 300px;
}
#thanks .h2_center {
    top: auto;
    bottom: 5%;
    left: 50%;
    transform: none;
    transform: translateX(-50%);
}
#thanks .h2_text {
    font-size: 1rem;
}
#thanks .h2_text h2 {
    font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
	/* 1024px以下に適用されるCSS（タブレット用） */

	#formWrap_left{
		width:95%;
		padding-right: 0%;
	    border-right: none;
	}
	#formWrap {
		width:95%;
		margin:0 auto;
	}
	table.formTable th, table.formTable td {
		width:auto;
	}
	table.formTable th {
		margin-top:5px;
		border-bottom:0;
		padding: 1em 10px 0em;/* 上 | 左右 | 下 */
	}
	table.formTable td {
		padding: 0em 10px 1em;/* 上 | 左右 | 下 */
	}

	.m-form-text_half {
	    width: 80%;
	}
	form input[type="text"], form textarea {
		width:80%;
		padding:5px;
		font-size:110%;
		display:block;
	}
	form input[type="submit"], form input[type="reset"], form input[type="button"] {
		display:block;
		width:50%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5px;
	}


	.mail_main_text, .mail_main_text_end{
		font-size: 1.2em;
	}
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（スマホ用） */
	.m-form-text_half {
	    width: 100%;
	}
	form input[type="text"], form textarea {
		width:100%;
		padding:5px;
		font-size:110%;
		display:block;
	}
}

