/* カスタマイズ用CSS */
:root {
    --purple: #A13480;
    --purple2: #9A5892;
    --yellow: #E0C244;
    --green: #3F6544;
}

/* ヘッダー */
.ec-layoutRole__header {
    margin-bottom: 0;
    
}
.ec-headerNaviRole {
    padding-top: 0;

}
.ec-headerNaviRole .ec-headerNaviRole__left {
    width: auto;
    flex: 1;
    display: flex;
    align-items: center;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
    width: auto;
    align-items: center;
}
.ec-headerNaviRole__logo {
    width: 248px;
    margin-right: 10px;
    align-self: start;
}

.ec-cartNavi {
    width: 142px;
    min-width: 0;
    height: auto;
    background: var(--yellow);
    border-radius: 0 0 30px 30px;
    text-align: center;
    padding: 30px 15px 6px;
    margin-left: 10px;
}
.ec-cartNavi__shop {
    width: 78.57%;
    max-width: 88px;
    margin: 0 auto 6px;
}
.ec-cartNavi__imo {
    width: 78.57%;
    max-width: 88px;
    margin: 0 auto;
}
.ec-cartNavi .ec-cartNavi__badge {
    background-color: var(--purple);
    text-align: center;
}
.ec-cartNavi .ec-cartNavi__icon {
    color: var(--purple);
}
.ec-cartNavi__label {
    text-align: right;
    border-radius: 10px;
    background: #fff;
    padding: 0 10px;
    margin: 6px 0 10px;
}


/*
.ec-cartNaviIsset {
    top: 0;
    padding: 0;
}
.ec-cartNaviIsset__inner {
    height: 100vh;
    overflow-y: auto;
    padding: 100px 16px 40px;
}
.ec-cartNaviNull {
    top: 100px;
}
*/

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search {
    background: var(--yellow);
}
.ec-headerSearch .ec-headerSearch__category .ec-select select {
    color: var(--purple);
    padding-left: 16px;
}
.ec-headerSearch .ec-headerSearch__keyword {
    border-color: #f6f6f6;
}
.ec-headerNavSP {
    color: var(--purple);
}
.ec-headerTitle .ec-headerTitle__title a {
    color: var(--yellow);
}
.ec-headerTitle .ec-headerTitle__title a small {
    font-size: 80%;
}
.ec-headerNavSP, .ec-drawerRoleClose {
    background: #fff;
    color: var(--purple);
    border: 2px solid var(--purple);
}
.ec-drawerRole {
    background: var(--purple);
}
.ec-drawerRole .ec-headerLinkArea {
    background: var(--purple);
}


.ec-headerNav .ec-headerNav__itemIcon {
    color: var(--yellow);
    margin-right: 0;
}

.ec-headerNav .ec-headerNav__itemLink {
    font-weight: bold;
    display: inline-block;
    font-size: 16px !important;
}

.ec-itemNav__nav li a {
    background: none;
}
.ec-itemNav__nav li a:hover {
    background: none;
    color: var(--yellow);
}

/* フッター */
.ec-footerRole {
    background: var(--green);
    border: none;
}
.ec-footerNavi {
    color: var(--yellow);
}
.ec-footerNavi .ec-footerNavi__link a {
    font-weight: bold;
    text-decoration: none;
    border-color: var(--yellow);
}
.ec-footerNavi .ec-footerNavi__link a:hover {
    text-decoration: underline;
}
.ec-footerTitle .ec-footerTitle__copyright {
    color: var(--yellow);
}
.ec-blockTopBtn {
    width: 68px;
    height: 68px;
    background: none;
    right: 10px;
}
.ec-blockTopBtn img {
    width: 100%;
    height: auto;
}


/* トップ */
#page_homepage .ec-layoutRole__header {
    margin-bottom: 0;
}
#page_homepage .ec-headerNav .ec-headerNav__itemLink {
    color: #fff;
    display: inline-block;
    font-size: 14px;
}
#page_homepage .ec-layoutRole {
    background: var(--purple);
}

#page_homepage .ec-categoryNaviRole .ec-itemNav__nav li a {
    color: #fff;
}
#page_homepage .ec-categoryNaviRole .ec-itemNav__nav li a:hover {
    color: var(--yellow);
}

