@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

.clearfix {
  *zoom: 1; }
  .clearfix:after {
    content: "";
    display: block;
    clear: both; }

body {
  background-image: url(/images/common/bg_body.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  line-height: 1.5;
  letter-spacing: 1px;
  font-size: 75%;
  color: #333333;
  font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3"; }

a {
  text-decoration: none;
  color: #0E7CA0; }

a:hover {
  text-decoration: underline; }

strong.moreStrong {
  font-size: 120%;
  font-weight: bold; }

/* cms
------------------------------------------------------------------------------*/
.cms * {
  word-break: break-all; }
.cms p {
  margin: 1em 0; }
.cms ul {
  list-style-type: disc;
  margin: 1em 0 1em 1em;
  padding: 0 0 0 1em; }
.cms ul ul {
  list-style-type: circle;
  margin: 0 0 0 1em; }
.cms ul ul ul {
  list-style-type: square; }
.cms ol {
  list-style-type: decimal;
  margin: 1em 0 1em 1em;
  padding: 0 0 0 1em; }
.cms ol ol {
  margin: 0 0 0 1em; }
.cms dl {
  margin: 1em 0; }
.cms dd {
  margin: 0 0 0 1em; }
.cms blockquote {
  margin: 1em;
  padding: 0 0 0 1em;
  border-left: 3px solid #CCCCCC; }
.cms pre {
  margin: 1em;
  padding: 1em;
  border: 1px solid #CCCCCC;
  white-space: normal; }
.cms blockquote blockquote {
  margin: 0; }
.cms table {
  border-top: 1px solid #D7D7D7;
  border-right: 1px solid #D7D7D7; }
.cms table th {
  padding: 5px 5px 5px 7px;
  border-bottom: 1px solid #D7D7D7;
  border-left: 1px solid #D7D7D7;
  background-color: #E8E8E8;
  text-align: left;
  vertical-align: top;
  font-weight: normal;
  white-space: nowrap; }
.cms table td {
  padding: 5px 5px 5px 7px;
  border-bottom: 1px solid #D7D7D7;
  border-left: 1px solid #D7D7D7;
  text-align: left;
  vertical-align: top; }
.cms h1 {
  font-size: 120%; }
.cms h2 {
  font-size: 100%; }
.cms h3 {
  font-size: 100%; }
.cms h4 {
  font-size: 100%; }
.cms h5 {
  font-size: 100%; }
.cms h6 {
  font-size: 100%; }

/* header
------------------------------------------------------------------------------*/
#header {
  position: relative;
  width: 1005px;
  margin: 0 auto; }
  #header .toptext {
    padding: 24px 0 9px; }
  #header #logo {
    padding-bottom: 14px; }
  #header #hnavi {
    position: absolute;
    top: 100px;
    right: 0;
    *zoom: 1; }
    #header #hnavi:after {
      content: "";
      display: block;
      clear: both; }
    #header #hnavi li {
      float: left;
      padding-left: 24px; }
  #header #searchBox {
    width: 373px;
    position: absolute;
    top: 20px;
    right: 0; }
    #header #searchBox .navi ul {
      width: 373px;
      *zoom: 1; }
      #header #searchBox .navi ul:after {
        content: "";
        display: block;
        clear: both; }
      #header #searchBox .navi ul li {
        float: left;
        cursor: pointer; }
        #header #searchBox .navi ul li img {
          vertical-align: bottom; }
    #header #searchBox .content {
      padding-bottom: 3px;
      background-image: url(/images/common/bg_searchbox_bottom.png);
      background-repeat: no-repeat;
      background-position: bottom; }
      #header #searchBox .content form {
        display: block;
        width: 364px;
        padding: 6px 0 6px 9px;
        background-image: url(/images/common/bg_searchbox.png);
        background-repeat: repeat-y; }
        #header #searchBox .content form #lnaviSearchWord {
          width: 245px !important;
          height: 16px !important;
          padding: 5px 5px 5px 25px;
          margin: 0;
          border: 1px solid #C4C4C4;
          background-image: url(/images/common/icon_search.png);
          background-repeat: no-repeat;
          background-position: 5px 5px; }
        #header #searchBox .content form #lnaviSearchSubmit {
          width: 72px; }
        #header #searchBox .content form .left {
          float: left; }
        #header #searchBox .content form .right {
          float: right;
          padding: 1px 8px 0 0; }
        #header #searchBox .content form div {
          *zoom: 1; }
          #header #searchBox .content form div:after {
            content: "";
            display: block;
            clear: both; }

/* gnavi
------------------------------------------------------------------------------*/
#gnavi {
  padding: 9px 0 10px;
  background-image: url(/images/common/bg_gnavi.png); }
  #gnavi ul {
    position: relative;
    width: 1000px;
    height: 93px;
    margin: 0 auto; }
    #gnavi ul li {
      position: absolute; }
      #gnavi ul li#gnavi1 {
        top: 0;
        left: 0; }
      #gnavi ul li#gnavi2 {
        top: 0;
        left: 168px; }
      #gnavi ul li#gnavi3 {
        top: 0;
        left: 336px; }
      #gnavi ul li#gnavi4 {
        top: 32px;
        left: 0; }
      #gnavi ul li#gnavi5 {
        top: 32px;
        left: 168px; }
      #gnavi ul li#gnavi6 {
        top: 32px;
        left: 336px; }
      #gnavi ul li#gnavi7 {
        top: 65px;
        left: 0; }
      #gnavi ul li#gnavi8 {
        top: 65px;
        left: 168px; }
      #gnavi ul li#gnavi9 {
        top: 65px;
        left: 336px; }
      #gnavi ul li#gnavi10 {
        top: 0;
        left: 504px; }
      #gnavi ul li#gnavi11 {
        top: 0;
        left: 670px; }
      #gnavi ul li#gnavi12 {
        top: 0;
        left: 838px; }
      #gnavi ul li#gnavi13 {
        top: 32px;
        left: 670px; }
      #gnavi ul li#gnavi14 {
        top: 32px;
        left: 838px; }
      #gnavi ul li#gnavi15 {
        top: 65px;
        left: 670px; }
      #gnavi ul li#gnavi16 {
        top: 65px;
        left: 838px; }

/* contents
------------------------------------------------------------------------------*/
#contents {
  width: 1005px;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 50px;
  *zoom: 1; }
  #contents:after {
    content: "";
    display: block;
    clear: both; }

/* pagetop
------------------------------------------------------------------------------*/
.pagetop {
  width: 141px;
  margin: 12px 0 0 auto; }
  .pagetop a {
    width: 141px;
    height: 12px;
    display: block;
    background-image: url(../images/common/pagetop.jpg);
    background-position: left top;
    background-repeat: no-repeat;
    outline: none;
    line-height: 0;
    text-decoration: none;
    text-indent: -9999px;
    font-size: 1px; }
    .pagetop a:hover {
      background-position: left bottom; }

/* main
------------------------------------------------------------------------------*/
#main {
  float: right;
  width: 787px;
  padding: 0; }
  #main .section .imageWrapper {
    float: left; }
  #main .section .textWrapper {
    float: left; }
    #main .section .textWrapper td.input {
      white-space: nowrap; }
    #main .section .textWrapper ul.link {
      padding: 10px 0;
      text-align: right; }
  #main .section .noimage .textWrapper {
    float: none; }
  #main .section .list01 {
    line-height: 1.8;
    padding: 0 0 0 15px;
    background-image: url(../images/common/icon_list.gif);
    background-repeat: no-repeat;
    background-position: 0px 7px; }
  #main .section#mainBookList {
    margin: 0 0 15px; }
    #main .section#mainBookList .contents {
      width: 666px;
      margin: 0 auto; }
    #main .section#mainBookList .entryWrapper {
      width: auto;
      margin: 0; }
    #main .section#mainBookList .entry {
      float: left;
      width: 222px; }
    #main .section#mainBookList .entryInner {
      background-color: #FFFFFF;
      padding: 15px 4px 0 10px; }
    #main .section#mainBookList .imageWrapper {
      width: 80px;
      padding: 0 9px 0 0;
      text-align: center; }
      #main .section#mainBookList .imageWrapper img {
        width: 78px;
        border: 1px solid #CCC; }
    #main .section#mainBookList .textWrapper {
      float: none;
      width: auto;
      margin: 0 0 0 90px;
      word-break: break-all; }
      #main .section#mainBookList .textWrapper h3 {
        font-size: 100%;
        font-weight: normal; }
      #main .section#mainBookList .textWrapper h4 {
        font-size: 100%;
        font-weight: normal; }
      #main .section#mainBookList .textWrapper .author {
        margin: 3px 0 0 0; }
      #main .section#mainBookList .textWrapper .genre {
        font-size: 85%; }
  #main .section#mainEntryList .entryWrapper {
    width: 510px;
    margin: 12px 0 0 16px; }
  #main .bookList {
    margin-right: -9px;
    *zoom: 1; }
    #main .bookList:after {
      content: "";
      display: block;
      clear: both; }
    #main .bookList .block {
      position: relative;
      float: left;
      width: 190px;
      padding-top: 6px;
      margin: 0 9px 9px 0;
      background-image: url(/images/common/bg_block_top.png);
      background-repeat: no-repeat;
      background-position: 0 0;
      text-align: center; }
      #main .bookList .block .img {
        padding-bottom: 14px; }
      #main .bookList .block .img img {
        vertical-align: bottom;
        border: 1px solid #CCCCCC; }
      #main .bookList .block .title {
        padding: 0 5px 6px;
        font-size: 117%;
        font-weight: bold; }
      #main .bookList .block .opus {
        padding: 0 5px;
        line-height: 1.2; }
      #main .bookList .block .date {
        padding-top: 10px; }
      #main .bookList .block .label {
        position: absolute;
        top: 9px;
        left: 0; }
      #main .bookList .block .blockInner {
        padding: 14px 0;
        background-image: url(/images/common/bg_block.png);
        background-repeat: no-repeat;
        background-position: 0 bottom; }

/* side
------------------------------------------------------------------------------*/
#side {
  overflow: hidden;
  float: left;
  width: 205px;
  padding: 0; }
  #side #sideBtns {
    padding-bottom: 20px; }
  #side .twitter {
    padding-bottom: 20px; }
    #side .twitter iframe {
      min-width: 205px !important; }
  #side .section .contents {
    width: 200px;
    padding-bottom: 20px; }
    #side .section .contents ul li {
      padding: 8px 5px 8px 0; }
    #side .section .contents .first {
      margin-bottom: 8px;
      padding: 8px 0;
      background-image: url(/images/common/line.png);
      background-repeat: repeat-x;
      background-position: left bottom; }
    #side .section .contents .accessMap {
      padding-bottom: 5px; }
  #side .section#sideNews {
    position: relative; }
    #side .section#sideNews .rss {
      position: absolute;
      top: 5px;
      right: 7px; }
    #side .section#sideNews .contents #lnaviNews ul {
      overflow: visible;
      max-height: none; }
      #side .section#sideNews .contents #lnaviNews ul li {
        padding-left: 10px;
        text-indent: -10px; }
        #side .section#sideNews .contents #lnaviNews ul li ul {
          margin-bottom: -8px;
          padding-top: 5px; }
          #side .section#sideNews .contents #lnaviNews ul li ul li {
            background-position: 0 0; }
    #side .section#sideNews .contents ul {
      overflow: auto;
      max-height: 525px; }
      #side .section#sideNews .contents ul li {
        padding: 8px 5px 8px 45px;
        background-image: url(/images/common/line.png);
        background-repeat: repeat-x;
        background-position: left bottom;
        text-indent: -45px; }
    #side .section#sideNews .contents .more {
      padding-top: 10px;
      text-align: right; }

/* footer
------------------------------------------------------------------------------*/
#footer {
  padding: 30px 0 50px;
  border-top: 2px solid #AE9B91;
  background-image: url(/images/common/bg_footer.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  text-align: center; }
  #footer ul li {
    display: inline;
    padding: 0 13px;
    border-right: 1px solid #000;
    line-height: 1.2; }
    #footer ul li.lastItem {
      border-right: 0px; }

/* JS book modal window
 *  * -----------------------------------------*/
.modal{}

.modal_contents{
        display:none;
        border:1px solid #aaa;
        width:600px;
        padding:20px;
        position:absolute;
        top:50px;
        left:50%;
        margin-left:-300px;
        z-index:1001;
        background:#fff;
        font-size:14px;
        text-align:center;
}
.modal_contents > p{
        margin-bottom:1em;
        font-weight:bold;
        text-align:center;
}
.modal_contents ul{
        margin-bottom:2em;
}
.modal_contents li{
        text-indent:-1em;
        padding-left:1em;
        margin-bottom:1em;
}
.modal_contents li > span{
        display:block;
        text-align:center;
        padding-top:1em;
}
.modal_contents .botton{
        text-align:center;
}
.modal_contents .botton span{
        display:inline-block;
        border:solid 1px #999;
        padding:10px 10px;
        margin:0 10px;
        cursor:pointer;
}
.modal_contents .botton .submit{
        border:1px solid #ae9b91;
}
.modal_contents .botton .submit a{
        color:#ae9b91;
}
.modal_contents .botton .modal_close{}

#modal_overlay{
        position:absolute;
        top:0;
        left:0;
        width:auto;
        height:auto;
        background:#000;
        z-index:1000;
}

