.ship_season {
    padding: 20px 15px 10px 15px;
    background: #f1f1f1;
    margin-bottom: 20px;
}

.ship_season span ,
.btn_area span {
    font-weight: bold;
    font-size: 12px;
    color: #c00;
}

.cart_prod_left {
    width: 70%;
    float: left;
}

.cart_right {
    width: 28%;
    right:0;
    position: fixed;
    padding: 15px 15px;
    background: #f1f1f1;
}

.cart_right p.sum {
    font-weight: bold;
    font-size: 20px;
    float: left;
    margin-bottom: 5px;
}

/*************************
    購入へ進むボタン
*************************/
.m_area{
    width:100%;
    float:left;
}

#next_procedure,
#dispatch_cart_step_form,
#dispatch_cart_done{
    height: 50px;
    width: 100%;
    margin-top: 10px;
    background: #fb1313;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    font-size: 15px;
    cursor:pointer;
}

#dispatch_cart_step3_confirm{
    height: 50px;
    width: 100%;
    margin-top: 10px;
    background: #fb1313;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    font-size: 15px;
    cursor:pointer;
}

.total{
    margin-top: 10px;
    border-top: 3px solid #b5b4b4;
    font-size: 12px;
    font-weight: bold;
    padding: 6px 6px 3px;
    text-align: center;
    color: #c00;
}



/*************************
    カート一覧 start
*************************/
#cartlist {
    width:100%;
    margin-bottom: 150px;
}

.cartlist {
    border-bottom: 1px solid #333;
    margin: 20px 0;
    width: 100%;
    display: table;
}

div#cartimg {
    float: left;
    width: 25%;
}

div#cartimg img {
    width: 100%;
}

.sums {
    float: left;
    margin-top: 60px;
    margin-left: 0;
}

.sums p {
    float: left;
}

.point{
    float: left;
}

.sums select {
    float: left;
}


.right_list {
    display: flow-root;
    width: 60%;
    font-weight: bold;
    float: right;
    margin-left: 0;
}

.right_list ul li {
    padding: 2px 0px;
}

span.txt_size {
    font-weight: normal;
}

.subtitle h2{
    padding: 7px 5px;
    background: #313B4C;
    border: 1px solid #313B4C;
    color: #fff;
}

@media screen and (max-width: 768px){

    .cart_prod_left {
        width: 100%;
        float: none;
        margin-top: 10px;
    }

    .ship_season {
        padding: 0px 5px 5px 5px;
        background: #f1f1f1;
        margin-bottom: 20px;
    }

    .cart_right {
        width: 100%;
        padding: 15px 5px;
        padding-top: 10px;
        margin-left: -10px;
        background: #f1f1f1;
        position: fixed;
        bottom: 0;
        right: 0;
        z-index: 1;
        border-top: 1px solid #c3c3c3;
        border-bottom: 1px solid #c3c3c3;
    }

    .relative {
        position: relative;
        width: auto;
        margin: -10px;
    }

    #cartlist {
        width: 100%;
        margin-bottom: 150px;
    }

    #cartlist p.info {
        margin-bottom: 120px;
    }

    .cartlist {
        border-bottom: 1px solid #333;
        margin-top: 15px;
        width: 100%;
        height: 200px;
        display: table;
    }

    div#cartimg {
        float: left;
        width: 35%;
    }

    .sums {
        margin-top:0px;
        margin-left:0px;
        position: absolute;
        margin: 140px 0px 0px 20px;
    }

    .right_list {
        display: flex;
        font-weight: bold;
        width: 65%;
        padding-left: 5px;
    }
    .right_list>ul {
        width: 100%;
    }

    .cart_right p.sum {
        font-weight: bold;
        font-size: 14px;
        float: none;
        margin: 0;
    }

    .m_area{
        width:50%;
        float:left;
    }

    #next_procedure,
    #dispatch_cart_step_form,
    #dispatch_cart_done {
        height:50px;
        width:50%;
        margin: 0;
        background: #fb1313;
        border-radius: 5px;
        color: white;
        font-weight: bold;
        font-size: 15px;
    }

    .point {
        float: left;
        font-size: 11px;
    }
}
/*************************
    カート一覧 END
*************************/

