@charset "euc-jp";
/* ==============================================================================
tag
============================================================================== */
sup, sub { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub { bottom: 0em;}
sup { top: -0.5em;}
ol { list-style: none;}


/* ==============================================================================
all
============================================================================== */
#templateWrap #templateFlame {
    width: 100%;
    margin: 0;
    padding: 0;
}

#templateWrap #templateFlame #bodyClump .bggray {
    background: #f8f8f8;
    padding: 48px 0 12px;
}
/*br*/
#templateWrap #templateFlame #bodyClump br.sp {
	display: none;
}
/* ==========================================
pageTop
========================================== */
#templateWrap #templateFlame #bodyClump .pageTop {
    bottom: 10px;
    right: 10px;
    position: fixed;
    opacity: 0.8;
    z-index: 90;
}
#templateWrap #templateFlame #bodyClump .pageTop:hover {
    opacity: 1.0;
}

/* ==========================================
アイコン
========================================== */
.special {
    border-radius: 4px;
    color: #ffffff;
    display: block;
    font-weight: bold;
    line-height: 2;
    margin-bottom: 2px;
    margin-top: 16px;
    padding: 2px 16px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
}
.special.point-03 {background: #fa8638;}/*orange 3倍*/
.special.point-15 {background: #fd486a;}/*red 15倍*/
.special.point-10 {
    background: #fef1a2;
    color: #bf0000;
}
/*pink 10倍*/
.special.point-07 {background: #e48f0a;}/*yellow 8倍*/
.special.point-15back {background: #bf0000;}/*15%ポイントバッグ*/
.special.mini-cpn {background: #4385F5;font-size: 95%;}/*15%ポイントバッグ*/

/* ==============================================
hover時
============================================== */
#template #templateWrap #templateFlame #bodyClump #navAreaInner a:hover {
    opacity: 0.6;
    transition-duration: 0.2s;
}
#template #templateWrap #templateFlame #bodyClump .couponArea a img:hover,
#template #templateWrap #templateFlame #bodyClump .campaign-bnr-area li a img:hover,
#template #templateWrap #templateFlame #bodyClump .notice-ss-bnr li a img:hover,
#template #templateWrap #templateFlame #bodyClump .link600x100 li .image a img:hover,
#template #templateWrap #templateFlame #bodyClump .kobo-bnr img:hover,
#template #templateWrap #templateFlame #bodyClump .sscpn-btn img:hover {
    position: relative;
    top: 2px;
    left: 0;
}
#template #templateWrap #templateFlame #bodyClump .couponArea a img,
#template #templateWrap #templateFlame #bodyClump .campaign-bnr-area li a img,
#template #templateWrap #templateFlame #bodyClump .notice-ss-bnr li a img,
#template #templateWrap #templateFlame #bodyClump .link600x100 li .image a img,
#template #templateWrap #templateFlame #bodyClump .kobo-bnr img,
#template #templateWrap #templateFlame #bodyClump .sscpn-btn img {
    box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%);
}
/* ==========================================
mainbox
========================================== */
#templateWrap #templateFlame #mainbox {
    background: #bf0000;
    background: -moz-linear-gradient(-90deg, #cc0000, #aa0000);
    background: -webkit-linear-gradient(-90deg, #cc0000, #aa0000);
    background: linear-gradient(180deg, #cc0000, #aa0000);
    padding: 0;
}
#templateWrap #templateFlame #mainbox .inner {
    background: url("https://image.books.rakuten.co.jp/books/img/event/supersale/20240304/img/h1-bg.png") no-repeat center;
    padding-bottom: 48px;
}
#templateWrap #templateFlame #mainbox .lead {
    background: #bf0000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 16px;
    font-size: 18px;
    border-bottom: 1px solid #a70a0a;
}
#templateWrap #templateFlame #mainbox .lead span {
    color: #fff;
    border-left: none;
    padding: 0 24px 0 0;
    margin: 0 24px 0 0;
    border-right: 1px solid #fff;
}
#templateWrap #templateFlame #mainbox .lead span img {
    vertical-align: bottom;
}
#templateWrap #templateFlame #mainbox .lead strong {
    font-size: 30px;
    display: block;
    margin-top: 15px;
}
#templateWrap #templateFlame #mainbox h1 {
    text-align: center;
    padding: 15px 0 30px;
}
#templateWrap #templateFlame #mainbox h1 img {
    width: 100%;
}

#templateWrap #templateFlame #mainbox .entrybtn {
    background: #fff;
    width: 950px;
    margin: 0 auto;
    padding: 16px 0 0 0;
    box-sizing: border-box;
    border-radius: 0 0 16px 16px;
}

