@charset "euc-jp";

/*===============================
  toppage //books.rakuten.co.jp
================================*/
/*===============================
  mixin fot pc top
================================*/
/*===============================
  variables fot pc top
================================*/
/* utility & setting
====================================*/
.contentsWrap {
    padding: 8px 0;
    background: linear-gradient(#f0f0f0 0%, #f9f9f9 90%);
}

div#contents {
    background: none;
}

.main {
    margin: 0 0 0 220px;
}

.section +.section {
    margin-top: 16px;
}
.section:not(:has(li)):not(:has(.slider)):not(:has(.flexContents)):not(:has(.errorText)):not(.react-search-api-sliders) {
    display: none;
}

.is-hidden-md {
    display: none;
}

/* genre-top */

.itemTitle a {
    color: #333333;
}

.itemAuthor {
    color: #9c9c9c;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.itemPrice {
    color: #bf0000;
}

.itemPrice__num {
    font-size: 19px;
}

.imageBox {
    font-size: 0;
}

.txtEclipse {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.loadingImg {
    margin: 0 0 0 16px;
}

#leftNav ul:after {
    content:".";
    display:block;
    clear:both;
    visibility:hidden;
    height:1px;
}

/* Main frame
====================================*/
#contentsWrap {
    background: linear-gradient(#f0f0f0 90%, #f9f9f9);
    min-width: 1024px;
}

#contents {
    margin: 0 auto;
    max-width: 1490px;
    min-width: 1024px;
    width: auto;
    font-size: 14px;
    background: transparent;
}

/* Common parts
====================================*/
.sectionTop+.sectionTop {
    margin-top: 16px;
}

/* .bookstop--new .firstLine .flexContents__box {
    height: 348px;
} */

.bookstop--new .campaignSlider {
    height: 200px;
}

@media screen and (max-width: 1190px) {
    .bookstop--new .campaignSlider {
        height: 165px;
    }
}

.section .readMore {
    font-size: 14px;
    border: 1px solid #d1d1d1;
    padding: 5px 26px 5px 20px;
    border-radius: 15px;
    position: relative;
    display: block;
}

.section .readMore:after {
    content: "";
    position: absolute;
    top: 10px;
    right: 18px;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #a1a1a1;
    border-right: 1px solid #a1a1a1;
    transform: rotate(45deg);
}

.section .readMore:hover {
    text-decoration: none;
    background: #f7f7f7;
}

.topPanel {
    position: relative;
    padding: 24px;
    height: calc(100% - 48px);
}

#pc-top-pitari-info {
    margin: 16px 0;
}

.topPanel--pickUp,
.topPanel--pitari {
    background: #fff;
    margin: 0 16px;
}

.topPanel__head {
    margin-bottom: 24px;
    font-weight: bold;
    font-size: 20px;
}

.topPanel__body {
    padding-bottom: 48px;
}

.topPanel__btn {
    position: absolute;
    bottom: 24px;
    left: 0;
    width: 100%;
    text-align: center;
}

.topPanel__btn .btnDetail,
.topPanel__btn .logoutBtn {
    display: inline-block;
    border-radius: 4px;
    border: 1px solid #d1d1d1;
    width: 168px;
    line-height: 35px;
    color: #333333;
}

.topPanel__btn .btnDetail:hover,
.topPanel__btn .logoutBtn:hover {
    text-decoration: none;
    background-color: #f7f7f7;
}

.topPanel__link {
    position: absolute;
    right: 24px;
    bottom: 24px;
}

.topPanel__link-top {
    position: absolute;
    right: 24px;
    top: 24px;
}

.topPanel__link-top .readMore {
    color: #333333;
}

.topPanel--pitari .topPanel__head {
    margin-bottom: -24px;
}

@media screen and (max-width: 1320px) {
    .topPanel--pitari .topPanel__head {    
        margin-bottom: 12px;
    }
}

.topPanel--pitari .topPanel__body {
    padding-bottom: 0px;
    text-align: center;
}

.topPanel--pitari .topPanel__body img {
    max-width: 820px;
}

.topPanel--pickUp .topPanel__head {
    display: inline-block;
}

.topPanel--pickUp .topPanel__date {
    display: inline-block;
    color: #696969;
}

.topPanel.topPanel--noBtn .topPanel__body {
    padding-bottom: 0;
}

#react-notification .topPanel.topPanel--noBtn .topPanel__body {
    max-height: 248px;
    position: relative;
}

#react-notification .topPanel.topPanel--noBtn .topPanel__releaseDate {
    position: absolute;
    background: #bf0000;
    opacity: 0.8;
    width: 90px;
    height: 22px;
    padding: 3px 0 0 0;
    z-index: 999;
    top: 10px;
    left: 10px;
    color: #fff;
    text-align: center;
}

#react-notification .topPanel.topPanel--noBtn .topPanel__releaseDate:after {
    content: '';
    position: absolute;
    top: 0;
    left: 90px;
    border-top: 12px solid #bf0000;
    border-left: 6px solid #bf0000;
    border-right: 6px solid transparent;
    border-bottom: 12px solid transparent;
}

.topPanel.topPanel--static {
    padding: 24px 0;
}

.topPanel.topPanel--static .topPanel__head {
    padding: 0 24px;
}

.topPanel.topPanel--static .topPanel__body {
    text-align: center;
    padding: 0;
}

.topPanel.topPanel--static .topPanel__body img:hover {
    opacity: 0.8;
}

