﻿@charset "UTF-8";

h6 {
    line-height: 64px;
    font-size: 180%;
    font-weight: bold;
    border: 5px solid #fd8000;
}

    h6 .num {
        display: inline-block;
        margin-right: 2em;
        text-align: center;
        color: #ffffff;
        font-size: 70%;
        vertical-align: top;
        background: #fd8000;
        position: relative;
    }

        h6 .num:after {
            content: "";
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            top: 0;
            right: -40px;
            border-width: 32px 20px 32px 20px;
            border-style: solid;
            border-color: transparent;
            border-left-color: #fd8000;
        }

/*---------------------------------------
h2 お役立ちサービスのh2のデザインは維持したいので
----------------------------------------*/
#contents
h2 {
    margin-left: 4px;
    padding-left: 25px;
    min-height: 27px;
    height: auto !important;
    height: 27px;
    background: url(/fire/images/icon_main_title.gif) no-repeat 0 0;
}

    #contents
    h2 img {
        margin-top: 4px;
    }

/* #contents */
#contents .indicatorBlock {
    margin-bottom: 28px;
    clear: both;
}

    #contents .indicatorBlock div {
        margin-top: -17px;
        padding-right: 7px;
        text-align: right;
    }



/* form > section -------------------------------*/
form > section {
    margin-bottom: 100px;
}

#step2,
#step3 {
    display: none;
}
/* input-box -------------------------------*/
.input-sec {
    border: 4px solid #10549d;
    padding: 0 25px;
    margin-top: 20px;
}

    .input-sec > header {
        line-height: 30px;
        padding: 20px 0;
        padding-left: 60px;
        border-bottom: 2px dotted #cccccc;
        position: relative;
    }

        .input-sec > header .input-flag {
            position: absolute;
            top: 20px;
            left: 5px;
        }

            .input-sec > header .input-flag span {
                display: inline-block;
                width: 50px;
                color: #ffffff;
                text-align: center;
                font-weight: bold;
                background: #aaaaaa;
            }

                .input-sec > header .input-flag span.req {
                    background: #f72100;
                }

                    .input-sec > header .input-flag span.req:before {
                        content: "必須";
                    }

                .input-sec > header .input-flag span.noreq {
                    background: #aaaaaa;
                }

                    .input-sec > header .input-flag span.noreq:before {
                        content: "任意";
                    }

                .input-sec > header .input-flag span.ok {
                    background: #29ABE2;
                }

                    .input-sec > header .input-flag span.ok:before {
                        content: "OK";
                    }

        .input-sec > header h3 {
            font-size: 24px;
            font-weight: bold;
        }

    .input-sec.error > header h3 {
        color: #f72100;
    }

    .input-sec .input-content {
        padding: 20px 0 30px;
        padding-left: 60px;
        position: relative;
    }

        .input-sec .input-content:after {
            content: ".";
            display: block;
            clear: both;
            height: 0;
            visibility: hidden;
            overflow: hidden;
        }

        .input-sec .input-content strong {
            font-weight: bold;
        }

        .input-sec .input-content label {
            font-size: 120%;
        }

            .input-sec .input-content label > span > span {
                display: block;
                margin-top: .3em;
            }

            .input-sec .input-content label > span .small {
                font-size: 70%;
                font-weight: normal;
            }

            .input-sec .input-content label > span .middle {
                font-size: 90%;
            }

/* input-sub-box -------------------------------*/
.input-sub-sec {
    margin-top: 40px;
}

    .input-sub-sec > header h4 {
        font-size: 24px;
        font-weight: bold;
    }

    .input-sub-sec.error > header h4 {
        color: #f72100;
    }

    .input-sub-sec .input-sub-content {
        padding-top: 20px;
    }

        .input-sub-sec .input-sub-content:after {
            content: ".";
            display: block;
            clear: both;
            height: 0;
            visibility: hidden;
            overflow: hidden;
        }
