@charset "utf-8";


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ● 申込フォーム 専用CSS                                 */
/*    ・ページ固有の処理を記述                             */
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ContentsDivision
--------------------------------------------------- */
.ContentsDivision {
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*    override baser                                */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* フォーム全体のエラー表記 */
#MessageBox {
  padding: 75px 5% 25px;
  margin: 1em auto;
  width: 75%;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  background: #c00;
  position: relative;
}
    #MessageBox .alert-message{
      line-height: 1.5!important;
      border: none;
      padding: 0;
      color: inherit;
      margin: 0!important;
    }
    #MessageBox .alert-message:before{
      font-family: "picticon";
      font-style: normal;
      font-weight: normal;
      speak: none;
      display: inline-block;
      font-size: 50px;
      position: absolute;
      top: 0px;
      left: 50%;
      margin-left: -.5em;
      content: '\e837';
    }



/* 送信完了画面にMessageBoxを応用 */
#MessageBox.Complete {
  padding: 75px 5%;
  margin: 4em auto 1em;
  text-align: center;
  color: inherit;
  background: #fff;
  border: 1px solid #ccc;
  position: relative;
}






/* 項目ごとのエラー表記 */
.FormTable {}
    .FormTable .error-message,
    .AuthCaptchaTable .error-message{
      margin: 1em 0 1em;
      border-radius: 2px;
      font-size: 1.2rem;
      line-height: 1;
      color: #f00;
      background: none;
      padding-left: 0;
      text-align: left;
    }







