@charset "utf-8";
/* second.dwt の contents 編集領域専用。共通ヘッダー・フッターには適用しない。 */
#contents .client-content,
#contents .client-content *,
#contents .client-content *::before,
#contents .client-content *::after { box-sizing: border-box; }
#contents .client-content { width: 100%; max-width: 760px; margin: 0 auto; overflow: visible; overflow-wrap: anywhere; }
#contents .client-content div { min-width: 0; overflow: visible; }
#contents .client-content img { max-width: 100%; height: auto; vertical-align: middle; }
#contents .client-content figure { margin: 0 0 16px; padding: 0; }
#contents .client-content figcaption { margin-top: 5px; color: #666; font-size: 13px; text-align: center; }
#contents .client-content a:focus-visible { outline: 3px solid #1683b6; outline-offset: 3px; }
#contents .client-content .tel-mail { width: 270px; max-width: 100%; margin: 16px auto; }
#contents .client-content .tel-mail li { text-align: center; }
#contents .client-content .tel-mail a { display: inline-block; max-width: 100%; }
#contents .client-content .jinzai li,
#contents .client-content .shokushu li { min-width: 0; }
#contents .client-content .voice_staff li { padding: 16px 10px; }
#contents .client-content .fee_DL { gap: 10px; margin-bottom: 12px; }
#contents .client-content .fee_DL dt { width: 110px; flex: 0 0 110px; }
#contents .client-content .fee_DL dd { width: auto; min-width: 0; flex: 1; }
#contents .client-content .client-flow-arrow { display: inline-block; color: #ed7295; font-size: 40px; font-weight: bold; line-height: 1; }
#contents .client-content .client-page-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 0 20px; }
#contents .client-content .client-page-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 6px; border: 1px solid #e9a6b9; border-radius: 5px; color: #9f3556; font-size: 14px; line-height: 1.5; text-align: center; text-decoration: none; }
#contents .client-content .client-page-nav a[aria-current="page"] { background: #fdeaf0; font-weight: bold; }
#contents .client-voice .ttl_client { margin: 24px 0 16px; font-size: 21px; line-height: 1.6; }
#contents .client-voice .flex { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; margin: 0 0 28px; padding: 0; }
#contents .client-voice .col_2 { width: auto; min-width: 0; padding: 14px 10px; border: 1px solid #eee; border-radius: 6px; }
#contents .client-voice .col_2 > p:first-child { text-align: center; }
#contents .client-voice .lightblue { color: #3399cc; }
#contents .client-voice .fs-l { font-size: 18px; }
#contents .client-voice .box_flexContainer { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; }
#contents .client-voice .figure_Voice img { display: block; width: 100%; }
#contents .client-voice .box_flexContainer h3 { margin-top: 0; line-height: 1.6; }
#contents .client-voice .box_Coment { margin: 0 0 28px; padding: 14px; background: #f3f3f3; border-radius: 4px; }
#contents .client-voice .box_Coment p:last-child { margin-bottom: 0; }
#contents .client-voice .box_Coment h4 { margin-bottom: 10px; }
@media (min-width:600px) {
  #contents .client-voice .flex { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #contents .client-voice .box_flexContainer { grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: 18px; }
}
@media (max-width:350px) {
  #contents .client-content .fee_DL { display: block; }
  #contents .client-content .fee_DL dt { width: auto; margin-bottom: 4px; }
}

/* 世代別稼働割合 */
#contents .client-index .staff-age-distribution { margin-bottom: 32px; }
#contents .client-index .staff-age-chart { width: 100%; max-width: 560px; margin: 24px auto 0; padding: 0; }
#contents .client-index .staff-age-chart img { display: block; width: 100%; max-width: 100%; height: auto; }
#contents .client-index .staff-age-chart figcaption { margin-top: 12px; color: #666; font-size: 13px; line-height: 1.6; text-align: left; }
