.single-product .woocommerce-product-gallery,
.single-product .thumbnails a,
.single-product .related li,
.single-product .upsells li,
.entry-summary {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-right: -.25em;
  min-height: 1px;
  display: inline-block;
  vertical-align: top
}

.single-product .product_title {
  margin: 0
}

@media screen and (max-width: 520px) {
  .single-product .product_title {
    font-size: 2.4rem
  }
}

.single-product .sub_title {
  font-size: 1.8rem
}

.single-product .product_head {
  margin-bottom: .75em
}

@media screen and (max-width: 520px) {
  .single-product .product_head {
    margin: 1.6em 0 1em
  }
}

.single-product .release {
  margin-bottom: .6em
}

.single-product .release::before {
  content: "\f073";
  display: inline-block;
  margin-right: .3em;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.single-product .price {
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 0
}

.single-product .product {
  margin-top: 32px;
  overflow: visible;
  display: block
}

@media screen and (max-width: 768px) {
  .single-product .product {
    margin: 0
  }
}

.single-product .woocommerce-product-gallery {
  width: 40%
}

@media screen and (max-width: 768px) {
  .single-product .woocommerce-product-gallery {
    width: auto;
    padding: 0
  }
}

.single-product .virtual .woocommerce-product-gallery {
  display: block;
  width: auto;
  padding-left: 0
}

.single-product .thumbnails {
  margin-left: -16px
}

.single-product .thumbnails a {
  width: 50%;
  margin-top: 16px;
  padding-left: 16px
}

.single-product .thumbnails img {
  border: 1px solid #ccc
}

.single-product .block-cart {
  margin: 1.7em 0;
  text-align: center
}

.single-product .virtual .block-cart {
  margin: 1em 0
}

.single-product .cart_btnbox {
  margin: 0 0 1em -4px;
  overflow: hidden
}

.single-product .cart_btnbox .btn {
  float: left;
  width: 49%;
  margin: 0 0 4px 4px;
  background: #fff;
  color: #222;
  height: auto;
  vertical-align: middle;
  padding: 5px 10px;
  text-align: center;
  border: none;
  border-radius: 3px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15)
}

@media screen and (max-width: 520px) {
  .single-product .cart_btnbox .btn {
    width: 48%
  }
}

.single-product .cart_btnbox .btn:hover {
  opacity: .8;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.2)
}

.single-product .cart_btnbox .btn_cart_ebook {
  background: #63a1c6;
  color: #fff
}

.single-product .cart_btnbox .btn_cart_ondemand {
  background: #968f80;
  color: #fff
}

.single-product .cart_btnbox img {
  display: inline-block;
  width: auto;
  height: 20px;
  vertical-align: middle
}

.single-product .cart_btnbox .no_stock {
  opacity: .5
}

.single-product .cart_btnbox_long {
  text-align: center
}

.single-product .cart_btnbox_long .btn {
  width: 80%;
  float: left
}

.single-product .virtual .cart_btnbox {
  margin: 0
}

.single-product .cart_btnbox_net .btn {
  float: left;
  width: 31%
}

.single-product .btn_rakuten img {
  height: 18px
}

.single-product .related ul,
.single-product .upsells ul {
  margin-left: -16px;
  height: auto
}

.single-product .related li,
.single-product .upsells li {
  width: 33.33333%;
  padding-left: 16px;
  margin-left: 0;
  margin-top: 0;
  height: auto
}

.single-product .related li .product_img,
.single-product .upsells li .product_img {
  height: 210px
}

.single-product .related img,
.single-product .upsells img {
  margin: 0 auto
}

.single-product .related h3,
.single-product .upsells h3 {
  margin-top: 24px
}

.single-product .related h3::before,
.single-product .upsells h3::before {
  content: none
}

@media screen and (max-width: 768px) {
  .single-product .wp-post-image {
    margin: 16px auto;
    max-width: 400px
  }
}

@media screen and (max-width: 520px) {
  .single-product .wp-post-image {
    max-width: 100%
  }
}

.cart_btnbox_dl {
  background: rgba(0, 0, 0, 0.18);
  padding: 8px 0
}

.cart_btnbox_dl::after {
  content: '';
  display: table;
  clear: both
}