/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Form Setting [Common]                          */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* FormItem （入力枠 1つ分）
--------------------------------------------------- */
.FormItem{
  margin: 0.25em 0;
}
    
    
    /* 入力枠の共通スタイル */
    .FormItem input[type='text'],
    .FormItem input[type='password'],
    .FormItem input[type='date'],
    .FormItem input[type='number'],
    .FormItem input[type='tel'],
    .FormItem input[type='mail'],
    .FormItem select{
      line-height: 1.25;
    }
    .FormItem input[type='text'],
    .FormItem input[type='password'],
    .FormItem input[type='date'],
    .FormItem input[type='number'],
    .FormItem input[type='tel'],
    .FormItem input[type='mail'],
    .FormItem select,
    .FormItem textarea,
    .AuthCaptchaTable input,
    .AuthCaptchaTable select,
    .AuthCaptchaTable textarea{
      max-width: 100%;
      border: 1px solid #ccc;
      border-radius: 0.25em;
      font-size: 100%;
      padding: 0.75em 0.75em;
      margin-top:     2.5px;
      margin-bottom:  2.5px;
      background: #fff;
      vertical-align: middle;
      box-shadow: none;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
      font-family: inherit;
    }

                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .FormItem{
                      font-size: 1.6rem;
                    }
                    
                    html.rsbp-under-bp2 .FormItem input[type='text'],
                    html.rsbp-under-bp2 .FormItem input[type='password'],
                    html.rsbp-under-bp2 .FormItem input[type='date'],
                    html.rsbp-under-bp2 .FormItem input[type='number'],
                    html.rsbp-under-bp2 .FormItem input[type='tel'],
                    html.rsbp-under-bp2 .FormItem input[type='mail'],
                    html.rsbp-under-bp2 .FormItem select,
                    html.rsbp-under-bp2 .FormItem textarea{
                      width: 100%;
                    }





    .FormItem input[type='text'],
    .FormItem input[type='password'],
    .FormItem input[type='date'],
    .FormItem input[type='number'],
    .FormItem input[type='tel'],
    .FormItem input[type='mail'],
    .FormItem textarea{
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
    }
    .FormItem input[type='mail']{
      width: 100%;
    }
    .FormItem input[type='number'] {
      width: 5em;
      text-align: right;
       -webkit-appearance: none;
          -moz-appearance:textfield;
    }

    .FormItem input[type='password'] {
      width: 10em;
    }
    .FormItem select{
      position: relative;
    }
          .FormItem .wrap_select{
            position: relative;
            display: inline-block;
          }
          .FormItem .wrap_select::before{
            content: "";
            position: absolute;
            right:  0.5em;
            top: 50%;
            z-index: 1;
            margin-top: -4px;
            width:  5px;
            height: 5px;
            border-top:   2px solid #c00;
            border-right: 2px solid #c00;
            transform: rotate(135deg) translate3d(0, 0, 0);
            pointer-events: none;
            line-height: 1.1;
            vertical-align: bottom;
          }
          .FormItem .wrap_select select{
            position: static;
            margin: 0;
            padding-right: 1.5em;
            cursor: pointer;
            -webkit-appearance: none;
               -moz-appearance: none;
                    appearance: none;
          }
          .FormItem .wrap_select select::-ms-expand {
            display: none;
          }
          .FormItem .wrap_select select:-moz-focusring { 
            color: transparent; 
            text-shadow: 0 0 0 #828c9a;
          }
                    /* + + + + + レスポンシブ + + + + +  */

                        /* bp2より狭いディスプレイ用 */
                        html.rsbp-under-bp2 .FormItem .wrap_select{
                          display: block;
                        }
    
    .FormItem textarea{
      width: 100%;
      height: 6em;
    }
    .FormItem input[type='checkbox'],
    .FormItem input[type='radio']{
      margin-right: 4px;
    }
    .FormItem label{
      display: inline;
      margin-right: 1.5em;
    }
            /* placeholder  */
            .FormItem ::-webkit-input-placeholder {
              color: #616161;
              /*color: rgba(0,0,0,0.25);*/
              font-weight: normal!important;
            }
            .FormItem ::-moz-placeholder {
              color: #616161;
              opacity: 1;
              /*color: rgba(0,0,0,0.25);*/
              font-weight: normal!important;
            }
            .FormItem :-ms-input-placeholder {
              color: #616161;
              /*color: rgba(0,0,0,0.25);*/
              font-weight: normal!important;
            }
            .FormItem input:placeholder-shown,
            .FormItem textarea:placeholder-shown{
              background: #fdf5f5;
            }
                    /* + + + + + レスポンシブ + + + + +  */

                        /* bp2より狭いディスプレイ用 */
                        html.rsbp-under-bp2 .FormItem input:placeholder-shown{
                        }



            /* focus時 */
            .FormItem input:not([readonly]):focus,
            .FormItem select:not([readonly]):focus,
            .FormItem textarea:not([readonly]):focus{
            }
            .FormItem select.test:focus{
              border: 1px solid #aaf;
              box-shadow: 0 0 1em #aaf;
            }

            /* エラー時 */
            .FormItem .form-error:not([type='radio']),
            .FormItem .form-error:not([type='checkbox']){
              border: 2px solid #f00!important;
            }
            div.checkbox.form-error {
              padding: 0.5em;
            }
            
            html.safari .FormItem .form-error[type='radio'],
            html.safari .FormItem .form-error[type='checkbox']{
              background: #333;
            }
                    /* + + + + + レスポンシブ + + + + +  */

                        /* bp2より狭いディスプレイ用 */
                        html.rsbp-under-bp2 .FormItem .form-error[type='radio'],
                        html.rsbp-under-bp2 .FormItem .form-error[type='checkbox']{
                          
                        }

            /* readonly */
            .FormItem input[readonly],
            .FormItem select[readonly],
            .FormItem textarea[readonly]{
              border: none!important;
              background: none!important;
            }

            /* invalid */
            .FormItem input[invalid],
            .FormItem select[invalid],
            .FormItem textarea[invalid]{
              color: #777!important;
              background: #ccc!important;
              box-shadow: none!important;
              border-color: #aaa;
            }



    /* 汎用 input部品のスタイル */
    .FormItem .InputText{
      width: 100%;
    }
    .FormItem .InputName,
    .FormItem .InputNameKana{
      width: 20em;
      margin-right: 0;
    }
    .FormItem .mail-before-attachment + .InputName,
    .FormItem .mail-before-attachment + .InputNameKana{
      margin-left: 0.5em;
    }
    .FormItem .InputCode{
      width: 20em;
    }
    .FormItem .InputZip{
      width: 20em;
      margin: 0 3px;
    }
    .FormItem .InputPhone{
      width: 7.5em;
      margin: 0 3px;
    }
    .FormItem .InputAddress{
      width: 100%;
    }
    .FormItem .InputMail{
      width: 100%;
    }
                    /* + + + + + レスポンシブ + + + + +  */

                        /* bp2より狭いディスプレイ用 */
                        html.rsbp-under-bp2 .FormItem .mail-before-attachment + .InputName,
                        html.rsbp-under-bp2 .FormItem .mail-before-attachment + .InputNameKana,
                        html.rsbp-under-bp2 .FormItem .InputZip{
                          width: calc(100% - 2.5em)!important;
                        }
                        html.rsbp-under-bp2 .FormItem .InputPhone{
                          width: 5em!important;
                        }




    /* 補足テキスト等 */
    .FormItem .MailDescription > p{
      margin-bottom:0.5em;
      line-height:1.5;
    }
    .FormItem .mail-description a,
    .FormItem .mail-attention a{
      color:#335cad;
      text-decoration: underline;
    }
    .FormItem .mail-description,
    .FormItem .mail-attention{
      margin: 0.5em 0;
      display: block;
    }

    
    
    .FormItem .mail-before-attachment{
      display: inline-block;
      min-width: 2em;
      text-align: center;
    }
                /* + + + + + レスポンシブ + + + + +  */
                
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .FormItem .mail-description,
                    html.rsbp-under-bp2 .FormItem .mail-before-attachment,
                    html.rsbp-under-bp2 .FormItem .mail-after-attachment,
                    html.rsbp-under-bp2 .FormItem .mail-attention{
                      font-size: 1.4rem;
                    }



    /* 確認画面の設定 */
    .FormBlock.Confirm .FormItem .mail-before-attachment{
      display: inline;
      min-width: 0;
      text-align: left;
      margin-right: 1em;
    }

/* ++++++++++++++++++++++++++++++++++++++++++++++++ */
/*   Form系のTable                                  */
/* ++++++++++++++++++++++++++++++++++++++++++++++++ */

/* AuthCaptchaTable イメージ認証
--------------------------------------------------- */
.AuthCaptchaTable{
  margin: 30px auto 15px;
  border-collapse: collapse;
  border-spacing: 0px;
  border: 4px solid #ebf5da;
}
    .AuthCaptchaTable th{
      text-align: center;
      width: 200px;
    }
    .AuthCaptchaTable td{
      width: 50%;
      padding: 10px;
      text-align: center;
      width: 250px;
      font-size: 87.5%;
    }



/* FormTable 
--------------------------------------------------- */
.FormTable{
  margin: 25px auto!important;
  width: 100%;
  border-collapse: collapse;
}

    .FormTable th,
    .FormTable td{
      padding: 10px 10px;
      line-height: 1.5;
      vertical-align: middle;
      border:  1px solid rgba(120,100,90,0.25);
    }
    .FormTable th{
      background: #f5f5f5!important;
      font-weight: normal;
      width: 30%;
      text-align: left;
    }
    .FormTable td{
      background: #fff!important;
      background: none;
    }
    
        /* 入力部品 の親 */
        .FormTable .FormItem{
          position: relative;
        }
        .FormTable .FormItem > [id*='Tel']{
          /*display: inline-block;*/
        }
                    /* 独自処理：横並びにしない項目は block にする */
                    .FormTable .FormItem > [id^='FieldMessageTel'],
                    .FormTable .FormItem > [id^='FieldMessageMail'],
                    .FormTable .FormItem > [id^='FieldMessageAddress'],
                    .FormTable .FormItem > [id^='FieldMessageNote'],
                    .FormTable .FormItem > [id^='FieldMessageEnquete'] {
                      display: block;
                    }
                    .FormTable .FormItem > [id^='FieldMessageEnquete']:not(:first-child) {
                      margin-top: 0.5em;
                      border-top: 1px dotted #ccc;
                      padding-top: 0.5em;
                    }

        /* 必須・任意の表示 */
        .FormTable th .normal,
        .FormTable th .required{
          float: right;
        }
        .FormTable th .normal{
          display: none;
        }
        .FormTable th .required{
          color: #fff!important;
          background-color: #b22430;
          display: inline-block;
          font-size: 75%;
          line-height: 1.125;
          padding: 0.25em 0.5em;
          float: right;
          border-radius: 0.25em;
        }


                /* + + + + + レスポンシブ + + + + +  */

                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .FormTable{
                      border-bottom: 1px solid rgba(120,100,90,0.25);
                    }
                    html.rsbp-under-bp2 .FormTable tr{
                      border: none;
                      margin: 0;
                    }
                    html.rsbp-under-bp2 .FormTable th{
                      font-weight: bold;
                      font-size: 1.6rem;
                      padding: 1em 0 0!important;
                      background:    none!important;
                      border-left:   none;
                      border-bottom: none;
                      border-right:  none;
                    }
                    html.rsbp-under-bp2 .FormTable td{
                      border: none;
                    }
                    html.rsbp-under-bp2 .FormTable th .required{
                      float: left;
                      margin-right: 0.5em;
                      margin-left: 0!important;
                      font-size: 75%!important;
                    }
                    html.rsbp-under-bp2 .FormTable td input{
                    }






