@charset "utf-8";
/* CSS Document */

.path {
    font-size: 1.5rem;
    color: #333;
    padding: 10px 20px 10px 20px;
    border-bottom: 1px solid #bbb;
    border-top: 1px solid #bbb;
    margin-bottom: 30px;
    background-color: rgba(255, 255, 255, 0.5);
}

.path span.slash {
    margin: 0 5px;
}

.article {
    width: 80vw;
    margin: 0 auto;
}

.section2 {
    border: 1px solid #ddd;
    box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.12);
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    background-color: #fff;
    margin: 0 0 30px 0;
    padding: 20px 1.1vw;
}

.form {
    width: 61vw;
    margin: 0 auto;
}

h3 {
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.form h3 {
    position: relative;
    width: 100%;
    padding: 0.25em 0.5em 0.25em 1.4em;
    border: 1px solid #8b8b8b;
    border-radius: 8px;
    margin-bottom: 30px;
    background-color: #f5f5f5;
    box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.12);
    background: #ffffff;
    background: -moz-linear-gradient(top, #ffffff 50%, #f5f5f5 100%);
    background: -webkit-linear-gradient(top, #ffffff 50%, #f5f5f5 100%);
    background: linear-gradient(to bottom, #ffffff 50%, #f5f5f5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
}

.form h3::after {
    position: absolute;
    top: 50%;
    left: 0.7em;
    transform: translateY(-50%);
    content: '';
    width: 5px;
    height: 12px;
    background-color: #ff47a0;
    border-radius: 4px;
}

.form ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 10px;
    width: 350px;
    margin: 0 auto;
}

.form ul.double-item {
    width: 100%;
}

.form ul li.form_area {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    border: 1px solid #ddd;
    background-color: #f5f5f5;
    padding: 20px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
}

.form ul.double-item li.form_area {
    width: 100%;
    margin: 10px 0;
}

.form-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.email-box {
    word-break: break-all;
}
span.star {
    font-family: 'Noto Sans TC', "微軟正黑體", sans-serif;
    font-size: 1.5rem;
    color: #ff0000;
    font-weight: 600;
}

.form h6 {
    font-family: 'Noto Sans TC', "微軟正黑體", sans-serif;
    font-size: 1.5rem;
    white-space: nowrap;
}

.form input {
    width: 320px;
    height: 36px;
    font-size: 1.4rem;
    padding: 5px;
    margin-bottom: 5px;
}

.form .password_wrap input {
    padding-right: 36px;
}

select.select_box_normal {
    margin-bottom: 5px;
}

.form input.phone-inputbox {
    width: calc(320px - 52px);
}

a.btn {
    align-self: center;
}

span.input_tips {
    width: 100%;
    margin-bottom: 10px;
}

.input-info-wording {
    font-size: 1.4rem;
    color: #333;
    margin-bottom: 10px;
}

.form ul.double-item li ul {
    width: 100%;
    column-gap: 20px;
}

.form ul.double-item li ul li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: calc(50% - 10px);
    padding: 10px 0;
    flex-wrap: wrap;
}

.form ul.double-item li ul li.full-size {
    width: 100%;
}

.phone_box {
    display: flex;
    align-items: center;
    width: 100%;
}

.infoError {
    color: #ff0000;
    font-size: 1.4rem;
}

.password_wrap {
    position: relative;
    width: 320px;
}

.field-icon {
    margin-left: -26px;
    position: relative;
    z-index: 2;
}

a.field-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background-image: url(../images/view.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}

a.field-icon-slash {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background-image: url(../images/hidden.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}

.form ul.double-item li.form_area.tableCenter {
    align-items: center;
}

.inquiry_btn {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #000;
}

.inquiry_btn a {
    padding: 20px 30px;
    height: 40px;
    -webkit-border-radius: 21px !important;
    -moz-border-radius: 21px !important;
    border-radius: 21px !important;
}

.verity-box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ccc;
}

.btn-box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 5px;
    margin-bottom: 5px;
}

.resend-wording {
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    color: #666;
    margin-bottom: 10px;
}

ul.single-item{}

ul.single-item ul{
    width: 100%;
}

ul.single-item ul li{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.step-email{
    width: 100%;
}

@media screen and (max-width: 1366px) {
    .article {
        width: 90vw;
    }

    .form {
        width: 100%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 820px) {
    .article {
        width: 95vw;
    }

    .form input.phone-inputbox {
        width: calc(320px - 52px);
    }

    .form input {
        width: 100%;
        margin: 0px 0px 5px 0px;
    }

    .password_wrap {
        width: 100%;
    }

    .form ul li.form_area {
        width: 365px;
    }
}

@media screen and (max-width: 600px) {
    .section2 {
        padding: 10px;
    }

    .form {
        width: 100%;
        margin: 0 auto;
    }

    .form ul {
        width: 100%;
        ;
    }

    .form ul li.form_area {
        padding: 10px;
        width: 100%;
    }

    .form ul.double-item li ul {
        flex-direction: column;
    }

    .form ul.double-item li ul li {
        width: 100%;
    }

    .form ul.double-item li ul {
        gap: 0px;
        padding: 0px;
    }

    .input-info-wording {
        width: 100%;
    }

    .verity-box {
        width: 100%;
    }
    .btn-box{
        flex-wrap: wrap;
    }
    .form input.phone-inputbox {
        width: calc(100% - 52px);
    }
}
@media screen and (max-width: 320px) {
    /* .phone_box{
        flex-wrap: wrap;
    } */
}