 /* =========================================================
   0. 変数（カラー・サイズ）
========================================================= */

/* Font Awesome */
 @import url("https://use.fontawesome.com/releases/v7.1.0/css/all.css");
/* CSS変数（カスタムプロパティ） */
 :root {
     --color-pink-deep: #f0678b;
     --color-pink-base: #f48ea8;
     --color-pink-soft: #f3a9c3;
     --color-pink-bg: #fbe3ec;
     --color-pink-bg-light: #f9f1f5;
     --color-pink-bg-dash: #e3c6d5;
     --color-pink-base-hover: #f48ea8;
    /* アクセント */
     --accent-soft: #a7d5c4;
    /* ミント：アクセント */
     --accent-soft-hover: #87c1af;
    /* 少し濃くしたホバー */
     --accent-soft-bg: #f5faf8;
    /* 見出し */
     --colr-h: #f0678b;
    /* リンク */
     --colr-link: #cc0000;
    /* 施設カラー */
     --color-clinic: #f48ea8;
     --color-shika: #a7d5c4;
     --color-rouken: #64b5f6;
    /* その他 */
     --color-gray: #888;
}



/* =========================================================
   1. ベース
   body / a / p / img / ul / table など
========================================================= */

/* ベース */
 html {
     font-size: 16px;
    /* 1rem = 16px */
}
 body {
     font-size: 1rem;
    /* 標準本文 16px相当 */
     line-height: 1.7;
    /* 読みやすく */
     margin: 0;
     font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Segoe UI", sans-serif;
     color: #333;
}


 a {
    text-decoration:none;
     color:var(--colr-link);
}
 a:hover {
    text-decoration:none;
     color:var(--color-pink-deep);
}
 a.none {
    border:none;
    text-decoration:none;
}
 a.a1::after {
     font-family: "Font Awesome 5 Free";
     content: "\f105";
     font-weight: 700;
     margin-left: 0.5em;
     border: none;
     text-decoration: none;
}
 a.a2:after {
     font-family: "Font Awesome 5 Free";
     content: "\f054";
     font-weight: 700;
     margin-left: 0.5em;
     border:none;
     text-decoration:none;
     font-size: 70%;
}
 a.a3:before {
     font-family: "Font Awesome 5 Free";
     content: "\f0a9";
     font-weight: 700;
     margin-right: 0.5em;
     border:none;
     text-decoration:none;
     font-size: 70%;
     color: #2489b6;
}
 .clsLink {
     color: #2489b6;
}
 a.aPDF::after {
     font-family: "Font Awesome 5 Free";
     content: "\f1c1";
     font-weight: 700;
     margin-left: 0.5em;
     color: #b22222;
}
 a.aPDF2::after {
     font-family: "Font Awesome 5 Free";
     content: "\f1c1";
     font-weight: 700;
     margin-left: 0.5em;
     color: #b0c4de;
}
 a.aEx::after {
     font-family: "Font Awesome 5 Free";
     content: "\f35d";
     font-weight: 700;
     margin-left: 0.5em;
}
 a.aDoc::after {
     font-family: "Font Awesome 5 Free";
     content: "\f1c2";
     font-weight: 700;
     margin-left: 0.5em;
     color: #185abd;
}
 a.aZip::after {
     font-family: "Font Awesome 5 Free";
     content: "\f1c6";
     font-weight: 700;
     margin-left: 0.5em;
     color: #ffd700;
}
/* 外部リンク */
a[rel~="external"]::after{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;			/* solid は 900 */
  content: "\f35d";
  font-size: .8em;
  margin-left: 4px;
}


/* =========================================================
   2. レイアウト
   .l-container など
========================================================= */



/* =========================================================
   3. ヘッダー
========================================================= */

/* ========================= 1. ヘッダー（白背景ロゴ） ========================= */
/* ↓ ヘッダーとメインビジュアルの間に少し余白 */
 .site-header {
     background: #ffffff;
     margin-bottom: 20px;
}
/* 上段帯そのもの */
 .site-header__top {
     background: #ffffff;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    /* うっすら影で締める */
}
/* 中身のレイアウト */
 .site-header__inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 18px 20px;
}
/* ロゴ＋テキスト */
 .site-header__brand-link {
     text-decoration: none;
     display: inline-flex;
     align-items: center;
}
 .site-header__brand-text {
     font-size: 1rem;
     font-weight: 600;
     color: #555555;
}
 .site-header__logo {
     width: 40px;
    /* ロゴの大きさ（調整可） */
     height: auto;
     margin-right: 10px;
    /* テキストとのすき間 */
     vertical-align: middle;
}
/* 「医療法人 さくら会」 */
 .site-header__brand-text {
     font-size: 1.2rem;
    /* 少し大きめに */
     font-weight: 600;
     letter-spacing: 0.04em;
    /* すこし字間を開けて上品に */
     color: #555555;
}
/* 小さなサブテキストを入れたい場合（任意） <span class="site-header__brand-sub">地域に寄り添う医療と介護</span> を足す想定 */
 .site-header__brand-sub {
     display: block;
     font-size: 11px;
     color: #999999;
     margin-top: 2px;
}
/* スマホ時の調整 */
 @media (max-width: 768px) {
     .site-header__brand-sub {
         flex-direction: column;
        /* ロゴの下に文字がくるレイアウト */
         gap: 4px;
    }
}
/* ========== ヘッダー右端 3ボタン ========== */
 .site-header__quick-links {
     margin-left: auto;
    /* ロゴと離して右寄せ */
     display: flex;
     gap: 8px;
    /* ボタン間の隙間 */
}
 .header-btn {
     padding: 6px 14px;
     border-radius: 16px;
     font-size: 0.8em;
     color: white;
     text-decoration: none;
     font-weight: 600;
     white-space: nowrap;
}
/* 仮の配色（後で変更可） */
 .header-btn--ika {
     background: var(--color-clinic);
    /* ピンク基調 */
}
 .header-btn--shika {
     background: var(--color-shika);
    /* ミント */
}
 .header-btn--rouken {
     background: var(--color-rouken);
    /* 仮ブルー */
}
/* ホバー */
 .header-btn:hover {
}
/* スマホ時は下に縦並び */
/* スマホ時：ロゴ → ↓ → ボタン の順に縦並び */
 @media (max-width: 768px) {
     .site-header__inner {
         flex-direction: column;
         align-items: center;
        /* 中央寄せ */
         text-align: center;
    }
}
 @media (max-width: 768px) {
     .site-header__quick-links {
         position: static;
         transform: none;
         width: 100%;
         margin-top: 8px;
         display: flex;
         flex-direction: row;
         justify-content: center;
         gap: 8px;
    }
     .header-btn {
         width: auto;
         padding: 6px 12px;
    }
}



/* =========================================================
   4. グローバルナビ
========================================================= */

