@charset "utf-8";
/* 旧テンプレート、v3テンプレート どちらからでも読み込まれるテンプレートファイル */
@media (max-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}
.login-required,
.logout-required {
  display: none;
}
.modal-background {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 11;
  width: 100%;
  height: 100%;
}
.modal-window {
  z-index: 12;
  display: none;
  position: fixed;
  left: 50%;
  top: 10%;
  background: #f0f0f0;
}
@media (max-width: 321px) {
  .modal-window {
    width: 300px;
    margin: 0 0 0 -150px;
  }
}
@media (min-width: 322px) and (max-width: 768px) {
  .modal-window {
    width: calc(100% - 30px );
    margin: 0 0 0 calc( 50% -  15px );
  }
}
@media (min-width: 769px) {
  .modal-window {
    width: 460px;
    margin: 0 0 0 -230px;
  }
}
.modal-window.scroll {
  position: absolute;
}
.modal-close-button {
  position: fixed;
  font-size: 40px;
  width: 20px;
  height: 20px;
  color: white;
  cursor: pointer;
  z-index: 12;
}
@media (max-width: 768px) {
  .modal-close-button {
    right: 10px;
    top: 0;
  }
}
@media (min-width: 769px) {
  .modal-close-button {
    left: 50%;
    top: 10%;
    margin-top: -50px;
    margin-left: 230px;
  }
}
.modal-close-button.scroll {
  position: absolute;
}
.search-modal {
  text-align: center;
}
.search-modal .form-group {
  width: 100%;
  max-width: 500px;
  margin: 10px 0 10px 10px;
}
.search-modal .form-group input[name="name"] {
  height: 40px;
  line-height: 40px;
  width: calc(100% - 70px);
  display: block;
  float: left;
  border: 1px solid;
  border-radius: 4px 0 0 4px;
  border-right-width: 0;
}
.search-modal .form-group button.search-button {
  margin: 0;
  padding: 0;
  border: none;
  display: block;
}
.search-modal .form-group button.search-button img {
  height: 40px;
  width: 48px;
  border: none;
  display: block;
  border-radius: 0 4px 4px 0;
  background: #333;
}
.search-modal .suggest-holder {
  text-align: left;
}
.search-modal .suggest-holder ul.suggest {
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #999;
}
.search-modal .suggest-holder ul.suggest li {
  border-top: 1px solid #999;
}
.search-modal .suggest-holder ul.suggest li a {
  display: block;
  position: relative;
  overflow: hidden;
  padding: 5px 10px;
  color: black;
}
.search-modal .suggest-holder ul.suggest li a span.title {
  line-height: 30px;
}
.search-modal .suggest-holder ul.suggest li a div.type-labels {
  position: absolute;
  bottom: 5px;
  right: 0;
}
.search-modal .suggest-holder ul.suggest li a div.type-labels span.product-type {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0;
  line-height: 30px;
  width: 40px;
  text-align: center;
  color: white;
}
.search-modal .suggest-holder ul.suggest li a div.type-labels span.product-type-1 {
  background-color: #003893;
}
.search-modal .suggest-holder ul.suggest li a div.type-labels span.product-type-2 {
  background-color: #E71F19;
}
.search-modal .suggest-holder .limited-header {
  background-color: #E71F19;
  color: white;
  margin: 0;
  padding: 5px;
  border: none;
  font-weight: normal;
}
.search-modal .suggest-holder ul.limited li {
  display: block;
  width: 50%;
  float: left;
}
.search-modal .suggest-holder ul.limited li .thumbnail-box {
  width: 60px;
  padding: 5px 0;
  height: 80px;
  display: block;
  float: left;
  text-align: center;
}
.search-modal .suggest-holder ul.limited li .thumbnail-box img.thumbnail {
  height: 70px;
  width: auto;
  background-color: #ccc;
  padding: 0;
  border: 0;
  border-radius: 0;
}
.search-modal .suggest-holder ul.limited li .detail-box {
  padding: 0 5px;
}
.search-modal .suggest-holder ul.limited li .detail-box .title-name {
  margin: 5px 0;
  font-size: 10px;
}
.base-v4 .search-modal .suggest-holder ul.limited li .rect-button.xsmall {
  background-color: #444;
  color: white;
  padding: 1px 5px;
  font-size: 10px;
}
.full-width-banner-container {
  background-color: #f0f0f0;
  display: block;
}
.full-width-banner {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.full-width-banner.max-728 {
  max-width: 728px;
}
.full-width-banner.max-960 {
  max-width: 960px;
}
hr {
  background-color: #aaa;
  border: 0 none;
  height: 1px;
  width: 100%;
}
a {
  color: #1340A5;
  cursor: pointer;
}
button,
input[type="radio"],
input[type="checkbox"],
label[for],
.check-input {
  cursor: pointer;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.vertical-margin {
  margin-top: 20px;
  margin-bottom: 20px;
}
.vertical-margin.thin {
  margin-top: 10px;
  margin-bottom: 10px;
}
.vertical-margin.bottom {
  margin-top: 0;
}
.vertical-margin.top {
  margin-bottom: 0;
}
.vertical-margin.fat {
  margin-top: 40px;
  margin-bottom: 40px;
}
.vertical-margin.margin-thin {
  margin-top: 10px;
  margin-bottom: 10px;
}
.vertical-margin.margin-xthin {
  margin-top: 5px;
  margin-bottom: 5px;
}
.vertical-margin.margin-thick {
  margin-top: 40px;
  margin-bottom: 40px;
}
.horizontal-padding {
  padding: 0 20px;
}
.horizontal-padding.padding-thin {
  padding: 0 10px;
}
.nobr {
  white-space: nowrap;
}
.sp-only {
  display: none;
}
.display-block {
  display: block;
}
.body-gray-container-white {
  background-color: #eee;
}
.body-gray-container-white .container,
.body-gray-container-white #container {
  background-color: white;
}
.body-gray {
  background-color: #eee;
}
.body-dark-gray {
  background-color: #777;
}
div.more-link-area {
  padding: 10px 10px;
  text-align: center;
  background: #eeeeee;
  border-bottom: 1px solid #ddd;
}
div.more-link-area a {
  white-space: nowrap;
  word-wrap: normal;
  word-break: keep-all;
  display: inline-block;
}
div.more-link-area .separator {
  color: #ccc;
  margin: 0 10px;
  display: inline-block;
}
div.more-link-area .separator.thin {
  margin: 0 10px;
}
.book-cover-grid {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.book-cover-grid tr.underline {
  border-bottom: 1px solid #ddd;
}
.book-cover-grid td {
  text-align: center;
  padding: 0;
  vertical-align: middle;
}
.book-cover-grid strong {
  font-size: 12px;
}
.book-cover-grid small {
  font-size: 10px;
}
.book-cover-grid td.rank-holder-cell div.rank-holder {
  position: relative;
}
.book-cover-grid td.rank-holder-cell div.rank {
  position: absolute;
  top: -2px;
  left: 0;
  background: #333;
  color: white;
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 15px;
  font-size: 13px;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  text-align: center;
  z-index: 1;
  white-space: nowrap;
}
.book-cover-grid td.rank-holder-cell div.rank.book {
  background-color: #003893;
}
.book-cover-grid td.rank-holder-cell div.rank.ebook {
  background-color: #E71F19;
}
.book-cover-grid td.cover-image-cell {
  padding: 10px 0 0 0;
}
.book-cover-grid td.cover-image-cell .cover-image-link {
  display: inline-block;
}
.book-cover-grid td.cover-image-cell img {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
}
.book-cover-grid td.name-cell {
  padding: 3px 0 0 0;
  font-size: 12px;
  color: #555;
}
.book-cover-grid td.name-cell span.name-cell-limiter {
  display: inline-block;
  /* 無くてよかった */
}
.book-cover-grid td.name-cell a {
  color: #555;
}
.book-cover-grid td.name-cell a:hover {
  text-decoration: underline;
}
.book-cover-grid td.price-cell {
  padding: 0 0 10px 0;
  font-size: 12px;
  vertical-align: top;
}
.book-cover-grid a,
.book-cover-grid img {
  display: inline-block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.book-cover-grid .product-trial {
  background: #fcfae0;
  margin: 2px;
  padding: 2px 0;
  border-radius: 2px;
}
.book-cover-grid .product-cart {
  /*background: @ebook-color;*/
  font-size: 12px;
  background: #fdfafd;
  color: #664952;
  margin: 2px;
  padding: 1px 2px;
  border-radius: 2px;
  border: 1px solid #664952;
}
.book-cover-grid .product-cart.book {
  background: #fbfbfd;
  color: #554e66;
  border-color: #554e66;
}
.book-cover-grid .product-cart:hover {
  /*color: white !important;*/
  text-decoration: underline;
  border-color: blue;
}
.book-cover-grid .trialread {
  font-size: 12px;
  color: #8a6100;
  background: #fdfdfa;
  margin: 2px;
  padding: 1px 0;
  border-radius: 2px;
  border: 1px solid #8a6100;
}
.book-cover-grid .trialread:hover {
  text-decoration: underline;
  border-color: blue;
}
.book-cover-grid .sold-out {
  display: inline-block;
  margin: 2px;
  padding: 1px 0;
  border-radius: 2px;
  border: 1px solid #ccc;
  color: #ccc;
  min-width: 120px;
}
.book-cover-grid .discount {
  font-weight: bold;
  color: #c00;
}
.book-cover-grid .cover-image-link {
  display: inline-block;
}
.book-cover-grid .cover-image-link img {
  width: auto;
  height: auto;
}
.book-cover-grid.w730c6 .cover-image-link {
  display: inline-block;
  min-height: 140px;
}
.book-cover-grid.w730c6 .cover-image-link img {
  max-height: 140px;
  max-width: 120px;
}
.book-cover-grid.w730c5 .cover-image-link {
  min-height: 190px;
}
.book-cover-grid.w730c5 .cover-image-link img {
  max-height: 180px;
  max-width: 140px;
}
.book-cover-grid .trialread {
  min-width: 120px;
}
.book-cover-grid .product-cart {
  min-width: 120px;
}
.book-cover-grid.w730c6 .trialread {
  min-width: 110px;
}
.book-cover-grid.w730c6 .product-cart {
  min-width: 110px;
}
.book-cover-grid.w730c5 .sold-out {
  min-width: 120px;
}
.book-cover-grid.w730c6 .sold-out {
  min-width: 110px;
}
.book-cover-grid.w960c6 .cover-image-link img {
  max-height: 200px;
  max-width: 150px;
}
.book-cover-grid.w960c5 .cover-image-link {
  min-height: 230px;
}
.book-cover-grid.w960c5 .cover-image-link img {
  max-height: 230px;
  max-width: 180px;
}
.page-title {
  font-size: 30px;
  border: none;
  font-weight: normal;
  padding: 0;
  margin: 20px 0 30px 0;
  color: #555;
}
h2.medium {
  padding: 5px 10px;
  font-size: 20px;
  line-height: 27px;
}
h2.medium.book {
  color: #003893;
}
h2.medium.book.underline {
  border-bottom-color: #003893;
}
h2.medium.ebook {
  color: #E71F19;
}
h2.medium.ebook.underline {
  border-bottom-color: #E71F19;
}
h2.medium.bordered {
  border: 1px solid #777;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px 10px;
}
h2.medium.book.bordered {
  border-color: #003893;
}
h2.medium.ebook.bordered {
  border-color: #E71F19;
}
p.note,
div.note {
  background-color: #f7f7f7;
  padding: 1em;
  margin: 1em;
}
p.attention-box {
  font-size: 16px;
  margin: 20px;
  padding: 20px;
  border-radius: 10px;
  background: #eee;
  border: 1px solid #9f4a58;
}
p.attention-box * {
  font-size: 16px;
}
#scroll-to-top-button {
  position: fixed;
  bottom: 5px;
  right: 5px;
  background: gray;
  background: rgba(0, 0, 0, 0.3);
  width: 40px;
  height: 40px;
  z-index: 8;
}
#scroll-to-top-button img {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 20px;
  height: 20px;
}
.inline-block {
  display: inline-block;
  /* for div, for translate */
}
ul.inline-list {
  display: block;
  list-style: none;
}
ul.inline-list li {
  display: inline-block;
}
.inverted-gray {
  display: inline-block;
  color: white;
  padding: 2px 3px;
  border-radius: 3px;
  background-color: gray;
}
.inverted-gray.small {
  line-height: 10px;
  padding: 3px;
  font-size: 10px;
  text-align: center;
  width: 10px;
  vertical-align: 1px;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}
.require-label {
  background: #fe5600;
  color: white;
  font-weight: bold;
  font-size: 11px;
  padding: 1px;
  line-height: 11px;
  margin-bottom: 5px;
  display: inline-block;
}
.form-group {
  margin: 20px auto;
}
.form-group.has-error {
  border-color: #ff0000;
  color: #ff0000;
}
.form-group.has-error .help-block {
  color: #ff0000;
}
.form-group label {
  display: block;
  font-weight: bold;
  color: #777;
}
.form-group .form-control {
  width: 100%;
  display: block;
  border: 1px solid #ccc;
  border-bottom-color: #999;
  border-bottom-width: 2px;
  padding: 10px;
  border-radius: 2px;
  font-size: 20px;
}
.form-group .form-control.has-error {
  border-color: #ff0000;
  background-color: #ffe5e5;
}
.form-group textarea.form-control {
  height: 150px;
}
.form-group .form-inline .form-control {
  display: inline-block;
  width: 100px;
}
.form-group .help-block {
  font-size: 13px;
  color: #777;
}
.form-group .help-block.has-error {
  color: #ff0000;
}
.form-group .help-block.warning {
  color: darkred;
}
.form-group span.input-confirm {
  font-size: 20px;
  padding: 10px;
  display: inline-block;
  border-bottom: 2px solid #999;
}
.form-group div.input-confirm {
  font-size: 20px;
  padding: 10px;
  border-bottom: 2px solid #999;
}
.rect-button {
  display: inline-block;
  min-width: 150px;
  box-sizing: border-box;
  font-size: 15px;
  font-weight: bold;
  color: #ffffff;
  line-height: 20px;
  text-decoration: none;
  text-align: center;
  background-color: #444;
  white-space: nowrap;
  padding: 10px 30px;
  border: 1px solid #444;
  font-family: inherit;
}
.rect-button:visited {
  color: #ffffff;
}
.rect-button:hover {
  color: #ffffff !important;
  opacity: 0.7;
  box-shadow: 0 3px 2px 0 rgba(0, 0, 0, 0.3);
}
.rect-button.no-hover:hover {
  opacity: 1;
}
.rect-button.book {
  background-color: #003893;
  border-color: #003893;
  color: white;
}
.rect-button.ebook {
  background-color: #E71F19;
  border-color: #E71F19;
  color: white;
}
.rect-button.mp {
  background-color: #24ab4a;
  border-color: #24ab4a;
  color: white;
}
.rect-button.trialreading {
  background-color: #DD9600;
  border-color: #DD9600;
  color: white;
}
.rect-button.bonus {
  background-color: #c55fa9;
  border-color: #c55fa9;
  color: white;
}
.rect-button.round-rect {
  border-radius: 4px;
}
.rect-button.btn-primary {
  background-color: #E71F19;
  border-color: #E71F19;
  color: white;
}
.rect-button.btn-secondary {
  background-color: white;
  border-color: #ccc;
  color: #333;
}
.rect-button.btn-secondary:hover {
  color: #333 !important;
}
.rect-button.btn-ghost {
  background-color: transparent;
  border-color: transparent;
  color: #333;
  font-weight: normal;
}
.rect-button.btn-ghost:hover {
  color: black !important;
}
.rect-button.twitter {
  background-color: #1b95e0;
  border-color: #1b95e0;
  color: white;
}
.rect-button.facebook {
  background-color: #4267b2;
  border-color: #4267b2;
  color: white;
}
.rect-button.google {
  background-color: #d34836;
  border-color: #d34836;
  color: white;
}
.rect-button.small {
  padding: 5px 15px;
  font-size: 13px;
  min-width: 100px;
}
.rect-button.xsmall {
  padding: 2px 5px;
  font-size: 12px;
  min-width: 60px;
  margin: 4px;
}
.rect-button.xxsmall {
  padding: 0;
  font-size: 10px;
  min-width: 40px;
  font-weight: normal;
  margin: 2px;
}
.rect-button.btn-block {
  display: block;
}
.rect-button-row {
  margin: 20px auto;
  text-align: center;
  max-width: 320px;
  width: 100%;
}
.rect-button-row.no-padding {
  padding: 0;
}
.rect-button-row.pc-thin-margin {
  margin: 10px auto;
}
.rect-button-row.no-overlap-margin {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}
.rect-button-row .rect-button {
  width: 100%;
  margin: 0;
  display: block;
}
.rect-button-row.col2 {
  max-width: 600px;
}
.rect-button-row.col2 .rect-button {
  width: calc(50% - 10px);
}
.rect-button-row.col2 .rect-button:nth-child(1) {
  float: left;
}
.rect-button-row.col2 .rect-button:nth-child(2) {
  margin-left: calc(50% + 10px);
}
.rect-button-row.col2:after {
  content: " ";
  display: block;
  clear: left;
  height: 0;
}
.pagination.simple {
  text-align: center;
}
.pagination .page-number {
  display: inline-block;
  margin: 5px;
  padding: 5px;
  font-size: 15px;
}
.pagination .page-number.active {
  font-weight: bold;
}
.pagination.sc-page-navi {
  text-align: center;
  font-size: 16px;
  color: #ccc;
  letter-spacing: 1px;
}
.pagination.sc-page-navi strong {
  font-size: 16px;
  color: black;
}
.pagination.sc-page-navi a {
  font-size: 16px;
}
.debug-box {
  position: relative;
}
.debug-box > div {
  position: absolute;
  top: 0;
  left: 0;
  border: 3px solid #561d58;
  background-color: #c2c0db;
  max-width: 400px;
  padding: 20px;
  opacity: 0.9;
  box-shadow: 0 3px 10px;
}
.debug-box > div:hover {
  opacity: 0.2;
}
table.centered {
  margin-left: auto;
  margin-right: auto;
}
table.full-width {
  width: 100%;
}
table.min-width {
  width: 400px;
}
table.layout-fixed {
  table-layout: fixed;
}
table.padded th,
table.padded td {
  padding: 1em;
}
table.padded-thin th,
table.padded-thin td {
  padding: 4px;
}
table.header-colored th {
  background-color: #f0f0f0;
}
table.text-centered th,
table.text-centered td {
  text-align: center;
}
table.padded-wide th,
table.padded-wide td {
  padding: 1em 2em;
}
table.collapse {
  border-collapse: collapse;
}
table.horizontal-bordered {
  border-collapse: collapse;
  border: solid #999;
  border-width: 1px 0;
}
table.horizontal-bordered th,
table.horizontal-bordered td {
  border-bottom: 1px solid #999;
}
table.th-text-align-right th {
  text-align: right;
}
table.th-background-transparent th {
  background-color: transparent;
}
table.td-text-align-left td {
  text-align: left;
}
table.nowrap tr,
table.nowrap td {
  white-space: nowrap;
}
table.bottom-bordered {
  border-bottom: 1px solid #999;
}
table .hidden-row {
  display: none;
}
table .top-bordered {
  border-top: 1px solid #999;
}
table.input-padded input[type="text"],
table.input-padded input[type="password"],
table.input-padded select,
table.input-padded textarea {
  padding: 4px;
}
table.input-padded textarea {
  width: 100%;
  height: 50px;
}
table.input-padded input::-webkit-input-placeholder,
table.input-padded textarea::-webkit-input-placeholder {
  color: #bbbbbb;
}
table.input-padded input:-ms-input-placeholder,
table.input-padded textarea:-ms-input-placeholder {
  color: #bbbbbb;
}
table.input-padded input::-moz-placeholder,
table.input-padded textarea::-moz-placeholder {
  color: #bbbbbb;
}
table.nowrap tr,
table.nowrap td {
  white-space: nowrap;
}
table th.nowrap,
table td.nowrap {
  white-space: nowrap;
}
.card {
  border: 1px solid #ccc;
  margin-bottom: 20px;
}
.card .inner-cell {
  margin: 10px;
}
.card-row:before,
.card-row:after {
  content: " ";
  display: table;
}
.card-row:after {
  clear: both;
}
.card-row:before,
.card-row:after {
  content: " ";
  display: table;
}
.card-row:after {
  clear: both;
}
.card-row.col2 .card {
  width: calc(50% - 10px);
  float: left;
}
.card-row.col2 .card:nth-child(2) {
  margin-left: 20px;
}
.overhead-pr img {
  display: block;
  margin: 0 auto;
}
.trialread-popup {
  text-align: center;
}
.trialread-popup .popup-title {
  background-color: #DD9600;
  color: white;
}
.trialread-popup .popup-content {
  padding: 10px 10px 20px 10px;
}
.trialread-popup h2 {
  margin: 10px 0;
  font-size: 20px;
}
.trialread-popup .thumbnail {
  min-height: 230px;
  max-height: 300px;
  width: auto;
  display: block;
  margin: 10px auto;
}
.trialread-popup .sukima-icon {
  width: 24px;
  height: 24px;
  vertical-align: -6px;
  background-color: white;
  border-radius: 5px;
}
.trialread-popup .round-rect-button {
  box-sizing: border-box;
  width: calc(100% - 60px);
  height: auto;
  font-size: 20px;
  margin: 10px auto;
  padding: 10px;
  color: white;
  background: gray;
  display: block;
  border-radius: 3px;
  border: 1px solid gray;
}
.trialread-popup .round-rect-button.read {
  background-color: red;
  border-color: red;
}
.trialread-popup .round-rect-button.app {
  background-color: white;
  border: 1px solid red;
  color: red;
}
.trialread-popup .round-rect-button.app:hover {
  color: red !important;
}
.trialread-popup .round-rect-button.sukima {
  background-color: #FFC926;
  border-color: #FFC926;
  color: #444;
}
.trialread-popup .round-rect-button.sukima:hover {
  color: #444 !important;
}
.modal-coupon .coupon-image {
  display: block;
  width: 100%;
}
.modal-coupon .coupon-detail {
  background-color: #a19583;
  padding: 1px 10px;
}
.modal-coupon .coupon-detail .coupon-code-header {
  margin: 10px 0;
  padding: 0 10px;
  text-align: center;
  font-size: 16px;
  color: white;
  border: none;
  line-height: 40px;
  width: 50%;
  float: left;
}
.modal-coupon .coupon-detail .coupon-code {
  margin: 10px 0 10px 50%;
  width: calc(50% - 10px);
  background-color: white;
  padding: 0 10px 0 0;
  line-height: 40px;
  text-align: center;
  font-size: 24px;
  border-radius: 10px;
}
.modal-coupon .coupon-detail .description {
  margin: 10px auto;
  width: 60%;
  color: white;
}
.modal-coupon .products-list {
  background-color: #644900;
  text-align: center;
  color: white;
  padding: 1px 5px;
}
.modal-coupon .products-list h4 {
  font-size: 16px;
  margin: 10px 0;
}
.modal-coupon .products-list .image-holder {
  width: 12.5%;
  float: left;
  height: 75px;
  text-align: center;
  margin: 5px 0;
}
.modal-coupon .products-list img {
  height: 75px;
  width: auto;
}
.modal-coupon .description {
  margin: 10px 0;
}
.modal-coupon .help-text {
  padding: 10px;
}
.loading-shade {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 20;
}
.loading-shade img {
  width: 208px;
  height: 13px;
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin-top: -7px;
  margin-left: -104px;
}
.loading-shade .sk-folding-cube-label {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  font-size: 12px;
  color: #555;
  text-align: center;
  margin-top: 30px;
}
.loading-shade .sk-folding-cube {
  margin: 20px auto;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -20px;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}
.loading-shade .sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.loading-shade .sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #555;
  -webkit-animation: sk-foldCubeAngle 4s infinite linear both;
  animation: sk-foldCubeAngle 4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
.loading-shade .sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
  transform: scale(1.1) rotateZ(90deg);
}
.loading-shade .sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
  transform: scale(1.1) rotateZ(180deg);
}
.loading-shade .sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
  transform: scale(1.1) rotateZ(270deg);
}
.loading-shade .sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
.loading-shade .sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}
.loading-shade .sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}
@-webkit-keyframes sk-foldCubeAngle {
  0%,
  10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%,
  65% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }
  80%,
  90% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
  90%,
  100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}
@keyframes sk-foldCubeAngle {
  0%,
  10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%,
  65% {
    -webkit-transform: perspective(140px) rotateX(0deg);
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
  }
  80%,
  90% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
  90%,
  100% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}
.small-loading {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
.small-loading img {
  display: inline-block;
  width: 16px;
  height: 16px;
}
#float-cart {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 300px;
  background: white;
  z-index: 10;
  padding: 0;
  border: 2px solid #777;
  border-radius: 5px;
  text-align: center;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#float-cart * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#float-cart .float-cart-part {
  padding: 5px;
  margin: 5px;
}
#float-cart .float-cart-part h3 {
  padding: 5px;
}
#float-cart .float-cart-part a.button {
  color: white;
  padding: 10px;
  text-align: center;
  display: inline-block;
  border-radius: 3px;
  margin-left: 10px;
}
#float-cart .float-cart-part a.button:hover {
  color: white !important;
  opacity: 0.7;
}
#float-cart .float-cart-part#book-part {
  background: #f0f0f0;
}
#float-cart .float-cart-part#book-part h3 {
  color: #003893;
}
#float-cart .float-cart-part#book-part a.button {
  background: #003893;
}
#float-cart .float-cart-part#ebook-part {
  background: #f0f0f0;
}
#float-cart .float-cart-part .large-font {
  font-size: 20px;
}
#float-cart .float-cart-part#ebook-part h3 {
  color: #E71F19;
}
#float-cart .float-cart-part#ebook-part a.button {
  background: #E71F19;
}
#float-cart #float-cart-close-button {
  display: block;
  position: absolute;
  top: -15px;
  right: -5px;
}
#float-cart #float-cart-close-button img {
  width: 30px;
  height: 30px;
}
.message {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #eee;
}
.message.success {
  background-color: #e8fff3;
  border-color: #79f3c3;
  color: #009e54;
}
.message.success a {
  color: #009e54;
}
.message.warning {
  background-color: #fff1d9;
  border-color: #e4c76e;
  color: #674b00;
}
.message.warning a {
  color: #674b00;
}
.message.error {
  background-color: #ffeded;
  border-color: #b97a7e;
  color: #670004;
}
.message.error a {
  color: #670004;
}
.attention {
  color: #ff0000;
}
.product-type-label {
  background-color: #777;
  color: white;
  padding: 0 2px;
  margin: 0 2px 0 0;
  border-radius: 1px;
  font-size: 10px;
  display: inline-block;
}
.product-type-label.product-type-book {
  background-color: #003893;
}
.product-type-label.product-type-mp {
  background-color: #24ab4a;
}
.product-type-label.product-type-ebook {
  background-color: #E71F19;
}
.popover {
  position: relative;
}
.popover .popover-content {
  visibility: hidden;
  position: absolute;
}
.popover .popover-content.box-md {
  text-align: left;
  width: 400px;
  min-height: 100px;
  background-color: white;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  border-radius: 3px;
  z-index: 8;
}
.popover .popover-content.box-east {
  top: 0;
  left: -410px;
}
.popover .popover-content.box-east:after {
  content: " ";
  width: 16px;
  height: 16px;
  background-color: white;
  position: absolute;
  top: 8px;
  right: -8px;
  transform: rotate(45deg);
  border: solid rgba(0, 0, 0, 0.2);
  border-width: 1px 1px 0 0;
}
.popover .popover-content.box-east.offset-top-100 {
  top: -100px;
}
.popover .popover-content.box-east.offset-top-100:after {
  top: 108px;
}
.popover .popover-content.box-east.offset-top-200 {
  top: -200px;
}
.popover .popover-content.box-east.offset-top-200:after {
  top: 208px;
}
.popover:hover .popover-content {
  visibility: visible;
}
