	
#form table tr th em {
	position: relative; 
    width: 100%;
    display: inline-block;
    text-align: left;
}
#form table tr th.required:after {
	content: '必須';
	display: block;
	background: #f00;
	color: #fff;
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 1;
	padding: 0.375rem;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translate(0,-50%);
}
#form table tr td .text{ width: 100%; }
#form table tr td .text_date { width: auto; }

@media screen and (min-width:768px) {
	#form {
		width:100%;
		padding:0 2.5rem 2.5rem;
		background:#fff;
	}
	
	#form table {
		border-collapse: separate;
		border-spacing:0;
		width:100%;
	}
	
	#form table tr th {
		position:relative;
		padding-right:3rem;
		width:28%;
		font-size:1rem;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		box-sizing:border-box;
		vertical-align:middle;
		border-bottom:1px solid #ccc;
	}
	#form table tr:last-child th { border-bottom:none; }
	
	#form table tr th span {
		float:right;
		display:block;
		background:#edb5c4;
		color:#fff;
		font-size:0.8rem;
		text-align:center;
		width:2.5rem;
		height:20px;
		line-height:20px;
		border-radius:2px;
	}
		
	#form table tr th.err { color:#900; }
		
	#form table tr td span.err_msg {
		display:block;
		color:#900;
	}
	
	#form table tr td span.interview {
		display:none;
		color:#900;
	}
	#form table tr td span.interview.err {
		display:block;
		color:#900;
	}
	
	#form table tr td {
		width:72%;
		box-sizing:border-box;
		padding:5px 0 5px 5px;
		border-bottom:1px solid #ccc;
	}
	
	#form table tr:last-child td { border-bottom:none; }
		
	#form table tr td img {
		width:300px;
		height:auto;
	}
	
	#form table tr td p {
		margin-top:10px;
		font-size:0.85rem;
		line-height:2;
	}
	
	#form table tr td dl { display:table; }
	
	#form table tr td dl dd {
		padding-right:50px;
		display:table-cell;
		text-align:left;
		vertical-align:middle;
	}
	
	#form table tr td dl dd select { margin-top:5px; }
	
	#form table tr td input,
	#form table tr td select,
	#form table tr td textarea {
		border:1px solid #ccc;
		padding:0.7rem;
		border-radius:5px;
	}
	
	#form table tr td textarea {
		height:200px;
	}
	
	#form table tr td select,
	#form table tr td input[type="checkbox"] { cursor:pointer; }
	
	#form table tr td input[type="file"] {
		padding:0;
		border:none;
		cursor:pointer;
	}
		
	#form table tr td input.err,
	#form table tr td textarea.err,
	#form table tr td select.err { margin:0 0 10px; }
		
	#form table tr td input.err,
	#form table tr td textarea.err,
	#form table tr td select.err { margin:0 0 10px; }
	
	.notselect {
		visibility:hidden;
	}
	
	/*チェックボックス*/
	
	label input{ display: none; }
	label span{
	  padding-left: 1.25rem;
	  position:relative;
	  margin-right: 1.25rem;
	}
	label span::before{
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 15px;
	  height: 15px;
	  border: 1px solid #999;
	  border-radius: 4px;
	}
	label input:checked + span::after{
	  content: "";
	  display: block;
	  position: absolute;
	  top: -5px;
	  left: 5px;
	  width: 7px;
	  height: 14px;
	  transform: rotate(40deg);
	  border-bottom: 3px solid #ff7ba6;
	  border-right: 3px solid #ff7ba6;
	}
	
	/*ボタン部分*/
	
	#form div#submit { text-align:center; }
	
	#form div#submit input {
		display:inline-block;
		margin:0 1.25rem;
		width:15rem;
		height:3rem;
		background:#45b2b3;
		color:#fff;
		font-size:1rem;
		letter-spacing:2px;
		text-align:center;
		line-height:3rem;
		transition: all .3s ease;
		border: none;
		outline: none;
	}
	#form div#submit input:hover { opacity:0.8; }
	
	#form div#submit a {
		display:inline-block;
		margin:0 1.25rem;
		width:15rem;
		height:3rem;
		background:#999;
		color:#fff;
		font-size:1rem;
		letter-spacing:2px;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		text-align:center;
		text-decoration:none;
		line-height:3rem;
		transition: all .3s ease;
	}
	#form div#submit a:hover { opacity:0.8; }
	
	
	/*送信完了ページ*/
	
	#thanks {
		padding:2.5rem;
		background:#fff;
		text-align:center;
	}
	
	#thanks br {}
	
	#thanks p {
		padding:1rem 0 2.5rem;
		color:#900;
	}
	#thanks p.caution a { color:#333; }
	
	#thanks div#hurry {
		padding:1.25rem;
		border:3px solid #eee;
	}
	#thanks div#hurry div {
		margin-top:1.25rem;
		text-align:center;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		font-size:2rem;
		font-weight:bold;
	}
	#thanks div#hurry div span {
		display:block;
		font-size:1.6rem;
		font-weight:bold;
	}
}


