

.mypage .ec-layoutRole .ec-layoutRole__contents {
    max-width: 100%;
    padding: 20px 0 40px;
    background: #f3f4f4;
    margin: 0 0 35px 0;
}
#page_mypage .ec-layoutRole .ec-layoutRole__contents {
    margin-bottom: 0;
}
.mypage .ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
    width: 25%;
    max-width: 255px;
    margin: 0 0 0 auto;
}
.mypage .ec-layoutRole .ec-layoutRole__mainWithColumn {
    width: 75%;
    max-width: 1015px;
    margin: 0 auto 0 35px;
}
.mypage .ec-layoutRole .ec-layoutRole__mainWithColumn .ec-mypageRole {
    padding: 0;
}
.mypage_breadcrumb {
    width: 100%;
    background: #f3f4f4;
    padding: 60px 0 0 0;
}
.mypage_breadcrumbList {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0;
    max-width: 1305px;
    margin: 0 auto;
    list-style: none;
    gap: 47px;
    color: #3f3f3f;
    font-size: 21px;
    font-weight: bold;
    width: 98%;
}
.mypage_breadcrumbList li a {
    background: #fff;
    padding: 4px 10px;
    border-radius: 20px;
    color: #3f3f3f;
    font-weight: bold;
    font-size: 21px;
    position: relative;
}
.mypage_breadcrumbList li a::after {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/c_bread_icn.png);
    width: 14px;
    height: 21px;
    right: -30px;
}
.mypage .ec-pageHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ec-mypageRole .ec-pageHeader .mypage_ttl {
    margin: 0;
    padding: 0;
    color: #107667;
    font-size: 26px;
    font-weight: bold;
    border: none;
}
.mypage_poiint {
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
}
.mypage_poiint em {
    font-weight: bold;
    font-size: 22px;
}
.mypage_poiint em span {
    font-size: 20px;
}
.mypage_contents_container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.mypage_side_list {
    border: solid 1px #e7e8e8;
    border-radius: 10px;
    width: 100%;
    position: relative;
    background: #fff;
    padding: 0 0 10px 0;
    margin: 0 0 20px 0;
}
.mypage_sidetop {
    background: #107667;
    position: relative;
}
.mypage_sidetop::after {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/mypage_sidebg.png);
    width: 23px;
    height: 49px;
    right: -23px;
    top: 0;
    z-index: 99;
}
.mypage_side_list_item {
    display: flex;
    justify-content: left;
    align-items: center;
    width: 100%;
    padding: 12px 0 13px 2em;
    height: 50px;
}
.mypage_side_list_item p,.mypage_side_list_item a {
    font-weight: 600;
    font-size: 17px;
    margin: 0 0 0 12px;
    color: #404040;
}
.mypage_sidetop p {
    color: #fff;
}
.mypage_side_list02 {
    padding: 7px 0 15px 0;
}
.mypage_side_list02 .mypage_side_list_item {
    padding: 15px 0 15px 2em;
    position: relative;
}
.mypage_side_list02 .mypage_side_list_item p {
    margin: 0 0 0 6px;
}
.mypage_side_list02 .mypage_side_icnlink::after {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/icon_mypage_link.png);
    width: 17px;
    height: 16px;
    right: 20px;
}
.mypage_specialsec {
    background: #fff;
    border: 2px solid #ededed;
    border-radius: 10px;
    margin: 15px 0 30px;
    padding: 25px 30px;
}
.mypage_special_ttl {
    text-align: center;
    color: #3f3f3f;
    font-size: 23px;
    margin: 0;
    font-weight: bold;
}
.mypage_specialRole_list {
    display: flex;
    padding: 0;
    justify-content: flex-start;
    margin: 20px 0 12px;
    gap: 11px;
}
.ec-navlistRole_list {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.3%;
}
.ec-navlistRole_item {
    width: 24%;
}
.ec-navlistRole__navbox {
    border: 2px solid #e3e3e3;
    border-radius: 10px;
    background: #fff;
    width: 100%;
    text-align: center;
    margin: 0 0 30px 0;
}
.ec-navlistRole__navbox figure {
    margin: 0;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ec-navbox_name {
    background: #f9f9f9;
    padding: 10px 0;
    font-size: 20px;
    color: #404040;
    font-weight: bold;
    position: relative;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.ec-navbox_name::after {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/mypage_icnnav_link.png);
    width: 23px;
    height: 22px;
    right: 8px;
}
.mypage .top_historysec {
    margin: 0;
}
.ec-withdrawal_sec {
    margin: 40px 0 0 0;
}
.withdrawal_item {
    margin: 0 0 15px 0;
}
.withdrawal_btn {
    color: #3a3a3a;
    font-size: 14px;
    font-weight: bold;
    background: #eeeeee;
    padding: 12px 15px;
    border: 1px solid #cccccc;
    border-radius: 9px;
    box-shadow: 0px 0px 15px -5px #ccc;
}
.mypage_logout a {
    display: flex;
    align-items: center;
}
.mypage_logoutIcn {
    width: 22px;
    margin: 0 5px 0 0;
}
.ec-logoutitemLink {
    color: #3f3f3f;
    font-size: 14px;
    text-decoration: underline;
    font-weight: bold;
}



/* ご注文履歴 */
#page_mypage_history .ec_myHistorysec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
    padding: 0 20px;
}
.mypageHistory_ttl {
    font-size: 24px;
    text-align: center;
    color: #107667;
    margin: 0;
    padding: 25px 0;
    border-bottom: 1px solid #bdbdae;
    font-weight: bold;
}
.mypageHistory_ttl span {
    margin: 0 20px 0 0;
}
.myHistory_list {
    width: 100%;
}
.myHistory_list thead {
    background: #f9f9f9;
}
.myHistory_list th {
    padding: 20px;
    font-size: 16px;
    color: #3f3f3f;
    font-weight: bold;
    text-align: center;
}
.myHistory_list th {
    padding: 20px;
    font-size: 16px;
    color: #3f3f3f;
    font-weight: bold;
    text-align: center;
}
.myHistory_list .historytb_Fcol {
    width: 17%;
    border-right: 2px dashed #e0e0e0;
}
.myHistory_list .historytb_Scol {
    text-align: left;
}
.myHistory_list .historytb_Tcol {
    width: 17%;
    border-left: 2px dashed #e0e0e0;
}
.ec_myHistorysec .ec-para-normal {
    text-align: center;
    padding: 20px 0;
    font-size: 18px;
    font-weight: bold;
}
.history_order {
    padding: 0;
}
.history_order li {
    margin: 0 0 30px 0;
}
.history_order .history_ordername {
    font-size: 13px;
    font-weight: bold;
    display: block;
    padding: 0 0 10px 0;
}
.history_order .history_ordernum {
    font-size: 16px;
    font-weight: bold;
}
.myHistory_list tbody {
    border-bottom: 1px solid #eeeeee;
}
.myHistory_list tbody::before {
    content: '';
    display: table-row;
    height: 10px;
}
.myHistory_list tbody::after {
    content: '';
    display: table-row;
    height: 10px;
}
.myHistory_list td {
    vertical-align: top;
    padding: 20px 10px;
    border-right: 2px dashed #e0e0e0;
}
.myHistory_list td:last-child {
    border-right: none;
}
.history_infowrap {
    display: flex;
    justify-content: space-between;
}
.history_pdfig {
    width: 130px;
    text-align: center;
}
.history_pdfig.history_pdfig_bdcol {
    border: 2px solid #107667;
}
.h_itemfig_status {
    display: flex;
    justify-content: space-between;
    color: #3f3f3f;
}
.h_itemfig_status .h_equal-pdstatus {
    background: #107667;
    color: #fafd91;
    font-size: 11px;
    padding: 0 7px 0;
    line-height: 1.5;
}
.h_itemfig_status .h_successor-pdstatus {
    background: #404040;
    color: #fff;
    font-size: 12px;
    padding: 2px 3px;
}
.h_itemfig_status .h_pdnum {
    font-size: 13px;
}
.history_pdfig img {
    width: 125px;
    height: 125px;
    max-height: 100%;
}
.history_pd-detail {
    width: 76%;
}
.history_pd-detail .history_pdstatus {
    color: #878787;
    padding: 0 0 10px 0;
}
.history_pdname a {
    color: #003f7f;
    font-size: 16px;
    text-decoration: underline;
    line-height: 1.3;
}
.history_priceRow {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.history_priceRow {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 10px 0 0 0;
}
.history_reviewbtn {
    background: #404040;
    color: #fff;
    width: 160px;
    display: block;
    text-align: center;
    padding: 15px 0 15px 20px;
    border-radius: 5px;
    position: relative;
}
.history_reviewbtn:hover {
    color: #fff;
}
.history_reviewbtn::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/review_w-icn.png) no-repeat;
    width: 13px;
    height: 19px;
    background-size: cover;
    left: 15px;
    top: 13px;
}
.ec-historyRole__detailPrice {
    font-size: 20px;
}
.ec-historyRole__detailPrice span {
    font-size: 12px;
}
.ec-historyRole__quantity {
    font-size: 12px;
}
.ec-historyRole__quantity em {
    font-size: 20px;
}
.history_order_status {
    text-align: center;
    font-size: 18px;
    padding: 16px 0 0 0;
}
.orderstatus_red {
    color: #b20000;
}
.orderstatus_grey {
    color: #bababa;
}
.ec__historybtnwrap02 {
    border: 2px solid #bdbdae;
    position: relative;
    width: 100%;
    border-radius: 5px;
    margin: 40px 0 0 0;
}
.ec__historybtnwrap02 .ec_contactBtn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 7px;
    gap: 10px;
    cursor: pointer;
    line-height: 1.3;
    font-size: 13px;
}
.ec__historybtnwrap02 .ec_contact_input {
    width: 100%;
    opacity: 0;
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 9;
}
.list_pagerrole {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}
.list_pagerrole .ec-pager {
    padding: 30px 0;
    display: flex;
    align-items: center;
    gap: 13px;
    justify-content: center;
}
.list_pagerrole .ec-pager .ec-pager__item {
    border: 1px solid #919191;
    border-radius: 50%;
    background: #f9f9f9;
    min-width: 45px;
    min-height: 45px;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    line-height: 1.5;
}
.list_pagerrole .ec-pager .ec-pager__item.btn-lr {
    border: none;
    background: none;
}
.list_pagerrole .ec-pager .ec-pager__item a, .list_pagerrole .ec-pager .ec-pager__item--active a {
    color: inherit;
    display: block;
    padding: 0;
    text-decoration: none;
    line-height: 2.3;
}
.list_pagerrole .ec-pager .ec-pager__item--active {
    border: 1px solid #919191;
    border-radius: 50%;
    background: #404040;
    min-width: 45px;
    min-height: 45px;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    color: #fff;
}
.history_left_column {
    position: relative;
}
.history_left_column .history_orderlist {
    position: absolute;
    z-index: 1;
}
.history_tbody {
    height: 582px;
}


