@charset "utf-8";

/* ==================================================================
    cart.css

=================================================================== */

/* -----------------------------------------
       □ cart
----------------------------------------- */

.text-center{
    text-align: center;
}
.text-center img{
    display: inline-block;
    vertical-align: middle;
}
h4{
    margin: 40px auto;
}
.radiobox{
    line-height:2;
}

#step_flow .backArea{
    margin: 40px auto;
}

.contents * + .nextArea {
    margin-top: 40px;
}


.contents .nextArea .buttonStyle._blue a,
.contents .nextArea .buttonStyle._blue button {
    margin: 0 0 30px 0;
}

#step_flow .note{
    font-size: 1.2rem;
}

/* -----------------------------------------
       □ body.cart
----------------------------------------- */
    body.cart table.tableStyle th,
    body.cart table.tableStyle td {
        border: 1px solid #D4D4D4;
        padding: 10px;
    }

    body.cart table.tableStyle td a {
        display: inline-block;
        color: #333;
        text-decoration: underline;
        transition: 0.4s;
        line-height: 1.2;
    }

    body.cart table.tableStyle td ul.buttons{
        margin-top: 6px;
    }
    body.cart table.tableStyle td ul.buttons li a{
        display: inline-block;
        text-decoration: none;
        background: #666666;
        color: #fff;
        font-size: 1.1rem;
        padding: 6px 8px;
        border-radius: 4px;
        width: 60%;
        transition: .3s;
    }
    body.cart table.tableStyle td ul.buttons li a:hover{
        background: #333;
    }
    body.cart table.tableStyle td ul.buttons li + li{
        margin-top: 4px;
    }

/* --------------------------------
   □ 追従　estimate
-------------------------------- */

#estimate{
    background-color: #EFEFEF;
    margin-top: 60px;
    position: relative;
}
    #estimate:before{
      content: '';
      width: 15px;
      height: 15px;
      border: 0;
      border-bottom: solid 3px #333;
      border-right: solid 3px #333;
      position: absolute;
      top: -30%;
      left: 50%;
      transform: rotate(45deg);
    }
#estimate > .container{
    padding: 25px 0;
}
#estimate .calculation{
    width: 125%; /* 1350px */
    margin-left: -130px;
    display: flex;
    justify-content: space-between;
}
#estimate h4{
    background: none;
    display: inline-block;
    width: 172px;
    margin: 0;
    line-height: 62px;
}
#estimate .price_ {
     width: 607px;
     height: 88px;
     margin: 0;
    }
#estimate .price.container{
    display: table;
    width: 607px;
    height: 62px;
    box-sizing: border-box;
    padding: 10px 20px;
    border: 3px solid #DF2C2C;
    background-color: #fff;
    margin: 0;
}
#estimate .price.container .box{
    display: table-cell;
    text-align: right;
    font-weight: 700;
    font-size: 100%;
    vertical-align: middle;
}
    #estimate .price.container .box.title{
        width: 10%;
        text-align: left;
    }
    #estimate .price.container .box.num{
        font-size: 256%;
        color: #DF2C2C;
        line-height: 1;
    }
    #estimate .price.container .box.yen{
        width: 20%;
    }
    #estimate .caution{
        font-size: 70%;
        padding-left: 0px;
        margin-top: 10px;
        display: inline-block;
    }
    #estimate .buttonStyle._blue a {
        height: 88px;
        margin: 0;
        line-height: 88px;
        padding: 0 40px;
    }


/* -----------------------------------------
       □ cart/login
----------------------------------------- */

.contents section.mb0{
    margin-bottom: 0
}
.login .w509{
    width: 509px;
    text-align: center;
    margin: auto;
}
.login .w928{
    width: 928px;
    text-align: center;
    margin: auto;
}
.login .w928 input{
    margin-top: 10px;
}
.login .w928 input:last-child{
    margin-bottom: 20px;
}
.login .w928 input[type="checkbox"] {
    margin: 20px auto 50px auto;
}
.login .text._no_mb{
    margin-bottom: 0;
}
.login .text._mb50{
    margin-bottom: 50px;
}

/* -----------------------------------------
       □ cart/user
----------------------------------------- */

.contents .mail table.tableStyle {
    margin-top: 30px;
}
.contents .mail table.tableStyle:first-child {
    margin-top: 70px;
}

.contents form input.text.short {
    width: 45%;
}
table.tableStyle th, table.tableStyle td {
    font-size: 100%;
}

/*
   スマホ
------------------------------------------------------------------------------------------------ */
@media only screen and
(max-width : 767px) {

/* -----------------------------------------
       □ body.cart
----------------------------------------- */
    body.cart table.tableStyle{
        font-size: 84%;
    }
    body.cart table.tableStyle td {
        padding: 10px 6px;
    }
    body.cart table.tableStyle td figure{
        margin:0;
    }


    body.cart table.tableStyle th {
        width: auto;
        padding: 10px 6px;
    }

    body.cart table.tableStyle th.subtotal {
        width: 4.5em;
    }

    body.cart table.tableStyle td a {
        color: #333;
        text-decoration: underline;
    }
/* -----------------------------------------
       □ 追従　estimate
----------------------------------------- */

    #estimate{
        margin-top: 100px;
        margin-bottom: 50px;
    }
        #estimate:before{
          content: '';
          width: 15px;
          height: 15px;
          border: 0;
          border-bottom: solid 3px #333;
          border-right: solid 3px #333;
          position: absolute;
          top: -20%;
          left: 50%;
          transform: rotate(45deg);
        }

    #estimate > .container{
        padding: 20px 0;
    }
    #estimate .calculation{
        width: 100%;
        margin-left: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #estimate h4{
        width: 100%;
        margin: 0;
        line-height: 1;
        font-size: 128%;
        padding: 0 0 20px 0;
    }
    #estimate .price.container{
        width: 100%;
        height: 50px;
    }
    #estimate .price.container .box{
        font-size: 87%;
        height: auto;
        text-align: right;
    }
        #estimate .price.container.total .box.title{
        }
        #estimate .price.container.total .box.num{
            font-size: 125%;
        }
        #estimate .price.container.total .box.yen{
        }
    #estimate .buttonStyle._blue{
          width: 100%;
          height: 52px;
        margin-top: 1em;
      }
        #estimate .buttonStyle._blue a {
            display: block;
            width: 100%;
            height: 52px;
            line-height: 52px;
            margin: 10px auto;
        }
        #estimate .caution{
            font-size: 88%;
            padding-left: 0;
        }

    #step_flow .backArea{
        margin: 20px 2%;
    }
    #step_flow .backArea ._blue button{
        margin-top: 0px;

    }

/* -----------------------------------------
       □ cart/login
----------------------------------------- */

    .login .w509 {
        width: auto;
    }
    .login .w928 {
        width: auto;
    }
    .login .container h3{
        margin-bottom: 30px;
    }
}