@media screen and (max-width:767px) {
	#form {
		padding:0 2rem 2rem;
		background:#fff;
	}
	
	#form table {
		display: block;
		border-collapse: separate;
		border-spacing:0;
		width:auto;
	}
	#form table tbody { display: block; }
	#form table tr { display: block; }
	#form table tr th {
		display: block;
		position:relative;
		padding:7% 0;
		margin:0 0;
		width:auto;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		font-size:1rem;
		line-height:1;
		text-align: left;
		box-sizing:border-box;
		vertical-align:middle;
	}
	#form table tr:last-child th { border-bottom:none; }
	
	#form table tr th span {
		position:absolute;
		top:0;
		bottom:0;
		right:0;
		margin:auto 0;
		display:block;
		background:#edb5c4;
		color:#fff;
		font-size:1.1rem;
		text-align:center;
		width:40px;
		height:20px;
		line-height:20px;
		border-radius:2px;
	}
		
	#form table tr th.err {
		color:#900;
	}
	
	#form table tr td span.err_msg {
		display:block;
		color:#900;
	}

	#form table tr td span.interview {
		display:none;
		color:#900;
	}
	#form table tr td span.interview.err {
		display:block;
		color:#900;
	}
	
	#form table tr td {
		padding:0 0 7%;
		width:auto;
		box-sizing:border-box;
		border-bottom:1px solid #ccc;
		display: block;
	}
	
	#form table tr:last-child td {
		border-bottom:none;
	}
	
	#form table tr td img {
		width:80%;
		height:auto;
	}
	
	#form table tr td p {
		margin-top:10px;
		line-height:2;
	}
	
	#form table tr td dl {
		display:flex;
		flex-wrap:wrap;
	}
	
	#form table tr td dl dd:nth-child(1) {
		width:100%;
		margin-bottom:5%;
		font-size:1.3rem;
	}
	
	#form table tr td dl dd {
		text-align:left;
		vertical-align:middle;
		font-size:1.3rem;
	}
	
	#form table tr td dl dd:nth-child(2) {
		margin-right:5%;
	}
	
	#form table tr td dl dd select {
		margin-top:5px;
	}
	
	#form table tr td ul { margin-top:1%; }
	
	#form table tr td ul li {
		margin-left:1rem;
		text-indent:-1rem;
	}
	
	#form table tr td input, #form table tr td select, #form table tr td textarea {
		border:1px solid #ccc;
		padding:1rem;
		border-radius:5px;
		font-size:1rem;
		box-sizing:border-box;
	}
	
	#form table tr td textarea {
		height:200px;
		width: 100%;
	}
	
	#form table tr td select,#form table tr td input[type="checkbox"] {
		cursor:pointer;
		font-size:1.3rem;
	}
	
	#form table tr td input[type="file"] {
		padding:0;
		border:none;
		font-size:1.3rem;
		cursor:pointer;
	}
		
	#form table tr td input.err, #form table tr td textarea.err, #form table tr td select.err {
		margin:0 0 10px;
	}

	.notselect {
		visibility:hidden;
	}
	
	/*チェックボックス*/
	
	label input{
	  display: none;
	}
	label span{
	  padding-left: 30px;
	  position:relative;
	  margin-right: 30px;
	  font-size:1.3rem;
	}
	label span::before{
	  content: "";
	  display: block;
	  position: absolute;
	  top: -3px;
	  left: 0;
	  width: 20px;
	  height: 20px;
	  border: 1px solid #999;
	  border-radius: 4px;
	}
	/*label input:checked + span {
	  color: #ff7ba6;
	}*/
	label input:checked + span::after{
	  content: "";
	  display: block;
	  position: absolute;
	  top: -8px;
	  left: 5px;
	  width: 12px;
	  height: 19px;
	  transform: rotate(40deg);
	  border-bottom: 4px solid #ff7ba6;
	  border-right: 4px solid #ff7ba6;
	}
	
	/*ボタン部分*/
	
	#form div#submit {
		text-align:center;
	}
	
	#form div#submit input {
		display:inline-block;
		margin:0 1.25rem;
		width:16rem;
		height:3rem;
		background:#45b2b3;
		color:#fff;
		font-size:1.25rem;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		letter-spacing:2px;
		text-align:center;
		line-height:3rem;
		transition: all .3s ease;
		border: none;
		outline: none;
	}
	
	#form div#submit input:hover {

		opacity:0.8;
	}
	
	#form div#submit a {
		display:inline-block;
		margin:0 20px 20px;
		width:240px;
		height:50px;
		background:#999999;
		color:#fff;
		font-size:1.6rem;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		letter-spacing:2px;
		text-align:center;
		text-decoration:none;
		line-height:50px;
		transition: all .3s;
	}
	
	#form div#submit a:hover {
		opacity:0.8;
	}
	
	/*送信完了ページ*/
	
	#thanks {
		padding:2rem;
		background:#fff;
	}
	#thanks br {
		display:none;
	}
	#thanks p {
		padding:5% 0;
		color:#900;
	}
	#thanks p.caution a {
		color:#333;
	}
	#thanks div#hurry {
		padding:1.5rem;
		border:2px solid #eee;
	}
	#thanks div#hurry div {
		margin-top:1.5rem;
		text-align:center;
		font-family:"Rounded Mplus 1c","メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
		font-size:1.6rem;
		font-weight:bold;
		
	}
	#thanks div#hurry div span {
		display:block;
		font-size:1.4rem;
		font-weight:bold;
	}
}

input::-webkit-input-placeholder {
	color: #bbb;
	opacity: 1;
}
input::-moz-placeholder {
	color: #bbb;
	opacity: 1;
}
input:-ms-input-placeholder {
	color: #bbb;
	opacity: 1;
}

input:focus::-webkit-input-placeholder { opacity: 0; }
input:focus::-moz-placeholder { opacity: 0; }
input:focus:-ms-input-placeholder { opacity: 0; }

textarea::-webkit-input-placeholder {
	color: #bbb;
	opacity: 1;
}
textarea::-moz-placeholder {
	color: #bbb;
	opacity: 1;
}
textarea:-ms-input-placeholder {
	color: #bbb;
	opacity: 1;
}

textarea:focus::-webkit-input-placeholder { opacity: 0; }
textarea:focus::-moz-placeholder { opacity: 0; }
textarea:focus:-ms-input-placeholder { opacity: 0; }
