XML 30 R47.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans (Summary of the Aging Status of the Recorded Investment in Loans by Portfolio Segment/Class) (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Originated Portfolio [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due $ 22,816chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
$ 20,595chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
$ 14,824chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 3,625chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
3,352chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,637chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 801us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
2,073us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,395us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 53,440us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
50,644us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
57,687us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 80,682chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
76,664chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
78,543chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 4,967,980us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,913,403us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,385,922us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 5,048,662chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,990,067chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,464,465chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Commercial [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 10,121chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,033chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
6,003chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 729chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
743chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,832chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 52us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
170us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
43us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 18,904us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
16,418us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
18,251us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 29,806chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
21,364chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
26,129chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 1,235,101us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,234,534us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,104,992us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 1,264,907chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,255,898chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,131,121chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Real estate commercial [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 7,238chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
7,515chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,094chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 2,267chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,383chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,098chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 148us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
730us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 24,766us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
24,966us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
27,568us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 34,419chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
33,864chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
33,490chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 1,237,929us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,170,562us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,095,228us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 1,272,348chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,204,426chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,128,718chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Real estate construction [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 340chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
262chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
18chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 663us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
162us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
160us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 1,003chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
424chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
178chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 94,920us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
138,316us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
72,227us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 95,923chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
138,740chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
72,405chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Land development [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 290us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
225us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
2,267us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 290chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
225chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
2,267chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 3,972us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,303us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
5,499us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 4,262chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,528chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
7,766chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Real estate residential [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 1,246chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
2,126chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,259chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 88chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
54chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,138chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 172us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
557us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 6,514us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
6,706us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
6,589us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 8,020chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
9,443chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
8,986chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 999,552us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
988,558us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
941,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 1,007,572chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
998,001chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
950,801chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Consumer installment [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 2,143chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
3,620chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,950chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 344chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
512chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
313chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 433us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
500us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
806us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 2,920chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,632chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
3,069chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 832,439us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
814,746us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
670,721us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 835,359chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
819,378chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
673,790chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Originated Portfolio [Member] | Home equity [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 1,728chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
3,039chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,500chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 197chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
660chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
256chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 429us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,346us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
622us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 1,870us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
1,667us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
2,046us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable recorded investment, Total past due 4,224chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
6,712chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
4,424chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, current 564,067us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
562,384us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
495,440us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 568,291chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
569,096chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
499,864chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_OriginatedPortfolioSegmentMember
Acquired Portfolio [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 2,299chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,994chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
98chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 378chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
461chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 11,231us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
19,892us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
11,523us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 13,908chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
23,347chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
11,621chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 640,304us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
674,816us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
277,203us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 654,212chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
698,163chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
288,824chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Commercial [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 59chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
133chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 5chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 2,089us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
5,427us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
6,496us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 2,153chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
5,560chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
6,496chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 89,109us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
93,423us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
71,024us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 91,262chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
98,983chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
77,520chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_CommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Real estate commercial [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 1,784chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,014chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 138chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
352chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 6,271us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
11,052us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,549us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 8,193chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
13,418chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,549chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 336,382us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
339,804us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
147,900us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 344,575chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
353,222chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
150,449chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateCommercialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Real estate construction [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 0chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
14,005us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
12,679us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 0chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
14,005chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
12,679chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateConstructionLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Land development [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 1,537us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
1,653us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,089us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 1,537chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
1,653chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,089chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 7,117us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
12,569us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
3,906us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 8,654chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
14,222chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
5,995chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_LandDevelopmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Real estate residential [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 104chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
156chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 868us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
18us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
58us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 972chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
174chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
58chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 108,901us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
112,215us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
11,150us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 109,873chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
112,389chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
11,208chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_RealEstateResidentialLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Consumer installment [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 3chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
55chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
49chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 1chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
3chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 11us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
454us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 15chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
512chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
49chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 8,692us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
9,680us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
1,573us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans 8,707chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
10,192chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
1,622chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_ConsumerInstallmentLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Acquired Portfolio [Member] | Home equity [Member]      
Schedule representing the aging status of the recorded investment in loans by classes      
Financing receivable, recorded investment 31 to 60 days past due 349chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
636chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
49chfc_FinancingReceivableRecordedInvestmentThirtyOneToSixtyDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment 61 to 89 days past due 234chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
106chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0chfc_FinancingReceivableRecordedInvestmentSixtyOneToEightyNineDaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment accruing loans past due 90 days or more 455us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
1,288us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
331us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Nonaccrual loans 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable recorded investment, Total past due 1,038chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
2,030chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
380chfc_FinancingReceivableRecordedInvestmentPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, current 90,103us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
93,120us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
28,971us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
Financing receivable, recorded investment, Total loans $ 91,141chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
$ 95,150chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember
$ 29,351chfc_FinancingReceivableRecordedInvestmentCurrentAndPastDueIncludingNonaccrualLoans
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chfc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chfc_AcquiredPortfolioSegmentMember