/* LoginTable 
--------------------------------------------------- */
.LoginTable{
  margin: 10px auto!important;
  width: auto;
  border-collapse: collapse;
  
}
    .LoginTable tr{
    }
    .LoginTable th,
    .LoginTable td{
      padding: 0px;
      line-height: 1.5;
      vertical-align: middle;
    }
    .LoginTable th{
      background: none;
      font-weight: normal;
    }
    .LoginTable td{
      background: none;
    }
    .LoginTable p.FormItem{
      line-height: 1;
      margin: 0;
    }


                /* + + + + + レスポンシブ + + + + +  */

                    /* bp2より広いディスプレイ用 */
                    html.rsbp-over-bp2 .LoginTable {
                      background: #f0f0f9;
                      text-align: center;
                      padding: 0.5em;
                      border-radius: 0.5em;
                      display: block;
                    }
                    html.rsbp-over-bp2 .LoginTable tbody,
                    html.rsbp-over-bp2 .LoginTable tr,
                    html.rsbp-over-bp2 .LoginTable tr th,
                    html.rsbp-over-bp2 .LoginTable tr td{
                      display: inline-block;
                    }
                    html.rsbp-over-bp2 .LoginTable tr th{
                      padding-left: 1em;
                    }
                    /* bp2より狭いディスプレイ用 */
                    html.rsbp-under-bp2 .LoginTable {
                      width: 100%;
                    }
                        html.rsbp-under-bp2 .LoginTable tr {
                          display: block;
                          border-bottom: 1px dotted #d0d0d0;
                          padding: 0.75em 0;
                        }
                        html.rsbp-under-bp2 .LoginTable tr th,
                        html.rsbp-under-bp2 .LoginTable tr td{
                          display: block;
                          text-align: left;
                        }
                        html.rsbp-under-bp2 .LoginTable tr th{
                          font-weight: bold;
                          padding-bottom: 0.5em;
                        }
                        html.rsbp-under-bp2 .LoginTable tr td input,
                        html.rsbp-under-bp2 .LoginTable tr td select{
                          width: 100%;
                          margin: 0;
                        }
                        html.rsbp-under-bp2 .LoginTable tr td .wrap_select{
                          width: 100%;
                        }







