img {
    max-width: 100%;
}

.ec-footerRole {
    background: #cc0000;
}

.ec-layoutRole__main .text-default {
    line-height: 180%;
}

.ec-layoutRole__main h3 {
    border-left: solid 5px #cc0000;
    padding: 0 10px;
    display: block;
    font-size: 1.5em;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.ec-layoutRole__main h4 {
    display: block;
    margin-block-start: 1.33em;
    margin-block-end: 1.33em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

.ec-layoutRole__main h5 {
    display: block;
    margin-block-start: 1.67em;
    margin-block-end: 1.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
}

h2.ttl {
    font-weight: bold;
    font-size: 18px;
    font-size: 1rem;
    color: #333;
    background-color: #f2f2f2;
    height: 50px;
    line-height: 50px;
    border-left: solid 3px #cc0000;
    padding: 0 10px;
    margin: 20px auto;
}

.item_price {
    color: #cc0000;
    font-weight: bold;
}

.ec-itemNav__nav li ul li {
  float: none;
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  position: relative;
}

.hanging-indent {
    padding-left: 1em;
    text-indent: -1em;
}

@media screen and (min-width: 768px) {
    .ec-itemNav__nav {
        border-top: 1px solid #D9D9D9;
        border-bottom: 1px solid #D9D9D9;
        width: 100%;
        padding-left: 30px;
        /* ここが重要：競合する .product-label-container (100) より高く設定 */
        position: relative;
        z-index: 15; 
        margin-bottom: 10px;
    }

    .ec-itemNav__nav li {
        position: relative; /* 子要素の absolute の基準点 */
    }

    .ec-itemNav__nav li .ec-itemNav__sub {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        /* 重なり順をさらに強化 */
        z-index: 15; 
        background: #fff;
        min-width: 200px;
        border: 1px solid #D9D9D9;
    }

    .ec-itemNav__nav li:hover > .ec-itemNav__sub {
        display: block;
    }

    .ec-itemNav__nav li a {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 200px;
    }
}