@charset "utf-8";
/* CSS Document */

header{
	background-image: url("images/contact_kv.jpg");
}

.contents{
	position: relative;
	width:71.23%;
	padding: 5.988vw 12.44% 13.69vw 16.33%;
	background-color: #fbf4ee;
}


table{
	text-align: left;
	font-family: 'Noto Sans','Helvetica-Light',Helvetica,Arial,"YuGothic", 'Yu Gothic medium', 'Hiragino Sans', "Meiryo", sans-serif;
	width: 100%;
}

table th{
	vertical-align: top;
	width: 25.76%;
}

table td{
	vertical-align: top;
	color: #848484;
	width: 74.24%;
}

table tr:nth-child(2){
	height: 7.174vw;
}

table tr:nth-child(4){
	height: 3.660vw;
}

.three_column tr:nth-child(2){
	height: 3.5139vw;
}

.three_column tr:nth-child(4){
	height: 5.124vw;
}

.three_column td{
	box-sizing: border-box;
	width: 37.12%;
	padding-right: 0.5857vw;
}

.three_column td:last-child{
	padding-left: 0.5857vw;
	padding-right: 0px;
}

th .table_icon{
	display: inline-block;
	text-align: center;
	color: #ffffff;
	line-height: 1.62vw;
	font-family:'Helvetica-Light',Helvetica,Arial, 'YuGothic', 'Yu Gothic medium', 'Hiragino Sans', 'Meiryo', 'sans-serif';
	font-size: 0.9517vw;
	width: 3.514vw;
	height: 1.62vw;
	margin-right: 1.171vw;
	border-radius: 0.8053vw;
}

.required{
	background-color: #dd6e2b;
}

.optional{
	background-color: #7b6c55;
}

td .attention{
	color: #dd6e2b;
	font-size: 1.025vw;
}

table td input,
table td textarea{
	box-sizing: border-box;
	width: 100%;
	padding:0 2%;
	border: 1px #cfcfcf solid;
	border-radius: 0;
}

table td input{
	height: 3.660vw;
}

table td textarea{
	height: 17.57vw;
}


input[type=submit]{
	position: absolute;
	text-align: center;
	color: #ffffff;
	line-height: 583.33%;
	font-family:'Helvetica-Light',Helvetica,Arial, 'YuGothic', 'Yu Gothic medium', 'Hiragino Sans', 'Meiryo', 'sans-serif';
	font-size: 1.757vw;
	width: 52.88%;
	height: 10.25vw;
	border: none;
	background-color: #dd6e2b;
	-webkit-appearance: none;
   	border-radius: 0;
	bottom: -2.416vw;
	right: 12.44%;
	z-index: 5;
}


/*ラジオボタン見た目変更--start--*/
table td input[type=radio]{
	display: none;	
}

.radio_text{
	display: inline-block;
	padding-top: 0.2vw;
}

.radio {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: auto;
	height: 1.318vw;
	padding: 0px 2.343vw 2.928vw;
    cursor: pointer;
}

.radio::before {
    content: '';
    position: absolute;
    display: block;
	width: 1.171vw;
	height: 1.171vw;
	margin-top: -0.5857vw;
    border: 1px solid #cccccc;
    border-radius: 50%;
	background-color: #fff;
	top: 1.318vw;
	left: 0.5857vw;
}

.radio::after {
    content: '';
    position: absolute;
    display: block;
	width: 0.5857vw;
	height: 0.5857vw;
	margin-top: -0.2196vw;
    border-radius: 50%;
    background-color: #dd6e2b;
	top: 1.318vw;
	left: 0.9517vw;
    opacity: 0;
}

.radio:nth-child(5)::before,
.radio:nth-child(5)::after,
.radio:last-child::before,
.radio:last-child::after{
	top: 0.9517vw;
}

table td input[type=radio]:checked + .radio::after {
    opacity: 1;
}
.wpcf7-not-valid-tip {
	color: #dd6e2b ;
	 font-size: 1.025vw;
	}