/* ========================= 2. メインメニュー（ピンク・白文字） ========================= */
 .main-nav {
     background: var(--color-pink-soft);
    /* 既存のピンクに近い色に調整 */
}
 .main-nav__list {
     list-style: none;
     margin: 0;
     padding: 0;
     display: flex;
     flex-wrap: nowrap;
     gap: 18px;
}
 .main-nav__link {
     position: relative;
     display: block;
     padding: 10px 0;
     font-size: 0.9rem;
     color: #ffffff;
     font-weight:bold;
     text-decoration: none;
     letter-spacing: 0.04em;
}
/* PC メニュー hover 下線（下寄せ固定） */
 .main-nav__link::after {
     content: "";
     position: absolute;
     left: 0;
     right: 0;
     bottom: 0;
    /* ← ここを「下端」に固定 */
     height: 2px;
     background: rgba(255, 255, 255, 0.9);
     width: 0;
     transition: width 0.2s ease;
}
 .main-nav__link:hover {
     color: #ffffff;
}
 .main-nav__link:hover::after, .main-nav__link--current::after {
     width: 100%;
}
/* ラベル・トグルはPCでは非表示 */
 .main-nav__label, .main-nav__toggle {
     display: none;
}
/* ==== 既存PC向け（そのまま使う） ================= */
/* PC表示時：メインメニューを均等割り付け */
 @media (min-width: 769px) {
     .main-nav__inner {
         padding: 0px 20px;
    }
     .main-nav__list {
         flex: 1 1 12.5%;
         text-align: center;
         height: 80px;
        /* ★→ ここが「2行分」の高さの目安 */
         display: flex;
         justify-content: center;
         align-items: center;
        /* li 自体の中央寄せ */
         gap: 0;
        /* すき間をなくす：均等幅にするため */
    }
    /* 各 li を均等に広げる */
     .main-nav__list > li {
         flex: 1 1 0;
         text-align: center;
         line-height:1em;
    }
    /* a をブロックにして、全体クリック可能に */
     .main-nav__link {
         display: block;
         align-items: center;
        /* ★ これで１行も２行も中央に */
         width: 100%;
         height: 2.5em;
         padding: 0;
        /* 高さは li に任せるので padding不要 */
         line-height: 1em;
        /* 複数行でも詰まらない */
    }
    /* hover下線 */
     .main-nav__link:hover, .main-nav__link--current {
         border-bottom-color: rgba(255, 255, 255, 0.9);
    }
}
/* ==== ここからスマホ用（768px 以下想定） ========= */
 @media (max-width: 768px) {
    /* ▼ メインナビ全体：スマホでは白背景（ヘッダーと同化） */
     .main-nav {
         background: #ffffff;
    }
     .main-nav__inner {
         padding: 4px 12px;
         display: flex;
         align-items: center;
         justify-content: flex-end;
        /* 3本線を右寄せ */
         position: relative;
    }
    /* ▼ ハンバーガーボタン（ピンクの四角） */
     .main-nav__toggle {
         display: inline-flex;
         flex-direction: column;
         justify-content: center;
         gap: 3px;
         width: 34px;
         height: 30px;
         padding: 0;
         border: none;
         border-radius: 6px;
         background: var(--color-pink-soft);
         cursor: pointer;
    }
     .main-nav__toggle-bar {
         display: block;
         width: 70%;
         height: 2px;
         margin: 0 auto;
         background: #ffffff;
         border-radius: 2px;
         transition: transform 0.2s ease, opacity 0.2s ease;
    }
    /* ▼ メニュー本体（ドロップダウン） */
     .main-nav__list {
         position: absolute;
         left: 0;
        /* 画面左端から */
         right: 0;
        /* 画面右端まで → 幅100% */
         top: 100%;
         margin-top: 0;
         padding: 0;
        /* ★閉じているときは padding 0 → ピンクが出ない */
         background: var(--color-pink-soft);
         flex-direction: column;
         gap: 4px;
         max-height: 0;
        /* 閉じているときは中身も隠す */
         overflow: hidden;
         border-radius: 0;
        /* 必要なら 0（帯状） or 8px に変更 */
         border-top: none;
         box-shadow: none;
        /* 不要なら消す */
         transition: max-height 0.25s ease, padding 0.15s ease;
         z-index: 50;
         display: flex;
         box-sizing: border-box;
    }
     .main-nav__link {
         padding: 10px 16px;
         font-size: 0.9rem;
         color: #ffffff;
    }
     .main-nav__link::after {
         bottom: 0;
    }
    /* ▼ nav に .main-nav--open が付いたときだけ展開 */
     .main-nav--open .main-nav__list {
         max-height: 400px;
        /* 8メニュー入るくらいの値に調整 */
         padding: 8px 16px 12px;
        /* ★開いたときだけ padding とる */
         border-top: 1px solid rgba(255, 255, 255, 0.4);
    }
    /* ▼ 開いたとき「×」に変形 */
     .main-nav--open .main-nav__toggle-bar:nth-child(1) {
         transform: translateY(5px) rotate(45deg);
    }
     .main-nav--open .main-nav__toggle-bar:nth-child(2) {
         opacity: 0;
    }
     .main-nav--open .main-nav__toggle-bar:nth-child(3) {
         transform: translateY(-5px) rotate(-45deg);
    }
}



/* =========================================================
   5. フッター
========================================================= */

/* ========================= フッター ========================= */
 .footer {
     background: var(--color-pink-bg-light);
    /* ごく淡いピンク */
     color: #555;
     margin-top: 40px;
     font-size: 0.9rem;
}
 .footer__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 24px 20px 16px;
     display: flex;
     flex-wrap: wrap;
     gap: 24px;
}
/* 左の法人情報ブロック */
 .footer__brand {
     flex: 1 1 40%;
     min-width: 260px;
}
 .footer__brand-name {
     font-size: 1rem;
     font-weight: 600;
     margin-bottom: 8px;
}
 .footer__brand-info {
     font-size: 0.8rem;
     line-height: 1.6;
}
/* 施設一覧・各種案内 */
 .footer__section {
     flex: 1 1 20%;
     min-width: 180px;
}
 .footer__heading {
     font-size: 1rem;
     font-weight: 600;
     margin: 0 0 8px;
}
 .footer__list {
     list-style: none;
     margin: 0;
     padding: 0;
}
 .footer__list li + li {
     margin-top: 4px;
}
 .footer__list a {
     color: #555;
     text-decoration: none;
}
 .footer__list a:hover {
     text-decoration: underline;
}
/* 下段（コピーライト帯） */
 .footer__bottom {
     border-top: 1px solid #e5cfdc;
     margin-top: 16px;
     background: var(--color-pink-bg-light);
}
 .footer__bottom-inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 8px 20px 12px;
     text-align: center;
}
 .footer__copyright {
     font-size: 0.8rem;
     color: #777;
}
/* スマホ用レイアウト */
 @media (max-width: 768px) {
     .footer__inner {
         flex-direction: column;
         gap: 16px;
    }
     .footer__brand, .footer__section {
         flex: 1 1 auto;
    }
}


/* =========================================================
   6. トップページ
   hero / quick-links / news など
========================================================= */

/* ========================= 3. メインビジュアル（hero） ========================= */
 .hero {
     background: #ffffff;
     padding: 0 0 40px;
    /* 上はヘッダーとの余白で調整されるので0でもOK */
}
 .hero__inner {
     padding: 0 20px;
}
/* 写真エリア（角丸＋淡い桜調の背景） */
 .hero__photo {
     position: relative;
    /* height: 320px;
     */
     border-radius: 22px;
     border: 4px solid var(--color-pink-soft);
     overflow: hidden;
     background: radial-gradient(circle at 20% 20%, rgba(255, 210, 230, 0.7), transparent 55%), radial-gradient(circle at 70% 60%, rgba(255, 190, 210, 0.6), transparent 55%), #ffffff;
     display: flex;
     align-items: center;
     justify-content: center;
}
/* 中央の仮テキスト（後で消してOK） */
 .hero__photo-placeholder {
     margin: 0;
     font-size: 1.5rem;
     color: #8a5a70;
}
/* 実際に写真を使う場合（任意） */
/* .hero__photo img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 */
/* スマホ時の hero 画像レスポンシブ */
 @media (max-width: 768px) {
     .hero__photo img {
         width: 100%;
         height: auto;
         max-width: 100%;
         object-fit: cover;
    }
}
/* 4ボタンエリア */
 .hero__buttons {
     margin-top: 28px;
     display: flex;
     justify-content: center;
     gap: 30px;
     flex-wrap: wrap;
}
/* 各ボタン */
 .hero-button {
     min-width: 180px;
     padding: 14px 28px;
     border-radius: 18px;
     border: 2px solid var(--color-pink-soft);
     text-align: center;
     font-size: 20px;
     text-decoration: none;
     color: #8a5a70;
     background: #ffffff;
     letter-spacing: 0.04em;
     transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease;
}
 .hero-button:hover {
     background: var(--color-pink-bg);
     color: #75445c;
     transform: translateY(-1px);
}