/*************************
    ポップアップ start
*************************/
.overlay{
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    position: fixed;
    z-index: 110;
    overflow: auto;
}

.btn_area{
    width: 60%;
    position: absolute;
    top: 5%;
    left: 20%;
    background-color: #fff;
    z-index: 3;
    border: 5px solid #c00;
    margin-bottom: 100px;
}

.btn_area div{
    margin:15px 25px;
    line-height:1.5;
    font-size:12px;
}

/* 注意タイトル */
#note_title {
    background: #c00;
    color: #fff;
    font-weight: bold;
    font-size: 15px;
    padding: 10px 4px;
    margin: 0;
    text-align: center;
}

/* 注意サブタイトル */
#note_subtitle{
    font-weight: bold;
    background: #c00;
    color: #fff;
    font-size: 13px;
    padding: 4px;
    margin: 0;
}

/* 同意ボタン */
.btn_area button {
    display: table;
    width: 25%;
    height: 40px;
    margin: 20px auto;
    background: #c00;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    border-radius: 5px;
    cursor:pointer;
}


@media screen and (max-width: 768px){
    .overlay {
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);
        position: fixed;
        z-index: 101;
        /*margin-left: -10px;*/
        overflow: auto;
    }

    .btn_area {
        width: 96%;
        left: 2%;
        border: 3px solid #c00;
    }

    #note_title {
        background: #c00;
        color: #fff;
        font-weight: bold;
        font-size: 15px;
        padding: 10px 4px;
        margin: 0;
        text-align: center;
    }

    .btn_area div {
        margin: 5px;
        line-height: 1.5;
        font-size: 11px;
    }

    #note_subtitle {
        padding: 2px;
        font-size: 12px;
    }

    .ship_season span, .btn_area span {
        font-size: 11px;
    }

    .btn_area button {
        width: 60%;
        height: 40px;
    }

}
/*************************
    ポップアップ END
*************************/

/*************************
　会員ログインor登録　start
*************************/
#member_login-register{
    display: flex;
    width: 100%;
    border: 1px solid #DDDDDD;
    margin: 35px auto;
    border-radius: 5px;
}

.left_position {
    width: 50%;
    margin: 35px;
    flex: auto;
}

.right_position {
    width: 50%;
    margin: 35px;
    flex: auto;
}

.t_h1 {
    margin-bottom: 20px;
    width: 100%;
}

.t_h2 {
    margin-bottom: 20px;
}

@media screen and (max-width: 768px){
    .t_h2 {
        width: 100%;
        margin-bottom: 10px;
    }
}

.t_h1 h1, .t_h2 h2 {
    color: #fff;
    background: #313B4C;
    font-weight: bold;
    font-size: 17px;
    padding: 10px 15px;
    box-sizing: border-box;
}

 h2.t_h3 {
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 15px;
}

.member_mail , .member_mpw , .gazou {
    font-size: 13px;
    font-weight: bold;
    padding: 5px 0;

}

input#member_mail , input#member_mpw , input#gazou{
    width: 100%;
    height: 35px;
}

.btn_l{
    width: 80%;
    margin: 10px auto;
}

.left_position p input ,
.right_position p button {
    width:100%;
    padding: 15px;
    background: #313B4C;
    border-radius: 5px;
    color: white;
    font-size: 15px;
    font-weight: bold;
    display: inline-block;
    cursor:pointer;
}

@media screen and (max-width: 768px){
    .btn_l,
    .left_position p input ,
    .right_position p button {
        width:100%;
    }
}

.register_img img{
    width: 100%;
}

/* SNS ボーダーライン */
.sns-border {
    display: flex;
    align-items: center;
    margin-top: 50px;
    font-weight: bold;
}
.sns-border:before,
.sns-border:after {
    border-top: 2px solid #c3c3c3;
    content: "";
    flex-grow: 1;
}
.sns-border:before {
    margin-right: 1rem;
}
.sns-border:after {
    margin-left: 1rem;
}

.twitter_login {
    float: left;
    width: 48%;
}

.facebook_login {
    float: right;
    width: 48%;
}

