.paa-membership-form-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: left;
    box-sizing: border-box;
}

.paa-membership-form-wrap fieldset {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 1em 1.2em;
    margin-bottom: 1.2em;
}

.paa-membership-form-wrap legend {
    font-weight: bold;
    padding: 0 0.4em;
}

.paa-membership-form-wrap label {
    display: block;
    margin-bottom: 0.4em;
}

.paa-membership-form-wrap fieldset label {
    display: inline-block;
    margin-right: 1.2em;
    font-weight: normal;
}

.paa-field {
    margin-bottom: 0.9em;
}

.paa-field label {
    font-weight: normal;
}

.paa-field input {
    width: 100%;
    max-width: 100%;
    padding: 0.4em 0.5em;
    box-sizing: border-box;
}

.paa-checkbox-label {
    display: block;
    font-weight: normal;
}

.paa-family-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin-bottom: 0.6em;
}

.paa-family-row .paa-field {
    flex: 1 1 220px;
    margin-bottom: 0;
}

.req {
    color: #c00;
}

.paa-hp-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
}

.paa-etransfer-note {
    background: #f5f5f5;
    border-left: 3px solid #666;
    padding: 0.8em 1em;
    margin-bottom: 1.2em;
}

.paa-submit-btn {
    padding: 0.6em 1.6em;
    font-size: 1em;
    cursor: pointer;
}

.paa-form-message {
    padding: 0.8em 1em;
    border-radius: 4px;
    margin-bottom: 1em;
}

.paa-form-success {
    background: #e6f4ea;
    border: 1px solid #34a853;
    color: #1e4620;
}

.paa-form-error {
    background: #fce8e6;
    border: 1px solid #c5221f;
    color: #601410;
}