/* ========================= お知らせブロック ========================= */
 .news {
     background: #ffffff;
     padding: 40px 0;
}
 .news__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
}
/* 大見出し */
 .news__header {
     margin-bottom: 16px;
}
 .news__title {
     font-size: 1.4rem;
     font-weight: 600;
     border-left: 4px solid var(--color-pink-soft);
     padding-left: 10px;
     margin: 0;
}
/* 小さめボタンエリア */
 .news__nav {
     margin-bottom: 20px;
}
 .news__nav-list {
     list-style: none;
     margin: 0;
     padding: 0;
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
}
 .news__nav-item {
    /* ここは特に指定不要でもOK */
}
/* 4つの小さめボタン・デザイン */
 .news__nav-link {
     display: inline-block;
     padding: 6px 14px;
     font-size: 0.8rem;
     font-weight:bold;
     border-radius: 16px;
     border: 1px solid var(--color-pink-soft);
     background: var(--color-pink-bg);
     color: #8a5a70;
     text-decoration: none;
     letter-spacing: 0.03em;
     transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease 
}
 .news__nav-link:hover {
     background: var(--color-pink-bg);
     color: #75445c;
     transform: translateY(-1px);
}
/* 中見出し＋リスト部分 */
 .news-section {
     margin-top: 24px;
     padding-top: 8px;
     border-top: 1px solid #f1d5e2;
    /* ▼ アンカーで飛んだときにヘッダーに隠れないように */
     scroll-margin-top: 120px;
    /* ヘッダー＋メニューの高さに合わせて調整 */
}
 .news-section__title {
     font-size: 1rem;
     font-weight: 600;
     margin: 0 0 8px;
     margin: 0 0 8px;
     padding:0.5em;
     color:var(--color-pink-deep);
     background-color:var(--color-pink-bg-light);
}
/* お知らせ一覧 */
 .news-list {
     list-style: none;
     margin: 0;
     padding: 0;
}
 .news-list__item {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     padding: 6px 0;
     border-bottom: 1px dashed var(--color-pink-bg-dash);
     font-size: 0.9rem;
}
/* 更新情報：日付（控えめタグ風） */
.news-list__date {
  display: inline-block;
  padding: 4px 10px;
  margin-right: 10px;

  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;

  color: var(--color-pink-deep);
  background: var(--color-pink-bg);
  border-radius: 999px;

  white-space: nowrap;
}
 .news-list__link {
     color: #555;
     font-weight:bold;
     text-decoration: none;
     font-size: 1rem;
}
 .news-list__link:hover {
     text-decoration: underline;
}
 .news-list__item > div {
     width:100%;
}
/* スマホ表示調整 */
 @media (max-width: 768px) {
     .news {
         padding: 30px 0;
    }
     .news__title {
         font-size: 1.3rem;
    }
     .news-list__item {
         flex-direction: column;
    }
     .news-list__date {
         min-width: 0;
    }
}
/* ========================= 更新情報 ========================= */
 .update {
     background: #ffffff;
    /* お知らせと同色 */
     padding: 20px 0 40px;
    /* お知らせとの距離感調整 */
}
 .update__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
}
/* 大見出し（お知らせと同形状） */
 .update__header {
     margin-bottom: 16px;
}
 .update__title {
     font-size: 1.4rem;
     font-weight: 600;
     border-left: 4px solid var(--color-pink-base);
     padding-left: 10px;
     margin: 0;
}
/* リスト本体 */
 .update-list {
     list-style: none;
     margin: 0;
     padding: 0;
}
 .update-list__item {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     padding: 6px 0;
     border-bottom: 1px dashed var(--color-pink-bg-dash);
    /* お知らせと揃える */
     font-size: 14px;
}
/* 日付 */
 .update-list__date {
     color: var(--color-gray);
     min-width: 90px;
     font-size: 0.9rem;
}
/* テキスト */
 .update-list__text {
     color: #555;
     font-size: 0.9rem;
}
/* SP レイアウト（お知らせと同仕様） */
 @media (max-width: 768px) {
     .update-list__item {
         flex-direction: column;
    }
     .update-list__date {
         min-width: 0;
    }
}


/* 更新情報：詳細（2行目） */
.update-list__detail {
  flex: 0 0 calc(100% - 98px);
  margin-left: 98px;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--color-pink-deep);
}

/* SPでは縦並びに追従 */
@media (max-width: 768px) {
  .update-list__detail {
    flex-basis: 100%;
    margin-left: 0;
  }
}


/* 更新情報：一覧リンク（少しだけ強調） */
.update-list__more {
  margin-top: 10px;
  text-align: right;
}

.update-list__more a {
  position: relative;
  padding-right: 14px;
  font-size: 0.95rem;
  color: var(--color-pink-deep);
  text-decoration: none;
}

/* 矢印 */
.update-list__more a::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
  font-weight: bold;
  color: var(--color-pink-deep);
}

/* hover */
.update-list__more a:hover {
  text-decoration: underline;
}





/* =============================== ボトム：バナー（ロゴ3～4個） =================================*/
 .banner {
     background: #f9f9f9;
     padding: 20px 0;
}
 .banner__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 8px 20px;
}
/* PC 横並び */
 .banner-list {
     list-style: none;
     margin: 0;
     padding: 0;
     display: flex;
     justify-content: center;
    /* 中央寄せ */
     align-items: center;
     gap: 14px;
}
/* 画像サイズ */
 .banner-list__item img {
     display: block;
     max-width: 200px;
     height: auto;
}
/* SP 縦並び */
 @media (max-width: 768px) {
     .banner-list {
         flex-direction: column;
         gap: 12px;
    }
}
/* ========================= 診療科 画像ボタン（4カード） ========================= */
 .dept-cards {
     background: #ffffff;
     padding: 10px 0 40px;
}
 .dept-cards__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 20px;
}
/* カード全体 */
 .dept-card {
     display: flex;
     flex-direction: column;
     background: #ffffff;
     border-radius: 6px;
     box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    /* 周囲のシャドウ */
     text-decoration: none;
     color: inherit;
     overflow: hidden;
     transition: transform 0.15s ease, box-shadow 0.15s ease;
}
 .dept-card:hover {
     transform: translateY(-3px);
     box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
/* 画像部分 */
 .dept-card__figure {
     margin: 0;
}
 .dept-card__image {
     width: 100%;
     height: 160px;
     object-fit: cover;
     display: block;
     border:solid 1px #cccccc;
}
/* テキスト部分 */
 .dept-card__body {
     padding: 12px 14px 10px;
}
 .dept-card__title {
     font-size: 1rem;
     font-weight: 600;
     margin: 0 0 6px;
}
 .dept-card__text {
     font-size: 0.9rem;
     line-height: 1.6;
     margin: 0;
}
/* 下のピンクボタン部分 */
 .dept-card__footer {
     margin-top: auto;
     padding: 10px 14px 12px;
}
 .dept-card__more {
     display: inline-block;
     width: 100%;
     text-align: center;
     font-size: 0.9rem;
     padding: 8px 0;
     border-radius: 3px;
     background: var(--color-pink-base);
    /* 少し濃いめのピンク */
     color: #ffffff;
     font-weight: 500;
}
/* hover時、文言も少しだけ変化させたい場合（任意） */
 .dept-card:hover .dept-card__more {
     background: var(--color-pink-deep);
}
/* レスポンシブ：タブレットでは2列、スマホでは1列 */
 @media (max-width: 1024px) {
     .dept-cards__inner {
         grid-template-columns: repeat(2, 1fr);
    }
}
 @media (max-width: 600px) {
     .dept-cards__inner {
         grid-template-columns: 1fr;
    }
     .dept-card__image {
         height: 180px;
        /* 縦を少し伸ばしてスマホで見やすく */
    }
}
/* ========================= 4カードの下の 5つのボタン ========================= */
 .quick-links {
     background: #ffffff;
     padding: 8px 0 32px;
}
/* PC：5列均等、1200px以内で縮小して揃える */
 .quick-links__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 20px;
     display: grid;
     grid-template-columns: repeat(5, minmax(0, 1fr));
    /* ←これが重要 */
     gap: 12px;
}
/* ボタン共通スタイル */
 .quick-link {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     padding: 12px 16px;
    /* ← 高さを厚く */
     border-radius: 16px;
    /* pill感キープ */
     text-decoration: none;
     font-size: 0.9rem;
    /* ← 文字サイズUP */
     font-weight: 500;
     color: #ffffff;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
     transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
     white-space: nowrap;
     border: 4px solid rgba(255, 255, 255, 0.7);
    /* 白色で70%不透明 */
}
 .quick-link__icon {
     display: inline-flex;
     align-items: center;
     justify-content: center;
}
 .quick-link__icon i {
     font-size: 1.5rem;
    /* アイコンも1pt増加 */
}
/* hover時のふるまい */
 .quick-link:hover {
     color: #ffffff;
     box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
     opacity: 0.6;
}
/* ===== 差し色パレット ===== */
/* 1. クリニック担当医：既存トーンに近いピンク */
 .quick-link--clinic {
     background: var(--color-clinic);
}
/* 2. 老健 空床：少し落ち着いたグリーン */
 .quick-link--beds {
     background: var(--color-rouken);
}
/* 3. デイケアカレンダー：淡いブルー */
 .quick-link--daycare {
     background: var(--color-rouken);
}
/* 4. 健康診断：やわらかいオレンジ */
 .quick-link--checkup {
     background: #f9bf68;
    /* amber系 */
}
/* 5. 採用問い合わせ：少しシックなパープル */
 .quick-link--recruit {
     background: #dab0e6;
    /* purple系 */
}
/* タブレット → 3列 */
 @media (max-width: 1024px) {
     .quick-links__inner {
         grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/* スマホ → 1列 */
 @media (max-width: 600px) {
     .quick-links__inner {
         grid-template-columns: 1fr;
    }
     .quick-link {
         justify-content: flex-start;
         padding: 12px 14px;
    }
}





/* =========================================================
   7. 下層ページ共通
   breadcrumb / page-title / page-anchor-nav など
========================================================= */

/* =============================== 下層ページレイアウト =================================*/
 .page-container {
     display: flex;
     gap: 40px;
     max-width: 1200px;
     margin: 10px auto;
     padding: 0 20px;
     align-items: flex-start;
    /* ← 追加：子要素を上揃えにする */
     min-height: 600px;
}
/* ---- サイドナビ ---- */
 .side-nav {
     width: 240px;
     flex-shrink: 0;
     position: sticky;
    /* ← 追加：スクロール追従 */
     top: 10px;
    /* ← 追加：ヘッダー分だけ下に固定する位置 */
}
 @media(max-width:768px) {
     .side-nav {
         position: static;
    }
}
 .side-nav ul {
     list-style: none;
     padding: 0;
}
 .side-nav li + li {
     margin-top: 6px;
}
 .side-nav a {
     display: block;
     padding: 10px 12px;
     background: var(--color-pink-bg-light);
     border-radius: 6px;
     color: #000000;
     text-decoration: none;
}
 .side-nav a:hover {
     background: var(--color-pink-bg);
}
 .side-nav a {
     position: relative;
     padding-right: 28px;
}
 .side-nav a::after {
     content: "›";
     position: absolute;
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
     font-size: 1.2em;
     color: #666;
     transition: 0.2s;
}
 .side-nav a:hover::after {
     right: 8px;
     color: #000;
}
 .side-nav a.active {
     color: var(--color-pink-deep);
}
/* ---- メイン ---- */
 .page-main {
     flex-grow: 1;
     max-width: 100%;
     overflow-x: hidden;
    /* ← これが重要 */
}
/* ---- 見出し ---- */
 .page-main h1 {
     font-size: 1.9rem;
     border-left: 6px solid var(--colr-h);
    /* ピンクライン */
     padding-left: 12px;
     margin-bottom: 18px;
}
 .page-main h2 {
     font-size: 1.5rem;
     border-bottom: 2px solid var(--colr-h);
     margin-top: 40px;
     margin-bottom: 18px;
     padding-bottom: 6px;
}
 .page-main h3 {
     font-size: 1.5rem;
     border-bottom: 1px solid var(--colr-h);
     margin-top: 40px;
     margin-bottom: 18px;
     padding-bottom: 6px;
}
 .page-main h4 {
     font-size: 1.25rem;
     color: #444;
     margin-top: 25px;
     margin-bottom: 10px;
}
/* ---- スマホ ---- */
 @media(max-width:768px) {
     .page-container {
         flex-direction: column;
    }
     .side-nav {
         width: 100%;
    }
}
/* ---- ナビゲーション ---- */
 .breadcrumb {
     max-width: 1200px;
     margin: 6px auto 10px;
     padding: 0 20px;
     font-size: 0.875rem;
}
 .breadcrumb__list {
     display: flex;
     flex-wrap: wrap;
     justify-content: flex-end;
     gap: 4px;
     padding: 0;
     margin: 0;
}
 .breadcrumb__item {
     display: inline-flex;
}
 .breadcrumb__item + .breadcrumb__item::before {
     content: "›";
     margin: 0 6px;
     color: var(--color-gray);
     font-size: 0.85em;
}
/* リンク部分 */
 .breadcrumb__item a {
     color: var(--color-gray);
     text-decoration: none;
}
 .breadcrumb__item a:hover {
     text-decoration: underline;
}
/* 現在位置（リンクなし） */
 .breadcrumb__item--current {
     color: #333;
     font-weight: normal;
}
/* SPでも読みやすいように折り返し可 */
 @media (max-width: 768px) {
     .breadcrumb {
         font-size: 0.9rem;
    }
}




/* =========================================================
   8. 汎用ボックス・パーツ
   box / ボタン / テキスト強調 / 料金など
========================================================= */

/* --- ボックス --- */
/* .box-soft */
/* .box-dl */
/* .box-outline */
/* .box-contact */
/* ========================= 囲み枠 ========================= */
 .box-soft {
     border: 2px solid var(--accent-soft);
     background: var(--accent-soft-bg);
     padding: 14px 18px;
     border-radius: 8px;
     margin: 18px 0;
}
/* ダウンロード */
 .box-dl {
     background: var(--color-pink-bg-light);
     padding: 14px 18px;
     border-radius: 8px;
     margin: 18px 0;
}
/* リンク案内用の囲み枠 */
/* リンク */
.box-link {
  background: #fff;
  padding: 14px 18px;
  border-radius: 8px;
  margin: 18px 0;
  border: 1px solid var(--color-pink-bg-dash);
}
/* 中に ul を入れた場合の調整 */
.box-link ul {
  margin: 0;
  padding-left: 1.2em;
}

.box-link li + li {
  margin-top: 6px;
}

/* 枠内リンクを少しだけ分かりやすく */
.box-link a {
  font-weight: 700;
}



/* 囲み枠（線のみ） */
 .box-outline {
     border: 2px solid var(--accent-soft);
     background: transparent;
     padding: 14px 18px;
     border-radius: 8px;
     margin: 18px 0;
}
/* 背景帯 */
 .bg-soft {
     background: var(--accent-soft-bg);
     padding: 14px 18px;
}
/* 見出し左線 */
 .title-soft {
     border-left: 6px solid var(--accent-soft);
     padding-left: 10px;
     font-weight: 600;
     font-size: 1.2rem;
     margin-bottom: 10px;
}


/* ========================================
   お問い合わせ先ボックス
======================================== */
.box-contact {
  margin-top: 16px;
  border: 2px solid var(--color-pink-base);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.box-contact__name {
  margin: 0;
  padding: 12px 16px;
  background: var(--color-pink-base);
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.4;
}

/* 本文ラッパー */
.box-contact__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px;
}

/* 個別pはpadding削除 */
.box-contact__address,
.box-contact__tel,
.box-contact__fax {
  margin: 0;
  padding: 0;
  line-height: 1.9;
}

/* 行間 */
.box-contact__body p + p {
  margin-top: 4px;
}

.box-contact__tel a,
.box-contact__tel span {
  color: inherit;
  font-weight: 700;
}

/* SP */
@media (max-width: 900px) {
  .box-contact__name {
    padding: 10px 14px;
    font-size: 1rem;
  }

  .box-contact__address,
  .box-contact__tel,
  .box-contact__fax {
    padding-left: 14px;
    padding-right: 14px;
  }

  .box-contact__address {
    padding-top: 14px;
  }

  .box-contact__fax {
    padding-bottom: 14px;
  }
}


/* =============================== その他枠など =================================*/
/* ===== ドット枠 ===== */
 .box-dotted {
     margin: 30px auto;
     padding: 1em;
     border: 2px dashed var(--color-pink-base);
     position: relative;
}
 .box-dotted-ttl {
     position: absolute;
     top: -15px;
     left: 20px;
     background-color: #ffffff;
     padding: 0 0.5em;
     margin: 0;
     font-size: 20px;
     font-weight: bold;
     color: var(--color-pink-base);
}
/* ===== 枠ノート風 ===== */
 .box-note {
     margin: 20px auto;
     padding: 20px;
     border: 3px solid var(--color-pink-base);
     position: relative;
     border-radius: 4px;
}
 .box-note p {
     background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, var(--color-pink-base) 100%);
     background-size: 8px 100%, 100% 2.5em;
     line-height: 2.5;
     margin: 0;
     font-size:120%;
}





/* --- テキスト強調 --- */
/* .text-emphasis */

/* --- ボタン --- */
/* .btn_01 */
/* .btn_02 */

/* --- 料金 --- */
/* .price-box */
/* .course-price */


/* ========================= テキスト型リンク ========================= */
/* ===== 矢印テキスト型リンク（やわらか） ===== */
 .page-links {
     margin: 40px 0 10px;
     text-align: left;
}
 .page-link {
     display: inline-block;
     padding: 8px 0;
     color: var(--color-pink-base);
     font-weight: 600;
     text-decoration: none;
     transition: 0.2s;
}
 .page-link:hover {
     opacity: 0.7;
     padding-right: 4px;
    /* ちょっと動く */
     color:#ffffff;
}
/* ===== 小さめのボタン ===== */
 .page-link-btn {
     display: inline-block;
     padding: 10px 18px;
     background: var(--accent-soft);
     color: #fff;
     border-radius: 8px;
     font-size: 0.95rem;
     font-weight: 600;
     text-decoration: none;
     box-shadow: 0 2px 6px rgba(0,0,0,.1);
     transition: .2s;
}
 .page-link-btn:hover {
     background: var(--accent-soft-hover);
     transform: translateY(-2px);
     color:#ffffff;
}
 .page-links .page-link-btn + .page-link-btn {
     margin-left: 8px;
}
 @media(max-width:768px) {
     .page-links .page-link-btn {
         display: block;
         margin: 8px auto;
         width: 100%;
         text-align: center;
    }
}
/* ===== 小さめのボタン2 ===== */
 .page-next-links {
     margin: 50px 0 20px;
     text-align: center;
}
 .page-next-btn {
     display: inline-block;
     padding: 10px 20px;
     background: var(--accent-soft);
    /* 現在の優しいミント */
     color: #fff;
     font-size: 1rem;
     font-weight: 600;
     text-decoration: none;
     border-radius: 8px;
     transition: .2s;
     box-shadow: 0 3px 6px rgba(0,0,0,.1);
     position: relative;
}
/* ホバー効果（少し浮く） */
 .page-next-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 10px rgba(0,0,0,.15);
     color:#ffffff;
}
/* 矢印をCSSで追加（変更しやすい設計） */
 .page-next-btn::after {
     content: " →";
     font-weight: 700;
}