/* クーポン一覧 */
#page_mypage_coupon .ec_myCouponsec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
    padding: 0;
}
#page_mypage_coupon .mypageCoupon_ttl {
    margin: 0 20px;
}
#page_mypage_coupon .myCoupon_head {
    background: #f9f9f9;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 20px;
}
#page_mypage_coupon .c_numbersheet {
    font-size: 16px;
    color: #3f3f3f;
}
#page_mypage_coupon .c_numbersheet em {
    font-size: 22px;
}
#page_mypage_coupon .c_uselist {
    width: 200px;
    text-align: left;
    border: 1px solid #e4e4e4;
    border-radius: 5px;
    padding: 10px;
    font-size: 16px;
    color: #3f3f3f;
    font-weight: bold;
    appearance: none;
    background: url(/html/template/default/assets/img/mypage/select_icn.png) no-repeat top 14px right 13px #fff;
}
#page_mypage_coupon .couponRole_list {
    padding: 0;
    margin: 25px 20px 0;
}
#page_mypage_coupon .couponRole_item {
    border: 2px solid #bb3054;
    padding: 15px 25px;
    background: #f9f9f9;
    margin: 0 0 25px 0;
}
#page_mypage_coupon .couponRole_info {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    font-weight: bold;
    padding: 0 0 15px 0;
}
#page_mypage_coupon .coupon_listItemPrice {
    color: #ba3053;
    font-size: 3.3rem;
    font-weight: bold;
}
#page_mypage_coupon .coupon_listItemPrice span {
    font-size: 1.8rem;
}
#page_mypage_coupon .couponRole_details {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#page_mypage_coupon .couponCode_sec {
    display: flex;
    width: 100%;
    max-width: 395px;
    align-items: center;
    justify-content: flex-end;
}
.couponCode_sec .coupon_itemcode {
    background: #fff;
    padding: 10px 25px 10px 25px;
    font-size: 24px;
    font-weight: bold;
    border: 2px solid #bbbbbb;
    border-right: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    max-width: 350px;
    width: 100%;
}
.couponCode_sec .couponcode_copy {
    background: #404040;
    padding: 17px 15px 16px 20px;
    font-size: 15px;
    color: #fff;
    cursor: pointer;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    width: 100%;
    max-width: 105px;
    text-align: center;
}
#page_mypage_coupon .couponRole_useitem {
    position: relative;
}
#page_mypage_coupon .couponuseitem_sec {
    position: absolute;
    background: #8b8b8b;
    width: 100%;
    height: 100%;
    top: 0;
    opacity: 0.85;
    left: 0;
    text-align: center;
    color: #fff;
    font-size: 28px;
} 
#page_mypage_coupon .couponuseitem_text {
    background: url(/html/template/default/assets/img/mypage/boxshadow_bg.png) no-repeat;
    width: 160px;
    height: 110px;
    text-align: center;
    margin: 0 auto;
    line-height: 4;
    background-size: cover;
}
.CouponBack_sec {
    background: #f9f9f9;
    padding: 20px 35px;
    text-align: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.CouponBack_sec .CouponBack_btn {
    background: #eee;
    border: 2px solid #e5e5e5;
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 45%;
    padding: 15px 0;
    color: #404040;
    font-size: 20px;
    font-weight: 550;
    border-radius: 7px;
}

/* お気に入り一覧 */
#page_mypage_favorite .ec_myfavsec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
    padding: 0;
}
#page_mypage_favorite .mypageFav_ttl {
    border-bottom: 0;
}
#page_mypage_favorite .ec-favoriteRole {
    margin: 0 20px;
}
#page_mypage_favorite .favCount_text {
    color: #3f3f3f;
    text-align: center;
    font-size: 18px;
}
#page_mypage_favorite .ec-favoriteRole__detail {
    border-top: 1px solid #eeeeee;
    padding: 15px 0 0 0;
    border-bottom: 1px solid #eeeeee;
}
#page_mypage_favorite .favoriteRole__itemList {
    display: flex;
    padding: 0;
    flex-wrap: wrap;
    gap: 2%;
}
#page_mypage_favorite .favoriteRole__itemList .favorite_pditem {
    width: 23.5%;
    margin: 0 0 25px 0;
}
#page_mypage_favorite .favpd_name {
    color: #878787;
    padding: 5px 0 0;
    height: 20px;
}
#page_mypage_favorite .favclose_btn {
    display: block;
    text-align: right;
}
#page_mypage_favorite .favfig_sec_bdcol {
    border: 1px solid #107667;
}
#page_mypage_favorite .fav_itemfig_status {
    display: flex;
    justify-content: space-between;
    padding: 0 7px 0 0;
    color: #3f3f3f;
    font-size: 14px;
    align-items: center;
    height: 16px;
}
#page_mypage_favorite .fav_pdstatus01 {
    background: #107667;
    color: #fafd91;
    font-size: 12px;
    padding: 0 7px 0;
    line-height: 1.5;
}
#page_mypage_favorite .fav_pdstatus02 {
    background: #404040;
    color: #fff;
    font-size: 12px;
    padding: 0 7px 0;
    line-height: 1.5;
}
#page_mypage_favorite .favoriteitem__img a {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#page_mypage_favorite .favoriteitem__img img {
    max-height: 100%;
}
#page_mypage_favorite .ec-historyRole__detailTitle {
    padding: 7px 0;
}
#page_mypage_favorite .ec-historyRole__detailTitle a {
    color: #003f7f;
    text-decoration: underline;
    line-height: 1.3;
    height: 65px;
    display: block;
}
#page_mypage_favorite .js-fav_heightcondition {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
#page_mypage_favorite .fav_shipping {
    width: 100%;
}
#page_mypage_favorite .fav_pdcondition {
    display: flex;
    justify-content: flex-start;
    font-size: 12px;
    gap: 4px;
    margin: 0 0 5px 0;
    flex-wrap: wrap;
    align-items: baseline;
}
#page_mypage_favorite .fav_pdcondition span {
    padding: 2px;
    border: 1px solid;
}
#page_mypage_favorite .fav_pdcondition .tag_class_1 {
    color: #107667;
    border-color: #107667;
}
#page_mypage_favorite .fav_pdcondition .tag_class_2 {
    color: #FF6666;
    border-color: #FF6666;
}
 #page_mypage_favorite .fav_pdcondition .tag_class_3 {
    color: #dd863e;
    border-color: #dd863e;
}
#page_mypage_favorite .fav_pdcondition .tag_class_4 {
    color: #f09f00;
    border-color: #f09f00;
}
#page_mypage_favorite .fav_pdcondition .tag_class_5 {
    border-color: #0cadeb;
    color: #0cadeb;
}
/* #page_mypage_favorite .fav_pdcondition .fav_sale-cond {
    color: #bb3155;
}
#page_mypage_favorite .fav_pdcondition .fav_deli-cond {
    color: #dd863e;
}
#page_mypage_favorite .fav_pdcondition .fav_cod-cond {
    color: #5a5a5a;
} */
/* #page_mypage_favorite .fav_shipping {
   height: 16px;
} */
#page_mypage_favorite .fav_ship_text {
    background: #fafd91;
    font-size: 0.77rem;
    font-weight: bold;
    padding: 2px;
    color: #107666;
}
#page_mypage_favorite .fav_ship_text img {
    vertical-align: top;
}
#page_mypage_favorite .fav_shipstatus {
    color: #5a5a5a;
    font-size: 12px;
    border: 1px solid;
    padding: 1px 3px;
}
#page_mypage_favorite .fav_shipstock {
    border: 1px solid #0059b2;
    color: #0059b2;
}
#page_mypage_favorite .fav_ship_estimate {
    color: #5a5a5a;
    font-size: 13px;
    margin: 0 0 0 5px;
}
#page_mypage_favorite .favcart_btn {
    background: #ba3154;
    border: none;
    color: #fff;
    width: 100%;
    padding: 10px;
    font-size: 18px;
    position: relative;
    border-radius: 4px;
}
#page_mypage_favorite .favcart_btn:hover {
    opacity: 0.8;
}
#page_mypage_favorite .favcart_btn_disabled {
    background: gray;
    border: none;
    color: #fff;
    width: 100%;
    padding: 10px;
    font-size: 18px;
    position: relative;
    border-radius: 4px;
}
#page_mypage_favorite .favcart_btn::before {
    content: "";
    position: absolute;
    width: 22px;
    height: 20px;
    background: url(/html/template/default/assets/img/mypage/favcart_icn.png) no-repeat;
    background-size: cover;
    top: 7px;
    left: 11px;
}
#page_mypage_favorite .fav_pricesec {
    border-top: 2px dashed #dfdfdf;
    margin: 10px 0 10px 0;
    padding: 5px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
}
#page_mypage_favorite .fav_priceoff {
    background: #f9f9f9;
    width: 50px;
    height: auto;
    display: flex;
    text-align: center;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px;
    color: #ba3053;
    font-weight: bold;
}
#page_mypage_favorite .fav_priceoff span {
    display: block;
    text-align: right;
    font-size: 17px;
}
#page_mypage_favorite .fav_priceoff em {
    font-size: 15px;
}
#page_mypage_favorite .fav_pricelist {
    text-align: right;
    margin-left: auto;
}
#page_mypage_favorite .fav_teikaprice {
    display: block;
    font-size: 13px;
    color: #878787;
    margin: 0 0 5px 0;
}
#page_mypage_favorite .fav_saleprice {
    text-align: right;
    color: #595959;
    font-size: 13px;
}
#page_mypage_favorite .fav_saleprice em {
    font-size: 20px;
}

