@charset "UTF-8";


/****************************************
	main-content
****************************************/
.main-content {
	/*background:#fbf9e6;*/
}

/****************************************
	main
****************************************/

section#contact-content {
	padding:70px 7% 40px;
}

section#contact-content h3 {
	position: relative;
	max-width:1080px;
	margin:70px 10px 20px 0px;
	padding:10px 5px 10px 22px;
	letter-spacing:0.2em;
	font-weight:400;
	font-size:16px;
	background:#333;
	color:#fff;
	text-align:left;
	border-left:7px solid #000;
}

section#contact-content p {
	padding:0px 10px 30px;
	line-height:2.0em;
}

section#contact-content table {
	width:100%;
}

section#contact-content table tr {
	border-bottom:1px solid #c0c0c0;
}

section#contact-content table tr:nth-child(odd) {
	background:rgba(240,240,240,.8);
}

section#contact-content table tr:nth-child(even) {
	background:rgba(248,248,248,.8);
}

section#contact-content table tr:first-child {
	border-top:1px solid #c0c0c0;
}

section#contact-content table th {
	width:230px;
	vertical-align:middle;
	text-align:left;
	padding:20px;
	font-weight:normal;
}

section#contact-content table th span {
	display:inline-block;
	color:#ff0000;
	padding:0px 5px;
	min-width:23px;
	font-size:10px;
	vertical-align:middle;
}

section#contact-content table td {
	width:calc(100% - 230px);
	vertical-align:top;
	text-align:left;
	padding:20px;
}

section#contact-content .select {
	position: relative;
	background: #fff;
	width: 100%;
	border-radius: 5px;
	z-index: 1;
}

section#contact-content .select::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	right: 10px;
	top: 21px;
	transform: translateY(-50%) rotate(45deg);
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
	z-index: -1;
}

section#contact-content select {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background: none;
	border: none;
	color: #333;
	width: 100%;
	height: 100%;
	padding: 0 10px;
	width:100%;
	border:1px solid #c0c0c0;
	padding:10px;
	font-size: 16px;
}

section#contact-content input[type="text"],
section#contact-content input[type="tel"],
section#contact-content input[type="email"],
section#contact-content textarea {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	width:100%;
	border:1px solid #c0c0c0;
	padding:15px;
	font-size: 16px;
}


section#contact-content .contact-btn {
	text-align:center;
	margin:50px 0px;
}

section#contact-content .contact-btn-area {
	text-align:center;
	margin:50px 0px;
}

section#contact-content .contact-btn-area .contact-btn {
	width:100%;
	max-width:200px;
	padding:16px 40px;
	margin:20px auto;

	border:1px solid #135baa;
	background:#135baa;
	color:#fff;

	font-size:14px;
	letter-spacing:0.2em;

	cursor:pointer;

	appearance:none;
	-webkit-appearance:none;
	transition:.4s;
}

section#contact-content .contact-btn-area .contact-btn:hover {
	border:1px solid #135baa;
	background:#fff;
	color:#000;
	text-decoration:none;
}

/*
section#contact-content .contact-btn input[type="submit"]  {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	position:relative;
	display:inline-block;
	width:100%;
	max-width:300px;
	padding:20px;
	border:1px solid #135baa;
	background:#135baa;
	color:#fff;
	letter-spacing:0.8em;
	font-size:18px;
	font-weight:200;
	text-align:center;
	transition:.4s;
}


section#contact-content .contact-btn input[type="submit"]:hover {
	border:1px solid #135baa;
	background:#fff;
	color:#000;
	text-decoration:none;
	transition:.4s;
}
*/

section#contact-content .contact-btn input[type="button"] {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	position:relative;
	display:inline-block;
	width:100%;
	max-width:300px;
	margin:0px 0px 30px;
	padding:20px;
	border:1px solid #135baa;
	background:#303030;
	color:#fff;
	letter-spacing:0.8em;
	font-size:18px;
	font-weight:200;
	text-align:center;
	transition:.4s;
}


section#contact-content .contact-btn input[type="button"]:hover {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	border:1px solid #135baa;
	background:#fff;
	color:#000;
	text-decoration:none;
	transition:.4s;
}

section#contact-content .contact-btn p span {
	display:none;
}





section#contact-content .c-tel {
	padding:20px 0px 10px;
}

section#contact-content .c-tel span {
	display:inline-block;
	padding-right:40px;
}

section#contact-content .c-tel img {
	width:30px;
	margin-right:13px;
	vertical-align:middle;
}

section#contact-content .c-tel a {
	display:inline-block;
	border:1px solid #000;
	padding:15px 30px;
	color:#000;
	font-size:22px;
	font-weight:300;
	letter-spacing:0.1em;
	vertical-align:middle;
	transition:.4s;
}

section#contact-content .c-tel a:hover {
	color:#c0c0c0;
	text-decoration:none;
}

section#contact-content .c-tel .c-info {
	font-size:12px;
	padding:20px 5px 10px;
}














@media screen and (max-width:768px){


	section#contact-content .c-img {
		width:55%;
		padding:10px 10px 10px 30px;
	}

}


@media screen and (max-width:620px){

	section#contact-content .c-img {
		float:none;
		width:100%;
		padding:10px;
	}

	section#contact-content table th, 
	section#contact-content table td {
		display:block;
		width:100%;
	}


	section#contact-content table tr:nth-child(odd) {
		background:none;
	}

	section#contact-content table tr:nth-child(even) {
		background:none;
	}

	section#contact-content table tr:first-child {
		border-top:1px solid #c0c0c0;
	}

	section#contact-content table th {
		display:block;
		width:100%;
		padding:20px;
		background:#f0f0f0;
	}

	section#contact-content table td {
		display:block;
		width:100%;
		padding:20px;
	}



}




/****************************************
	cookie
****************************************/
section#contact-content p.consent-required-message {
	color: #c00;
	font-size: 0.9rem;
	margin-bottom: 1em;
}

/*
同意前にContactFormでエラーが出る対処
/wp-json/contact-form-7/v1/contact-forms/NaN/refill
*/
#contact-form {
	position: relative;
}

.consent-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 10;
	font-size: 14px;
	padding: 20px;
}

.consent-granted .consent-overlay {
	display: none;
}

/*ポインタ対策*/
#contact-form:not(.consent-granted) form * {
	pointer-events: none;
	user-select: none;
}
