/**/
body {
	margin: 0;
}

.header {
	padding: 15px;
}

.header figure {
	margin: 0;
	width: 150px;
}

/*ContactForm7カスタマイズ*/
fieldset {
	display: none;
}

table.CF7_table {
	width: 80%;
	margin: 0 auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr {
	border-top: 1px solid #e5e5e5;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
	display: table;
}

/*入力欄*/
.CF7_table input,
.CF7_table textarea {
	border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
	color: #797979;
}

/*「必須」文字*/
.CF7_req {
	font-size: .9em;
	padding: 5px;
	background: #f79034;
	/*オレンジ*/
	color: #fff;
	border-radius: 3px;
	margin-right: 1em;
}

/*「任意」文字*/
.CF7_unreq {
	font-size: .9em;
	padding: 5px;
	background: #bdbdbd;
	/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right: 1em;
}

/* タイトル列 */
@media screen and (min-width: 768px) {
	.CF7_table th {
		width: 30%;
		/*横幅*/
		background-color: #ebedf5;
		/*ブルーグレー*/
	}
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
	table.CF7_table {
		width: 95%;
	}

	.CF7_table tr,
	.CF7_table td,
	.CF7_table th {
		display: block;
		width: 100%;
		line-height: 2.5em;
	}

	.CF7_table th {
		background-color: #ebedf5;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color: #f79034;
	/* オレンジ*/
	border: 0;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
	margin: 0 auto;
}

.wpcf7 input.wpcf7-submit.next {
	width: 20%;
}

@media screen and (max-width: 768px) {
	.wpcf7 input.wpcf7-submit {
		width: 100%;
	}
}

.CF7_btn {
	text-align: center;
	margin-top: 20px;
}

.wpcf7-spinner {
	width: 0;
	margin: 0;
}

.grecaptcha-badge {
	visibility: hidden;
}

/**/
#content {
	margin: 30px auto;
	width: 60%;
}

@media screen and (max-width: 768px) {
	#content {
		margin: 30px 20px;
		width: 90%;
	}
}

.l-content,
.l-container {
	padding: 0px;
}

#content .post_content {
	margin-top: 30px;
}

.CF7_table {
	width: 100% !important;
	font-size: 14px !important;
}

@media screen and (min-width: 768px) {
	.CF7_table th {
		width: 40%;
		text-align: left;
		padding-left: 1em;
	}

	.CF7_table td {
		width: 60%;
	}
}

.next {
	padding: 3px 20px;
	border-radius: 5px;
}

.wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 1em;
	font-weight: normal;
	display: block;
}

/**/
.screen-reader-response {
	display: none;
}

/**/
footer {
	p {
		text-align: center;
		font-size: .9em;
		padding-top: 1em;
		padding-bottom: 1em;
	}
}

/* thanks */
.thanks_wrap {
	width: 79%;
}
@media screen and (max-width: 768px) {
	.thanks_wrap {
	width: 100%;
}
}
h2.heading {
	border-bottom: solid 1px #ddd;
	margin-bottom: .5em;
}

h3.heading {
	position: relative;
	padding: 0 .5em .5em;
	margin: 3em 0 2em;

	&::after {
		content: "";
		width: 100%;
		height: 2px;
		background: linear-gradient(90deg, #cc1414 0%, #cc1414 29.3%, rgba(150, 150, 150, .2) 29.3%, rgba(150, 150, 150, .2) 100%);
		position: absolute;
		bottom: 0;
		left: 0;
	}
}