/* お届け先一覧 */
.mypage .mypageAddress_ttl {
    border: 0;
}
.mypage .address_CountRole {
    padding: 0 0 15px 0;
}
.mypage .addressCount_text {
    text-align: center;
    color: #404040;
    font-size: 18px;
}
.mypage .address_annotation {
    text-align: center;
    color: #404040;
    font-size: 18px;
    margin: 20px 0;
    line-height: 1.4;
}
.mypage .ec_myAddress_sec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
    position: relative;
}
#page_mypage_delivery .addressList {
    border-top: 1px solid #eeeeee;
    margin: 20px 0;
}
#page_mypage_delivery .addressList__item {
    display: table;
    width: 100%;
    position: relative;
    border-bottom: 1px solid #eeeeee;
}
#page_mypage_delivery .addressList__remove {
    vertical-align: middle;
    padding: 20px 0 20px 20px;
    text-align: center;
    opacity: 1;
}
#page_mypage_delivery .addressList__remove:hover {
    opacity: 0.8;
}
#page_mypage_delivery .adddress_detail {
    display: table-cell;
    vertical-align: middle;
    padding: 15px 0;
    margin-right: 4em;
    width: 80%;
}
#page_mypage_delivery .adddress_detail_text {
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
    line-height: 1.5;
}
#page_mypage_delivery .addressList__action {
    position: relative;
    vertical-align: middle;
    text-align: right;
    top: 16px;
    padding-right: 20px;
}
#page_mypage_delivery .addressChange_btn {
    background: #404040;
    color: #fff;
    display: block;
    text-align: center;
    border-radius: 5px;
    padding: 18px 8px;
}

#page_mypage_delivery .addressList__remove span {
    display: block;
    color: #3f3f3f;
    font-weight: bold;
    margin: 5px 0;
}
#page_mypage_delivery .address_newbtn {
    background: #404040;
    color: #fff;
    display: block;
    text-align: center;
    border-radius: 5px;
    padding: 18px 8px;
    width: 24%;
    margin: 0 auto 20px;
}

.mypage .myAddress_head {
    position: relative;
    border-bottom: 1px solid #eee;
    padding: 0 0 20px 0;
    margin: 0 20px;
}
.mypage .myAddress_head .mypage_backBtn {
    position: absolute;
    background: #eeeeee;
    border: 1px solid #dddddd;
    padding: 13px;
    border-radius: 5px;
    top: 36px;
    left: 20px;
}
.mypage .addressForm_role {
    padding: 20px 10px;
    border-bottom: 1px solid #eee;
    margin: 0 20px;
}
.mypage .addressForm_role02 {
    border-bottom: none;
}
.mypage .addressFormsec {
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.mypage .addressFormsec li {
    width: 48%;
    margin: 0 0 20px 0;
}
.mypage .addressForm_label_hidden {
    visibility: hidden;
}
.mypage .addressForm_label .ec_addresslabel {
    font-size: 18px;
}
.mypage .ec_inputbox input {
    width: 100%;
    border: 2px solid #e9e9e9;
    padding: 10px;
    border-radius: 10px;
    font-size: 16px;
    margin: 8px 0 0 0;
    color: #3f3f3f;
    background: #fff;
}
.mypage .ec_inputbox.ec_bgbox input {
    background: #f7f7f7;
}
.mypage .ec_inputbox input:focus-visible {
    outline: none;
}
.mypage .ec_inputbox input::placeholder {
    color: #dddddd;
}
.addressForm_label .ec-required {
    color: #b93052;
    font-size: 16px;
    font-weight: bold;
}
.mypage .jushowrap {
    background: #f9f9f9;
    padding: 20px 40px;
    margin: 0 0 20px 0;
}
.mypage .postal_sec {
    padding: 0 0 0 63px;
}
.mypage .postal_note {
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
    padding: 0 0 5px 0;
}
.mypage .postal_form {
    padding: 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 0 -25px;
}
.mypage .ec_postalbox {
    display: inline-block;
    width: 220px;
}
.mypage .postal_text {
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
}
.mypage .postal_form .postal_text {
    font-size: 22px;
}
.mypage .zip_searchbtn {
    background: #404040;
    color: #fff;
    padding: 15px 25px;
    border-radius: 5px;
}
.mypage .zip_searchbtn img {
    margin: 0 5px 0 0;
}
.mypage .jushoKu_wrap {
    display: flex;
    align-items: center;
    margin: 20px 0 0 0;
}
/* .mypage .ec_formselect select {
    border: none;
    appearance: none;
    font-size: 16px;
    background: transparent;
    pointer-events: none;
    color: #ddd;
} */
.mypage .ec_formselect select {
    background: url(/html/template/default/assets/img/mypage/select_icn.png) no-repeat top 16px right 10px #fff;
    border: 2px solid #e9e9e9;
    padding: 9px 20px;
    width: 245px;
    color: #3f3f3f;
    appearance: none;
    border-radius: 10px;
    font-size: 18px;
}
#page_mypage_delivery_edit .ec_formselect select,
#page_mypage_delivery_edit .jushoKu_wrap .ec_inputbox input {
    color: #3f3f3f;
}
#page_mypage_change .jushoKu_wrap .ec_inputbox input {
    color: #3f3f3f;
    font-weight: bold;
    font-size: 16px;
}
.mypage .ec_formselect select:focus-visible {
    outline: none;
}
.mypage .jushoKu_wrap .ec_inputbox input {
    border: none;
    margin: 0;
    background: transparent;
    color: #ddd;
    padding: 0;
}
.mypage .jushoKu_wrap .ec_inputbox input::placeholder {
    display: none;
    font-size: 0;
    color: #ddd;
}
#page_mypage_change .jushowrap .jusho_name {
    margin: 0;
}
.mypage .jushowrap .jusho_name {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 0;
    border: 0;
    margin: 0;
}
.mypage .jusho_name dd {
    width: 88%;
}
.ec-borderedDefs {
    display: none;
    border: none;
}
.mypage .address_registerRole {
    width: 100%;
    background: #f9f9f9;
    padding: 60px 20px 20px 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
.mypage .address_registerList {
    display: flex;
    width: 70%;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 20px;
}
.mypage .ec__backbtn {
    width: 115px;
}
.mypage .ec__backbtn a {
    background: #eee;
    border: 2px solid #e5e5e5;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 18px;
    color: #404040;
    font-weight: bold;
    padding: 15px;
    border-radius: 8px;
}
.mypage .ec_submitBtn {
    width: 64%;
}
.mypage .ec_submitBtn .ec-blockBtn--cancel {
    background: #404040;
    color: #fff;
    font-size: 20px;
    border-radius: 7px;
}
.mypage .address_deleteBox {
    position: absolute;
    background: #666666;
    opacity: 0.85;
    width: 53%;
    left: 90px;
    padding: 50px;
    color: #fff;
    border-radius: 6px;
    top: 50px;
    display: none;
}
.mypage .adddress_delete_ttl {
    text-align: center;
    font-size: 20px;
}
.mypage .addressDele_BtnRole {
    justify-content: space-between;
    display: flex;
    padding: 0;
    margin: 30px 0 0 0;
}
.mypage .addressDele_cancelBtn {
    width: 35%;
    background: #888;
    text-align: center;
    padding: 15px;
    font-size: 20px;
    border-radius: 5px;
    cursor: pointer;
}
.mypage .addressDele_ConfirmBtn {
    width: 60%;
    background: #fff;
    color: #404040;
    text-align: center;
    padding: 15px;
    font-size: 20px;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
}
.ec-errorMessage {
    margin: 7px 0 0 0;
    font-size: 14px;
    font-weight: bold;
    color: #DE5D50;
}

/* 見積り履歴 */
.mypage .ec_myEstimate_sec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
    padding: 0 20px;
}
.mypage .myEstimate_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 0;
    border-bottom: 1px solid #bdbdae;
}
.mypage .myEstimate_head span {
    width: 200px;
}
.mypage .period_list {
    width: 200px;
    text-align: center;
    border: 2px solid #e4e4e4;
    border-radius: 8px;
    padding: 12px 15px;
    font-size: 16px;
    color: #3f3f3f;
    font-weight: bold;
    appearance: none;
    background: url(/html/template/default/assets/img/mypage/select_icn.png) no-repeat top 14px right 13px #fff;
}
.mypage .period_list:focus-visible {
    outline: none;
}
.mypage .myEstimate_rowlist {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

.mypage .myEstimate_rowlist.myEstimate_headlist {
    background: #f9f9f9;
    color: #3f3f3f;
    font-weight: bold;
}
.mypage .myEstimate_tbwrap {
    display: flex;
    justify-content: space-between;
}
.mypage .myEstimate_tbleft {
    width: 80.5%;
}
.mypage .myEstimate_rowlist.myEstimate_detailList {
    width: 100%;
}
.mypage .myEstimate_wrapsec {
    border-bottom: 1px solid #eeeeee;
    padding: 0 0 15px 0;
}

.mypage .myEstimate_rowlist.myEstimate_headlist li {
    padding: 15px 0;
}
.mypage .estimate_firstcol {
    width: 15%;
    text-align: center;
    border-right: 2px dashed #e0e0e0;
}
.mypage .myEstimate_detailList .estimate_firstcol {
    width: 19%;
}
.mypage .estimate_secondcol {
    width: 55%;
    border-right: 2px dashed #e0e0e0;
    padding: 0 20px;
}
.mypage .myEstimate_detailList .estimate_secondcol {
    width: 70%;
}
.mypage .myEstimate_rowlist.myEstimate_headlist .estimate_secondcol {
    padding: 15px 20px;
}
.mypage .estimate_thirdcol {
    width: 11%;
    border-right: 2px dashed #e0e0e0;
    text-align: center;
}
.mypage .myEstimate_detailList .estimate_thirdcol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14%;
}
.mypage .estimate_fouthcol {
    width: 19%;
    padding: 15px 10px;
}
.mypage .estimate_infowrap {
    margin: 15px 0;
}
.mypage .myEstimate_numsec {
    background: #888888;
    color: #fff;
    padding: 10px 20px;
    font-size: 15px;
    margin: 15px 0 10px;
}
.mypage .estimate_datesec {
    padding: 0 15px;
    color: #3f3f3f;
}
.mypage .estimate_datesec dt {
    text-align: left;
    font-size: 14px;
    font-weight: 400;
    padding: 25px 0 7px 0;
}
.mypage .estimate_datesec .estimate_date_red {
    color: #b9305a;
}
.mypage .estimate_datesec dd {
    text-align: left;
    font-size: 16px;
    margin: 0;
}
.mypage .estimate_pdDetailsec {
    display: flex;
    justify-content: space-between;
}
.mypage .estimate_pdfig {
    width: 130px;
}
.mypage .estimate_pdfig a {
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mypage .estimate_pdfig img {
    max-height: 100%;
}
.mypage .estimate_pd-detail {
    width: 70%;
}
.mypage .estimate_pdstatus {
    color: #878787;
    padding: 0 0 5px 0;
}
.mypage .estimate_pdname a {
    color: #003f7f;
    text-decoration: underline;
    line-height: 1.4;
}
.mypage .estimate_pdPrice {
    color: #404040;
    font-size: 15px;
    margin: 30px 0 0 0;
}
.mypage .estimate_pdQunantity {
    color: #404040;
    font-size: 15px;
    padding: 7px 0 0;
}
.mypage .estimate_pdTotalprice {
    text-align: right;
    color: #595959;
    font-size: 16px;
}
.mypage .estimate_pdTotalprice em {
    font-size: 24px;
    font-weight: bold;
    color: #595959;
}
.mypage .estimate_pdTotalprice span {
    font-size: 13px;
}
.mypage .estimate_status {
    color: #cccccc;
    font-size: 16px;
}
.mypage .estimate_status.estimate_status_red {
    color: #b20000;
}
.mypage .estimate_editBtn {
    display: block;
    background: #404040;
    text-align: left;
    color: #fff;
    padding: 15px 12px 12px 44px;
    border-radius: 3px;
    margin: 0 0 10px 0;
    width: 100%;
}
.mypage .estimate_fouthcol a {
    position: relative;
}
.mypage .estimate_editBtn::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/review_w-icn.png) no-repeat;
    width: 17px;
    height: 23px;
    background-size: cover;
    left: 13px;
    top: 10px;
}
.mypage .estimate_downBtn {
    display: block;
    background: #fff;
    text-align: left;
    color: #bb3054;
    padding: 10px 12px 10px 44px;
    border-radius: 3px;
    margin: 0 0 10px 0;
    width: 100%;
    border: 1px solid #bb3054;
    line-height: 1.3;
    font-weight: bold;
}
.mypage .estimate_downBtn::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/estimate_d-icn.png) no-repeat;
    width: 20px;
    height: 28px;
    background-size: cover;
    left: 13px;
    top: 13px;
}
.mypage .estimate_cartBtn {
    display: block;
    background: #bb3054;
    text-align: left;
    color: #fff;
    padding: 7px 12px 7px 44px;
    border-radius: 3px;
    margin: 0 0 10px 0;
    width: 100%;
    border: 1px solid #bb3054;
    line-height: 1.3;
    font-weight: bold;
}
.mypage .estimate_cartBtn::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/favcart_icn.png) no-repeat;
    width: 22px;
    height: 20px;
    background-size: cover;
    left: 13px;
    top: 13px;
}
.mypage .expiry_text {
    color: #bb3054;
}

