#contents form * {
    box-sizing: border-box;
}

input[type=checkbox] {
    margin-right: 6px;
}

.attention {
    background: #fff3f3;
    padding: 30px 50px;
}

#contents .attention ul {
    margin: 0 0 20px 50px;
}

#contents .attention ul li {
    position: relative;
    background: none;
    padding-left: 0;
}

form#mailformpro .attention ul li span.must {
    position: absolute;
    top: 9px;
    left: -45px;
    right: auto;
}

form#mailformpro .attention ul li label.mfp_not_checked,
form#mailformpro .attention ul li label.mfp_checked {
    white-space: normal;
    padding: 4px;
    border: none;
    line-height: 1.5;
    margin-bottom: 10px;
    text-indent: -20px;
    padding-left: 20px;
}

form#mailformpro .attention div.mfp_err {
    text-indent: 0;
}

form#mailformpro .attention input {
    vertical-align: baseline;
}

form#mailformpro .attention .textCenter label.mfp_not_checked {
    border: 1px solid #920000;
    padding: 10px 20px;
    background: #FFF;
}

form#mailformpro .attention .textCenter label .must {
    display: inline-block;
}

form#mailformpro .attention .textCenter label.mfp_checked {
    border: 1px solid #920000;
    padding: 10px 20px;
}

form#mailformpro .attention input,
form#mailformpro .widthAuto input {
    width: auto;
}

form#mailformpro table {
    width: 100%;
}

::placeholder {
    color: #BBB;
}

#contents p.comment {
    color: #1d5eb1;
    position: relative;
    text-align: center;
}

#contents td p.comment {
    margin-bottom: 5px;
    color: #1d5eb1;
    position: relative;
    text-align: left;
}

.comment::before {
    content: '※';
    margin-right: 5px;
}

#contents td p.commentRed {
    margin-bottom: 5px;
    color: #e0840f;
    position: relative;
}

.commentRed::before {
    content: '※';
    margin-right: 5px;
}

form#mailformpro input {
    width: 100%;
}

form#mailformpro .day label.mfp_not_checked {
    border: none;
}

form#mailformpro .day label.mfp_checked {
    border: none;
}

form#mailformpro .day input {
    width: auto;
}

label.error {
    color: #CCC;
    font-size: 10px;
}

.day label.error {
    color: #F00;
    background: url(_images/mfp_error.gif) no-repeat left center;
    padding-left: 14px;
    font-size: 14px;
}

#contents .kakomiSingle ul li {
    background: url(../../style/images/liOrange.png) no-repeat left 7px;
}

#contents .kakomiSingle ul {
    margin-top: 10px;
}

form#mailformpro input[type=button], form#mailformpro input[type=submit], form#mailformpro input[type=reset] {
    margin: 30px 10px;
    padding: 12px;
    width: 12em;
}

#amount {
    position: relative;
}

#amount input.error {
    background: #FCC;
}

#amount label.error {
    color: #F00;
    position: absolute;
    top: 15px;
    right: 12em;
    background: url(_images/mfp_error.gif) no-repeat 0px 3px;
    padding: 3px 0px 5px 17px;
    font-size: 14px;
}

.flex {
    display: flex;
    justify-content: space-between;
    width: 520px;
    margin: 0 auto;
}

.qa {
    border: 4px solid #7392B7;
    margin-bottom: 40px;
    padding: 10px 20px;
}

#contents .qa h2 {
    background: none;
    margin-bottom: 10px;
}

#contents .question, #contents .answer {
    position: relative;
    padding-left: 30px;
}

.question {
    font-weight: bold;
}

.question::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(_images/faqQ.svg) no-repeat left top;
    background-size: cover;
}

.answer::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url(_images/faqA.svg) no-repeat left top;
    background-size: cover;
}

@media screen and (max-width:479px) {
    form#mailformpro .attention .textCenter label.mfp_not_checked,
    form#mailformpro .attention .textCenter label.mfp_checked {
        white-space: normal;
        text-align: left;
        line-height: 1.4;
    }

    form#mailformpro .attention .textCenter label .must {
        right: 10px;
        text-indent: 0;
        margin: 0px 5px 0 0;
    }
    .attention {
        padding: 10px;
    }
    form#mailformpro table th, form#mailformpro table td {
        display: block;
    }
    form#mailformpro table th {
        border-bottom: none;
    }
    form#mailformpro table td.day {
        border-top: none;
    }
    .flex {
        width: 100%;
    }
    form#mailformpro input[type=button], form#mailformpro input[type=submit], form#mailformpro input[type=reset] {
        margin: 30px 5px;
        padding: 12px;
        width: 8em;
    }
}