.topPanel.topPanel--textLink .linkDetail {
    display: inline-block;
    padding-left: 18px;
    font-size: 12px;
    color: #333333;
    line-height: 16px;
    background: url(//image.books.rakuten.co.jp/books/img/top/icn-question.png) no-repeat left center;
    background-size: 16px 16px;
}

.topPanel__body .itemLink {
    color: #333333;
}

.topPanel__body .itemLink:hover {
    text-decoration: none;
}

.topPanel__body .itemLink:hover .itemInfo__head {
    text-decoration: underline;
}

.topPanel__body .itemLink:hover img {
    opacity: 0.8;
}

.flexContents {
    -js-display: flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /* margin-right: 16px; */
}

.flexContents img {
    max-width: 100%;
    max-height: 100%;
}

.flexContents__box {
    -ms-flex: 1;
    flex: 1;
    background: #ffffff;
    margin-left: 16px;
    overflow: hidden;
}

.topPanel--pickUp .flexContents__box {
    margin: 0;
}

.topPanel--pickUp .flexContents__box:first-child {
    margin: 0 24px 0 0;
}

.topPanel--pickUp .flexContents {
    margin: 0;
}

.flexContents__box--col3 {
    width: calc(75% - 16px);
}

.firstLine .flexContents__box.flexContents__box {
    flex-basis: 56%;
}

.firstLine .flexContents__box.flexContents__box--adBox1 {
    -ms-flex: 0 0 330px;
    flex: 0 0 330px;
    flex-basis: 28%;
    text-align: center;
}

.flexContents__box.flexContents__box--adBox1 {
    -ms-flex: 0 0 330px;
    flex: 0 0 330px;
    text-align: center;
}

@media screen and (max-width: 1250px) {
    .firstLine .flexContents__box.flexContents__box {
        flex-basis: 47%;
    }
    .firstLine .flexContents__box.flexContents__box--adBox1 {
        flex-basis: 23.5%;
        /* flex: 0 0 0 240px; */
    }
}

.flexContents__box.flexContents__box--sns {
    -ms-flex: 0 0 330px;
    flex: 0 0 330px;
    text-align: left;
}

.flexContents__box.flexContents__box--sns .listSns__item {
    margin: 0 0 8px;
}

.flexContents__box.flexContents__box--sns .listSns__item a {
    color: #333;
}

.flexContents__box.flexContents__box--sns .listSns__item a:hover,
.flexContents__box.flexContents__box--sns .listSns__item a:visited {
    color: #333;
}

.flexContents__box .partsBnr {
    margin-bottom: 0;
}

.flexContents__box #rectangleSmallBnr {
    display: none;
}

.flexContents__box img:hover {
    opacity: 0.8;
}

.newGenreTop .featureContents {
    margin: 0 auto;
    font-size:0;
}

.newGenreTop .featureContents .featureContents__item {
    display: inline-block;
    width:16%;
}

.newGenreTop .featureContents .featureContents__item:first-child {
    margin: 0 0 0 3%;
}

.newGenreTop .featureContents .featureContents__item img {
    max-width: 160px;
    max-height: 160px;
}

@media screen and (max-width: 1360px){
    .newGenreTop .featureContents .featureContents__item img {
        max-width: 135px;
        max-height: 135px;
    }
}


@media screen and (max-width: 1248px){
    .newGenreTop .featureContents .featureContents__item img {
        max-width: 120px;
        max-height: 120px;
    }
}

@media screen and (max-width: 1100px){
    .newGenreTop .featureContents .featureContents__item img {
        max-width: 110px;
        max-height: 110px;
    }
}

.newGenreTop .featureContents .featureContents__item a:hover {
    opacity: 0.8;
}

/* Parts
====================================*/
.specialContents {
    overflow: hidden;
    width: 100%;
    min-width: 1024px;
    max-width: 1920px;
    height: auto;
    margin: 0 auto;
}

.specialContents .specialContents__inner {
    position: relative;
    width: 1920px;
    font-size: 0;
    background: #ffffff;
    left: 50%;
    transform: translate(-50%, 0);
    overflow: hidden;
}

.specialContents .specialContents__inner .mainImage {
    text-align: center;
    height: auto;
    width: 1920px;
}

.specialContents .specialContents__inner .mainImage a img {
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    width: 1920px;
}

.specialContents .specialContents__inner .mainImage a img:hover {
    opacity: 0.8;
}

.specialContents--type02 .specialContents__inner .mainImage a img {
    height: 70px;
    margin: 0 auto;
    width: auto;
}

/* show first banner only */
.specialContents + .specialContents {
    display: none;
}