.cart_btnbox_dl>.note {
  font-size: 1.4rem;
  font-weight: bold;
  width: auto;
  float: none;
  margin: .5em 0 0
}

.cart_btnbox_dl>.note::before {
  content: "\f06a";
  font-family: "FontAwesome";
  display: inline-block;
  padding-right: 8px;
  vertical-align: middle;
  font-weight: normal;
  font-size: 1.6rem
}

.entry-summary {
  width: 60%;
  padding-left: 32px
}

@media screen and (max-width: 768px) {
  .entry-summary {
    width: auto;
    padding: 0
  }
}

.virtual .entry-summary {
  display: block;
  width: auto;
  padding-left: 0
}

.entry-summary th {
  padding-left: 0;
  min-width: 9em
}

@media screen and (max-width: 520px) {

  .entry-summary th,
  .entry-summary td {
    display: block;
    padding: 4px
  }
}

span.label-soldout {
  position: absolute;
  z-index: 3;
  display: block;
  font-size: 14px;
  top: 110px;
  left: 90px;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
  padding: 2px 8px;
  border: 3px solid #b33e42;
  font-weight: bold;
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg)
}

ul.products .author,
ul.products .price {
  font-size: 14px;
  line-height: 1.3
}

.pp_gallery {
  margin-top: 70px
}

.table_link {
  border-collapse: separate;
  border-spacing: 8px;
  table-layout: fixed;
  width: 100%
}

.table_link td {
  background: #fff;
  text-align: center;
  vertical-align: middle
}

.table_link tr:nth-child(2n) td {
  background: #fff
}

.table_link img {
  display: inline;
  max-height: 48px
}

.embed-container {
  margin: 16px 0
}

.embed-container iframe {
  width: 100%;
  height: auto
}

.note-container {
  margin: 16px 0;
  padding: 1em;
  font-size: 1.4rem;
  background: #fffacf;
  clear: both
}

.post-82 {
  padding-bottom: 0;
  margin-bottom: 0
}

.catalog_wrap {
  padding: 24px 12px;
  background-color: rgba(0, 0, 0, 0.1);
  position: relative
}

.previous-button,
.next-button {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 80px 4px;
  border-radius: 0;
  opacity: .3;
  background-color: #8B8174;
  color: #fff;
  cursor: pointer
}

.previous-button {
  left: -1em
}

.previous-button::after {
  content: "\f104";
  font-family: "FontAwesome";
  display: inline-block;
  width: 1em
}

.previous-button:hover {
  opacity: .9
}

.next-button {
  right: -1em
}

.next-button::after {
  content: "\f105";
  font-family: "FontAwesome";
  display: inline-block;
  width: 1em
}

.next-button:hover {
  opacity: .9
}

#flipbook {
  width: 340px;
  height: 680px
}

#flipbook .page {
  width: 340px;
  height: 680px;
  background-color: white;
  line-height: 680px;
  font-size: 20px;
  text-align: center
}

#flipbook .hard {
  background: #ccc !important;
  color: #333;
  -webkit-box-shadow: inset 0 0 5px #666;
  box-shadow: inset 0 0 5px #666;
  font-weight: bold
}

