/* =============================================================
  フォーム　.form
============================================================= */
/* 共通
-------------------------------------------*/
/* 枠
--------------------------------*/
/* form */
.form {
	margin-top: 3rem;
}

/* ブロック
--------------------------------*/
/* form */
.form .block {
	margin-top: 3rem;
}

/* 見出し・文章
--------------------------------*/

/* h6 */
.form h6 {
	font-size: 0.9rem;
	line-height: 1;
	border-left: 7px solid var(--color-primary);
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	padding-left: 0.3rem;
}
.form h6:first-of-type {
	margin-top: 0; /* 上の打消し */
}
/* h4の下のp */
.form h4 + p {
	font-size: 0.9rem;
	margin-bottom: 1rem;
}
/* a */
.form .block a {
	display: inline;
	line-height: 1;
}
/* 注釈 */
.form .annotation {
	margin-top: 0.3rem;
}

/* テーブル
--------------------------------*/
/* 共通
---------------------*/
/* table */
.form table {
	margin-top: -1px;
}
/* h4 + table */
.form h4 + table {
	margin-top: 1rem;
}
/* th */
.form th {
	width: 27%;
	text-align: left;
}
/* td */
.form td {
	width: 73%;
}

/* table内table
---------------------*/
/* .inner_table */
.form td.inner_table  {
	padding: 0;
}
/* innner_table table */
.form .inner_table table {
	border: none;
}
/* innner_table td */
.form .inner_table td {
	width: 100%; /* 上の上書き */
	border: none; /* style.cssの上書き */
	border-top: 1px solid var(--color-border);
	padding: 0.8rem; /* 上の上書き */
}
/* inner_table tr一個目のtd */
.form .inner_table tr:first-of-type td {	
	border-top: none; /* 上の上書き */
}

/* label
--------------------------------*/
/* label */
label {
	display: block;
}
.size_other label {
	display: inline-block;
}

/* input
--------------------------------*/
/* .必須項目が未入力の場合 */
.form input:invalid,
.form select:invalid {
	background-color: rgba(185,30,34,0.1);
}
/* .input_num */
.form .input_num {
	display: inline-block;
	width: 7em;
	margin-left: 0.5rem;
}
/* zeroとjumboの横幅のinput_num */
.form .zero tr:first-of-type .input_num,
.form .jumbo tr:first-of-type .input_num {
	width: 13em; /* 上の上書き */
}
/* 共通の数量のinput_num */
.form .cmn_num .input_num {
	margin-left: 0; /* 上の上書き */
}

/* select
--------------------------------*/
/* selectの矢印を変更 */
.form .select_wrap {
	position: relative;
}
.form .select_wrap::after {
	content: "";
	position: absolute;
	top: 0.125rem;
	right: 1rem;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--color-border);
	border-bottom: 2px solid var(--color-border);
	transform: rotate(45deg);
	pointer-events: none;
}
.form select {
	appearance: none;
	cursor: pointer;
}

/* チェックボックス
--------------------------------*/
/* チェックボックスを大きく */
.form .select_wrap input[type=checkbox],
.form .survey input[type=checkbox] {
	transform: scale(1.5);
	margin-right: 0.3rem;
}

/* ラジオボタン
--------------------------------*/
/* radioボタン一つ目の左マージン */
.form .wpcf7-radio .wpcf7-list-item.first {
    margin-left: 0;
}
/* inputoを非表示 */
.form .wpcf7-radio .wpcf7-list-item input {
	display: none;
}
/* labelをデザイン */
.form .wpcf7-radio .wpcf7-list-item-label {
	display: inline-block;
	background-color: #fff;
	border: 1px solid var(--color-border)	;
	border-radius: 5px;
	padding: 0.8rem 1.2rem;
	user-select: none;
}
.form .wpcf7-radio .wpcf7-list-item-label:hover {
	color: var(--color-primary);
	background-color: var(--color-primary-pale2);
}
.form .wpcf7-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label {
	color: #fff;
	background-color: var(--color-primary);
}

/* テキストボックス
--------------------------------*/
/* 入力欄 */
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
	margin-bottom: 0; /* lightningの打消し */
}
/* placeholder */
input::placeholder,
textarea::placeholder {
	color: #bbb;
}

/* 必須・任意アイコン
--------------------------------*/
/* アイコン共通 */
.form_icon {
	display: inline-block;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
	background-color: var(--color-border);
	border-radius: 0.2rem;
	margin-right: 0.5rem;
	padding: 0.2rem 0.5rem;
}
/* 必須のみ */
.form_icon.required {
	background-color: var(--color-accent3);
}