#page_homepage .ec-secHeading {
    color: #fff;
}
#page_homepage .ec-secHeading .ec-secHeading__line {
    background: #fff;
}
#page_homepage .ec-newsRole .ec-newsRole__newsDate {
    color: #fff;
}
#page_homepage .ec-newsRole .ec-newsRole__newsTitle {
    color: #fff;
}
#page_homepage .ec-newsRole__newsItem .ec-newsRole__newsDescription {
    color: #fff;
}
#page_homepage .ec-newsRole .ec-newsRole__newsCloseBtn {
    background: #fff;
    color: var(--purple);
}
#page_homepage .ec-calendar-note {
    color: #fff;
}
#page_homepage .ec-calendar .ec-calendar__title {
    color: #fff;
}
#page_homepage .ec-calendar .ec-calendar__today {
    background: #fff;
}
#page_homepage .ec-calendar .ec-calendar__today::before {
    background: var(--yellow);
}

.ec-sliderRole .slick-list {
    border-radius: 10px;
    overflow: hidden;
}
.slick-dots li button:before {
    background-color: #fff;
    opacity: 1;
}
.slick-dots li.slick-active button:before {
    background-color: var(--yellow);
    opacity: 1;
}

.ec-sliderRole {
    position: relative;
}
.ec-sliderRole:before {
    content: "";
    display: block;
    width: 154px;
    height: 146px;
    background-image: url("../img/top/imo_01.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -100px;
    left: -50px;
}

.ec-eyecatchRole {
    position: relative;
}
.ec-eyecatchRole:before {
    content: "";
    display: block;
    width: 360px;
    height: 224px;
    background-image: url("../img/top/imo_02.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -35px;
    left: -65px;
}
.ec-eyecatchRole:after {
    content: "";
    display: block;
    width: 190px;
    height: 196px;
    background-image: url("../img/top/imo_03.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 40px;
    right: -25px;
    transform: translateY(50%);
}
.ec-eyecatchRole .ec-eyecatchRole__image, .ec-eyecatchRole .ec-eyecatchRole__intro {
    position: relative;
}
.ec-eyecatchRole .ec-eyecatchRole__intro {
    color: #fff;
}
.ec-eyecatchRole .ec-eyecatchRole__image {
    border-radius: 10px;
    overflow: hidden;
    order: 2;
}
.ec-eyecatchRole .ec-eyecatchRole__introTitle {
    font-size: 21px;
}


.ec-topbgRole {
    text-align: center;
    margin-bottom: 10px;
}
.ec-topbgRole img {
    width: auto;
    max-width: 100%;
}

.ec-topicRole {
    padding: 0;
    background: none;
}

.ec-newItemRole {
    padding: 40px 0 0;
}
.ec-newItemRole .ec-newItemRole__list {
    flex-wrap: wrap;
    align-items: start;
}
.ec-newItemRole .ec-newItemRole__listItem img {
    border-radius: 10px;
}
.ec-newItemRole .ec-newItemRole__listItem .ec-newItemRole__listItemTitle {
    color: #fff;
}
.ec-newItemRole .ec-newItemRole__listItemHeading {
    width: 100%;
    padding-top: 100%;
    position: relative;
    margin: 0;
}
.ec-newItemRole .ec-newItemRole__listItemHeading.ec-secHeading--tandem .ec-secHeading__ja {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../img/top/imo_03.png");
    background-size: 72.52%;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    font-size: 22px;
    letter-spacing: 0;
    font-weight: bold;
}


/* 検索結果 */
.ec-searchnavRole .errormsg {
    padding-top: 2em;
    text-align: center;
}


/* 商品 */
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
    container-type: inline-size;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn button {
    font-size: .8em;
    font-size: 7cqw;
}
.ec-shelfGrid .ec-shelfGrid__item .price02-default {
    margin: 5px 0;
}
.ec-shelfGrid .ec-shelfGrid__item img {
    border-radius: 10px;
}
.ec-blockBtn--action, .ec-inlineBtn--action {
    background-color: var(--purple);
    border-color: var(--purple);
}
.ec-blockBtn--action:hover, .ec-inlineBtn--action:hover {
    background-color: var(--purple2);
    border-color: var(--purple2);
}
.ec-productRole__title .ec-headingSubTitle {
    margin-bottom: 8px;
}
.ec-productRole .ec-sliderItemRole .slick-slide .slide-item {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.ec-productRole .ec-sliderItemRole .slick-slide .slide-item:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}
.ec-productRole .ec-sliderItemRole .slick-slide .slide-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ec-numberInput input[type=number].quantity {
    max-width: 70px;
}

/* 共通 */
.ec-pageHeader h1, .ec-pageHeader .h1 {
    color: var(--purple);
    text-align: center;
    border: none;
    padding: 0;
    margin-bottom: 40px;
}
.ec-borderedDefs dl {
    padding: 0;
}
.ec-borderedDefs dt {
    padding: 1em 1em;
    background: #f4e7b7;
    color: var(--purple);
    line-height: 2;
}
.ec-borderedDefs dt label {
    margin: 0;
}
.ec-borderedDefs dd {
    padding: 1em 1em;
    margin: 0;
    line-height: 2;
}

.ec-progress .is-complete .ec-progress__number {
    background: var(--purple2);
}
.ec-progress .is-complete .ec-progress__label {
    color: var(--purple2);
}

/* パスワード */
.password-group {
    position: relative;
}
.password-group input {
    padding-right: 40px;
}
.password-group .toggle-password {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border: none !important;
    background: none !important;
    color: inherit !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 購入 */
.ec-select__shipping {
    display: none;
}
.ec-AddAddress .ec-AddAddress__info {
    text-align: left;
    display: flex;
    justify-content: center;
    color: #DE5D50;
    font-weight: bold;
}

/* レスポンシブ */
@media only screen and (min-width: 768px) {
    .ec-headerRole {
        padding-top: 0;
    }
    .ec-headerNaviRole {
        padding-bottom: 0;
        align-items: stretch;
    }
    .ec-headerNaviRole .ec-headerNaviRole__search {
        margin: 10px 0 60px;
    }
    .ec-headerNaviRole .ec-headerNaviRole__nav {
        margin-bottom: 50px;
    }
    .ec-cartNavi {
        flex-direction: column;
    }
    /*
    .ec-cartNaviIsset, .ec-cartNaviNull {
        top: auto;
    }
    .ec-cartNaviIsset__inner {
        max-height: calc(100vh - 185px - 20px);
        padding: 16px;
    }
    */
    
    .ec-blockTopBtn {
        right: 50px;
    }
    .ec-footerRole {
        padding-top: 60px;
    }
    .ec-footerTitle {
        padding-top: 24px;
        padding-bottom: 70px;
    }
    
    .ec-newItemRole {
        padding: 90px 0 0;
    }
    .ec-newItemRole .ec-newItemRole__list {
        margin-right: -14px;
    }
    .ec-newItemRole .ec-newItemRole__listItem {
        margin-right: 0 !important;
        padding-right: 14px;
    }
    
    .ec-pageHeader h1, .ec-pageHeader .h1 {
        font-size: 20px;
    }
}
@media only screen and (max-width: 1239px) {
    .ec-headerNaviRole__logo {
        width: 20vw;
    }
    .ec-cartNavi {
        width: 11.45vw;
        padding-top: 2.42vw;
        padding-left: 1.21vw;
        padding-right: 1.21vw;
    }
    .ec-headerNav .ec-headerNav__itemLink {
        font-size: 1.13vw;
    }
    
    .ec-sliderRole:before {
        width: 12.42vw;
        left: 5px;
        top: -9.68vw;
    }
    .ec-eyecatchRole:before {
        width: 29.03vw;
        left: -10px;
    }
    .ec-eyecatchRole:after {
        right: -10px;
        width: 15.32vw;
    }
}
@media only screen and (max-width: 767px) {
    .ec-headerNaviRole__logo {
        margin-left: 40px;
        width: 116px;
    }
    
    .ec-cartNavi {
        width: 52px;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        padding: 25px 13px 15px;
        border-radius: 0 0 0 30px;
    }
    
    .ec-cartNaviIsset {
        top: 0;
    }
    .ec-cartNaviIsset__inner {
        padding-top: 80px;
    }
    .ec-cartNaviNull {
        top: 80px;
    }
    
    .ec-cartNavi__shop, .ec-cartNavi__imo {
        display: none;
    }
    .ec-headerNaviRole .ec-headerNaviRole__right {
        padding-right: 42px;
        padding-bottom: 10px;
    }
    
    .ec-eyecatchRole:after {
        bottom: 20px;
        transform: translateY(100%);
    }
}