/* 基本、全体レイアウト */
body {
  margin      : 0;
  padding     : 0;
  background  : white url(../images/common/menu_bg.gif) repeat-y left top;
  line-height : 1.6;
}

body, td {
  font-size   : 14px;
}

hr {
  display : none;
}

#head {
  background : white url(../images/common/title_bg.jpg) repeat-x left top;
}

h1, h1 a {
  line-height : 1;
  font-size   : 18px;
  margin      : 0;
  padding     : 0;
}
h1, h1 a {
  background  : url(../images/common/title.jpg) no-repeat left top;
  text-indent : -10000px;
  width       : 175px;
  height      : 88px;
  text-align  : bottom;
  display     : block;
}

#wrapper {
  width   : 800px;
  margin  : 0;
  padding : 0;
}

#sidebar {
  width   : 175px;
  margin  : 0;
  padding : 0;
  float   : left;
}

#contents {
  float   : right;
  margin  : 0;
  padding : 0;
  width   : 625px;
}

#main {
  padding: 10px 20px;
  font-size: 14px;
  line-height: 1.6;
}

#footer {
  width       : 90%;
  font-size   : 11px;
  text-align  : right;
  margin-top  : .5em;
  margin-left : 1em;
  padding-top : .5em;
  clear       : both;
  border-top  : 1px solid #666;
}

.flash {
  width: 93%;
}

.flash .inner {
  padding: .8em;
  font-size: 11px;
  border: 1px dotted #aaa;
}

.flash img {
  border: none;
  float: left;
  margin-right: 6px;
}

/* menu */
#menubar {
  display     : block;
  width       : 161px;
  margin      : 4px 7px;
  padding     : 0;
  color       : white;
  line-height : 1.3;
}

#menubar li {
  display : block;
  margin  : 0;
  padding : 0;
}

#menubar li.menu {
  font-size  : 16px;
  padding    : .8em 0 1.2em 0;
  background : url(../images/common/menu-dotline.gif) no-repeat left bottom;
}

.menu a.image {
  display             : block;
  text-indent         : -10000px;
  background-repeat   : no-repeat;
  background-position : top left;
  line-height         : 1;
  height              : 161px;
  height              : 17px;
  text-align          : bottom;
}

.menu a#menu-about         { background-image : url(../images/common/menu-about.gif); }
.menu a#menu-about:hover   { background-image : url(../images/common/menu-about-over.gif); }
.menu a#menu-profile       { background-image : url(../images/common/menu-profile.gif); }
.menu a#menu-profile:hover { background-image : url(../images/common/menu-profile-over.gif); }
.menu a#menu-perform       { background-image : url(../images/common/menu-perform.gif); }
.menu a#menu-perform:hover { background-image : url(../images/common/menu-perform-over.gif); }
.menu a#menu-contact       { background-image : url(../images/common/menu-contact.gif); }
.menu a#menu-contact:hover { background-image : url(../images/common/menu-contact-over.gif); }

.submenu {
  list-style-type : none;
  font-weight     : bold;
  font-size       : 14px;
  padding-left    : 2em;
  margin          : 0.5em 0 0 0;
}
.submenu li {
  display : list-item;
  margin  : 0;
  padding : 0;
}

.submenu a {
  color           : white;
  font-weight     : bold;
  text-decoration : none;
}

.submenu a:hover {
  color : yellow;
}

/* footer */
#footer address {
  font-style : normal;
}
.copyright {
  color       : #3C5E92;
  font-weight : bold;
}

/*コンテンツタイトル*/
h2 {
  text-indent         : -10000px;
  background-position : left top;
  background-repeat   : no-repeat;
  width               : 574px;
  height              : 44px;
  font-size           : 44px;
  line-height         : 1;
  padding             : 0 0 10px 0;
  margin              : 0;
  position            : relative;
  left                : -10px;
  top                 : 0px;
}

h2.about                  { background-image : url(../images/title/about.jpg); }
h2.profile                { background-image : url(../images/title/profile.jpg); }
h2.profile-male           { background-image : url(../images/title/profile-male.jpg); }
h2.profile-female         { background-image : url(../images/title/profile-female.jpg); }
h2.profile-foreign_male   { background-image : url(../images/title/profile-foreign_male.jpg); }
h2.profile-foreign_female { background-image : url(../images/title/profile-foreign_female.jpg); }
h2.perform                { background-image : url(../images/title/perform.jpg); }
h2.perform-topics                { background-image : url(../images/title/perform-topics.jpg); }
h2.perform-tv                { background-image : url(../images/title/perform-tv.jpg); }
h2.perform-radio                { background-image : url(../images/title/perform-radio.jpg); }
h2.perform-cm                { background-image : url(../images/title/perform-cm.jpg); }
h2.perform-other                { background-image : url(../images/title/perform-other.jpg); }
h2.contact                { background-image : url(../images/title/contact.jpg); }

/* 会社概要 */
table.about {
  font-size: 14px;
  width: 545px;
  border-collapse: collapse;
}

table.about td {
  padding: 2px 4px;
  color: black;
  border: 1px solid #777;
}

table.about td.label {
  width: 8em;
  background: #2B52AD;
  color: white;
  font-weight: bold;
}

table.about td.comment {
}

/* タレントプロフィール */
table.talent-list {
  border-collapse : collapse;
  width: 545px;
  margin-bottom: 28px;
}

table.talent-list th,
table.talent-list td {
  border         : 1px solid #2C51A9;
  font-size      : 12px;
  padding        : 2px;
  vertical-align : middle;
}

table.talent-list td.name {
  width: 10em;
}

table.talent-list td.sample {
  text-align: center;
  padding: 2px 1em;
}

table.talent-list td.rookie,
table.talent-list td.left {
  text-align : center;
}

table.talent-list td.rookie {
  text-indent: -10000px;
  background: url(../images/talent/new_face.gif) no-repeat center;
}

table.talent-list th {
  background  : #ddd;
  font-weight : normal;
}

.talent-detail {
  width: 95%;
}

.talent-detail img.photo {
  float: right;
  /* border: 1px solid #3b4171; */
  margin-bottom: 16px;
}

.talent-detail table {
  border-collapse : collapse;
  border-spacing  : 0px;
  width: 100%;
  margin-bottom: 1em;
}

.talent-detail table th,
.talent-detail table td {
  vertical-align : top;
  padding        : 2px 4px;
  border  : 1px solid #2C51A9;
  font-size: 12px;
}

.talent-detail table th {
  text-align : left;
  background: #2C51A9 url(../images/common/gradiant_bg.gif) repeat-x left top;
  color      : white;
  font-size: 14px;
}

.talent-detail table td.label {
  background-color: #ddd;
  width: 9em;
}

.talent-detail table td.name {
  font-size: 130%;
  font-weight: bold;
}

.talent-detail table td.sample {
  text-align     : center;
  vertical-align : bottom;
}

.talent-detail table.sample,
.talent-detail table.detail {
  width: 300px;
}

.talent-detail br.sample-end {
  clear: right;
  display: none;
  visibility: hidden
}

.talent-detail br.hobby-end {
  display: none;
  visibility: hidden;
}

object, embed {
  vertical-align: middle;
}

/* 出演情報 */
.perform-box {
  border: 1px solid #2C51A9;
  margin-bottom: 1em;
  width: 95%;
}

.perform-box h3 {
  background: #2C51A9 url(../images/common/gradiant_bg.gif) repeat-x left top;
  color: white;
  padding: 4px 8px;
  margin: 0;
  line-height: 1.3;
  font-size: 14px;
}

.perform-box h3 a {
  color: white;
}

.perform-box h3 a:hover {
  color: yellow;
}

.perform-detail {
  padding: 8px;
}

.perform-detail ul {
  padding: 0 1.5em;
  margin: 0;
}

.perform-detail li {
  font-size: 12px;
  margin-bottom: .8em;
}

.perform-detail .perform-media,
.perform-detail .perform-type {
  font-size: 12px;
}



.perform-detail a.image img {
  display        : block;
  float          : right;
  border         : 1px solid #2E59B8;
  background     : #C2DBEF;
  vertical-align : middle;
  text-align     : middle;
  padding        : 4px;
}

.perform-detail .label {
  color: #336;
  font-weight: bold;
}

.perform-detail div {
  margin-top: .5em;
}

.perform-detail .list a {
  color: black;
}

.perform-detail .list a:hover {
  color: blue;
}

/* 印刷用 */
@media print {
  body {
    background-image: none;
    margin: 0 auto;
  }
  #wrapper {
    width: 100%;
  }
  #contents {
    float: none;
    margin: 0;
    width: 100%;
  }
  .talent-detail  table th {
    font-size: 10pt;
  }
  .talent-detail  table td {
    font-size: 9pt;
  }
  .talent-detail table.sample {
    display: none;
    visibility: hidden;
  }
  #sidebar {
    display: none;
    visibility: hidden;
  }
  .talent-detail img.photo {
    float: right;
    border: 1px solid #0000dd;
    margin-bottom: 16px;
  }
  h1 {
    display: none;
    visibility: hidden;
  }
  .talent-detail br.sample-end {
    display: none;
    visibility: hidden;
    clear: none;
  }
  .talent-detail table.detail,
  .talent-detail table.hobby {
    width: 20em;
  }
  .talent-detail br.hobby-end {
    clear: right;
    height: 0;
    font-size: 1px;
    line-height: 1;
    margin: 0;
    padding: 0;
  }
}

/* お問い合わせ */

div.contact  {
  width: 95%;
  text-align: center;
}

div.contact input.text,
div.contact select {
}
div.contact textarea {
  width: 100%;
}
div.contact table {
  width: 100%;
  margin-bottom: 10px;
  border-spacing: 6px;
}
div.contact table td {
  text-align: left;
  padding: 4px;
}
div.contact table td.label {
  width: 8em;
  background: #2C54AC;
  color: white;
  font-weight: bold;
  vertical-align: top;
}
.submit {
  background: #fefefe url(../images/common/submit_background.gif) repeat-x left top;
  color: white;
  border-width: 1px;
  border-style: solid;
  border-color: #c4cccc #acb5b5 #6f7777 #acb5b5;
  padding: 2px 10px;
  margin: 0 8px;
}
.submit:hover,
.submit:focus {
  border-color: #9aaedf #7894da #4b6ab9 #7894da;
  background: #fefefe url(../images/common/submit_background_click.gif) repeat-x left top;
}

.message {
  border-width: 1px 0;
  border-style: dotted;
  border-color: #999;
  padding: 5px;
  margin: 12px 0;
  text-align: left;
}

table.confirm td.preview {
  background: white;
  border: 1px solid #999;
  padding: 2px 4px;
  width: 400px;
}

/* errorMessages */
.errorExplanation {
  font-size: 14px;
}

.errorExplanation h2 {
  font-size: 16px;
  font-weight: bold;
  color: red;
  text-align: center;
  text-indent: 0px;
  line-height: 1.3;
  height: auto;
  padding: 0;
  margin: 0;
}

.errorExplanation ul {
  margin-top: .5em;
  margin-left: 2em;
}

.fieldWithErrors input,
.fieldWithErrors select,
.fieldWithErrors textarea {
  border: 2px solid red;
}

