@charset "UTF-8";
/* ============================================================================
   careheart-fix.css  2026-09-23
   既存 careheart.css の後に読み込む差分ファイル。
   既存ルールは書き換えず、ここで上書き・追加する（巻き添え事故を防ぐため）。
   ========================================================================== */

/* ==========================================================================
   1. SNSカード（Instagram / Facebook）の枠と中身のサイズを合わせる
   --------------------------------------------------------------------------
   実測の問題：枠は PC 528x720 / SP 310x560 だが、
     ・Facebookページプラグインは幅の上限が 500px。528pxの枠では右に28px余り、
       SPでは埋め込みURLの width=500 固定が枠310pxを超えて右側が切れていた。
     ・Instagramの /embed は中身の高さが固定（実測：幅500pxで556px／幅310pxで402px）。
   対策：枠の最大幅を FBの上限 500px に合わせ、高さは Instagram の実測値に揃える。
        Facebook は指定した height ぴったりに描画されるので、両カードの高さが揃う。
   幅・高さの実値は careheart-sns.js が埋め込みURLにも同じ値を渡す。
   ========================================================================== */
.sns-feed{
  width: 100%;
  max-width: 500px;      /* Facebookページプラグインの仕様上限に合わせる */
  margin: 0 auto;
  min-height: 0;         /* 既存の min-height:300px を解除 */
}
/* 🔴 careheart.css の `#chInstagram iframe{height:720px}` は詳細度(1,0,1)で
   クラス指定(0,1,0)に勝つため、同じくid込みの詳細度で指定し直す。 */
#chInstagram .sns-ig-frame,
#chInstagram .sns-fb-frame,
.sns-ig-frame, .sns-fb-frame{
  width: 100%;
  height: 560px;         /* Instagram埋め込みの実測高さ 幅500pxで556px に合わせる */
}
.sns-card{ padding-bottom: 22px; }
/* カード内の要素も同じ幅に揃えて、フィードだけ中央・他が全幅…のズレを防ぐ */
.sns-card__head, .sns-btn, .sns-bar{
  width: 100%; max-width: 500px; margin-left: auto; margin-right: auto;
}
@media screen and (max-width: 767px){
  #chInstagram .sns-ig-frame,
  #chInstagram .sns-fb-frame,
  .sns-ig-frame, .sns-fb-frame{ height: 406px; }   /* Instagram実測 幅310pxで402px */
}

/* ==========================================================================
   2. SPヘッダーの右端はみ出し（実測 397px / 画面390px＝7pxはみ出し）
   --------------------------------------------------------------------------
   原因：.chHeader__inner の左右 padding が 18px !important（1821行目）なのに
   .chHeader__right 側に余白の逃げ場が無く、ハンバーガーの円が右で欠けていた。
   ========================================================================== */
@media screen and (max-width: 767px){
  .chHeader__inner{
    padding: 0 12px !important;
    box-sizing: border-box;
    max-width: 100%;
    overflow: visible;
  }
  .chHeader__right{
    gap: 7px !important;
    flex: 0 0 auto;
    margin-right: 0;
    padding-right: 0;
  }
  .chHeader__brand{ min-width: 0; }
}

/* ==========================================================================
   3. SP固定バー：電話番号の切れと 8.5px の極小文字を解消
   --------------------------------------------------------------------------
   実測：1列130px・アイコン22px＋gap6px＝96pxしか文字に使えず、
   13.5pxの「098-943-1981」が右で欠けていた。事業所名も8.5pxで可読下限割れ。
   対策：アイコンを16pxに、gapと左右paddingを詰めて文字幅を102px確保。
        数字は等幅数字＋字間0で詰めない。事業所名は10pxへ引き上げ2行折返し。
   ========================================================================== */