/* hint-box -------------------------------*/
.hint-box {
    margin-top: 20px;
}

    .hint-box h5 {
        line-height: 50px;
        padding: 0 1em;
        font-size: 120%;
        font-weight: bold;
        color: #ffffff;
        border-radius: 5px 5px 0 0;
        background: #10549d;
        position: relative;
    }

        .hint-box h5:before {
            content: "";
            display: inline-block;
            width: 20px;
            height: 20px;
            margin-right: .5em;
            margin-bottom: 2px;
            vertical-align: middle;
            background: url(../images/icon_sun.png) no-repeat 0 0;
            background-size: contain;
        }

        .hint-box h5:after {
            content: "";
            display: block;
            position: absolute;
            width: 12px;
            height: 20px;
            top: 50%;
            right: 1.5em;
            margin-top: -10px;
            background: url(../images/icon_arrow.png) no-repeat 0 0;
            background-size: contain;
            -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
        }

        .hint-box h5.close {
            border-radius: 5px;
        }

            .hint-box h5.close:after {
                -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
            }

    .hint-box .hint-box-inner {
        border: 1px solid #cccccc;
        border-top: 0;
        padding: 10px;
        line-height: 1.5;
    }

        .hint-box .hint-box-inner a {
            color: #239ecf;
        }

        .hint-box .hint-box-inner li dt {
            font-size: 120%;
            font-weight: bold;
            margin-bottom: .3em;
        }

        .hint-box .hint-box-inner > dl dt {
            font-weight: bold;
        }

        .hint-box .hint-box-inner > dl dd {
            margin-left: .5em;
            font-size: 90%;
            margin-top: .5em;
        }

/* balloon-box -------------------------------*/
.balloon-box {
    position: absolute;
    top: -110px;
    right: -10px;
    padding: 15px 25px 15px 30px;
    border-radius: 15px;
    background: #21afe6;
    box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.25);
}

    .balloon-box:before {
        content: "";
        position: absolute;
        display: block;
        width: 57px;
        height: 44px;
        top: -5px;
        left: -20px;
        background: url(../images/icon_balloon.png) no-repeat 0 0;
        background-size: contain;
    }

    .balloon-box:after {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        bottom: -15px;
        left: 1em;
        border-width: 0px 0px 15px 12px;
        border-style: solid;
        border-color: transparent;
        border-left-color: #21afe6;
    }

    .balloon-box p {
        color: #ffff00;
        font-size: 140%;
        font-weight: bold;
        text-decoration: underline;
    }

    .balloon-box dl + p {
        padding-right: 50px;
    }

    .balloon-box dl {
        text-align: center;
        position: absolute;
        top: 0px;
        right: -30px;
        width: 8em;
        height: 8em;
        padding-top: 1.2em;
        border-radius: 50%;
        box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.25);
        background: #ffff00;
        transform: rotate(15deg);
    }

    .balloon-box dt {
        font-size: 90%;
        font-weight: bold;
    }

        .balloon-box dt strong {
            display: block;
            font-size: 200%;
            color: #10549d;
        }

    .balloon-box dd {
        font-size: 60%;
    }