.myCoupon__ticket {
    margin: 0 auto 16px;
    width: 93px;
    height: 86px;
    background: url(//image.books.rakuten.co.jp/books/img/top/bg-coupon.png);
    background-size: 235px 104px;
    padding: 18px 0 0 142px;
    color: #ffffff;
    line-height: 1;
}

.myCoupon__ticket .discountNum {
    font-size: 35px;
}

.myCoupon__ticket .discountUnit {
    font-size: 25px;
}

.myCoupon__detail .limit {
    color: #999999;
}

.myCoupon__detail .limit .limitDate {
    display: inline;
}

.myCoupon__detail .limit .limitDate__head,
.myCoupon__detail .limit .limitDate__body {
    display: inline;
}

.pickup {
    position: relative;
    display: table;
    table-layout: fixed;
    height: 100%;
    overflow: hidden;
}

.pickup .link {
    color: #333;
}

.pickup .link:hover {
    text-decoration: none;
}

.pickup__head {
    display: table-cell;
    position: relative;
    height: 100%;
    padding: 0 24px 0 0;
    vertical-align: top;
}

.pickup__head::after {
    display: block;
    content: "";
    clear: both;
}

.pickup__head .title {
    display: table;
    margin-bottom: 16px;
    font-weight: bold;
}

.pickup__head .title__label,
.pickup__head .title__content {
    display: table-cell;
}

.pickup .link:hover .title__content {
    text-decoration: underline;
}

.pickup__head .title__label span {
    margin-right: 5px;
    border-radius: 4px;
    padding: 5px 15px;
    font-size: 14px;
    font-weight: bold;
    color: #333333;
    background-color: #f7f7f7;
}

.pickup__head .title__content {
    font-size: 16px;
    color: #f59600;
}

.pickup__head .lead {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 8px;
}

.pickup__head .detail {
    font-size: 12px;
}

.pickup__head .link {
    text-align: right;
}

.pickup__head .link__btn {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: block;
    margin-left: -152px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    width: 150px;
    color: #333333;
    line-height: 35px;
    text-align: center;
}

.pickup__head .link__btn:hover {
    text-decoration: none;
    background-color: #f7f7f7;
}

.pickup__body {
    display: table-cell;
    vertical-align: top;
    width: 34%;
    max-width: 220px;
    max-height: 220px;
    font-size: 0;
    text-align: center;
}

.flexContents .pickup__body img {
    width: auto;
    max-height: 220px;
}

.pickup .link:hover img {
    opacity: 0.8;
}

.adTop {
    position: relative;
    padding: 24px 80px;
    height: calc(100% - 48px);
}

.adTop:before,
.adTop:after {
    position: absolute;
    width: 0;
    height: 0;
    border-right: 80px solid transparent;
    content: '';
}

.adTop:before {
    bottom: 16px;
    left: 16px;
    border-bottom: 80px solid #f59600;
}

.adTop:after {
    bottom: 18px;
    left: 18px;
    border-bottom: 80px solid #ffffff;
}

.adTop__inner {
    height: 220px;
}

.adTop__inner:before,
.adTop__inner:after {
    position: absolute;
    width: 0;
    height: 0;
    border-left: 80px solid transparent;
    content: '';
}

.adTop__inner:before {
    top: 16px;
    right: 16px;
    border-top: 80px solid #f59600;
}

.adTop__inner:after {
    top: 18px;
    right: 18px;
    border-top: 80px solid #ffffff;
}

.adTop__inner .adContent {
    display: table;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    table-layout: fixed;
    vertical-align: middle;
    position: relative;
    z-index: 1;
}

.adTop__inner .adContent__head,
.adTop__inner .adContent__body {
    display: table-cell;
    vertical-align: middle;
}

.adTop__inner .adContent__head .title,
.adTop__inner .adContent__body .title {
    margin: 0 0 15px;
}

.adTop__inner .adContent__head .content,
.adTop__inner .adContent__body .content {
    font-size: 14px;
    color: #4d4d4d;
    font-weight: normal;
}

.adTop__inner .adContent__head {
    padding-right: 24px;
    font-size: 0;
    text-align: right;
}

.adTop__inner .adContent__head img {
    width: auto;
    max-height: 220px;
}

.adTop__inner .adContent__body {
    color: #333333;
    font-size: 22px;
    font-weight: bold;
}

.adTop__inner .adContent:hover {
    text-decoration: none;
}

.adTop__inner .adContent:hover img {
    opacity: 0.8;
}

.hotInfo {
    display: table;
    width: 100%;
    table-layout: fixed;
    min-height: 164px;
}

.hotInfo__head,
.hotInfo__body {
    display: table-cell;
    vertical-align: top;
}

.hotInfo__head {
    width: 50%;
    max-width: 160px;
    max-height: 160px;
    text-align: center;
    font-size: 0;
}

.hotInfo__head img {
    width: auto;
    max-height: 160px;
}

.hotInfo__head .link:hover {
    opacity: 0.8;
}

.hotInfo__head .pointDetail {
    display: table;
    margin-top: 8px;
    text-align: left;
}

.hotInfo__head .pointDetail__head,
.hotInfo__head .pointDetail__body {
    display: table-cell;
    vertical-align: top;
}

.hotInfo__head .pointDetail__head {
    width: 24px;
}

.hotInfo__head .pointDetail__body {
    padding-left: 8px;
    font-size: 12px;
    color: #bf0000;
}

.hotInfo__body {
    padding-left: 24px;
}

.hotInfo__body .pointUp {
    margin: 0 auto 8px;
    padding: 20px 0 0 20px;
    width: 73px;
    height: 68px;
    line-height: 1.1;
    font-size: 12px;
    color: #ffffff;
    background: url(//image.books.rakuten.co.jp/books/img/top/bg-pointup.png) no-repeat 4px top;
    background-size: 90px 88px;
    display: block;
}

.hotInfo__body .pointUp__txt {
    margin: 0 3px 0 0;
}

.hotInfo__body .pointUp__rate {
    font-size: 26px;
}

.hotInfo__body .pointUp__unit {
    font-size: 18px;
}

.hotInfo__body .benefit {
    margin: 0 auto 8px;
    text-align: center;
    width: 90px;
    height: 88px;
}

.hotInfo__body .discount {
    margin: 0 auto 8px;
    width: 85px;
    height: 66px;
    padding: 22px 0 0 5px;
    text-align: center;
    line-height: 1.1;
    font-size: 18px;
    color: #ffffff;
    background: url(//image.books.rakuten.co.jp/books/img/top/bg-deal.png) no-repeat left top;
    background-size: 90px 88px;
}

.hotInfo__body .discount__rate {
    font-size: 26px;
}

.hotInfo__body .discount__unit {
    font-size: 18px;
}

.hotInfo__body .eventInfo__head {
    margin-bottom: 8px;
    text-align: center;
    font-size: 0;
}

.hotInfo__body .eventInfo__body {
    font-size: 12px;
}

.hotInfo .itemInfo {
    font-size: 14px;
    line-height: 1.4;
}

.hotInfo .itemInfo__body {
    margin-top: 2px;
}

.hotInfo .itemInfo__body .itemPrice {
    margin-top: 2px;
}

.hotInfo .itemInfo__body .itemPrice__num {
    font-size: 19px;
}

.newGenreTop .recommendFeature {
    background: #ffffff;
    margin: 0 0 0 16px;
}

.recommendFeature .flexContents__box a:hover {
    color: #333;
}

.adBox1 {
    display: table;
    margin: 0 auto;
    height: 100%;
    text-align: center;
    font-size: 0;
}

.adBox1__inner {
    padding: 15px;
    display: table-cell;
    height: 100%;
    vertical-align: middle;
}

@media screen and (max-width: 1250px) {
    .adBox1__inner{
        padding: 0;
    }
}

.adBox1__inner a:hover {
    opacity: 0.8;
}

.adBox1__inner a img {
    max-width: 300px;
    min-width: auto;
    width: 100%;
    height: 100%;
}

.adBox1__inner>div {
    margin: 0 !important;
}

.adBoxWide a:hover {
    opacity: 0.8;
}

.adBnr1 {
    font-size: 0;
    text-align: center;
}

.adBnr1:hover {
    opacity: 0.8;
}

.rbSlider {
    position: relative;
}

.rbSlider__nav .prevBtn,
.rbSlider__nav .nextBtn {
    position: absolute;
    top: 26px;
    border-radius: 8px;
    border: 1px solid transparent;
    box-sizing: border-box;
    width: 40px !important;
    height: 100px;
}

.rbSlider__nav .prevBtn:hover,
.rbSlider__nav .nextBtn:hover {
    border: 1px solid #d1d1d1;
    background-color: #f7f7f7;
}

.rbSlider__nav .prevBtn::before,
.rbSlider__nav .prevBtn::after,
.rbSlider__nav .nextBtn::before,
.rbSlider__nav .nextBtn::after {
    position: absolute;
    top: 50%;
    margin-top: -14px;
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    content: '';
}

.rbSlider__nav .prevBtn {
    left: 0;
}

.rbSlider__nav .prevBtn::before,
.rbSlider__nav .prevBtn::after {
    left: 0;
}

.rbSlider__nav .prevBtn::before {
    left: 11px;
    border-right: 16px solid #696969;
}

.rbSlider__nav .prevBtn::after {
    left: 15px;
    border-right: 16px solid #ffffff;
}

.rbSlider__nav .prevBtn:hover::after {
    border-right: 16px solid #f7f7f7;
}

.rbSlider__nav .nextBtn {
    right: 0;
}

.rbSlider__nav .nextBtn::before {
    right: 11px;
    border-left: 16px solid #696969;
}

.rbSlider__nav .nextBtn::after {
    right: 15px;
    border-left: 16px solid #ffffff;
}

.rbSlider__nav .nextBtn:hover::after {
    border-left: 16px solid #f7f7f7;
}

.rbSlider__item .media {
    min-width: 250px;
}

.rbSlider__item .media__head {
    margin-bottom: 16px;
}

.rbSlider__item .media__head .mediaImage {
    display: table;
    margin: 0 auto;
    width: 150px;
    height: 150px;
    font-size: 0;
    text-align: center;
}

.rbSlider__item .media__head .mediaImage__box {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.rbSlider__item .media__head .mediaImage__box img {
    max-width: 150px;
    max-height: 150px;
}

.rbSlider__item .media__head .mediaImage__box:hover {
    opacity: 0.8;
}

.listNews {
    padding: 0 0 0 24px;
}

.listNews__item {
    list-style-type: disc;
}

.listNews__item a {
    color: #333333;
}

.listNews__item + .listNews__item {
    margin-top: 8px;
}

.listNews__item span {
    color: #696969;
}

.listNews--noData {
    color: #9c9c9c;
}

nformation_bottom {
    display: none;
}

#notificationTop {
    display: none;
    margin: 0 16px 16px;
    background: #ffd;
    padding: 10px;
    word-break: break-all;
    border: 1px #dfdfdf solid;
    text-align: center;
}

#notificationTop #information {
    margin: 0 auto;
    padding: 0;
    line-height: 1.6;
    font-size: 14px;
    background: none;
    border: none;
}

#notificationTop #information a {
    font-weight: normal;
    color: #333;
}

nformation {
    margin: 0 auto;
    line-height: 1.6;
}

nformation a {
    color: #333;
}

nformation .list {
    display: inline-block;
}

nformation .list {
    margin: 0 16px 0 0;
}

#notificationTop.noticeExist {
    display: block;
}