@media screen and (max-width: 767px){
  .chFixBar__btn{
    gap: 4px !important;
    padding: 6px 4px !important;
    min-height: 62px;
  }
  .chFixBar__icon{ width: 16px !important; height: 16px !important; }
  .chFixBar__text{ flex: 1 1 auto; min-width: 0; }
  .chFixBar__text small{
    font-size: 10px !important;
    line-height: 1.2 !important;
    color: #5D5D68 !important;
    letter-spacing: 0 !important;
  }
  .chFixBar__text strong{
    font-size: 13.5px !important;
    letter-spacing: 0 !important;          /* -.02em で詰めていたのをやめる */
    font-variant-numeric: tabular-nums;
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .chFixBar__text--center strong{ font-size: 14px !important; }
  #wrapper{ padding-bottom: 62px; }
}

/* ==========================================================================
   4. トップのお知らせ：SPでタイトルが「…」で切れる
   ========================================================================== */
#news .newsDetail li p{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}

/* ==========================================================================
   5. 会社概要テーブルの日本語イタリックを解除（common.css 由来）
   ========================================================================== */
#about .overview.first dl dt,
#about .overview.first dl dd,
#about .overview.first dl dd.tel a,
#about .overview.first dl dd.tel a span,
#about .time p, #about .time p span, #about .comment02{
  font-style: normal !important;
}

/* ==========================================================================
   6. サービス7項目の3列グリッドで7枚目が左端に孤立する
      → 最後の1枚を中央列に置く
   ========================================================================== */
@media screen and (min-width: 1081px){
  /* 3列で最終行が1枚だけ余る場合（7枚・10枚など）は中央列に置く */
  .chSvcGrid > :last-child:nth-child(3n+1){ grid-column: 2; }
}
@media screen and (min-width: 641px) and (max-width: 1080px){
  /* 2列で最終行が1枚だけ余る場合は中央に寄せる */
  .chSvcGrid > :last-child:nth-child(2n+1){ grid-column: 1 / -1; max-width: calc(50% - 12px); margin: 0 auto; }
}

/* ==========================================================================
   7. ヘルパーページ（kaigo）の見出し上下リズムを kango と揃える
      実測：「対応可能エリア」見出しが直上のカードにほぼ密着していた
   ========================================================================== */
body.pageKaigo .chSubHero{ padding-top: 44px !important; padding-bottom: 44px !important; }
body.pageKaigo #chSvc,
body.pageKaigo #chFlow,
body.pageKaigo #chIns,
body.pageKaigo #chArea,
body.pageKaigo #about,
body.pageKaigo #chContact{ padding-top: 44px !important; }
body.pageKaigo #chSvc,
body.pageKaigo #chFlow,
body.pageKaigo #chIns,
body.pageKaigo #chArea,
body.pageKaigo #about{ padding-bottom: 44px !important; }
body.pageKaigo .chBoxWrap{ margin-bottom: 0 !important; }
body.pageKaigo .chBoxWrap + *{ margin-top: 36px !important; }

/* ==========================================================================
   8. ページヘッダー（下層ページのタイトル帯）
   --------------------------------------------------------------------------
   これまで下層ページのタイトルは、セクション見出しと同じ「斜めストライプの
   ピル」だったため、ページ名と節名の区別がつかず、会社概要ページでは
   「会社概要」ピルの直後に「ごあいさつ」ピルが並んで見出しが2段続いていた。
   ページ名は帯（全幅）＋左揃えのH1＋英字＋リード＋パンくずに作り分ける。
   帯の下端の色でページの担当領域（看護=青／介護=ピンク／採用=金 など）を示す。
   ========================================================================== */