/* for radio and checkbox -------------------------------*/
.input-btn-box {
    position: relative;
}

    .input-btn-box ul {
        display: table;
        table-layout: fixed;
        width: 100%;
    }

    .input-btn-box li {
        display: table-cell;
        vertical-align: middle;
    }

    .input-btn-box input {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 0;
        opacity: 0;
        z-index: -1;
    }

    .input-btn-box label {
        display: table;
        width: 100%;
        height: 54px;
        font-weight: bold;
        text-align: center;
        border-width: 2px 1px 2px 1px;
        border-style: solid;
        border-color: #aaaaaa;
        background: #ffffff;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
        background: -moz-linear-gradient(top, #ffffff 30%, #dddddd 100%);
        background: -webkit-linear-gradient(top, #ffffff 30%,#dddddd 100%);
        background: linear-gradient(to bottom, #ffffff 30%,#dddddd 100%);
    }

    .input-btn-box li:first-child label {
        border-left-width: 2px;
        border-radius: 10px 0 0 10px;
    }

    .input-btn-box li:last-child label {
        border-right-width: 2px;
        border-radius: 0 10px 10px 0;
    }

    .input-btn-box label > span {
        display: table-cell;
        width: 100%;
        height: 100%;
        vertical-align: middle;
    }

    .input-btn-box input:checked + label {
        background: #ffffcc;
        box-shadow: 0px 1px 3px 0px #787800 inset;
    }

    .input-btn-box input:disabled:checked + label {
        background: #e7e7e7;
        border-color: #aaaaaa !important;
        box-shadow: 0px 2px 2px 0px #aaaaaa inset;
    }

    .input-btn-box input[type="checkbox"] + label {
        font-size: 90%;
        position: relative;
        padding-left: 45px;
        text-align: left;
    }

        .input-btn-box input[type="checkbox"] + label:before {
            content: "";
            display: block;
            position: absolute;
            width: 27px;
            height: 24px;
            top: 50%;
            left: 10px;
            margin-top: -12px;
            background: url(../images/icon_check.png) no-repeat 0 bottom;
            background-size: 100% auto;
        }

    .input-btn-box input[type="checkbox"]:checked + label:before {
        background-position: 0 top;
    }

/* single checkbox -------------------------------*/
.input-single-cb-box {
    margin-top: 20px;
}

.input-single-cb {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

    .input-single-cb input[type="checkbox"] {
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
    }

        .input-single-cb input[type="checkbox"] + label {
            content: "";
            display: inline-block;
            width: 27px;
            height: 24px;
            background: url(../images/icon_check.png) no-repeat 0 bottom;
            background-size: 100% auto;
        }

        .input-single-cb input[type="checkbox"]:checked + label {
            background-position: 0 top;
        }

    .input-single-cb + label {
        font-size: 80% !important;
        vertical-align: middle;
    }


/* for selectbox -------------------------------*/
.input-select-box {
    display: table;
    table-layout: fixed;
}

    .input-select-box > * {
        display: table-cell;
        vertical-align: middle;
    }

    .input-select-box > span {
        font-size: 120%;
    }

.input-select {
    position: relative;
}

    .input-select select {
        position: absolute;
        -webkit-appearance: none;
        appearance: none;
        top: 0;
        left: 0;
        cursor: pointer;
        font-size: inherit;
        opacity: 0;
    }

    .input-select select,
    .input-select label {
        display: table;
        width: 100%;
        height: 50px;
        padding: 0 0.8em;
        font-weight: bold;
        border: 2px solid #aaaaaa;
        background: #ededed;
    }
/* datepicker用 */
.input-box {
    position: relative;
}

    .input-box input[type="text"].datepicker,
    .input-box input[type="text"].monthpicker {
        position: absolute;
        bottom: 0;
        opacity: 0;
    }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    background: #ffffff;
    border: 2px solid #aaaaaa;
}

.input-select label.datepicker {
    position: relative;
    z-index: 1;
}
/* --------------- */

.input-select label span {
    display: table-cell;
    vertical-align: middle;
}

.input-select select.selected + label {
    background: #ffffcc;
    box-shadow: 0px 1px 3px 0px #787800 inset;
}

.input-select select.selected:disabled + label {
    background: #e7e7e7;
    border-color: #aaaaaa !important;
    box-shadow: 0px 2px 2px 0px #aaaaaa inset;
}
/* for textbox -------------------------------*/
.input-text-box {
    display: table;
    table-layout: fixed;
}

    .input-text-box > * {
        display: table-cell;
        vertical-align: middle;
    }

    .input-text-box > span {
        font-size: 120%;
    }

    .input-text-box input[type="text"] {
        width: 100%;
        height: 50px;
        padding: 0 0.8em;
        font-size: 120%;
        font-weight: bold;
        -webkit-appearance: none;
        appearance: none;
        border-radius: 0;
        border: 2px solid #aaaaaa;
        background: #ededed;
    }



/* for file -------------------------------*/
.input-file-box {
    display: table;
    width: 100%;
    table-layout: fixed;
}

    .input-file-box > * {
        display: table-cell;
        vertical-align: middle;
    }

    .input-file-box > span {
        font-size: 120%;
    }

.input-file {
    position: relative;
}

    .input-file input[type="file"] {
        position: absolute;
        -webkit-appearance: none;
        appearance: none;
        top: 0;
        left: 0;
        cursor: pointer;
        font-size: inherit;
        opacity: 0;
    }

    .input-file input[type="file"],
    .input-file label {
        display: table;
        width: 100%;
        max-width: 250px;
        height: 60px;
        float: left;
        padding: 0 0.8em;
        margin-right: 1em;
        font-weight: bold;
        border: 2px solid #aaaaaa;
        border-radius: 5px;
        text-align: center;
        background: #ffffff;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIzMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
        background: -moz-linear-gradient(top, #ffffff 30%, #dddddd 100%);
        background: -webkit-linear-gradient(top, #ffffff 30%,#dddddd 100%);
        background: linear-gradient(to bottom, #ffffff 30%,#dddddd 100%);
    }

        .input-file label > span {
            display: table-cell;
            vertical-align: middle;
        }

        .input-file label .small {
            font-size: 70%;
        }

        .input-file input[type="file"].selected + label {
            background: #ffffcc;
            box-shadow: 0px 1px 3px 0px #787800 inset;
        }

    .input-file .file-info {
        display: inline-block;
        padding-top: 1em;
    }

        .input-file .file-info .clear {
            display: none;
            width: 1.2em;
            height: 1.2em;
            text-align: center;
            line-height: 1.2;
            border-radius: 50%;
            color: #ffffff;
            margin-left: .5em;
            background: #aaaaaa;
            cursor: pointer;
        }

        .input-file .file-info.selected .clear {
            display: inline-block;
        }

/* action-box -------------------------------*/
.action-box {
    padding-top: 30px;
    text-align: center;
}

    .action-box .step-btn-next a,
    .action-box .step-btn-next button,
    .action-box .step-btn-off a {
        display: inline-block;
        width: 480px;
        line-height: 80px;
        border-radius: 10px;
        font-size: 180%;
        font-weight: bold;
        color: #ffffff;
        background: #cccccc;
        position: relative;
        text-decoration: none;
        box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.25);
    }

    .action-box .step-btn-next a,
    .action-box .step-btn-next button {
        background: #ffa446;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmYTQ0NiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZjgxMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top, #ffa446 0%, #ff8100 100%);
        background: -webkit-linear-gradient(top, #ffa446 0%,#ff8100 100%);
        background: linear-gradient(to bottom, #ffa446 0%,#ff8100 100%);
    }

        .action-box .step-btn-next a:after,
        .action-box .step-btn-next button:after {
            content: "";
            position: absolute;
            display: block;
            width: 30px;
            height: 100%;
            top: 0;
            right: 25px;
            background: url(../images/icon_arrow.png) no-repeat 0 center;
            background-size: contain;
        }

#step3 .action-box .step-btn-next {
    position: relative;
}

    #step3 .action-box .step-btn-next a {
        width: 520px;
        line-height: 100px;
        font-size: 200%;
        background: #4ecd06;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRlY2QwNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0N2E4MTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top, #4ecd06 0%, #47a811 100%);
        background: -webkit-linear-gradient(top, #4ecd06 0%,#47a811 100%);
        background: linear-gradient(to bottom, #4ecd06 0%,#47a811 100%);
    }

    #step3 .action-box .step-btn-next button {
        width: 520px;
        max-width: 100%;
        line-height: 100px;
        border: none;
        font-size: 200%;
        background: #4ecd06;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRlY2QwNiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM0N2E4MTEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top, #4ecd06 0%, #47a811 100%);
        background: -webkit-linear-gradient(top, #4ecd06 0%,#47a811 100%);
        background: linear-gradient(to bottom, #4ecd06 0%,#47a811 100%);
        cursor: pointer;
        cursor: hand;
    }

    #step3 .action-box .step-btn-next input[type="submit"] {
        position: absolute;
        left: 50%;
        top: 0;
        opacity: 0;
    }

#step3 .action-box p.note {
    margin-bottom: 15px;
}

.action-box .step-btn-next {
    display: none;
}

/* error-msg -------------------------------*/
.error-msg {
    display: inline-block;
    padding: .7em 1.5em;
    margin: 15px 15px 0;
    border-radius: 10px;
    color: #ffffff;
    font-size: 110%;
    background: #f72100;
    position: relative;
    box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.25);
}

    .error-msg:after {
        content: "";
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        top: -12px;
        left: 30%;
        border-style: solid;
        border-color: transparent;
        border-width: 0px 6px 12px 6px;
        border-bottom-color: #f72100;
    }

    .error-msg:empty {
        display: none;
    }


/* info-box -------------------------------*/
.info-box {
    margin-top: 40px;
}

    .info-box .info-box-inner {
        display: table;
        table-layout: fixed;
        width: 100%;
        border: 3px solid #777777;
        border-collapse: collapse;
    }

        .info-box .info-box-inner dl {
            padding: 20px;
        }

info-box .info-box-inner dl dt {
    font-weight: bold;
    font-size: 1.3em;
}

.info-box .info-box-inner dd {
    margin-left: 20px;
    font-size: 0.8em;
}

    .info-box .info-box-inner dd li:not(:last-child):after {
        content: " /";
        color: #777777;
    }

.info-box .note {
    margin: 20px 0 30px;
    line-height: 1.6;
    text-align: center;
}

*/
/* step1-input02 -----------------------------*/
#step1-input02 .input-select-box {
    float: left;
}

#step1-input02 .input-select-box:first-child {
    width: 40%;
}

#step1-input02 .input-select-box:last-child {
    width: 55%;
    margin-left: 5%;
}

#step1-input02 .input-select-box > span {
    width: 5em;
}
/* step1-input04 -----------------------------*/
#step1-input04 .hint-box-inner ul {
    display: table;
    table-layout: fixed;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #cccccc;
}