span.wpcf7-list-item {
	 display: block;
	 padding: 0.5vw 0.5vw 0.8vw 0;

	}
	input[type="radio"]:checked + .wpcf7-list-item-label:before {
		background-color: #dd6e2b;
		box-shadow: inset 0 0 0 3px #fff;
	}
	.wpcf7-list-item-label:before {
		content: '';
		background: #fff;
		border-radius: 100%;
		border: 1px solid #888888;
		display: inline-block;
		width: 1em;
		height: 1em;
		position: relative;
		top: -0.2em;
		margin-right: 14px;
		vertical-align: middle;
		cursor: pointer;
		text-align: center;
		
	}
	.wpcf7-list-item {
		margin: 0 0 0 0.5em;
	}
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
		display: none!important;
	}
	
	




@media screen and (max-width:767px){
	
	header{
		background-image: url("images/contact_sp_kv.jpg");
		height: 78.8vw ;
	}

	header .header_container {
		height: 78.8vw;
	}
	
	.contents{
		width: 90.8832%;
		padding: 0 4.5584% 140px;
		margin-bottom: 20px;
	}
	
	table{
		margin-bottom: 20px;
	}
	
	.two_column{
		width: 100%;
		margin-bottom: 0;
	}
	
	table tr{
		line-height: 150%;
		height: 40px;
	}
	
	table tr:first-child{
		line-height: 150%;
		height: 26px;
	}
	
	table tr:nth-child(2){
		height: 45px;
		padding-top: 0px;
	}
	
	table tr:nth-child(3){
		line-height: 17px;
		height: 31px;
		padding-top: 0px;
	}

	table tr:nth-child(4){
		height: 27px;
		padding-top: 0px;
	}
	
	table tr:nth-child(5){
		height: 45px;
	}
	
	table tr:nth-child(6){
		line-height: 17px;
		height: 29px;
	}
	
	table tr:nth-child(7){
		height: 28px;
	}
	
	table tr:nth-child(8) ul{
		padding-bottom: 23px;
	}
	
	table tr:nth-child(8) li{
		line-height: 26px;
	}
	
	table tr:nth-child(9){
		height: 28px;
	}
	
	.two_column tr:first-child{
		height: 28px;
	}

	.two_column tr:nth-child(2),
	.two_column tr:nth-child(5){
		line-height: 15px;
		height: 45px;
		padding-top: 0px;
	}
	
	.two_column tr:nth-child(3),
	.two_column tr:last-child{
		line-height: 15px;
		height: 32px;
		padding-top: 0px;
	}

	.two_column tr:nth-child(4){
		line-height: 15px;
		height: 26px;
		padding-top: 0px;
	}

	table th{
		vertical-align: top;
		font-size: 15px;
		font-weight: bold;
		width: 100%;
		height: 28px;
	}

	table td{
		vertical-align: top;
		font-size: 13px;
		width: 100%;
		height: 28px;
	}
	
	.two_column th{
		width: 51.7241%;
	}
	
	.two_column td{
		width: 48.2759%;
	}
	
	.two_column tr:nth-child(2) td:first-child,
	.two_column tr:nth-child(3) td:first-child,
	.two_column tr:nth-child(5) td:first-child,
	.two_column tr:nth-child(6) td:first-child{
		width: 48.9028%;
		padding-right: 2.8213%;
	}
	
	
	
	td .attention{
		font-size: 13px;
	}
	
	th .table_icon{
		line-height: 16px;
		font-size: 10px;
		font-weight: bold;
		width: 35px;
		height: 16px;
		border-radius: 11px;
		margin-bottom: 0px;
	}
	
	table td input{
		height: 40px;
	}
	
	table td textarea{
		height: 240px;
	}
	
	
	input[type=submit]{
		line-height: 80px;
		font-size: 18px;
		width: 90.8832%;
		height: 80px;
		bottom: -20px;
		right: 4.5584%;
	}
	
	
	/*ラジオボタン見た目変更--start--*/
	.radio {
		line-height: 26px;
		font-size: 15px;
		height: 16px;
		padding: 0px 32px 40px;
	}
	
	.radio_text{
		display: inline-block;
		line-height: 160%;
		padding-top: 0px;
	}

	.radio::before {
		width: 14px;
		height: 14px;
		margin-top: -8px;
		top: 16px;
		left: 8px;
	}

	.radio::after {
		width: 6px;
		height: 6px;
		margin-top: -3px;
		top: 16px;
		left: 13px;
	}

	.radio:nth-child(5)::before,
	.radio:nth-child(5)::after,
	.radio:last-child::before,
	.radio:last-child::after{
		top:13px; 
	}
	
}
	