/* ポイントアップ条件 */
#templateWrap #templateFlame #mainbox .entrybtn .conditions ul {
    background: #ececec;
    border-radius: 0;
    display: flex;
    justify-content: left;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 16px;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(1) {
    display: table;
    width: 16%;
    background: #c8c8c8;
    border-radius: 0;
    margin: 0 8px 0 0;
    color: #333;
    text-align: center;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(1) p {
    display: table-cell;
    vertical-align: middle;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(2) {
    width: 84%;
    padding: 4px 0 8px 0;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(2) p {
    margin: 0 8px 0 0;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(2) span {
    display: inline-block;
    margin: 4px 0 0 0;
    padding: 4px 16px;
    color: #fff;
    border-radius: 3px;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(2) p.bg-cr-red span {
    background: #af010b;
}
#templateWrap #templateFlame #mainbox .entrybtn .conditions li:nth-child(2) p.bg-cr-blue span {
    background: #041e7f;
}

/* 半額SALE・スーパーSALEガイドボタン */
#templateWrap #templateFlame #mainbox .sscpn-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 950px;
    margin: 24px auto;
}
#templateWrap #templateFlame #mainbox .sscpn-btn img {
    border-radius: 16px;
}

/* Koboバナー */
#templateWrap #templateFlame #mainbox .kobo-bnr {
    width: 950px;
    margin: 0 auto;
}

/* ボタン下文言 */
.entrydetail {
    display: flex;
    justify-content: center;
    font-size: 12px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    width: 37%;
    margin: 10px auto 24px;
}
.entrydetail li {
    margin: 10px 0 0;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
/* モバイル・期間文言 */
.mobile-periodTxt {
    width: 950px;
    background: #fff;
    border-radius: 16px 16px 0 0;
    margin: 20px auto 0;
    padding: 24px;
    box-sizing: border-box;
}
.mobile-periodTxt dl {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.mobile-periodTxt dl dt {
    width: 370px;
    display: grid;
    text-align: center;
    align-items: center;
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    background: #555555;
    padding: 5px 0;
    margin-bottom: 5px;
}
.mobile-periodTxt .pink {
    background: #ff008c;
    align-items: center;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    padding: 5px 0;
}
.mobile-periodTxt dl dd {
    text-align: left;
    color: #333333;
    font-size: 17px;
    font-weight: bold;
    margin: 5px 0 5px 12px;
}
.mobile-periodTxt p {
    text-align: center;
    color: #333333;
    font-size: 13px;
    margin: 12px 0 0;

}
.mobile-periodTxt p span.btn {
    width: 400px;
    display: block;
    margin: 15px auto 0;
}
.mobile-periodTxt p span.btn a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    background: #ff008c;
    padding: 10px 0;
    border-radius: 50px;
    transition: .3s all;
}
.mobile-periodTxt p span.btn a:hover {
    opacity: 0.8;
}

/* ==========================================
modalbox
========================================== */
#templateWrap #templateFlame #bodyClump ul.modal-btn {
    bottom: 100px;
    right: 0px;
    position: fixed;
    z-index: 90;
}
#templateWrap #templateFlame #bodyClump ul.modal-btn li a:hover {
    opacity: 0.8;
}
#templateWrap #templateFlame #bodyClump .modal-content {
    background: #bf0000;
    padding: 15px;
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner {
    background: #bf0000;
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .modalHead {
    text-align: center;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn {
    background: #fff;
    border-radius: 16px;
    margin: 0 auto;
    padding: 15px 0 0 0;
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .rcEntryButton-checkbox {
    margin-top: 15px;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .entrydetail {
    font-size: 10px;
    margin: 0 auto 15px;
}
/* ポイントアップ条件 */
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions ul {
    background: #ececec;
    border-radius: 0 0 16px 16px;
    display: flex;
    justify-content: left;
    font-size: 10px;
    letter-spacing: 0.5px;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(1) {
    display: table;
    width: 16%;
    background: #c8c8c8;
    border-radius: 0 0 0 16px;
    margin: 0 8px 0 0;
    color: #333;
    text-align: center;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(1) p {
    display: table-cell;
    vertical-align: middle;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(2) {
    width: 84%;
    padding: 4px 0 8px 0;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(2) p {
    margin: 0 8px 0 0;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(2) span {
    display: inline-block;
    margin: 4px 0 0 0;
    padding: 4px 14px;
    color: #fff;
    border-radius: 3px;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(2) p.bg-cr-red span {
    background: #af010b;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .entrybtn .conditions li:nth-child(2) p.bg-cr-blue span {
    background: #041e7f;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .rcEntryButton-button {
    height: 57px;
}
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .rcEntryButton-button {
    height: 57px;
    font-size: 18px;
}

#templateWrap #templateFlame #bodyClump .modalClose {
    width: 300px;
    text-align: center;
    background: #9c0000;
    margin: 15px auto 0;
    padding: 10px;
    border-radius: 50px;
    font-size: 12px;
}
#templateWrap #templateFlame #bodyClump .modalClose:hover {
    background: #880202;
}
#templateWrap #templateFlame #bodyClump .modalClose a {
    display: block;
    text-decoration: none;
    color: #ffffff;
}

.modal-wrap {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    overflow-y: scroll;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10001;
    display: none;
}
.modal-wrap > div:first-child {
    width: 100%;
    height: 100%;
    position: absolute;
    font-size: 0;
}
.modal-wrap > div:last-child {
    width: 950px;
    min-height: 504px;
    margin: 25px auto;
    background: white;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .modal-wrap > div:last-child {
        width: 80%;
        margin: 2vw auto;
        padding: 2vw;
    }
}


/* ==========================================
itembox
========================================== */
#templateWrap #templateFlame #bodyClump .itembox {
    padding: 64px 0;
}
#templateWrap #templateFlame #bodyClump #ss-con-02.itembox {
    background: #FFF5DA;
}
#templateWrap #templateFlame #bodyClump #ss-con-03.itembox {
    background: #ffedbc;
    padding: 0;
}

#templateWrap #templateFlame #bodyClump #ss-con-07.itembox{
    padding-bottom: 36px;
}
#templateWrap #templateFlame #bodyClump #ss-con-06.itembox,
#templateWrap #templateFlame #bodyClump #ss-con-07.itembox {
    border-top: 1px solid #ddd;
}
#templateWrap #templateFlame #bodyClump #ss-con-10.itembox {
    background: #F2F2F2;
}

#templateWrap #templateFlame #bodyClump .itembox .inner {
    /*width: 950px;
    margin: 0 auto;*/
	max-width: 1490px;
    min-width: 1024px;
    margin: 0 auto;
    /*padding: 0 16px;*/
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump .itembox .inner h2.black {
    background: none;
    margin: 0 0 48px;
    padding: 0;
    letter-spacing: 1px;
    color: #333;
    font-size: 48px;
    font-weight: bold;
    text-align: center;
}
#templateWrap #templateFlame #bodyClump #ss-con-05.itembox h2,
#templateWrap #templateFlame #bodyClump #ss-con-06.itembox h2,
#templateWrap #templateFlame #bodyClump #ss-con-07.itembox h2,
#templateWrap #templateFlame #bodyClump #ss-con-08.itembox h2,
#templateWrap #templateFlame #bodyClump #ss-con-09.itembox h2 {
    font-size: 34px;
}
#templateWrap #templateFlame #bodyClump .itembox .frame + .frame {
    margin-top: 32px;
}
#templateWrap #templateFlame #bodyClump .itembox h3 {
    margin: 15px 0;
    padding: 16px;
    letter-spacing: 1px;
    color: #d72222;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    background: #ffdbdb;
}


