@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    sale.css
*
*
------------------------------------------------------------------------------------------ */


/*------------------------------------------------------------------------------------------
*
*
    max-width: 640px
*
*
------------------------------------------------------------------------------------------ */
@media screen and (max-width: 640px) {
/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
header{
    padding: 47px 0 0 0;
    text-align: left;
    z-index: 100;
}

header a{
    font-size: 12px;
    font-weight: bold;
}

header .head_nav{
    width: calc(100% + 20px);
    letter-spacing: -.40em;
    display: inline-block;
    padding: 0 0 20px 8px;
    position: relative;
}

header .help,
header .head_cart,
header .head_store{
    margin: 0 18px 0 0;
    letter-spacing: 0;
    display: inline-block;
    text-align: center;
    white-space: nowrap;
}

header .logo{
    width: inherit;
    position: absolute;
    top: 18px;
    left: -10px;
    z-index: 100;
}

header .logo img{
    width: 203px;
}

header .logo_books{
    top: 12px;
    right: 0px;
}

.is_pc header .help a,
.is_sp header .head_cart a,
.is_sp header .head_store a{
    transition: opacity .1s ease .0s;
}

.is_pc header .help a:hover,
.is_pc header .head_cart a:hover,
.is_pc header .head_store a:hover,
.is_sp header .help a.touch,
.is_sp header .head_cart a.touch,
.is_sp header .head_store a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}


/* --------------------------------------------------
*
    #mv
*
-------------------------------------------------- */
#mv{
    margin-bottom: 40px;
    text-align: center;
}

#mv h1 img{
    opacity: 1 !important;
}

#mv .img_book{
    margin: 20px 0;
    text-align: center;
}

#mv .img_book img{
    width: 75%;
    max-width: 320px;
}

#mv .book_info{
    display: inline-block;
    text-align: left;
}

#mv .book_info h3{
    font-size: 15px;
    font-weight: bold;
    line-height: 1.666em;
}

#mv .book_info p{
    font-size: 15px;
    line-height: 1.555em;
}

#mv .book_info .cart{
    text-align: center;
    padding: 20px 0 0 0;
}

#mv .book_info .cart .stock{
    display: block;
    font-size: 13px;
    position: relative;
    top: -15px;
}

#mv .book_info .cart img{
    width: 187px;
}

.is_pc #mv .book_info .cart img:hover,
.is_sp #mv .book_info .cart img.touch{
    opacity: .7;
}

#mv .desc{
    padding: 15px 15px 0 15px;
    text-align: left;
}

#mv .desc p{
    margin: 0 0 25px 0;
    font-size: 15px;
    line-height: 1.818em;
    letter-spacing: .1em;
}

#mv .desc p .b{
    margin: 25px 0 0 0;
    display: block;
    font-size: 14px;
    font-weight: bold;
}

#mv .coming{
    margin: 1em 0 2em 0;
    display: block;
    font-size: 13px;
}



/* --------------------------------------------------
*
    section
*
-------------------------------------------------- */
section .inner{
    text-align: left;
    padding: 0 0;
}

section h2{
    padding-left: .5em;
    text-align: center;
    font-size: 20px;
    line-height: 1.5em;
    letter-spacing: .1em;
    text-indent: -.5em;
    font-weight: bold;
}


/* --------------------------------------------------
*
    #book_detail
*
-------------------------------------------------- */
#book_detail{
    margin: 0 0 45px 0;
    text-align: center;
}

#book_detail .img_slider img{
    width: 100%;
}

#book_detail h2{
    margin: 0 0 15px 0;
}

#book_detail .notes{
    margin: 0 0 40px 0;
    font-size: 13px;
    text-align: center;
    letter-spacing: .1em;
}

#book_img_slider{
    margin: 0 0 65px 0;
    position: relative;
}

#book_detail .img_slider{
    background-color: #fff;
    box-shadow: 0 0 10px #fff;
}

#book_detail .img_slider img{
    opacity: 1 !important;
}

#book_detail .btn_prev,
#book_detail .btn_next{
    width: 12px;
    height: 17px;
    background-image:url(../images/sale/parts_arrow_left.png);
    background-repeat: no-repeat;
    background-size: 12px;
    position: absolute;
    background-position: center;
    top: calc(50% - 9px);
    left: 5px;
    z-index: 2;
    cursor: pointer;
    transition: opacity .15s ease;
}

#book_detail .btn_next{
    background-image:url(../images/sale/parts_arrow_right.png);
    left: inherit;
    right: 5px;
}

.is_pc #book_detail .btn_prev:hover,
.is_pc #book_detail .btn_next:hover,
.is_sp #book_detail .btn_prev.touch,
.is_sp #book_detail .btn_next.touch{
    opacity: .7 !important;
    transition: opacity .15s ease .05s;
}

#book_detail .thumb{
    display: none;
}



/* --------------------------------------------------
*
    #product
*
-------------------------------------------------- */
#product{
    
}

#product article{
    margin-bottom: 45px;
}

#product h2{
    margin: 0 0 35px 0;
}

#product .img{
    margin: 0 0 15px 0;
}

#product .img img{
    width: 100%;
}

#product .info{
    margin: 0 0 25px 0;
    padding: 10px 0 0 0;
    text-align: center;
}

#product .info .col_l{
    margin: 0 0 25px 0;
    vertical-align: middle;
}

#product .info .col_r{
    vertical-align: middle;
}

#product .info h3{
    margin: 0 0 10px 0;
    font-size: 18px;
    letter-spacing: .1em;
    font-weight: bold;
}

#product .info .price{
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 1.777em;
}

#product .info .btn_cart img{
    width: 187px;
}

#product .info .btn_cart .stock{
    display: block;
    margin-top: -5px;
    font-size: 13px;
    position: relative;
}

#product .coming{
    line-height: 1.8em;
    display: block;
    font-size: 13px;
}

/* --------------------------------------------------
*
    #special
*
-------------------------------------------------- */
#special{
    margin-bottom: 35px !important;
    padding-top: 0;
    padding-bottom: 0;
}

#special .s{
    margin-top: 2px;
}

#special .img{
    margin: 0 0 45px 0;
}

#special .caption{
}


/* --------------------------------------------------
*
    #sales_info
*
-------------------------------------------------- */
#sales_info{
    padding-top: 45px;
    padding-bottom: 0;
}

#sales_info .desc{
    margin: 0 0 35px 0;
}



/* --------------------------------------------------
*
    #intro
*
-------------------------------------------------- */
#intro{
    margin: 0;
}

#intro h2{
    margin: 0 0 25px 0;
}

#intro .line{
    margin: 0;
    left: 0 !important;
}

#intro .line.top{
    margin-bottom: 20px;
}

#intro .line.mid{
    margin: 25px 0 25px 0 !important;
}

#intro .line.btm{
    margin-top: 0;
}

#intro .detail{
    display: block;
}

#intro .detail a{
    font-weight: bold;
    color: #003269;
}



/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer .pic.b{
    text-align: center;
    padding: 60px 10px;
}

footer .pic.b img{
    width: 100%;
}



}




/* ------------------------------------------------------------
*
    .img_slider
     -> Setting jQuery Plugin slick.min.js
*
------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 640px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
.slick-dotted.slick-slider{ margin: 0;}

.slick-dots{
    width: 100% !important;
    display: table !important;
    text-align: center;
    vertical-align: middle;
    position: absolute;
    left: 0;
    top: inherit !important;
    bottom: -20px;
    z-index: 2;
}

.slick-dots li{
    margin: 0 5px;
}

.slick-dots li,
.slick-dots li button{
    width: 8px;
    height: 8px;
    display: inline-block;
    border: 0;
    border-radius: 8px;
    outline: none;
    position: relative;
}

button::-moz-focus-inner {
    border: 0;
}

.slick-dots li button:before{
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 6px;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
}

.is_sp .slick-dots li.touch button:before,
.is_pc .slick-dots li:hover button:before,
.slick-dots li.slick-active button:before{
    background-color: #aaa;
    opacity: 1;
}


} /* ----- max-width: 640px ----- */