/*
Theme Name:astra-child
Template:astra
Version:1.0.0
*/


/* テーブル
------------------------------------------ */
table {
  	border: none !important;
  	/* box-shadow:5px 5px 15px rgba(0,0,0,0.1) */
}
table th {
  	padding: 15px 30px;
  	border-bottom: none;
  	border-right: none;
  	text-align: left;
}
table td {
  	padding: 15px 30px;
  	border-bottom: none;
  	border-right: none;
}

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
	.inquiry th,.inquiry td {
 		display:block!important;
 		width:100%!important;
 		border-top:none!important;
 		-webkit-box-sizing:border-box!important;
 		-moz-box-sizing:border-box!important;
 		box-sizing:border-box!important;
	}
	.inquiry tr:first-child th{
 		border-top:1px solid #fff!important;
	}
	/* 必須・任意のサイズ調整 */
	.inquiry .haveto,.inquiry .any {
		font-size:10px;
	}
}
/*見出し欄*/
.inquiry th{
 	text-align:left;
 	font-size:14px;
 	color:#444;
 	padding: 20px 20px 0 20px;
 	width:30%;
 	border-bottom: solid 1px #ccc;
 	vertical-align: top;
 	background: #fff;
}
.inquiry-second th, .inquiry-second td{
 	width:100% !important;
	display:block !important;
}
.inquiry th.item{
 	font-size:16px;
 	background: #F1F1F4;
}
/*通常欄*/
.inquiry td{
 	font-size:13px;
 	padding: 20px 20px 0 20px;
 	border-bottom: solid 1px #ccc;
 	background: #fff;
}
.inquiry td fieldset{
 	margin: 0 0 20px 0;
 	background: #F1F1F4;
	padding: 10px;
}
.inquiry td fieldset.mb0{
 	margin: 0;
}
.inquiry td fieldset legend{
 	background: #FFF;
	border: 1px solid #e6e6e6;
}
.inquiry td input, .inquiry td input:focus, .inquiry td select, .inquiry td textarea{
 	background: #F1F1F4;
 	border: none;
}
.inquiry td .text2rows {
  	display: flex;
  	flex-wrap: wrap;
}
.inquiry td .text3rows {
  	display: flex;
  	flex-wrap: nowrap;
}
.inquiry td .text2rows .item-box {
  	flex: 1;
  	margin: 0 10px;
  	max-width: 50%;
  	width: calc(50% - 20px);
  	box-sizing: border-box;
}
.inquiry td .text3rows .item-box {
  	flex: 1;
  	margin: 0 10px;
  	max-width: 33%;
  	width: calc(33% - 10px);
  	box-sizing: border-box;
}
.inquiry td .text3rows .item-box select{
  	width: 90%;
}
.inquiry td .text3rows .item-box span{
  	display: inline;
  	margin: 0 0 0 5px;
}
.inquiry td .text2rows .item-box:first-child, .inquiry td .text3rows .item-box:first-child {
  	margin-left: 0;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 	border:solid 1px #F1F8FF;	
}

/***Contact Form 7エラーの位置を調整***/
.inquiry td .error .wpcf7-not-valid-tip, .inquiry td .error .wpcf7-response-output.wpcf7-validation-errors {
        display: none !important;
}
.inquiry td .error span.error-message {
        color: #dc3232 !important;
        display: none !important;
}
.inquiry td .error:has(.wpcf7-not-valid-tip) {
        span.error-message {
            display: block !important;
        }
}
.inquiry td .error:has(.wpcf7-response-output.wpcf7-validation-errors) {
        span.error-message {
            display: block !important;
        }
}
/*必須の調整*/
.haveto{
 	font-size:10px;
 	padding:5px 10px;
 	background:#d91a1a;
 	color:#fff;
 	border-radius:2px;
 	margin-right:10px;
 	position:relative;
 	bottom:1px;
}
/*任意の調整*/
.any{
 	font-size:10px;
 	padding:5px 10px;
 	background:#68b2fb;
 	color:#fff;
 	border-radius:2px;
 	margin-right:10px;
 	position:relative;
 	bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 	display:block;
}
/*送信ボタンのデザイン変更*/
.formbtn{
 	display: block !important;
 	padding:1em 0 !important;
 	margin:0 auto 0 auto !important;
 	width:50% !important;
 	background:#FCAF3A !important;
 	color:#333 !important;
 	font-size:18px !important;
 	font-weight:bold !important;
 	border-radius:30px !important;
 	border: none !important;
}
@media(max-width:500px){
	.formbtn{
	 	width:80% !important;
	}
}
/*送信ボタンマウスホバー時*/
.formbtn:hover{
 	background:#E79315 !important;
 	color:#333 !important;
}

/***Contact Form 7確認画面用***/
/* テーブル */
#wpcf7cpcnf table {
    	border: none;
	border-collapse: collapse;
}
#wpcf7cpcnf table th {
    	background-color: #f5f5f5 !important;
    	border: 1px solid #ccc !important;
    	color: #333 !important;
  	padding: 15px 30px !important;
	vertical-align: middle !important;
}
#wpcf7cpcnf table td {
    	border: 1px solid #ccc !important;
  	padding: 15px 30px !important;
}

/*必須の調整*/
#wpcf7cpcnf table th .haveto{
 	font-size:10px !important;
 	padding:5px 10px !important;
 	background:#d91a1a !important;
 	color:#fff !important;
 	border-radius:2px !important;
 	margin-right:10px !important;
 	position:relative !important;
 	bottom:1px !important;
}
/*任意の調整*/
#wpcf7cpcnf table th .any{
 	font-size:10px !important;
 	padding:5px 10px !important;
 	background:#68b2fb !important;
 	color:#fff !important;
 	border-radius:2px !important;
 	margin-right:10px !important;
 	position:relative !important;
 	bottom:1px !important;
}

/* ボタン */
#wpcf7cpcnf button {
 	padding:1em;
 	width:auto;
 	background:#118ed6;
 	color:#fff;
 	font-size:18px;
 	font-weight:bold;	 
 	border-radius:2px;
}
#wpcf7cpcnf button:hover{
 	background:#0b3a66;
 	color:#fff;
}

/***Contact Form 7エラーや送信完了メッセージ武***/
.inquiry .wpcf7 form.sent .wpcf7-response-output {
	background:#d5edda;
	color:#185626;
	border:1px solid #c4e5cc;
	padding:10px
}

.inquiry .wpcf7 form.failed .wpcf7-response-output,
.inquiry .wpcf7 form.aborted .wpcf7-response-output {
	background:#f7d7da;
	color:#711d26;
	border:1px solid #f4c6cb;
	padding:10px;
}

.inquiry .wpcf7 form.spam .wpcf7-response-output {
	background:#fff2cf;
	color:#846314;
	border:1px solid #feedbd;
	padding:10px
}

.inquiry .wpcf7 form.invalid .wpcf7-response-output,
.inquiry .wpcf7 form.unaccepted .wpcf7-response-output {
	background:#f7d7da;
	color:#711d26;
	border:1px solid #f4c6cb;
	padding:10px;
}

/* google reCAPTCHA
------------------------------------------ */
.grecaptcha-badge { 
	visibility: hidden;
}
