 | us-gaap:FinancingReceivables1To29DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLossesTmp01 |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesTmp01ScheduleOfFinancingReceivablesPastDueTable |