.mypage .ec-pager {
    padding: 0;
    display: flex;
    align-items: center;
    gap: 13px;
    justify-content: center;
    margin: 30px 0 10px 0;
}
.mypage .ec-pager .ec-pager__item {
    border: 1px solid #919191;
    border-radius: 50%;
    background: #f9f9f9;
    min-width: 45px;
    min-height: 45px;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    line-height: 1.5;
}
.mypage .ec-pager .ec-pager__item.btn-lr {
    border: none;
    background: none;
}
.mypage .ec-pager .ec-pager__item--active {
    border: 1px solid #919191;
    border-radius: 50%;
    background: #404040;
    min-width: 45px;
    min-height: 45px;
    font-size: 18px;
    font-weight: bold;
    padding: 0;
    color: #fff;
}
.mypage .ec-pager .ec-pager__item a, .mypage .ec-pager .ec-pager__item--active a {
    color: inherit;
    display: block;
    padding: 0;
    text-decoration: none;
    line-height: 2.3;
}
/* ログイン */
#page_mypage_login .ec-layoutRole .ec-layoutRole__contents {
    padding: 30px 0;
}
.mypage .ec_myloginSec {
    width: 100%;
    max-width: 1020px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.mypage .ec_myLoginwrap,
.mypage .ec_myRegisterwrap {
    width: 49%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 30px 30px 20px;
}
.mypage .ec_myLogin_ttl {
    text-align: center;
    color: #464646;
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 15px 0;
}
.mypage .myLogin_inputsec {
    margin: 10px 0 0 0;
}
.mypage .myLogin_inputsec input {
    background: #f7f7f7;
    border: 2px solid #dddddd;
    padding: 10px 15px;
    font-size: 18px;
    margin: 0 0 12px 0;
    border-radius: 7px;
}
.mypage .myLogin_inputsec input:focus,
.mypage .myLogin_inputsec input:focus-visible,
.mypage .ec_LoginBtnsec .ec-blockBtn--cancel:focus,
.mypage .ec_LoginBtnsec .ec-blockBtn--cancel:focus-visible {
    outline: none;
    box-shadow: none;
} 
.mypage .myLogin_inputsec input::placeholder {
    color: #dddddd;
}
.mypage .ec_LoginBtnsec {
    padding: 10px 0 20px;
}
.mypage .ec_LoginBtnsec .ec-blockBtn--cancel {
    background: #404040;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    height: auto;
    padding: 15px;
    line-height: 1;
    border-radius: 5px;
    border: none;
    position: relative;
}

.mypage .ec_LoginBtnsec .ec-blockBtn--cancel::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/login/login-icn_03.png) no-repeat;
    width: 31px;
    height: 31px;
    background-size: cover;
    left: 20px;
    top: 10px;
}
.mypage .ec_fogotsec {
    text-align: center;
}
.mypage .ec_fogotsec .ec_fogotlink {
    color: #004080;
    font-size: 16px;
    text-decoration: underline;
}
.mypage .ec_loginAccsec {
    border-top: 7px solid #f3f4f4;
    margin: 30px 0 0;
    padding: 20px 0 0;
}
.mypage .loginacc_list {
    padding: 0;
    text-align: center;
    width: 100%;
}
.mypage .loginacc_list p.loginacc_other {
    font-size: 18px;
    color: #464646;
    padding: 17px 0;
    display: block;
    font-weight: bold;
    margin: 0 0 15px 0;
    border-radius: 7px;
}
.mypage .loginacc_list p {
    line-height: 1.5;
}
.div_AmazonLogin {
    display: none!important;
}
.mypage .loginacc_list .loginacc_other {
    padding: 5px 0 0 0;
}
.mypage .loginacc_list .loginacc_amazon {
    background: #f7de9e;
    position: relative;
    border: 2px solid #c7af65;
}
.mypage .loginacc_list .loginacc_amazon::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/login/amazon-icn.png) no-repeat;
    width: 36px;
    height: 36px;
    background-size: cover;
    top: 10px;
    left: 20px;
}
.mypage .loginacc_list .loginacc_google {
    border: 2px solid #acacac;
    position: relative;
}
.mypage .loginacc_list .loginacc_google::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/login/google-icn.png) no-repeat;
    width: 32px;
    height: 34px;
    background-size: cover;
    top: 10px;
    left: 20px;
}
.mypage .loginacc_list .loginacc_apple {
    background: #252525;
    color: #fff;
    position: relative;
}
.mypage .loginacc_list .loginacc_apple::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/login/apple-icn.png) no-repeat;
    width: 29px;
    height: 35px;
    background-size: cover;
    top: 10px;
    left: 20px;
}
.mypage .ec_registerText {
    color: #404040;
    text-align: center;
    font-size: 16px;
}
.mypage .advantageList {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 17px;
    margin: 20px 0;
}
.mypage .ec_registerBtn {
    background: #107667;
    width: 100%;
    display: block;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 20px;
    border-radius: 5px;
    position: relative;
}
.mypage .ec_registerBtn::before {
    content: "";
    position: absolute;
    background: url(/html/template/default/assets/img/mypage/review_w-icn.png) no-repeat;
    width: 22px;
    height: 30px;
    background-size: cover;
    top: 15px;
    left: 20px;
}

/* 退会申請 */
.mypage .ec_mywithdraw_sec {
    border: 2px solid #ededed;
    background: #fff;
    border-radius: 10px;
}
.mypage .mywithdraw_head {
    margin: 0 20px;
    border-bottom: 1px solid #eeeeee;
    padding: 0 0 20px 0;
}
.mypage .mywithdraw_headtext {
    text-align: center;
    font-size: 18px;
}
.mypage .mywithdraw_body {
    padding: 20px 0 0 0;
}
.mypage .withdraw_applytext {
    text-align: center;
    font-size: 16px;
    color: #bb3054;
    line-height: 1.3;
}
.mypage .withdraw_reasonsec {
    margin: 20px 40px 0;
}
#page_mypage_withdraw.mypage .withdraw_reasonsec {
    margin: 40px 40px 20px;
}
.mypage .withdraw_reasonsec label {
    width: 100%;
}
.mypage .withdraw_reasonLable {
    color: #3f3f3f;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 12px 0;
}
.mypage .withdraw_reasonLable .required {
    color: #ba3053;
    margin: 0 0 0 20px;
}
.mypage .withdraw_reasonsec textarea {
    border: 1px solid #e4e4e4;
    width: 100%;
    display: block;
    padding: 15px 20px;
    border-radius: 7px;
    line-height: 1;
    height: 100px;
    font-size: 18px;
}
.mypage .withdraw_reasonsec textarea::placeholder {
    color: #cccccc;
}
.mypage .withdraw_reasonBox {
    background: #fafd91;
    margin: 20px 40px 15px;
    padding: 20px;
    border-radius: 7px;
}
.mypage .withdraw_reasonBoxttl {
    text-align: center;
    color: #404040;
    font-size: 17px;
    padding: 0 0 20px 0;
}
.mypage .withdraw_reasonList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0;
}
.mypage .withdraw_reasonList li {
    width: 49%;
    margin: 0 0 20px;
}
.mypage .withdraw_reasonList li label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}
.mypage .withdraw_check {
    display: none;
}
.mypage .ec_checkbox-field-text {
    color: #3f3f3f;
    font-size: 16px;
    line-height: 1.3;
    position: relative;
    padding: 0 0 0 46px;
}
.mypage .ec_checkbox-field-text::before {
    border: 2px solid #e4e4e4;
    border-radius: 7px;
    content: "";
    display: block;
    height: 30px;
    left: 4px;
    margin: 3px 0 0 0;
    position: absolute;
    top: -7px;
    width: 30px;
    background: #fff;
}
.mypage input[type=checkbox]:checked + .ec_checkbox-field-text:after {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 13px;
    width: 12px;
    height: 21px;
    -webkit-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
    border-bottom: 3px solid #900;
    border-right: 3px solid #900;
}
.mypage .withdraw_reasonList .field_redtext {
    color: #ba3053;
    font-weight: bold;
}
.mypage .withdraw_agreeBox {
    background: #f9f9f9;
    padding: 30px 40px;
}
.mypage .withdraw_agreeitem label {
    display: flex;
    justify-content: space-between;
}
.mypage .withdraw_submitsec {
    display: flex;
    justify-content: space-between;
    margin: 20px 0 0 0;
}
.mypage .withdraw_submitsec .withdraw_backBtn {
    width: 100%;
    max-width: 110px;
    background: #eeeeee;
    align-items: center;
    display: flex;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 18px;
    color: #404040;
    font-weight: bold;
}
.mypage .withdraw_submitsec .ec-blockBtn--cancel {
    background: #404040;
    height: auto;
    font-size: 18px;
    max-width: 455px;
    border-radius: 5px;
    line-height: 3;
}
.mypage .withdraw_submitsec .ec-blockBtn--cancel:hover {
    opacity: 0.7;
}
.mypage .withdraw_submitsec .ec-blockBtn--cancel:focus,
.mypage .withdraw_submitsec .ec-blockBtn--cancel:focus-visible {
    box-shadow: none;
    outline: none;
}
.mypage .withdraw_submitsec span {
    width: 144px;
}


/* 会員情報編集 */
.mypage .ec_mypageChangesec {
    border: 1px solid #e9e9e9;
    background: #fff;
    border-radius: 10px;
    padding: 20px 0 0 0;
}
.mypage .change_flow {
    text-align: center;
}
.mypage .change_mainText {
    color: #3f3f3f;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 30px 0;
}
.mypage .changeform_sec {
    padding: 20px 0;
    margin: 0 20px;
    border-top: 1px solid #eeeeee;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.mypage .changeForm_label,
.mypage .changeRole_sec dl label {
    color: #3f3f3f;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 10px 0;
}
.mypage .change_inputbox input {
    width: 100%;
    border: 2px solid #efefef;
    padding: 7px 15px;
    font-size: 16px;
    border-radius: 5px;
    margin: 0 0 10px;
}
.mypage .changeform_sec li {
    width: 49%;
    margin: 0 0 10px 0;
}
.mypage .changeaddress_role02,
.mypage .change_contactwrap {
    padding: 25px 0;
    margin: 0 30px;
    border-top: 1px solid #eeeeee;
}
.mypage .change_contactwrap {
    display: flex;
    justify-content: space-between;
}
.mypage .change_emailsec {
    width: 60%;
}
.mypage .change_mailtext {
    font-size: 19px;
    color: #bb3054;
    font-weight: bold;
}
.mypage .change_phonesec {
    width: 38%;
}
.mypage .change_inputbox.ec-telInput input {
    width: 100%;
    max-width: 100%;
}
.mypage .changeForm_label span.ec-required,
.mypage .changeRole_sec dl span.ec-required{
    color: #ba3053;
    font-size: 16px;
    font-weight: bold;
}
.mypage .changeForm_label span {
    color: #ba3053;
    font-size: 18px;
    font-weight: bold;
}
.mypage .change_inputbox.ec-birth select {
    appearance: none;
    background: url(/html/template/default/assets/img/mypage/select_icn.png) no-repeat top 16px right 10px;
    border: 1px solid #ededed;
    padding: 10px 20px;
    width: 100px;
    color: #3f3f3f;
    font-weight: bold;
}
.mypage .change_inputbox.ec-birth #entry_birth_year {
    width: 140px;
}
.mypage .ec-birth span {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
}
.mypage .change_radiobox.ec-radio {
    margin: 11px 0 0 0;
}
.mypage .change_radiobox span,
.mypage .changeRole_sec dl span {
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
    padding: 0 0 0 7px;
}
.mypage .change_radiobox input,
.mypage .changeRole_sec dl input {
    position: relative;
    cursor: pointer;
}
.mypage .change_radiobox input::before,
.mypage .changeRole_sec dl input::before {
    position: absolute;
    z-index: 1;
    top: -3px;
    left: 3px;
    width: 17px;
    height: 17px;
    content: '';
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    -o-transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    -webkit-transform: scale(0, 0);
    -ms-transform: scale(0, 0);
    transform: scale(0, 0);
    border-radius: 50%;
    background: #404040;
}
.mypage .change_radiobox input:checked:before,
.mypage .changeRole_sec dl input:checked::before {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1);
}
.mypage .change_radiobox input:after,
.mypage .changeRole_sec dl input::after {
    position: absolute;
    top: -8px;
    left: -0.125rem;
    width: 28px;
    height: 28px;
    content: '';
    border: 1px solid #dedede;
    border-radius: 50%;
    background: #ffffff;
}
.mypage .change_radiobox label {
    cursor: pointer;
}
.mypage .ec_selectjob select {
    appearance: none;
    background: url(/html/template/default/assets/img/mypage/select_icn.png) no-repeat top 16px right 10px;
    border: 1px solid #ededed;
    padding: 10px 20px;
    width: 100%;
    color: #3f3f3f;
    font-size: 18px;
    font-weight: bold;
}
.mypage .changeRole_sec dl {
    padding: 25px 0 0;
    margin: 0 30px;
    border-top: 1px solid #eeeeee;
}
.mypage .changeRole_sec dl dt {
    margin: 0 0 15px 0;
}
.mypage .mail_magazineText {
    margin: 0 30px 20px;
    color: #3f3f3f;
    font-size: 16px;
    font-weight: bold;
}
.mypage .change_submitsec {
    background: #f9f9f9;
    padding: 40px;
}
.mypage .change_submitList {
    display: flex;
    justify-content: space-between;
}
.mypage .change_submitsec .ec_changeBack {
    background: #eee;
    border: 2px solid #e5e5e5;
    width: 110px;
    display: block;
    text-align: center;
    font-size: 18px;
    color: #404040;
    font-weight: bold;
    padding: 15px;
    border-radius: 8px;
}
.mypage .change_submitsec .ec-blockBtn--cancel {
    width: 50%;
    background: #107667;
    border-radius: 5px;
    border: none;
    font-size: 20px;
}
.mypage .change_submitsec .ec-blockBtn--cancel:hover {
    opacity: 0.8;
}
.mypage .change_submitsec span {
    width: 100px;
}
.mypage button:focus,
.mypage button:focus-visible {
    outline: none;
    box-shadow: none;
}