#notificationTop .list:before {
    content: '\30FB';
}

@media screen and (max-width: 1330px) {
    .bookstop--new .firstLine .flexContents__box {
        height: 340px;
    }
    .firstLine .topPanel__head,
    .topPanel__head {
        font-size: 18px;
    }
    .adTop .adContent__body .title {
        font-size: 20px;
    }
    .flexContents-feature .flexContents__box img {
        max-width: 165px;
        max-height: 165px;
    }
    .topPanel {
        padding: 16px;
    }
    .topPanel__btn {
        bottom: 0;
    }
    .topPanel__link-top {
        top: 16px;
    }
    .topPanel.topPanel--static {
        padding: 16px 0;
    }
    .topPanel.topPanel--static .topPanel__head {
        padding: 0 16px;
    }
    .flexContents-feature .flexContents__box .title {
        width: 165px;
        text-align: left;
    }
    
    /* searchApi contents */
    .hotInfo__body .pointUp__rate {
        font-size: 20px;
    }
    .hotInfo .itemInfo {
        font-size: 12px;
    }
    .hotInfo__body .pointUp {
        font-size: 11px;
        width: 63px;
        height: 58px;
        background-size: 80px 78px;
    }
    .hotInfo__body .benefit {
        width: 80px;
        height: 78px;
    }
    .hotInfo__body .discount {
        margin: 0 auto 8px;
        width: 75px;
        height: 56px;
        padding: 22px 0 0 5px;
        text-align: center;
        line-height: 1.1;
        font-size: 16px;
        color: #ffffff;
        background: url(//image.books.rakuten.co.jp/books/img/top/bg-deal.png) no-repeat left top;
        background-size: 80px 78px;
    }
    .hotInfo__body .discount__rate {
        font-size: 22px;
    }
}

@media screen and (max-width: 1250px) {
    .bookstop--new .firstLine .flexContents__box {
        height: 310px;
    }
    .firstLine .flexContents__box.flexContents__box--adBox1 {
        flex-basis: 23.5%;
    }
    .topPanel__btn {
        bottom: 2px;
    }
    .firstLine .topPanel__head,
    #react-search-api-items .topPanel__head {
        margin-bottom: 18px;
    }
    .topPanel__link {
        bottom: 10px;
    }
    .adBox1__inner a img {
        width: 90%;
        min-width: auto;
    }
}

