@charset "utf-8";
/* ===== site.css (final, deduped) ===== */

/* Base */
html, body { height:100%; margin:0; padding:0; }
body{
  font:100%/1.4 "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
  background:#fff;
  display:flex; flex-direction:column; min-height:100vh;
}

/* Main wrapper */
#contents{
  width:910px; margin:0 auto; padding:20px 0 100px 0;
  flex:1;
  /* フロート囲い（高さ潰れ防止） */
  display: flow-root; /* = clearfix */
}

/* Footer */
#footer{
  height:40px; background:#669999; padding:10px 10px; text-align:center;
  margin-top:auto; clear:both;
}

/* Typography */
h1{font-size:24px;font-weight:bold;color:#333;}
h2{font-size:14px;font-weight:bold;color:#333;}
h3{font-size:11px;font-weight:bold;color:#333;}
p{font-size:14px;line-height:170%;}
p.bold{font-size:14px;font-weight:bold;line-height:160%;}
p.small{font-size:11px;line-height:160%;color:#333;}
p.grand{font-size:14px;font-weight:bold;line-height:160%;}
p.navi{font-size:11px;color:#333;}
a:link,a:visited{ text-decoration:none; color:#097c8f; }
a:active,a:hover{ text-decoration:underline; color:#27a3af; }

/* Left menu */
#menu{ float:left; width:222px; background:#e2eaed; margin-top:20px; padding:10px 0; min-height: 100vh;  /* 画面全体の高さまで背景を伸ばす */}
#menu img{ padding:5px 9px; }

/* Header */
.h_color{ background:#669999; height:5px; }
.header{ width:910px; margin:0 auto; padding:20px 0; }

/* Middle / columns */
#m_body{ float:right; width:670px; }
#l_body{ float:right; width:800px; }
#m_body img{ padding:10px 0 0 0; }

/* Tables */
table{ border-collapse:collapse; border-spacing:0; width:100%; margin-bottom:5px; border:1px solid #DDD; text-align:center; }
.table th{ border:1px solid #DDD; color:#333; font-size:12px; font-weight:bold; padding:5px; background:#ECECEC; text-align:center; }
.table td{ border:1px solid #DDD; font-size:12px; }

/* Rehab table */
.r_table{ border-collapse:collapse; width:80%; border:0; margin:0 auto; }
.r_table td{ padding:10px; border:0; font-size:12px; }

/* Two-col block */
#layout{ width:670px; }
.left{ float:left; width:250px; }
.left img{ padding-top:18px; }
.right{ float:right; width:400px; padding:0 0 20px 20px; }

/* Job table */
table#job_table{
  width:550px; margin:0 auto; border:1px #E3E3E3 solid; border-collapse:collapse; border-spacing:0; font-size:12px;
}
table#job_table th{
  padding:5px; width:150px; border:#E3E3E3 solid; border-width:0 0 1px 1px; background:#F5F5F5; font-weight:bold; line-height:120%; text-align:center;
}
table#job_table td{
  padding:5px; border:1px #E3E3E3 solid; border-width:0 0 1px 1px; text-align:left;
}

/* Top page blocks */
#t_menu{ float:left; width:222px; }
#t_body{ float:right; width:670px; }

/* Top page "new" box */
#new_box{ width:670px; text-align:left; margin-top:20px; }
#new_box img{ margin:10px 0 0 0; }


/* === Global Navi (LIにスプライト) === */
#globalnavi{height:49px;background:url(/img/gm_back.jpg) 0 0 repeat-x!important;}
#globalnavi ul{list-style:none;width:910px;margin:0 auto;padding:0;}
/* LIに背景を出す：幅/高さ/テキスト隠し  */
#globalnavi li{
  float:left;width:182px;height:49px;margin:0;padding:0;
  text-indent:-9999px;white-space:nowrap;overflow:hidden;
  background:url(/img/globalnavi.png) no-repeat 0 0!important;
}
/* 通常位置 */
#globalnavi li#nav01{background-position:   0    0!important;}
#globalnavi li#nav02{background-position:-182px  0!important;}
#globalnavi li#nav03{background-position:-364px  0!important;}
#globalnavi li#nav04{background-position:-546px  0!important;}
#globalnavi li#nav05{background-position:-728px  0!important;}
/* ホバー（2段目は49px下）※5番だけズレるなら -98px に */
#globalnavi li#nav01:hover{background-position:   0   -49px!important;}
#globalnavi li#nav02:hover{background-position:-182px -49px!important;}
#globalnavi li#nav03:hover{background-position:-364px -49px!important;}
#globalnavi li#nav04:hover{background-position:-546px -49px!important;}
#globalnavi li#nav05:hover{background-position:-728px -49px!important;}
/* Aは“クリック領域”だけ確保 */
#globalnavi li a{display:block;width:182px;height:49px;}


/* === 全ページ共通：左メニュー背景を下まで伸ばす === */

#menu {
  background: #e2eaed;
  min-height: 100vh;  /* 画面全体の高さまで背景を伸ばす */
}

/* コンテンツエリアの高さが潰れないように保険 */
#contents {
  display: flow-root;
}