﻿/*** レイアウト ***/
#top {
  height: 0px;
  font-size: 0px;
  line-height: 0px;
  overflow: hidden;
}

#container {
  width: 780px;
  background: url('/images/frontend/container_bg.png');
  margin: 0px auto;
  text-align: left;
}

#contents {
  width: 760px;
  margin: 0px 10px;
  background: #fff;
}

#header {
  width: 760px;
  height: 120px;
  margin: 0px 10px;
}

#header_en {
  width: 760px;
  height: 70px;
  margin: 0px 10px;
}

#global_menu {
  float: right;
  margin-top: 20px;
  padding-right: 10px;
}

#global_menu li {
  display: inline;
  margin-left: 10px;
  padding-left: 15px;
  border-left: 1px solid #ccc;
}

#global_menu li a {
  text-decoration: none;
}

#global_menu li a:hover {
  text-decoration: underline;
}

#global_menu .noborder {
  border: none;
}

#login_info {
  clear: both;
  float: right;
  padding-right: 10px;
  margin-top: 10px;
}

#login_info span {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #ccc;
}

#login_info a {
  text-decoration: none;
}

#login_info a:hover {
  text-decoration: underline;
}

#header h1, #header_en h1 {
  width: 340px;
  height: 60px;
  background: url('/images/logo.gif?20140331');
  position: relative;
  top: 10px;
  left: 10px;
}

#header h1 a, #header_en h1 a {
  display: block;
  width: 340px;
  height: 0px;
  padding-top: 60px;
  overflow: hidden;
}

#mainmenu {
  width: 760px;
  height: 40px;
  background: url('/images/menu_bg.png');
  padding: 0px;
  margin-top: 20px;
}

#mainmenu li {
  display: block;
  list-style: none;
  width: 126px;
  height: 40px;
  float: left;
}

#mainmenu li a {
  display: block;
  width: 126px;
  height: 0px;
  padding-top: 40px;
  overflow: hidden;
}

#about:hover {
  background: url('/images/menu_bg.png') no-repeat 0px -40px;
}

#news:hover {
  background: url('/images/menu_bg.png') no-repeat -126px -40px;
}

#specialist:hover {
  background: url('/images/menu_bg.png') no-repeat -252px -40px;
}

#activity:hover {
  background: url('/images/menu_bg.png') no-repeat -378px -40px;
}

#secretariat:hover {
  background: url('/images/menu_bg.png') no-repeat -504px -40px;
}

#mypage:hover {
  background: url('/images/menu_bg.png') no-repeat -630px -40px;
  width: 130px;
}

#fmenu {
  width: 760px;
  background: #eee url('/images/frontend/footer_menu_bg.png') no-repeat bottom right;
  border-top: 1px solid #ccc;
  margin: 0px 10px;
}

#fmenu ul {
  float: left;
  width: 150px;
  list-style: none;
  padding: 10px 20px;
}

#fmenu a {
  text-decoration: none;
}

#fmenu a:hover {
  text-decoration: underline;
}

#footer {
  width: 780px;
  height: 40px;
  background: url('/images/frontend/footer_bg.png');
  margin: 0px auto;
  text-align: left;
}

#footer p {
  line-height: 30px;
  padding: 0px 20px;
}

/*** コンテンツ ***/
#top_left {
  float: left;
  width: 466px;
  padding: 30px 20px 20px;
}

#top_right {
  float: right;
  width: 234px;
  padding: 30px 20px 20px 0px;
}

#left {
  float: left;
  width: 200px;
}

#sidemenu {
  padding: 0px;
  margin: 20px 0px 20px;
}

#sidemenu li {
  display: block;
  width: 199px;
  height: 30px;
  background: #fff url('/images/frontend/sidebar_bg.png') top right;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  margin-bottom: 5px;
}

#sidemenu li a {
  display: block;
  height: 30px;
  line-height: 30px;
  text-decoration: none;
  padding-left: 10px;
  color: #333;
  border-left: 5px solid #ccc;
}

#sidemenu li:hover {
  background: #fff url('/images/frontend/sidebar_bg.png') -100px 30px;
}

#sidemenu li a:hover {
  color: green;
  border-left: 5px solid green;
}

#right {
  float: right;
  width: 560px;
}

#right_contents {
  margin: 20px;
}

#right_contents ul, #right_contents ol, #onecol ul, #onecol ol {
  list-style-position: inside;
}

#right_contents li.nostyle {
  list-style: none;
  list-style-position: outside;
}

#onecol {
  width: 720px;
  margin: 20px;
}

/*** ログインブロック ***/
#login_block {
  background: #eee;
  padding: 5px 10px 10px;
  border: 1px solid #ccc;
}

#login_block h2 {
  width: 173px;
  height: 0px;
  padding-top: 25px;
  overflow: hidden;
  background: url('/images/title_loginform.gif') no-repeat;
}

#login_block table {
  width: 100%;
}

#login_block th {
  font-weight: normal;
  text-align: right;
  width: 80px;
}

#signin_remember {
  vertical-align: middle;
}

#login_block th, #login_block td {
  padding: 5px 0px;
  vertical-align: middle;
}

/*** 新着情報ブロック ***/
#news_block, #topics_block {
  margin-bottom: 10px;
}

#news_block h2, #topics_block h2 {
  width: 466px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
}

#news_block h2 {
  background: url('/images/title_top_news.gif');
}

#topics_block h2 {
  background: url('/images/title_top_topics.gif');
}

#news_block dl, #topics_block dl {
  margin-top: 10px;
}

#news_block dt, #topics_block dt {
  display: block;
  width: 110px;
  float: left;
  padding-left: 3px;
}

#news_block dd.news, #topics_block dd.news {
  display: block;
  width: 351px;
  float: left;
  text-indent: 0px;
}

#news_block dd.line, #topics_block dd.line {
  clear: both;
  display: block;
  background: url('/images/line.gif') repeat-x bottom;
  height: 2px;
  margin: 5px 0px;
}

#news_block dd.last, #topics_block dd.last {
  padding: 0px;
  background: transparent;
}

#news_block a, #topics_block a {
  text-decoration: none;
}

#news_block a:hover, #topics_block a:hover {
  text-decoration: underline;
}

/*** 個別ページ ***/
#right_contents h2 {
  width: 520px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
}

#right_contents #title_news {
  background: url('/images/title_news.gif');
}

#right_contents #title_member_news {
  background: url('/images/title_member_news.gif');
}

#right_contents #title_comm_news {
  background: url('/images/title_comm_news.gif');
}

#right_contents #title_about {
  background: url('/images/title_about.gif');
}

#right_contents #title_secretariat {
  background: url('/images/title_secretariat.gif');
}

#right_contents #title_specialist {
  background: url('/images/title_specialist.gif');
}

#right_contents #title_activity {
  background: url('/images/title_activity.gif');
}

#right_contents #title_mypage {
  background: url('/images/title_mypage.gif');
}

#right_contents h3, #onecol h3 {
  background: #eee;
  font-size: 1.0em;
  font-weight: bold;
  color: #333;
  line-height: 2.0em;
  padding-left: 9px;
  background: url('/images/subtitle_bg.gif');
  border-top: 1px solid #ccc;
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  border-left: 1px solid #bbb;
}

#right_contents h3 span, #onecol h3 span {
  background: url('/images/subtitle_bullet.gif') no-repeat left 50%;
  padding-left: 15px;
}

table.news, table.event, table.senmon_facilities {
  width: 100%;
}

table.senmon_facilities {
  border: 1px solid #ccc;
}

table.senmon_facilities th, table.senmon_facilities td {
  border: 1px solid #ccc;
}

table.senmon_facilities th {
  text-align: center;
}

table.news th, table.event th {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: normal;
  width: 110px;
  text-align: left;
}

table.event th {
  width: 320px;
}

table.news td, table.event td {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

table.bylaw .caption{
  width: 50px;
}

#right_contents h4, #onecol h4 {
  font-size: 1.0em;
  background: #333;
  background: url('/images/subtitle_bg_h4.gif');
  color: #fff;
  line-height: 2.0em;
  padding-left: 9px;
  font-weight: normal;
  border: 1px solid #333;
}

#committee table, #board table {
  margin: 10px 0px;
}

#committee th {
  text-align: left;
  font-weight: normal;
  width: 80px;
  padding: 3px 0px;
}

#committee td {
  padding: 3px 5px;
}

.question {
  margin-top: 10px;
  font-weight: bold;
}

#onecol #title_login {
  width: 720px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
  background: url('/images/title_login_wide.gif');
}

#onecol #title_privacy {
  width: 720px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
  background: url('/images/title_privacy.gif');
}

#onecol #title_sitemap {
  width: 720px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
  background: url('/images/title_sitemap.gif');
}

#onecol #title_tokusyo {
  width: 720px;
  height: 0px;
  padding-top: 30px;
  overflow: hidden;
  background: url('/images/title_tokusyo.gif');
}

.sitemap li {
  list-style: none;
  list-style-position: outside;
}

#director_photo {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
  border: 1px solid #666;
}

table.specialist_point {
  width: 100%;
  border: 1px solid #000;
}

table.specialist_point td {
  border: 1px solid #000;
}

/*** バナーエリア ***/
#banner a {
  display: block;
  margin-top: 10px;
}

/*** フォーム ***/
table.form {
  border-collapse: collapse;
  width: 100%;
}

table.form th, table.form td {
  vertical-align: middle;
  border: 1px solid #ccc;
}

table.form th {
  font-weight: normal;
  text-align: right;
  background: #eee;
  width: 130px;
}

.button {
  background: #333;
  color: white;
  border: 1px solid #ccc;
  vertical-aligh: middle;
  padding: 2px 5px;
  height: 1.8em;
}

#right_contents ul.radio_list li {
  display: inline;
}

/*** マイページ ***/
table.mypage {
  width: 100%;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

#member_info {
  margin-bottom: 15px;
  background: #f0fff0;
  border: 1px solid green;
}

#member_info table {
  width: 100%;
}

#member_info th {
  width: 110px;
  font-weight: normal;
  text-align: left;
}

#member_info td {
  width: 390px;
}

#member_info td.alert {
  color: red;
}

.mypage_notice, .mypage_error {
  margin-top: 15px;
  padding: 5px;
}

.mypage_notice {
  background: #f0fff0;
  border: 1px solid green;
  color: green;
}

.mypage_error {
  background: #FFF0F5;
  border: 1px solid red;
  color: red;
}

.payment_checkbox {
  vertical-align: text-bottom;
}

table.melmaga td {
  border-bottom: 1px solid #ccc;
}

/*** 専門医試験申込 ***/
.sp_check_ok {
  background: url('/images/icons/accept.png') no-repeat 0 50%;
  padding: 8px 0 8px 20px;
}

.sp_check_ng {
  background: url('/images/icons/cross.png') no-repeat 0 50%;
  padding: 8px 0 8px 20px;
}

/*** CKEditorによる編集機能 ***/
.editable {
  line-height: 1.6em;
}

.editable p {
  margin: 0;
}

.editable ul, .editable ol{
  list-style-position: outside !important;
  margin-left: 25px;
}

.editable ul {
  list-style-type: square;
}

.editable h4 {
  margin-bottom: 10px;
}

/*** スケジュール ***/
dl.schedule dt {
  font-weight: bold;
  border-bottom: 1px dashed #ccc;
  margin-top: 10px;
  margin-bottom: 5px;
}

.schedule_pagination .next {
  float: right;
}

.schedule span.app {
  font-size: 0.8em;
  color: #fff;
  padding: 2px;
  background: #006400;
  vertical-align: top;
}

.schedule span.event {
  font-size: 0.8em;
  color: #fff;
  padding: 2px;
  background: #8b0000;
  vertical-align: top;
}

.schedule span.notice {
  font-size: 0.8em;
  color: #fff;
  padding: 2px;
  background: #000080;
  vertical-align: top;
}

.schedule span.other {
  font-size: 0.8em;
  color: #fff;
  padding: 2px;
  background: #333;
  vertical-align: top;
}

.schedule_detail_title {
  border-bottom: 1px dashed #ccc;
  line-height: 1.6em;
}