.action {
    width: 100%;
    display: flex;
    justify-content: end;
}

.action .btn {
    width: 150px;
    height: 40px;
    font-size: 18px;
    letter-spacing: 1.6px;
}

.action .btn+.btn {
    margin-left: 8px;
}

.area {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.area .group>.title {
    font-size: 20px;
    color: #3d3d3d;
    font-weight: bold;
    margin-bottom: 16px;
}

.area .group>p {
    font-size: 14px;
    font-weight: 300;
    color: #3d3d3d;
    margin-bottom: 16px;
}

.annotation-title {
    display: flex;
    align-items: center;
    width: 216px;
}

.annotation-title>label {
    display: inline-block;
    font-size: 18px;
    margin-right: 4px;
}

.annotation-title>.small {
    color: red;
}

.annotation-title>a {
    margin-left: 16px;
    text-decoration: underline;
}

.input_group {
    margin-bottom: 24px;
    position: relative;
}

.input_group label {
    display: block;
    margin-bottom: 8px;
}

.input_group input {
    width: 100%;
    height: 36px;
    font-size: 20px;
    background: #fff;
    color: #3d3d3d;
    border: 1px solid #C6C6C6;
    outline: none;
    border-radius: 8px;
    padding: 8px 16px;
    box-sizing: border-box;
}

.input_group .error_message {
    color: red;
    font-size: 14px;
    position: absolute;
    bottom: -14px;
    right: 8px;
    display: none;
}

.input_group.error input {
    border: 2px solid red;
}

.input_group.error .error_message {
    display: block;
}

/* area1 */
.acct_area1>.group:first-child {
    width: 286px;
    margin-bottom: 16px;
    margin-right: 16px;
}

.acct_area1>.group.group:nth-child(2) {
    max-width: 343px;
    width: 100%;
}

/* area2 */
.acct_area2>.group {
    width: 100%;
}

/* area3 */
.classify_group {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.classify_group>.group:first-child {
    width: 100%;
    min-width: 286px;
    max-width: 286px;
}

.classify_group>.group:not(:first-child) {
    width: 343px;
    margin-left: 16px;
}

.classify_group .caption_group {
    margin-bottom: 24px;
}

.classify_group .caption_title {
    margin-bottom: 24px;
    font-size: 16px;
    font-weight: bold;
    color: #3d3d3d;
}

/* switch_btn */
.switch_field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-bottom: 16px;
}

.switch_btn {
    display: inline-block;
    position: relative;
}

.switch_btn input {
    display: none;
    position: absolute;
}

.switch_btn small {
    display: inline-block;
    width: 48px;
    height: 24px;
    background: #c6c6c6;
    border-radius: 30px;
    position: relative;
    cursor: pointer;
}

.switch_btn small:before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: .3s;
    box-shadow: -3px 0 3px rgba(0, 0, 0, .1);
}

.switch_btn input:checked~small {
    background: #285ee4;
    transition: .3s;
}

.switch_btn input:checked~small:before {
    transform: translate(24px, 0px);
    transition: .3s;
}

.switch-body {
    transition: .3s ease;
}

.switch-body .annotation-title>label {
    color: #285ee4;
    font-size: 16px;
}

.switch-body .switch_btn input:checked~small {
    background: #bacbf6;
}

.module_content {
    border-bottom: 1px solid #c6c6c6;
    margin-bottom: 24px;
}

.module_content .annotation-title>label {
    font-weight: 300;
}

.module_content .annotation-title>label.module_title {
    font-weight: bold;
    color: #3d3d3d;
}

.module_content .switch_btn:not(.module_switch) input:checked~small {
    background: #bacbf6;
}

@media screen and (max-width:768px) {
    .acct_area1>.group:first-child {
        width: 100%;
        margin-right: 0;
    }

    .acct_area1>.group.group:nth-child(2) {
        max-width: 100%;
    }

    .classify_group>.group:first-child {
        max-width: 100%;
    }

    .classify_group>.group:not(:first-child) {
        width: 100%;
    }
}