@media screen and (max-width: 768px){
    #member_login-register {
        width: 100%;
        border:none;
        margin: 0px auto;
        display: block;
    }

    .left_position {
        width: 100%;
        float: left;
        margin: 35px 0 0 0 ;
    }

    .right_position {
        width: 100%;
        float: left;
        margin: 30px auto;
    }

    .twitter_login img {
        width: 100%;
        float: left;
    }

    .facebook_login img {
        float: right;
        width: 100%;
    }


}

/*************************
　会員ログインor登録　END
*************************/
/*************************
お客様情報登録・確認・完了　START
*************************/
.stepflow{
    margin: 30px auto 20px;
    width: 50%;
    text-align: center;
}
.stepflow img{
  width: 100%;
  max-width: 400px;
}
.red_area {
    margin: 15px auto 15px;
    line-height: 1.5;
    border: 2px solid #c00;
    font-size: 12px;
    width: 65%;
    float: left;
    margin-left: 40px;
}

.form_regist_left {
    width: 65%;
    float: left;
    margin-left: 40px;
}

.err_area {
    font-size: 15px;
    margin-left: 20px;
}

.basic_form {
    width: 100%;
    display: flex;
}

.block{
    display: flex;
    width: 100%;
    padding: 10px 0;
    border-top: 1px solid #d6d6d6;
}

@media screen and (max-width: 768px){
    .block {
        padding: 0;
        border-top:none;
    }
}

.pay_form{
    display: flex;
    width: 100%;
    padding-top: 5px;
    padding-bottom: 10px;
}

@media screen and (max-width: 768px){
    .pay_form {
        flex-wrap: wrap;
    }
}

div#basic_info {
    display: flex;
    flex-wrap: wrap;
    width: 70%;
    margin-bottom: 15px;
}

.sub_tih2{
    width: 25%;
    font-size: 15px;
}

.base_form {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-bottom: 15px;
}

.base_name {
    width: 25%;
    padding: 10px 0 0 0;
    font-weight: bold;
}

.account_form {
    width: 75%;
}

@media screen and (max-width: 768px){
    div#basic_info, .base_name,
    .account_form {
        width: 100%;
    }

    .base_form{
        padding: 0;
    }
}

input#member_addr2, input#member_addr3 {
    width: 100%;
    height: 35px;
    padding-left: 10px;
    float: none;
}

input#customer_name_first,
input#customer_name_last,
input#customer_kana_first,
input#customer_kana_last,
input#member_zip, select#member_addr1,
input#member_tel,
input#customer_zip, select#customer_addr1,
input#customer_addr2, input#customer_addr3,
input#customer_tel {
    width: 100%;
    height: 35px;
    padding-left: 10px;
}

/* 登録 START */
    input#customer_dest_name,
    input#customer_dest_kana,
    input#customer_dest_zip,
    select#customer_dest_addr1,
    input#customer_dest_addr2,
    input#customer_dest_addr3,
    input#customer_dest_tel {
        width: 100%;
        height: 35px;
        padding-left: 10px;
    }

/* 住所登録 END */

/*　お支払い方法 START */

/*コンビニ名の一覧*/
.convini_list {
    width: 100%;
    display:none;
    font-size:10px;
    padding: 10px 0;
    border-bottom: 1px dotted #999;
}

.tag{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.subtitle3 {
    width: 100%;
    font-size:90%;
    margin:20px 0 0 0;
    padding:3px 5px;
}

/*クレジット情報入力*/
.credit_form {
    display:none;
}

.credit_box{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border: 1px solid #333;
}

.credit_number {
    width: 100%;
    display: flex;
    border-bottom: 1px solid;
}

.deadline {
    width: 100%;
    display: flex;
    border-bottom: 1px solid;
}

.security_code {
    width: 100%;
    display: flex;
    border-bottom: 1px solid;
}

.creditholder_name {
    width: 100%;
    display: flex;
}

.credit_left {
    width: 30%;
    padding: 5px 0px 5px 10px;
    border-right: 1px solid;
    background: #f1f1f1;
}

.credit_right{
    width: 70%;
    padding: 5px 0px 5px 10px;
    padding-left:10px;
}

.credit_form p,
.credit_form div {
    font-size:12px;
    text-align:left;
    color:#669;
    line-height:1.6;
}

div#logo_list {
    width: 100%;
    padding-bottom: 10px;
}

