@charset "UTF-8";

/*-----------------------------------------*/
/*layout*/
/*-----------------------------------------*/

/*inner*/
.inner{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 5% !important;
    padding-left: 5% !important;
}

/*col*/
.col02:after,.col02:before,
.col03:after,.col03:before {display: table;content: '';}
.col02:after,
.col03:after {clear: both;}
.col02,
.col03{zoom: 1;}

.col02 > *{position: relative;float: left;}
.col02 > *{width: 48% !important;margin-top: 20px;}
.col02 > *:nth-child(odd){clear:both;margin-right: 4%;}
.col02 > *:nth-child(-n+2){margin-top: 0;}

.col03 > *{position: relative;float: left;}
.col03 > *{width: 32% !important;}
.col03 > *:nth-child(2n){margin-left: 2%;}
.col03 > *:nth-child(3n){margin-left: 2%;}

.col02.separator > *{
    margin-top: 0;
}
.col02.separator > *:nth-child(odd):before{
    position: absolute;
    top: 0;
    right: -4%;
    width: 1px;
    height: 100%;
    content:'';
    background: #f5f5f5;
}
.bd_top{position: relative;}
.bd_top:after{
    position: absolute;
    top: 0;
    left: -4%;
    width: 108%;
    height: 1px;
    content:'';
    background: #f5f5f5;
}
.bd_btm{position: relative;}
.bd_btm:after{
    position: absolute;
    bottom: 0;
    left: -4%;
    width: 108%;
    height: 1px;
    content:'';
    background: #f5f5f5;
}

.tbl{
    display: table;
    width: 100%;
}
.tbl > *{
    display: table-cell;
    vertical-align: middle;
}

/*-----------------------------------------*/
/*h1 h2 h3*/
/*-----------------------------------------*/

h1{
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}
h2,
h3{
    font-size: 16px;
    font-weight: 500;
}

h2.ic{
    display: inline-block;
    padding-left: 30px;
    color: #FFF !important;
    background: url("../images/icon/home_w.png") no-repeat;
    -webkit-background-size: 23px auto;
    -o-background-size: 23px auto;
    background-size: 23px auto;
}
h2.ic.pay{background-image: url("../images/common/pay_w.png");}
h2.ic.pre{background-image: url("../images/common/pre_w.png");}
h2.ic.prec{background-image: url("../images/common/prec_w.png");}
h2.ic.cmt{background-image: url("../images/common/cmt_w.png");}
h2.ic.home{background-image: url("../images/common/home_w.png");}
h2.ic.info{background-image: url("../images/common/info_w.png");}
h2.ic.item{background-image: url("../images/common/item_w.png");}
h2.ic.pict{background-image: url("../images/common/pict_w.png");}
h2.ic.time{background-image: url("../images/common/time_w.png");}
h2.ic.with{background-image: url("../images/common/with_w.png");}
h2.ic.card{background-image: url("../images/common/card_w.png");}
h2.ic.ribbon{background-image: url("../images/common/ribbon_w.png");}
h2.ic.message{background-image: url("../images/common/message_w.png");}

h2 .icon{
    display: inline-block;
    width: 23px;
    margin-top: 1px;
    margin-right: 0.7em;
    vertical-align: middle;
}

/*-----------------------------------------*/
/*parts*/
/*-----------------------------------------*/

/*link*/
a{
    text-decoration: underline;
    color: #0070C9;
}