#flipbook .odd {
  background: -webkit-gradient(linear, right top, left top, color-stop(0.95, #FFF), color-stop(1, #DADADA));
  background-image: -webkit-linear-gradient(right, #FFF 95%, #C4C4C4 100%);
  background-image: -webkit-gradient(linear, right top, left top, color-stop(95%, #FFF), to(#C4C4C4));
  background-image: -o-linear-gradient(right, #FFF 95%, #C4C4C4 100%);
  background-image: linear-gradient(right, #FFF 95%, #C4C4C4 100%);
  -webkit-box-shadow: 0 0 5px #666;
  box-shadow: 0 0 5px #666
}

#flipbook .even {
  background: -webkit-gradient(linear, left top, right top, color-stop(0.95, #fff), color-stop(1, #dadada));
  background-image: -webkit-linear-gradient(left, #fff 95%, #dadada 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, from(left), color-stop(95%, #fff), to(#dadada));
  background-image: -o-linear-gradient(left, #fff 95%, #dadada 100%);
  background-image: -webkit-gradient(linear, left top, right top, color-stop(95%, #fff), to(#dadada));
  background-image: linear-gradient(left, #fff 95%, #dadada 100%);
  -webkit-box-shadow: 0 0 5px #666;
  box-shadow: 0 0 5px #666
}

.catalog_pdf {
  margin-top: 2em
}

div.ppt {
  visibility: hidden
}

.purpose_tab {
  overflow: hidden;
  margin-left: 0;
  background: rgba(255, 255, 255, 0.6)
}

.purpose_tab_index {
  float: left;
  margin-left: 0;
  width: 16em
}

@media screen and (max-width: 520px) {
  .purpose_tab_index {
    width: 11em
  }
}

.purpose_tab_index li {
  cursor: pointer;
  padding: 8px 0 8px 16px
}

.purpose_tab_index li:hover {
  background: #FFF8D2
}

.purpose_tab_index .current {
  background: #fff;
  border-left: 3px solid;
  color: #ab3337;
  font-weight: bold
}

.purpose_tab_index .current:hover {
  background: #FFF
}

.purpose_tab_page {
  float: left;
  margin-left: 0;
  margin-bottom: 0;
  width: calc(100% - 16em);
  background: #fff;
  padding: 8px
}

@media screen and (max-width: 520px) {
  .purpose_tab_page {
    width: calc(100% - 11em)
  }
}

.purpose_tab_page>li {
  display: none
}

.purpose_tab_page .current {
  display: block
}

.purpose_list {
  margin-bottom: 24px
}

.pp_description {
  text-align: right;
  color: #666
}

.woocommerce-billing-fields__field-wrapper {
  padding: 16px;
  background: #faf9f8;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  margin-bottom: 32px;
  overflow: hidden
}

.wc_payment_methods li {
  list-style-type: none;
  background: rgba(0, 0, 0, 0.025);
  padding: 16px 16px 0;
  text-indent: 0;
  display: inline-block
}

.wc_payment_methods li::before {
  content: none
}

.place-order {
  text-align: center
}

.post-navigation {
  zoom: 1;
  margin-top: 36px
}

.post-navigation::after,
.post-navigation::before {
  content: '';
  display: table
}

.post-navigation::after {
  clear: both
}

@media screen and (min-width: 769px) {

  .form-row-first,
  .form-row-last {
    width: 50%;
    float: left;
    padding-left: 16px
  }
}

@media screen and (min-width: 769px) {

  .form-row-first,
  .validate-state {
    margin-left: -16px
  }
}

@media screen and (min-width: 769px) {
  .purpose_tab_index {
    width: 30%
  }
}

@media screen and (min-width: 769px) {
  .purpose_tab_page {
    width: 70%
  }
}

.virtual .sku_wrapper,
.virtual .posted_in {
  display: none
}

.is_virtual .dl_layout {
  overflow: hidden
}

.is_virtual .dl_layout_left {
  width: 40%;
  padding-right: 20px;
  float: left
}

@media screen and (max-width: 768px) {
  .is_virtual .dl_layout_left {
    width: 100%;
    float: none;
    padding-right: 0px
  }
}

.is_virtual .dl_layout_right {
  width: 60%;
  float: left
}

@media screen and (max-width: 768px) {
  .is_virtual .dl_layout_right {
    width: 100%;
    float: none
  }
}

.is_virtual .product_table th {
  width: 25%
}

.is_virtual .cart_btnbox_dl>.note {
  font-size: 1.4rem;
  font-weight: bold;
  width: auto;
  float: none;
  margin: .5em 0 0
}

.is_virtual .block-demo {
  padding: 10px
}

.is_virtual .block-demo .btn {
  text-align: center
}

.is_virtual .block-demo a.btn:hover {
  color: #FFF
}

@media screen and (max-width: 520px) {
  .is_virtual .cart_btnbox .btn {
    width: 70%
  }
}

.is_virtual div.summary.entry-summary {
  overflow: hidden
}

.is_virtual img.attachment-shop_single.size-shop_single {
  max-height: 100%;
  width: auto;
  max-width: 100%;
  height: auto
}

.is_virtual div.woocommerce-product-gallery__image {
  float: left;
  height: 150px;
  text-align: center
}

@media screen and (max-width: 768px) {
  .is_virtual div.woocommerce-product-gallery__image {
    width: 25%
  }
}

@media screen and (max-width: 520px) {
  .is_virtual div.woocommerce-product-gallery__image {
    width: 50%
  }
}

@media screen and (max-width: 768px) {
  .is_virtual div.woocommerce-product-gallery__image img {
    height: auto !important
  }
}

.is_virtual .float_wrap {
  overflow: hidden
}

.is_virtual .up-sells {
  margin-top: 30px
}

.is_virtual.single-product .cart_btnbox .btn {
  float: none;
  width: 20em
}

.is_virtual.single-product .price {
  font-size: 1.8rem
}

.is_virtual.single-product .product_head+.price {
  display: none
}

.faq dt {
  font-size: 2.0rem;
  color: #B33E42;
  margin-bottom: .7em
}

.faq dd+dt {
  margin-top: 20px
}

.woocommerce-shipping-totals .woocommerce-shipping-destination {
  display: none
}

.btn_net_shop {
  background: rgba(0, 0, 0, 0.3) !important;
  color: #FFF !important;
  cursor: pointer
}

.box_net_shop {
  position: relative;
  background: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px;
  border-radius: 3px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 10px;
  margin-top: -10px
}

.box_net_shop:after {
  content: '';
  position: absolute;
  top: -10px;
  left: 75%;
  margin: 0 0 0 -5px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid rgba(0, 0, 0, 0.3);
  border-left: 10px solid transparent
}

.box_net_shop .btn {
  width: 49%;
  margin: 1% 0px;
  background: #fff;
  color: #222;
  height: auto;
  vertical-align: middle;
  padding: 5px 10px;
  text-align: center;
  border: none;
  border-radius: 3px
}

.box_net_shop .btn img {
  height: 20px;
  vertical-align: middle;
  margin: 3px 0px
}

.box_net_shop .btn.btn_honto {
  display: none;
}

#btn_ebook_shop {
  cursor: pointer
}

.box_ebook_shop {
  clear: both;
  position: relative;
  background: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 10px;
  border-radius: 3px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 10px;
  margin-top: -10px
}

.box_ebook_shop:after {
  content: '';
  position: absolute;
  top: -10px;
  left: 75%;
  margin: 0 0 0 -5px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid rgba(0, 0, 0, 0.3);
  border-left: 10px solid transparent
}

.box_ebook_shop .btn {
  width: 49%;
  margin: 1% 0px;
  background: #fff;
  color: #222;
  height: auto;
  vertical-align: middle;
  padding: 5px 10px;
  text-align: center;
  border: none;
  border-radius: 3px
}

.box_ebook_shop .btn img {
  height: 20px;
  vertical-align: middle;
  margin: 3px 0px
}

.digital_only {
  text-align: left;
  font-size: 12px
}

label[for="billing_yomigana_last_name"] {	
  font-size: 0	
  }	
  label[for="billing_yomigana_last_name"]:before {	
  font-size: 1.6rem;	
  content: "姓(ヨミガナ)"	
  }	
  label[for="billing_yomigana_last_name"]>abbr:before {	
  font-size: 1.6rem;	
  content: "*"	
  }	
  label[for="billing_yomigana_first_name"] {	
  font-size: 0	
  }	
  label[for="billing_yomigana_first_name"]:before {	
  font-size: 1.6rem;	
  content: "名(ヨミガナ)"	
  }	
  label[for="billing_yomigana_first_name"]>abbr:before {	
  font-size: 1.6rem;	
  content: "*"	
  }	
  label[for="shipping_yomigana_last_name"] {	
  font-size: 0	
  }	
  label[for="shipping_yomigana_last_name"]:before {	
  font-size: 1.6rem;	
  content: "姓(ヨミガナ)"	
  }	
  label[for="shipping_yomigana_last_name"]>abbr:before {	
  font-size: 1.6rem;	
  content: "*"	
  }	
  label[for="shipping_yomigana_first_name"] {	
  font-size: 0	
  }	
  label[for="shipping_yomigana_first_name"]:before {	
  font-size: 1.6rem;	
  content: "名(ヨミガナ)"	
  }	
  label[for="shipping_yomigana_first_name"]>abbr:before {	
  font-size: 1.6rem;	
  content: "*"	
  }	
  /*# sourceMappingURL=single.css.map */