#logo_list ul{
    line-height:35px;
    margin:10px 0 0 0;
    list-style-type:none;
}

#logo_list li{
    margin-right:10px;
    float:left;
}

#logo_list li img{
    vertical-align:bottom;
}

.div_left {
    width: 35%;
    padding: 10px 0px;
    font-weight: bold;
}

.div_right {
    width: 65%;
    padding: 5px 0px;
}

.tag_area{
    float:right;
}

/*　お支払い方法・合計 END */

input#customer_use_point,
select#customer_esp_deliverday,
select#customer_esp_delivertime {
    height: 30px;
    width:55%;
}

div#form_info {
    width: 80%;
    margin-bottom: 15px;
    float: right;
}

.account_form_conf {
    float: right;
    width: 100%;
}

.form_day, .form_time{
    float: left;
    width: 30%;
}

.account_tit{
    width:30%;
}

.form_conf{
    width: 70%;
}

@media screen and (max-width: 768px){
    .account_tit {
        width: 100%;
        font-weight: bold;
    }

    .form_conf {
        width: 100%;
    }
}

#prod_1item_list div:first-child {
    border-top: none;
}

#prod_1item_list{
    display: flex;
    width:100%;
    padding: 10px 0;
    border-bottom: 1px solid #d1d1d1;
}

#prod_1item_list:last-child{
    border-bottom:none;
}

div#buyimg {
    width: 40%;
    float: left;
}


.tit_01, .buysum {
    width: 50%;
    float: left;
    font-weight: bold;
    margin-bottom: 10px;
}

.money, .sum_money{
    width: 50%;
    float: left;
    text-align: end;
    margin-bottom: 10px;
}

.buysum{
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
    padding: 10px 0;
}

.sum_money{
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
    padding: 10px 0;
    font-weight: bold;
}

.moji_area {
    width: 100%;
    background: #f1f1f1;
    padding: 15px;
}

/* 注文申し込み完了 */
div.cart_thanx p{
    font-size: 13px;
}

div#orderinfo {
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    width: 30%;
    margin: 30px auto;
}

@media screen and (max-width: 768px){
    .stepflow,
    .stepflow img {
        width: 100%;
    }

    .red_area {
        margin:15px;
        width:100%;
        float:none;
        margin-left:0px;
    }

    .form_regist_left {
        display: flex;
        width: 100%;
        float: none;
        margin-left: 0px;
    }

    .form_day, .form_time{
        float: left;
        width: 40%;
        font-weight: bold;
    }

    .form_conf {
        float: right;
        width: 100%;
    }

    #prod_1item_list {
        width: 100%;
        padding: 10px 0;
    }

    .tag_area{
        float:none;
        margin-top: 10px;
    }

    .div_right {
        text-align: right;
    }

    div#orderinfo {
        width: 100%;
    }

}

/*************************
お客様情報登録・確認・完了　END
*************************/


/***************************
    共通
***************************/


/* ※印 */
p em,th em {
    font-style:normal;
    color:#c33;
}

p.input{
    margin:0 0 20px 0;
}

/* 目立たせたい段落 */
div.eyecatch {
    padding:10px;
    border:1px solid #f00;
    color:#c33;
}

.red{
    color:#c00;
}









/***************************

    関連商品

***************************/

#relations {

    clear:both;

}



#relations h2 {

    padding:2px 0 2px 20px;

    margin:0 0 3px 0;

    font-size:14px;

    background:url("http://stage.cospa.com/img/icons/insp.gif") no-repeat left;

    border-bottom:1px solid #317b96;

}



#relations div {

    height:100px;

    margin:10px 0;

}



#relations div a {

    color:#333;

    text-decoration:none;

}



#relations div a:hover {

    color:#317b96;

}



#relations div p {

    font-size:11px;

    letter-spacing:1px;

    margin:5px 0;

}



#relations div img {

    float:left;

    margin:0 20px 0 0;

}