/* =============================== 画像＋テキストブロック =================================*/
.imgcontainer {
    display: flex;
    flex-direction: column;	/* モバイルは縦並び */
    gap: 20px;
    max-width: 960px;
    margin: 20px auto;		/* はみ出し防止用 */
}

.image-column img {
    max-width: 100%;
    width: auto; /* ← これで無理に広げない */
    height: auto;
    border-radius: 12px;
}

/* モバイル時（PC未満）は画像中央寄せ */
.image-column {
    display: flex;
    justify-content: center;
    background-color:#ffffff;
}

/* PCレイアウト（768px以上） */
@media (min-width: 768px) {

    .imgcontainer {
        display: flex;
        flex-direction: row; 		/* 横並び */
        justify-content: space-between;	/* 配置コンテナーの中で主軸方向に均等に配置 */
        align-items: flex-start; 	/* 列内：垂直方向上寄せ */
    }

    /* 画像列は中身の幅だけにする */
    .image-column {
        flex: 0 0 auto; 		/* 画像列は「画像の幅だけ」 */
        display: flex;
        justify-content: center; 	/* 画像列内：中央寄せ */
        align-items: flex-start; 	/* 画像列内：垂直方向上寄せ */
    }

    /* テキスト列は残りを埋める */
    .text-column {
        flex: 1; 		/* 1:1 の比率で2カラム */
        min-width: 0;		/* テキスト側が広がり過ぎないようにする */
    }

    /* 画像右・テキスト左にしたい場合 */
    .imgcontainer.imgcontainer--reverse {
        flex-direction: row-reverse;
    }
}


/* =============================== 動画 =================================*/
 .video-box {
     max-width: 900px;
     margin: 40px auto;
     padding: 20px;
     background: #f9f1f5;
    /* 淡いピンク背景（柔らかい） */
     border-radius: 12px;
    /* 角丸 */
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    /* やさしい影 */
     text-align: center;
}
 .video-box video {
     width: 100%;
     height: auto;
     border-radius: 10px;
     display: block;
     box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15);
    /* 動画自体にも影 */
}
 .video-title {
     font-size: 1.6rem;
     text-align: center;
     margin-bottom: 10px;
}
 .video-desc {
     text-align: center;
     color: #666;
     margin-bottom: 20px;
     font-size: 1rem;
}




/* ========================= ページトップへ戻るボタン ========================= */
 .pagetop {
     position: fixed;
     right: 20px;
     bottom: 20px;
     width: 46px;
     height: 46px;
     background: var(--color-pink-soft);
     color: #fff;
     border: none;
     border-radius: 50%;
    /* ← 丸ボタンに寄せる場合 */
     cursor: pointer;
     display: none;
     align-items: center;
     justify-content: center;
     box-shadow: 0 2px 8px rgba(0,0,0,0.2);
     transition: opacity 0.3s ease;
     z-index: 100;
}
/* Font Awesome v7 — circle-arrow-up をCSSで表示 */
 .pagetop::before {
     content: "\f0aa";
    /* ★circle-arrow-up */
     font-family: "Font Awesome 7 Free";
    /* v7 Free */
     font-weight: 900;
    /* solid */
     font-size: 1.5rem;
}
 .pagetop:hover {
     opacity: 0.84;
}
/* SP 最適化（任意） */
 @media (max-width: 768px) {
     .pagetop {
         right: 14px;
         bottom: 14px;
         width: 42px;
         height: 42px;
    }
}



/* ===== ページ内リンクナビ ===== */

.page-anchor-nav {
  background: var(--color-pink-bg);     	/* #fbe3ec */
  border: 1px solid var(--color-pink-soft); 	/* #f3a9c3 */
  border-radius: 10px;
  padding: 16px 20px;
  margin: 30px 0;
}

/* ul */
.page-anchor-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: start;
}

/* li */
.page-anchor-list li {
  margin: 0;
}

/* リンク */
.page-anchor-list a {
  text-decoration: none;
  color: #444;
  font-size: 0.95rem;
  position: relative;
  padding-right: 18px;
  transition: color 0.2s ease;
}

/* 文字部分だけ */
.anchor-text {
  position: relative;
}

/* 下線アニメーション */
.anchor-text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background: var(--color-pink-deep);
  transition: width 0.25s ease;
}

.page-anchor-list a:hover .anchor-text::after {
  width: 100%;
}

/* 矢印 */
.page-anchor-list a::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-pink-deep);
  font-size: 0.9em;
  font-weight: bold;
}


/* hover */
.page-anchor-list a:hover {
  color: var(--color-pink-deep);
}

/* ===============================
   SP版（縦並び）
=================================*/
@media (max-width: 768px) {
  .page-anchor-list {
    flex-direction: column;
    gap: 12px;
  }

  .page-anchor-list a {
    font-size: 1rem; /* 少し大きくしてタップしやすく */
  }
}





/* ===== リンクボタン ===== */
/* メインカラー */
 .btn_01 {
     display: inline-block;
     width: auto;
     max-width: 100%;
    /* ボタン幅 */
     position: relative;
     background: var(--color-pink-deep);
    /* 背景色 */
     border: 2px solid var(--color-pink-deep);
     padding: 0.5em 1em 0.5em 2em;
     font-weight: bold;
     color: #fff;
    /* 文字色 */
     text-decoration: none;
     text-align: center;
     transition-duration: 0.3s;
     border-radius: 4px;
     clear: both;
}
 .btn_01:before {
     content: '';
     width: 8px;
     height: 8px;
     border: 0;
     border-top: 2px solid #fff;
    /* 矢印の色 */
     border-right: 2px solid #fff;
    /* 矢印の色 */
     transform: rotate(45deg);
     position: absolute;
     top: 50%;
     left: 0.5em;
     margin-top: -6px;
}
 .btn_01 a{
     color:#ffffff;
}
 .btn_01:hover {
     opacity:0.6;
}
/* 差し色 */
 .btn_02 {
     display: inline-block;
     width: auto;
     max-width: 100%;
    /* ボタン幅 */
     position: relative;
     background: var(--accent-soft-hover);
    /* 背景色 */
     border: 2px solid var(--accent-soft-hover);
     padding: 0.5em 1em 0.5em 2em;
     font-weight: bold;
     color: #fff;
    /* 文字色 */
     text-decoration: none;
     text-align: center;
     transition-duration: 0.3s;
     border-radius: 4px;
     clear: both;
}
 .btn_02:before {
     content: '';
     width: 8px;
     height: 8px;
     border: 0;
     border-top: 2px solid #fff;
    /* 矢印の色 */
     border-right: 2px solid #fff;
    /* 矢印の色 */
     transform: rotate(45deg);
     position: absolute;
     top: 50%;
     left: 0.5em;
     margin-top: -6px;
}
 .btn_02 a{
     color:#ffffff;
}
 .btn_02:hover {
     opacity:0.6;
}
/* ===== コンタクト ===== */
 .box-contact2 {
     margin: 20px auto;
     border-radius: 4px;
     border: 2px solid var(--color-pink-base);
}
 .box-contact2-ttl {
     background-color: var(--color-pink-base);
     color: #fff;
     padding: 0.5em 20px;
     margin: 0;
     font-size: 20px;
     font-weight: bold;
}
 .box-contact2-txt {
     padding: 10px 20px;
     border: 2px solid var(--color-pink-base);
}
/* ===== Q&A ===== */
 .question1 {
     position: relative;
     color: var(--color-pink-deep);
     font-weight:bold;
     font-size:120%;
     line-height:2em;
}
 .question1::before {
     content: attr(data-number);
     display: inline-block;
     margin-right: 1em;
     background-color: var(--color-pink-deep);
     border-radius:4px;
     color: #ffffff;
     font-size: 120%;
     text-align:center;
     width:2em;
}
 .answer1 {
     margin: 0.5em 0 1.5em 0;
     padding:0 0 0.5em 0;
     border-bottom: 1px dotted #999;
}

/* ===== 引用 ===== */
blockquote.quo1 {
    width:100%;
    position: relative;
    padding: 0px 10px 5px 40px;
    margin: 2em 0 1.5em 0;
    box-sizing: border-box;
    color: #464646;
    background: var(--color-pink-bg);
    border-top: solid 3px var(--color-pink-deep);
}

blockquote.quo1:before{
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 30px;
    text-align: center;
    content: "\f10d";
    font-family: FontAwesome;
    color: #ffffff;
    font-size: 18px;
    line-height: 30px;
    background: var(--color-pink-deep);
    font-weight: 900;
}

blockquote.quo1 p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 3;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}




/* =========================================================
   9. テーブル
========================================================= */

/* .course-table */
/* その他テーブル */

/* ========================= テーブル ========================= */
/* テーブル共通 */
 .table-common {
     width: 100%;
     border-collapse: separate;
     border-spacing: 0;
     margin: 20px 0;
     font-size: 1.15rem;
     border: 1px solid #ddd;
     border-radius: 8px;
    /* overflow: hidden;
     */
     text-align: left;
     background: #fff;
}
/* caption 共通 */
 .table-common caption {
     padding: 10px 12px;
     font-weight: 600;
     font-size: 1.1rem;
     background: var(--color-pink-base);
     color: #fff;
     text-align: left;
}
/* td（背景なし） */
 .table-common td {
     background: transparent;
}
/* セル共通 */
 .table-common th, .table-common td {
     padding: 10px 12px;
     border-bottom: 1px solid #e6e6e6;
}
/* 最終行のボーダー消す */
 .table-common tr:last-child td, .table-common tr:last-child th {
     border-bottom: none;
}
/* 土曜日 */
 .table-common td.sat, .table-common th.sat {
     background: #e4f4ee;
    /* ミント系やわらか背景 */
}
/* 祝日 */
 .table-common td.holiday, .table-common th.holiday {
     background: #ffe7e7;
    /* 優しい赤系（警告しすぎない） */
}
/* 横に長いスケジュール表用 .table-common.table-wide {
     width: 100%;
     max-width: 100%;
     table-layout: fixed;
}
 */
/* 横に長いスケジュール表用：共通 */
 .table-common.table-wide th, .table-common.table-wide td {
     padding: 4px 6px;
     text-align: center;
     white-space: nowrap;
    /* 改行させたくない場合 */
}
/* 1列目（診療科）の幅 */
 .table-common.table-wide th:first-child, .table-common.table-wide td:first-child {
     width: 6em;
}
/* PC（769px以上）では、画面幅にフィット */
 @media (min-width: 769px) {
     .table-common.table-wide {
         width: 100%;
         table-layout: fixed;
    }
}
/* SP（768px以下）では、テーブルを広めにして横スクロール */
 @media (max-width: 768px) {
     .table-scroll {
         width: 100%;
         overflow-x: auto;
        /* 横スクロール */
         -webkit-overflow-scrolling: touch;
    }
     .table-scroll table {
         width: auto;
        /* 親に合わせず自分の幅を持つ */
         min-width: 900px;
        /* 好きな値に調整：列数×列幅のイメージ */
         table-layout: auto;
    }
}
 .table-wrap{
     max-width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
}
 @media (max-width: 768px) {
     .table-wrap{
         box-shadow: inset -10px 0 12px -12px rgba(0,0,0,.25);
    }
}
 .table-status caption {
     background: var(--color-pink-base);
}
 .table-status .main-number {
     color: var(--color-pink-base);
}
/* 空床・数値テーブル */
 .table-status {
     width: 100%;
     border-collapse: separate;
     border-spacing: 0;
     margin: 20px 0;
     font-size: 1.15rem;
     border: 1px solid #ddd;
     border-radius: 8px;
     overflow: hidden;
     text-align: left;
     background: #fff;
}
/* caption（タイトル） */
 .table-status caption {
     padding: 8px 12px;
     font-weight: 600;
     font-size: 1.1rem;
     background: var(--color-pink-base);
     color: #fff;
     text-align: left;
}
/* セル共通 */
 .table-status th, .table-status td {
     padding: 10px 12px;
     border-bottom: 1px solid #eee;
}
/* 最終行の線を消す */
 .table-status tr:last-child th, .table-status tr:last-child td {
     border-bottom: none;
}
/* 左側のメインラベル */
 .table-status .main-label {
     width: 100px;
     font-weight: 600;
     background: #fafafa;
}
/* メインの数字 */
 .table-status .main-number {
     width: 100px;
     font-size: 1.4rem;
     font-weight: bold;
     text-align: right;
     color: var(--color-pink-base);
    /* ミント濃色（またはピンクでも可） */
}
/* 下の数字 */
 .table-status .num {
     text-align: right;
}
/* ========================= スマホ時：table を縦カード表示（table-ps の時のみ） ========================= */
 @media (max-width: 768px) {
     .table-sp {
         border: 1px solid #e6e6e6;
        /* ★ 外枠ボーダーをテーブル側に戻す */
         border-radius: 8px;
         border-collapse: separate;
         border-spacing: 0;
         overflow: hidden;
        /* 角丸を有効に */
    }
     .table-sp thead {
         display: none;
        /* 見出し行は隠す（data-labelで代用） */
    }
     .table-sp tbody {
         display: block;
         width: 100%;
    }
     .table-sp tr {
         display: block;
         width: 100%;
         border-bottom: 1px solid #e6e6e6;
        /* 行の区切り */
    }
     .table-sp tr:last-child {
         border-bottom: none;
        /* 最後の行だけ下線なし */
    }
     .table-sp th, .table-sp td {
         display: block;
         width: 100%;
         box-sizing: border-box;
         padding: 8px 12px;
         border: none;
        /* セル個別の枠は消す（右側欠け防止） */
    }
    /* td の上に「ラベル」を出す */
     .table-sp td::before {
         content: attr(data-label);
        /* ← ここに列名が入る */
         display: block;
         font-size: 0.8rem;
         color: #888888;
         margin-bottom: 2px;
    }
}
/* ========== ピンク版 ========== */
 .table-pink caption {
     background: var(--color-pink-base);
     color: #ffffff;
}
 .table-pink th {
     background: var(--color-pink-bg);
     color: #333;
     font-weight: 600;
}
/* ========== グリーン（ミント）版 ========== */
 .table-green caption {
     background: var(--accent-soft);
     color: #ffffff;
}
 .table-green th {
     background: #b5dcd1;
     color: #333;
     font-weight: 600;
}


/* =============================== CTAブロック（共通） =================================*/
 .cta-block {
     margin: 48px 0 0;
     padding: 24px 20px;
     border-radius: 12px;
     background: var(--color-pink-bg);
    /* やわらかピンク背景 */
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
 .cta-block__inner {
     max-width: 900px;
     margin: 0 auto;
     display: flex;
     gap: 24px;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
}
/* テキスト部分 */
 .cta-block__title {
     font-size: 1.4rem;
     font-weight: 700;
     margin-bottom: 8px;
     color: #444;
}
 .cta-block__lead {
     margin: 0;
     font-size: 0.95rem;
     line-height: 1.7;
     color: #555;
}
/* ボタン部分 */
 .cta-block__action {
     flex-shrink: 0;
}
 .cta-block__btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 220px;
     padding: 12px 24px;
     border-radius: 999px;
    /* 角丸強め */
     background: var(--color-pink-base);
     color: #ffffff;
     font-weight: 700;
     font-size: 1rem;
     text-decoration: none;
     box-shadow: 0 3px 8px rgba(240, 103, 139, 0.35);
     transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
 .cta-block__btn:hover {
     background: var(--color-pink-deep);
     transform: translateY(-1px);
     box-shadow: 0 5px 12px rgba(240, 103, 139, 0.45);
}
/* スマホ時は縦並びにして中央寄せ */
 @media (max-width: 768px) {
     .cta-block {
         padding: 20px 16px;
    }
     .cta-block__inner {
         flex-direction: column;
         align-items: stretch;
    }
     .cta-block__action {
         margin-top: 16px;
         width:90%;
    }
     .cta-block__btn {
         width: 100%;
    }
}
/* サイドナビ内のミニCTA */
 .side-cta {
     margin-top: 20px;
     padding: 12px 10px;
     border-radius: 8px;
     background: var(--accent-soft-bg);
    /* ミント系の薄い背景 */
     border: 1px solid var(--accent-soft);
}
 .side-cta__label {
     margin: 0 0 6px;
     font-size: 0.9rem;
     color: #444;
}
 .side-cta__btn {
     display: block;
     text-align: center;
     padding: 8px 10px;
     border-radius: 999px;
     background: var(--accent-soft);
     color: #ffffff;
     font-weight: 600;
     font-size: 0.95rem;
     text-decoration: none;
}
 .side-cta__btn:hover {
     background: var(--accent-soft-hover);
}


/* ===============================
   ピンク背景の枠付き文章
================================= */
.info-box-career {
  margin: 30px 0 30px 0;
  padding: 4px 20px 16px 20px;
  background: var(--color-pink-bg, #fbe3ec);
  /* border: 1px solid var(--color-pink-soft, #f3a9c3); */
  border-radius: 12px;
}

/* 見出し */
.info-box-career__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0 12px 0;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;

  color: var(--color-pink-deep);

  text-shadow:
    -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff,
     2px  2px 0 #fff;
}

/* Font Awesome アイコン */
.info-box-career__title i {
  flex: 0 0 auto;
  font-size: 2rem;
  line-height: 1;
}

/* 本文 */
.info-box-career__body {
  color: var(--color-pink-deep, #f0678b);
  font-size: 1rem;
  line-height: 1.8;
}

.info-box-career__body p {
  margin: 0;
}

.info-box-career__body p + p {
  margin: 6px 0 0 0;
}

/* SP */
@media (max-width: 768px) {
  .info-box-career {
    padding: 14px 14px 12px;
    border-radius: 10px;
  }

  .info-box-career__title {
    gap: 8px;
    margin-bottom: 10px;
    font-size: 1.5rem;
  }

  .info-box-career__title i {
    font-size: 1.5rem;
  }

  .info-box-career__body {
    font-size: 0.95rem;
    line-height: 1.7;
  }
}





/* =========================================================
   10. 採用ページ
========================================================= */

/* .info-box-career */
/* .career-form */
/* .career-form__check-group--stack */
/* invalid系 */



/* =========================================================
   11. 通所リハビリテーション
========================================================= */

/* カレンダー */
/* .daycare-calendar */
/* ========================================
   デイケア カレンダー画像
======================================== */
.daycare-calendar {
  margin: 30px 0;
}

.daycare-calendar__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.daycare-calendar__figure {
  margin: 0;
  text-align: center;
}

.daycare-calendar__image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}



/* 1日の流れ */
/* .day-flow */
/* .day-flow-item */
/* .day-flow-note */



/* =========================================================
   12. 健診ページ
========================================================= */

/* .box-contact */



/* =========================================================
   13. ユーティリティ・補助
   cls系 / is-系 / 小物
========================================================= */

/* .clsOn */
/* .clsOff */
/* .clsDate */
/* その他古いクラス */

/* ボタン（採用問い合わせだけ違う） */
 .quick-link--recruit:hover {
     background: var(--accent-soft-hover);
}
/* セクションの小見出しライン */
 .section-subtitle {
     border-left: 4px solid var(--accent-soft);
}
/* サイト内小ボタン（サブCTA） */
 .btn-sub {
     background: var(--accent-soft);
     color: white;
     border-radius: 4px;
}

 .site-header__inner, .main-nav__inner, .hero__inner {
     max-width: 1200px;
     margin: 0 auto;
     padding: 10px 20px 10px 20px;
}
/* PC／PS */
 @media (min-width: 769px) {
     .clsPC {
    }
     .clsSP {
         display: none;
    }
     .clsBr::after {
         content: "\A";
         white-space: pre;
    }
     img.imgM{
    }
}
 @media (max-width: 768px) {
     .clsPC {
         display: none;
    }
     .clsPS {
    }
     .clsBr::after {
         content: " ";
        /* 全角スペース */
         white-space: normal;
        /* 改行無効 */
    }
     img.imgM{
        max-width:100%;
    }
}















/* ========================================
   強調テキスト（案内用）
======================================== */
.text-emphasis {
  margin: 16px 0;
  padding: 12px 14px;
  background: #fff4f6;
  border: 1px solid #f3c7d0;
  border-radius: 10px;

  font-weight: 700;
  line-height: 1.8;
  color: var(--color-pink-deep);
}










/* ========================= その他 ========================= */
 .text-small {
     font-size: 0.875rem;
}



ul.notice li 	{list-style:none; margin:0 0 0 -1.5em; text-indent:-1.3em; padding-left:1.5em;} 
ul.notice li{
	margin:0px 0 0.5em 0;
	padding:0px;
	}
ul.notice li:last-child {
	margin:0px;
	padding:0px;
}






.box-01 {
  margin: 20px auto;
  padding: 20px;
  border: 3px solid var(--color-pink-base);
  position: relative;
  border-radius: 4px;
}
.box-01 p {
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #faad76 100%);
  background-size: 8px 100%, 100% 2.5em;
  line-height: 2.5;
  margin: 0;
  font-size:120%;
}

.clsOn {
	color:#e03448;
}

.clsOff{
	color:#cccccc;
}

.clsDate{
	font-size:80%; color:#aaaaaa;
}

 






/* =========================================================
   14. メディアクエリ
   ※基本は各ブロックの直下でもOK
========================================================= */


/* ===== 求人 ===== */
 .clsClinic{
  display: inline-block;
  white-space: nowrap;
  color:#ffffff;
  background-color:var(--color-clinic);
  padding:0.2em 0.5em;
  margin-left:0.5em;
  border-radius:16px;
  font-size:90%;
}
 .clsRuoken{
  display: inline-block;
  white-space: nowrap;
  color:#ffffff;
  background-color:var(--color-rouken);
  padding:0.2em 0.5em;
  margin-left:0.5em;
  border-radius:16px;
  font-size:90%;
}

/* ===== 雇用形態 ===== */
.clsFulltime,
.clsParttime {
  display: inline-block;
  padding: 0.2em 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  border-radius: 16px;
  font-size: 100%;
  font-weight: 700;
  background: #fff;
  border: 1px solid currentColor;
}

/* バッジが連続する場合は、左余白を少し詰める */
.clsFulltime + .clsFulltime,
.clsFulltime + .clsParttime,
.clsParttime + .clsFulltime,
.clsParttime + .clsParttime {
  margin-left: 0em;
}

/* 常勤 */
.clsFulltime {
  color: var(--color-pink-deep);
}

/* 非常勤 */
.clsParttime {
  color: var(--color-gray);
}




/* ===== 交通アクセス ===== */

.icon-circle {
  display: inline-block;
  background-color: var(--color-pink-deep);
  color: #fff;
  width: 32px;
  height: 32px;
  line-height: 32px; /* アイコンを中央に */
  text-align: center;
  border-radius: 50%; /* 丸 */
  font-size: 16px; /* アイコンサイズ */
  margin-right: 0.5em;
}




/* ===== 歯科医師ご紹介 ===== */

.details1 {
	position: -webkit-sticky;
	position: sticky;
	top: 0px;
}

.details1.summary1:first-of-type {
	list-style: inside disclosure-open;
}

.summary1 {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 0.8em 0 0.8em 0.5em;
	background-color: var(--color-pink-base);
	display: block;
	border-radius: 6px;
	font-size: 130%; letter-spacing: 0.1em; color: #ffffff;
} 
.summary1::-webkit-details-marker {
	display: none;
} 
.summary1:hover, .details1[open] summary {
	opacity: 0.5;
}
.summary1::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	transition: transform 0.5s;
	font-size: 30px;
}

.details1[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.answer {
	padding: 10px 0.5em 0.5em 0.5em;
	border: solid 3px var(--color-pink-soft);
	border-radius: 6px;
}

.details1[open] .answer {
	animation: fadein 0.5s ease;
}

@keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
}





/* ========================================
   採用お問い合わせフォーム
   1項目1ブロックの縦積みフォーム
======================================== */

.career-form {
  margin: 40px 0;
}

.career-form__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0px 24px 28px 24px;
  background: #ffffff;
  border: 2px solid var(--color-pink-base);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.career-form__heading {
  margin: 0 0 12px 0;
  padding-left: 12px;
  border-left: 6px solid var(--color-pink-base);
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--color-pink-deep);
}

.career-form__lead {
  margin: 0 0 28px 0;
  color: #555;
  line-height: 1.9;
}

.career-form__form {
  margin: 0;
}

.career-form__item + .career-form__item {
  margin-top: 22px;
}

.career-form__label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  font-weight: 700;
  color: #444;
  line-height: 1.5;
}

.career-form__required {
  display: inline-block;
  padding: 2px 8px;
  background: var(--color-pink-base);
  border-radius: 999px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
}

.career-form__input,
.career-form__select,
.career-form__textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--color-pink-base);
  border-radius: 10px;
  background: #fcfffe;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.career-form__input:focus,
.career-form__select:focus,
.career-form__textarea:focus {
  outline: none;
  border-color: var(--color-pink-base);
  box-shadow: 0 0 0 4px rgba(240, 160, 170, 0.25);
  background: #ffffff;
}

.career-form__textarea {
  resize: vertical;
  min-height: 60px;
}

.career-form__check-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 4px;
}

.career-form__check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: #444;
  line-height: 1.6;
}

.career-form__check input {
  margin: 0;
}

.career-form__item--consent {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #e5ece9;
}

.career-form__consent {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  color: #444;
  line-height: 1.8;
}

.career-form__consent input {
  margin-top: 0.3em;
}

