/* common
-------------------------------------*/
@media screen and (max-width: 767px) {
    .btn.submit{
        width: 90vw;
        max-width: 400px;
        height: 50px;
        margin: 30px auto 0;
    }
    .btn button{
        width: 100%;
        height: 100%;
        font-size: 13px;
    }
    .btn.submit button{
        position: relative;
        background: #000000;
        color: #fff;
    }
    .btn.submit button::before{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 17px;
        border-top: 1px solid #fff; 
    }
    .btn.submit button::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 8px;
        margin: -2px 0 0;
        border-top: 1px solid #fff; 
        transform: rotate(30deg);
    }
    .btn.submit button:hover{
        background: #000000cc;
        transition: .3s;
    }
    .btn.back button{
        background: #fff;
        border: 1px solid #bbb;
    }
    .btn.back button:hover{
        border: 1px solid #3E9CCD;
        transition: .3s;
    }
}
@media screen and (min-width: 768px) {
    .btn.submit{
        width: 360px;
        height: 58px;
        margin: 30px auto 0;
    }
    .btn button{
        width: 100%;
        height: 100%;
        font-size: 16px;
    }
    .btn.submit button{
        position: relative;
        background: #000000;
        color: #fff;
    }
    .btn.submit button::before{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 17px;
        border-top: 1px solid #fff; 
    }
    .btn.submit button::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 40px;
        width: 8px;
        margin: -2px 0 0;
        border-top: 1px solid #fff; 
        transform: rotate(30deg);
    }
    .btn.submit button:hover{
        background: #000000cc;
        transition: .3s;
    }
    .btn.back button{
        background: #fff;
        border: 1px solid #bbb;
    }
    .btn.back button:hover{
        border: 1px solid #3E9CCD;
        transition: .3s;
    }
}

/* cartIndex
-------------------------------------*/
@media screen and (max-width: 767px) {
    #cartIndex{
        padding: 10px 0 80px;
    }
    #cartIndex #infoArea{
        margin: 0 0 60px;
    }

    #cartIndex #infoArea .box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 30px 20px 10px;
        margin: 0 0 20px;
        background: #f2f2f2;
        border-top: 2px solid #000000;
        border-bottom: 1px solid #ccc;
    }
    #cartIndex #infoArea .box:nth-of-type(2){
        padding: 20px 20px 0;
    }
    #cartIndex #infoArea .box dt{
        width: 50%;
        margin: 0 0 20px;
    }
    #cartIndex #infoArea .box dd{
        width: 50%;
        margin: 0 0 20px;
        font-size: 16px;
        text-align: right;
    }
    #cartIndex #cartList{
        width: 100%;
        margin: 40px 0 20px;
        border-top: 2px solid #000000;
        
    }
    #cartIndex #cartList li{
        position: relative;
        display: flex;
        flex-wrap: wrap;
        padding: 20px 2vw;
        margin: 0;
        background: #f2f2f2;
        border-bottom: 1px solid #ccc;
    }

    #cartIndex #cartList .pic{
/*        display: table-cell;*/
        width: 90px;
        height: 90px;
        overflow:  hidden;
        background: #f2f2f2;
/*        text-align: center;
        vertical-align: middle;*/
    }
    #cartIndex #cartList .pic img{
        width: 90px;
        height: 90px;
        object-fit: contain;
    }
    #cartIndex #cartList .data{
        width: calc(90vw - 90px);
        margin: 0 0 0 2vw;
        font-size: 12px;
    }
    #cartIndex #cartList .data .productName a{
        display: inline-block;
        margin: 10px 0;
        color: #4d4d4d;
        font-size: 13px;
        text-decoration: underline;
    }
    #cartIndex #cartList .data .price{
        
    }
    #cartIndex #cartList .data .price .taxIn{
        font-size: 12px;
        font-weight: normal;
    }
    #cartIndex #cartList .data .point{
        display: block;
    }

    #cartIndex #cartList .data .quantity{
        margin: 10px 0 0;
    }
    #cartIndex #cartList .del_btn{
        position: absolute;
        right: 4vw;
        bottom: 20px;
        width: 80px;
        height: 27px;
        padding: 3px 0 0;
        background: #fff;
        color: #FF1D25;
        letter-spacing: 0.2em;
        text-align: center;
        cursor: pointer;
    }
    #cartIndex #cartList .edit_btn {
        position: absolute;
        right: 4vw;
        bottom: 55px;
        width: 80px;
        height: 27px;
        padding: 3px 0 0;
        background: #5d5d5d;
        color: #ffffff;
        letter-spacing: 0.2em;
        text-align: center;
        cursor: pointer;
    }
    #cartIndex #carts_form{
        width: 100%;
    }
    #cartIndex .noData{
        width: 100%;
        padding: 100px 0;
        text-align: center;
    }
    #cartProductBack {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        z-index: 9999;
    }
    #cartProductEdit {
        display: none;
        position: fixed;
        z-index: 10000;
        top: 0;
        left: 0;
        width: 80%;
        max-height: 80%;
        overflow-y: scroll;
        padding: 20px;
        background-color: white;
        border-radius: 20px;
        box-shadow: 2px 2px 10px 2px rgba(0 ,0, 0, 0.2);
    }
    #cartProductEdit ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    #cartProductEdit ul li {
        width: 70%;
        padding: 10px 0;
    }
    #cartProductEdit ul li h2 {
        font-size: 110%;
        font-weight: 600;
        border-bottom: solid 1px rgba(0, 0, 0, 0.2);
        padding-bottom: 5px;
    }
    #cartProductEdit ul li p {
        text-align: left;
        font-size: 90%;
    }
    #cartProductEdit ul li select {
        width: 100%;
        height: 30px;
    }
    #cartProductEdit ul li button {
        max-width: 450px;
        width: calc(100% - 80px);
        height: 48px;
        background: #000000;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        cursor: pointer;
    }
    #cartProductEdit ul li.productName p {
        text-align: center;
        font-size: 120%;
    }
}
@media screen and (min-width: 768px) {
    #cartIndex{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        flex-direction: row-reverse;
        padding: 10px 0 100px;
    }
    #cartIndex #infoArea{

        width: 370px;
    }

    #cartIndex #infoArea .box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 20px 30px 0;
        margin: 0 0 20px;
        background: #f2f2f2;
        border-top: 2px solid #000000;
        border-bottom: 1px solid #ccc;
    }
    #cartIndex #infoArea .box dt{
        width: 50%;
        margin: 0 0 20px;
    }
    #cartIndex #infoArea .box dd{
        width: 50%;
        margin: 0 0 20px;
        text-align: right;
    }
    #cartIndex #cartList{

        width: 690px;
        border-top: 2px solid #000000;
        
    }
    #cartIndex #cartList li{
        position: relative;
        display: flex;
        padding: 20px 30px;
        margin: 0;
        background: #f2f2f2;
        border-bottom: 1px solid #ccc;
    }

    #cartIndex #cartList .pic{
/*        display: table-cell;*/
        width: 130px;
        height: 130px;
        overflow:  hidden;
        background: #f2f2f2;
/*        text-align: center;
        vertical-align: middle;*/
    }
    #cartIndex #cartList .pic img{
        width: 130px;
        height: 130px;
        object-fit: contain;
    }
    #cartIndex #cartList .data{
        margin: 0 0 0 30px;
        font-size: 16px;
    }
    #cartIndex #cartList .data .productName a{
        display: inline-block;
        margin: 10px 0;
        color: #4d4d4d;
        text-decoration: underline;
    }
    #cartIndex #cartList .data .price{
        font-weight: bold;
    }
    #cartIndex #cartList .data .price .taxIn{
        font-size: 12px;
        font-weight: normal;
    }
    #cartIndex #cartList .data .point{
        font-size: 14px;
    }
    #cartIndex #cartList .data .point::before{
        content: "-";
        display: inline-block;
        margin: 0 15px;
    }
    #cartIndex #cartList .data .quantity{
        margin: 10px 0 0;
        font-size: 14px;
    }
    #cartIndex #cartList .del_btn{
        position: absolute;
        right: 30px;
        bottom: 20px;
        width: 80px;
        height: 40px;
        padding: 7px 0 0;
        background: #fff;
        color: #FF1D25;
        letter-spacing: 0.2em;
        text-align: center;
        cursor: pointer;
    }
    #cartIndex #cartList .edit_btn {
        position: absolute;
        right: 120px;
        bottom: 20px;
        width: 80px;
        height: 40px;
        padding: 7px 0 0;
        background: #5d5d5d;
        color: #ffffff;
        letter-spacing: 0.2em;
        text-align: center;
        cursor: pointer;
    }
    #cartIndex #carts_form{
        width: 100%;
    }
    #cartIndex .noData{
        width: 100%;
        padding: 100px 0;
        text-align: center;
    }
    #cartProductBack {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        z-index: 9999;
    }
    #cartProductEdit {
        display: none;
        position: fixed;
        z-index: 10000;
        top: 0;
        left: 0;
        width: 500px;
        padding: 20px;
        background-color: white;
        border-radius: 20px;
        box-shadow: 2px 2px 10px 2px rgba(0 ,0, 0, 0.2);
    }
    #cartProductEdit ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    #cartProductEdit ul li {
        width: 70%;
        padding: 10px 0;
    }
    #cartProductEdit ul li h2 {
        font-size: 120%;
        font-weight: 600;
        border-bottom: solid 1px rgba(0, 0, 0, 0.2);
        padding-bottom: 5px;
    }
    #cartProductEdit ul li p {
        text-align: left;
        font-size: 90%;
    }
    #cartProductEdit ul li select {
        width: 100%;
        height: 30px;
    }
    #cartProductEdit ul li button {
        max-width: 450px;
        width: calc(100% - 80px);
        height: 48px;
        background: #000000;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        cursor: pointer;
    }
    #cartProductEdit ul li.productName p {
        text-align: center;
        font-size: 120%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1099px) {
    #cartIndex #infoArea{
        width: 100%;
        max-width: 800px;
        margin: 0 auto 50px;
    }
    #cartIndex #cartList{
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
    }
}