/*color*/
.lred {color: #D63D5A !important;}
.dred {color: #993f4f !important;}
.lg   {color: #9E999B !important;}
.bg_ly{background-color: #fffef0!important;}
.bg_lg{background-color: #f8f8f8!important;}

/*hr*/
hr{
    margin: 25px 0;
    border: none;
    border-top: 1px solid #e4e4e4;
}

/*border*/
.bd{border: #d6d6d6 solid 1px !important;}
.bdt{border-top: #d6d6d6 solid 1px !important;}
.bdb{border-bottom: #d6d6d6 solid 1px !important;}
.bn{border: none;}
.bnt{border-top: none;}
.bnb{border-bottom: none;}

/*-----------------------------------------*/
/*button*/
/*-----------------------------------------*/

.head_btn{
    position: relative;
    height: 60px;
    -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 5px rgba(0,0,0,0.1);
}
.head_btn .btn{
    position: absolute;
    top: 7px;
    left: 3%;
    width: 40%;
    margin: 0;
    text-align: left;
}
.head_btn .btn > *{
    height: 44px;
    font-size: 13px;line-height: 44px;
}

.back_btn{
    margin-top: 20px;
    padding: 6px 3% 6px;
    text-align: right;
}
.back_btn .btn{
    margin-left: 0;
}

.btn{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.btn>*{
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 56px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: #D6D6D6;
    font-size: 18px;
    line-height: 55px;
}

/*cv*/
.btn.cv>*{
    border: #D55A64 solid 1px;
    background: -moz-linear-gradient(bottom, #f38a8a 0%, #eb7379 50%, #e4606a 100%);
    background: -webkit-linear-gradient(bottom, #f38a8a 0%,#eb7379 50%,#e4606a 100%);
    background: linear-gradient(to bottom, #f38a8a 0%,#eb7379 50%,#e4606a 100%);
    background-color: #eb7379;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(255,255,255,0.8) inset;
    box-shadow: 0px 0px 1px 1px rgba(255,255,255,0.8) inset;
}
.btn.cv>*:active{
    background: #D55A64;
    -webkit-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2) inset,0px 0px 3px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.2) inset,0px 0px 3px 0px rgba(0,0,0,0.2);
}

/*std*/
.btn.sd>*{
    color: #32292d;
    border: #d6d6d6 solid 1px;
    background: -moz-linear-gradient(bottom, #fefefe 0%, #fefefe 50%, #eeeeee 100%);
    background: -webkit-linear-gradient(bottom, #fefefe 0%,#fefefe 50%,#eeeeee 100%);
    background: linear-gradient(to bottom, #fefefe 0%,#fefefe 50%,#eeeeee 100%);
    background-color: #fefefe;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset,0px 3px 3px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset,0px 3px 3px 0px rgba(0,0,0,0.1);
}
.btn.sd>*:active{
    background: #efefef;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2) inset,0px 0px 3px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2) inset,0px 0px 3px 0px rgba(0,0,0,0.2);
}

/*ds*/
.btn>*:disabled, .btn>*.disabled,
.btn>*:disabled:active, .btn>*.disabled:active{
    color: #fff;
    border: #D6D6D6 1px solid;
    background: #D6D6D6;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/*size*/
.btn.high_m > *  {height: 50px;line-height: 50px;}
.btn.high_s > *  {height: 44px;line-height: 44px;}
.btn.high_ss > * {height: 40px;line-height: 40px;}

/*line*/
.btn.mlt_m > * {height: auto;padding: 18px 0 16px;line-height: 1.2;}
.btn.mlt_s > * {height: auto;padding: 12px 0 11px;line-height: 1.2;}
.btn.mlt_ss > * {height: auto;padding: 10px 0 8px;line-height: 1.2;}

/*font*/
.btn.fzl  > *{font-size: 18px !important;}
.btn.fzm  > *{font-size: 16px !important;}
.btn.fzs  > *{font-size: 14px !important;}
.btn.fzss > *{font-size: 13px !important;}
.btn.fz12 > *{font-size: 12px !important;}
.btn.fz11 > *{font-size: 11px !important;}
.btn.fz10 > *{font-size: 10px !important;}

/*tel*/
.btn.tel{width: 88% !important;}
.btn.tel>*{position: relative;padding: 0;}
.btn.tel img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 168px;
    height: 26px;
    margin-top: -13px;
    margin-left: -84px;
}

/*size別*/
.modal_inner .btn{
    margin-bottom: 0;
}
.modal_inner .btn > *{
    height: auto;padding: 12px 0 11px;
    font-size: 13px !important;line-height: 1.2;
}

.modal_inner .col02 .btn{
    display: table;
}
.modal_inner .col02 .btn > * {
    display: table-cell;
    vertical-align: middle;
    height: 55px;
}

.address_search .btn > *{font-size: 16px !important;}

.pickup_list .btn > *  {height: 50px;line-height: 50px;}
.pre_list .btn > * {
    height: 44px;
    font-size: 16px !important;line-height: 44px;
}

.btn_back{
    width: 40%;
    margin-top: 20px;
    margin-left: 0;
}
.btn_back > *{
    height: 44px;
    font-size: 14px;line-height: 44px;
}

.page_btn{margin-top: 30px;}
.page_btn .btn{width: 80%;}
.page_btn .btn > * {height: 50px;font-size: 16px;line-height: 50px;}

/*-----------------------------------------*/
/*title*/
/*-----------------------------------------*/

/*page_ttl*/
.page_ttl{
    padding: 25px 0;
    background-color: #fff;
}
.page_ttl .step{
    width: 58%;
    margin: 0 auto 0;
}

/*blk_ttl*/
.blk_ttl{
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 5% 12px;
    border-top: #E4E4E4 1px solid;
    border-bottom: #E4E4E4 1px solid;
    background-color: #FFF;
}

/*ord_ttl*/
.ord_ttl{
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 5% 12px;
    letter-spacing: -0.01em;
    color: #fff;
    background-color: #3e2530;
}
.ord_ttl h2{font-weight: 500;}
.ord_ttl .btn{
    position: absolute;
    top: 3px;
    right: 3%;
    width: 35%;
}
.ord_ttl .btn > *{
    height: 44px;
    font-size: 14px !important;line-height: 44px;
}

/*cnt_ttl*/
.cnt_ttl{
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 5% 12px;
    background-color: #fff;
}
.cnt_ttl h2{text-align: center;}

/*box_ttl*/
.box_ttl{
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 5% 12px;
    background-color: #f9f9f9;
}

/*-----------------------------------------*/
/*text*/
/*-----------------------------------------*/

.sub{
    font-size: 16px;
}
.txt{
    font-size: 12px;
}
*.blank{
    position: relative;
}
*.blank:after{
    position: absolute;
    top: 50%;
    right: -16px;
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -0.5em;
    content:'';
    background: url("../images/icon/blank_b.png") no-repeat right center;
    -webkit-background-size: 12px;
    -o-background-size: 12px;
    background-size: 12px;
}
*.link{
    display: inline-block;
    padding-right: 1.0em;
    padding-bottom: 0px;
    text-decoration: none !important;
    background: url("../images/icon/link_arw.png") no-repeat right center;
    -webkit-background-size: 8px auto;
    -o-background-size: 8px auto;
    background-size: 8px auto;
}

*.ac_link{
    display: inline-block;
    padding-right: 1.5em;
    padding-bottom: 0px;
    text-decoration: none !important;
    color: #0070C9;
    background: url("../images/icon/txt_arw_off.png") no-repeat right center;
    -webkit-background-size: 14px;
    -o-background-size: 14px;
    background-size: 14px;
}
.ac_box.on > * > *.ac_link{background-image: url("../images/icon/txt_arw_on.png");}


.txt .ic{
    display: inline-block;
    margin-right: 0.5em;
    vertical-align: middle;
}
.txt .ic img{
    width: 15px;
}

/*-----------------------------------------*/
/*counter*/
/*-----------------------------------------*/

.counter{
    position: relative;
    width: 150px;
}
.counter input,
.counter .val{
    position: relative;
    z-index: 1;
    width: 90% !important;
    height: 50px;
    margin: 0 5%;
    padding: 0;
    -webkit-user-select: none;  
    -moz-user-select: none;  
    -ms-user-select: none;  
    user-select: none;  
    text-align: center;
    border: none;
    background-color: #F5F5F5;
    font-size: 14px;
    line-height: 50px;
}
.counter .btn{
    position: absolute;
    z-index: 10;
    top: 0;
    left: auto;
    width: 50px;
    margin: 0 !important;
}
.counter .btn *{
    /*20171123 修正*/
    position: relative;
    height: 50px;
    padding: 0;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 1.0) inset, 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 1px 1px rgba(255, 255, 255, 1.0) inset, 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
    font-size: 0 !important;
    line-height: 1;
}
.pro_list .cart_col .counter .btn > *{font-size: 0 !important;}

.counter .btn *:before{
    display: block;
    width: 48px;
    height: 48px;
    content:'';
}

.counter .btn.minus{left: 0;}
.counter .btn.plus{right: 0;}
.counter .btn.minus *:before{
    background: url("../images/icon/minus.png") no-repeat center;
    -webkit-background-size: 15px auto;
    -o-background-size: 15px auto;
    background-size: 15px auto;
}
.counter .btn.plus *:before{
    background: url("../images/icon/plus.png") no-repeat center;
    -webkit-background-size: 15px auto;
    -o-background-size: 15px auto;
    background-size: 15px auto;
}
.counter .btn *:disabled,
.counter .btn *.disabled{/*20171128 修正*/
    -webkit-box-shadow: none;
    box-shadow: none;
}
.counter .btn.minus *:disabled:before,
.counter .btn.minus .disabled:before{/*20171113 修正*/
    background-image: url("../images/icon/minus_w.png");
}
.counter .btn.plus *:disabled:before,
.counter .btn.plus .disabled:before{/*20171113 修正*/
    background-image: url("../images/icon/plus_w.png");
}

.pro_list .counter{/*20171123 修正*/
    margin-top: 20px !important;
    margin-bottom: 10px;
    height: 51px;
}

.counter.size_m,
.pre_list .counter{/*20171123 修正*/
    width: 135px;
}
.counter.size_m input,
.counter.size_m .val,
.pre_list .counter input,
.pre_list .counter .val{/*20171123 修正*/
    position: relative;
    z-index: 1;
    width: 90%;
    height: 43px;
    margin: 0 5%;
    border: none;
    background-color: #F5F5F5;
    line-height: 43px;
}
.counter.size_m .btn,
.pre_list .counter .btn{/*20171123 修正*/
    width: 43px !important;
    margin-top: 0;
}
.counter.size_m .btn > *,
.pre_list .counter .btn > *{/*20171123 修正*/
    height: 43px !important;
}
.counter.size_m .btn *:before,
.pre_list .counter .btn *:before{/*20171123 修正*/
    display: block;
    width: 41px;
    height: 41px;
    content:'';
}
.pre_list .counter{/*20171123 修正*/
    margin-top: 16px !important;
    margin-bottom: 0;
    height: auto;
}

/*detail*/
.pro_list .r_box .counter{/*20171123 修正*/
    float: right;
    width: 135px;
    margin-top: 0 !important;
    height: 43px;
}
.pro_list .r_box .counter input,
.pro_list .r_box .counter .val{
    position: relative;
    z-index: 1;
    width: 90%;
    height: 43px;
    margin: 0 5%;
    border: none;
    background-color: #F5F5F5;
    line-height: 43px;
}
.pro_list .r_box .counter .btn{
    width: 43px !important;
    margin-top: 0;
}
.pro_list .r_box .counter .btn > *{height: 43px !important;}
.pro_list .r_box .counter .btn *:before{
    display: block;
    width: 41px;
    height: 41px;
    content:'';
}

/*cart_col*/
.pro_list .col_box .counter{/*20171123 修正*/
    float: right;
    width: 135px;
    height: 44px;
    margin-top: 15px !important;
    margin-bottom: 0;
}
.pro_list .col_box .counter input,
.pro_list .col_box .counter .val{
    position: relative;
    z-index: 1;
    width: 90%;
    height: 43px;
    margin: 0 5%;
    border: none;
    background-color: #F5F5F5;
    line-height: 43px;
}
.pro_list .col_box .counter .btn{
    width: 43px !important;
    margin-top: 0;
}
.pro_list .col_box .counter .btn > *{height: 43px !important;}
.pro_list .col_box .counter .btn *:before{
    display: block;
    width: 41px;
    height: 41px;
    content:'';
}

/*-----------------------------------------*/
/*module_box*/
/*-----------------------------------------*/

/*err*/
.err_box{
    position: relative;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
    text-align: center;
    color: #d63d5a;
    background-color: #FFF;
    font-size: 14px;
    font-size: 14px;
}
.err_box p{
    margin-top: 5px;
    padding-left: 1em;
    text-indent: -1em;
}
.err_box p:before{
    content:'・';
}

.err_box .cap{
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
}
.err_box .cap span{display: inline-block;margin-right: 0.4em;vertical-align: top;}
.err_box .cap span img{width: 20px;}

/*step*/
.step_box{
    position: relative;
    display: block;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    font-size: 14px;
}
.step_box:after,.step_box:before {display: table;content: '';}
.step_box:after {clear: both;}
.step_box{zoom: 1;}
.step_box li{
    position: relative;
    z-index: 10;
    float: left;
    width: 33.33%;
    list-style: none;
    text-align: center;
    letter-spacing: -0.04em;
    color: #D6D6D6;
    line-height: 1;
}
.step_box li:before{
    position: relative;
    z-index: 10;
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 auto 6px;
    content:'1';
    text-align: center;
    color: #fff;
    -webkit-border-radius: 22px;
    border-radius: 22px;
    background-color: #c7c7c7;
    font-size: 14px;
    line-height: 22px;
}
.step_box li.step01:before{content:'1';}
.step_box li.step02:before{content:'2';}
.step_box li.step03:before{content:'3';}

.step_box li.active{color: #993f4f;}
.step_box li.active:before{
    content:'';
    background: #993f4f url("../images/icon/step_active.png") no-repeat center center;
    -webkit-background-size: 13px auto;
    -o-background-size: 13px auto;
    background-size: 13px auto;
}
.step_box li:after{
    position: absolute;
    z-index: 1;
    top: 11px;
    left: -30%;
    width: 60%;
    height: 1px;
    content:'';
    background: #E4E4E4;
}
.step_box li:first-child:after{display: none;}

/*cmp*/
.cmp_box{
    display: table;
    width: 100%;
    padding: 6px;
    color: #fff;
    background: -moz-linear-gradient(left, rgba(76,195,216,1) 0%, rgba(106,212,231,1) 50%, rgba(141,232,248,1) 100%);
    background: -webkit-linear-gradient(left, rgba(76,195,216,1) 0%,rgba(106,212,231,1) 50%,rgba(141,232,248,1) 100%);
    background: linear-gradient(to right, rgba(76,195,216,1) 0%,rgba(106,212,231,1) 50%,rgba(141,232,248,1) 100%);
    background-color: #6bd4e7;
}
.cmp_box .member{
    display: table-cell;
    width: 54%;
    vertical-align: middle;
    font-size: 86%;
    line-height: 1.2;
}
.cmp_box .member span{
    font-size: 120%;
}
.cmp_box .bnr{
    display: table-cell;
    width: 46%;
    vertical-align: middle;
    font-size: 80%;
}
.cmp_box .bnr a{
    display: block;
    width: 100%;
    height: 30px;
    text-align: center;
    text-decoration: none;
    color: #333;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-color: #FFF;
    line-height: 29px;
}

/*modal_campaign*/
#modal_campaign a{
    text-decoration: none;
    color: #32292d;
}

/*news*/
.news_box{
    padding: 10px;
    color: #d63d5a;
    background-color: #fffef0;
}
.news_box .sub{
    display: inline-block;
    padding: 6px 8px 5px;
    color: #fff;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-color: #d63d5a;
    font-size: 90%;
    line-height: 1.2;
}
.news_box .txt{
    margin-top: 5px;
}

/*bd*/
.bd_box{
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding-top: 0;
    padding-bottom: 8%;
    background: #fff url("../images/product/bd_frame02.png") no-repeat center bottom;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.bd_box .sub{
    position: relative;
    z-index: 10;
    display: block;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 320px;
    height: 40px;
    margin: 0 auto 0;
    padding: 7px 0 0;
    text-align: center;
    color: #FFF;
    background: url("../images/product/bd_ttl.png") no-repeat;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
    line-height: 1;
}
.bd_box:before{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    padding-top: 5px;
    content:'';
    background: url("../images/product/bd_frame01.png") no-repeat left top;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.bd_box .txt{
    position: relative;
    z-index: 10;
    text-align: center;
}
.bd_box .main{
    position: relative;
    z-index: 10;
    margin-top: 5px;
    text-align: center;
    color: #dc3232;
    font-size: 20px;
    font-weight: 500;
}
.bd_box #canvas{
  position:absolute;
  z-index: 1;
  top: 0;
  left: 0;
  overflow: hidden;
  width:100%;
  height:100%;
}

/*frgn_box*/
.frgn_box{padding: 20px 5% 20px;}
.ac_box.on .ac_bdy.frgn_box{
    padding-bottom: 25px;
}

/*pt_ttl*/
.pt_ttl{
    display: table;
    padding: 10px 0 8px 0;/*20171114 修正*/
    width: 100%;
    background-color: #fff9db;
}
.pt_ttl .ic{
    display: table-cell;
    width: 20px;
    padding-left: 5%;/*20171114 修正*/
    padding-right: 10px;
    vertical-align: top;
}
.pt_ttl .txt{
    display: table-cell;
    padding-left: 5%;/*20171114 修正*/
    vertical-align: middle;
}

/*pt_box*/
.pt_box{
    padding: 20px 0;
    background-color: #FFF;
}
.pt_box:after,.pt_box:before {display: table;content: '';}
.pt_box:after {clear: both;}
.pt_box{zoom: 1;}
.pt_box .crt{
    float: left;
    width: 40%;
    line-height: 30px;
}
.pt_box .pt{
    float: right;
    width: 60%;
    text-align: right;
    font-size: 140%;
    font-weight: 500;
    line-height: 30px;
}
.pt_box .pt span{
    font-size: 120%;
}
.pt_box .date{
    float: left;
    width: 100%;
    margin-top: 10px;
    text-align: right;
    font-size: 90%;
}

/*note*/
.note{
    display: block;
    margin-top: 5px;
    color: #C7C7C7;
    font-size: 12px;
    line-height: 1.2;
}

/*input*/
.ipt_bdy{
    margin: 20px 5% 30px; 
}
.ipt_bdy .cap{
    display: block;
    margin-bottom: 20px;
}
.ipt_bdy .err_txt{
    display: block;
    margin-top: 10px;
    color: #d63d5a;
}

.ipt_bdy > dl{
    padding: 25px 0 0;
    border-top: none;
}
.ipt_bdy.ipt_sep > dl{
    padding: 25px 0 25px;
    border-top: 1px solid #f5f5f5;
}
.ipt_bdy > dl:first-child,
.ipt_bdy.ipt_sep > dl:first-child,
.ipt_bdy.ipt_sep > dl:first-of-type,
.ipt_bdy.ipt_sep > dl.dbnone{
    padding-top: 0;
    border-top: none;
}
.ipt_bdy.ipt_sep > dl:last-child{
    padding-bottom: 0;
}
.ipt_bdy > dl.inner{padding: 12px 0 12px;}

.ipt_bdy dt{
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
}
.ipt_bdy dt .txt{
    display: block;
    margin-top: 5px;
    font-size: 90%;
    font-weight: 300;
    line-height: 1.5;
}
.ipt_bdy dt .txt.min{
    font-size: 80%;
}

.ipt_sub{
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
}
.ipt_sub .txt{
    display: block;
    margin-top: 5px;
    font-size: 90%;
    font-weight: 300;
    line-height: 1.5;
}
.ipt_sub .txt.min{
    font-size: 80%;
}

/*payment_bdy*/
.payment_bdy > .radio_box{
    border-top: none;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}

.payment_bdy > .radio_box > .ipt_radio{
    border-right: none;
    border-bottom: none;
    border-left: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.payment_bdy > .radio_box > .ipt_radio > .radio_txt{
    -webkit-border-radius: 0;
    border-radius: 0;
}

/*pay_box*/
.pay_box{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px 0 0;  
    border-color: #FFF !important;
    border-top: 1px solid #fff !important;
    background-color: #FFF;
}
.pay_box.on{
    border: #d6d6d6 solid 1px !important;
    background-color: #f9f9f9;
}
.pay_box .ac_bdy{margin: 10px 0;}

/*check_box*/
.check_box{
    padding: 20px 0;
    background-color: #fffef0;
}
.check_box .ipt_check{
    font-size: 120%;
    font-weight: 500;
}

/*ac_box*/
.ac_ttl{position: relative;}
.ac_sub{
    position: relative;
    display: block;
    width: 100%;
}
.ac_sub > *{
    position:relative;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 15px 10px 14px 5%;
    text-decoration: none;
    color: #32292d;
    background: -moz-linear-gradient(bottom, #fefefe 0%, #fefefe 50%, #eeeeee 100%);
    background: -webkit-linear-gradient(bottom, #fefefe 0%,#fefefe 50%,#eeeeee 100%);
    background: linear-gradient(to bottom, #fefefe 0%,#fefefe 50%,#eeeeee 100%);
    background-color: #fefefe;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset;
    box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset;
    line-height: 1.3;
}
.ac_box.on > .ac_sub > *{
    position:relative;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 15px 10px 14px 5%;
    text-decoration: none;
    color: #32292d;
    background: #fff;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset;
    box-shadow: 0px 0px 1px 1px rgba(255,255,255,1.0) inset;
    line-height: 1.3;
}
.ac_sub > *:before{
    position: absolute;
    top: 0;
    right: 5%;
    width: 20px;
    height: 100%;
    content:'';
    background: url("../images/icon/select_arw.png") no-repeat left center;
    -webkit-background-size: 15px auto;
    -o-background-size: 15px auto;
    background-size: 15px auto;
}
.ac_box.on > .ac_sub > *:before{
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.ac_box.on .ac_bdy{
    padding-bottom: 10px;
}

/*radio_box*/
.radio_box{
    border: 1px solid #d6d6d6;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
.radio_box > .ipt_radio .radio_txt{border: none;}
.radio_box.on > .ipt_radio input:checked + .radio_txt{background: transparent;}
.radio_box.on > .ac_ttl:before{
    position: absolute;
    bottom: 2px;
    left: 5%;
    width: 90%;
    height: 1px;
    content:'';
    background: #f5f5f5;
}

/*mess_bdy*/
.mess_bdy{
    position: relative;
    margin: 0;
    padding: 20px 5% 20px;
    background: url("../images/form/frame_btm.png") no-repeat bottom center;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.mess_bdy:before{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 20px;
    content:'';
    background: url("../images/form/frame_top.png") no-repeat top center;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.mess_bdy .col02.separator > *:before{
    background-color: #fff;
}
.ac_box.on .mess_bdy{padding-bottom: 20px !important;}

/*ord_box*/
.ord_box{
    overflow: hidden;
    margin: 0 3%;
    padding: 0 0 10px;
    border: 1px solid #e4e4e4;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}
.ord_box .sub{
    padding: 5px 0;
    text-align: center;
    border-bottom: 1px solid #e4e4e4;
    background-color: #f9f9f9;
    font-weight: 500;
}
.odr_dtl{
    width: 94%;
    margin: 10px auto;
    font-size: 13px;
}
.odr_dtl hr{
    margin: 10px 0 0;
}
.odr_dtl dl{
    display: table;
    width: 100%;
    height: 20px;
    margin: 5px auto 0;
    line-height: 1;
}
.odr_dtl dt{
    display: table-cell;
    padding: 0 0 0 3%;
    vertical-align: bottom;
}
.odr_dtl dd{
    display: table-cell;
    padding: 0 3% 0 0;
    text-align: right;
    vertical-align: bottom;
}
.odr_dtl dl.price{
    color: #D63D5A;
}
.odr_dtl dl.price span{
    display: inline-block;
    vertical-align: bottom;
    font-size: 19px;
}
.odr_dtl dl.total dt,
.odr_dtl dl.total dd{
    padding-top: 7px;
    padding-bottom: 10px;
    background-color: #f9f9f9;
}

/*-----------------------------------------*/
/*product_list*/
/*-----------------------------------------*/

/*item*/
.pro_list{/*20171123 修正*/
    width: 90%;
    margin: 40px auto 0;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background-color: #FFF;
    -webkit-box-shadow: 0 0 2px 0 rgba(0,0,0,0.1);
    box-shadow: 0 0 2px 0 rgba(0,0,0,0.1);
}
.pre_list{/*20171123 修正*/
    padding-bottom: 15px;
}
.pro_list > *{/*20171123 修正*/
    position: relative;
    margin-top: 25px;
    padding: 25px 0 0;
}
.pro_list > *:first-child{/*20171123 修正*/
    margin-top: 0;
}
.pro_list > *:last-child{/*20171123 修正*/
    padding-bottom: 15px;
}

.pro_list > *:before{
    position: absolute;
    top: 0;
    left: 3%;
    display: block;
    width: 94%;
    height: 1px;
    margin: 0 auto;
    content:'';
    background-color: #E4E4E4;
}
.pro_list > *:first-child:before{display: none;}
.pro_list > *.dbnone{margin: 0;}
.pro_list > *.dbnone:before{display: none;}

.pro_list .cart-total-none,
.pro_list .cart-present-none{/*20171123 修正*/
    padding-bottom: 20px;
}

.pro_list .ttl{
    margin: 0;
    padding: 40px 0 0;
}
.pro_list .ttl h2{
    text-align: center;
}

.pro_list .bnr{
    margin: 0;
    font-size: 0;
}
.pro_list .bnr .date{
    display: block;
    padding: 5px 0;
    text-align: center;
    color: #FFF;
    /*background-color: #3490B6;*/
    /*background-color: #ce0161;12月施策対応*/
    background-color: #e3495f;/*201803月施策対応*/
    font-size: 12px;
}
.pro_list .bnr .date_iks{
    display: block;
    padding: 5px 0;
    text-align: center;
    color: #FFF;
    background-color: #026278;
    font-size: 12px;
}
/*list*/
.pro_list .list{
    overflow: hidden;
    padding: 0;
}
.pro_list .list .sub{
    padding: 5px 0 4px;
    text-align: center;
    background-color: #f8f8f8;
}
.pro_list .list ul{
    border-bottom: 1px solid #e4e4e4;
}
.pro_list .list ul:after,.pro_list .list ul:before {display: table;content: '';}
.pro_list .list ul:after {clear: both;}
.pro_list .list ul{zoom: 1;}
.pro_list .list li{
    display: table;
    float: left;
    overflow: hidden;
    width: 50%;
    height: 60px;
}
.pro_list .list li .thm{
    display: table-cell;
    overflow: hidden;
    width: 30%;
}
.pro_list .list li .thm img{
    width: 150%;
    margin-top: 10%;
    margin-left: -25%;
}
.pro_list .list li .min{
    display: table-cell;
    width: 70%;
    vertical-align: middle;
}

.pro_list .tab_bdy{padding-top: 30px;}
.pro_list #tab02.on hr:first-child{display: none;}
.pro_list #tab03.on hr:first-child{display: none;}
.pro_list .tab_bdy > .last hr{/*20171123 修正*/
    display: none;
}
.pro_list .list_cat{
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 5% 5%;
    padding: 1px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-color: #E4E4E4;
}
.pro_list .list_cat:before,
.pro_list .list_cat:after{
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 1px;
    content:'';
    background-color: #E4E4E4;
}
.pro_list .list_cat:before{top: 50%;width: 100%;}
.pro_list .list_cat:after{left: 50%;height: 100%;}

.pro_list .list_cat li{
    position: relative;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 50%;
    margin: 0;
}
.pro_list .list_cat li:nth-child(odd){}
.pro_list .list_cat li:nth-child(-n+2){}
.pro_list .list_cat li > *{
    position: relative;
    z-index: 1;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    text-align: center;
    text-decoration: none;
    color: #993F4F;
    border: none;
    background-color: #fff;
    line-height: 44px;
}

.pro_list .list_cat li:first-child > *,
.pro_list .list_cat li:first-child:before{-webkit-border-radius: 4px 0 0 0;border-radius: 4px 0 0 0;}
.pro_list .list_cat li:nth-child(2) > *,
.pro_list .list_cat li:nth-child(2):before{-webkit-border-radius: 0 4px 0 0;border-radius: 0 4px 0 0;}
.pro_list .list_cat li:nth-last-child(2) > *,
.pro_list .list_cat li:nth-last-child(2):before{-webkit-border-radius: 0 0 0 4px;border-radius: 0 0 0 4px;}
.pro_list .list_cat li:last-child > *,
.pro_list .list_cat li:last-child:before{-webkit-border-radius: 0 0 4px 0;border-radius: 0 0 4px 0;}

.pro_list .list_cat li.on:before{
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    content:'';
    border: 2px solid #993F4F;
}
.pro_list .list_cat li.on > *{
    color: inherit;
    font-weight: 500;
}

.pro_list .item_name{
    margin-bottom: 5px;
}
.pro_list .item_thm{
    position: relative;
    width: 80%;
    margin: 0 auto 5px;
}
.pro_list .item_thm img{
    position: relative;
    z-index: 1;
}
.pro_list .item_thm .badge{
    position: absolute;
    z-index: 10;
    top: 5%;
    left: -10%;
    width: 55px;
    height: 55px;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    background-color: #EE873C;
    font-size: 80%;
    line-height: 53px;
}

.pro_list .min{
    font-size: 86%;
}
.pro_list .txt{
    margin-bottom: 10px;
}

.pro_list .spec{
    margin-bottom: 10px;
    text-align: center;
}
.pro_list .link{
    margin-bottom: 15px;
}
.pro_list .price{
    text-align: center;
    font-size: 16px;
}
.pro_list .price.min{font-size: 12px;}
.pro_list .price span{
    font-size: 130%;
}
.pro_list .btn{
    margin-top: 15px;
    margin-bottom: 10px;
}
.pre_list .btn{/*20171123 修正*/
    margin-bottom: 0;
}
.point{
    text-align: center;
    color: #6B6B6B;
    font-size: 10px;
}
.point span{
    display: inline-block;
    margin-right: 1px;
    font-size: 140%;
}
.point b{
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-top: -2px;
    margin-right: 5px;
    text-align: center;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    background-color: #fffae5;
    line-height: 25px;
}
.point.pickup{
    color: #B4910C;
}

.point.point_up{
    color: #B4910C;
}
.point.point_up:before{
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 2px;
    content:'';
    vertical-align: bottom;
    background: url("../images/icon/point_up.png") no-repeat left center;
    -webkit-background-size: 24px auto;
    -o-background-size: 24px auto;
    background-size: 24px auto;
}

.cart_anime{
    height: 56px;
    text-align: center;
    font-size: 12px;
}
.cart_anime span{/*20171123 修正*/
    position: relative;
    display: block;
    padding-top: 4px;
}
.cart_anime img{
    display: block;
    width: 42px;
    margin: 0 auto 5px;
}
.cart_anime span:before{
    position: absolute;
    top: 2px;
    /*right: -22px;*/
    left: 50%;
    display: block;
    width: 12px;
    height: 12px;
    margin-left: 12px;
    content:'';
    -webkit-animation-name: blink-anime;
    animation-name: blink-anime;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background: url("../images/icon/cart_in.png") no-repeat;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.cart_anime.out span:before{background-image: url("../images/icon/cart_out.png");}

/*blink*/
@-webkit-keyframes blink-anime {
    0% {opacity: 1}
    50% {opacity: .5}
    100% {opacity: 1}
}

@keyframes blink-anime {
    0% {opacity: 1}
    50% {opacity: .5}
    100% {opacity: 1}
}

.pro_list .cart_anime{
    margin-top: 15px;
    margin-bottom: 10px;
}
.pre_list .cart_anime{/*20171123 修正*/
    height: 49px;
    margin-top: 0;
    margin-bottom: 0;
}

/*detail*/
.pro_list .r_box .cart_anime{/*20171123 修正*/
    float: right;
    width: 135px;
    height: auto;
    min-height: 43px;
    margin-top: 0 !important;
    margin-bottom: 0;
    font-size: 11px;
}
.col_box .cart_anime{/*20171123 修正*/
    height: 59px;
    margin-top: 0 !important;
    margin-bottom: 0;
    font-size: 11px;
}

.pro_list .cart_col{
    overflow: hidden;
    margin-top: 20px;
}
.pro_list .col_box{
    display: table;
    width: 100%;
    margin-top: 10px;
}
.pro_list .col_box > div{
    display: table-cell;
    width: 135px;
    vertical-align: top;　/*20171113 修正*/

}
.pro_list .col_box > div:first-child{
    width: auto;
}

.pro_list .cart_col .price{
    margin-bottom: 0;
    text-align: left;
}
.pro_list .cart_col .point{
    margin-top: -2px;
    margin-bottom: 0;
    text-align: left;
}
.pro_list .cart_col .btn{
    width: 100%;
    margin-bottom: 0;
}
.pro_list .cart_col .btn > *{
    height: 44px;
    font-size: 14px !important;
    line-height: 44px;
}

.pro_list .cart_col .cart{
    font-size: 10px;
}
.pro_list .cart_col .counter .btn{
    width: auto;
}

/*point*/
.pt{
    margin: 0 0 0;
    font-size: 10px;
}
.pt p{
    display: inline-block;
    line-height: 25px;
}
.pt span{
    font-size: 120%;
}

.pt.default{
    color: #993f4f;
    font-weight: 500;
}

.pt.limited{
    color: #6b6b6b;
    font-weight: 300;
}
.pt s{
    position: relative;
    text-decoration: none;
}
.pt s:before{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    margin-top: -1px;
    content:'';
    background-color: #d63d5a;
}
.pt .lmd{
    margin-left: 5px;
    padding-left: 40px;
    color: #D63D5A;
    background: url("../images/present/lmd.png") no-repeat left center;
    -webkit-background-size: 35px auto;
    -o-background-size: 35px auto;
    background-size: 35px auto;
    font-size: 120%;
    font-weight: 500;
}

/*name*/
.name{
    margin-bottom: 10px;
    /*padding: 0 5%;*/
    font-weight: 500;
}
.name span{
    font-size: 130%;
}
.name span.min{
    font-size: 85%;
}

/*thm_box*/
.thm_box{
    overflow: hidden;
    margin-bottom: 10px;
    /*padding: 0 3%;*/
}
.thm_box .thm{
    float: left;
    width: 36%;
    margin-right: 10px;
    border: 1px solid #f8f8f8;
    font-size: 0;
    line-height: 1;
}

.txt_box{
    line-height: 1.4;
}
.thm_box .link{
    margin-top: 5px;
    font-size: 90%;
}

/*price_box*/
.fl_box{
    overflow: hidden;
    margin-bottom: 10px;
}
.fl_box .l_box{
    float: left;
    width: 40%;
}
.fl_box .r_box{
    float: right;
    width: 60%;
    text-align: right;
    font-size: 140%;
}

/*cart_total*/
.cart_total:after{display: table;content: '';}
.cart_total:after {clear: both;}
.cart_total{zoom: 1;}
.cart_total > *{
    float: left;
    width: 100%;
    line-height: 25px;
}

.cart_total .total_point{
    margin-bottom: 5px;
}
.cart_total .total_price{
    margin-bottom: 5px;
}
.cart_total .cap{
    float: left;
}
.cart_total .val{
    float: right;
    font-size: 140%;
}
.cart_total .val span{
    font-size: 80%;
}
.cart_total .val span.cart-total-price{
    font-size: 100%;
}

/*-----------------------------------------*/
/*order finish*/
/*-----------------------------------------*/

.mtm{
    margin-top: 30px;
}
.mtm img{
    width: 100%;
}

.intro_ttl{
    width: 86%;
    margin: 0 auto;
}

.intro_set{
    width: 86%;
    margin: 3% auto 0;
}

.intro_sub{
    margin-top: 3%;
}

.intro_bdy{
    padding-bottom: 5%;
    background-color: #fcf8f6;
}

.intro_min{
    width: 84%;
    margin: 3% auto 0;
}

.intro_tbl{
    width: 90%;
    display: table;
    margin: 3% auto 0;
}

.intro_tbl > *{
    display: table-cell;
    width: 50%;
    vertical-align: middle;
}

.intro_tbl .item{
    padding: 0 0 0 0;
}

.intro_tbl .dsc{
    padding: 0 5% 0 3%;
}
