#main h1 {
    margin-bottom: 0.75em;
}
#main .outer:first-child {
    padding-bottom: 0;
}
#main .outer:first-child .box {
    margin-bottom: 0;
}
/* 部品 */
#main form .box:first-child {
    margin-bottom: 3em;
}
#main .mw_wp_form_confirm .none {
    display: none;
}

#main .hissu {
    background: #d43838;
    color: #fff;
    display: inline-block;
    font-size: 0.8em;
    font-weight: normal;
    padding:  0.2em 0.5em;
    line-height: 1.6em;
    vertical-align: text-top;
    margin-left: 0.5em;
}
#main .th-span {
    margin-right: 5px;
}

#main .chui {
    font-size: 14px;
}

/* ステップ表示 */
#main .form-step {
    display: flex;
    list-style: none;
    margin: 0 auto;
    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: #d43838;
}
#main .mw_wp_form_confirm .form-step li:first-child:before {
    background: #ccc;
}

/* イントロ */
#main .mw_wp_form_confirm h1:after {
    content: "（確認）";
}
#main .yokonarabi li {
    list-style-type: none;
    font-size: 14px;
    display: inline-block;
}
#main .yokonarabi li:before {
    content: "・";
    margin-right: 0.2em;
}
#main .yokonarabi .ssl-icon:before {
    content: "\f023";
    color: #ffba00;;
    font-family: "Font Awesome 5 Free";
    font-size: 1.6em;
    font-weight: bold;
}

/* フォーム */
#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: #006dc2;
}
#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;
}

/* 透かし文字の色 */
: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%;
}
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: #eaeaea;
    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;
}

/* 利用規約を遵守 */
#main .agree {
    max-width: 22em;
    text-align: center;
    background-color: #fff6f6;
    margin-right: auto;
    margin-left: auto;
    padding: 1em 0;
    border: 1px solid #d43838;
    font-size: 1.2em;
}
#main .agree p:first-child {
    margin-top: 0;
    font-weight: 700;
}
#main .agree p a {
    text-decoration: underline;
}
#main .agree p .hissu {
    margin-right: 5px;
}
#main .agree span.error {
    display: inline-block;
    padding-right: 0;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
}

/* 注意 */
#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;
}

/* 確認画面 */
.mw_wp_form_preview .agree {
    display: none;
}

/* ---------------------------------------------------------------
01
* 幅 768px 未満 ( スマホの時だけ適用されるスタイル )
*/
@media screen and (max-width: 767px) {
    
    #main h1 {
        margin-top: 1em;
    }

    /* フォーム */
    #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%;
    }
    
    .mw_wp_form_preview .fc table td {
        padding-left: 1em;
    }

    /* 改行 スマホと767px以下のみ */
    .br-sp { display: inline-block; }
    .br-tb { display: none; }
    .br-pc { display: none; }

}/* End max 767px */


/* ---------------------------------------------------------------
02
* 幅 768px 以上 ( PCの時だけ適用されるスタイル )
*/
@media screen and (min-width: 48em) {

    /* 部品 */
    #main .hissu {
        font-size: 0.7em;
    }

    /* イントロ */
    #main h1 {
        text-align: center;
    }
    #main ul.yokonarabi {
        text-align: center;
    }
    #main .att-box li {
        display: inline-block;
    }
    #main .att-box li:before {
        content: "・";
    }

    /* 表修正 */
    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 {
        width:25%;
    }
    #main table th br {
        display: none;
    }
    table td {
        background: #fff;
    }

    /* 注意 */
    #main h2 {
        font-size: 1.8em;
    }
    #main .policy {
        text-align: center;
    }
    #main form > div > p {
        text-align: center;
    }

    /* 改行 ipadと768～879px間のみ */
    .br-sp { display: none; }
    .br-tb { display: inline-block; }
    .br-pc { display: none; }

}/* End min 768px */


/* ---------------------------------------------------------------
03
* 幅 880px 以上
*/
@media screen and (min-width: 55em) {

    #main .yokonarabi li {
        font-size: 16px;
    }

    /* 改行 880〜1071px間は改行しない */
    .br-sp { display: none; }
    .br-tb { display: none; }
    .br-pc { display: none; }

}/* End min 880px */


/* ---------------------------------------------------------------
04
* 幅 1072px 以上
*/
@media screen and (min-width: 67em) {

    /* 改行 1072px以上のみ */
    .br-sp { display: none; }
    .br-tb { display: none; }
    .br-pc { display: inline-block; }

}/* End min 1072px */