.side_menu ul li.icon_buy {
    padding-top: 10px;
    height: 60px;
}
.side_menu ul li.side_menu__section_title {
    margin-top: 10px;
}

a.btn {
    padding: 0;
    width: 100px;
    height: 40px;
    color: #E3047F;
    border: 1px solid #E3047F;
    text-align: center;
    line-height: 40px;
    font-size: 14px;
    border-radius: 4px;
    position: relative;
    align-self: center;
    flex-grow: 0;
    margin-left: 5px;    
}

a.btn-disabled {
    color: #636363;
    border: 1px solid #636363;
}

.btn {
    margin: 0 auto !important;
    cursor: pointer;
}

/*.list li .list_desc {
    max-width: calc(100% - 400px);
}*/

.form_wrap .form_item.upper_line {
    padding: 22px 10px;
    margin-top: 22px;
    border-top: 1px solid #EAEAEA;
}


input[type=radio].pullcheck {
    display: none; 
}

input[type=radio].pullcheck + label.pullcheck_label {
    width: 100px;
    height: 40px;
    color: #E3047F;
    border: 1px solid #E3047F;
    text-align: center;
    line-height: 40px;
    font-size: 14px;
    border-radius: 4px;
}
input[type=radio].pullcheck:checked + label.pullcheck_label {
    background: #E3047F;
    text-indent: -99999px;
}
input[type=radio].pullcheck:checked + label.pullcheck_label:before {
    content: "";
    width: 100%;
    height: 40px;
    position: absolute;
    top: 0px;
    left: 0px;
    background: url(../img/icon_checkbtn.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
}

.box--button .btn {
    margin: 0 auto;
}

.container .base_wrap .side_menu {
    overflow: scroll;
}

.complete_content .btn {
    margin: 60px auto;
}

.complete_content .body_txt {
    margin-bottom: 1.67em;
}


/*
    会員登録フォーム
*/
.birthday select {
    width: 20% !important;
    overflow: hidden !important;
    position: relative !important;
    border: solid 1px #EAEAEA !important;
    border-radius: 4px !important;
    -webkit-appearance: button !important;
    -moz-appearance: button !important;
    appearance: button !important;
    white-space: nowrap !important;
    height: 30px !important;
    line-height: 22px !important;
    font-size: 14px !important;
    padding-left: 10px !important;
    color: #5C5C5C !important;
    cursor: pointer !important;
    background: #FFFFFF !important;
    display: inline-block !important;
    margin: 0 5px;
}
.birthday select:first-child {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
.birthday select:first-child {
    margin-left: 0;
    width: 30% !important;
  }
}

.birthday select:after {
    content: "";
    display: block;
    position: absolute;
    background: url(../img/icon_down.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 15px;
    height: 10px;
    top: 11px;
    right: 10px;
    text-indent: -99999px;
}
ul.radio_list li {
    float: left;
    margin-right: 10px;
}
.error_list {
    display: inline-flex;
}

.form_wrap .form_item .forms .error .selector {
    border: 1px solid #FF1E1E !important;
    background: rgba(255, 30, 30, 0.1) !important;
}
.form_wrap .form_item .forms .error .selector select {
    background: rgba(255, 30, 30, 0) !important;
}
.form_wrap .form_item .forms .error .birthday select {
    border: 1px solid #FF1E1E !important;
    background: rgba(255, 30, 30, 0.1) !important;
}

.form_wrap .form_item.error .forms ul.radio_list li {
    border: 1px solid #FF1E1E !important;
    background: rgba(255, 30, 30, 0.1) !important;
    border-radius: 4px;
    padding: 2px 5px;
}
.zip {
    width: 100% !important;
}
.zip input {
    width: 20%;
}

@media screen and (max-width: 767px) {
.zip input {
    width: 27%;
}
}
a.back {
    height: 47px;
    line-height: 47px;
    margin-right: 20px !important;
}    
#submitButton {
    border-color:#DA418B;
    height: 47px;
    cursor: pointer;
}

.btn.btn--twitter {
    border-color: #4494DA;
}

.form_wrap .form_item a.action_btn {
    padding: 0;
}

#card_form .selector {
    display: inline-flex;
}

div.pref_selector {
    width: 30% !important;
}

p.pref_notice {
    color: #808080;
    font-size: 10px;
    width: inherit !important;
}

.form__error_txt {
    display: none;
}

.action_btns2 .btn_wrap .back_btn {
    padding: 0px; 
    margin-right: 20px !important;
}

.postalcode div {
    width: inherit !important;
}
.postalcode div.error {
    /*min-width: 170px;*/
}

.postalcode div.error div.error_msg {
    top: -25px !important;
}


#area_info {
    display: block;
    text-align: center;
    margin-top: 20px;
}
a.disabled {
    background-color: #a6a6a6 !important;
    border-color: #a6a6a6 !important;
    cursor: not-allowed !important;
}

.agreement {
    text-align: center;
    margin-top: 40px;
}
.agreement label {
    margin-top: 10px;
    display: block;
}
.agreement label.error {
    border: 1px solid #FF1E1E;
    background: rgba(255, 30, 30, 0.1);    
}

/*.list li div.photo {
    width: 150px;
    height: 150px;
    text-align: center;
    vertical-align: middle;
}
.list li div.photo img {
    width: auto;
    height: auto;
    max-width: 150px;
    max-height: 150px;
}*/


.form_wrap .form_item .forms .campaign_box,
.form_wrap .form_item .forms .campaign_box2 {
    padding: 0;
    margin: 0;
    width: 100% !important;
}
.form_wrap .form_item .forms .campaign_box .st_item,
.form_wrap .form_item .forms .campaign_box2 .st_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}


@media screen and (max-width: 767px) {
    .postalcode div.error {
        min-width: inherit;
    }
    .postalcode div.error div.error_msg {
        top: 0 !important;
    }
    div.pref_selector {
        width: 100% !important;
    }
}


.redpen {
	color: #ff0000;
	font-weight: bold;
text-align: right;
}

.directnote {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
}

    div.directnote.error {
        border: 1px solid rgb(255, 30, 30);
        background: rgba(255, 30, 30, 0.1);
        border-radius: 4px;
    }



@media screen and (max-width: 767px) {
.directnote { 
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
    }
}


                    .directattention .title {
                        font-weight: bold;
                        color: #575757;
                        font-size: 16px;
                        float: left;
                    }
                    .directattention span {
                        text-align: left;
                        display: block;
                        margin-left: 170px;
                    }
                    .directattention label {
                        float: left;
                        margin-left: 170px;
                    }
                    @media screen and (max-width: 767px) {
                        .directattention .title {
                            float: none;
                            text-align: left;
margin-bottom: 5px;
                        }
                        .directattention span {
                            text-align: left;
                            display: block;
                            margin-left: 0px;
                        }
                        .directattention label {
                            float: none;
                            margin-left: 0px;
                        }
                    }