/*　h2タイムセール下文言css　*/
#templateWrap #templateFlame #bodyClump #ss-con-02.itembox .inner h2.black + p {
    text-align: center;
    line-height: 1.4;
    letter-spacing: 1px;
    color: #333;
	margin: 0 0 24px;
}


/* ==========================================
cmn-container
========================================== */
#templateWrap #templateFlame #bodyClump .cmn-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#template #templateWrap #templateFlame #bodyClump .cmn-container.item-four
{
    justify-content: flex-start;
}
#template #templateWrap #templateFlame #bodyClump .js-api-data,
#template #templateWrap #templateFlame #mainContents .js-api-data {
    margin-bottom: 0;
}
#template #templateWrap #templateFlame #bodyClump .cmn-container .js-api-data .js-api-availability {
    font-size: 14px;
}
#template #templateWrap #templateFlame #bodyClump .cmn-container .js-api-data .item-detail .point-summary__point-summary___oJjLG ul.point-summary__annotations___2s02n {
    display: none;
}

#templateWrap #templateFlame #bodyClump .cmn-container .item-img img {
    max-width: 180px;
    max-height: 180px;
}
#templateWrap #templateFlame #bodyClump .cmn-container .item-detail {
	line-height: 1.5;
}
#templateWrap #templateFlame #bodyClump .cmn-container span.percent {
    display: block;
}

#template #templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .price span.percent
{
    padding-left: 0 !important;
}
#template #templateWrap #templateFlame #bodyClump .inner .cmn-container .rbcomp__campaign__item
{
    border: 1px solid #f5f5f5;
    position: relative;
    padding-bottom: 64px;	
}
#template #templateWrap #templateFlame #bodyClump .inner .cmn-container .item-four .rbcomp__campaign__item:nth-of-type(4n)
{
    margin-right: 0;
}
#template #templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .item-detail .person,
#template #templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .item-detail .person span {
    font-size: 12px;
    color: #333;
}
#templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .js-api-title, .rbcomp__campaign__item .title a {
  font-size: 13px;
}
#templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .author, .rbcomp__campaign__item .date {
  font-size: 13px;
}
#templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .pre-price {
  font-size: 13px;
}
#templateWrap #templateFlame #bodyClump .rbcomp__campaign__item .price, .rbcomp__campaign__item .fix-price {
  font-size: 16px;
}
#templateFlame .number-0 .js-api-cart {
    display: block !important; 
    position: absolute;
    width: calc(100% - 32px);
    bottom: 16px;	
	max-width: 380px;
}
#template .item-two .rbcomp__campaign__item .item-detail .number-0 .js-api-cart {
    width: calc(100% - 316px);
}
#templateFlame .number-0 .js-api-cart .eventPageCartButton {
    max-width: none;
    width: 100%;
}
/* ==========================================
タイムセール
========================================== */
#template #templateWrap #templateFlame #bodyClump .cmn-container.timesale .type-itemBg .rbcomp__campaign__item {
	position: relative ;
    border: 2px solid #ffed16 !important;
	box-sizing: border-box;
	padding-top: 80px;
}
#template #templateWrap #templateFlame #bodyClump .cmn-container.timesale .type-itemBg .rbcomp__campaign__item .timesale-day-01 {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    color: #333;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    background: #ffed16;
    text-align: center;
    padding: 10px 0;
	border-radius: 16px 16px 0 0;
}
#template #templateWrap #templateFlame #bodyClump .cmn-container.timesale .type-itemBg .rbcomp__campaign__item .close {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    align-items: center;
    padding: 10px 0;
    border-radius: 16px;
    z-index: 1;
}
/* ==========================================
あなたにオススメの商品
========================================== */
#templateWrap #templateFlame #bodyClump .reactSlickRec {
    padding: 64px 0;
}
#templateWrap #templateFlame #bodyClump .reactSlickRec .rankTitle {
    height: auto;
}
#templateWrap #templateFlame #bodyClump #feature-slider-recommend {
    margin: 0;
    padding: 0;
    overflow: inherit;
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump #feature-slider-recommend .is-hidden {
    padding: 56px 0;
}
#templateWrap #templateFlame #bodyClump h2.reactSlickRec__title  {
    background: none;
    margin: 0 0 48px;
    padding: 0;
    letter-spacing: 1px;
    color: #333;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    border: none;
    display: block;
    float: none;
}
#templateWrap #templateFlame #bodyClump .reactSlickRec--recommend .slider .slick-list {
    background: #fff;
    padding: 40px 0;
    border-radius: 16px;
}
#templateWrap #templateFlame #bodyClump .reactSlickRec .slider .slickItem__main,
#templateWrap #templateFlame #bodyClump .reactSlickRec--recommend .slider .slick-list img {
    transition-duration: 0.3s;
    transition-property: all;
    text-decoration: none;
}