#step1-input04 .hint-box-inner li {
    display: table-cell;
    vertical-align: top;
    text-align: center;
}

/* step1-input06 -----------------------------*/
#step1-input06 .input-btn-box li:first-child,
#step1-input06 .input-btn-box li:last-child {
    width: 9em;
}
/* step1-input07 -----------------------------*/
#step1-input11 .input-text-box .input-text {
    width: 8em;
}

    #step1-input11 .input-text-box .input-text + span {
        width: 2.5em;
        padding-left: .5em;
    }

#step1-input11 .input-text-box span.note {
    padding-left: 1em;
    font-size: 100%;
}



#step1-input11 .input-content .input-text-box + p {
    margin-top: 15px;
}


/* step1-input08 -----------------------------*/
#step1-input08 .input-select-box {
    float: left;
}

    #step1-input08 .input-select-box:nth-of-type(1) > :nth-child(1) {
   
    }

    #step1-input08 .input-select-box:nth-of-type(1) > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }

    #step1-input08 .input-select-box:nth-of-type(2) > :nth-child(1) {
        width: 6em;
    }

    #step1-input08 .input-select-box:nth-of-type(2) > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }

#step1-input08 span.note {
    display: inline-block;
    font-size: 100%;
    line-height: 50px;
}


/* step2-input02 -----------------------------*/
#step2-input02 .input-select-box {
    float: left;
}

    #step2-input02 .input-select-box > :nth-child(1) {
        width: 6em;
    }

    #step2-input02 .input-select-box > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }

/* step2-input03 -----------------------------*/
#step2-input03 .input-select-box {
    float: left;
}

    #step2-input03 .input-select-box > :nth-child(1) {
        width: 6em;
    }

    #step2-input03 .input-select-box > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }

#step2-input03 span.note {
    display: inline-block;
    font-size: 100%;
    line-height: 50px;
}
/* step2-input06 -----------------------------*/
#step2-input06 .input-text {
    width: 8em;
}

    #step2-input06 .input-text + span {
        padding-left: .5em;
    }
/* step2-input07 -----------------------------*/
#step2-input07 .balloon-box {
    background: none;
    box-shadow: none;
    top: -130px;
}

#step2-input07 > header h3 .small {
    font-size: 80%;
}

#step2-input07 .balloon-box:before,
#step2-input07 .balloon-box:after {
    content: none;
}

/* step2-input08 -----------------------------*/
#step2-input08 .input-text {
    width: 8em;
}

    #step2-input08 .input-text + span {
        padding-left: .5em;
    }

#step2-input08 .input-text-box {
    float: left;
}

    #step2-input08 .input-text-box + span {
        line-height: 50px;
        margin-left: 1em;
    }
/* step2-input09 -----------------------------*/
#step2-input09 .input-select-box {
    float: left;
}

    #step2-input09 .input-select-box > :nth-child(1) {
        width: 6em;
    }

    #step2-input09 .input-select-box > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }
/* step2-input11 -----------------------------*/
#step2-input11 .input-select-box {
    float: left;
}

    #step2-input11 .input-select-box > :nth-child(1) {
        width: 6em;
    }

    #step2-input11 .input-select-box > :nth-child(2) {
        width: 2em;
        padding-left: .5em;
    }

#step2-input11 span.note {
    display: inline-block;
    font-size: 100%;
    line-height: 50px;
}
/* step2-input12 -----------------------------*/
#step2-input12 {
    padding-top: 10px;
}

    #step2-input12 > header h3 .small {
        font-size: 80%;
    }

    #step2-input12 .balloon-box {
        top: -130px;
        margin-right: 50px;
    }

        #step2-input12 .balloon-box dl {
            right: -80px;
        }
/* step2-input13 -----------------------------*/
#step2-input13 {
    padding-top: 10px;
}

    #step2-input13 .balloon-box {
        top: -130px;
        margin-right: 50px;
    }

        #step2-input13 .balloon-box dl {
            right: -80px;
        }
/* step2-input14 -----------------------------*/
#step2-input14 {
    padding-top: 10px;
}

    #step2-input14 .balloon-box {
        top: -130px;
        margin-right: 50px;
    }

        #step2-input14 .balloon-box dl {
            right: -80px;
        }
/* step2-input15 -----------------------------*/
#step2-input15 {
    padding-top: 10px;
}

    #step2-input15 .balloon-box {
        top: -130px;
    }

    #step2-input15 .input-btn-box .inner-box {
        padding: 20px 10px 20px 5px;
    }

        #step2-input15 .input-btn-box .inner-box dd:first-child {
            float: left;
            width: 140px;
            height: 100px;
        }

        #step2-input15 .input-btn-box .inner-box dt {
            height: 75px;
            font-size: 110%;
            /*color: #10549d;*/
        }

            #step2-input15 .input-btn-box .inner-box dt + dd {
                height: 25px;
                text-align: right;
            }

        #step2-input15 .input-btn-box .inner-box .description {
            /*font-size: 90%;*/
            line-height: 1.5;
            min-height: 6em;
        }

/* step2-input16 -----------------------------*/
#step2-input16 {
    padding-top: 10px;
}

    #step2-input16 .balloon-box {
        top: -130px;
    }

    #step2-input16 .input-box p {
        margin-top: .3em;
    }

    #step2-input16 .input-box .input-file-box + p {
        margin-top: 15px;
    }
/* step2-input17 -----------------------------*/
#step2-input17 .input-text {
    width: 8em;
}

    #step2-input17 .input-text + span {
        padding-left: .5em;
    }
/* step2-input18 -----------------------------*/
#step2-input18 .input-select-box {
    width: 100%;
    max-width: 30em;
}

/*pc view------------------------------------*/

@media screen and (min-width: 769px) {
    /*-------------------------------------*/
    /*769px--------------------------------*/
    /*-------------------------------------*/
    .input-sec-wrap {
        border: 4px solid #10549d;
        margin-top: 20px;
    }

        .input-sec-wrap .input-sec {
            border: none;
            display: table;
            table-layout: fixed;
            width: 100%;
            padding: 20px 0;
            margin-top: 0;
            border-top: 2px dotted #cccccc;
        }

            .input-sec-wrap .input-sec:first-child {
                border-top: none;
            }

            .input-sec-wrap .input-sec > * {
                display: table-cell;
                vertical-align: top;
            }

            .input-sec-wrap .input-sec > header {
                width: 260px;
                padding-top: 10px;
                padding-bottom: 0;
                border-bottom: none;
            }

                .input-sec-wrap .input-sec > header .input-flag {
                    top: 10px;
                }

                .input-sec-wrap .input-sec > header h3 span {
                    display: block;
                    font-size: 60%;
                    font-weight: normal;
                    line-height: 1.5;
                }

            .input-sec-wrap .input-sec .input-content {
                padding: 0;
                vertical-align: middle;
            }

    /* step3-input01 -----------------------------*/
   /* #step3-input01 .input-text-box {
        float: left;
    }

    #step3-input01 .input-text-box {
        width: 48%;
    }

        #step3-input01 .input-text-box > :nth-child(1) {
            width: 2.5em;
        }

        #step3-input01 .input-text-box > :nth-child(2) {
            padding-left: .5em;
        }

        #step3-input01 .input-text-box:nth-child(2) {
            margin-left: 4%;
        }*/
    /* step3-input02 -----------------------------*/
    #step3-input02 .input-text-box {
        float: left;
    }

    #step3-input02 .input-text-box {
        width: 48%;
    }

        #step3-input02 .input-text-box > :nth-child(1) {
            width: 2.5em;
        }

        #step3-input02 .input-text-box > :nth-child(2) {
            padding-left: .5em;
        }

        #step3-input02 .input-text-box:nth-child(2) {
            margin-left: 4%;
        }

}