/* 会員登録編集確認 */

.mypage .changeconfirm_col .mypagechange_confirmList,
.mypage .changeconfirm_col dl {
    margin: 0 30px;
    display: flex;
    flex-wrap: wrap;
}
.mypage .changeconfirm_col .mypagechange_confirmList dt,
.mypage .changeconfirm_col dl dt {
    width: 25%;
}
.mypage .changeconfirm_col .mypagechange_confirmList dd,
.mypage .changeconfirm_col dl dd {
    width: 70%;
    color: #3f3f3f;
    font-size: 17px;
    font-weight: bold;
    padding: 0 0 0 7px;
}
.mypage .changeconfirm_col .mypagechange_confirmList dd span {
    color: #868686;
}

.mypage .changeconfirm_col .mypagechange_confirmList02 {
    margin: 0 30px;
    border-top: 1px solid #eeeeee;
    padding: 25px 0 0;
}
.mypage .changeconfirm_col .changeconfirm_address {
    color: #3f3f3f;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
}
.mypage .changeconfirm_col .postal_text {
    color: #3f3f3f;
    font-size: 21px;
    font-weight: bold;
}
.mypagechange_confirm .changeForm_label span.ec-required,
.mypagechange_confirm .changeRole_sec dl span.ec-required {
    display: none;
}
.mypagechange_confirm .mail_magazineText {
    border-top: 1px solid #eeeeee;
    padding: 25px 0;
}

/* 会員登録編集完了 */
.mypage .CompleteBtnsec .ec-blockBtn--cancel {
    width: 50%;
    background: #107667;
    border-radius: 5px;
    border: none;
    font-size: 20px;
    margin: 0 auto;
}
.mypage .changecompleteRole_sec {
    border-top: 1px solid #eeeeee;
    margin: 0 20px;
    padding: 30px 0;
}
.mypage .changeComplete_maintext {
    color: #3f3f3f;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    padding: 30px 0;
}

.attention_pre {
    font-size: 16px;
    color: #bb3054;
    line-height: 1.4;
    font-weight: 600;
    margin: 10px 2% 10px;
}

