  #main h1 {
    text-align: center;
    padding-bottom: 0.5em;
  }

  #main form .box:first-child {
    margin-bottom: 3em;
  }

  #main .mw_wp_form_confirm .none {
    display: none;
  }

  /* 必須 */
  #main .hissu:before {
    content: "必須";
    background: #c00;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4em;
    margin-right: 0.8em;
    padding: 0.1em 0.5em;
    vertical-align: 3px;
  }

  /* 任意 */
  table th:before {
    content: "任意";
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4em;
    margin-right: 0.8em;
    vertical-align: inherit;
    background-color: #0978d6;
    padding: 0.1em 0.5em;
  }

  #main .chui {
    font-size: 14px;
  }

  /* ステップ表示 */
  #main .form-step {
    display: flex;
    list-style: none;
    margin: 15px auto 2em;
    position: relative;
    width: 70%;
  }

  #main .form-step:before {
    background-color: #ccc;
    content: "";
    height: 2px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 25px;
    width: 70%;
  }

  #main .form-step li {
    counter-increment: li;
    width: calc(100% / 3);
    text-align: center;
  }

  #main .form-step li:before {
    background: #ccc;
    border-radius: 50%;
    color: #fff;
    content: counter(li);
    display: block;
    font-size: 20px;
    height: 2.5em;
    margin: 0 auto 5px;
    padding-top: 0.45em;
    position: relative;
    width: 2.5em;
    text-align: center;
  }

  #main .form-step li:first-child:before,
  #main .mw_wp_form_confirm .form-step li:nth-child(2):before {
    background: #53d0c0;
  }

  #main .mw_wp_form_confirm .form-step li:first-child:before {
    background: #ccc;
  }

  /* イントロ */
  #main .mw_wp_form_confirm h1:after {
    content: "（確認）";
  }

  #main .ssl-icon {
    font-weight: bold;
  }

  #main .ssl-icon:before {
    content: "\f023";
    color: #26c300;
    font-family: "Font Awesome 5 Free";
    font-size: 1.6em;
    font-weight: bold;
    margin-right: 0.2em;
  }

  @media (min-width:730px) {
    #main h1 {
      text-align: center;
    }

    #main .att-box li {
      display: inline-block;
    }

    #main .att-box li:before {
      content: "・";
    }
  }

  /* Eo min730 */

  /* フォーム */
  #main input {
    margin: 2px 0;
  }

  #main input[type="text"],
  #main input[type="email"],
  #main textarea {
    background: #FFFFFF;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1px solid #ccc;
    width: 100%;
  }

  #main input[type="text"],
  #main input[type="email"],
  #main select {
    margin: 2px 0;
    height: auto;
    line-height: 2em;
    padding: 5px 0.5em;
    width: 80%;
  }

  #main select[name="address-pre"] {
    width: 170px;
  }

  #main select {
    padding: 7px 0.5em;
    width: 110px;
  }

  #main input[type="text"][name*="tel"] {
    max-width: 28%;
    width: auto;
  }

  #main input[name="age"],
  #main input[name="zip"],
  #main input[name="tel"],
  #main input[name="income"],
  #main input[name="budget"] {
    display: inline-block;
    max-width: 150px;
  }

  #main textarea {
    width: 100%;
  }

  #main span.horizontal-item {
    display: inline-block;
    margin: 0 10px 0 0;
  }

  #main input[type="file"] {
    margin-bottom: 10px;
  }

  #main .submit {
    text-align: center;
  }

  #main .submit input {
    background-color: #ababab;
    border-radius: 6px;
    font-size: 1.4rem;
  }

  #main .submit input[name=submitConfirm],
  #main .submit input[name=submit] {
    background-color: #ff9124;
  }

  #main .submit input:hover {
    opacity: 0.8;
  }

  #main input[type="submit"] {
    max-width: 300px;
    padding: 1em;
    width: 100%;
  }

  #main .mw_wp_form .error {
    border: 3px solid red;
    margin: 10px 0 0;
    padding: 5px 10px;
  }

  @media (max-width: 1039px) {

    #main input[type="text"],
    #main input[type="email"] {
      width: 80%;
    }
  }

  /* Eo max1039 */

  @media (max-width: 729px) {

    #main input[type="text"],
    #main input[type="email"] {
      max-width: 100%;
      width: 100%;
    }

    #main input[name="zip"] {
      max-width: 150px;
    }

    #main input[name*="tel"] {
      width: 25%;
    }
  }

  /* Eo max729 */

  /* 透かし文字の色 */
  :placeholder-shown {
    color: #999;
  }

  ::-webkit-input-placeholder {
    color: #999;
  }

  :-moz-placeholder {
    color: #999;
    opacity: 1;
  }

  ::-moz-placeholder {
    color: #999;
    opacity: 1;
  }

  :-ms-input-placeholder {
    color: #999;
  }

  /* 表修正  */
  table {
    border-collapse: collapse;
    margin-bottom: 15px;
    padding: 0;
    table-layout: fixed;
    width: 100%;
    max-width: 1100px;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  table th,
  table th:first-child,
  table td {
    border: none;
    box-sizing: border-box;
    display: block;
    line-height: 1.6em;
    padding: 5px 10px;
    width: 100%;
  }

  table th {
    background: #dbdbdb;
    text-align: left;
    vertical-align: middle;
  }

  table th:first-child {
    padding-left: 15px;
  }

  table td {
    line-height: 1.6em;
    text-align: left;
    vertical-align: middle;
  }

  table td:last-child {
    padding: 10px 0 15px;
  }

  table td p:last-child {
    margin: 0;
  }

  table td ul {
    list-style-position: outside;
  }

  table a {
    font-weight: normal;
  }

  @media (min-width: 730px) {

    table th,
    table td,
    table th:first-child,
    table td:first-child,
    table td:last-child {
      border: 1px solid #ccc;
      display: table-cell;
      padding: 10px 15px;
    }

    table th,
    table th:first-child {
      background-color: #efefef;
      width: 24%;
    }

    #main table th br {
      display: none;
    }

    table td {
      background: #fff;
    }
  }

  /* Eo min730 */

  /* 注意 */
  #main .att-heading {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 5px;
    text-align: center;
  }

  #main .fa-lock:before {
    color: #2a9e00;
    font-size: 1.8rem;
    margin-right: 5px;
  }

  @media (min-width:730px) {
    #main h1 {
      text-align: center;
    }

    #main h2 {
      font-size: 1.8em;
    }

    #main .policy {
      text-align: center;
    }

    #main form>div>p {
      text-align: center;
    }
  }

  /* Eo min730 */