XML 17 R46.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Accumulated Other Comprehensive (Loss) Income - Changes in Accumulated Other Comprehensive (Loss) Income (Details) (USD $) In Thousands, unless otherwise specified | 3 Months Ended | 9 Months Ended
--- | --- | ---
Feb. 28, 2015 | Nov. 30, 2014 | Aug. 31, 2014 | Feb. 28, 2014 | Nov. 30, 2013 | Aug. 31, 2013 | Feb. 28, 2015 | Feb. 28, 2014
Accumulated Other Comprehensive Income (Loss) [Roll Forward] |  |  |  |  |  |  |  |
Beginning Balance | $ 17,510 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 26,818 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 28,428 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 40,286 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 37,951 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 38,123 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 28,428 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | $ 38,123 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Other comprehensive (loss) income before reclassifications | (22,261)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax | (9,796)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax | (2,098)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax | (5,222)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax | 1,847 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax | (660)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax |  |
Amounts reclassified from accumulated other comprehensive (loss) income | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax |  |
Other comprehensive income (loss) | (21,773)us-gaap_OtherComprehensiveIncomeLossNetOfTax | (9,308)us-gaap_OtherComprehensiveIncomeLossNetOfTax | (1,610)us-gaap_OtherComprehensiveIncomeLossNetOfTax | (4,734)us-gaap_OtherComprehensiveIncomeLossNetOfTax | 2,335 us-gaap_OtherComprehensiveIncomeLossNetOfTax | (172)us-gaap_OtherComprehensiveIncomeLossNetOfTax | (32,691)us-gaap_OtherComprehensiveIncomeLossNetOfTax | (2,571)us-gaap_OtherComprehensiveIncomeLossNetOfTax
Ending Balance | (4,263)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 17,510 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 26,818 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 35,552 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 40,286 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 37,951 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | (4,263)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax | 35,552 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Foreign Currency |  |  |  |  |  |  |  |
Accumulated Other Comprehensive Income (Loss) [Roll Forward] |  |  |  |  |  |  |  |
Beginning Balance | 29,632 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 39,410 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 41,525 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 52,706 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 50,666 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 51,312 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 41,525 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 51,312 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember
Other comprehensive (loss) income before reclassifications | (22,237)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (9,778)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (2,115)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (5,121)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 2,040 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (646)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |  |
Amounts reclassified from accumulated other comprehensive (loss) income | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |  |
Other comprehensive income (loss) | (22,237)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (9,778)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (2,115)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (5,121)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 2,040 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | (646)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember |  |
Ending Balance | 7,395 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 29,632 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 39,410 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 47,585 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 52,706 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 50,666 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 7,395 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember | 47,585 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedTranslationAdjustmentMember
Unrealized Loss on Derivatives |  |  |  |  |  |  |  |
Accumulated Other Comprehensive Income (Loss) [Roll Forward] |  |  |  |  |  |  |  |
Beginning Balance | (11,643)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (12,110)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (12,615)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,552)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,851)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (14,339)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (12,615)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (14,339)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
Other comprehensive (loss) income before reclassifications | (29)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (21)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 17 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (102)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (189)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 0 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |  |
Amounts reclassified from accumulated other comprehensive (loss) income | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |  |
Other comprehensive income (loss) | 459 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 467 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 505 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 386 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 299 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | 488 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember |  |
Ending Balance | (11,184)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (11,643)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (12,110)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,166)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,552)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,851)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (11,184)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember | (13,166)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
Other |  |  |  |  |  |  |  |
Accumulated Other Comprehensive Income (Loss) [Roll Forward] |  |  |  |  |  |  |  |
Beginning Balance | (479)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (482)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (482)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1,132 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1,136 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1,150 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (482)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1,150 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember
Other comprehensive (loss) income before reclassifications | 5 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 3 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1 us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (4)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (14)us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember |  |
Amounts reclassified from accumulated other comprehensive (loss) income | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember |  |
Other comprehensive income (loss) | 5 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 3 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 0 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | 1 us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (4)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | (14)us-gaap_OtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember |  |
Ending Balance | $ (474)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ (479)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ (482)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ 1,133 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ 1,132 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ 1,136 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ (474)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember | $ 1,133 us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax / us-gaap_StatementEquityComponentsAxis = ctas_AccumulatedOtherAdjustmentMember

X
- Details
Name: | ctas_AccumulatedOtherComprehensiveIncomeLossRollForward
Namespace Prefix: | ctas_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 11 -URI http://asc.fasb.org/extlink&oid=36458714&loc=d3e637-108580 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 14 -URI http://asc.fasb.org/extlink&oid=36458714&loc=d3e681-108580 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 14A -URI http://asc.fasb.org/extlink&oid=36458714&loc=SL7669686-108580 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-X (SX) -Number 210 -Section 02 -Paragraph 31 -Article 5 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-X (SX) -Number 210 -Section 04 -Article 3 + Details
Name: | us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount after tax, before reclassification adjustments of other comprehensive income (loss). + References No definition available. + Details
Name: | us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount after tax and reclassification adjustments of other comprehensive income (loss). + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=6928386&loc=d3e21463-112644 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 1A -URI http://asc.fasb.org/extlink&oid=36458714&loc=SL7669619-108580 + Details
Name: | us-gaap_OtherComprehensiveIncomeLossNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount after tax of reclassification adjustments of other comprehensive income (loss). + References No definition available. + Details
Name: | us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=ctas_AccumulatedOtherAdjustmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |