@charset "UTF-8";
/*
 *  page-top-form.css
 *  TOPページ埋め込み「簡単1分太陽光発電無料シミュレーション」フォーム専用
 *  page-system.css / page-estimate.css のフォーム関連ルールを #top-form 配下に抽出
 *  （TOPの他セクションと干渉させないため page-system.css は読み込まない）
 */

@media screen and (min-width: 768px),print {

  #top-form { padding: 90px 0; background-color: #F7EEDC; }

  /* 白箱＋黒太枠（TOP #contents01 .inner-Box2 と同意匠） */
  #top-form .form-outer { margin: 0 auto; background: #FFFFFF; border: 4px solid #1A1A1A; width: 1204px; }

  /* オレンジ帯見出し（TOP #contents01 .inner-Box2 h3 と同意匠） */
  #top-form .form-ttl { font-size: 28px; line-height: 1.6; font-weight: 700; letter-spacing: 1.4px; color: #fff; background: #FA5625; text-align: center; padding: 27px 31px; border-bottom: 4px solid #1A1A1A; }
  #top-form .form-ttl .badge { display: inline-block; background: #fff; color: #FA5625; font-size: 20px; line-height: 1; letter-spacing: 1px; padding: 9px 18px 8px; border-radius: 999px; margin-right: 16px; vertical-align: 4px; }
  #top-form .form-ttl .badge em { font-style: normal; font-size: 26px; letter-spacing: 0; }
  #top-form .form-ttl .free { color: #FABE00; }

  #top-form .form-Box{margin-bottom: 0;line-height: 1.6;}
  #top-form .form-Box-inner {width: 1100px; margin: 0 auto;}
  #top-form .form-Box .form-Box-inner{padding: 33px 50px 1px;background: #F2F2F2;margin: 40px auto;}
  #top-form .form-Box .form-list {font-size: 16px;margin-bottom: 25px;margin-left: 132px;letter-spacing: 0.8px;}
  #top-form .form-Box .error { margin-bottom: 1em;}
  #top-form .form-Box .attention-color { color: #f00;}
  #top-form .form-Box .form-list li {padding-left: 1em;text-indent: -1em;margin-bottom: 4px;}
  #top-form .form-Box table { border: 1px solid #dcdddd; margin-bottom: 50px; font-size: 0.875em; line-height: 1.6;}
  #top-form .form-Box th {border: 1px solid #F2F2F2;text-align: left;width: 290px;background-color: #fff;padding: 27px;vertical-align: top;font-size: 18px;line-height: 1.6;letter-spacing: 0.9px;font-weight: 700;position: relative;}
  #top-form .form-Box td {border: 1px solid #F2F2F2;text-align: left;padding: 27px;vertical-align: top;background: #fff;}
  #top-form .form-Box td img { max-width: 100%; height: auto;}
  #top-form .form-Box .from-btn-01 { text-align: center; }
  #top-form .form-Box .from-btn-02 { margin-top: 24px; width: 900px; margin-left: auto; margin-right: auto; text-align: center; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; flex-direction: row-reverse; }
  #top-form .form-Box .button {border: 0;padding: 0;margin: 0;background: none;}
  #top-form .form-Box .button:hover { cursor: pointer; cursor: hand; opacity: 0.8;}
  #top-form .form-Box input[type="text"],
  #top-form .form-Box input[type="email"],
  #top-form .form-Box input[type="tel"],
  #top-form .form-Box input[type="date"],
  #top-form .form-Box select,
  #top-form .form-Box textarea { font-size: 0.875rem; padding: 1%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
  #top-form .form-Box textarea {width: 100%; min-height: 120px;}

  #top-form .priv{ text-align: center; margin-bottom: 30px; }
  #top-form .priv a{text-decoration: underline;}
  #top-form .priv a:hover{text-decoration: none;}

  #top-form .btnArea { text-align: center; margin: 50px 0 20px; padding: 0; }

}

@media screen and (max-width: 767px) {

  #top-form { padding: 12vw 0; background-color: #F7EEDC; }

  /* 白箱＋黒太枠（SPは #contents01 .inner-Box2 と同じ1vw枠） */
  #top-form .form-outer { margin: 0 2.6vw; background: #FFFFFF; border: 1vw solid #1A1A1A; }

  /* オレンジ帯見出し */
  #top-form .form-ttl { font-size: 4.7vw; line-height: 1.6; font-weight: 700; letter-spacing: 0.2vw; color: #fff; background: #FA5625; text-align: center; padding: 4.5vw 2vw; border-bottom: 1vw solid #1A1A1A; }
  #top-form .form-ttl .badge { display: block; width: fit-content; background: #fff; color: #FA5625; font-size: 3.6vw; line-height: 1; letter-spacing: 0.2vw; padding: 1.8vw 3.6vw 1.6vw; border-radius: 999px; margin: 0 auto 2.4vw; }
  #top-form .form-ttl .badge em { font-style: normal; font-size: 4.6vw; letter-spacing: 0; }
  #top-form .form-ttl .free { color: #FABE00; }

  #top-form .form-Box{ padding: 4% 2%; margin-bottom: 0; line-height: 1.6;}
  #top-form .form-Box .form-Box-inner{padding: 5vw 3vw;background: #F2F2F2;}
  #top-form .form-Box .form-list { font-size: 3.2vw; margin-bottom: 10%;}
  #top-form .form-Box .error { margin-bottom: 1rem;}
  #top-form .form-Box .attention-color { color: #f00;}
  #top-form .form-Box .form-list li { padding-left: 1rem; text-indent: -1rem; margin-bottom: 3px; }
  #top-form .form-Box table {margin-bottom: 10%;font-size: 3.4vw;line-height: 1.6;}
  #top-form .form-Box tr { margin-bottom: 0 !important}
  #top-form .form-Box th {text-align: left;width: 100%;background-color: #fff;padding: 3%;vertical-align: top;font-weight: bold;position: relative;font-size: 3.8vw;}
  /* SPは「必須」バッジをth内で上下中央に（form.cssのPC基準 top:29px を上書き） */
  #top-form .form-Box th.required:after {top: 50%;right: 3vw;transform: translateY(-50%);line-height: 23px;}
  #top-form .form-Box td {border-bottom: 1px solid #F2F2F2;text-align: left;width: 100%;padding: 0vw 3vw 3vw 3vw;background: #fff;vertical-align: top;}
  #top-form .form-Box .from-btn-01 { text-align: center; }
  #top-form .form-Box .from-btn-02 { margin-top: 10%;}
  #top-form .form-Box .button { border: 0; padding: 0; margin: 0; background: none;}
  #top-form .form-Box .from-btn-02 p { margin-bottom: 3%;}
  #top-form .form-Box input[type="text"],
  #top-form .form-Box input[type="email"],
  #top-form .form-Box input[type="tel"],
  #top-form .form-Box input[type="date"],
  #top-form .form-Box select,
  #top-form .form-Box textarea {width: 99%; margin-bottom: 2%; font-size: 16px; padding: 2%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
  #top-form .form-Box input.input-txt1 {width: 30%; }
  #top-form .form-Box textarea {font-size: 16px; line-height: 1.6; min-height: 120px;}
  #top-form .form-Box select{font-size: 3.8vw; padding: 3% 2% 4%; width: 60%;-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
  #top-form .form-Box .back{ margin: 0 10vw; }

  #top-form .priv{ text-align: center; margin-bottom: 5%; }
  #top-form .priv a{text-decoration: underline;}
  #top-form .priv a:hover{text-decoration: none;}

  #top-form .btnArea { text-align: center; margin: 10% auto; padding: 0; }

}