.member_box{

margin:0px auto 15px;

padding:7px;

width:602px;

border:2px solid #317b96;

}

/**

    090916追加

**/




.clearfix:after{

clear:both;

display:block;

height:0px;

visibility:hidden;

content:".";

}

.clearfix{

display:inline-block;

}

* html .clearfix{

height:1%;

}
.clearfix{

display:block;

}

.icon_left{

font-size:11px;

color:#FFFFFF;

font-weight:bold;

background-color:#999;

padding:4px 3px 1px 3px;

}

.icon_right{

font-size:11px;

color:#999;

font-weight:bold;

border:solid 1px #999;

padding:3px 3px 0px 3px;

}

#container input[type="submit"],#container input[type="button"]{

height: 50px;

min-width: 200px;

}

.invisible{

display: none;

}

#other_address_sf {

display: none;

}



fieldset {

padding:10px

}



/*ポップアップここから*/
.popup_wrap input {
    display: none;
  }

  .popup_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
  }

  .popup_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .popup_content {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: fit-content;
    border-radius: 20px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
  }

  .close_btn {
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 30px;
    cursor: pointer;
  }

  .popup_wrap input:checked ~ .popup_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
  }

  .open_btn {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 30px;
    margin:10px auto;
    padding: 8px 16px;
    color: #fff;
    background:#0c0d62;
    font-weight: bold;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    border-radius: 3px;
    cursor: pointer;
    transition: .3s ease;

  }
  .open_btn:hover{
      background:#000;
      color:#fff;
      transition: .3s ease;
  }

  .popup_titile{
    font-size: 18px;
    font-weight: bold;
    padding: 15px 0 10px 0;
    margin-left: 20px;
    border-bottom: 1px solid #e8e8e8;
  }

  .sendarea{
    width: 100%;
    padding: 10px 20px 15px;
    display: flex;
    justify-content: space-between;
  }

  .add_area{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px 0;
    box-sizing: border-box;
  }

  .form_size{
    margin-bottom: 5px;
    height: 25px;
  }

  .sendlist{
    width:25%;
    float:left;
  }

    button#addrapply1,
    button#addrapply2,
    button#addrapply3,
    button#addrapply4,
    button#addrsave2,
    button#addrsave3,
    button#addrsave4 {
        cursor: pointer;
    }

  @media screen and (max-width: 768px){
    .popup_content {
        width:95%;
        top: 5vh;
    }

    .sendarea{
        width: 100%;
        padding: 10px 10px;
        display: block;
        justify-content: space-between;
      }

      .form_size{
        width: 100%;
        height: 25px;
        /* margin-bottom: 5px; */
      }

  }

  /*ポップアップココまで*/

  /*追記 MIYAHARA 20211001*/
  .right_list ul li.delete {
      margin-bottom: 5px;
      background-color: #333333;
      border-radius: 2px;
      color: #fff;
  }
  .right_list ul li.delete a {
    padding-right: 4px;
    padding-left: calc(1rem + 4px);
    color: #fff;
    font-weight: normal;
    position: relative;
  }
  .right_list ul li.delete a::before {
    content: "×";
    position: absolute;
    padding-left: 4px;
    top: 55%;
    left: 0;
    transform: translateY(-50%);
  }

/*カートメッセージ (ポップアップ)*/
#cart_msg{
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index:250;
    background: #ffffff;
    width: 320px;
    font-weight: bold;
    border: 1px solid #317b96;
    border-radius: 5px;
    text-align: left;
    padding: 20px;
}
#msg_close_btn{
    margin: 10px 0 0 230px;
    border: 1px solid #317b96;
}
.popup-cover{
    display: none;
    position: fixed; /* ブラウザの定位置に固定 */
    background: rgba(0, 0, 0, .5); /* 背景色を半透明の黒色に */
    width: 100%; /* 要素の横幅を画面全体に */
    height: 100%; /* 要素の高さを画面全体に */
    top: 0; /* 要素の固定位置をブラウザ最上部に合わせる */
    left: 0; /* 要素の固定位置をブラウザ左側に合わせる */
    z-index: 249; /* 要素をコンテンツより前面に（要調整） */
}