/* 初期化：余白などを一旦全て0にする。 */
.form * { margin:0px; padding:0px;}
.form img{width:auto !important; height:auto; max-width:100%;}

/*初期化 固定のフォントサイズを指定*/
.form p{font-size:16px;}

/* 初期化：フォーム系のサイズを共通化*/
.form input[type="text"],
.form textarea,
.form select,
.form button      { /*font-size:1.2em;*/font-size:16px; padding:2px; cursor:pointer;}
.form textarea    { height:100%; width:98%; margin: 0px 5px; background:#d9d9d9;resize:vertical;}
.form button      { padding:2px 10px; margin:0px 10px;}
.form label:hover { color:#33a1ff;}
input[type="text"]{width:98%;}
.form ul { list-style-type:none;}

/* ページ幅を指定して、コンテンツを画面の中央に持ってくる */
div.form  {max-width:970px; margin:20px auto;}



/* フォーム全体のレイアウト */
.form ul.formlist {margin:10px 0;}
.form ul.formlist li>div{ border-top:1px solid #c8c8c8; padding:1%;}
.form ul.formlist li>div:last-child{ }
.form ul.formlist li:last-child>div{ border-bottom:1px solid #c8c8c8;}
.form ul.formlist li>div { min-height: 70px;}
.form ul.formlist li.height_l div {min-height:180px;}
.form ul.formlist li.height_02 div { height: 55px;}
.form ul.formlist li.height_03 div {height: 100%;}
                                    
.form ul.formlist li input { margin:0 5px; background:#d9d9d9;}
.form ul.formlist li div.itemname {/*font-size:0.9em;*/font-size:15px; font-weight:800;}
.itemform_add_search .add_box{width:55%;}
                                    

/* お問合せの種類 */
.form ul.inquiry_type li { margin:3px; float:left; min-width:120px;}

/* ご希望のフォーム種類について */
.form ul.reform_type li { margin:3px;}

.form li.chkbx  { float:left; min-width:115px;}
.form li div    { float:left;}

.form li div.itemname { background-color:#fafafa; width:23%; margin-left:1%;} 
.form li div.itemform { width:47%;}
.form li div.itemform2 { width:22%; margin-right:0%;} 
.form li div.itemform3 {width: 71%; margin-right:0%;}

 /* ボタンここから */
button.form_btn01 { cursor: pointer; display: block; width: 96%; max-width: 320px; height: 80px; border: none; text-indent: -9999px; background: url(../images/form_btn01.png) no-repeat 0 0; background-size: 100% auto; margin:0; padding:0; margin: 0px 0px 4%;}
button.form_btn02 { cursor: pointer; display: block; width: 96%; max-width: 280px; height: 70px; border: none; text-indent: -9999px; background: url(../images/form_btn02.png) no-repeat 0 0; background-size: 100% auto; margin:0; padding:0; margin: 0px 0px 0 20%;}
button.form_btn03 { cursor: pointer; display: block; width: 96%; max-width: 280px; height: 70px; border: none; text-indent: -9999px; background: url(../images/form_btn03.png) no-repeat 0 0; background-size: 100% auto; margin:0; padding:0; float:right; margin: 0px 20% 0px 0%;}
@media screen and (max-width: 1024px){
button.form_btn02 { max-width: 30%;}
button.form_btn03 { max-width: 30%;}
}
@media screen and (max-width: 640px){
button.form_btn02 { max-width: 320px; height: 80px; margin:0 0 2%;}
button.form_btn03 { max-width: 320px; height: 80px; margin:0 0 2%; float:none;}
}
 /* ボタンここまで */

@media screen and (max-width: 767px){
input[type="text"] { width:96%;}
.address_field input[type="text"] { width:50%;}
div.form  {width:100%;}
.form li div { float:none;}
.form li div.itemname ,
.form li div.itemform { width:94%;}
.form li div.itemform2 { width:94%;}
.form li div.itemform3 { width:94%;}

.form ul.formlist li.height_03 .itemname , .form ul.formlist li.height_03 .itemform2 {min-height: 60px !important; line-height: 1;}
.form ul.formlist li.height_03 div {height: auto;}

.form ul.formlist li div {height:auto; min-height:60px;}
.form ul.formlist li.height_l div.itemname {height:auto;}
.form ul.formlist li>div{ padding:1% 2%;}
.form ul.formlist li:last-child>div.itemname{ border-bottom:0px solid #FFF;}
.form ul.formlist li:last-child>div.itemform{ }
.form ul.formlist li.height_l div {height:auto;min-height:auto;}
.itemform_add_search .add_box{width:45%;}

.form li div.itemname { margin:0 1%;}
.form li div.itemform { margin:0 1%;}
.form li div.itemform2 { margin:0 1%;}
.form li div.itemform3 { margin:0 1%;}

.form textarea {margin: 0px;} 
}

                       


.form .clearfix { *zoom: 1;}
.form .clearfix:after {
  content: '';
  display: table;
  clear: both;
}

 /* フォーム上ここから */
.form_root #main { width:100%; max-width:980px; margin:0 auto; float:none;}
.form_catch_box { padding:80px 20px 0; box-sizing:border-box;}
.form_catch_box img { width:auto; max-width:50%; margin: -60px 0 0 20px; float:right;}
.form_root #layout02 { max-width:980px; margin:0 auto;}
@media screen and (max-width: 1024px){
.form_catch_box { padding:2%;}
.form_catch_box img { margin:0 0 2% 2%;}
}


/* カスタム */
.form .wpcf7-checkbox label,
.form .wpcf7-radio label {
  transition-duration: .5s;
}
.form .wpcf7-checkbox label:hover,
.form .wpcf7-radio label:hover,
.form input:checked,
.form input:checked + span {
  color: #33a1ff;
}
.form .wpcf7-checkbox input,
.form .wpcf7-radio input {
  visibility: hidden;
  margin: 0 -13px 0 0 !important;
}
.form .wpcf7-checkbox span.wpcf7-list-item,
.form .wpcf7-radio span.wpcf7-list-item {
  display: inline-block;
  position: relative;
  padding-left: 21px;
}


.form .wpcf7-checkbox label:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 5px;
  bottom: 8px;
  left: 0;
  margin: auto;
  box-sizing: border-box;
  border: 1px solid #ccc;
}
.form .wpcf7-radio input + span:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 5px;
  bottom: 8px;
  left: 0;
  margin: auto;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 100%;
}

.form .wpcf7-checkbox span.wpcf7-list-item .wpcf7-list-item-label,
.form .wpcf7-radio span.wpcf7-list-item .wpcf7-list-item-label {
}
.form .wpcf7-checkbox input + span:before,
.form .wpcf7-checkbox input + span:after {
  content: '';
  position: absolute;
  top: 0;
  left: 2px;
  bottom: 6px;
  margin: auto;
  display: block;
  width: 0;
  height: 0;
  background: #33a1ff;
  transform: rotate(140deg);
  transition: height .2s;
}
.form .wpcf7-checkbox input + span:after {
  content: '';
  transform: rotate(230deg);
  transition: height .2s .3s;
  left: 9px;
  bottom: 9px;
}
.form .wpcf7-checkbox input:checked + span:before,
.form .wpcf7-checkbox input:checked + input + span:before {
  content: '';
  width: 4px;
  height: 11px;
}
.form .wpcf7-checkbox input:checked + span:after,
.form .wpcf7-checkbox input:checked + input + span:after {
  content: '';
  width: 4px;
  height: 15px;
}
.form .wpcf7-radio input + span:after {
  content: '';
  position: absolute;
  top:0 ;
  left: 3px;
  bottom: 3px;
  margin: auto;
  width: 9px;
  height: 9px;
  background: #33a1ff;
  transition-duration: .5s;
  transform: scale(0, 0);
  border-radius: 100%;
}
.form .wpcf7-radio input:checked + span:after,
.form .wpcf7-radio input:checked + input + span:after {
  content: '';
  transform: scale(1,1);
}
form.failed .form .wpcf7-checkbox label:hover,
form.failed .form .wpcf7-radio label:hover {color: #333;}

/*------------------------------------------------------------
 資料画像②
 ------------------------------------------------------------*/
.form ul.formlist li.height_shiryou .buy_txt { display: block;}
.form ul.formlist li.height_shiryou .buy_img { position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; color: #fff; display: flex; align-items: center; justify-content: center; background-color: rgba(255,255,255,0.5); pointer-events: none;}
.form ul.formlist li.height_shiryou .nodisp { display: none;}
.form ul.formlist li.height_shiryou ul.inquiry_type li>div { position: relative; height: auto; min-height: auto; margin: 0 auto 2%; padding: 0; border: none;}
.form ul.formlist li.height_shiryou div.itemname ,
.form ul.formlist li.height_shiryou div.itemform {width: 98%; margin:0 1%; border-top: 1px solid #C8C8C8; overflow: hidden; box-sizing: border-box !important;}
.form ul.formlist li.height_shiryou div ul.inquiry_type li {width: 31%; margin: 0px 1% 1% 0; text-align: center; min-width: 82px; /*font-size: 90%;*/}
.form ul.formlist li.height_shiryou div ul.inquiry_type li:nth-of-type(3n+1) {clear: left;}
.form ul.formlist li.height_shiryou div ul.inquiry_type {width: 105%;}
.form ul.formlist li.height_shiryou div.itemname p {font-weight:100;}
.form ul.formlist li.height_shiryou div ul.inquiry_type.doc_col3 li {width: 31%; padding: 1%; box-sizing: border-box !important;}
.form ul.formlist li.height_shiryou div ul.inquiry_type li {padding: 1%; box-sizing: border-box !important;}
.form ul.formlist li.height_shiryou div ul.inquiry_type.doc_col3 li:nth-child(3n-2){clear:both;}
.height_shiryou span.wpcf7-list-item { margin: 0;}
@media screen and (max-width: 640px){
.form ul.formlist li.height_shiryou ul.inquiry_type li>div { float: left; width: 24%; margin-right: 4%; padding: 0;}
.form ul.formlist li.height_shiryou div ul li p {float: left; width: 72% !important;}
.form ul.formlist li.height_shiryou div ul.inquiry_type li {width: 100%; margin: 0 auto 2%; padding: 0; text-align: left;}
.form ul.formlist li.height_shiryou div ul.inquiry_type.doc_col3 li {width: 100%; padding: 1%; box-sizing: border-box !important;}
.form ul.formlist li.height_shiryou div ul.inquiry_type {width: 100%;}
}