/* 他の商品を見積り
--------------------------------*/
/* show_another_estimate  */
.show_another_estimate {
	font-size: 0.9rem;
    text-align: right;
    margin-top: 0.2rem;
    margin-bottom: 1rem;
}	

/* ファイル添付
--------------------------------*/
/* ファイル */
input[type=file] {
	display: block;
	width: 100%;
	text-align: center;
	background-color: #fff;
	border: 1px solid var(--color-border);
	background-color: var(--color-primary-pale1);
	border-radius: 0.2rem;	
	padding: 1rem;
}
input[type=file]:hover {
	background-color: var(--color-primary-pale2);
}

/* 送信ボタン
--------------------------------*/
/* submit */
input[type=submit] {
	display: block;
	width: 40%;
	font-size: 1.2rem;
	font-weight: 600;
	background-color: var(--color-primary);
	border: none;
	margin: 2rem auto 0;
	padding: 1rem;
	filter: drop-shadow(0.1rem 0.1rem 0.1rem var(--color-shadow)); /* lightningの上書き */
}
input[type=submit]:hover,
input[type=submit]:focus,
input[type=submit]:not(:disabled):hover {
	background-color: var(--color-primary); /* lightningの上書き */
	filter: brightness(110%) drop-shadow(0.1rem 0.1rem 0.1rem var(--color-shadow)); /* lightningの上書き */
}
/* 送信ボタン下注釈 */
.submit_annotation {
	text-align: center;
	background-color: var(--color-primary-pale1);
	padding: 2rem 1rem;
}

/* ホームページ掲載
--------------------------------*/
/* 文字サイズ */
.website_listing table + p {
	font-size: 0.9rem;
	margin: 1rem 0 0.5rem;
}

/* 利用規約
--------------------------------*/
/* 利用規約の枠 */
.block.terms .inner {
	height: 180px;
	overflow-y: hidden;
	overflow-y: scroll;
	border: 1px solid var(--color-border);
	margin-top: 0.5rem;
	padding: 1rem;
}
.block.terms .inner::-webkit-scrollbar {
    width: 1rem;
}
.block.terms .inner::-webkit-scrollbar-track {
	background-color: #eee;
}
.block.terms .innert::-webkit-scrollbar-thumb {
	background-color: var(--color-border);
	border-radius: 5px;
}
/* 利用規約の文章 */
.block.terms .inner p.tit {
	font-weight: 800;
	margin-bottom: 0.2rem;
}
.block.terms .inner p.tit + p,
.block.terms .innert p:nth-child(1) {
	margin-top: 0;
}
/* 利用規約に同意する */
.block.terms .wpcf7-form-control {
	display: block;
	color: #fff;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	background-color: #C30D18;
	border-radius: 5px;
	margin-top: 1rem;
}
/* チェックボックスを大きく */
.block.terms input[type=checkbox] {
	transform: scale(2);
	vertical-align: middle;
}
/* 同意の文章のデザイン */
.block.terms .wpcf7-list-item-label {
	display: inline-block;
	font-size: 1.2rem;
	vertical-align: middle;
	line-height:1;
	padding: 1rem;
}

/* 入金確認後バナー
--------------------------------*/
/* 上マージン */
.block.terms + .block.bnr_payment {
	margin-top: 1rem;
}

/* recaptch説明文
--------------------------------*/
/* 外枠 */
.form .recaptcha_word {
	font-size: 0.8rem;
	text-align: center;
	border: 1px solid var(--color-table-header1);
	margin-top: 2rem;
	padding: 1rem 1rem 1rem ;
}
/* p */
.form .recaptcha_word p {
	margin: 0;
}

/* 注意文
--------------------------------*/
/* 未入力入力欄 */
input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
	border: 2px solid var(--color-accent2);
	background-color: rgba(183,41,39,0.2);
}
/* 未入力文章 */
.wpcf7-not-valid-tip {
	font-size: 0.8rem;
}
/* 下部注釈 */
.wpcf7 form .wpcf7-response-output {
	display: block;
	color: #fff;
	font-weight: 600;
	background-color: var(--color-primary);
	border: none;
	text-align: center;
	padding: 0.6rem 0.6rem 0.7rem;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: var(--color-accent2);
}

/*turntile
 =======================*/
.turnstile{
	text-align:center;
	margin-top:1rem;
}