/* reset */
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, main, menu, nav, section, summary {
  display: block;
}

/* common */
html, body {
  min-width: 1100px;
}

html {
  background-color: #F2F2F2;
  font-size: 75%;
  line-height: 1.4;
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

a img {
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@-moz-document url-prefix() {
  a img {
    background-color: rgba(255, 255, 255, 0.01);
  }
}
.btn a:hover img, .btns a:hover img, .ro a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

#page {
  overflow: hidden;
}

#header .logo {
  background-color: #E84E23;
  text-align: center;
}

#gnavi {
  position: relative;
  background-image: url(/content/images/common/bg_gnavi.gif);
  background-position: 0 0;
  background-repeat: repeat-x;
  z-index: 10;
}
#gnavi > ul {
  *zoom: 1;
  width: 960px;
  margin: 0 auto;
}
#gnavi > ul:after {
  content: "";
  display: block;
  clear: both;
}
#gnavi > ul > li {
  float: left;
}
#gnavi a {
  display: block;
}
#gnavi .published ul {
  width: 200px;
}
#gnavi .column ul {
  width: 120px;
}
#gnavi .series ul {
  width: 159px;
}
#gnavi .sf-menu ul {
  -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
  /*** arrows (for all except IE7) **/
  /* styling for both css and generated arrows */
  /* styling for right-facing arrows */
}
#gnavi .sf-menu ul > li {
  border-top: 1px solid #ccc;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.95);
}
#gnavi .sf-menu ul > li:hover, #gnavi .sf-menu ul > li.sfHover {
  background-color: #FFE7CE;
  background-color: rgba(255, 231, 206, 0.95);
}
#gnavi .sf-menu ul > li:first-child {
  border-top: none;
}
#gnavi .sf-menu ul a {
  display: block;
  padding: 10px;
  color: #000;
  font-size: 117%;
  font-weight: bold;
}
#gnavi .sf-menu ul .sf-with-ul {
  padding-right: 2.5em;
  *padding-right: 1em;
  /* no CSS arrows for IE7 (lack pseudo-elements) */
}
#gnavi .sf-menu ul .sf-with-ul:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -3px;
  height: 0;
  width: 0;
  /* order of following 3 rules important for fallbacks to work */
  border: 5px solid transparent;
  border-top-color: #000;
  /* edit this to suit design (no rgba in IE8) */
  border-top-color: rgba(0, 0, 0, 0.5);
}
#gnavi .sf-menu ul .sf-with-ul:after {
  margin-top: -5px;
  margin-right: -3px;
  border-color: transparent;
  border-left-color: #000;
  /* edit this to suit design (no rgba in IE8) */
  border-left-color: rgba(0, 0, 0, 0.5);
}

#contents {
  position: relative;
  z-index: 5;
}
#contents .contentsWrap {
  *zoom: 1;
  width: 960px;
  margin: 0 auto 20px;
}
#contents .contentsWrap:after {
  content: "";
  display: block;
  clear: both;
}
#contents .icon {
  display: inline-block;
  min-width: 34px;
  padding: 2px 6px 1px;
  background-color: #E84E23;
  color: #fff;
  text-align: center;
}
#contents .icon.s {
  font-size: 92%;
}
#contents .icon.l {
  padding: 2px 10px 1px;
  font-size: 117%;
}
#contents .icon.info {
  background-color: #41A5BE;
}
#contents .icon.series {
  background-color: #00B089;
}
#contents .iconWrap {
  *zoom: 1;
  margin-right: -6px;
}
#contents .iconWrap:after {
  content: "";
  display: block;
  clear: both;
}
#contents .iconWrap .icon, #contents .iconWrap .date {
  display: block;
  float: left;
  margin: 0 6px 6px 0;
}
#contents .iconWrap .date {
  padding: 2px 0 1px;
}
#contents .iconWrap.s {
  font-size: 92%;
}
#contents .iconWrap.l {
  font-size: 117%;
}
#contents .iconWrap.l .icon {
  padding: 2px 10px 1px;
}

#sns {
  *zoom: 1;
}
#sns:after {
  content: "";
  display: block;
  clear: both;
}
#sns > div {
  float: left;
  margin-left: 10px;
}
#sns > div:first-child {
  margin-left: 0;
}

#main {
  float: left;
  width: 710px;
}
#main.type1 {
  float: none;
  width: auto;
}

#sub {
  float: right;
  width: 240px;
}
#sub .banners {
  margin: 0 -4px;
}

#new_books {
  margin-bottom: 20px;
  padding-bottom: 10px;
  background-image: url(/content/images/common/bg_new_book.gif);
  background-position: 0 0;
  background-repeat: repeat;
}
#new_books h2 {
  padding: 12px 0 10px;
  color: #fff;
  font-size: 134%;
  text-align: center;
}
#new_books h2 span {
  color: #FFFF00;
}
#new_books .book {
  position: relative;
  width: 220px;
  height: 252px;
  margin: 0 auto;
  padding-top: 16px;
  background-color: #fff;
}
#new_books .inner {
  position: relative;
  width: 190px;
  height: 236px;
  margin: 0 auto;
  overflow: hidden;
}
#new_books .inner ul {
  *zoom: 1;
  position: absolute;
}
#new_books .inner ul:after {
  content: "";
  display: block;
  clear: both;
}
#new_books .inner ul li {
  float: left;
}
#new_books .prev, #new_books .next {
  position: absolute;
  top: 122px;
}
#new_books .prev {
  left: 0;
}
#new_books .next {
  right: 0;
}