@media screen and (max-width: 1168px) {
    .firstLine .topPanel__head,
    .topPanel__head {
        font-size: 16px;
        margin-bottom: 18px;
    }
    .adTop .adContent__body .title {
        font-size: 18px;
    }
    #recommend-feature .topPanel__head {
        margin-bottom: 24px;
    }
    .sectionTop .readMore {
        font-size: 12px;
    }
    .sectionTop .readMore:after {
        width: 6px;
        height: 6px;
    }
    .topPanel__btn {
        font-size: 12px;
    }
    .topPanel__btn .btnDetail {
        width: 140px;
        line-height: 30px;
    }
}

@media screen and (max-width: 1080px) {
    .bookstop--new .firstLine .flexContents__box {
        height: 280px;
    }
}

@media screen and (max-width: 1080px) and (-ms-high-contrast:none) {
     .bookstop--new .firstLine .flexContents__box {
         height: 270px;
     }
}

/* new topmenu */
.newGenreTop .topmenu {
    background: #fff;
    margin: 8px 0;
    padding: 8px 16px;
    letter-spacing: -1em;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.newGenreTop .topmenu * {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
    white-space: normal;
}

.newGenreTop .topmenu .topmenu__title {
    text-align: left;
    font-size: 26px; 
}

.newGenreTop .topmenu .topmenu__note {
    text-align: right;
    width:68%;
    padding: 0 1% 0 0;
    position: relative;
    margin-left: auto;
}

.newGenreTop .topmenu .topmenu__note a:after {
    content: "";
    position: absolute;
    top: 4px;
    right: 0;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #a1a1a1;
    border-right: 1px solid #a1a1a1;
    transform: rotate(45deg);
}

.newGenreTop .topmenu .topmenu__note a:hover {
    text-decoration: none;
}

@media screen and (max-width: 1320px){
    .newGenreTop .topmenu .topmenu__note {
        font-size: 12px;
    }
}

.newGenreTop .breadcrumbs {
    margin: 0 0 8px;
    line-height: 1.5;
}

.newGenreTop .location a {
    color: #333;
    text-decoration: none;
}

/* new sidemenu */
.newGenreTop #sidemenu {
    width: 220px;
    z-index: 50;
}

.newGenreTop #leftNav {
    border: none;
    background: #fff;
}

.newGenreTop #leftNav ul {
    margin: 0 0 5px 0;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre:not(.current) {
    padding: 8px 5px 8px 16px;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre.js-hasActiveCat {
    padding: 0;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre.current,
.newGenreTop #sidemenu #leftNav .genre .currentGenre.current:hover {
    border-left: 4px solid #bf0000;
    background: #f7f7f7;
    padding: 8px 5px 8px 12px;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre a {
    padding-left: 16px;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre a:hover {
    background: #ebebeb;
}

.newGenreTop #sidemenu #leftNav .genre .currentCat {
    border-left: 4px solid #bf0000;
    background: #f7f7f7;
}

.newGenreTop #sidemenu #leftNav .genre .currentCat > a {
    font-weight: bold;
    padding-left: 20px;
}

.newGenreTop #sidemenu #leftNav .genre li {
    line-height: 1.6;
    zoom: 1;
    margin: 0;
}

.newGenreTop #sidemenu #leftNav .genre li:not(.submenu):not(.currentGenre):hover {
    background: #ebebeb;
}

.newGenreTop #sidemenu #leftNav .genre .currentGenre:hover {
    background: transparent;
}

.newGenreTop #leftNav li a,
.newGenreTop #leftNav li a:visited,
.newGenreTop #leftNav li a:hover
 {
    color: #333;
    text-decoration: none;
    padding: 8px 5px 8px 24px;
    display: block;
}

.newGenreTop #leftNav .title {
    border-bottom: 1px solid #ebebeb;
    overflow: hidden;
    zoom: 1;
}

.newGenreTop #leftNav .title h2 {
    margin: 16px;
    font-weight: bold;
    width:auto;
    float: left;
}

.newGenreTop #leftNav .title .all {
    border: none;
    margin: 16px;
    padding: 0;
    width:auto;
    float: right;
    font-weight: bold;
    background: #ffffff;
}

.newGenreTop #leftNav .title .all img {
    display: none;
}

.newGenreTop #leftNav .title .all a {
    color: #3366cc;
    font-weight: normal;
    margin: 0 24px 0 0;
}

.newGenreTop #leftNav .title .all a:after {
    content: "";
    position: absolute;
    top: 19px;
    right: 18px;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #a1a1a1;
    border-right: 1px solid #a1a1a1;
    transform: rotate(45deg);
}

.newGenreTop #rbcomp,
.newGenreTop .article {
    margin: 0 0 0 16px;
}
.newGenreTop .article .content-wrap {
    display: table;
}
.newGenreTop .article #genre_cpn{
    display: block !important;
}
.newGenreTop .article .content-wrap .content-ttl {
    display: table-cell;
    padding-right: 8px;
}
.newGenreTop #rbcomp .rbcomp__campaign h2,
.newGenreTop .article .content-ttl__name {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    white-space: nowrap;
}
.newGenreTop .article .rbcomp__campaign__tag li {
    display: inline-block;
    margin: 8px;
}
.newGenreTop .article .rbcomp__campaign__tag li a {
    padding: 8px;
    border: 1px solid #a1a1a1;
    border-radius: 4px;
    color: #333;
    background: #fff;
    text-decoration: none;
    display: block;
}
.newGenreTop .article .rbcomp__campaign__tag li a:hover {
    background: #f7f7f7;
}

.newGenreTop .section .section__inner,
.newGenreTop .section #infoArea {
    background: #ffffff;
    padding: 24px;
    margin: 0 0 0 16px;
    width: auto;
}
.newGenreTop .section .section__inner .sectionTitle {
    margin: 0 0 24px;
    font-weight: bold;
    font-size: 20px;
}
.newGenreTop #infoArea .infoh2wrap {
    overflow: hidden;
    zoom: 1;
    margin-top: 0;
    border-bottom: none;
}
.newGenreTop #infoArea .infoh2wrap .info {
    padding: 0;
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 20px;
    float: left;
}
.newGenreTop #infoArea .infoh2wrap .link {
    width: auto;
    float: right;
    padding: 0;
    font-weight: normal;
}
.newGenreTop .section #infoArea .link {
    font-size: 14px;
    border: 1px solid #d1d1d1;
    padding: 5px 26px 5px 20px;
    border-radius: 15px;
    position: relative;
    display: block;
}
.newGenreTop .section #infoArea .link img {
    display: none;
}
.newGenreTop .section #infoArea .link a {
    color: #333;
    text-decoration: none;
}
.newGenreTop .section #infoArea .link:hover {
    background: #f7f7f7;
}
.newGenreTop .section #infoArea .link:after {
    content: "";
    position: absolute;
    top: 9px;
    right: 18px;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #a1a1a1;
    border-right: 1px solid #a1a1a1;
    transform: rotate(45deg);
}
.newGenreTop #infoArea .listNew {
    margin: 0 0 0 8px;
    overflow: hidden;
}
.newGenreTop #infoArea .listNew li {
    padding: 0;
    width: 48%;
    margin: 0 1% 0 0;
    float: left;
    border-bottom: 1px solid #ebebeb;
}
.newGenreTop #infoArea .listNew li a {
    color: #333;
    text-decoration: none;
    position: relative;
    padding: 10px 0 10px 28px;
    display: block;
    line-height: 1.5;
}

.newGenreTop #infoArea .listNew li a.newInfoIcon:after {
    content: '';
    width: 30px;
    height: 14px;
    display: inline-block;
    vertical-align: -1px;
    margin-left: 8px;
    background: url(//image.books.rakuten.co.jp/books/img/common/main/bg_image_130529.gif) no-repeat -62px -474px;
}

.newGenreTop #infoArea .listNew li img.bullet {
    display: none;
}

.newGenreTop #infoArea .listNew li img.new {
    width: 0 !important;
    height: 0 !important;
    position: absolute;
    right: 0;
    top: 0;
}

.newGenreTop #infoArea .listNew li a:before {
    content: '';
    width: 14px;
    position: absolute;
    height: 14px;
    left: 8px;
    top: 12px;
    background: url(https://image.books.rakuten.co.jp/books/img/common/icon_megaphone.svg) no-repeat left;
    background-size: auto;
    background-size: 14px;
    margin-right: 8px;
}

.newGenreTop #infoArea .listNew li:hover {
    background: #f7f7f7;
}
.newGenreTop #infoArea .listNew li:nth-child(n+5) {
    border-bottom: none;
}
.newGenreTop #infoArea .listNew li:nth-child(n+7) {
    display: none;
}
.newGenreTop #infoArea .listNew .bullet {
    background: url(https://image.books.rakuten.co.jp/books/img/common/icon_megaphone.svg) no-repeat left 5px;
    background-size: 14px;
    margin-right: 8px;
}
@media screen and (max-width: 1330px) {
    .newGenreTop .section #infoArea {
        padding: 16px;
    }
    .newGenreTop #infoArea .infoh2wrap .info{
        font-size: 18px;
    }
}
@media screen and (max-width: 1168px) {
    .newGenreTop #infoArea .infoh2wrap .info{
        font-size: 16px;
    }
}

/* overwrite side menu */
#sidemenu #leftNav .genre .loading {
    text-align: center;
    cursor:default;
}
#sidemenu #leftNav .genre .hover {
    margin:1px 0;
}
#leftNav .genre .number {
    font-size: 75%;
    color:#888888;
    white-space: nowrap;
    padding:0 5px;
}

#sidemenu #leftNav .genre .hover {
    padding:unset;
    margin:0;
}
#sidemenu #leftNav .genre .hover {
    border-left:none;
}

/* * html #sidemenu #leftNav .genre .hover {
    padding-bottom: unset;
    padding-top: unset;
} */

*:first-child+html #sidemenu #leftNav .genre .currentGenrehover {
    padding-left:5px !important;
    margin-bottom: 5px;
    cursor:pointer;
}

#sidemenu #leftNav .genre .sub1 .hover {
    display:block;
    white-space: nowrap;
    zoom: 1;
    _width:100%;
}

#leftNav .sub1,
#leftNav .sub2 {
    display:none;
}
#sidemenu #leftNav .genre .hover a {
    color:#333;
}
#sidemenu #leftNav .genre .sub1 a {
    color: #333;
}
#sidemenu #leftNav .genre .hover .sub1 .hover a {
    color:#333;
}
#sidemenu #leftNav .genre .sub1 {
    position:absolute;
    z-index: 1000 !important;
    background: #ffffff;
    border:1px solid #969696;
    width:auto;
}
.note_scriptoff {
    border:1px solid #ff0000;
    color:#ff0000;
    font-size: 82%;
    padding:10px;
    background: #ffffff;
    margin-bottom: 10px;
}
#sidemenu #leftNav .genre .hover .sub1 a {
    color: #333;
}
#sidemenu #leftNav .genre .hover .sub1:not(:has(li)){
    display: none !important;
}
#sidemenu #leftNav .genre .sub1 li {
    white-space: nowrap;
}
*:first-child+html #sidemenu #leftNav .genre .sub1 li {
    padding-bottom: 3px;
}
* html #sidemenu #leftNav .genre .sub1 li {
    padding-bottom: 3px;
}
*:first-child+html #sidemenu #leftNav .genre .sub1 {
    width:100%;
    min-width: 120%;
    zoom: 1;
}
* html #sidemenu #leftNav .genre .sub1 {
    width:100%;
}
*:first-child+html #sidemenu #leftNav .genre .sub1 li a {
    display:block;
    width:100%;
}
* html #sidemenu #leftNav .genre .sub1 li a {
    display:block;
    width:100%;
}
#sidemenu #leftNav .genre .current {
    padding-left: 5px;
    font-weight: bold;
    cursor:default;
    margin-bottom: 5px;
    background: transparent;
    border-left: none;
}
#sidemenu #leftNav .genre .hover .sub1 .hover .sub1 a {
    color: #333;
}
#sidemenu #leftNav .genre .hover .sub1 .hover .sub1 .hover a {
	color: #333;
}

#sidemenu #leftNav .genre .hover .sub1 .hover .sub1 .hover .sub1 a {
	color:#333 !important;
}
#sidemenu #leftNav .genre .hover .sub1 .hover .sub1 .hover .sub1 .hover a {
	color:#333 !important;
}

#sidemenu .sideBlock {
    background: #fff;
    margin: 16px 0 0;
    padding: 0 0 8px;
}

#sidemenu .sideBlock .sideBlock__title{
    font-size: 15px;
    font-weight: bold;
    padding: 16px 16px 8px;
}

#sidemenu .sideBlock .sideBlock__list li {
    padding: 0;
}

#sidemenu .sideBlock .sideBlock__list li:hover {
    background: #ebebeb;
}

#sidemenu .sideBlock .sideBlock__list a {
    padding: 8px 0 8px 24px;
    display: block;
    font-size: 13px;
    color: #333;
    text-decoration: none;
}

#sidemenu ul + .sideBlock__title {
    margin: 8px 0 0 ;
    border-top: 1px solid #ebebeb;
}

.newGenreTop #sidemenu .partsMenu {
    width: auto;
    margin-top: 16px;
    padding: 0 0 8px;
    border: none;
    position: unset;
    background: #fff;
}

.newGenreTop #sidemenu .partsMenu h2 {
    font-weight: bold;
    color: #333;
    line-height: 1.5;
    background: transparent;
    padding: 16px 16px 8px;
    font-size: 15px;
}

.newGenreTop #sidemenu .partsMenu ul {
    padding: 0;
}

.newGenreTop #sidemenu .partsMenu ul li:hover {
    background: #ebebeb;
}

.newGenreTop #sidemenu .partsMenu ul li a {
    padding: 8px 0 8px 24px;
    display: block;
    color: #333;
    text-decoration: none;
}

.newGenreTop #sidemenu ul li, #sidemenu ul li {
    text-indent: 0;
    padding: 0;
    line-height: 1.4;
    margin: 0;
}

.newGenreTop #sidemenu ul li img, #sidemenu ul li img {
    display: none;
}

li.submenu {
    padding: 8px 5px 8px 24px !important;
}

/* overwrite parts_20140710.css */
#sidemenu #leftNav .genre .adultTop,
#sidemenu #leftNav .genre li,
#sidemenu #leftNav .genre .hover,
#sidemenu #leftNav .genre .adult.hover,
#sidemenu #leftNav .genre .adultsub {
    padding: 0;
}

#sidemenu #leftNav .genre .sub1 .hover,
#sidemenu #leftNav .genre .sub1 li {
    padding-left: 0;
    padding-right: 0;
}
/* overwrite parts_20140710.css */

/* overwrite */
#genreTop #header #headerBox {
    display: flow-root;
}

#genreTop .header-books {
    background:#fff;
}

.bookLogPanel {
    background: #fff;
    margin: 0 0 0 16px;
    position: relative;
    padding: 24px 0;
    height: calc(100% - 48px);
}

.bookLogPanel__title {
    height: 24px;
    margin-bottom: 24px;
    padding:0 24px;
}

.bookLogPanel__title--left {
    padding: 0;
    font-weight: bold;
    font-size: 20px;
    float: left;
}

.bookLogPanel__title--right {
    float: right;
    margin: 0 0 0 8px;
}

.bookLogPanel__title--right a {
    color: #333;
}

.bookLogPanel__contents {
    display: table;
    width: 100%;
}

.bookLogPanel__contents .bookLog {
    display: table-cell; 
    width:33%;
    border-right: 1px solid #ebebeb;
}

.bookLogPanel__contents li:last-child {
    border-right: none;
}

.bookLog__btn {
    text-align: center;
}

.bookLog__btn a {
    display: inline-block;
    border-radius: 4px;
    border: 1px solid #d1d1d1;
    width: 168px;
    line-height: 35px;
    color: #333333;
}

.bookLog__btn a:hover {
    text-decoration: none;
    background-color: #f7f7f7;
}

.bookLogPanel__contents .bookLog__title {
    text-align: center;
    font-size: 13px;
    color: #696969;
}

.bookLogPanel__contents .bookLog__title span {
    font-size: 18px;
    color: #333;
    margin: 0 8px 0 0;
    border-bottom: 2px solid #b5b5b5;
    padding: 0 0 4px;
}

.bookLogPanel__contents .bookLog__image {
    min-height: 143px;
    margin: 24px 0;
    text-align: center;
}

.bookLogPanel__contents .bookLog__image li{
    display: inline-block;
    margin: 0 8px 0 0;
}

.bookLogPanel__contents .bookLog__image li:last-child {
    margin: 0;
}

.bookLogPanel__contents .bookLog__image li:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1248px){
    .bookLogPanel__contents .bookLog__image img {
        width:80px;
    }
}

@media screen and (max-width: 1100px){
    .bookLogPanel__contents .bookLog__image img {
        width: 68px;
    }
    .bookLogPanel__contents .bookLog__title {
        font-size: 12px;
    }
    .bookLogPanel__contents .bookLog__title span {
        font-size: 16px;
    }
}

/* ------------------------------------------------------------

Footer area - features 

------------------------------------------------------------ */

#footer #groupservice,
#footer #adBanners{
    text-align:center;
    font-size:82%;
    line-height:1.4;
}
#footer #groupservice a {
    font-weight: normal;
}
#footer #groupservice .partsMenu,
#footer #adBanners .partsMenu{
    text-align:center;
    width:100%;
}
#footer #groupservice dl,
#footer #adBanners dl{
    width: auto;
    display:inline-block;
    margin-bottom:10px;
    padding: 0 6px;
    vertical-align:top;
    font-size: 11px;
    text-align: center;
}
*:first-child+html #footer #groupservice dl,
*:first-child+html #footer #adBanners dl{
    display:inline;
}
* html  #footer #groupservice dl,
* html #footer #adBanners dl{
    display:inline;
}

#footer #groupservice .banner,
#footer #adBanners .banner{
    margin-bottom: 0;
}

#footer .container{
    padding: 15px;
    background: none;
    border-top: 1px solid #E6E6E6;
}
#footer .container h2{
    margin-bottom: 15px;
    font-size: 138%;
    font-weight: bold;
    color: #555;
}
.container a{
    font-weight:bold;
}
/* clearfix */
#sidemenu p.generalName,
#sidemenu p.generalNameAdult,
div.partsCampaign,
#mainArea,
div.parts3Col,
div.parts3ColChange,
ul.partsGameTab,
div.partsGameBox,
div.partsGameInner,
div.partsGameInner div.parts3Col,
ul.parts1Col,
div.parts2Col,
div.partsMovGoods,
table.partsDoubleBox td div.img a,
table.partsTripleBox td div.img a {
	overflow: hidden;
	zoom: 1;
}
#containerArea:after,
div.partsRank:after,
div.partsRank dl:after,
ul.moreChangeLink:after {
display: block;
clear:both;
height: 0;
line-height: 0;
visibility: hidden;
content: ".";
font-size: 0.1em;
}
div.partsRank,
div.partsRank dl,
ul.moreChangeLink {
	display: inline-block; 
}
/* Hides from Mac-IE \*/
div.partsRank,
div.partsRank dl,
ul.moreChangeLink {
	display: block;
}
/* End hide from Mac-IE */
.pc-eventlist {
    margin-bottom: 0;
}

.eventlist-menu > li {
    margin: 0 1% 0 0;
}

/* software */
h2.hd {
  margin-bottom:17px;
}
#marker-store {
  margin:0 0 20px;
  padding:0;
  min-width: 430px;
}
#marker-store ul.store {
  margin:0 0 10px;
  padding:0;
}

#marker-store ul.store li {
    display: inline-block;
    float: left;
    width: 33%;
    margin:0 1% 15px 0;
    padding:0;
    height:72px;
    background:url(https://image.books.rakuten.co.jp/books/img/common/software/maker/bg-maker-01.gif) center top;
    text-align:center;
    list-style-type:none;
    border-bottom:1px solid #D5D5D5;
}
#marker-store ul.store li.last {
	margin-right:0;
	width: 32%;
}
#marker-store ul.store li a {
	display:block;
	width:100%;
	height:72px;
	background:none;
	padding:0;
	margin:0;
}
#marker-store ul.store li a:hover {
	width:100%;
	height:72px;
	background:url(https://image.books.rakuten.co.jp/books/img/common/software/maker/bg-maker-01.gif) center bottom;
	padding:0;
	margin:0;
}
#marker-store ul.store li img {
	margin:12px auto 10px;
}