@charset "UTF-8";
/* レイクヒルズ美方病院 共通スタイル
   旧版（ホームページ・ビルダー製 table レイアウト）の見た目をそのまま CSS で再現しています。 */

/* ---------- 基本 ---------- */
:root {
  --text: #555555;
  --link: #1e9966;
  --link-active: #00cc00;
  --blue: #0055aa;
  --box-bg: #dce7e7;
  --nav-bg: #aed3ff;
  --footer-bg: #e0e0e0;
}

body {
  margin: 8px;
  color: var(--text);
  background: #ffffff;
}

a,
a:visited { color: var(--link); }
a:active  { color: var(--link-active); }

img {
  border: 0;
  vertical-align: bottom;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.small { font-size: 13px; }
.note-red { color: #cc0000; }

/* ---------- トップページ（body class="top"）専用 ---------- */
/* ---------- 全体の幅 ---------- */
.top .page {
  width: 640px;
  margin: 0 auto;
}

/* ---------- ヘッダー ---------- */
.top .site-header {
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  height: 224px;
  padding: 5px;
  background: url("../index_image/toptitbg.jpg");
  color: #ffffff;
  font-size: 13px;
  font-weight: bold;
}
/* 画面には出さず、読み上げ・検索用にだけ残す文字 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ---------- グローバルナビ ---------- */
.global-nav ul {
  display: flex;
  background: var(--nav-bg);
}

/* ---------- 院内写真 ---------- */
.top .gallery {
  padding: 13px 1px 6px;
  text-align: right;
}
.top .gallery ul {
  display: flex;
  gap: 1px;
}
.top .gallery p {
  margin: 1px 0 0;
  color: #009999;
  font-size: 13px;
  line-height: 19px;
}

/* ---------- メイン 2 カラム ---------- */
.top .main {
  display: grid;
  grid-template-columns: 350px 285px;
  justify-content: space-between;
  row-gap: 3px;
  padding: 0 1px 0 1px;
}
.top .side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1px;
}

/* 青枠ボックス（新着情報・休診代診情報 など） */
.top .box {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 1px;
  background: var(--blue);
}
.top .box-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  box-sizing: border-box;
  height: 25px;
  margin: 0;
  padding-left: 1em;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
}
.top .box-title a {
  width: 99px;
  color: #ffffff;
  font-size: 13px;
  font-weight: normal;
  text-align: center;
}
.top .box-body {
  flex: 1;
  padding: 10px 0;
  background: var(--box-bg);
  font-size: 13px;
}
.top .box-body p {
  margin: 0;
  line-height: 19px;
}
.top .box-body .center { text-align: center; }
.top .box-body .right  { text-align: right; padding-right: 8px; }

/* ■ 付きリスト */
.top .list li {
  position: relative;
  line-height: 19px;
}
.top .list li::before {
  content: "■";
  position: absolute;
  left: 0;
}
.top .news-list {
  padding: 7px 12px 2px;
}
.top .news-list li {
  min-height: 19px;
  margin-bottom: 5.5px;
  padding: 0 0 0 19px;
}
.top .side .list {
  padding: 7px 8px 7px 9px;
}
.top .side .list li {
  padding: 1px 0 1px 20px;
}
.top .side .list li::before { left: 5px; top: 1px; }
.top .side .box-body.roomy .list { padding-top: 16px; padding-bottom: 16px; }
.top .side .box-body.links { padding: 0 0 2px; }
img.new-mark {
  margin-bottom: 5.5px;
}

/* 求人バナー */
.top .recruit-banner { width: 285px; }

/* ---------- 関連施設 ---------- */
.top .related {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
  padding: 6px 0;
}

/* ---------- リンク集 ---------- */
.top .link-collection {
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  width: 636px;
  margin: 0 auto;
  padding-top: 1px;
  border-bottom: 2px solid #808080;
  font-size: 13px;
}
.top .link-collection h2 {
  margin: 0;
  padding-left: 4em;
  color: #444444;
  font-size: 13px;
  line-height: 19px;
}
.top .link-collection .towns {
  display: flex;
  gap: 2em;
  padding: 2px 0 3px 74px;
  line-height: 19px;
}
.top .link-collection .others {
  display: flex;
  gap: 27px;
  line-height: 19px;
}
.top .link-collection .minds {
  width: 280px;
  height: 70px;
  text-align: center;
}

/* ---------- フッター ---------- */
.top .site-footer {
  margin-top: 10px;
}
.top .contact {
  box-sizing: border-box;
  padding: 2px 20px 1px;
  background: var(--footer-bg);
}
.top .contact .label {
  margin: 0 0 2px;
  font-size: 13px;
}
.top .contact .body {
  display: flex;
  align-items: center;
  gap: 27px;
  padding-left: 22px;
}
.top .contact .name {
  margin: 0;
  font-weight: bold;
}
.top .contact address {
  font-size: 13px;
  font-style: normal;
  line-height: 23px;
}
.top .footer-note {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 24px;
  font-size: 13px;
}
.top .footer-note p { margin: 0; }


/* =========================================================
   下層ページ（ご挨拶・病院概要 など）共通
   ========================================================= */
body.sub {
  margin: 0;
}
.center { text-align: center; }
.right  { text-align: right; }

/* ヘッダー：背景画像はページごとに style 属性で指定 */
.sub-header {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 640px;
  height: 143px;
  margin: 0 auto;
  background-repeat: no-repeat;
}
.sub-header .home {
  margin: 0;
  text-align: right;
}

/* ページタイトル（画像＋下線） */
.page-title {
  margin: 0 0 22px;
  padding-top: 61px;
  text-align: center;
}
.page-title img { display: block; margin: 0 auto; }

/* 本文エリア：幅はページごとに style 属性で指定 */
.content {
  display: block;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 6px;
}
.content p { margin: 0 0 1em; }
.content p:last-child { margin-bottom: 0; }

/* フッター */
.sub-footer {
  margin-top: 0;
  text-align: center;
}
.sub-footer .tracker { display: block; margin: 0 auto 15px; }
.sub-footer .back { margin: 0; }
.sub-footer .line { display: block; margin: 8px auto 11px; }
.sub-contact {
  width: 600px;
  margin: 0 auto;
  text-align: left;
}
.sub-contact .label {
  margin: 0 0 2px;
  padding-left: 3px;
  font-size: 13px;
}
.sub-contact .body {
  display: flex;
  align-items: center;
  gap: 27px;
  padding-left: 22px;
}
.sub-contact .name {
  margin: 0;
  font-weight: bold;
}
.sub-contact address {
  font-size: 13px;
  font-style: normal;
  line-height: 23px;
}

/* =========================================================
   別ウィンドウで開くページ（診療科・院内紹介）共通
   ========================================================= */
body.popup {
  margin: 0;
  padding-top: 40px;
}
.close {
  margin: 16px 0;
  padding-top: 15px;
  text-align: center;
}

/* 診療科ページ：背景画像はページごとに style 属性で指定 */
.dept {
  display: block;
  box-sizing: border-box;
  width: 600px;
  margin: 0 auto;
  padding: 8px 1px 1px;
  background-repeat: no-repeat;
}
.dept-head {
  display: flex;
  align-items: flex-end;
  gap: 1px;
}
.dept-text {
  flex: 1;
  padding: 0 7px 7px;
}
.dept-text h1 {
  margin: 0 0 15px;
  font-size: 16px;
}
.dept-text p {
  margin: 0;
  line-height: 160%;
}
.dept-photo {
  margin: 12px;
}
.dept-nav {
  margin-top: 34px;
  padding-bottom: 8px;
}
.dept-nav ul {
  display: flex;
  justify-content: center;
  gap: 5px;
  padding: 5px;
}
.dept-nav li {
  padding: 1px;
}
/* 院内紹介ページ（floor_*.htm）：背景画像は body の style 属性で指定 */
body.floor {
  margin: 8px;
  color: #000;           /* 院内紹介ページは元から黒文字・標準のリンク色 */
  line-height: 130%;
}
body.floor a { color: revert; }
.floor-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: border-box;
  width: 550px;
  margin: 0 auto;
  padding: 3px;
}
.floor-text {
  padding: 3px;
}
.floor-text.bottom { align-self: flex-end; padding-right: 11px; text-align: right; }
.floor-text h1 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1;
}
.floor-text p { margin: 0; }
body.floor .close { margin-top: 20px; }
