/* --- お問い合わせフォーム --- */
/* デザインカスタマイズ */
div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 0 30px 0; }
div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:11px; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; }
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:200px; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
 
 
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
 
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

/* --- コンタクトフォーム --- */

.table-contactform7{
  overflow: hidden;
  table-layout: fixed;
}

 
.required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}
 
.table-contactform7 th{
  font-weight:bold;
}
 
.table-contactform7 input,
.table-contactform7 textarea{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.address-100 input{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}
 
.message-100 textarea{
  width: 100%;
  margin: 5px 10px 10px 5px;
}
 
@media screen and (min-width: 900px){
  .table-contactform7 th{
    width:28%;
  }
    }
     
@media screen and (max-width: 900px){
.table-contactform7{
  display:block;
}     
       
  .table-contactform7 tbody,
  .table-contactform7 tr{
    display: block;
    width: 100%;
  }
  .table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
}
.table-contactform7 td{
  display: list-item;
  list-style-type:none;
  margin:0;
  padding:0;
  width: 100%;
  border-top: none !important;
}
}
/* 他社経験ブロック：aria-hidden に合わせて必ず表示制御する（他CSSの上書き対策） */
.af-ocx-wrap[aria-hidden="true"] {
  display: none !important;
}

.af-ocx-wrap[aria-hidden="false"] {
  display: flex !important;          /* row2想定で flex */
  flex-wrap: wrap;
  gap: 12px;
}

/* サブフィールドの並び（見た目が崩れる場合の保険） */
.af-ocx-wrap[aria-hidden="false"] .af-subfield {
  flex: 1 1 220px;
  min-width: 220px;
}


/* =========================================
   dl-sticker CF7 FIX（既存CSSの上書き）
   scope: このフォームのみ
========================================= */
.fean-sticker-form .table-contactform7{
  display: table !important;
}

@media (max-width: 900px){
  .fean-sticker-form .table-contactform7,
  .fean-sticker-form .table-contactform7 tbody,
  .fean-sticker-form .table-contactform7 tr{
    display: table-row-group !important;
  }

  .fean-sticker-form .table-contactform7 th,
  .fean-sticker-form .table-contactform7 td{
    display: table-cell !important;
    width: auto !important;
    padding: .5rem .75rem;
  }
}

/* input の過剰制限を解除 */
.fean-sticker-form .table-contactform7 input,
.fean-sticker-form .table-contactform7 textarea{
  max-width: 100% !important;
}
/* =========================================
   ht-label: CF7 table form stabilizer
   scope: .fean-htlabel-form only
========================================= */
@media (max-width: 900px){
  .fean-htlabel-form .table-contactform7{
    display: table !important;
  }
  .fean-htlabel-form .table-contactform7 tbody{
    display: table-row-group !important;
    width: auto !important;
  }
  .fean-htlabel-form .table-contactform7 tr{
    display: table-row !important;
    width: auto !important;
  }
  .fean-htlabel-form .table-contactform7 th,
  .fean-htlabel-form .table-contactform7 td{
    display: table-cell !important;
    width: auto !important;
    padding: .5rem .75rem;
    border-top: 1px solid #dee2e6;
  }
}

/* input の過剰制限（max-width:90% !important）を、このページだけ解除 */
.fean-htlabel-form .table-contactform7 input,
.fean-htlabel-form .table-contactform7 textarea{
  max-width: 100% !important;
  box-sizing: border-box;
}
/* =========================================
   contact page: CF7 stabilizer (scoped)
   scope: .fean-contact-form only
========================================= */
.fean-contact-form div.wpcf7{
  background: transparent;
  border: 0;
  padding: 0;
  border-radius: 0;
  margin: 0;
}

.fean-contact-form div.wpcf7 p{
  padding: 0;
  margin: 0 0 1rem;
  font-size: inherit;
}

.fean-contact-form .wpcf7-form-control,
.fean-contact-form input[type="text"],
.fean-contact-form input[type="email"],
.fean-contact-form input[type="tel"],
.fean-contact-form input[type="number"],
.fean-contact-form input[type="date"],
.fean-contact-form select,
.fean-contact-form textarea{
  max-width: 100%;
  box-sizing: border-box;
}

.fean-contact-form textarea{
  width: 100%;
  height: auto;
  min-height: 180px;
}
