/* フォーム関連ページ（資料請求、デモ申込、問合せなど）用 CSS */
/* ===============
プラグイン
=============== */
/* 	contactform7 */
	
.wpcf7-spinner {
    visibility: hidden !important;
}/*デフォルトのスタイルを無効化する*/
	
input.form-previous {
    width: 100%;
    padding: 24px;
    border-radius: 3px;
    text-align: center;
    cursor: pointer;
    border: none;
    text-decoration: none;
    font-size: 18px;
    display: inline-block;
    color: #fff;
    background-color: #164098;
}

.wpcf7-list-item{
	margin-left: 0;
} 

/* ラジオボタン2カラム */
.wpcf7-list-item {
	width: 45% !important;
}
	@media (max-width: 479px){
		.wpcf7-list-item {
		width: 100% !important;
		}
	}

/* チェックボックス */
.form-row  p,
.form-des label,
.form-sec label{
	font-size: 1.4rem !important;	
	@media screen and (min-width: 768px){
		font-size: 1.6rem !important;	
	}
}
.checkbox-field input {
	display: none;
}
.checkbox-field input  + span {
	  position: relative;
    padding-left: 45px;
    height: 32px;
    display: block;
}
.checkbox-field .wpcf7-list-item {
    display: block;
	  width: 100% !important;
    margin-bottom: 1.5em;
	
	   @media screen and (min-width: 768px){
			 	float: left;
        width: 50%;
        margin-top: 10px;
		margin-bottom: 1em;
			}
}
/* .checkbox-block .wpcf7-list-item {
    display: block;
	  width: 100%;
		margin-top: 0;
    margin-bottom: 1.5em;
} */
.checkbox-field input + span::before,
.checkbox-field input + span::after {
	position: absolute;content: "";display: block;top: 50%;
}
.checkbox-field input + span::before {
	left: 9px;
	top: 1px;
	width: 10px;
	height: 20px;
	border-right: 4px solid #0171bd;
	border-bottom: 4px solid #0171bd;
	transform: rotate(45deg);
	opacity: 0;
	z-index: 100;
}
.checkbox-field input:checked + span::before {
    opacity: 1;
}
.checkbox-field input + span::after {
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border: 1px solid #666;
	background-color: #fff;
}

/* 確認ページ戻るボタン */
.wpcf7-form input[type="button"].form-previous:hover {
  box-shadow: none;
  background-color: #ED6D00;
  color: #fff;
  transition: background-color 0.3s, color 0.3s,     box-shadow 0.3s;	
}

/* プルダウン横並び */
.input-date-item.possible-times {
	    margin-right: 16px;
}

/* フォーム下水色の枠を非表示 */
.wpcf7-response-output {
	display: none;
}
/* contactform7_End */
/* ===============
プラグイン_End
=============== */


/* フォーム見出しサイズ */
.form-label label {
	width: 100%;
	font-size: 18px !important;
	padding-top: 3px;
}
.form-label p {
	width: 100%;
	font-size: 18px !important;
	padding-top: 3px;
}

.form-des label {
		width: 100%;
	font-size: 18px !important;
	padding-top: 3px;
}

/* 必須・任意アイコン */
.form-required, 
.form-optional{
	 font-size: 13px !important;
}

/* ---役職・部署スタイル --- */
.form-col-half {
  width: 30%;
}

.form-row-flex .wpcf7-form-control-wrap {
  display: inline-block;
  width: 100%;
}
select.drop-down {
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  /* iOSのデフォルトスタイルをリセット */
  -webkit-appearance: none;
  appearance: none;

  border: 1px solid #666; 
  background-color: #fff;
  border-radius: 4px;
  color: #333;
  background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%23333" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2 5l6 6 6-6"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
}

select:invalid {
  color: #999;
}
select option {
  color: #000;
}
  /* iOSのデフォルトスタイルをリセット_End */
@media screen and (max-width: 768px) {
  .form-col-half {
    width: 100%;
  }
  .form-col-half:first-child {
    margin-bottom: 20px;
  }
	
  select.drop-down {
  padding: 6px 10px;	
  }
}


/* パラメータ非表示 */
.lead-hidden {
margin-bottom: -30px;
}

.lead-hidden p {
margin-bottom: -0.5em;
}

.text-remark {
	font-size: 1.4rem;
}

/* フォーム残文字数 */
.form_content div .textarea-countdown p {
	margin-bottom: 0;
}/* テーマ調整 */

.form_content div .textarea-countdown p:first-child {
	margin-top: auto;
}

.textarea-countdown {
	display: flex;
	justify-content: space-between;
}

.form_content .textarea-countdown::after {
	display: none;
}/* テーマ調整 */

@media only screen and (max-width: 840px) {
	.textarea-countdown {
		flex-direction: column;
	}
}	
/* フォーム残文字数_End */

/* フォームボタン */
 .form_btn_wrap {
	text-align: center;
	margin-top: -60px !important;
}
.form_btn a{
    width: 100%;
    padding: 24px !important;
    border-radius: 3px;
    text-align: center;
    cursor: pointer;
    border: none !important;
    text-decoration: none !important;
    font-size: 18px;
    display: inline-block;
    color: #fff !important;
    background-color: #164098;
}

.form_btn a:hover{
	box-shadow: none;
	background-color: #ED6D00;
	color: #fff;
	transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;}
/* フォームボタン_end */


/* fuseラジオボタン、チェックリスト内テキスト */
.fuse-lp_radio-text .wpcf7-list-item, .fuse-lp_check-text .checkbox-field span,
.fuse_radio-text .wpcf7-list-item, .fuse_check-text .checkbox-field span {
	font-size: 1.6rem !important;
}
/* fuseラジオボタン、チェックリスト内テキスト_End */

/* テキストリンク */
.form-cv p {
	margin-top: 0!important;
	margin-bottom: 20px;
}
.form-cv .form_text-link a {
	font-size: 18px;
	text-decoration: underline;
}
/* テキストリンク_End */

/* Error message */
.form-return-span.is-error { 
    display: block;
    margin-bottom: 15px;
    padding: 15px;
    border: 1px solid #d9534f;
    background-color: #f2dede;
    border-radius: 4px;
}

.form-return-span.is-error strong { 
    color: #d9534f;
    display: block;
}

.cf7-error-summary {
    list-style-type: disc;
    margin-left: 20px;
    padding-left: 0;
    color: #d9534f;
}

.cf7-error-summary li {
    margin-bottom: 5px;
}