#page_mypage_login .top_historysec{
    display: none;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.sr-only + .ec-required {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.changeForm_label:has(.sr-only) {
    height: 34px;
}
@media (max-width: 930px) {
    .mypage .ec-layoutRole .ec-layoutRole__contents {
        padding: 20px 15px 40px;
    }
    .mypage_breadcrumb {
        padding: 60px 15px 0;
    }
    .mypage_side_list_item {
        padding: 12px 1em 13px 1em;
    }
    .mypage_side_list_item p, .mypage_side_list_item a {
        font-size: 14px;
    }
    .mypage_side_list02 .mypage_side_list_item {
        padding: 15px 1em 15px 1em;
    }
    .ec-navlistRole_item {
        width: 32.4%;
    }
    .mypage_poiint {
        width: 45%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .mypage .advantageList {
        gap: 10px;
    }
    .mypage .advantageList li {
        width: 48.2%;
    }
    .ec-navbox_name {
        font-size: 15px;
    }
    .ec-navbox_name::after {
        width: 12px;
        height: 12px;
        background-size: cover;
    }
    

    /* ご注文履歴 */
    .myHistory_col {
        overflow-x: scroll;
    }
    .myHistory_list {
        width: 980px;
    }

    /* クーポン一覧 */
    #page_mypage_coupon .couponRole_details {
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
    }
    #page_mypage_coupon .coupon_listItemPrice {
        font-size: 3rem;
    }

    /* お気に入り一覧 */
    #page_mypage_favorite .favoriteRole__itemList .favorite_pditem {
        width: 47.7%;
    }
    .mypage .address_registerList {
        width: 100%;
    }

    /* お届け先 */
    .mypage .addressForm_label .ec_addresslabel {
        font-size: 17px;
    }
    .mypage .jushowrap {
        padding: 20px 20px;
    }
    .mypage .postal_form {
        gap: 10px;
        margin: 0 0 0 -27px;
        flex-wrap: wrap;
    }
    .mypage .zip_searchbtn {
        margin: 0 0 0 26px;
        display: block;
    }
    .mypage .postal_sec {
        padding: 0 0 0 58px;
    }
    .mypage .jushowrap .jusho_name {
        gap: 10px;
    }
    .mypage .jusho_name dd {
        width: 86%;
    }

    /* 退会申請 */
    .mypage .withdraw_applytext {
        margin: 0 20px;
    }
    .mypage .withdraw_submitsec {
        gap: 20px;
    }
    .mypage .withdraw_submitsec span {
        display: none;
    }
    /* 見積り履歴 */
    .mypage .ec_myEstimate_sec {
        padding: 0;
    }
    .mypage .myEstimate_head {
        justify-content: center;
        flex-wrap: wrap;
        padding: 0;
        border-bottom: 1px solid #ededed;
    }
    .mypage .myEstimate_head .mypageAddress_ttl {
        width: 100%;
    }
    .mypage .period_list {
        width: 170px;
        padding: 10px 15px;
        font-size: 14px;
    }
    .mypage .period_sec {
        width: 100%;
        text-align: center;
        background: #f9f9f9;
        padding: 8px 0;
    }
    .mypage .myEstimate_rowlist.myEstimate_headlist {
        display: none;
    }
    .mypage .myEstimate_tbwrap {
        flex-wrap: wrap;
    }
    .mypage .myEstimate_tbleft {
        width: 100%;
    }
    .mypage .myEstimate_detailList .estimate_firstcol {
        width: 28%;
    }
    .mypage .myEstimate_detailList .estimate_secondcol {
        width: 67%;
        padding: 0 10px;
    }
    .mypage .myEstimate_detailList .estimate_thirdcol {
        width: 15%;
        border: none;
    }
    
    .mypage .estimate_fouthcol {
        width: 100%;
        padding: 15px 20px;
    }
    .mypage .estimate_fouthcol a {
        text-align: center;
    }
    .mypage .estimate_pdDetailsec {
        gap: 10px;
    }
    .mypage .estimate_pd-detail {
        width: 52%;
    }
    .mypage .estimate_pdname a {
        font-size: 12px;
    }
    .mypage .estimate_pdPrice,
    .mypage .estimate_pdQunantity {
        font-size: 13px;
    }
}
@media (max-width: 767px) {
    .changeForm_label:has(.sr-only) {
        height: 0;
        padding: 0;
    }
    .mypage .ec-layoutRole .ec-layoutRole__contents {
        padding: 30px 0;
    }
    .mypage .ec-layoutRole .ec-layoutRole__mainWithColumn {
        width: 90%;
        max-width: 100%;
        margin: 0 auto;
    }
    .mypage_breadcrumbList,
    .mypage_breadcrumbList li a {
        font-size: 16px;
    }
    .mypage_breadcrumbList li a::after {
        width: 10px;
        height: 17px;
        background-size: cover;
    }
    .mypage .ec-pageHeader {
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: baseline;
    }
    .ec-mypageRole .ec-pageHeader .mypage_ttl {
        padding: 0 0 15px 0;
        font-size: 22px;
        order: 1;
    }
    .mypage_logout {
        order: 2;
    }
    .ec-logoutitemLink {
        font-size: 16px;
    }
    .mypage_poiint {
        font-size: 13px;
        display: initial;
        width: 100%;
        text-align: center;
        order: 3;
    }
    .mypage_poiint em {
        font-size: 20px;
    }
    .mypage_poiint em span {
        font-size: 16px;
    }
    .mypage_special_ttl {
        font-size: 18px;
    }
    .mypage_specialsec {
        border-radius: 7px;
        padding: 20px;
    }
    .ec-navlistRole_list {
        gap: 6px;
    }
    .ec-navlistRole_item {
        width: 49%;
    }
    .ec-navlistRole__navbox {
        margin: 0;
    }
    .ec-navlistRole__navbox figure {
        height: 80px;
    }
    .ec-navbox_name {
        font-size: 13px;
    }


    /* ご注文履歴 */
    #page_mypage_history .ec_myHistorysec {
        padding: 0;
    }
    .myHistory_col {
        overflow-x: initial;
    }
    .myHistory_list {
        width: 100%;
        box-sizing: border-box;
        display: block;
    }
    .myHistory_list thead {
        display: none;
    }
    .myHistory_list tbody {
        display: block;
    }
    .myHistory_list tbody::before,
    .myHistory_list tbody::after {
       display: none;
    }
    .myHistory_list tbody tr {
        display: block;
        border-bottom: 1px solid #eee;
    }
    .myHistory_list td {
        width: 100%;
        display: block;
        box-sizing: border-box;
        padding: 0;
        border: 0;
    }
    .mypageHistory_ttl {
        font-size: 18px;
        padding: 18px 0;
    }
    .history_order {
        display: flex;
        justify-content: space-between;
        background: #f9f9f9;
        padding: 15px;
    }
    .history_order.history_orderlist {
        padding-bottom: 0;
        flex-wrap: wrap;
        position: static;
    }
    .history_order li {
        margin: 0 0 0 0;
    }
    .history_order li.history_order_item_list {
        margin: 0 0 25px;
        width: 50%;
    }
    .history_order .history_order_item01 {
        width: 35%;
    }
    .history_order .history_order_item02 {
        width: 60%;
    }
    .history_orderlist .history_order_item02 {
        order:1;
    }
    .myHistory_list td.pc {
        display: none;
    }
    .history_order .history_ordername {
        font-size: 13px;
        padding: 0 0 10px 0;
    }
    .history_order .history_ordernum {
        font-size: 14px;
    }
    .history_order_status {
        font-size: 13px;
        padding: 10px;
        font-weight: bold;
        background: #fff;
    }
    .ec__historybtnwrap02 {
        border: 1px solid #bdbdae;
        width: 100%;
        margin: 0;
        background: #fff;
    }
    .ec__historybtnwrap02 .ec_contactBtn {
        padding: 10px 7px;
        gap: 5px;
        font-size: 13px;
        font-weight: bold;
    }
    .ec__historybtnwrap02 .ec_contactBtn img {
        width: 20px;
    }
    .history_infowrap {
        padding: 15px;
    }
    .history_pdfig {
        width: 35%;
    }
    .history_pdfig img {
        width: 100px;
        height: 100px;
    }
    .h_itemfig_status .h_equal-pdstatus,
    .h_itemfig_status .h_successor-pdstatus {
        font-size: 10px;
        width: 45px;
        margin: 0 3px 0 0;
    }
    .h_itemfig_status .h_pdnum {
        font-size: 10px;
    }
    .history_pd-detail {
        width: 60%;
    }
    .history_priceRow.pc {
        display: none;
    }
    .history_priceRow {
        padding: 0 15px;
    }
    .history_reviewsec {
        padding: 15px 15px;
    }
    .history_reviewbtn {
        width: 100%;
    }
    .list_pagerrole {
        width: 100%;
        max-width: 100%;
    }
    .list_pagerrole .ec-pager {
        padding: 20px 0;
        gap: 7px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .list_pagerrole .ec-pager .ec-pager__item,
    .list_pagerrole .ec-pager .ec-pager__item--active {
        min-width: 30px;
        min-height: 30px;
        font-size: 12px;
        line-height: 2;
    }
    .list_pagerrole .ec-pager .ec-pager__item a, .list_pagerrole .ec-pager .ec-pager__item--active a {
        line-height: 2;
    }
    .list_pagerrole .ec-pager .ec-pager__item.btn-lr img {
        width: 20px;
    }
    .history_tbody {
        height: auto;
    }

    /* クーポン一覧 */
    #page_mypage_coupon .mypageCoupon_ttl {
        margin: 0;
    }
    #page_mypage_coupon .myCoupon_head {
        padding: 15px 15px;
        margin: 0;
    }
    #page_mypage_coupon .c_numbersheet {
        font-size: 15px;
        color: #3f3f3f;
        display: flex;
        justify-content: flex-start;
        width: 48%;
        align-items: center;
    }
    #page_mypage_coupon .c_numbersheet span:first-child {
        width: 70%;
    }
    #page_mypage_coupon .c_numbersheet em {
        font-size: 20px;
    }
    #page_mypage_coupon .c_uselist {
        width: 100%;
        padding: 10px;
        font-size: 15px;
        max-width: 48%;
    }
    #page_mypage_coupon .couponRole_list {
        margin: 25px 15px 0;
    }
    #page_mypage_coupon .couponRole_item {
        padding: 15px 15px;
        margin: 0 0 25px 0;
    }
    #page_mypage_coupon .couponRole_info {
        flex-wrap: wrap;
    }
    #page_mypage_coupon .couponTitle {
        order: 2;
        padding: 10px 0 0;
    }
    #page_mypage_coupon .couponDate {
        order: 1;
    }
    #page_mypage_coupon .couponRole_details {
        flex-wrap: wrap;
    }
    .coupon_offsec {
        width: 100%;
    }
    #page_mypage_coupon .coupon_listItemPrice {
        font-size: 11vw;
        width: 100%;
        line-height: 1.3;
        padding: 0 0 10px 0;
        text-align: center;
    }
    #page_mypage_coupon .coupon_listItemPrice span {
        font-size: 6vw;
        display: block;
    }
    #page_mypage_coupon .couponCode_sec {
        width: 100%;
        max-width: 100%;
        flex-wrap: wrap;
    }
    .couponCode_sec .coupon_itemcode {
        padding: 10px;
        font-size: 6vw;
        border-right: 2px solid #bbbbbb;
        border-radius: 5px;
        max-width: 100%;
        width: 100%;
        text-align: center;
    }
    .couponCode_sec .couponcode_copy {
        padding: 10px;
        font-size: 17px;
        border-radius: 5px;
        width: 100%;
        max-width: 100%;
        text-align: center;
        margin: 10px 0;
    }
    .CouponBack_sec {
        padding: 20px 15px;
    }
    .CouponBack_sec .CouponBack_btn {
        border: 1px solid #e5e5e5;
        max-width: 100%;
        padding: 12px 0;
        font-size: 18px;
    }
    #page_mypage_coupon .couponuseitem_text {
        position: relative;
        top: 80px;
    }

    /* お気に入り一覧 */
    #page_mypage_favorite .favCount_text {
        font-size: 16px;
    }
    #page_mypage_favorite .ec-favoriteRole {
        margin: 0;
    }
    #page_mypage_favorite .ec-favoriteRole__detail {
        border-top: 2px solid #eeeeee;
        border-bottom: 2px solid #eeeeee;
    }
    #page_mypage_favorite .favoriteRole__itemList .favorite_pditem {
        width: 100%;
        margin: 0 0 0 0;
        border-bottom: 1px solid #eeeeee;
        padding: 0 15px 30px;
    }
    #page_mypage_favorite .favorite_roleitemsec {
        display: flex;
        justify-content: space-between;
        margin: 0 0 15px 0;
    }
    #page_mypage_favorite .favfig_sec {
        width: 100%;
        max-width: 130px;
        height: auto;
    }
    #page_mypage_favorite .favoriteitem__img a {
        height: 130px;
    }
    #page_mypage_favorite .fav_pdcondition,
    #page_mypage_favorite .fav_shipping {
        height: auto;
    }
    #page_mypage_favorite .fav_ship_text {
        font-size: 14px;
    }
    #page_mypage_favorite .favitem__content {
        width: 60%;
    }
    #page_mypage_favorite .fav_pdstatus {
        font-size: 10px;
        padding: 0 5px 0;
    }
    #page_mypage_favorite .fav_itemfig_status {
        font-size: 10px;
    }
    #page_mypage_favorite .ec-historyRole__detailTitle a {
        font-size: 12px;
        height: auto;
    }
    #page_mypage_favorite .fav_pricesec {
        border-top: 0;
        padding: 0;
        flex-wrap: wrap;
    }
    #page_mypage_favorite .fav_priceoff {
        background: initial;
        width: 100%;
        height: auto;
        border-radius: 0;
        justify-content: flex-start;
        flex-wrap: nowrap;
        padding: 0 0 10px 0;
    }
    #page_mypage_favorite .fav_pricelist {
        text-align: left;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 10px 0;
    }
    #page_mypage_favorite .favcart_btn {
        font-size: 16px;
    }

    /* お届け先一覧 */
    #page_mypage_delivery .ec_myAddress_sec {
        padding: 0 0 30px;
    }
    .mypage .addressCount_text {
        font-size: 14px;
        line-height: 1.3;
    }
    .mypage .address_annotation {
        font-size: 14px;
        margin: 15px 5%;
        line-height: 1.3;
    }
    #page_mypage_delivery .addressList {
        border-top: 2px solid #eeeeee;
    }
    #page_mypage_delivery .addressList__item {
        padding: 15px 15px 10px;
        display: flex;
        justify-content: space-between;        
        border-bottom: 2px solid #eeee;
    }
    #page_mypage_delivery .adddress_detail {
        width: 70%;
        margin-right: 0;
    }
    #page_mypage_delivery .adddress_detail_text {
        font-size: 15px;
    }
    #page_mypage_delivery .addressList__action {
        top: 0;
        padding-right: 0;
        width: 25%;
    }
    #page_mypage_delivery .addressList__remove {
        text-align: right;
        padding: 0;
    }
    #page_mypage_delivery .address_newbtn {
        width: 63%;
    }

    .mypage .myAddress_head .mypage_backBtn {
        padding: 9px;
        top: 10px;
        left: -6px;
    }
    .mypage .myAddress_head .mypage_backBtn img {
        width: 15px;
    }
    .mypage .addressFormsec li {
        width: 100%;
    }
    .mypage .addressForm_role {
        padding: 20px 10px;
        margin: 0 10px;
    }
    .mypage .jushowrap {
        padding: 15px 15px 5px;
        margin: 0 0 20px 0;
    }
    .mypage .postal_sec {
        padding: 0;
    }
    .mypage .postal_note {
        font-size: 14px;
    }
    .mypage .postal_form {
        flex-wrap: wrap;
        width: 100%;
        margin: 0;
    }
    .mypage .postal_form li {
        width: 100%;
    }
    .mypage .ec_postalbox {
        width: 91%;
    }
    .mypage .ec_formselect,
    .mypage .ec_formselect select {
        width: 100%;
    }
    .mypage .zip_searchbtn {
        width: 91%;
        display: block;
        margin: 0 0 0 26px;
    }
    .mypage .jusho_name {
        gap: 5px;
        flex-wrap: wrap;
    }
    .mypage .jusho_name dd {
        width: 100%;
    }
    .mypage .addressForm_label .ec_addresslabel {
        font-size: 16px;
    }
    .mypage .address_registerRole {
        padding: 15px;
    }
    .mypage .address_registerList {
        width: 100%;
        padding: 0;
    }
    .mypage .ec__backbtn {
        width: 80px;
    }
    .mypage .ec__backbtn a {
        font-size: 16px;
        padding: 12px;
    }
    .mypage .ec_submitBtn .ec-blockBtn--cancel {
        font-size: 16px;
        padding: 9px;
        height: auto;
        line-height: normal;
    }
    .mypage .ec_submitBtn {
        width: 70%;
    }
    .mypage .postal_form .postal_text {
        font-size: 19px;
    }
    .mypage .postal_text {
        font-size: 16px;
    }
    .addressForm_label .ec-required {
        font-size: 14px;
    }
    .mypage .address_deleteBox {
        width: 100%;
        padding: 20px;
        top: 50%;
        transform: translate(-50%, -50%);
        left: 50%;
    }
    .mypage .addressDele_cancelBtn {
        width: 40%;
        padding: 10px 5px;
        font-size: 16px;
    }
    .mypage .addressDele_ConfirmBtn {
        width: 55%;
        padding: 10px;
        font-size: 14px;
    }

    .mypage .myEstimate_tbleft {
        padding: 0;
    }
    .mypage .myEstimate_rowlist.myEstimate_detailList {
        margin: 0;
        flex-wrap: wrap;
    }
    .mypage .myEstimate_detailList .estimate_firstcol {
        width: 100%;
        border-right: 0;
        background: #f9f9f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .mypage .estimate_datesec {
        display: flex;
        width: 56%;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    .mypage .estimate_datesec dt {
        font-size: 13px;
        padding: 10px 0 0 0;
    }
    .mypage .estimate_datesec dd {
        font-size: 15px;
        margin: 0;
        padding: 10px 0 0 0;
    }
    .mypage .estimate_status {
        font-size: 14px;
        background: #fff;
        padding: 10px;
        width: 110px;
        margin: 0 10px 0 0;
    }
    .mypage .myEstimate_detailList .estimate_secondcol {
        width: 100%;
        border-right: 0;
        padding: 0 15px;
    }
    .mypage .myEstimate_detailList .estimate_thirdcol {
        display: none;
    }
    .mypage .estimate_pdDetailsec {
        padding: 13px 0 0 0;
        flex-wrap: nowrap;
    }
    .mypage .estimate_pdfig {
        width: 100px;
    }
    .mypage .estimate_pdfig a {
        height: 100px;
    }
    .mypage .estimate_pd-detail {
        width: 60%;
    }
    .mypage .estimate_pdPrice {
        margin: 15px 0 0 0;
    }
    .mypage .estimate_pdTotalprice {
        padding: 10px 0;
    }
    .mypage .estimate_btnsec {
        display: flex;
        justify-content: space-between;
        gap: 10px;
    }
    .mypage .estimate_fouthcol {
        width: 100%;
    }
    .mypage .estimate_fouthcol a {
        font-size: 3.3vw;
    }
    .mypage .estimate_fouthcol .estimate_cartBtn {
        padding: 18px 0;
    }
    .mypage .estimate_editBtn {
        display: flex;
        padding: 15px 10px 12px 38px;
        width: 100%;
        align-items: center;
        justify-content: center;
    }
    .mypage .estimate_editBtn::before,
    .mypage .estimate_cartBtn::before {
        top: auto;
    }

    /* ログイン */
    .mypage .ec_myloginSec {
        flex-wrap: wrap;
    }
    .mypage .ec_myloginTabsec {
        width: 100%;
    }
    .mypage .ec_myloginTab {
        display: flex;
        padding: 0;
        margin: 0 20px;
        justify-content: space-between;
    }
    .ec_myloginTab li {
        width: 49%;
    }
    .ec_myloginTab li a {
        width: 100%;
        background: #fff;
        display: block;
        text-align: center;
        padding: 20px 10px;
        color: #404040;
        font-size: 16px;
        font-weight: bold;
    }
    .mypage .ec_myLoginwrap, .mypage .ec_myRegisterwrap {
        width: 100%;
        border-radius: 10px;
        padding: 20px;
        margin: 20px;
    }
    .mypage .ec_myLogin_ttl {
        font-size: 20px;
        padding: 0 0 10px 0;
    }
    .mypage .ec_LoginBtnsec .ec-blockBtn--cancel {
        font-size: 18px;
        padding: 15px;
    }
    .mypage .ec_LoginBtnsec .ec-blockBtn--cancel::before {
        width: 25px;
        height: 25px;
        left: 10px;
    }
    .mypage .loginacc_list a {
        font-size: 14px;
    }
    .mypage .loginacc_list .loginacc_amazon::before {
        width: 30px;
        height: 30px;
        left: 10px;
    }
    .mypage .loginacc_list .loginacc_google::before {
        width: 25px;
        height: 27px;
        left: 10px;
    }
    .mypage .loginacc_list .loginacc_apple::before {
        width: 22px;
        height: 27px;
        left: 10px;
    }
    .mypage .ec_registerText {
        font-size: 14px;
    }
    .mypage .ec_registerBtn {
        padding: 15px;
        font-size: 16px;
    }
    .mypage .ec_registerBtn::before {
        width: 17px;
        height: 24px;
        top: 10px;
        left: 10px;
    }

    /* 退会申請 */
    .mypage .mywithdraw_head {
        position: relative;
        margin: 0;
        padding: 0 10px 20px 10px;
    }
    .mypage .mywithdraw_head .mypageHistory_ttl {
        padding: 18px 0 10px;
    }
    .mypage .mywithdraw_headtext {
        font-size: 13px;
    }
    .mypage .mywithdraw_head .mypage_backBtn {
        position: absolute;
        background: #eeeeee;
        border: 1px solid #dddddd;
        padding: 8px;
        top: 10px;
        left: 13px;
        border-radius: 3px
    }
    .mypage .mywithdraw_head .mypage_backBtn img {
        width: 15px;
    }
    .mypage .withdraw_applytext {
        font-size: 14px;
    }
    #page_mypage_withdraw.mypage .withdraw_reasonsec {
        margin: 20px 15px;
    }
    .mypage .withdraw_reasonLable {
        font-size: 15px;
    }
    .mypage .withdraw_reasonsec textarea {
        font-size: 16px;
    }
    .mypage .withdraw_reasonBox {
        margin: 15px;
        padding: 15px;
    }
    .mypage .withdraw_reasonBoxttl {
        font-size: 14px;
        padding: 0 0 30px 0;
    }    
    .mypage .withdraw_reasonList li {
        width: 100%;
    }
    .mypage .ec_checkbox-field-text {
        font-size: 14px;
    }
    .mypage .withdraw_agreeBox {
        padding: 25px 15px;
    }
    .mypage .withdraw_submitsec {
        gap: 15px;
    }
    .mypage .withdraw_submitsec span {
        display: none;
    }
    .mypage .withdraw_submitsec .withdraw_backBtn {
        max-width: 70px;
        font-size: 16px;
    }
    .mypage .withdraw_submitsec .ec-blockBtn--cancel {
        font-size: 16px;
        line-height: 2.5;
    }

    /* 会員登録編集 */
    .mypageChange_head {
        margin: 0 20px;
    }
    .mypage .change_mainText {
        font-size: 14px;
    }
    .mypage .changeform_sec {
        padding: 20px 20px 0;
        margin: 0;
    }
    .mypage .changeform_sec li {
        width: 100%;
        margin: 0 0 10px 0;
    }
    .mypage .changeForm_label, .mypage .changeRole_sec dl label {
        font-size: 16px;
    }
    .mypage .changeForm_label span.ec-required, .mypage .changeRole_sec dl span.ec-required{
        font-size: 14px;
    }
    .mypage .changeaddress_role02, .mypage .change_contactwrap {
        padding: 20px;
        margin: 0;
    }
    .mypage .changeaddress_role02 .jushowrap .jusho_name {
        margin: 0;
        gap: 0;
    }
    .mypage .change_contactwrap {
        flex-wrap: wrap;
        gap: 25px;
    }
    .mypage .change_emailsec,
    .mypage .change_phonesec {
        width: 100%;
    }
    .mypage .change_mailtext {
        font-size: 14px;
    }
    .mypage .changeForm_label span {
        font-size: 15px;
    }
    .mypage .change_inputbox.ec-birth select {
        padding: 10px 10px;
        width: 70px;
        font-size: 14px;
        background-size: 12px;
    }
    .mypage .ec-birth span {
        font-size: 14px;
    }
    .mypage .change_inputbox.ec-birth #entry_birth_year {
        width: 85px;
    }
    .mypage .change_radiobox span, .mypage .changeRole_sec dl span {
        font-size: 14px;
    }
    .mypage .change_radiobox input::before, .mypage .changeRole_sec dl input::before {
        width: 12px;
        height: 12px;
    }
    .mypage .change_radiobox input:after, .mypage .changeRole_sec dl input::after {
        width: 23px;
        height: 23px;
    }
    .mypage .change_radiobox input {
        margin-bottom: 20px;
        margin-right: 3px;
        vertical-align: sub;
    }
    .mypage .ec_selectjob select {
        font-size: 16px;
    }
    .mypage .mail_magazineText {
        font-size: 14px;
    }
    .mypage .change_submitsec {
        background: #f9f9f9;
        padding: 20px;
    }
    .mypage .change_submitsec span {
        display: none;
    }
    .mypage .change_submitsec .ec_changeBack {
        width: 70px;
        font-size: 16px;
    }
    .mypage .change_submitsec .ec-blockBtn--cancel {
        width: 70%;
        font-size: 16px;
        line-height: 2;
        height: auto;
    }
    .mypage .changeComplete_maintext {
        font-size: 16px;
        padding: 0 0 20px;
    }
    .mypage .CompleteBtnsec .ec-blockBtn--cancel {
        width: 100%;
        font-size: 18px;
        line-height: 2.5;
        height: auto;
    }
    .attention_pre {
        font-size: 13px;
    }
}