@charset "utf-8"; 

.product_page .ec-shelfGrid {
    display: block;
    margin: 0;
}

.product_page .ec-shelfGrid__item {
    width: 100%;
    display: block;
    padding: 15px 0 !important;
    border-bottom: solid 1px #ccc;
    margin: 0;
    font-size: 14px;
}

.product_page .ec-shelfGrid__item:first-child {
    border-top: solid 1px #ccc;
}

.product_page .ec-shelfGrid__item-image {
    max-width: 50px;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
}

.product_page .ec-shelfGrid__item-image > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.productForm .ec-productRole__actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}

.product_page .ec-shelfGrid__item-name {
    flex: 1;
    margin: 0 0 0 10px;
}

.product_page .ec-shelfGrid__item-name > span {
    display: block;
    font-size: 0.8em;
    margin: 5px 0 0;
    color: #888;
}

.product_page .price02-default {
    margin: 10px 0 0;
    padding: 0;
}

.product_page .ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
    max-width: 100%;
    width: 100%;
    margin: 0;
}

.product_page .ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn + .ec-productRole__btn {
    margin: 5px auto 0;
}

.product_page .ec-productRole__btn a, .product_page .ec-productRole__btn button {
    font-size: 12px;
    height: auto;
    line-height: 1.6em;
    letter-spacing: 0.05em;
    padding: 5px 5px;
}

.ecNumber {
    max-width: 40px;
    width: 100%;
    text-align: center;
}

.ecNumber .ec-numberInput input[type='number'] {
    max-width: 100%;
    height: 30px;
    padding: 0;
    text-align: right;
    margin: 0;
}

.ecCategory .ec-select {
    margin: 0;
}

.ecCategory .ec-select select {
    font-size: 14px;
    height: 30px;
    padding: 0;
}

.ecProductInfoMain {
    flex: 1;
    display: flex;
    align-items: center;
}

.productForm {
    margin: 5px 0 0;
}

.ecProductListControl {
    margin: 15px 0 0 0;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.ecProductListControl {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    margin: 10px 0 0 auto;
}

.product_page .ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
    max-width: 125px;
    margin: 0;
}

.product_page .ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn + .ec-productRole__btn {
    margin: 0 0 0 5px;
}

.product_page .ec-productRole__btn a, .product_page .ec-productRole__btn button {
    font-size: 10px;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1100px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.ecCategory .ec-select select {
    font-size: 12px;
}

.ecProductListinfo {
    display: flex;
    align-items: center;
}

.productForm {
    max-width: 300px;
    width: 100%;
    margin: 0 0 0 5px;
}

.product_page .price02-default {
    max-width: 145px;
    width: 100%;
    margin: 0 0 0 auto;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1200px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.product_page .ec-shelfGrid {
    display: block;
    margin: 0;
}

.product_page .ec-shelfGrid__item {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.product_page .ec-shelfGrid__item-image > img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.productForm {
    max-width: 285px;
    width: 100%;
}

.productForm .ec-productRole__actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}

.product_page .ec-shelfGrid__item-name {
    flex: auto;
}

.product_page .price02-default {
    margin: 0 0 0 5px;
}

.ecProductListinfo {
    flex: 1;
}

.ecProductListControl {
    max-width: 250px;
    width: 100%;
    margin: 0 0 0 10px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1100px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */