@charset "UTF-8";
/* =====================================================================
   renewal.css
   サイトIA刷新に伴う「テキスト版グローバルナビ」「テキスト見出し」用スタイル。
   nozaki.css(Shift-JIS) は変更せず、本ファイル(UTF-8)を後から読み込んで上書きする。
   セレクタ/プロパティはASCIIのみ。配色は :root のカスタムプロパティに集約。
   ===================================================================== */

/* ---------------------------------------------------------------------
   デザイントークン（配色）
   既存テーマ: purple 系 + brown 系。色はここを変えれば全体に反映される。
   --------------------------------------------------------------------- */
:root {
  --c-purple: #9a79b4;       /* 基調パープル（見出し背景・罫線・現在地） */
  --c-purple-mid: #8d76a6;   /* ナビ セクション見出し背景 */
  --c-purple-dark: #6e4f97;  /* サブ見出し文字・枠見出し・外部リンク */
  --c-purple-sub: #6f5f8c;   /* ページ大見出しの英字サブ */
  --c-purple-pale: #eee5fb;  /* テーブル見出しセル背景 */
  --c-brown: #5f5149;        /* サイドバー背景 */
  --c-brown-nav: #6b5d53;    /* ナビ サブ項目背景 */
  --c-box-bg: #faf7ff;       /* 枠囲み背景 */
  --c-box-border: #cbb9df;   /* 枠囲み・テーブル罫線（淡） */
  --c-text: #555555;         /* 本文系グレー（大見出し・注記） */
}

/* ---------------------------------------------------------------------
   ヘッダー（キャッチコピー＋病院名ロゴ）
   nozaki.css の #head は高さ73px・上パディング27px固定。文字とロゴを拡大した
   うえで、上が詰まって見えないよう上パディングを30pxに広げる（PR#4レビュー）。
   --------------------------------------------------------------------- */
#head { padding-top: 30px; }
#id_h1 {
  font-size: 15px;
  margin-bottom: 9px;
}
#head_logo img { width: 300px; height: auto; }

/* ---------------------------------------------------------------------
   グローバルナビ（#side を画像 side02.png からテキストへ置き換え）
   --------------------------------------------------------------------- */
#side {
  background: rgba(95,81,73,.85) !important;   /* 透過85%指定（背景イラストが透けて見える） */
  padding: 0;
}

/* サイドロゴ（指定のクリニックロゴ side_logo.png を使用。黒背景でブランドロゴを表示） */
#side #side_logo {
  width: 183px;
  height: 110px;
  margin: 0;
  padding: 0;
  background: #000 url(../img/side_logo.png) no-repeat center center;
  background-size: 160px auto;
  display: block;
}
#side #side_logo img { display: none; }

/* ナビ本体 */
#side ul.gnav { margin: 0; padding: 0; }
#side ul.gnav li { list-style: none; margin: 0; padding: 0; }
#side ul.gnav li a {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  text-decoration: none;
  color: #fff;
  line-height: 1.35;
}

/* セクション見出し行（クリニック案内 / 産科 / 婦人科 / FAQ / お知らせ） */
#side ul.gnav li.gnav-sec > a {
  padding: 11px 12px;
  background: rgba(141,118,166,.85);
  font-size: 17px;
  font-weight: bold;
  border-bottom: 1px solid #fff;
}
#side ul.gnav li.gnav-sec > a span {
  display: block;
  font-size: 10px;
  font-weight: normal;
  letter-spacing: 1px;
  opacity: .85;
}

/* サブ項目行（先頭の「・」マーカーは撤去。左インデントは階層表現として残す） */
#side ul.gnav li.gnav-item > a {
  padding: 10px 10px 10px 18px;
  background: rgba(107,93,83,.85);
  font-size: 14px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

/* 文字数の多い項目（ウィメンズヘルス／産後のママと育児のサポート）は
   HTML側の <br /> で2行に分ける。折り返し位置が語中で切れないようにするため。 */
#side ul.gnav li.gnav-item > a[href="womenshealth.html"],
#side ul.gnav li.gnav-item > a[href="postpartum.html"] {
  font-size: 13px;
  line-height: 1.45;
}

/* お知らせ（TOPICS）はメニューから独立させたボタンとして目立たせる */
#side ul.gnav li.gnav-sec > a[href="news.php"] {
  margin: 14px 10px 4px;
  padding: 11px 10px;
  background: #fbf7ff;
  border: 1px solid #fff;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  color: var(--c-purple-dark);
  font-size: 18px;
  text-align: center;
}
#side ul.gnav li.gnav-sec > a[href="news.php"]:before {
  content: "\276F";           /* ❯ */
  color: var(--c-purple);
  font-size: 11px;
  margin-right: 6px;
  vertical-align: 2px;
}
#side ul.gnav li.gnav-sec > a[href="news.php"] span {
  color: var(--c-purple-sub);
  opacity: 1;
}

/* Instagram 行 */
#side ul.gnav li.gnav-insta {
  padding: 14px 0;
  text-align: center;
}
#side ul.gnav li.gnav-insta a {
  display: inline-block;
  color: #fff;
  font-size: 13px;
}
#side ul.gnav li.gnav-insta img { width: 28px; height: auto; vertical-align: middle; margin-right: 6px; }

/* 現在地ハイライト */
#side ul.gnav li a.current { background: rgba(154,121,180,.85); }
#side ul.gnav li.gnav-sec > a[href="news.php"].current { background: #ece0f7; }

/* hover（ベースの白背景化を打ち消し、不透明度のみ） */
#side ul.gnav a:hover {
  background-color: inherit;
  opacity: .7;
}

/* ---------------------------------------------------------------------
   テキスト見出し（画像見出しが無い新規・変更箇所用）
   --------------------------------------------------------------------- */
/* ページ大見出し（新規ページの h1。画像 h1 用の固定寸法を打ち消す） */
#contents_in h1.txt-h1,
#contents_in1 h1.txt-h1 {
  width: auto !important;
  height: auto !important;
  font-size: 23px;
  font-weight: bold;
  color: #fff;
  background: var(--c-purple);
  padding: 13px 18px;
  margin: 0 0 18px;
  line-height: 1.3;
  text-align: left;
}

/* 新規ページのページ大見出し（body#con 白カード上の中央見出し。施設案内等を踏襲） */
#contents_in h1.page-h1 {
  width: auto !important;
  height: auto !important;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: var(--c-text);
  margin: 0 0 56px;
  line-height: 1.3;
}
/* タブのあるページ(クリニック案内/お産)は見出し下にタブが続くので余白を詰める */
#contents_in h1.page-h1.has-tabs { margin-bottom: 24px; }
#contents_in h1.page-h1 span {
  display: block;
  visibility: visible;   /* nozaki.css の h1 span{visibility:hidden} を打ち消す */
  text-indent: 0;        /* 同 text-indent:-9999px を打ち消す */
  line-height: 1.3;      /* 同 line-height:0（高さ0）を打ち消す */
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 2px;
  color: var(--c-purple-sub);
}

/* セクション見出し（h2 相当） */
.sec-ttl {
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  background: var(--c-purple);
  padding: 8px 12px;
  margin: 32px 0 15px;
  line-height: 1.45;
}
.sec-ttl:first-child { margin-top: 0; }

/* サブ見出し（h3 相当） */
.sub-ttl {
  font-size: 15px;
  font-weight: bold;
  color: var(--c-purple-dark);
  border-left: 5px solid var(--c-purple);
  padding: 2px 0 2px 10px;
  margin: 24px 0 10px;
  line-height: 1.45;
}

/* 旧サイト由来の画像見出し（マザークラス等）の上に空白を確保する */
h2.img-ttl { margin-top: 40px; }

/* FAQ/お知らせ/ポリシー/求人(body#subcon)の背景を他ページと統一する。
   nozaki.css は #container-in1 に半透明タイル(bg_murasaki.png)を敷き、
   #top/#con のみ打ち消している（subcon は旧サイトのサブウィンドウ風演出の名残で
   背景が白っぽく霞む）。改修後は通常ページと同じ見た目のため、同様に打ち消す */
body#subcon #container-in1 { background: none; }

/* 箇条書き（中黒リスト） */
ul.disc { margin: 10px 0 18px 1.5em; }
ul.disc li { list-style: disc; line-height: 1.8; }

/* 料金・項目テーブル */
table.rtable {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0 18px;
}
table.rtable th,
table.rtable td {
  border: 1px solid var(--c-purple);
  padding: 9px 12px;
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}
table.rtable th {
  background: var(--c-purple-pale);
  white-space: nowrap;
  font-weight: bold;
}

/* テーブルセル内の段落区切り（薄い線）。妊婦健診スケジュール等の長文セルで使用 */
table.rtable td p.tline {
  border-top: 1px solid var(--c-box-border);
  padding-top: 8px;
  margin-top: 8px;
}

/* 注記 */
p.rnote, .rnote { font-size: 13px; color: var(--c-text); line-height: 1.7; }

/* 院内掲示（施設基準）など枠囲み */
.rbox {
  border: 1px solid var(--c-box-border);
  background: var(--c-box-bg);
  padding: 14px 18px;
  margin: 12px 0 18px;
}
.rbox h4 {
  font-size: 14px;
  font-weight: bold;
  color: var(--c-purple-dark);
  margin-bottom: 4px;
}

/* 枠外で使う小見出し（.rbox h4 と同じ見え方）。
   nozaki.css が strong の太字を打ち消すため、段落内強調では代用できない */
h4.rsub {
  font-size: 14px;
  font-weight: bold;
  color: var(--c-purple-dark);
  margin: 14px 0 3px;
  line-height: 1.5;
}
.rbox p { margin-bottom: 12px; }
.rbox p:last-child { margin-bottom: 0; }

/* 外部リンク */
a.exlink { color: var(--c-purple-dark); text-decoration: underline; }

/* ---------------------------------------------------------------------
   お産について(birth.html)のタブ
   画像タブ(birth_tab02/03.png)をテキスト化し、意匠(薄紫角丸+❯+濃紫文字)を踏襲。
   タブ文言変更「分娩シミュレーション→分娩にむけてのご案内」に対応。
   --------------------------------------------------------------------- */
body#con #contents_in #tabs2 li#menu01 a,
body#con #contents_in #tabs2 li#menu02 a {
  width: 169px;
  height: 29px;
  line-height: 29px;
  background: #efe5f5;
  border-radius: 5px 5px 0 0;
  color: #5a4a6b;
  font-size: 12px;
  text-align: center;
  text-decoration: none;
}
body#con #contents_in #tabs2 li#menu01 a:before,
body#con #contents_in #tabs2 li#menu02 a:before {
  content: "\276F";           /* ❯ */
  color: var(--c-purple);
  font-size: 9px;
  margin-right: 5px;
}
body#con #contents_in #tabs2 li#menu01 a.now,
body#con #contents_in #tabs2 li#menu02 a.now,
body#con #contents_in #tabs2 li#menu01 a:hover,
body#con #contents_in #tabs2 li#menu02 a:hover {
  background: #d5c3e5;
  opacity: 1;
}

/* 注意喚起の赤字 */
.txt-red { color: #cc0000; }

/* ---------------------------------------------------------------------
   お食事の写真ギャラリー(meal.html)
   写真左上にラベルを重ね、写真下にコメントを置く2列グリッド。
   ラベルは画像に焼き込まず、テキストで重ねる（差し替え・修正が容易）。
   --------------------------------------------------------------------- */
ul.meal-grid {
  margin: 0 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 15px;
}
ul.meal-grid > li {
  width: calc((100% - 15px) / 2);
  box-sizing: border-box;
}
.meal-photo {
  position: relative;
  line-height: 0;
}
.meal-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.meal-photo .meal-label {
  position: absolute;
  top: 0;
  left: 0;
  padding: 6px 14px;
  background: rgba(0,0,0,.42);
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.5;
}
p.meal-cmt {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.7;
}