#recommended {
  margin-bottom: 16px;
  background-image: url(/content/images/common/bg_recommended.gif);
  background-position: 0 0;
  background-repeat: repeat;
}
#recommended ul {
  width: 220px;
  margin: 0 auto;
  padding-bottom: 10px;
}
#recommended li {
  margin-top: 10px;
  padding: 6px;
  background-color: #fff;
}
#recommended li:first-child {
  margin-top: 0;
}
#recommended .image {
  margin-bottom: 8px;
}
#recommended .about {
  padding: 0 5px 5px 5px;
}
#recommended .icon {
  margin-bottom: 6px;
}
#recommended .text + p {
  margin-top: 6px;
  color: #E74D22;
  font-size: 92%;
}
#recommended .text + p a {
  color: #E74D22;
}
#recommended a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

#comment {
  margin-bottom: 17px;
}
#comment .titleWrap {
  position: relative;
}
#comment .titleWrap .date {
  position: absolute;
  top: 15px;
  right: 6px;
}
#comment .view {
  overflow: auto;
  max-height: 700px;
}
#comment ul li {
  padding: 12px 8px;
  border-top: 1px dotted #939393;
}
#comment ul li:first-child {
  border-top: none;
}
#comment h3 {
  font-size: 117%;
  font-weight: bold;
}
#comment h3, #comment .text {
  margin-bottom: 8px;
}
#comment .category {
  text-align: right;
}

#products {
  padding-bottom: 20px;
}
#products .titleWrap {
  *zoom: 1;
  width: 960px;
  margin: 0 auto 12px;
}
#products .titleWrap:after {
  content: "";
  display: block;
  clear: both;
}
#products .titleWrap h2, #products .titleWrap p {
  float: left;
}
#products .titleWrap h2 {
  margin-right: 14px;
}
#products .titleWrap p {
  font-size: 117%;
}
#products .titleWrap p span {
  font-size: 129%;
}
#products .view {
  height: 236px;
  background-color: #FDD0A3;
}
#products .view .wrap {
  position: relative;
  height: 210px;
  padding-top: 25px;
  top: -12px;
  overflow: hidden;
}
#products .view .inner {
  position: relative;
  width: 960px;
  height: 235px;
  margin: 0 auto;
}
#products .view ul {
  *zoom: 1;
  position: absolute;
}
#products .view ul:after {
  content: "";
  display: block;
  clear: both;
}
#products .view ul li {
  position: relative;
  float: left;
}
#products .view .new {
  position: absolute;
  top: -25px;
  right: -20px;
  z-index: 10;
}
#products .view .image {
  background-color: #fff;
}
#products .view a:hover img {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

#footer {
  position: relative;
  background-image: url(/content/images/common/bg_footer.gif);
  background-position: 0 0;
  background-repeat: repeat;
  z-index: 0;
}
#footer .inner {
  width: 960px;
  margin: 0 auto;
  padding: 30px 0;
}

#fnavi {
  *zoom: 1;
  background-image: url(/content/images/common/bg_fnavi.gif);
  background-position: right 0;
  background-repeat: repeat-y;
}
#fnavi:after {
  content: "";
  display: block;
  clear: both;
}
#fnavi > li {
  float: left;
  width: 148px;
  padding-left: 12px;
  background-image: url(/content/images/common/bg_fnavi.gif);
  background-position: 0 0;
  background-repeat: repeat-y;
}
#fnavi p {
  margin-bottom: 4px;
  padding: 4px 0 4px 28px;
  font-size: 117%;
  font-weight: bold;
}
#fnavi .fnavi1 p {
  background-image: url(/content/images/common/fnavi_mark1.png);
  background-position: 0 center;
  background-repeat: no-repeat;
}
#fnavi .fnavi2 p {
  background-image: url(/content/images/common/fnavi_mark2.png);
  background-position: 0 center;
  background-repeat: no-repeat;
}
#fnavi .fnavi3 p {
  background-image: url(/content/images/common/fnavi_mark3.png);
  background-position: 0 center;
  background-repeat: no-repeat;
}
#fnavi .fnavi4 p {
  background-image: url(/content/images/common/fnavi_mark4.png);
  background-position: 0 center;
  background-repeat: no-repeat;
}
#fnavi .fnavi5 p {
  background-image: url(/content/images/common/fnavi_mark5.png);
  background-position: 0 center;
  background-repeat: no-repeat;
}
#fnavi .fnavi5 {
  position: relative;
}
#fnavi .fnavi5 .btn {
  position: absolute;
  bottom: 0;
  width: 136px;
}
#fnavi .fnavi5 .btn img {
  max-width: 100%;
}
#fnavi ul {
  padding-left: 28px;
}
#fnavi ul li {
  margin-top: 6px;
}
#fnavi ul li:first-child {
  margin-top: 0;
}
#fnavi a {
  color: #333;
}

#copyright {
  padding: 22px 0 20px;
  background-color: #E84E23;
  color: #fff;
  text-align: center;
}

#pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 100;
}
#pagetop img {
  width: 148px;
  height: 148px;
}