.career-form__actions {
  margin-top: 28px;
  text-align: center;
}

.career-form__submit {
  display: inline-block;
  min-width: 240px;
  padding: 14px 24px;
  border: 0;
  border-radius: 999px;
  background: var(--color-pink-base);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.career-form__submit:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.career-form__submit:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(167, 213, 196, 0.22);
}

/* SP */
@media (max-width: 768px) {
  .career-form {
    margin: 28px 0;
  }

  .career-form__inner {
    padding: 20px 16px;
    border-radius: 10px;
  }

  .career-form__heading {
    font-size: 1.4rem;
    padding-left: 10px;
    border-left-width: 5px;
  }

  .career-form__lead {
    margin-bottom: 22px;
    font-size: 0.95rem;
  }

  .career-form__item + .career-form__item {
    margin-top: 18px;
  }

  .career-form__input,
  .career-form__select,
  .career-form__textarea {
    padding: 11px 12px;
    font-size: 16px;
  }

  .career-form__check-group {
    flex-direction: column;
    gap: 10px;
  }

  .career-form__submit {
    width: 100%;
    min-width: 0;
  }
}


/* ========================================
   フォーム：バリデーション（invalid）
======================================== */

/* エラー時の入力欄 */
.career-form__input:invalid,
.career-form__select:invalid,
.career-form__textarea:invalid {
  border-color: #e58a96; /* やさしいエラー用ピンク */
  background: #fff6f7;
}

/* フォーカス中のエラー（重要） */
.career-form__input:invalid:focus,
.career-form__select:invalid:focus,
.career-form__textarea:invalid:focus {
  border-color: #e16a78;
  box-shadow: 0 0 0 4px rgba(225, 106, 120, 0.18);
  background: #ffffff;
}

/* プレースホルダ（エラー時も読みやすく） */
.career-form__input::placeholder,
.career-form__textarea::placeholder {
  color: #aaa;
}

/* エラーメッセージ用（後でJSで使えるように準備） */
.career-form__error {
  margin-top: 6px;
  font-size: 0.85rem;
  color: #d95c6a;
  line-height: 1.5;
}

/* 必須未入力時のラベル強調（任意で使う） */
.career-form__item:has(:invalid) .career-form__label {
  color: #d95c6a;
}


/* ========================================
   お問い合わせ項目（縦並び）
======================================== */
.career-form__check-group--stack {
  flex-direction: column;
  gap: 10px;
}

/* チェック全体のクリック領域を広げる */
.career-form__check {
  padding: 6px 4px;
  border-radius: 6px;
  transition: background-color 0.2s ease;
}

.career-form__check:hover {
  background: #fff4f6;
}




/* ========================================
   通所リハビリテーション 一日の流れ
======================================== */
.day-flow {
  margin: 40px 0 56px;
}

.day-flow__heading {
  margin: 0 0 24px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--color-pink-base);
  font-size: 2rem;
  line-height: 1.4;
  color: #2f3b4a;
}

.day-flow__list {
  display: grid;
  gap: 24px;
}

.day-flow-item {
  padding: 22px 22px 24px;
  background: #ffffff;
  border: 1px solid #f1d8e0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.day-flow-item__head {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 16px;
  align-items: start;
  margin-bottom: 14px;
}

.day-flow-item__time {
  margin: 0;
  padding: 8px 12px;
  background: var(--color-pink-bg);
  border-radius: 999px;
  color: var(--color-pink-deep);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}

.day-flow-item__title {
  margin: 0;
  padding-top: 4px;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #2f3b4a;
}

.day-flow-item__body {
  padding-left: 166px;
}

.day-flow-item__text {
  margin: 0;
  line-height: 1.9;
  color: #444;
}

.day-flow-item__text + .day-flow-item__gallery {
  margin-top: 16px;
}

.day-flow-item__gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.day-flow-item__figure {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  background: #f7f7f7;
  border: 1px solid #ead9df;

  aspect-ratio: 4 / 3;
}

.day-flow-item__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 写真が1〜2枚でも破綻しにくくする */
.day-flow-item__gallery > * {
  min-width: 0;
}

/* SP */
@media (max-width: 900px) {
  .day-flow {
    margin: 32px 0 44px;
  }

  .day-flow__heading {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }

  .day-flow-item {
    padding: 18px 16px 20px;
    border-radius: 10px;
  }

  .day-flow-item__head {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 12px;
  }

  .day-flow-item__time {
    display: inline-block;
    width: auto;
    text-align: left;
  }

  .day-flow-item__title {
    padding-top: 0;
    font-size: 1.2rem;
  }

  .day-flow-item__body {
    padding-left: 0;
  }

  .day-flow-item__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* 狭いSP */
@media (max-width: 520px) {
  .day-flow-item__gallery {
    grid-template-columns: 1fr;
  }
}


/* ========================================
   補足説明（★マッサージなど・2行版）
======================================== */
.day-flow-note {
  margin-top: 16px;
}

.day-flow-note__title {
  margin: 0 0 4px 0;
  color: var(--color-pink-deep);
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.5;
}

.day-flow-note__text {
  margin: 0;
  color: #444;
  line-height: 1.8;
}




/* ========================================
   イベント報告：画像ギャラリー
======================================== */
.event-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 0;
}

.event-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #ead9df;
  background: #fff;
  text-align: center;
  padding: 8px;
}

.event-gallery__item img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  margin: 0 auto;
}

.event-gallery__item figcaption {
  text-align: center;
  font-size: 90%;
  padding-top: 0.3em;
}


/* タブレット */
@media (max-width: 900px) {
  .event-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* SP */
@media (max-width: 600px) {
  .event-gallery {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}



/* ========================================
   イベント報告：縦長画像ギャラリー
======================================== */
.event-gallery--portrait {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 0;
}

.event-gallery--portrait .event-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #ead9df;
  background: #fff;
  text-align: center;
  padding: 8px;
}

.event-gallery--portrait .event-gallery__item img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  margin: 0 auto;
}

/* タブレット */
@media (max-width: 900px) {
  .event-gallery--portrait {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

/* SP */
@media (max-width: 600px) {
  .event-gallery--portrait {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ========================================
   通所リハビリテーション（デイケア） イベント報告へ戻るリンク
======================================== */
.page-links--right {
  text-align: right;
  margin: 18px 0 28px;
}

.page-link-back {
  display: inline-block;
  position: relative;
  padding: 8px 14px 8px 26px;
  border-radius: 8px;
  background: var(--color-pink-base);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.page-link-back::before {
  content: "›";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1em;
  font-weight: 700;
  color: #fff;
}

.page-link-back:hover {
  color: #fff;
  opacity: 0.88;
  transform: translateY(-1px);
}

/* SP */
@media (max-width: 768px) {
  .page-links--right {
    text-align: left;
    margin: 14px 0 22px;
  }

  .page-link-back {
    font-size: 0.9rem;
  }
}


/* ========================================
   イベント区切り線
======================================== */
.hr-soft {
  border: 0;
  height: 1px;
  margin: 28px 0 32px;
  background: linear-gradient(
    to right,
    transparent 0%,
    var(--color-pink-soft) 15%,
    var(--color-pink-base) 50%,
    var(--color-pink-soft) 85%,
    transparent 100%
  );
}





/* ========================================
   料金表示（シンプル版）
======================================== */
.price-box {
  margin: 16px 0 0;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #f1d8e0;
  border-radius: 10px;
}

.price-box__label {
  margin: 0 0 4px;
  font-size: 1rem;
  color: #666;
  font-weight: 700;
}

.price-box__value {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-pink-deep);
  line-height: 1.4;
}


/* ========================================
   コース料金
======================================== */
.course-price {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.course-price__item {
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #f1d8e0;
  border-radius: 10px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.course-price__label {
  margin: 0;
  font-weight: 700;
  color: #444;
}

.course-price__value {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-pink-deep);
}



/* ========================================
   検査テーブル
======================================== */
.course-table-wrap {
  margin-top: 20px;
  overflow-x: auto;
}

.course-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
  background: #fff;
  border: 1px solid #f1d8e0;
}

.course-table th,
.course-table td {
  padding: 10px 12px;
  border: 1px solid #f1d8e0;
  font-size: 0.95rem;
  line-height: 1.6;
}

.course-table thead th {
  background: #fdeff3;
  color: #333;
  text-align: center;
  font-weight: 700;
}

.course-table tbody th {
  background: #fff7f9;
  text-align: left;
  white-space: nowrap;
}

.course-table td {
  text-align: center;
}

.course-table td:nth-child(2) {
  text-align: left;
}





/* ========== 削除 ========== */
/* 
1. .box-01

2. .clsOn, .clsOff, .clsDate

3. .quick-link--recruit

4. .section-subtitle

5. .btn-sub
*/
