 | us-gaap:SeparateAccountLiabilityRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilityCustomerExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilityGeographicalExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilityProductAndServiceExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilitySegmentExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilityCashSurrenderValueAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:SeparateAccountLiabilityTable | all | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilityRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilityCustomerExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilityGeographicalExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilityProductAndServiceExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilitySegmentExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |
 | us-gaap:SeparateAccountLiabilityCashSurrenderValueAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceASeparateAccountLiabilityTable |