@charset "UTF-8";
/* common styles for all pages */
/* 一コマの width を計算 */
/* Reset margin and padding */
* {
  margin: 0;
  padding: 0;
}

/* General */
.small {
  font-size: small;
  line-height: 1.5;
}

.smaller {
  font-size: smaller;
}

.medium {
  font-size: medium;
  line-height: 1.5;
}

.bold {
  font-weight: bold;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.justify {
  text-align: justify;
}

.nowrap {
  white-space: nowrap;
}

.caution {
  margin: 1em 0;
  color: red;
  text-align: left;
}

/* Link */
a:visited {
  color: violet;
}
a:link {
  color: blue;
}
a:hover {
  color: blue;
}
a:active {
  color: blue;
}
a > img {
  border: none;
}

/* Heads */
h1, h2, h3, h4, h5, h6, h7 {
  font-weight: bold;
}

h2 {
  font-size: 1.4em;
  line-height: 1.2;
  margin: 1.75em 0 0.5em;
}

/* Table */
table {
  border-collapse: collapse;
}

/* Layout */
table.layout {
  border: none;
}
table.layout > tbody > tr > td {
  vertical-align: top;
  border: none;
}

/* Standards */
table.std {
  margin: 0.75em 0;
}
table.std tr td, table.std tr th {
  border: 1px solid #888888;
  padding: 0.25em 0.5em;
}
table.std tr th {
  background: #ddeedd;
}

ul.std {
  list-style-position: outside;
  margin: 0.75em 0 0.75em 1.5em;
}
ul.std > li {
  margin: 0.25em 0;
}

ol.std {
  list-style-position: outside;
  margin: 0.75em 0 0.75em 2em;
}
ol.std > li {
  margin: 0.25em 0;
}

dl.std {
  margin: 0.75em 0;
}
dl.std > dt {
  margin: 0.5em 0 0.25em 0;
}
dl.std > dd {
  margin: 0.25em 0 0.5em 2em;
}

/* Body */
body {
  font-family: sans-serif;
  font-weight: normal;
  background: #eeeeee;
}

/* Layout */
#wrapper {
  min-width: 320px;
  max-width: 1280px;
  min-height: 480px;
  background: white;
  margin: 0 auto 20px;
  border-style: solid;
  border-color: #888888;
  border-width: 0 1px 1px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
}

#header {
  padding: 20px 20px 0;
}

#menu {
  margin: 0 20px;
}

#contents {
  padding: 20px 0 20px 20px;
}

ul.genre-selector, ul.publisher-selector {
  margin-right: 20px;
}

p.message-before-list {
  margin-right: 20px;
}

#menu {
  float: right;
  font-size: 1.1em;
}
#menu ul {
  list-style: none;
}
#menu ul li {
  line-height: 2;
  margin-bottom: 8px;
}
#menu ul li a {
  display: block;
  line-height: 1;
  background: darkblue;
  border-radius: 3px 0 0 3px;
  padding: 4px 6px;
  color: white;
  text-decoration: none;
  opacity: 0.7;
  position: relative;
}
#menu ul li a.on, #menu ul li a:hover {
  opacity: 1;
}
#menu ul li a:active {
  top: 1px;
}

#contents {
  font-size: medium;
  line-height: 1.5;
}

/* Header part */
#header a {
  text-decoration: none;
}
#header h1 {
  font-size: large;
  line-height: 1;
  background: #1b1464;
  color: white;
  text-decoration: none;
}
#header h1 img {
  max-width: 100%;
}
#header div.subtitle {
  font-size: x-large;
  margin: 0.25em 0 0.2em;
  line-height: 1.5;
  white-space: nowrap;
  font-weight: bold;
  color: #1b1464;
}

div.introduction {
  margin: 0.75em auto;
  max-width: 44em;
}

ul.genre-selector, ul.publisher-selector {
  line-height: 2.25;
}
ul.genre-selector li, ul.publisher-selector li {
  display: inline;
  margin-right: 0.4em;
}
ul.genre-selector li a, ul.publisher-selector li a {
  position: relative;
  background: #dddddd;
  padding: 0.2em 0.4em;
  border-color: #888888;
  border-style: solid;
  border-width: 1px 1px 1px 8px;
  white-space: nowrap;
  text-decoration: none;
}
ul.genre-selector li a:link, ul.genre-selector li a:visited, ul.publisher-selector li a:link, ul.publisher-selector li a:visited {
  color: blue;
}
ul.genre-selector li a:active, ul.publisher-selector li a:active {
  top: 1px;
}
ul.genre-selector li.on a, ul.genre-selector li:hover a, ul.publisher-selector li.on a, ul.publisher-selector li:hover a {
  background: #993333;
  color: white;
  border-color: #333333;
}

div.name-yomi {
  margin: 0 0 15px;
  font-size: small;
}

p.message-before-list {
  margin: 0 20px 0.5em 0;
}

a.book-box {
  outline: none;
  text-decoration: none;
  color: black;
}

div.book-box {
  display: inline-block;
  margin: 0 20px 20px 0;
  padding: 20px;
  width: 253px;
  min-height: 240px;
  overflow: hidden;
  border: 1px solid #bbbbaa;
  vertical-align: top;
  background: #fffff6;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
div.book-box h1 {
  margin-bottom: 20px;
}
div.book-box div.book-cover {
  margin-right: 20px;
  margin-bottom: 0.25em;
}
div.book-box h1 {
  font-size: 1.2em;
  line-height: 1.25;
  background: none;
  color: black;
}
div.book-box div.book-cover {
  float: left;
}
div.book-box div.book-cover img {
  max-width: 120px;
  max-height: 150px;
  border: 1px solid rgba(0, 0, 0, 0.25);
}
div.book-box .authors, div.book-box .publisher, div.book-box .price, div.book-box .about {
  font-size: 0.9em;
}
div.book-box .isbn {
  font-size: 0.85em;
  margin-top: 0.5em;
}
div.book-box .about {
  clear: both;
}
div.book-box:hover {
  border-color: #aaaa66;
  background: #f6f6da;
}

#search-area {
  text-align: center;
  margin: 15px 0;
}
#search-area input[type="text"] {
  font-family: sans-serif;
  font-weight: normal;
  font-size: 0.95em;
  padding: 1px;
}
#search-area input[type="submit"] {
  font-size: 0.95em;
  padding: 0 6px;
  margin-top: 3px;
}

div.search-message {
  margin: 10px 0 14px;
}
div.search-message span.kw {
  border: 1px solid #998888;
  padding: 1px 2px;
  margin: 0 1px;
  color: #330000;
  border-radius: 2px;
}

@media screen and (max-width: 1283px) {
  #header {
    padding: 16px 16px 0;
  }

  #menu {
    margin: 0 16px;
  }

  #contents {
    padding: 16px 0 16px 16px;
  }

  ul.genre-selector, ul.publisher-selector {
    margin-right: 16px;
  }

  p.message-before-list {
    margin-right: 16px;
  }

  body {
    background: white;
  }

  #wrapper {
    margin-bottom: 0;
    border: none;
    box-shadow: none;
  }

  div.book-box {
    min-height: 100px;
    margin: 0 16px 16px 0;
    padding: 16px;
    width: 286px;
  }
  div.book-box h1 {
    margin-bottom: 16px;
  }
  div.book-box div.book-cover {
    margin-right: 16px;
    margin-bottom: 0.25em;
  }
}
@media screen and (max-width: 1023px) {
  #header {
    padding: 16px 16px 0;
  }

  #menu {
    margin: 0 16px;
  }

  #contents {
    padding: 16px 0 16px 16px;
  }

  ul.genre-selector, ul.publisher-selector {
    margin-right: 16px;
  }

  p.message-before-list {
    margin-right: 16px;
  }

  div.book-box {
    width: 264.66667px;
  }
}
@media screen and (max-width: 959px) {
  div.book-box {
    width: 211.33333px;
  }
}
@media screen and (max-width: 799px) {
  div.book-box {
    width: 200.66667px;
  }
}
@media screen and (max-width: 767px) {
  #header {
    padding: 12px 12px 0;
  }

  #menu {
    margin: 0 12px;
  }

  #contents {
    padding: 12px 0 12px 12px;
  }

  ul.genre-selector, ul.publisher-selector {
    margin-right: 12px;
  }

  p.message-before-list {
    margin-right: 12px;
  }

  #header div.subtitle {
    font-size: medium;
  }

  #menu {
    font-size: medium;
  }
  #menu ul li {
    margin-bottom: 6px;
  }
  #menu ul li a {
    padding: 2px 3px;
  }

  ul.genre-selector, ul.publisher-selector {
    font-size: 0.9em;
    line-height: 2;
  }
  ul.genre-selector li, ul.publisher-selector li {
    margin-right: 0.25em;
  }
  ul.genre-selector li a, ul.publisher-selector li a {
    padding: 1px 2px;
    border-width: 1px 1px 1px 6px;
  }

  h2 {
    margin: 1.25em 0 0.25em;
  }

  div.book-box {
    min-height: 100px;
    margin: 0 12px 12px 0;
    padding: 12px;
    width: 276px;
  }
  div.book-box h1 {
    margin-bottom: 12px;
  }
  div.book-box div.book-cover {
    margin-right: 12px;
    margin-bottom: 0.25em;
  }
  div.book-box h1 {
    font-size: medium;
  }
}
@media screen and (max-width: 639px) {
  #header {
    padding: 10px 10px 0;
  }

  #menu {
    margin: 0 10px;
  }

  #contents {
    padding: 10px 0 10px 10px;
  }

  ul.genre-selector, ul.publisher-selector {
    margin-right: 10px;
  }

  p.message-before-list {
    margin-right: 10px;
  }

  #header div.subtitle {
    font-size: 1.1em;
  }

  #search-area.top {
    display: none;
  }

  h2 {
    margin: 0.25em 0;
  }

  div.book-box {
    margin: 0 12px 12px 0;
    padding: 12px;
    width: 196px;
  }
  div.book-box h1 {
    margin-bottom: 12px;
  }
  div.book-box div.book-cover {
    margin-right: 12px;
    margin-bottom: 0.25em;
  }
}
@media screen and (max-width: 479px) {
  #header {
    padding: 8px 8px 0;
  }

  #menu {
    margin: 0 8px;
  }

  #contents {
    padding: 8px 0 8px 8px;
  }

  ul.genre-selector, ul.publisher-selector {
    margin-right: 8px;
  }

  p.message-before-list {
    margin-right: 8px;
  }

  #header {
    padding: 0;
  }
  #header div.subtitle {
    font-size: 0.95em;
    margin-left: 8px;
  }

  #menu {
    font-size: 0.9em;
    margin-right: 0;
  }

  p.message-before-list {
    font-size: small;
  }

  div.introduction {
    margin-top: 0;
    font-size: 0.9em;
  }

  div.book-box {
    margin: 0 8px 8px 0;
    padding: 8px;
    width: auto;
  }
  div.book-box h1 {
    margin-bottom: 8px;
  }
  div.book-box div.book-cover {
    margin-right: 8px;
    margin-bottom: 0.25em;
  }
}