.chPageHead{
  position: relative;
  background: #F7F5EB;
  padding: 148px 20px 40px;
  border-bottom: 4px solid var(--ch-accent, #E4897E);
  overflow: hidden;
}
.chPageHead::after{     /* 右上にロゴの輪を薄く敷く（地色のっぺりを避ける） */
  content: "";
  position: absolute; right: -60px; top: -40px;
  width: 260px; height: 260px; border-radius: 50%;
  border: 30px solid var(--ch-accent, #E4897E);
  opacity: .07;
  pointer-events: none;
}
.chPageHead__inner{ max-width: 1080px; margin: 0 auto; position: relative; z-index: 1; }
.chPageHead__en{
  margin: 0 0 6px; font-family: "Asap", sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--ch-accent, #E4897E);
}
.chPageHead__ttl{
  margin: 0; font-size: 34px; font-weight: 800; letter-spacing: .06em;
  line-height: 1.35; color: var(--ch-ink, #23404f);
}
.chPageHead__lead{
  margin: 14px 0 0; max-width: 46em;
  font-size: 15px; line-height: 1.95; color: #55616A;
}
.chBread{
  margin: 18px 0 0; font-size: 12px; color: #7A848B; letter-spacing: .02em;
}
.chBread a{ color: #7A848B; text-decoration: none; }
.chBread a:hover{ text-decoration: underline; }
.chBread span + span::before,
.chBread a + span::before{ content: "／"; margin: 0 .5em; color: #B9C0C5; }
.chBread span[aria-current]{ color: #3B4A52; font-weight: 700; }

.chPageHead--about  { --ch-accent: #E4897E; }
.chPageHead--recruit{ --ch-accent: #C8A02E; }
.chPageHead--blog   { --ch-accent: #8CBF3F; }
.chPageHead--contact{ --ch-accent: #2E8A85; }
.chPageHead--privacy{ --ch-accent: #7D8BA6; }
.chPageHead--kango  { --ch-accent: #0060B0; }
.chPageHead--kaigo  { --ch-accent: #E64784; }

@media screen and (max-width: 767px){
  .chPageHead{ padding: 96px 18px 26px; }
  .chPageHead__ttl{ font-size: 24px; letter-spacing: .04em; }
  .chPageHead__en{ font-size: 11px; }
  .chPageHead__lead{ font-size: 14px; line-height: 1.85; margin-top: 10px; }
  .chPageHead::after{ width: 170px; height: 170px; border-width: 20px; right: -50px; top: -30px; }
}

/* ヒーロー付きページ（kango/kaigo）はヒーロー自体がページヘッダーなので、
   帯は出さずパンくずだけをヒーロー直下に置く */
.chBread--underHero{
  max-width: 1080px; margin: 0 auto; padding: 14px 20px 0;
}

/* ==========================================================================
   9. 汎用の本文ページ（お知らせ・個人情報保護方針・お問い合わせ）
   ========================================================================== */
.chDoc{ padding: 56px 20px 72px; background: #fff; }
.chDoc__inner{ max-width: 860px; margin: 0 auto; }
.chDoc h2{
  margin: 46px 0 14px; font-size: 20px; font-weight: 800; line-height: 1.6;
  color: var(--ch-ink, #23404f); padding-left: 14px;
  border-left: 5px solid var(--ch-accent, #7D8BA6);
}
.chDoc h2:first-child{ margin-top: 0; }
.chDoc p{ margin: 0 0 16px; font-size: 15px; line-height: 2; color: #3B4A52; }
.chDoc ul{ margin: 0 0 18px; padding-left: 1.2em; }
.chDoc li{ font-size: 15px; line-height: 2; color: #3B4A52; list-style: disc; }
.chDoc__meta{ margin-top: 40px; font-size: 13px; color: #78838A; }

/* ==========================================================================
   10. お知らせと日記（一覧・記事）
   ========================================================================== */
.chBlog{ padding: 52px 20px 72px; background: #F7FBFC; }
.chBlog__inner{ max-width: 980px; margin: 0 auto; }
.chBlogList{ display: grid; gap: 18px; }
.chBlogCard{
  display: grid; grid-template-columns: 200px 1fr; gap: 22px;
  background: #fff; border: var(--ch-card-border, 1px solid rgba(120,195,220,.55));
  border-radius: var(--ch-card-radius, 20px); box-shadow: var(--ch-card-shadow, 0 8px 22px rgba(20,80,110,.09));
  overflow: hidden; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease;
}
.chBlogCard:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(20,80,110,.16); }
.chBlogCard__thumb{ margin: 0; background: #EAF3F7; height: 150px; overflow: hidden; }
.chBlogCard__thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.chBlogCard__thumb--none{
  display: flex; align-items: center; justify-content: center;
}
.chBlogCard__thumb--none img{ width: 74px; height: auto; object-fit: contain; opacity: .5; }
.chBlogCard__body{ padding: 22px 24px 22px 0; display: flex; flex-direction: column; justify-content: center; }
.chBlogCard__date{
  font-family: "Asap", sans-serif; font-weight: 700; font-size: 13px;
  color: var(--ch-sky, #6FBBD6); letter-spacing: .06em; margin: 0 0 6px;
}
.chBlogCard__ttl{
  margin: 0 0 8px; font-size: 17px; font-weight: 800; line-height: 1.6;
  color: var(--ch-ink, #23404f);
}
.chBlogCard__ex{ margin: 0; font-size: 13.5px; line-height: 1.85; color: #66727A; }
@media screen and (max-width: 767px){
  .chBlogCard{ grid-template-columns: 104px 1fr; gap: 14px; }
  .chBlogCard__thumb{ height: 100px; }
  .chBlogCard__body{ padding: 16px 16px 16px 0; }
  .chBlogCard__ttl{ font-size: 15px; }
  .chBlogCard__ex{ display: none; }
}

.chEntry{ padding: 52px 20px 64px; background: #fff; }
.chEntry__inner{ max-width: 760px; margin: 0 auto; }
.chEntry__date{
  font-family: "Asap", sans-serif; font-weight: 700; font-size: 14px;
  color: var(--ch-sky, #6FBBD6); letter-spacing: .06em; margin: 0 0 8px;
}
.chEntry__ttl{
  margin: 0 0 30px; font-size: 26px; font-weight: 800; line-height: 1.55;
  color: var(--ch-ink, #23404f); padding-bottom: 18px;
  border-bottom: 2px solid #E7EFF3;
}
.chEntry__body p{ margin: 0 0 18px; font-size: 15.5px; line-height: 2.05; color: #3B4A52; }
.chEntry__body figure{ margin: 26px 0; }
.chEntry__body figure img{
  width: 100%; height: auto; display: block; border-radius: 16px;
}
.chEntry__tags{ margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chEntry__tags span{
  font-size: 12px; color: #6E7B83; background: #F1F6F8;
  border-radius: 999px; padding: 5px 12px;
}
.chEntry__nav{
  max-width: 760px; margin: 40px auto 0; display: flex; justify-content: space-between; gap: 14px;
}
.chEntry__nav a{
  font-size: 13.5px; color: var(--ch-blue, #0060B0); text-decoration: none; font-weight: 700;
  max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.chEntry__nav a:hover{ text-decoration: underline; }
.chBackLink{ display: block; text-align: center; margin: 42px auto 0; font-size: 14px; font-weight: 700; color: var(--ch-blue, #0060B0); text-decoration: none; }
.chBackLink:hover{ text-decoration: underline; }
@media screen and (max-width: 767px){
  .chEntry__ttl{ font-size: 20px; }
  .chEntry__body p{ font-size: 15px; }
}

/* ==========================================================================
   11. フォーム（お問い合わせ／エントリー共通）
   ========================================================================== */
.chForm{ max-width: 760px; margin: 0 auto; }
.chForm__row{ margin: 0 0 22px; }
.chForm__label{
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 700; color: #3B4A52; margin: 0 0 8px;
}
.chForm__req{
  font-size: 11px; font-weight: 700; color: #fff; background: #E64784;
  border-radius: 4px; padding: 3px 7px; line-height: 1;
}
.chForm__opt{
  font-size: 11px; font-weight: 700; color: #6E7B83; background: #EDF2F4;
  border-radius: 4px; padding: 3px 7px; line-height: 1;
}
.chForm input[type="text"],
.chForm input[type="tel"],
.chForm input[type="email"],
.chForm select,
.chForm textarea{
  width: 100%; box-sizing: border-box;
  border: 1px solid #C8D5DC; border-radius: 10px;
  padding: 13px 14px; font-size: 16px;   /* iOSの自動ズーム防止のため16px */
  line-height: 1.6; color: #23404f; background: #fff;
  font-family: inherit;
}
.chForm textarea{ min-height: 168px; resize: vertical; }
.chForm input:focus, .chForm select:focus, .chForm textarea:focus{
  outline: 3px solid rgba(0,96,176,.28); outline-offset: 1px; border-color: var(--ch-blue, #0060B0);
}
.chForm__half{ display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media screen and (max-width: 767px){ .chForm__half{ grid-template-columns: 1fr; gap: 0; } }
.chForm__note{ margin: 8px 0 0; font-size: 12.5px; color: #78838A; line-height: 1.8; }
.chForm__agree{
  margin: 26px 0 0; padding: 18px 20px; background: #F4F8FA; border-radius: 14px;
  font-size: 14px; line-height: 1.9; color: #3B4A52;
}
.chForm__agree label{ display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.chForm__agree input{ margin-top: .35em; width: 18px; height: 18px; flex: none; }
.chForm__agree a{ color: var(--ch-blue, #0060B0); }
.chForm__submit{
  display: block; width: 100%; max-width: 420px; margin: 30px auto 0;
  border: 0; border-radius: 999px; background: var(--ch-blue, #0060B0); color: #fff;
  font-size: 16px; font-weight: 800; letter-spacing: .06em; padding: 17px 20px;
  cursor: pointer; transition: opacity .2s ease, transform .2s ease;
  font-family: inherit;
}
.chForm__submit:hover{ opacity: .9; transform: translateY(-2px); }
.chForm__alt{
  margin: 34px auto 0; max-width: 760px; padding: 22px 24px;
  background: #FFF8EC; border: 1px solid #F0DFC0; border-radius: 16px;
  font-size: 14px; line-height: 1.95; color: #5B5344;
}
.chForm__alt a{ color: #AE4570; font-weight: 700; }
.chFormError{
  max-width: 760px; margin: 0 auto 26px; padding: 16px 20px;
  background: #FDECEF; border: 1px solid #F1B9C5; border-radius: 12px;
  color: #A32B46; font-size: 14px; line-height: 1.9;
}
.chFormError ul{ margin: 6px 0 0; padding-left: 1.2em; }
.chFormError li{ list-style: disc; }
.chThanks{ max-width: 680px; margin: 0 auto; text-align: center; }
.chThanks h2{ font-size: 22px; font-weight: 800; color: var(--ch-ink, #23404f); margin: 0 0 18px; }
.chThanks p{ font-size: 15px; line-height: 2; color: #3B4A52; margin: 0 0 14px; }

/* ==========================================================================
   12. 採用ページ：先輩の声・写真・訴求ポイント
   ========================================================================== */
.chVoice{ padding: 44px 20px; background: #FBF7EC; }
.chVoice__inner{
  max-width: 980px; margin: 0 auto;
  display: grid; grid-template-columns: 300px 1fr; gap: 34px; align-items: start;
}
.chVoice__photo{ margin: 0; }
.chVoice__photo img{ width: 100%; height: auto; display: block; border-radius: 18px; }
.chVoice__photo figcaption{ margin-top: 10px; font-size: 12.5px; color: #7A6F5C; }
.chVoice__body h3{
  margin: 0 0 14px; font-size: 19px; font-weight: 800; line-height: 1.6; color: #4A3F28;
}
.chVoice__body p{ margin: 0 0 15px; font-size: 14.5px; line-height: 2; color: #5B5344; }
@media screen and (max-width: 767px){
  .chVoice__inner{ grid-template-columns: 1fr; gap: 20px; }
  .chVoice__body h3{ font-size: 17px; }
}

.chPoints{ padding: 44px 20px; }
.chPoints__inner{ max-width: 980px; margin: 0 auto; }
.chPointGrid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.chPointCard{
  background: #fff; border: 1px solid #E6DFCC; border-radius: 16px; padding: 22px 22px 24px;
}
.chPointCard h3{
  margin: 0 0 10px; font-size: 16px; font-weight: 800; color: #4A3F28; line-height: 1.5;
}
.chPointCard p{ margin: 0; font-size: 13.5px; line-height: 1.95; color: #5B5344; }
@media screen and (max-width: 1080px){ .chPointGrid{ grid-template-columns: 1fr 1fr; } }
@media screen and (max-width: 640px){ .chPointGrid{ grid-template-columns: 1fr; } }

.chRecruitPhoto{ max-width: 980px; margin: 0 auto; padding: 0 20px; }
.chRecruitPhoto img{ width: 100%; height: auto; display: block; border-radius: 20px; }
.chRecruitPhoto figcaption{ margin-top: 10px; font-size: 12.5px; color: #7A6F5C; text-align: center; }

/* ==========================================================================
   13. 緊急連絡ガイドへの導線
   ========================================================================== */
.chDocLink{
  max-width: 860px; margin: 28px auto 0; display: flex; align-items: center; gap: 16px;
  padding: 20px 24px; background: #FFF8EC; border: 1px solid #F0DFC0; border-radius: 16px;
  text-decoration: none;
}
.chDocLink__ico{ flex: none; width: 38px; height: 38px; }
.chDocLink__body strong{ display: block; font-size: 15.5px; font-weight: 800; color: #5B4A2E; }
.chDocLink__body span{ display: block; margin-top: 4px; font-size: 13px; color: #7A6F5C; line-height: 1.7; }
.chDocLink:hover{ background: #FFF3DD; }
@media screen and (max-width: 767px){
  .chDocLink{ padding: 16px 18px; gap: 12px; }
  .chDocLink__body strong{ font-size: 14px; }
}

/* ==========================================================================
   14. フッターに個人情報保護方針を足したぶんの調整
   ========================================================================== */
.chFooter__nav ul{ line-height: 1.9; }

/* ==========================================================================
   15. ロゴ：社名テキストが隣にある箇所はマークのみの版（logo_mark.png）に変更。
       マークは 367x300（正方形ではない）ため、正方形指定のままだと縦に潰れる。
       縦横比を保つため height 基準に切り替える。
   ========================================================================== */
.chHeader__logo{ width: auto !important; height: 58px !important; }
@media screen and (max-width: 767px){
  .chHeader__logo{ height: 42px !important; }
}
.sns-card__head img{
  width: 48px !important; height: auto !important;
  border-radius: 0 !important; object-fit: contain;
}

/* ==========================================================================
   16. トップ RECRUIT：白いテキストボックスと直下の職種タグが密着していた（SP実測）
       箱の下にゆとりを作り、タグとCTAの間隔も揃える。
   ========================================================================== */
@media screen and (max-width: 767px){
  .chRecruit__textbox{ margin-bottom: 26px !important; }
  .chRecruit__jobs{ margin-bottom: 26px !important; }
}
@media screen and (min-width: 768px){
  .chRecruit__textbox{ margin-bottom: 28px; }
}

/* ==========================================================================
   17. フッターの下に地の背景（クリームのテクスチャ）が帯で見えていた
   --------------------------------------------------------------------------
   原因：「↑TOP」ボタン(.chPagetop)が </footer> の後ろに通常フローで置かれており、
   その行の高さぶん body の背景(bg01.jpg)が露出していた。SPではさらに
   #wrapper{padding-bottom:64px}（固定バーよけ）が重なって帯が太くなっていた。
   対策：TOPボタンを浮かせて（position:fixed）フローから外し、
        固定バーよけの余白はフッター側に持たせてフッターの青で埋める。
   ========================================================================== */
a.pagetop.chPagetop{
  position: fixed !important;
  right: 16px;
  bottom: 22px;
  z-index: 9400;
  opacity: .96;
}
#chFooter{ padding-bottom: 8px; }
@media screen and (max-width: 767px){
  #wrapper{ padding-bottom: 0 !important; }
  #chFooter{ padding-bottom: 70px; }   /* 固定バー62px＋余白 */
  a.pagetop.chPagetop{
    right: 12px;
    bottom: 74px;                       /* 固定バーの上に出す */
    width: 48px !important; height: 48px !important;
  }
}

/* ==========================================================================
   18. kaigo：SPでヒーローの輪ロゴが左に8pxはみ出していた（実測 left:-8px）
   ========================================================================== */
@media screen and (max-width: 767px){
  body.pageKaigo .chHeroLP__visual{
    max-width: 100%;
    margin-left: auto; margin-right: auto;
    transform: none !important;
  }
}

/* ==========================================================================
   19. お問い合わせカードのメールアドレスがSPで折り返して欠けて見える
   ========================================================================== */
.chContact__num--mail{ overflow-wrap: anywhere; word-break: break-all; line-height: 1.4; }
@media screen and (max-width: 767px){
  .chContact__num--mail{ font-size: 17px !important; }
}

/* ==========================================================================
   20. タブレット幅（768〜940px）で会社概要ブロックが枠からはみ出す
   --------------------------------------------------------------------------
   原因：複製元テンプレ common.css の装飾枠が
     @media(min-width:768px){ #about .overview{width:800px} }
     @media(min-width:768px){ #about .overview:before,:after{width:800px} }
   と幅を800px固定しており、画面幅が800px前後だと親からはみ出していた。
   背景画像は既に無効化済みで見た目には出ないが、絶対配置の箱だけが残って
   scrollWidth を押し広げていた（実測：768pxで922px）。
   対策：装飾疑似要素を content ごと落とし、箱の幅指定を解除する。
   ========================================================================== */
#about .overview:before,
#about .overview:after,
#about .overview .time:before,
#about .overview .time:after,
#about .overview .time p:last-child:after{
  content: none !important;
}
#about .overview,
#about .overview.first,
#about .overview.second{
  width: auto !important;
  max-width: 100% !important;
}
/* ごあいさつのリスト幅も 660px 固定でタブレット幅からはみ出していた */
#about ul.staff{
  width: auto !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================================
   21. トップの事業カード：2列になる幅（768〜1080px）で事業所名が枠外にはみ出す
       原因＝.chName の white-space:nowrap。カードが狭い間は折り返しを許可する。
   ========================================================================== */
@media screen and (max-width: 1080px){
  #chServices .chCard .chName{ white-space: normal; }
  #chServices .chCard .chName strong{ display: inline; }
}

/* ==========================================================================
   22. 画面幅360px以下でヘッダー右側（アイコン＋ハンバーガー）がはみ出す
   --------------------------------------------------------------------------
   実測：360pxで .chHeader__right が 252→380（20pxはみ出し）。
   ロゴ＋社名の左ブロックが縮まないのが原因。左を縮む側にする。
   ========================================================================== */
@media screen and (max-width: 767px){
  .chHeader__inner{ display: flex; align-items: center; gap: 8px; }
  .chHeader__brand{
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
  }
  .chHeader__name{ min-width: 0; }
  .chHeader__name,
  .chHeader__name > span:first-child{
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .chHeader__right{ flex: 0 0 auto; }
}
@media screen and (max-width: 379px){
  /* 375px以下はタグラインを畳んで社名を優先 */
  .chHeader__tagline{ display: none !important; }
  .chHeader__name{ font-size: 14px !important; }
  .chHeader__logo{ height: 36px !important; }
  .chHeader__burger{ width: 40px !important; height: 40px !important; }
}

/* ==========================================================================
   23. お知らせ一覧のサムネイル：切り取らずに全体を見せる
   --------------------------------------------------------------------------
   旧CMSの画像は縦長（200x286・300x372など）と正方形が混在し、横長の枠に
   cover で入れると実測で最大47.6%が切り落とされていた。中央基準だと
   人物の顔や告知の見出しが切れる（顔検出で位置を寄せても、告知画像の
   タイトルが切れる／写真の頭が切れる のどちらかが必ず残った）。
   一覧では「何の記事か分かること」が優先なので、cover をやめて
   contain（切り取らない）にし、余白は地の色で埋める。
   ========================================================================== */
.chBlogCard{ grid-template-columns: 172px 1fr; align-items: stretch; }
.chBlogCard__thumb{
  height: auto;
  min-height: 132px;
  background: #EDF4F7;
  display: flex; align-items: center; justify-content: center;
  padding: 10px;
  box-sizing: border-box;
}
.chBlogCard__thumb img{
  width: 100%; height: 100%;
  max-height: 132px;
  object-fit: contain;      /* 切り取らない */
  object-position: 50% 50%;
}
.chBlogCard__thumb--none{ background: #F4F9FB; }
.chBlogCard__thumb--none img{ width: 74px; height: auto; max-height: none; opacity: .5; }
@media screen and (max-width: 767px){
  .chBlogCard{ grid-template-columns: 108px 1fr; }
  .chBlogCard__thumb{ min-height: 96px; padding: 8px; }
  .chBlogCard__thumb img{ max-height: 92px; }
}

/* ==========================================================================
   2026-10-01 TOPの「ごあいさつ」：青地に濃紺文字が読みづらいとの指摘で、白文字＋濃紺の縁取りに変更。
   縁取りは text-shadow を16方向に重ねて作る（-webkit-text-stroke は文字の内側に食い込み細字が潰れ、
   paint-order は端末差があるため使わない）。縁の色は以前の文字色 #0B3149（青地に対し 5.29:1）。
   スマホは見出しと本文の後ろに淡い水色の箱が敷かれていて（リボンよけ）、濃紺文字のままの方が読みやすいので変えない。
   ========================================================================== */
@media screen and (min-width: 768px){
#greeting h2, #greeting h2 .asap{
  color: #fff !important;
  text-shadow: 3.00px 0.00px 0 #0B3149, 2.77px 1.15px 0 #0B3149, 2.12px 2.12px 0 #0B3149, 1.15px 2.77px 0 #0B3149, 0.00px 3.00px 0 #0B3149, -1.15px 2.77px 0 #0B3149, -2.12px 2.12px 0 #0B3149, -2.77px 1.15px 0 #0B3149, -3.00px 0.00px 0 #0B3149, -2.77px -1.15px 0 #0B3149, -2.12px -2.12px 0 #0B3149, -1.15px -2.77px 0 #0B3149, -0.00px -3.00px 0 #0B3149, 1.15px -2.77px 0 #0B3149, 2.12px -2.12px 0 #0B3149, 2.77px -1.15px 0 #0B3149 !important;
}
#greeting .greetingTextbox p.text01{
  color: #fff !important;
  text-shadow: 2.20px 0.00px 0 #0B3149, 2.03px 0.84px 0 #0B3149, 1.56px 1.56px 0 #0B3149, 0.84px 2.03px 0 #0B3149, 0.00px 2.20px 0 #0B3149, -0.84px 2.03px 0 #0B3149, -1.56px 1.56px 0 #0B3149, -2.03px 0.84px 0 #0B3149, -2.20px 0.00px 0 #0B3149, -2.03px -0.84px 0 #0B3149, -1.56px -1.56px 0 #0B3149, -0.84px -2.03px 0 #0B3149, -0.00px -2.20px 0 #0B3149, 0.84px -2.03px 0 #0B3149, 1.56px -1.56px 0 #0B3149, 2.03px -0.84px 0 #0B3149 !important;
  letter-spacing: .06em;
}
}

/* ==========================================================================
   2026-10-01 ヘルパーステーション(kaigo)のFV：訪問看護(kango)と同じ「全幅イラスト＋文字重ね」構成。
   イラストはユーザー支給（Downloads\27746079.jpg を縦横比そのまま1600pxに縮小）。
   kangoの文字位置（右下の空き＝PSDのTEXT枠）だと右下の家・木に重なるため、
   このイラストの空き＝雲の下・太陽の左の中央へ置く（PCのみ。900px以下はkangoと同じくイラストの下に流す）。
   ========================================================================== */
@media screen and (min-width: 901px){
  .chHeroLP--field .chHeroLP__text{
    left: 50%; top: 27%; width: 40%; transform: translateX(-50%);
    text-align: center;
  }
  .chHeroLP--field .chHeroLP__cta{ justify-content: center; }
}