/*sp view------------------------------------*/
@media screen and (max-width: 768px) {
    /*-------------------------------------*/
    /*768px--------------------------------*/
    /*-------------------------------------*/

    h2 {
        line-height: 40px;
        font-size: 150%;
    }

        h2 .num {
            width: 7em;
            font-size: 70%;
        }

            h2 .num:after {
                right: -30px;
                border-width: 20px 15px 20px 15px;
            }

    /* input-box -------------------------------*/
    .input-sec {
        padding: 0 15px;
    }

        .input-sec > header {
            padding: 15px 0;
            padding-left: 0;
        }

            .input-sec > header .input-flag {
                top: 15px;
                left: auto;
                right: 10px;
            }

                .input-sec > header .input-flag span {
                    display: inline-block;
                    width: 3em;
                }

            .input-sec > header h3 {
                font-size: 140%;
                line-height: 1.5;
                padding-right: 2em;
            }

        .input-sec .input-content {
            padding: 15px 0 30px;
            padding-left: 0;
        }

    /* input-sub-box -------------------------------*/
    .input-sub-sec {
        margin-top: 30px;
    }

        .input-sub-sec > header h4 {
            font-size: 140%;
        }

        .input-sub-sec .input-sub-content {
            padding-top: 15px;
        }
    /* hint-box -------------------------------*/
    .hint-box {
        margin-top: 20px;
    }

        .hint-box h5 {
            line-height: 40px;
        }

        .hint-box .hint-box-inner {
            padding: 15px;
        }

    /* balloon-box -------------------------------*/
    .balloon-box {
        position: relative;
        top: -10px !important;
        right: auto;
        padding: 15px 15px 15px 25px;
        margin-bottom: 15px;
        margin-right: 0 !important;
    }

        .balloon-box:before {
            width: 40px;
            height: 32px;
            top: -10px;
            left: -15px;
        }

        .balloon-box:after {
            top: -15px;
            left: 2em;
            border-width: 15px 0px 0px 12px;
            border-right-color: #21afe6;
        }

        .balloon-box dl {
            top: -10px !important;
            right: -20px !important;
            width: 8em;
            height: 5em;
            padding-top: .5em;
        }

        .balloon-box dt {
            font-size: 80%;
        }

            .balloon-box dt strong {
                font-size: 170%;
            }
    /* for radio and checkbox -------------------------------*/
    .input-btn-box {
        position: relative;
    }

        .input-btn-box ul {
            display: block;
        }

        .input-btn-box li {
            display: block;
            width: 100%;
        }

        .input-btn-box label {
            height: 60px;
            border-width: 1px 2px 1px 2px;
        }

        .input-btn-box li:first-child label {
            border-top-width: 2px;
            border-radius: 10px 10px 0 0;
        }

        .input-btn-box li:last-child label {
            border-bottom-width: 2px;
            border-radius: 0 0 10px 10px;
        }


    /* for selectbox -------------------------------*/
    .input-select-box {
        display: table;
        table-layout: fixed;
    }

        .input-select-box > * {
            display: table-cell;
            vertical-align: middle;
        }

    .input-select {
        position: relative;
    }

        .input-select select {
            position: absolute;
            -webkit-appearance: none;
            appearance: none;
            top: 0;
            left: 0;
            cursor: pointer;
            font-size: inherit;
            opacity: 0;
        }

        .input-select select,
        .input-select label {
            display: table;
            width: 100%;
            height: 50px;
            padding: 0 0.8em;
            font-weight: bold;
            border: 2px solid #aaaaaa;
            background: #ededed;
        }

            .input-select label span {
                display: table-cell;
                vertical-align: middle;
            }

            .input-select select.selected + label {
                background: #ffffcc;
                box-shadow: 0px 1px 3px 0px #787800 inset;
            }

    /* action-box -------------------------------*/
    .action-box .step-btn-next a,
    .action-box .step-btn-off a {
        display: inline-block;
        width: 100%;
        max-width: 480px;
        line-height: 70px;
    }

        .action-box .step-btn-next a:after {
            content: "";
            position: absolute;
            display: block;
            width: 20px;
            height: 100%;
            top: 0;
            right: 25px;
            background: url(../images/icon_arrow.png) no-repeat 0 center;
            background-size: contain;
        }

    #step3 .action-box .step-btn-next a {
        width: 100%;
        max-width: 520px;
        font-size: 180%;
        line-height: 80px;
    }

    .button {
        width: 70%;
    }

    /* info-box -------------------------------*/
    .info-box {
        margin-top: 20px;
    }

        .info-box .info-box-inner {
            display: block;
        }

            .info-box .info-box-inner dl {
                display: block;
                padding: 15px 0;
            }

                .info-box .info-box-inner dl:first-child {
                    border-bottom: 3px solid #777777;
                }

            .info-box .info-box-inner dt,
            .info-box .info-box-inner dd {
                display: block;
                width: auto;
                padding: 0 15px;
                border: none;
            }

                .info-box .info-box-inner dd li:not(:last-child):after {
                    content: none;
                    margin-right: 1em;
                }

        .info-box .note {
            margin: 15px 0 20px;
        }


    /* step1-input02 -----------------------------*/
    #step1-input02 .input-select-box {
        float: none;
    }

        #step1-input02 .input-select-box:first-child {
            width: 100%;
            margin-bottom: 15px;
        }

        #step1-input02 .input-select-box:last-child {
            width: 100%;
            margin-left: 0;
        }
    /* step1-input06 -----------------------------*/
    #step1-input06 .input-btn-box li:first-child,
    #step1-input06 .input-btn-box li:last-child {
        width: auto;
    }

    /* step1-input09 -----------------------------*/




    /* step2-input02 -----------------------------*/
    #step2-input02 .input-select-box:first-of-type {
        width: 40%;
    }

    #step2-input02 .input-select-box:not(:first-of-type) {
        width: 30%;
    }

    #step2-input02 .input-select-box > :nth-child(1) {
        width: auto;
    }

    /* step2-input03 -----------------------------*/
    #step2-input03 .input-select-box {
        float: none;
    }

    #step2-input03 span.note {
        display: block;
        margin-top: .5em;
        line-height: 1.6;
    }

    /* step2-input07 -----------------------------*/
    #step2-input07 > header {
        height: 6em;
    }

        #step2-input07 > header h3 {
            padding-right: 6em;
        }

    #step2-input07 .input-select-box {
        float: none;
    }

    #step2-input07 .balloon-box {
        padding: 0;
    }

    #step2-input07 .balloon-box {
        padding-top: 30px;
    }

        #step2-input07 .balloon-box dl {
            top: -.5em !important;
        }
    /* step2-input09 -----------------------------*/
    #step2-input09 .input-select-box {
        float: left;
    }

        #step2-input09 .input-select-box:first-of-type {
            width: 40%;
        }

        #step2-input09 .input-select-box:not(:first-of-type) {
            width: 30%;
        }

        #step2-input09 .input-select-box > :nth-child(1) {
            width: auto;
        }
    /* step2-input15 -----------------------------*/
    #step2-input15 .input-btn-box .inner-box dd:first-child {
        width: auto;
        height: 60px;
    }

        #step2-input15 .input-btn-box .inner-box dd:first-child img {
            height: 100%;
            width: auto;
            padding-right: 10px;
        }

    #step2-input15 .input-btn-box .inner-box dt {
        height: 40px;
    }

        #step2-input15 .input-btn-box .inner-box dt + dd {
            height: 20px;
        }

    #step2-input15 .input-btn-box .inner-box .description {
        min-height: initial;
        min-height: auto;
        padding-top: 10px;
    }
    /* step3 -----------------------------*/
    #step3 h3 span.small {
        display: block;
        font-size: 80%;
        font-weight: normal;
    }
    /* step3-input01 -----------------------------*/
   