/* ==========================================
今売れているのはこれ！売上ランキング
========================================== */
#templateWrap #templateFlame #bodyClump .bta-ui-carousel {
    padding: 0;
}
#templateWrap #templateFlame #bodyClump .bta-ui-carousel .ui-carousel p.linkto {
    margin: 0;
}
#templateWrap #templateFlame #bodyClump .bta-ui-carousel .ui-carousel-media-image img {
    transition-duration: 0.3s;
    transition-property: all;
}
#templateWrap #templateFlame #bodyClump .bta-ui-carousel .ui-carousel-media-image img:hover {
    opacity: 0.7;
}

/* ==========================================
sportsBnr
========================================== */
#template #templateWrap #templateFlame .sportsBnr {
    text-align: center;
	margin-top: 0;
	padding: 0 0 32px;
}

/* ==========================================
DEALバナー枠
イーグ・E好丱福赦・
緊急施策バナー枠
========================================== */
.notice-ss-bnr li {
    width: 950px;
    margin: 0 auto;
    text-align: center;
    font-size: 82%;
    font-weight: bold;
    display: block;
    overflow: hidden;
    padding: 0 0 32px;
}
.notice-ss-bnr li a img {
    width: 600px;
}

/* ==========================================
スライダー
========================================== */
.slider-pro {
    position: relative;
    margin: 0 auto 32px;
}
.sp-thumbnails-container {
    font-size: 13px;
}

/* ==========================================
ナビ - 4
========================================== */
.navHeight {
    margin-top: -60px;
    padding-top: 60px;
}
#navArea {
    width: 100%;
}
#navArea #navAreaContents {
    width: 100%;
    height: auto;
    background: #feffb6;
    box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.1);
}
#navArea #navAreaInner {
    width: 100%;
    margin: 0 auto;
}
#navArea ul.nav4 {
    list-style-type: none;
    display: block;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    width: 960px;
    height: 60px;
}
#navArea ul.nav4 li {
    float: left;
    display: block;
    width:240px;
    position: relative;
}

#navArea ul.nav4 li a {
    background-image: url("https://books.rakuten.co.jp/event/supersale/img/20250304/bg-nav.png");
    background-repeat: no-repeat;
    display: block;
    height: 60px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
#navArea ul.nav4 li.menu01 a {background-position: 0px 0px;}
#navArea ul.nav4 li.menu02 a {background-position: -240px 0px;}
#navArea ul.nav4 li.menu03 a {background-position: -480px 0px;}
#navArea ul.nav4 li.menu04 a {background-position: -720px 0px;}

.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}
.dummy {
    display: none;
}
/* ==========================================
	ナビ - 5
========================================== */
.navHeight {
	margin-top: -60px;
	padding-top: 60px;
}
#navArea {
	width: 100%;
}
#navArea #navAreaContents {
	width: 100%;
	height: auto;
    background: #feffb6;
  box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.1);
}
#navArea #navAreaInner {
	width: 100%;
	margin: 0 auto;
}
#navArea ul.nav5 {
	list-style-type: none;
	display: block;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	width: 950px;
	height: 60px;
}
#navArea ul.nav5 li {
	float: left;
	display: block;
	width:190px;
  position: relative;
}

#navArea ul.nav5 li a {
  background-image: url("https://image.books.rakuten.co.jp/books/img/event/supersale/20240904/img/nav.png");
	background-repeat: no-repeat;
	display: block;
	height: 60px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#navArea ul.nav5 li.menu01 a {background-position: 0px 0px;}
#navArea ul.nav5 li.menu02 a {background-position: -190px 0px;}
#navArea ul.nav5 li.menu03 a {background-position: -380px 0px;}
#navArea ul.nav5 li.menu04 a {background-position: -570px 0px;}
#navArea ul.nav5 li.menu05 a {background-position: -760px 0px;}

.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}
.dummy {
	display: none;
}

/* ==========================================
link600x100
========================================== */
#bodyClump .link600x100 {
	max-width: 1490px;
    min-width: 1024px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}
#bodyClump .link600x100 ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#bodyClump .link600x100 li {
	width: 41%;
    margin: 24px 12px 0;
}
#bodyClump .link600x100 li:first-child,
#bodyClump .link600x100 li:nth-child(2) {
    margin-top: 0;
}
#bodyClump .link600x100 li:last-child {
    margin-bottom: 0;
}
#bodyClump .link600x100 li img {
    width: 100%;
	height: auto;
}
/*	more
===================================== */
#templateWrap #templateFlame #bodyClump .moreBtn {
    width: 600px;
    text-align: center;
    margin: 48px auto;
}
#templateWrap #templateFlame #bodyClump .moreBtn a {
    position: relative;
    display: block;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    font-size: 22px;
    padding: 32px 0;
    border-radius: 45px;
    background: #D72222;
    transition: .5s;
}
#templateWrap #templateFlame #bodyClump .moreBtn a::before {
    position: absolute;
    top: 50%;
    right: 35px;
    display: block;
    content: '';
    width: 12px;
    height: 2px;
    background-color: #ffffff;
    transition: .3s;
    margin-top: -5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#templateWrap #templateFlame #bodyClump .moreBtn a::after {
    position: absolute;
    top: 50%;
    right: 35px;
    display: block;
    content: '';
    width: 12px;
    height: 2px;
    background-color: #ffffff;
    transition: .3s;
    margin-top: 2px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#templateWrap #templateFlame #bodyClump .moreBtn a:hover {
    background: #ef2f03;
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
}
#templateWrap #templateFlame #bodyClump .moreBtn a:hover::before {
    right: 30px;
}
#templateWrap #templateFlame #bodyClump .moreBtn a:hover::after {
    right: 30px;
}

/* ==============================================
キャンペーンバナー(320x320)
============================================== */
.campaign-bnr-area {
	max-width: 1390px;
	min-width: 1024px;
	margin: 30px auto;
	padding: 0 16px;
	box-sizing: border-box;	
}
.campaign-bnr-area ul {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.campaign-bnr-area li {
  margin: 0 25px 25px 0;
	max-width: 320px;
	max-height: 320px;	
  width: calc(99% / 4 - 16px);
  text-align: center;
  line-height: 0;
}
.campaign-bnr-area li:nth-child(4n) {
  margin-right: 0;
}
.campaign-bnr-area li a {
  text-decoration: none;
  font-weight: bold;
  color: #0f33cc;
  font-size: 90%;
}
.campaign-bnr-area li a img {
  width: 100%;
  height: auto;
}
.campaign-bnr-area li a img:hover {
  position: relative;
  top: 2px;
  left: 0;
}
.campaign-bnr-area li a span {
  color: #0f33cc;
}
.campaign-bnr-area li a span:hover {
  text-decoration: underline;
}
.campaign-bnr-area .note {
    margin-top: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
}

/* ==========================================
ダウンロード商品
========================================== */
#template #templateFlame #bodyClump .item-download ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
    margin-left: -8px;
    margin-right: -8px;
	margin-bottom: 32px;
}
#template #templateFlame #bodyClump .item-download ul li {
	width: calc(20% - 16px);
	border: 1px solid #f5f5f5;
    position: relative;
	background-color: #fff;
    padding: 16px 16px 48px;
    border-radius: 16px;
    margin: 8px;
    box-shadow: 0px 4px 8px 0 rgba(136, 136, 136, 0.1);	
	box-sizing: border-box;
}
#template #templateFlame #bodyClump .item-download ul li * {
	box-sizing: border-box;
}
#template #templateFlame #bodyClump .item-download ul li .img {
	max-width: 232px;
    display: grid;
    align-items: center;
    text-align: center;
    margin: 0 auto 12px;
}
#template #templateFlame #bodyClump .item-download ul li .img img {
	max-width: 100%;
	max-height: 180px;
	margin: auto;
}
#template #templateFlame #bodyClump .item-download ul li .img a {
	transition: all 0.3s;
}
#template #templateFlame #bodyClump .item-download ul li .img a:hover {
	opacity: 0.7;
}
#template #templateFlame #bodyClump .item-download ul li .note {
	line-height: 1.5;
}
#template #templateFlame #bodyClump .item-download ul li .note a {
	overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 16px;
    font-weight: bold;
    color: #006497;
}
#template #templateFlame #bodyClump .item-download ul li .note span.pre-price {
	display: block;
	font-size: 13px;
    color: #828282;
    text-decoration: line-through;
    margin: 0;
}
#template #templateFlame #bodyClump .item-download ul li .note span.percent {
    color: #bf0000;
	font-size: 15px;
	font-weight: bold;
}
#template #templateFlame #bodyClump .item-download ul li .note .special.point-10 {
	width: 224px;
    position: absolute;
    bottom: 8px;
    display: block;
}

/* ==========================================
rule_bigsale
========================================== */
#template #templateFlame .rule_bigsale {
    background: #fff;
    padding: 16px;
    line-height: 1.5em;
    width: 950px;
    margin: 0 auto;
}
#template #templateFlame .rule_bigsale h2 {
    background-color: #424242;
    color: #fff;
    text-align: center;
    font-size: 16px;
    padding: 16px;
    letter-spacing: 0.5px;
}
#template #templateFlame .rule_bigsale dt {
    margin: 24px 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.5px;
    color: #424242;  
}
#template #templateFlame .rule_bigsale dd {
    border-bottom: 1px solid #ddd;
    padding: 0 0 24px 0;
    font-size: 13px;
}
#template #templateFlame .rule_bigsale dd:last-child {
    border-bottom: none;
}
#template #templateFlame .rule_bigsaleP{
  margin: 20px auto 0;
}




#heading1Area #heading1AreaInner .flex{
    display: flex;
    justify-content: space-between;
}
#headline .h1contents01 dl{
    width: 715px;
}
#headline .h1contents04{
    position: relative;
    margin: 10px 0;
    background: #fff;
    padding-top: 35px;
    text-align: center;
    height: 400px;
}
#headline .h1contents04 a:hover{
    opacity:0.8;
}
.riCheckEntryMulti__noLoginButton,.riCheckEntryMulti__noLoginForm{
    margin-top: 10px;
}
#templateFlame .riCheckEntryMulti__registeredButton,#templateFlame .riCheckEntryMulti__enteredButton{
    padding-top: 34px;
}
#templateFlame #headline .riCheckEntryMulti__registeredButton p,
#templateFlame #headline .riCheckEntryMulti__enteredButton p{
    margin: 45px 0 15px;
    font-size: 15px;
}
.riCheckEntryMulti__registeredButton ,.riCheckEntryMulti__enteredButton{
    margin: 15px auto;
}
#templateFlame  #headline .h1contents01  .main-txt{
    padding: 20px 0 10px;
}
#headline .typeB .p-cpnEntry-notice{
    margin: 6px 0 8px;
}
#headline .h1contents01 dl{
    padding: 5px 10px;
}
#headline .riCheckEntryMulti__entryMessage{
    width: 600px;
    margin: 20px auto 10px;
}

.mainAreaInner{
    overflow: hidden;
    width: 950px;
    margin: 15px auto;
    background: #fff;
}
.contentsR .coupon01{
    background: #fff;
    padding: 25px 30px;
    box-sizing: border-box;
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.cv-cont{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.cv-cont__items01{
    flex: 0 0 400px;
    max-width: 400px;
}
.contentsR .coupon01 .ttlWrapper .coupon-box{
    box-sizing: border-box;
    position: relative;
    padding: 16px 20px;
    border: solid 3px #ddd;
    border-radius: 8px;
    text-align: center;
}
.contentsR .coupon01 .ttlWrapper .coupon-box::before{
    content: "";
    position: absolute;
    top: 50%;
    right: -19px;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 10px solid #FFF;
    z-index: 2;
}
#templateFlame .contentsR .coupon01 .ttlWrapper .coupon-box__ttl{
    font-size: 24px;
    font-weight: 700;
    color: #ff9800;
    letter-spacing: 2px;
}
#templateFlame .contentsR .coupon01 .ttlWrapper .coupon-box__ttl > b{
    font-size: 36px;
}
.contentsR .coupon01 .ttlWrapper .coupon-box__note{
    font-size: 12px;
    color: #444;
}
.contentsR .coupon01 .ttlWrapper .coupon-box::after{
    content: "";
    position: absolute;
    top: 50%;
    right: -28px;
    margin-top: -14px;
    border: 14px solid transparent;
    border-left: 14px solid #ddd;
    z-index: 1;
}
.cv-cont__items02{
    flex: 0 0 466px;
    max-width: 466px;
}
.contentsR .coupon01 .ttlWrapper .campaign-entry .campaign-entry-button{
    background: #ff9000;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 6px;
    padding-right: 10px;
    position: relative;
    height: 72px;
    line-height: 72px;
    border-radius: 72px;
    color: #ffffff;
    text-align: center;
    font-size: 20px;
    box-shadow: 0px 1.25px 6px rgba(0,0,0,0.2);
    text-decoration: none;
    display: block;
}
.campaign-entry .campaign-entry-button *{
    color: inherit;
}
.campaign-entry .campaign-entry-button b{
    font-size: 28px;
}
.campaign-entry .couponOneClick-default::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: -8px 0 0;
    border-top: 4px solid #ffffff;
    border-right: 4px solid #ffffff;
    transform: rotate(45deg);
}
.contentsR .coupon01 .cpn-link, .contentsR .coupon02 .cpn-link{
    display: block;
    margin: 16px 0 0;

    text-align: center;
}
.contentsR .coupon01 .cpn-link li:nth-last-child(1), .contentsR .coupon02 .cpn-link li:nth-last-child(1){
    margin-left: 0;
    margin-top: 3px;
}
#templateFlame #headline .coupon-box__sub-ttl{
    font-size: 16px;
}
#templateFlame #headline .coupon-box__note{
    font-size: 12px;
}



/* ==============================================
rcEntryButton-checkbox
============================================== */
#templateWrap #templateFlame #bodyClump .rcEntryButton-checkbox {
    background: #f7f7f7;
    width: 870px;
    margin: 0 auto;
}
#templateWrap #templateFlame #bodyClump .rcEntryButton-checkbox__label, #templateWrap #templateFlame #bodyClump .rcEntryButton-checkbox__text {
    color: #333;
    line-height: 1.8;
}
#templateWrap #templateFlame #bodyClump .preTopEntry {
    margin-bottom: 16px;
}

#templateWrap #templateFlame #bodyClump .preTopEntryWrap {
    text-align: center;
}

#templateWrap #templateFlame #bodyClump .preTopEntryBottomWrap {
    width: 400px;
    height: 80px;
    margin: 0 auto 16px;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__default {
    cursor: pointer;
    outline: none;
    border: none;
    padding: 0;
    display: block;
    box-shadow: none !important;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    width: 560px;
    height: 80px;
    border-radius: 0;
    background: url(/web/20230917043022im_/https://event.rakuten.co.jp/campaign/point-up/marathon/20210804yxhlv/_pre/_pc/img/pre/top/entry_pc.png) left top no-repeat;
    background-size: 400px 80px;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__default a {
    width: 560px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__default,
#templateWrap #templateFlame #bodyClump .preTopEntry-button__applied,
#templateWrap #templateFlame #bodyClump .preTopEntry-button__entered {
    margin: 0 auto 16px;
}

#templateWrap #templateFlame #bodyClump .preTopEntryBtn {
    position: relative;
    display: block;
    margin: 0 auto 15px;
    width: 560px;
    height: auto;
    background-color: #bf0000;
    border-radius: 40px;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    color: #fff !important;
    font-weight: bold;
    line-height: 1.2;
    box-sizing: border-box;
}


#templateWrap #templateFlame #bodyClump a p.preTopEntryBtn.preTopEntryBtn--dl {
    font-size: 15px;
    padding: 17px 0px 15px 0;
    width: 275px;
    margin: 0;
    text-align: center;
}


#templateWrap #templateFlame #bodyClump .preTopEntryBtn--dl::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: -4px 0 0 7px;
    background: url(https://books.rakuten.co.jp/event/campaign/blackfriday/img/20231121/icon_another-link.png) no-repeat;
    background-size: 16px 16px;
    vertical-align: middle;
}


#templateWrap #templateFlame #bodyClump .preTopEntryBtn--entered {
    padding: 25px 0;
    background: #ccc;
    color: #6b6b6b !important;
}
#templateWrap #templateFlame #bodyClump p.dlTxt {
    color: #333;
    font-size: 15px;
    font-weight: bold;
    margin: 25px 0 10px;
    background: none;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__entered.entried_btn {
    width: 560px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__entered.entried_btn a.preTopEntryBtn {
    width: 275px !important;
    display: inline-block;
    margin: 0 auto !important;
    padding: 0 !important;
}

#templateWrap #templateFlame #bodyClump .preTopEntryBtn.preTopEntryBtn--dl {
    padding: 12px 0;
    width: 275px;
}

#templateWrap #templateFlame #bodyClump .preTopEntryBtn__text {
    font-size: 20px;
    color: #fff;
}

#templateWrap #templateFlame #bodyClump .preTopEntryBottomWrap {
    width: 560px;
    height: 80px;
    margin: 0 auto 16px;
}

#templateWrap #templateFlame #bodyClump .rcEntryButton-status--applied .preTopEntry-button .preTopEntry-button__default,
#templateWrap #templateFlame #bodyClump .rcEntryButton-status--entered .preTopEntry-button .preTopEntry-button__default {
    display: none !important;
}

#templateWrap #templateFlame #bodyClump .rcEntryButton-status--applied .preTopEntry-button .preTopEntry-button__applied,
#templateWrap #templateFlame #bodyClump .rcEntryButton-status--entered .preTopEntry-button .preTopEntry-button__entered {
    display: block;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button .preTopEntry-button__entered,
#templateWrap #templateFlame #bodyClump .preTopEntry-button .preTopEntry-button__applied {
    display: none;
}

#templateWrap #templateFlame #bodyClump .rc-toTop {
    bottom: 24px;
}

#templateWrap #templateFlame #bodyClump .btnBorder,
#templateWrap #templateFlame #bodyClump .btnFilled {
    position: relative;
    display: block;
    height: 70px;
    line-height: 70px;
    border: solid 1px #fefcf0;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    color: #fefef4;
    width: 500px;
    margin-left: auto;
    margin-right: auto;
}
#templateWrap #templateFlame #bodyClump .btnBorder:before,
#templateWrap #templateFlame #bodyClump .btnFilled:before {
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: solid 14px transparent;
    border-right: solid 14px #fff;
    border-bottom: transparent;
    border-left: transparent;
    bottom: 6px;
    right: 5px;
}
#templateWrap #templateFlame #bodyClump .btnBorder--black {
    border: solid 2px #000;
    color: #000;
    font-weight: bold;
    width: 500px;
    font-size: 20px;
    height: 60px;
    line-height: 60px;
    margin: 32px auto 12px;
}
#templateWrap #templateFlame #bodyClump .btnBorder--black:before {
    border-top: solid 7px transparent;
    border-right: solid 7px #000;
    border-bottom: solid 7px #000;
    border-left: solid 7px transparent;
    bottom: 6px;
    right: 5px;
}
#templateWrap #templateFlame #bodyClump .btnFilled--green {
    border: none;
    border-radius: 4px;
    background: #006800;
    font-size: 22px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff !important;
    text-decoration: none !important;
}
#templateWrap #templateFlame #bodyClump .btnFilled--green span {
    color: #fff !important;
}
#templateWrap #templateFlame #bodyClump .btnFilled--green:hover {
    color: #fff !important;
    text-decoration: none !important;
    opacity: 0.8;
}
#templateWrap #templateFlame #bodyClump .multiBtnWrapper {
    width: 500px;
    margin-left: auto;
    margin-right: auto;
}

#templateWrap #templateFlame #bodyClump .multiBtnWrapper .btnFilled--green {
    width: 238px;
    float: right;
    font-size: 20px !important;
    line-height: 1.2 !important;
}
#templateWrap #templateFlame #bodyClump .multiBtnWrapper .btnFilled--green span {
    padding-top: 13px;
    display: block;
    box-sizing: border-box;
}
#templateWrap #templateFlame #bodyClump .multiBtnWrapper .btnFilled--green:first-child {
    float: left;
}

#templateWrap #templateFlame #bodyClump .preTopEntry-button__applied .preTopEntryBtn::before,
#templateWrap #templateFlame #bodyClump .preTopEntry-button__entered .preTopEntryBtn::before {
    display: none;
}

#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .preTopEntry-button__default a, 
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .preTopEntry-button__applied a, 
#templateWrap #templateFlame #bodyClump .modal-content .modalBox .inner .preTopEntry-button__entered a {
    height: 57px;
}



/*-------------------------------------------
entryAfter：coupon
--------------------------------------------*/
#couponArea {
    margin: 20px calc(50% - 444px) 0;
    text-align: center;
    padding: 20px;
    background: #fffeef;
}
#couponArea ul.note-txt {line-height: 1.6;margin-top: 10px;}
#couponArea li {
    font-size: 13px;
    text-align: center;
}
#couponArea p {
    font-family: 'ヒラギノ角ゴ StdN','Hiragino Kaku Gothic StdN','ＭＳ Ｐゴシック','MS PGothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', sans-serif;
    font-weight: bold;
    margin-bottom: 10px;
}
#couponArea p.title-txt {
    color: #be0707;
    font-weight: bold;
    font-size: 22px;
}
#couponArea p.title-txt span {
    font-size: 25px;
    color: #be0707;
}
#couponArea p.title-txt b {
    font-size: 38px;
    color: #be0707;
}
.couponbox {
    background: none;
    padding: 10px 0 0;
    box-sizing: border-box;
}
.couponbox .ttlWrapper .coupon-box{
    box-sizing: border-box;
    position: relative;
    padding: 2.4vw;
    margin: 0 0 6vw;
    border-radius: 8px;
    text-align: center;
    font-size: 2.6vw;
    border: solid 2px #ddd;
}
.couponbox .ttlWrapper .coupon-box::before{
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 10px solid #FFF;
    z-index: 2;
}
.couponbox .ttlWrapper .coupon-box_sub-ttl{
    font-size: 3vw;
}
.couponbox .ttlWrapper .coupon-box_ttl{
    font-size: 6.2vw;
    font-weight: 700;
    color: #ff9800;
}
.couponbox .ttlWrapper .coupon-box_ttl > b{
    font-size: 7.2vw;
}
.couponbox .ttlWrapper .coupon-box_note{
    font-size: 2.6vw;
    color: #444;
}
.couponbox .ttlWrapper .coupon-box::after{
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    margin-left: -13px;
    border: 13px solid transparent;
    border-top: 13px solid #ddd;
    z-index: 1;
}
.couponbox ul.couponList {
    display: flex;
    justify-content: center;
    margin: 0 2vw;
}
.couponbox ul.couponList li {
    margin: 0px 0 0vw;
}
.couponbox ul.couponList li:hover {
    filter: brightness(1.1);
}
.couponbox ul.couponList li a {
    width: 618px;
    height: 110px !important;
    display: flex;
    justify-content: space-between;
    background: url("https://image.books.rakuten.co.jp/books/img/event/supersale/20240304/img/coupon-bg.png") no-repeat;
    background-size: 100%;
    text-decoration: none;
}
.couponbox ul.couponList li a span.coupon-linkTxt {
    width: 470px;
    color: #ffffff;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    padding: 23px 0 20px 30px;
    box-sizing: border-box;
}
.couponbox ul.couponList li a span.coupon-linkTxt small {
    color: #ffffff;
    display: block;
    font-size: 20px;
    font-weight: normal;
}
.couponbox ul.couponList li a span.coupon-linkTxt b {
    color: #ffffff;
    font-weight: bold;
    font-size: 41px;
}
.couponbox ul.couponList li a strong {
    color: #c53e3d;
    font-size: 20px;
    display: block;
    padding: 43px 30px 10px 0;
}
#couponArea .entrydetail {
    display: flex;
    justify-content: center;
    text-align: center;
    width: 80%;
    margin: auto;
}
#couponArea .entrydetail p {
    text-align: center;
}
#couponArea .entrydetail {
    display: flex;
    justify-content: center;
}
#couponArea .entrydetail li {
    margin: 0;
    font-size: 13px;
    text-align: center;
}
#couponArea .entrydetail li:nth-child(1){
    width: 58%;
}
#couponArea .entrydetail li:nth-child(2){
    width: 42%;
}
#couponArea ul.note-txt {
    line-height: 1.6;
    margin: 10px 0;
}






