/* カスタマイズ用CSS */
body {
    color: #201A07;
}
a {
    color: #C10000;
}
a:hover {
    color: #C10000;
    opacity: 0.75;
}
a.link_external::after {
    content: "";
    width: 1em;
    height: 1em;
    margin-left: 0.25em;
    display: inline-block;
    background: url(/html/template/default/assets/img/common/icon_external.svg) no-repeat center / contain;
    vertical-align: text-top;
}
.ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select {
    -webkit-appearance: auto;
    margin-bottom: 0.75em;
}
.text-bold {
    font-weight: bold;
}
.text-red {
    color: #C10000;
    font-weight: bold;
}
.sp-only {
    display: none;
}
@media (max-width: 768px) {
    .sp-only {
        display: block;
    }
    .pc-only {
        display: none;
    }
}
.slick-slider {
    margin-bottom: 30px;
}
.slick-slider {
  opacity: 0;
  transition: opacity .3s linear;
}
.slick-slider.slick-initialized{
  opacity: 1;
}
.slick-dots {
    position: absolute;
    bottom: -30px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    content: " ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    opacity: .25;
    background-color: black;
    border-radius: 50%;

}
.slick-dots li.slick-active button:before {
    opacity: .75;
    background-color: black;
}
.slick-dots li button.thumbnail img {
    width: 0;
    height: 0;
}
body .hide {
    display: none !important;
}
.ec-guest {
    display: none;
}
.ec-role + .ec-role {
    margin-top: 2rem;
}
.ec-orderRole {
    align-items: flex-start;
}
.ec-headingTitle {
    color: #201A07;
    line-height: 1.5;
}
.ec-productRole {
    color: #201A07;
    line-height: 1.5;
}
.ec-blockTopBtn {
    background: #cea350;
}
.ec-blockBtn--action {
    position: relative;
    padding: 0.5em 3em;
    border: none;
    border-radius: 2px;
    height: auto;
    padding: 1em 3em;
    width: auto;
    min-width: 300px;
    background: linear-gradient(180deg, #C10000 0%, #901e1e 100%);
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
    color: #fff;
    line-height: 1;
}
.ec-blockBtn--action::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "→";
    display: inline-block;
    transform: translateY(-50%);
}
.ec-blockBtn--action.gold,
.ec-blockBtn--action.gold:hover {
    background: unset;
    color: #a57e2d;
    border: 2px solid;
    box-sizing: border-box;
    padding: calc(1em - 2px) calc(3em - 2px);
}
.ec-blockBtn--cancel {
    position: relative;
    padding: 0.5em 3em;
    background: #fff;
    border: 1px solid #C10000;
    color: #C10000 !important;
    border-radius: 2px;
    line-height: 1;
    height: auto;
    padding: 1em 3em;
    width: auto;
    min-width: 300px;
}
.ec-blockBtn--cancel + .ec-blockBtn--cancel {
    margin-top: 10px;
}
.ec-blockBtn--cancel:hover, .btn-check:checked + .ec-blockBtn--cancel, .btn-check:active + .ec-blockBtn--cancel, .ec-blockBtn--cancel:active, .ec-blockBtn--cancel.active, .show > .ec-blockBtn--cancel.dropdown-toggle {
    background: #fff !important;
}
.ec-navlistRole .ec-navlistRole__item a {
    font-size: 14px;
    padding: 1em 0.5em;
    line-height: 1.5;
}
.ec-registerRole {
    color: #201A07;
}
.ec-registerRole .ec-blockBtn--action {
    width: 100%;
}
.ec-registerRole__actions .ec-checkbox {
    margin-bottom: 1em;
}
/* Paid */
.paid-form_wrapper.hidden_show {
    margin: 0;
}
.paid-form .ec-checkbox label {
    font-weight: normal;
}
.paid-form_wrapper {
    padding: 1em;
    margin: 2em auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fcfcfc;
}
.paid-form-wrapper.confirm {
    padding: 0.5em 1em;
    margin: 2em auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fcfcfc;
}
.paid-form-wrapper.confirm dl:last-of-type {
    border-bottom: none;
}
.paid-form-wrapper.confirm h3 {
    font-size: 20px;
    font-weight: bold;
}
.ec-registerCompleteRole {
    color: #201A07;
}
.ec-registerCompleteRole .ec-off3Grid {
    width: 100% !important;
}
.ec-registerCompleteRole .ec-off3Grid .ec-off3Grid__cell {
    margin: 0;
    width: 100%;
}
.ec-registerCompleteRole {
    color: #201A07;
}
.ec-inlineBtn.copy-customer {
    margin-bottom: 1em;
}
.paid-information {
    font-size: 14px;
    padding: 1em;
    border: 1px solid #CFA44F;
    border-radius: 0.5em;
}
.paid-information h3 {
    font-size: 16px;
    color: #CFA44F;
    margin: 0 0 0.5em;
}

.ec-historyRole .ec-historyRole__contents {
    color: #201A07;
}
.ec-inlineBtn {
    padding: 0.5em 1em;
    border-color: #cfa44f;
    background: #fff;
    color: #cfa44f;
    font-size: 14px !important;
}
.ec-inlineBtn:hover {
    border-color: #cfa44f;
    background: #fff;
    color: #cfa44f;
}
.btn.btn-cancel {
    border: 1px solid #C10000;
}

.ec-numberInput select {
    display: inline-block;
    width: 8em;
    margin-left: 0.5em;
}
.ec-role, .ec-mypageRole {
    color: #201A07;
}
.ec-secHeading {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.ec-secHeading .ec-secHeading__btn {
    text-align: right;
    width: auto;
    display: inline-block;
    font-size: 16px;
}
.ec-secHeading .ec-secHeading__btn a {
    display: inline-block;
    position: relative;
    padding: 0.5em 2em;
    padding-right: 2.5em;
    font-size: 10px;
    font-weight: bold;
    border-radius: 2px;
    cursor: pointer;
    background: linear-gradient(180deg, #C10000 0%, #901e1e 100%);
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
    color: #fff;
    line-height: 1.5;
}
@media only screen and (min-width: 768px) {
    .ec-registerRole .ec-off1Grid .ec-off1Grid__cell {
        width: 100%;
        margin: 0 40px;
    }
    .ec-secHeading .ec-secHeading__btn {
        display: inline-block;
        flex: 1;
        margin-top: 0;
        font-size: 16px;
    }
    .ec-secHeading .ec-secHeading__btn a {
        font-size: 12px;
    }
    .ec-newItemRole .ec-newItemRole__list {
        flex-wrap: wrap;
    }
    .ec-newItemRole .ec-newItemRole__listItem:nth-child(4n) {
        margin-right: 0;
    }
    .ec-newItemRole .ec-newItemRole__listItem {
        width: calc((100% - 90px) / 4);
    }
}
.ec-secHeading {
    padding: 0.5em 0.5em;
    padding-right: 0;
    border-bottom: 2px solid #CFA44F;
}
.ec-secHeading .ec-secHeading__ja {
    color: #201A07;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5;
}
.ec-secHeading .ec-secHeading__btn a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    content: "→";
    display: inline-block;
    transform: translateY(-50%);
}
@media only screen and (min-width: 768px) {
    .ec-secHeading .ec-secHeading__ja {
        font-size: 18px;
    }
}

/*共通*/
.ec-pageHeader h1, .ec-pageHeader .h1 {
    color: #201A07;
    padding: 0.25em 0.5em;
    margin-bottom: 1.5em;
    border-top: 0;
    border-bottom: 2px solid #CFA44F;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
}
.ec-pageSubTitle {
    padding: 0.25em 0.5em;
    border-bottom: 3px solid #C10000;
    color: #201A07;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
}

/*ヘッダー*/
.ec-headerNaviRole {
    align-items: flex-start;
    padding: 0;
    color: #201A07;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
    display: none;
}
.ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__right {
    display: block;
}
.ec-headerNav .ec-headerNav__item.ec-cartNavi {
    background: no-repeat;
    padding: 0;
    min-width: unset;
    width: auto;
}
.ec-headerNaviRole .ec-headerNaviRole__left {
    width: auto;
    flex: 1;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
    width: auto;
    align-items: flex-start;
}
.ec-headerNaviRole__logo {
    position: absolute;
    width: 140px;
    max-width: 100%;
    height: auto;
    top: 12px;
    left: 60px;
    margin: 0;
    z-index: 100;
}
.ec-headerNaviRole.ec-headerNaviRole__menu {
    padding-top: 0;
    padding-bottom: 0;
    position: absolute;
    top: 10px;
    right: 10px;
}
.ec-headerNav .ec-headerNav__itemIcon {
    position: relative;
}
.ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.ec-headerNaviRole .ec-headerNaviRole__search {
    margin: 0;
}
.ec-headerSearch .ec-headerSearch__keyword {
    position: relative;
    width: 100%;
    height: 40px;
    border: 2px solid #C10000;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 14px;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-input {
    height: 100%;
}
.ec-drawerRole {
    background: #ccc;
    transform: translateX(300px);
    position: fixed;
    top: 0;
    left: unset;
    right: 0;
}
.ec-drawerRole .ec-headerSearch {
    background: #fff;
    padding: 1em 0.75em;
}
.ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading {
    background: #fff;
    padding: 0.75em;
}
.ec-drawerRole .ec-headerCategoryArea .ec-itemNav__nav li a {
    background: #fff;
    padding: 0.75em;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
    background: #cfa44f;
    border-color: #fff;
    padding: 0.75em;
    font-size: 14px;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
    border-top: none;
}
.ec-drawerRole.is_active {
    box-shadow: 0 0 2rem rgba(0,0,0,0.15);
}
.ec-drawerRoleClose {
    top: 10px;
    left: unset;
    right: 270px;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.15);
    color: #cfa44f;
}
.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
    width: 1.5em;
    height: 1.5em;
}
.ec-headerSearch .ec-headerSearch__keywordBtn {
    width: auto;
    height: 100%;
    aspect-ratio: 1 / 1;
    background: #C10000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    right: 0;
    padding: 0.25em;
    transform: unset;
}
.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
    padding: 0;
    width: 280px;
    max-width: 100%;
    height: 100%;
    font-size: unset;
    padding: 0.5em;
    box-sizing: border-box;
}
.ec-headerNaviRole__btn {
    margin-left: 1rem;
    display: none;
}
.ec-headerNaviRole__btn .ec-blockBtn--action {
    width: 240px;
    min-width: unset;
    padding: 1em 2em;
    padding-right: 2.5em;
    font-size: 14px;
}
.ec-headerNaviRole__btn .ec-headerNav__itemIcon {
    display: inline-block;
    margin-right: 0.25em;
}
.ec-headerRole, .ec-headerNaviRole {
    max-width: unset;
}
.ec-headerNaviRole__info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin-left: 1rem;
}
.ec-blockTime {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0.75em 0 0;
    font-size: 12px;
}
.ec-blockTime dd {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: 0.05em;
}
.ec-blockTime dt {
    display: inline-block;
    padding: 0.25em 0.5em 0.2em;
    margin-right: 0.5em;
    border: 1px solid;
    font-size: 12px;
    color: #a57e2d;
    letter-spacing: 0.1em;
    line-height: 1;
}
.ec-blockTel {
    display: flex;
    align-items: center;
    height: 1em;
    box-sizing: border-box;
    padding-top: 0.15em;
    margin-bottom: 0;
    font-size: 32px;
    font-weight: bold;
    color: #C10000;
    line-height: 1;
}
.ec-blockTel i {
    margin-right: 0.25em;
    font-size: 75%;
    padding-bottom: 0.1em;
}
.ec-blockTel:hover {
    color: #d23f3f;
}
.ec-headerNaviRole__searchTags {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0.75em 0 0;
    font-size: 12px;
    font-weight: bold;
}
.ec-headerNaviRole__searchTags dd {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5em;
    margin: 0;
}
.ec-headerNaviRole__searchTags dt {
    margin-right: 1em;
}
.ec-headerNaviRole__searchTags dd a {
    display: inline-block;
    padding: 0.25em 0.75em 0.2em;
    background: #F4E2B8;
    border-radius: 2px;
}
.ec-headerNav .ec-headerNav__item.beginner .ec-headerNav__itemLink::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    background: url(/html/template/default/assets/img/common/icon_beginner.svg) no-repeat center / contain;
}
.ec-headerNav .ec-headerNav__itemIcon {
    color: #CFA44F;
}
.ec-cartNavi .ec-cartNavi__badge {
    background: #c10000;
    color: #fff;
}
.ec-layoutRole__header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 56px;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.8);
    background: #fff;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.15);
}
.ec-layoutRole .ec-layoutRole__contents {
    margin-top: 178px;
}
.front_page .ec-layoutRole .ec-layoutRole__contents {
    margin-top: 0;
}
.ec-role {
    max-width: 1280px;
}
.ec-shelfRole {
    max-width: 1280px;
}
.ec-shelfRole.campaign > .ec-shelfGrid {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 40px;
}

.ec-layoutRole__footer {
    padding-top: 2rem;
    margin-top: 2rem;
    background: #F4E2B8;
}
.ec-calendar__info {
    font-size: 12px;
}
.ec-calendar .ec-calendar__title {
    background: #C10000;
    color: #fff;
    font-size: 14px;
}
.ec-calendar .ec-calendar__holiday {
    background: rgb(222 93 80 / 30%) !important;
}
.ec-calendar .ec-calendar__today::before {
    background: #f4e2b8;
}
.ec-calendar__month {
    padding: 1rem !important;
    background: #fff;
    border-radius: 2px;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 1rem;
}
.ec-layoutRole__footer__guide .col-6 {
    padding: 0 2rem;
}
.ec-layoutRole__footer__guide h3 {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 1em;
}
.ec-layoutRole__footer__guide dl {
    padding-left: 1em;
    font-size: 14px;
    line-height: 1.5;
}
.ec-layoutRole__footer__guide dd {
    padding-left: 1em;
}
.ec-layoutRole__footer__guide dt {
    margin-bottom: 0.25em;
}
.ec-layoutRole__footer__guide .ec-role__container {
    padding: 0.5em 0.5em;
}
.ec-layoutRole__footer__guide .row {
    flex-direction: column;
    margin: 0;
}
.ec-layoutRole__footer__guide .col-6 {
    width: 100%;
    padding: 0;
}
.ec-layoutRole__footer__guide dl img {
    max-width: 240px;

}
.ec-layoutRole__footer__guide dl img {
    max-width: 240px;
}
.ec-footerTitle__logo {
    width: 240px;
}
.ec-footerTitle__logo img {
    width: 100%;
    height: auto;
}
.ec-footerRole__inner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
}
.ec-footerRole {
    background: #fff;
    border: 0;
    color: #201A07;
}
.ec-footerRole .ec-footerRole__inner {
    max-width: 1280px;
    color: #201A07;
}
.ec-footerRole__right {
    width: 100%;
}
.ec-footerNavi {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #201A07;
    text-decoration: none;
}
.ec-footerNavi {
    width: 50%;
    text-align: left;
}
.ec-footerNavi .ec-footerNavi__link a {
    text-decoration: none;
    line-height: 1.5;
    margin: 0;
    padding: 0.25em 0;
    border: none;
}
.ec-footerTitle__copyright {
    padding: 1em 0.25em;
    border-top: 1px solid #CFA44F;
    margin-top: 2em;
    color: #a57e2d;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
}
.ec-footerTitle {
    padding: 0;
    margin-bottom: 1.5rem;
}
.ec-footerNavi__container h3 {
    padding: 0.5em 0;
    border-bottom: 2px solid #c10000;
    margin: 0 0 0.75em;
    font-size: 16px;
    color: #C10000;
    font-weight: bold;
}
.ec-footerRole {
    margin-top: 4rem;
    padding: 2rem 20px 0;
}
.ec-footerNavi__container {
    margin-top: 2rem;
}
.ec-footerNavi__row {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 3em;
}
@media only screen and (max-width: 767px) {
    .ec-headerRole .ec-headerRole__navSP {
        position: relative;
        top: 0;
        right: 0;
        width: auto;
        margin-left: 12px;
    }
    .ec-headerNavSP {
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        background: unset;
        border-radius: 0;
        padding: 0;
        width: auto;
        padding: 0 12px;
        height: 36px;
        color: #cfa44f;
    }
    .ec-headerNaviRole .ec-headerNaviRole__left {
        flex: unset;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__right {
        flex: 1;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }
    .ec-headerNaviRole__logo {
        left: 10px;
    }
    .ec-headerRole {
        padding: 0;
        height: 56px;
    }
}
@media only screen and (min-width: 768px) {
    .ec-cartNavi .ec-cartNavi__badge {
        background: #F4E2B8;
        color: #201A07;
    }
    .ec-calendar__month {
        width: 44%;
    }
    .ec-layoutRole__footer {
        padding-top: 4rem;
        margin-top: 4rem;
    }
    .ec-footerNavi__container {
        flex: 1;
        margin-top: 0;
    }
    .ec-footerRole__inner {
        flex-direction: row;
    }
    .ec-footerRole__left {
        width: 30%;
    }
    .ec-footerRole__right {
        width: 100%;
        flex: 1;
    }
    .ec-layoutRole__footer__guide .row {
        flex-direction: row;
        margin-top: calc(-1* var(--bs-gutter-y));
        margin-right: calc(-0.5* var(--bs-gutter-x));
        margin-left: calc(-0.5* var(--bs-gutter-x));
    }
    .ec-layoutRole__footer__guide .col-6 {
        width: 50%;
        padding: 0 2rem;
    }
    .ec-footerNavi {
        width: auto;
        text-align: left;
    }
    .ec-footerNavi__wrapper {
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        gap: 3em;
    }
    .ec-blockTel {
        font-size: 40px;
    }
}

/*サイドバー*/
.ec-itemNav__nav > li a {
    /* padding-left: 3em; */
}
.ec-itemNav__nav li.active > a {
    background: #fff9eb;
}
.ec-itemNav__nav > li a::before {
    content: "";
    display: inline-block;
    width: 1.75em;
    height: 1.75em;
    margin-right: 0.75em;
    background: #ccc;
    background: url(/html/template/default/assets/img/common/icon_dummy.svg) no-repeat center / contain;
}
.ec-itemNav__nav > li a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.ec-itemNav__nav li ul li {
    overflow: visible;
    height: auto;
}
.ec-itemNav__nav_item {
    position: relative;
}
.ec-itemNav__nav_item style {
    display: none !important;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav {
    position: absolute !important;
    top: 0;
    left: unset;
    right: 0;
    background: #fff;
    box-shadow: 0 0 1em rgba(0,0,0,0.15);
    border-radius: 2px;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 550px;
    padding: 20px;
    gap: 10px;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav.show {
    opacity: 1;
    visibility: visible;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item {
    width: 120px;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item .thumbnail {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #ccc;
    aspect-ratio: 1/1;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item .thumbnail img {
    position: absolute;
    top: 50%;
    left: 0;
    min-width: 100%;
    height: auto;
    transform: translateY(-50%);
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item .name {
    margin: 0.5em 0 1em;
    font-size: 12px;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: none;
    padding: 0;
}
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item a:before, 
.ec-itemNav .ec-itemNav__nav .ec-itemNav__subNav_item a:after {
    content: none;
}

@media only screen and (min-width: 768px){
    .ec-layoutRole .ec-layoutRole__contents {
        max-width: 1280px;
        margin-top: 175px;
    }
    .front_page .ec-layoutRole .ec-layoutRole__contents {
        margin-top: 80px;
    }
    .ec-headerNaviRole .ec-headerNaviRole__right {
        display: flex;
    }
    .ec-headerRole, .ec-headerNaviRole {
        width: 1280px;
        margin: 0 auto;
    }
    .ec-headerNaviRole__btn {
        display: inline-block;
    }
    .ec-headerNaviRole__logo {
        position: relative;
        width: 300px;
        top: unset;
        left: unset;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu {
        position: relative;
        top: unset;
        right: unset;
    }
    .ec-headerNav .ec-headerNav__itemLink {
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
    }
    .ec-cartNavi .ec-cartNavi__badge {
        position: absolute;
        top: -4px;
        left: unset;
        right: -12px;
    }
    .ec-headerNav .ec-headerNav__item.ec-cartNavi .ec-headerNav__itemIcon {
        margin-right: 0.5em;
    }
    .ec-headerNaviRole__left .ec-headerNav {
        display: flex;
        gap: 1rem;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
    .ec-headerRole, .ec-headerNaviRole {
        width: 100%;
    }
    .ec-headerNaviRole__searchTags {
        display: none;
    }
    .ec-headerSearch .ec-headerSearch__keyword input[type=search] {
        width: 200px;
    }
    .ec-headerNaviRole__info .ec-blockTime {
        display: none;
    }
    .ec-headerNaviRole__info .ec-blockTel {
        font-size: 32px;
        padding: 0;
    }
    .ec-headerNaviRole .ec-headerNaviRole__right {
        align-items: center;
    }
    .ec-headerNaviRole .ec-headerNaviRole__left {
        padding-right: 1rem;
    }
    .ec-headerNaviRole__logo {
        width: 240px;
    }
    .ec-headerNaviRole__btn .ec-blockBtn--action .pc-only {
        display: none;
    }
    .ec-headerNaviRole__btn .ec-blockBtn--action {
        width: 180px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .ec-headerNaviRole__logo {
        width: 200px;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu {
        position: static;
        width: 100vw;
        overflow-x: scroll;
    }
    .ec-headerRole .ec-headerRole__navSP {
        display: block;
        position: relative;
        top: 0;
        right: 0;
        width: auto;
        margin-left: 12px;
    }
    .ec-headerNavSP {
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        background: unset;
        border-radius: 0;
        padding: 0;
        width: auto;
        color: #cfa44f;
        display: block;
        height: auto;
        font-size: 24px;
        padding: 0 0.25em;
    }
    .ec-headerNaviRole .fa-bars {
        position: relative;
        transform: unset;
        top: unset;
        left: unset;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__right {
        flex: 1;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__right {
        position: absolute;
        top: 10px;
        right: 10px;
    }
    .ec-headerNaviRole__left .ec-headerNav {
        align-items: center;
        min-width: 38em;
        text-align: left;
        padding: 0 4px 4px;
    }
    .ec-headerNav .ec-headerNav__item {
        vertical-align: text-bottom;
        display: flex;
        align-items: center;
    }
    .ec-headerNaviRole .ec-headerNaviRole__right {
        display: none;
    }
    .ec-headerNaviRole__nav .ec-headerNav {
        display: flex;
        align-items: center;
    }
    .ec-headerNaviRole__searchSP,
    .ec-headerNaviRole__searchSP .ec-headerNaviRole__search {
        display: block !important;
    }
    .ec-headerNaviRole__searchSP {
        padding-top: 0.75rem;
    }
    .ec-drawerRole,
    .ec-drawerRole.is_active {
        display: block;
    }
    .ec-drawerRoleClose.is_active {
        display: block;
    }
}

.ec-headerInformationRole {
    /*position: absolute;*/
    /*bottom: 1px;*/
    /*left: 0;*/
    width: 100%;
    padding: 0.5em 0.25em 0.4em;
    background: #f4e2b8;
    font-size: 3.4vw;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.05em;
    /*transform: translateY(100%);*/
}
.ec-headerInformationRole .text-red {
    color: #c10000;
}
@media only screen and (min-width: 768px){
    .ec-headerInformationRole {
        position: relative;
        bottom: 0;
        font-size: 16px;
        transform: unset;
    }
}

/*メッセージBOX*/
.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: unset;
}
.message--customer {
    background: rgb(245 46 126 / 15%);
}
.message--staff {
    background: rgb(27 216 144 / 15%);
}
.badge {
    letter-spacing: 0.1em;
}
.badge.customer {
    background-color: #f52e7e;
}
.badge.staff {
    background-color: #1bd890;
}
.ec-welcomeMsg__message__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    background: #F4E2B8;
    border-radius: 10px 10px 0 0;
    color: #201A07;
    padding: 0.5em 0.75em;
}
.ec-welcomeMsg__message__text {
    border-radius: 0 0 10px 10px;
    border: 2px solid #F4E2B8;
    border-top: 0;
    background-color: #ffffff;
    padding: 0.75em;
    text-align: left;
    color: #201A07;
    font-size: 14px;
}
.ec-welcomeMsg__message__text .btn {
    width: 100%;
    padding: 0;
    text-align: right;
    height: auto;
    line-height: 2;
    margin-top: 0.5em;
}
.ec-welcomeMsg__message__text .btn a {
    position: relative;
    padding: 0.5em 3em;
    background: #C10000;
    color: #fff;
    font-weight: bold;
    border-radius: 2em;
}
.ec-welcomeMsg__message__text .btn a::after {
    position: absolute;
    top: 32%;
    right: 1em;
    content: "";
    width: 0.75em;
    height: 0.75em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    display: inline-block;
    transform: rotate(45deg);
}
.ec-welcomeMsg__info .name {
    color: #201A07;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 0.75em;
}
.ec-welcomeMsg__info .customer-info {
    font-weight: bold;
    display: block;
    color: #201A07;
    text-align: left;
    padding: 0.75em;
    background: #ffe2e2;
}
.ec-welcomeMsg__info .customer-rank span {
    color: #C10000;
    font-size: 120%;
}
.ec-welcomeMsg {
    padding: 0;
    margin-bottom: 2rem;
    border: none;
}
.ec-welcomeMsg__info .name {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5em;
}

/* 商品一覧 */
.ec-searchnavRole .ec-searchnavRole__infos {
    color: #201A07;
    padding-left: 0;
    padding-right: 0;
}
.ec-searchnavRole {
    padding: 0;
}
.ec-topicpath {
    color: #201A07;
    border-top: 0;
    margin-bottom: 1em;
}
.ec-topicpath .ec-topicpath__item a {
    color: #C10000;
    font-weight: bold;
}
.ec-topicpath .ec-topicpath__item--active a {
    color: #C10000;
    font-weight: bold;
}
.ec-searchnavRole__topicpath .ec-topicpath {
    padding-top: 0;
    margin: 0;
}
.ec-searchnavRole__topicpath.page-bottom .ec-topicpath {
    padding: 0.5em 0 0;
    margin: 0.5em 0 0;
    border-top: 1px dotted #ccc;
    border-bottom: none;
}
.ec-shelfGrid {
    gap: 1rem;
}
.ec-shelfGrid .ec-shelfGrid__item {
    display: inline-flex !important;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    width: calc((100% - 1rem) / 2);
    box-sizing: border-box;
    padding: 0 !important;
    margin: 0;
    border: 1px solid #D2BC81;
    border-radius: 2px;
    box-shadow: 0 0 0.25rem rgba(0,0,0,0.1);
    background: #fff;
}
.ec-shelfGrid .ec-shelfGrid__item > a {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0.75rem;
    color: #201A07;
}
.ec-shelfGrid .ec-shelfGrid__item > a:hover {
    color: inherit;
}
.ec-shelfGrid .ec-shelfGrid__item-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #fff;
    border: 1px solid #d3d3d3;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ec-shelfRole {
    padding: 0;
    color: #201A07;
}
.ec-shelfGrid__item .name {
    color: #201A07;
    font-size: 14px;
    font-weight: bold;
}
.ec-shelfGrid__item .price {
    margin: 0.5em 0;
    font-size: 14px;
    font-weight: bold;
}
.ec-shelfGrid__item .lot {
    margin-top: 0.5em;
    font-size: 12px;
    text-align: right;
    color: #201A07;
    opacity: 0.75;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn .ec-blockBtn--action {
    min-width: unset;
    width: 100%;
    padding: 1em 1em;
    margin: 0;
    font-size: 12px;
    color: #fff;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
    margin-bottom: 0;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-numberInput {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.ec-shelfGrid__item .ec-productRole__actions .ec-select {
    margin-bottom: 0.5rem;
}
.ec-shelfGrid__item .ec-productRole__actions .ec-select select {
    font-size: 11px;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-numberInput input[type=number] {
    font-size: 11px;
    height: 2.5em;
    max-width: 6em;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-numberInput span {
    display: inline-block;
    margin-right: 0.5em;
    font-size: 14px;
}
.ec-shelfGrid__item .lot {
    display: none;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-numberInput input[type=number] {
    margin-bottom: 0;
}
.ec-shelfGrid__item .ec-productRole__actions {
    padding: 0 1em 0.5em;
}
.ec-shelfGrid__item .ec-productRole__btn {
    padding: 0 1em 1em;
}
.ec-shelfGrid__item .ec-productRole__btn button {
    font-size: 11px !important;
}
.ec-productRole .ec-productRole__actions .ec-select {
    margin: 0.5rem 0;
}
.ec-productRole__print {
    padding: 1em;
    font-size: 16px;
    border: 1px solid #a57e2d;
    margin: 1rem 0;
    border-radius: 2px;
}
.ec-productRole__print h3 {
    margin: 0 0 0.75em;
    font-size: 16px;
    font-weight: bold;
    color: #a57e2d;
}
.ec-productRole__print ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}
.ec-productRole__print ul li {
    width: 100px;
    opacity: 0.3;
}
.ec-productRole__print ul li .name {
    margin-top: 0.5em;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}
.ec-productRole__print ul li .pic {
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 4px;
    border: 1px solid #ccc;
}
.ec-productRole__print__link {
    margin-top: 0.5em;
    font-size: 14px;
    text-align: right;
}
.ec-productRole__print ul li.active {
    opacity: 1;
}
.ec-productRole__print ul li .pic {
    position: relative;
}
.ec-productRole__print ul li .pic::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
    opacity: 0.5;
}
.ec-productRole__print ul li.active .pic::before {
    content: none;
}
.ec-shelfGrid .ec-shelfGrid__item-image {
    width: 100%;
    height: auto;
    max-height: 36vw;
}
.notice_login {
    margin-top: -0.75em;
    padding: 0.5em 0.25em;
    font-size: 12px;
    text-align: center;
    /*background: #ffe7e7;*/
}
.notice_login a {
    color: #0707c8;
    text-decoration: underline;
}
.notice_login a:hover {
    font-weight: bold;
    text-decoration: underline;
}
#wrapping {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    padding: 0;
    gap: 0.5em;
}
#wrapping .form-check {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
}
#wrapping .form-check-input {
    padding: 0;
    margin: 0;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
}
#wrapping .form-check-input {
    display: none;
}
#wrapping .form-check-input:checked + label {
    border: 2px solid #cfa44f;
    background: #fbf2dd;
}
#wrapping .form-check-label {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 5em;
    height: 100%;
    gap: 0.5em;
    padding: 0.5em;
    border: 1px solid #cccccc;
    font-size: 12px;
    margin: 0;
    border-radius: 2px;
    cursor: pointer;
}
#wrapping .form-check-label::before {
    content: "";
    display: inline-block;
    width: 3.5em;
    height: 3.5em;
}
#wrapping .form-check-label[for="wrapping_0"]::before {
    content: none;
}
#wrapping .form-check-label[for="wrapping_1"]::before {
    background: url(/html/template/default/assets/img/img_wrapping01.jpg) no-repeat center / cover;
}
#wrapping .form-check-label[for="wrapping_2"]::before {
    background: url(/html/template/default/assets/img/img_wrapping02.jpg) no-repeat center / cover;
}
#wrapping .form-check-label[for="wrapping_3"]::before {
    background: url(/html/template/default/assets/img/img_wrapping03.jpg) no-repeat center / cover;
}
.col-form-label {
    font-weight: bold;
}
@media only screen and (min-width: 768px){
    .ec-shelfGrid .ec-shelfGrid__item {
        width: calc((100% - 4rem) / 5);
    }
    .ec-shelfGrid .ec-shelfGrid__item-image {
        width: 100%;
        height: 140px;
    }    
    .ec-shelfRole {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* カテゴリ一覧 */
.pickup .ec-shelfGrid__item {
    width: 100%;
}
.pickup .ec-shelfGrid__item a {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.pickup .ec-shelfGrid__category-image {
    width: 60px;
    height: 60px;
    margin-right: 1rem;
}
.pickup .ec-shelfGrid__category-info {
    flex: 1;
}
.pickup .ec-shelfGrid__category-info .name {
    margin-bottom: 0.25em;
    font-size: 14px;
    font-weight: bold;
    color: #C10000;
    line-height: 1.5;
}
.pickup .ec-shelfGrid__category-info .desc {
    font-size: 12px;
    color: #201A07;
    line-height: 1.5;
}
@media only screen and (min-width: 768px){
    .pickup .ec-shelfGrid__item {
        width: calc((100% - 2rem) / 3);
    }
    .pickup .ec-shelfGrid__category-image {
        margin-right: 0.5rem;
        width: 100px;
        height: 100px;
    }
    .pickup .ec-shelfGrid__category-info .name {
        font-size: 16px;
    }
    .pickup .ec-shelfGrid__category-info .desc {
        font-size: 14px;
    }
}

/* 見出しの飾り */
.icon .ec-secHeading .ec-secHeading__ja {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.icon .ec-secHeading .ec-secHeading__ja::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
}
.pickup .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_recommend.svg) no-repeat center / contain;
}
.new .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_new.svg) no-repeat center / contain;
}
.news .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_news.svg) no-repeat center / contain;
}
.check .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_check.svg) no-repeat center / contain;
}
.campaign .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_campaign.svg) no-repeat center / contain;
}
.ranking .ec-secHeading .ec-secHeading__ja::before {
    background: url(/html/template/default/assets/img/common/icon_ranking.svg) no-repeat center / contain;
    width: 2em;
    margin-left: 0.5em;
    margin-right: 0.75em;
}

/* ニュース */
.ec-newsRole {
    padding-top: 20px;    
}
.ec-newsRole .ec-newsRole__news {
    padding: 0;
    border: 0;
}
.ec-newsRole .ec-newsRole__newsItem {
    padding: 0;
    border-bottom: 1px solid #ccc;
}
.ec-newsRole .ec-newsRole__newsItem:last-child {
    border: none;
}
.ec-newsRole .ec-newsRole__newsDate {
    color: #cfa44f;
    font-weight: bold;
    font-size: 16px;
}
.ec-newsRole .ec-newsRole__newsTitle {
    color: #201A07;
    font-size: 14px;
    line-height: 1.5;
    width: 100%;
}
@media only screen and (min-width: 768px){
    .ec-newsRole .ec-newsRole__newsItem {
        padding: 1em;
    }
}

/* 商品スライダー */
.slick-track {
    display: flex;
}
.slick-slide {
    height: auto !important;
}
.item-slider {
    margin-right: -2rem;
    overflow: hidden;
}
.item-slider .slick-track {
    margin-left: 0;
}
.item-slider .slick-slide {
    height: 100%;
}
.item-slider .slick-slide > div {
    padding-right: 1rem;
    height: 100%;
}
.item-slider.ec-shelfGrid .ec-shelfGrid__item {
    height: 100%;
}
@media only screen and (max-width: 768px){
    .ec-newsRole {
        padding-top: 0;    
    }
    .item-slider {
        margin-right: 0;
    }
    .item-slider .slick-slide > div {
        margin-left: -1rem;
        padding-right: 2rem;
    }
}

/* ランキング */
.ec-rankingRole {
    margin-bottom: 2rem;
}
.ec-rankingRole .ec-shelfRole {
    padding: 20px;
    background: #FBF2DD;
}
.ec-rankingRole_title {
    margin: 0;
    background: linear-gradient(90deg, #C10000 0%, #901e1e 70%, #C10000 100%);
    border-bottom-width: 3px;
    padding: 0.75em 0.5em 0.65em;
}
.ec-rankingRole_title .ec-secHeading__ja {
    color: #fff;
}
.ec-rankingRole .ec-shelfGrid {
    counter-reset: ranking;
}
.ec-rankingRole .ec-shelfGrid__item {
    counter-increment: ranking;
    height: 100%;
}
.ec-rankingRole .ec-shelfGrid__item-image::before {
    content: counter(ranking);
    width: 2em;
    height: 2em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #C10000;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.15);
}
.ec-rankingRole .ec-shelfGrid__item:nth-child(1) .ec-shelfGrid__item-image::before {
    background: #CFA44F;
}
.ec-rankingRole .ec-shelfGrid__item:nth-child(2) .ec-shelfGrid__item-image::before {
    background: #7D7D7D;
}
.ec-rankingRole .ec-shelfGrid__item:nth-child(3) .ec-shelfGrid__item-image::before {
    background: #90644A;
}
@media only screen and (max-width: 768px){
    .ec-rankingRole {
        padding: 0;
        margin-bottom: 1rem;
    }
    .ec-rankingRole .ec-shelfGrid {
        margin-bottom: 0;
    }
    .ec-rankingRole .ec-shelfRole {
        padding: 10px;
        padding-right: 0;
    }
}

/* サイドバー */
.ec-itemNav__nav {
    display: flex;
    flex-direction: column;
}
.ec-itemNav__nav li a {
    position: relative;
    border-bottom: 1px solid #ccc;
    padding: 0.75em 1em;
    padding-right: 2em;
    font-size: 14px;
    text-align: left;
    line-height: 1.25;
}
.ec-itemNav__nav li ul li a {
    background: #fff;
    color: #201A07;
}
.ec-categoryNaviRole {
    /* padding: 0; */
}
.ec-itemNav__nav li ul li a {
    border-bottom: 1px solid #ccc;
    font-size: 14px;
    padding: 1em;
}
.ec-asideRole__title {
    font-size: 16px;
    color: #201A07;
    border-bottom: 2px solid #cfa44f;
    box-sizing: border-box;
    background: #FBF2DD;
    padding: 0.65em 0.25em 0.55em;
    text-align: center;
    font-weight: bold;
    margin: 0;
    line-height: 1.5;
}
.ec-itemNav__nav a::after {
    position: absolute;
    top: 37.5%;
    right: 1em;
    content: "";
    width: 0.75em;
    height: 0.75em;
    border-top: 2px solid #cfa44f;
    border-right: 2px solid #cfa44f;
    display: inline-block;
    transform: rotate(45deg);
}
.ec-itemNav__nav > li:hover li:hover > a {
  background: #fafafa;
}

.ec-topicpath .ec-topicpath__divider {
    margin: 0 0.5em;
    color: #201A07;
}
.ec-layoutRole .ec-layoutRole__mainWithColumn {
    padding-top: 2rem;
}
.ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
    display: block;
    padding-top: 2rem;
}
.ec-categoryNaviRole {
    display: none;
}
.ec-categoryNaviRoleSP {
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    margin: 1rem 0;
}
.ec-categoryNaviRoleSP .ec-itemNav__nav_item {
    width: calc(50% - 0.25rem);
}
.ec-categoryNaviRoleSP .ec-itemNav__nav {
    gap: 0.5rem;
    flex-direction: row;
    flex-wrap: wrap;
}
.ec-categoryNaviRoleSP .ec-itemNav__nav_item a {
    border: 1px solid #ccc;
    font-size: 12px;
}
.ec-categoryNaviRoleSP .ec-asideRole__title {
    margin-bottom: 1em;
}
.ec-categoryNaviRoleSP .ec-itemNav__nav.price .ec-itemNav__nav_item a:before {
    display: none;
}
@media only screen and (min-width: 768px) {
    .ec-rankingRole .ec-shelfRole {
        padding: 20px 40px;
    }
    .ec-layoutRole .ec-layoutRole__mainWithColumn {
        width: 77.5%;
    }
    .ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
        width: 22.5%;
        min-width: 288px;
    }
    .ec-categoryNaviRole {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 2rem;
    }
    .ec-categoryNaviRoleSP {
        display: none !important;
    }
}

/* トップスライド */
.ec-layoutRole__contentTop {
    margin-top: calc(60px + 5.6vw);
}
.ec-topSliderRole__item {
    padding: 0.5rem;
}
.ec-topSliderRole__item img {
    width: 100%;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}
@media only screen and (min-width: 768px) {
    .ec-topSliderRole {
        margin-bottom: -4rem !important;
    }
    .ec-layoutRole__contentTop {
        margin-top: 175px;
    }
}

/* バナー */
.campaign .ec-shelfGrid .ec-shelfGrid__item {
    width: 100%;
    box-shadow: unset;
    border: 0;
}
.campaign .ec-shelfGrid .ec-shelfGrid__item a {
    padding: 0 !important;
}
.campaign .ec-shelfGrid__campaign-image img {
    width: 100%;
    height: auto;
}
.campaign .ec-shelfGrid__campaign-info {
    color: #201A07;
    font-size: 14px;
    margin-top: 0.5em;
    line-height: 1.5;
}
@media only screen and (min-width: 768px) {
    .campaign .ec-shelfGrid .ec-shelfGrid__item {
        width: calc((100% - 1rem) / 2);
    }
}

/* 商品ページ */
.ec-productRole__category {
    display: none; /* 暫定 */
}
.ec-productRole .ec-productRole__btn .ec-blockBtn--action {
    width: 100%;
    font-size: 18px;
}
.ec-productRole__btn.favorite {
    text-align: center;
}
.ec-productRole__btn.favorite button {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0;
    min-height: unset;
    line-height: 1.5;
    background: unset;
    border: 0;
    color: #201A07;
}
.ec-productRole__description {
    margin-top: 2em;
}
.ec-productRole__btn.favorite i {
    margin-right: 0.25em;
    font-size: 1.25em;
    vertical-align: text-bottom;
    color: #C10000;
}
.ec-productRole__subTitle {
    font-size: 18px;
    font-weight: bold;
    color: #C10000;
}
.ec-productRole .ec-productRole__price {
    border: none;
    padding: 0;
}
.ec-productRole .ec-productRole__price.rank {
    color: inherit;
}
.ec-productRole__price .rank-info {
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    background: #ffe2e2;
    padding: 0.5em 1em;
    margin-top: 0.5em;
    text-align: center;
}
.ec-productRole .ec-productRole__btn {
    width: 100%;
}
.ec-blockBtn--action:hover {
    color: #fff;
    background-color: #ff5d5d;
    border-color: #ff5d5d;
}
.ec-productRole__delivery {
    padding: 1em;
    font-size: 16px;
    border-radius: 8px;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.15);
    border: 10px solid #F4E2B8;
    margin: 2rem 0;
}
.ec-productRole__delivery li {
    font-size: 14px;
    list-style: none;
    line-height: 1.5;
}
.ec-productRole__delivery ul {
    padding-left: 1em;
    margin: 0.5em 0 0;
}
.ec-productRole__delivery h3 {
    margin: 0 0 0.5em;
    padding-bottom: 0.5em;
    border-bottom: 2px dotted #cfa44f;
    font-size: 18px;
    font-weight: bold;
}
.ec-productRole__delivery h3 i {
    margin-right: 0.25em;
    color: #1ebc8b;
}
.ec-productRole__delivery h3 span {
    color: #C10000;
}
.ec-productRole .ec-productRole__price {
    color: #C10000;
    text-align: right;
}
.ec-select label {
    margin: 0;
    margin-right: 0.25em;
}
.ec-numberInput span {
    font-weight: bold;
}
.ec-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    text-align: left;
    column-gap: 0.25em;
}
.ec-price__tax {
    font-size: 65%;
    margin-left: -0.5em;
}
.ec-price .ec-price__price {
    padding: 0;
    font-size: 28px;
}
.ec-productRole__title {
    padding-bottom: 0.25em;
    border-bottom: 2px dotted #ccc;
    margin-bottom: 0.5em;
}
.ec-productRole .ec-productRole__code {
    border: none;
    padding: 0;
    margin-bottom: 0.5em;
    font-size: 14px;
}
.ec-productRole__info.ec-productRole__submit {
    background: #F4F3F0;
    padding: 1.5em 1em 1em;
    margin: 1em auto;
    text-align: center;
}
.ec-productRole__info.ec-productRole__submit h3 {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}
.ec-productRole__info.ec-productRole__submit a {
    display: block;
    font-size: 14px;
    color: #C10000;
}
.ec-productRole__info.ec-productRole__submit .ec-blockBtn--action {
    margin: 0.75em auto;
    min-width: unset;
    color: #fff;
    background: linear-gradient(180deg, #cfa44f 0%, #a57e2d 100%);
}
.ec-productRole__info.ec-productRole__submit .ec-blockBtn--action::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.5em;
    display: inline-block;
    width: 1.75em;
    height: 1.75em;
    background: url(/html/template/default/assets/img/common/icon_pdf.svg) no-repeat center center / contain;
    transform: translateY(-50%);
}
.ec-productRole__info.ec-productRole__submit .ec-blockBtn--action::after {
    content: "";
    right: 0.5em;
    width: 1.5em;
    height: 1.5em;
    background: url(/html/template/default/assets/img/common/icon_download.svg) no-repeat center center / contain;
}

.ec-productRole__discountTitle {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    font-size: 18px;
}
.ec-productRole__discount h4 {
    font-size: inherit;
    font-weight: bold;
}

.ec-productRole__discountTable {
    width: 100%;
    /* max-width: 800px; */
    border: 1px solid #C10000;
    table-layout: fixed;
    margin: 1em auto 2em;
}
.ec-productRole__discountTable th, .ec-productRole__discountTable td {
    padding: 0.5em;
    border: 1px solid #C10000;
}
.ec-productRole__discountTable td {
    font-weight: bold;
    color: #C10000;
}
.ec-productRole__discountTable td.amount {
    font-weight: normal;
    color: #201A07;
}
.ec-productRole__discountTable tr:hover td {
    font-weight: bold !important;
}

.ec-productRole__discountTable td .ec-price__tax--incTax {
    font-weight: normal;
    color: #201A07;
}


.ec-productRole__discountTable th {
    background: #C10000;
    color: #fff;
}
.ec-productRole__discountTable tr:hover {
    background: #F4E2B8;
}
.ec-productRole__discountTable {
    font-size: 14px;
}
.ec-productRole__discountTable th:first-of-type {
    width: 35%;
}
.ec-productRole__discount .ec-price, 
.ec-productRole__discount .ec-price--incTax .ec-price__price,
.ec-productRole__discount .ec-price * {
    font-size: inherit;
    font-weight: normal;
}
.ec-productRole__discount .ec-price {
    font-size: 16px;
}

.ec-productRole__discount .ec-price__tax,
.ec-productRole__discount .ec-price--incTax {
    font-size: 0.8em;
}
.ec-productRole__discount .ec-price .rank-name::after {
    content: "：";
}
.ec-productRole__discount .ec-price {
    justify-content: flex-end;
}
.ec-productRole__discountTitle > .ec-price {
    flex: 1;
    justify-content: flex-end;
    gap: 0.25em;
}
@media only screen and (max-width: 767px) {
    .ec-productRole__discountTitle {
        font-size: 16px;
    }
    .ec-productRole__discount .ec-price {
        font-size: 12px;
    }
}

.proposal_wrapper h3 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 0.5em 0;
}

.proposal_wrapper {
    border-radius: 4px;
    padding: 0.75em 1em 0.75em;
    background: #f4f3f0;
}
.proposal_wrapper .ec-productRole__btn a {
    padding: 0.75em 0.5em !important;
    border: 1px solid #c10000;
    font-size: 12px;
}
.proposal_wrapper .ec-productRole__btn a,
.proposal_wrapper .ec-productRole__btn a:hover {
    background: #fff !important;
}
.proposal_wrapper .ec-productRole__btn {
    margin: 0.5em 0;
}

/*デザイン変更*/
.proposal_wrapper .ec-productRole__btn.proposal_login {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    line-height: 1.35;
}
.proposal_wrapper .ec-productRole__btn.proposal_login a {
    width: 6em;
    min-width: unset;
    margin: 0;
    font-size: 14px;
    padding: 0.25em !important;
}
.proposal_wrapper .ec-productRole__btn.proposal_login .proposal_name {
    flex: 1;
    text-align: left;
}
.proposal_wrapper .ec-productRole__btn a.proposal_excel {
    color: #126822 !important;
    border-color: #126822 !important;
}
.proposal_wrapper .ec-productRole__btn a.proposal_excel::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    background: url(/html/template/default/assets/img/common/icon_excel.svg) no-repeat center / contain;
    margin-right: 0.25em;
}
.proposal_wrapper .ec-productRole__btn a.proposal_pdf::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    background: url(/html/template/default/assets/img/common/icon_pdf_red.svg) no-repeat center / contain;
    margin-right: 0.25em;
}


.ec-sliderItemRole .slideThumb img {
    width: 90%;
}
.ec-sliderItemRole .item_nav {
    gap: 4px;
    margin-top: 8px;
}
.ec-sliderItemRole .slideThumb {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    border: 1px solid #ddd;
    border-radius: 2px;
    margin: 0;
    overflow: hidden;
}
.item_visual .slide-item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 2px;
}
a.slide-item-download {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: inline-block;
    width: 2.5em;
    height: 2.5em;
    padding: 0.5em;
    border-radius: 2px;
    background: rgba(0,0,0,0.75)
}
a.slide-item-download::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: url(/html/template/default/assets/img/common/icon_download.svg) no-repeat center / contain;
}
.item_visual {
    margin-bottom: 0;
}
.item_visual .slide-item {
    display: inline-flex !important;
    aspect-ratio: 1/1;
    justify-content: center;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 2px;
}
.item_visual .slide-item img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
/* .ec-productRole__price .ec-price .ec-price__price::before {
    content: "参考小売価格";
    display: block;
    font-size: 0.57em;
    margin-right: 0.5em;
} */
.ec-productRole__price .ec-price.rank-price .ec-price__price::before {
    content: none;
}
.ec-productRole__price .ec-price .rank-name {
    display: block;
    width: 100%;
    font-size: 0.57em;
    font-weight: bold;
}
/* .ec-productRole__price .ec-price.rank-price .rank-name::after {
    content: " ……";
} */
.ec-productRole .ec-productRole__price.unit-price {
    color: inherit;
}
.ec-price .ec-price__tax {
    margin-left: 0;
}
.ec-productRole__discountTable .ec-price__tax {
    font-size: 80%;
    margin-left: 0;
}
.ec-productRole__min_quantity {
    display: inline-block;
    font-size: 14px;
    margin-left: 0.5em;
}
.ec-productRole__min_quantity span {
    color: #c10000;
}
.ec-productRole__min_quantity__notice {
    display: block;
    font-size: 12px;
    text-indent: -1em;
    padding-left: 1em;
}
.ec-shelfGrid__item .ec-price .ec-price__price {
    font-size: inherit;
}
.ec-shelfGrid__item .ec-price .rank-name {
    display: block;
    width: 100%;
    font-size: 12px;
}
.ec-shelfGrid__item .ec-price--incTax, .ec-shelfGrid__item .ec-price--incTax .ec-price__price {
    display: inline-block;
    font-size: 12px;
    margin-top: 0.25em;
}
@media only screen and (min-width: 768px) {
    .ec-productRole .ec-productRole__title .ec-headingTitle {
        font-size: 24px;
    }
    .ec-productRole__discountTable {
        font-size: 16px;
    }
    .ec-productRole__discountTable th:first-of-type {
        width: 50%;
    }
    .ec-productRole__price .rank-info {
        font-size: 16px;
    }
}
@media only screen and (max-width: 767px) {
    .ec-productRole__info.ec-productRole__submit .ec-blockBtn--action {
        width: 100%;
        padding: 1em 1em;
    }
    .proposal_wrapper .ec-productRole__btn.proposal_login {
        font-size: 12px;
    }
    .proposal_wrapper .ec-productRole__btn.proposal_login a {
        font-size: 12px;
    }
}

/* カート画面 */
.ec-cartRole {
    color: #201A07;
    padding: 0 10px;
}
.ec-cartRole .ec-cartRole__cart {
    margin: 0;
}
.ec-cartRow .ec-cartRow__delColumn .ec-icon img {
    width: 1em;
    height: 1em;
}
.ec-cartRole .ec-cartRole__actions {
    width: 100%;
    margin: 0;
}
.ec-cartRole .ec-blockBtn--action {
    font-size: 16px;
}
.ec-cartRole .ec-blockBtn--cancel {
    font-size: 14px;
}
.ec-totalBox .ec-totalBox__taxLabel {
    margin-left: 0;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
    min-width: 100%;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
    min-width: 100%;
}
.ec-cartRole .ec-alert-warning {
    margin: 2rem auto;
}
.ec-progress .ec-progress__number {
    background: #cfa44f;
}
.ec-progress .ec-progress__item:after {
    height: 0.5em;
    top: 0.9em;
    background: #d8d5cf;
}
.ec-progress .is-complete .ec-progress__number {
    background: #c10000;
}
.ec-progress .is-complete .ec-progress__label {
    color: #201A07;
}
.ec-progress .ec-progress__label {
    font-size: 10px;
}
@media only screen and (min-width: 768px) {
    .ec-cartRole .ec-cartRole__actions {
        width: 50%;
        margin: 1rem 0 0;
        box-sizing: border-box;
    }
    .ec-cartRole .ec-cartRole__actions {
        width: 50%;
    }
    .ec-progress .ec-progress__label {
        font-size: 12px;
    }
    .ec-progress .ec-progress__item:after {
        top: 1.25em;
    }
    .ec-cartRole .ec-blockBtn--action {
        font-size: 20px;
    }
    .ec-cartRole .ec-blockBtn--cancel {
        font-size: 18px;
    }
    .ec-cartRole {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* 注文 */
.ec-orderRole {
    color: #201A07;
}
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price, .ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
    color: #C10000;
}
.ec-select__delivery, .ec-select__time {
    display: block;
}
.ec-select__delivery {
    margin-top: 1em;
}
.ec-cartCompleteRole, .ec-cartCompleteRole {
    color: #201A07;
}

.ec-borderedDefs dt {
    color: #C10000;
    padding: 0;
    line-height: 1.5;
}
.ec-borderedDefs dd {
    line-height: 1.5;
}

.ec-mypageRole .table a {
    color: #C10000;
    line-height: 2;
}
.ec-navlistRole .ec-navlistRole__item.active a {
    color: #C10000;
}
.ec-required {
    color: #201A07;
    font-weight: bold;
    background: #F4E2B8;
    padding: 0.25em 0.5em;
    display: inline-block;
    line-height: 1;
    border-radius: 4px;
}
@media only screen and (max-width: 767px) {
    .ec-welcomeMsg {
        flex-direction: column;
    }
    .ec-welcomeMsg .col-6 {
        width: 100%;
        margin: 1rem 0;
    }
    .ec-mypageRole .row {
        margin: 0;
        padding: 0 !important;
    }
    .ec-mypageRole .table th {
        width: 33.33%;
        font-size: 12px;
    }
    .ec-mypageRole .table td {
        font-size: 12px;
    }
    .ec-navlistRole .ec-navlistRole__item a {
        font-size: 14px;
        padding: 1em 0.5em;
        line-height: 1.5;
        color: #201A07;
    }
    .ec-mypageRole {
        padding: 0;
    }
}
@media only screen and (min-width: 768px) {
    .ec-borderedDefs dt {
        width: 35%;
    }
}

/* ログイン */
.ec-login {
    padding: 1rem;
}
.ec-login .ec-grid2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#page_shopping_login .ec-grid3 .ec-grid3__cell {
    display: none;
}
#page_shopping_login .ec-grid3 .ec-grid3__cell2 {
    width: 100%;
}

/*下層ページ*/
.ec-guideRole {
    padding: 0.25em 0.5em;
    margin: 10px 16px 48px;
    margin-bottom: 1.5em;
    line-height: 1.5;
}

/*ご利用の流れ*/
.ec-guideRole__flow__step:not(:last-child) {
    margin-bottom: 2em;
}
.ec-guideRole__flow__step {
    counter-increment: step 1;
}
.ec-guideRole .ec-guideRole__flow__stepTitle {
    font-size: 20px;
    padding: 0.5em 1em;
    margin-bottom: 0.75em;
    background: #F4E2B8;
}
.ec-guideRole .ec-guideRole__flow__stepContent .ec-blockBtn--action {
    margin: 1em 0;
    max-width: 500px;
}
.ec-guideRole .ec-guideRole__flow__stepTitle::before {
    content: "STEP" counter(step);
    display: inline-block;
    margin-right: 1em;
    background: #C10000;
    color: #fff;
    font-size: 14px;
    padding: 0.25em 1em;
    line-height: 1;
    border-radius: 4px;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
}
.ec-guideRole__flow {
    counter-reset: step;
}
.ec-guideRole .ec-guideRole__flow__stepTitle {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .ec-guideRole {
        padding: 0.25em 0.5em;
        margin: 0 8px;
        margin-bottom: 1.5em;
    }
    .ec-guideRole .ec-guideRole__flow__stepTitle {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        font-size: 18px;
        padding: 0.5em 0.75em;
    }
    .ec-guideRole .ec-guideRole__flow__stepTitle::before {
        margin: 0.25em 0 0.5em;
    }
}

/*データ入稿時の注意（ガイド）*/
.ec-guideRole__flow__section:not(:last-child) {
    margin-bottom: 2em;
}
.ec-guideRole__flow__section {
    counter-increment: step 1;
}
.ec-guideRole .ec-guideRole__flow__sectionContent ul {
    list-style: none;
    padding: 0;
    padding-left: 1em;
    text-indent: -1em;
}
.ec-guideRole .ec-guideRole__flow__sectionTitle {
    font-size: 20px;
    padding: 0.5em 1em;
    margin-bottom: 0.75em;
    background: #F4E2B8;
}
.ec-guideRole .ec-guideRole__flow__sectionContent .ec-blockBtn--action {
    margin: 1em 0;
    max-width: 500px;
}
.ec-guideRole .ec-guideRole__flow__sectionTitle {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .ec-guideRole .ec-guideRole__flow__sectionTitle {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        font-size: 18px;
        padding: 0.5em 0.75em;
    }
}

/*FAQ*/
.ec-guideRole__faq__title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #a57e2d;
}
.ec-guideRole__faq__list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 2em;
}
.ec-guideRole__faq__question {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 16px;
    padding: 0.5em 1em;
    margin-bottom: 0.75em;
    background: #fbf2dd;
}
.ec-guideRole__faq__answer {
    position: relative;
    padding: 0;
    padding-left: 2.5em;
}
.ec-guideRole__faq__listItem {
    font-size: 16px;
    margin-bottom: 1em;
}
.ec-guideRole__faq__question::before {
    content: "Q.";
    padding-right: 0.5em;
    display: inline-block;
    color: #cfa44f;
}
.ec-guideRole__faq__answer::before {
    content: "A.";
    position: absolute;
    left: 1em;
    top: 0;
    display: inline-block;
    color: #c10000;
    font-weight: bold;
}
.ec-guideRole__faq__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    list-style: none;
    padding: 0;
    margin-bottom: 2rem;
    gap: 0.75em;
}
.ec-guideRole__faq__navItem a {
    padding: 0.25em 0.75em;
    display: inline-block;
    border: 1px solid #a57e2d;
    color: #a57e2d;
    border-radius: 2px;
}
.ec-guideRole .ec-guideRole__faq__answer .ec-blockBtn--action {
    margin: 1em 0;
    max-width: 500px;
}
.ec-guideRole .ec-guideRole__faq__answer p + p {
    margin-top: 0.75em;
}

@media only screen and (max-width: 767px) {
    .ec-guideRole .ec-guideRole__faq__answer .ec-blockBtn--action {
        min-width: 100%;
    }
    .ec-guideRole__faq__navItem a {
        font-size: 14px;
    }
    .ec-guideRole__faq__nav {
        gap: 0.5em;
    }
    .ec-guideRole__faq__title {
        font-size: 18px;
    }
    .ec-guideRole__faq__listItem {
        font-size: 14px;
    }
    .ec-guideRole__faq__question {
        font-size: 14px;
    }
}

/*ログイン*/
#page_shopping_login .ec-off2Grid,
#page_mypage_login .ec-off2Grid {
    width: 100%;
}
#page_shopping_login .ec-off2Grid .ec-off2Grid__cell,
#page_mypage_login .ec-off2Grid .ec-off2Grid__cell {
    width: 100%;
    margin: 0;
}
#page_shopping_login .ec-login .ec-login__input,
#page_mypage_login .ec-login .ec-login__input {
    max-width: 640px;
    margin: 1rem auto;
}
#page_shopping_login .ec-grid2 .ec-grid2__cell,
#page_mypage_login .ec-grid2 .ec-grid2__cell {
    text-align: center;
    margin: 0 auto;
}
#page_shopping_login .ec-login__actions .ec-blockBtn--cancel,
#page_mypage_login .ec-login__actions .ec-blockBtn--cancel {
    margin: 0 auto 1em;
}
#page_shopping_login .ec-login .ec-login__link,
#page_mypage_login .ec-login .ec-login__link {
    margin-left: 0;
}
.ec-login {
    background: #fbf2dd;
}
.ec-link {
    color: #c10000;
}

.service_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
}
.service_list .service_item {
    width: 100%;
    border: 1px solid #cfa44f;
    padding: 1em;
    border-radius: 2px;
}
.service_list .service_item .title {
    margin-bottom: 0.5em;
    color: #c10000;
    font-weight: 20px;
    font-weight: bold;
}
.service_list .service_item .desc {
    font-weight: 16px;
}
@media only screen and (min-width: 768px) {
    .service_list .service_item {
        width: calc((100% - 1rem) / 2);
    }
}

.ec-guideRole__desc,
.guideRole__desc {
    margin-bottom: 1.5em;
}
.ec-guideRole__notice,
.guideRole__notice {
    margin-top: 1em;
    display: block;
    font-size: 80%;
    opacity: 0.8;
}



/* 記念品特集 */
.ec-featureRole__header {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ccc;
    padding: 2rem;
    margin: 0 -20px;
    margin-bottom: 2rem;
}
.ec-featureRole__header__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.9);
    padding: 3em 2em 2em;
    border-radius: 0.25em;
    box-shadow: 0 0 0.5em rgba(0,0,0,0.15);
    font-size: 14px;
    text-align: center;
    gap: 1em;
    min-width: 90%;
}
.ec-featureRole__header__inner h1 {
    margin: 0;
    font-size: 22px;
    font-weight: bold;
    color: #a57e2d;
    letter-spacing: 0.1em;
    line-height: 1;
}
.ec-featureRole__header__inner p {
    font-size: 14px;
}
.ec-featureRole__tag {
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    margin: 0;
}
.ec-featureRole__tag__item {
    background: #c10000;
    color: #fff;
    border-radius: 0.25em;
    display: inline-block;
    padding: 0.5em;
    font-size: 12px;
}

h2.ec-featureRole__title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0.25em 0.5em;
    padding-right: 0;
    border-bottom: 2px solid #a57e2d;
    color: #a57e2d;
    font-size: 22px;
    margin-bottom: 1em;
}

ul.ec-featureRole__nav__list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 0;
    list-style: none;
    margin-bottom: 4rem;
}

li.ec-featureRole__nav__list__item {
    width: calc((100% - 1rem) / 2);
    text-align: center;
}

li.ec-featureRole__nav__list__item .pic {
    width: 100%;
    height: 160px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: #ccc;
    overflow: hidden;
}
li.ec-featureRole__nav__list__item .name {
    margin-top: 0.5em;
    font-size: 14px;
    font-weight: bold;
}
.ec-featureRole__list__item {
    margin-bottom: 4.5rem;
}

h3.category_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0.25em 0.5em;
    padding-right: 0;
    border-bottom: 2px solid #CFA44F;
    font-size: 18px;
}

.ec-featureRole__header {
    position: relative;
}
.ec-featureRole__header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.1);
    display: block;
    width: 100%;
    height: 100%;
}
.ec-featureRole__header__inner {
    z-index: 1;
}
.categoryItemSlider .slick-prev, .categoryItemSlider .slick-next {
    top: unset;
    bottom: 0;
    z-index: 1;
    background: #CFA44F;
    width: 1.5em;
    height: 1.5em;
    display: inline-block;
    text-align: center;
    border-radius: 2px;
    font-size: 20px;
    transform: unset;
    line-height: 1;
    padding: 0.25em;
}
.categoryItemSlider .slick-prev {
    left: 0;
}
.categoryItemSlider .slick-next {
    right: 0;
}
.categoryItemSlider .slick-prev:before, .categoryItemSlider .slick-next:before {
    position: relative;
    opacity: 1;
}
.categoryItemSlider {
    padding-bottom: 3.5rem;
    margin-bottom: 0;
}
.categoryItemSlider + .ec-blockBtn--action.view-more {
    width: 50%;
    margin: -3.5rem auto 0;
    transform: translateY(50%);
}

@media only screen and (min-width: 768px) {
    .ec-featureRole__header {
        margin: 0 auto 4rem;
    }
    .ec-featureRole__header__inner {
        min-width: unset;
    }
    .ec-featureRole__header__inner h1 {
        font-size: 28px;
    }
    .ec-featureRole__header__inner p {
        font-size: 18px;
    }
    li.ec-featureRole__nav__list__item {
        width: calc((100% - 3rem) / 4);
    }
    li.ec-featureRole__nav__list__item .name {
        font-size: 15px;
    }
    h2.ec-featureRole__title {
        font-size: 24px;
    }
    .ec-featureRole__tag__item {
        font-size: 14px;
    }
    h3.category_title {
        font-size: 20px;
    }
}

/* 加工方法 */
.ec-featureRole__nav--print li.ec-featureRole__nav__list__item {
    width: calc((100% - 0.5rem) / 2);
}
.ec-featureRole__nav--print ul.ec-featureRole__nav__list {
    gap: 0.5rem;
    margin-bottom: 2rem;
}
.ec-featureRole__nav--print li.ec-featureRole__nav__list__item a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem;
    border-radius: 4px;
    border: 1px solid #a57e2d;
    box-sizing: border-box;
    color: #a57e2d;
}
.ec-featureRole__nav--print li.ec-featureRole__nav__list__item .pic {
    width: 40px;
    height: 40px;
}
.ec-featureRole__nav--print li.ec-featureRole__nav__list__item .name {
    margin-top: 0;
    font-size: 12px;
    text-align: left;
}
.ec-featureRole__banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 2rem;
}
.ec-featureRole__banner__item {
    width: 100%;
    height: 80px;
    background-color: #ccc !important;
}
.ec-featureRole__banner__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    color: #201a07;
    font-size: 16px;
    letter-spacing: 0.05em;
    border: 4px solid #cfa44f;
    border-radius: 4px;
    box-shadow: 0 0 0.25em rgba(0, 0, 0, 0.15);
    transition: .25s;
}
.ec-featureRole__banner__item a:hover {
    opacity: 1;
}
.ec-featureRole__banner__item a:hover .ec-featureRole__banner__inner {
    background: transparent;
    opacity: 1;
}
.ec-featureRole__banner__inner {
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, white);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border-radius: 2px;
    font-weight: bold;
    padding-right: 2em;
    transition: .5s;
}
.ec-printRole__detail__item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 1rem;
}
.ec-printRole__detail__item__pic {
    width: 160px;
    height: 160px;
}
.ec-printRole__detail__item__text {
    flex: 1;
}
.ec-printRole__detail {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 2rem;
}
.ec-printRole__detail__title {
    padding-bottom: 0.25em;
    margin-top: 0.25em;
    margin-bottom: 0.75em;
    font-size: 18px;
    font-weight: bold;
    color: #a57e2d;
    border-bottom: 1px solid;
    line-height: 1.5;
}
.ec-printRole__detail__content p {
    font-size: 14px;
    line-height: 1.5;
}
@media only screen and (min-width: 768px) {
    .ec-featureRole__nav--print li.ec-featureRole__nav__list__item {
        width: calc((100% - 2rem) / 3);
    }
    .ec-featureRole__nav--print ul.ec-featureRole__nav__list {
        gap: 1rem;
    }
    .ec-featureRole__nav--print li.ec-featureRole__nav__list__item a {
        gap: 1rem;
        padding: 0.5rem;
    }
    .ec-featureRole__nav--print li.ec-featureRole__nav__list__item .pic {
        width: 80px;
        height: 80px;
    }
    .ec-featureRole__nav--print li.ec-featureRole__nav__list__item .name {
        font-size: 15px;
    }
    .ec-featureRole__banner__item {
        width: calc((100% - 1rem) / 2);
        height: 120px;
    }
    .ec-printRole__detail__item {
        flex-direction: row;
        align-items: flex-start;
        gap: 1.5rem;
    }
    .ec-printRole__detail__item__pic {
        width: 240px;
        height: 240px;
    }
    .ec-printRole__detail__title {
        margin-bottom: 1em;
        font-size: 20px;
    }
    .ec-printRole__detail__content p {
        font-size: 15px;
        line-height: 1.75;
    }
    .ec-featureRole__banner__item a {
        font-size: 20px;
    }
}

.banner_paidy img {
    height: auto;
}
.banner_paidy {
    margin-bottom: 2rem;
}
.ec-layoutRole__left .banner_paidy {
    display: none;
}
.ec-layoutRole__mainBottom {
    margin-top: 3rem;   
}
@media only screen and (min-width: 768px) {
   .ec-layoutRole__left .banner_paidy {
        display: block;
    }
}

.ec-totalBox .ec-blockBtn--action {
    min-width: 100%;
}

p.notice {
    font-size: 12px;
    font-weight: normal;
    margin-top: 0.5em;
    text-indent: -1em;
    padding-left: 1em;
}
.ec-productRole__description-list {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    font-size: 14px;
    margin: 0;
    border-bottom: 1px solid #ccc;
}

.ec-productRole__description-list__text {
    flex: 1;
    margin: 0;
    padding: 0.75em 0.5em;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

.ec-productRole__description-list__title {
    width: 8em;
    background: #fbf2dd;
    padding: 0.75em 0.5em;
    border-left: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ec-productRole__description-list:first-of-type {
    border-top: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
    .ec-productRole .ec-role {
        padding: 0;
    }
}

.banner img {
    width: 100%;
    height: auto;
}
.banner a {
    display: block;
    width: 100%;
}
.banner {
    padding: 0;
}
.ec-price--incTax, .ec-price--incTax .ec-price__price {
    font-size: 80%;
    font-weight: normal;
    line-height: 1;
}
.ec-price--incTax, .ec-price--incTax .ec-price__price::before {
    content: none !important;
}
.ec-price--incTax {
    display: inline-block;
}
/* .ec-price--incTax:not(.no-slash)::before {
    content: "／" !important;
} */
.rank-price.ec-price--incTax {
    color: #201a07;
}
.ec-productRole .ec-productRole__profile .ec-productRole__price {
    text-align: left;
}

@media (max-width: 1200px) {
    .ec-layoutRole .ec-layoutRole__left, .ec-layoutRole .ec-layoutRole__right {
        display: none;
    }
    .ec-layoutRole .ec-layoutRole__mainWithColumn {
        width: 100%;
    }
}

.giftbox > a {
    display: block;
    text-decoration: underline;
    margin-bottom: 0.25em;
}
.giftbox > a::before {
    content: ">> ";
}

.btn-check:focus + .ec-blockBtn--cancel, .ec-blockBtn--cancel:focus {
    background: #fff;
    box-shadow: none;
}
.ec-productRole__btn.proposal a {
    padding: 0;
}

/*20250312改修*/
.proposal_wrapper .ec-productRole__btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    word-break: break-all;
    white-space: normal;
}
.ec-blockTopBtn {
    width: auto;
    padding: 0 1em;
}
@media only screen and (max-width: 767px) {
    .ec-headerNaviRole__left .ec-headerNav .ec-headerNav__itemLink {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 14px;
        font-weight: bold;
        padding: 0.5em;
        margin: 0;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu .ec-headerNaviRole__right {
        position: absolute;
        top: 10px;
        right: 10px;
    }
    .ec-headerNaviRole.ec-headerNaviRole__menu {
        position: static;
        width: 100vw;
        overflow-x: scroll;
    }
    .ec-headerRole {
        height: auto;
    }
    .ec-headerNaviRole__left .ec-headerNav {
        align-items: center;
        min-width: 38em;
        text-align: left;
        padding: 0 4px 4px;
    }
    .ec-headerNav .ec-headerNav__item {
        vertical-align: text-bottom;
    }
    .ec-headerNav .ec-headerNav__item.beginner .ec-headerNav__itemLink::before {
        width: 1.25em;
        height: 1.25em;
        margin-right: 0.25em;
    }
    .ec-headerNaviRole__logo {
        width: 170px;
    }
    .ec-headerNav .ec-headerNav__itemIcon {
        font-size: 22px;
    }
    .ec-headerNavSP {
        height: auto;
        font-size: 24px;
        padding: 0 0.25em;
    }
    .ec-headerNaviRole .fa-bars {
        position: relative;
        transform: unset;
        top: unset;
        left: unset;
    }
    .ec-headerRole .ec-headerRole__navSP {
        position: relative;
    }
    .ec-headerNaviRole__searchSP .ec-headerNaviRole__search {
        display: block !important;
    }
    .ec-headerNaviRole__searchSP {
        padding: 58px 12px 6px;
    }
    .ec-headerSearch .ec-headerSearch__keyword input[type=search] {
        width: 100%;
        padding-right: 3em;
        font-size: 15px;
    }
    .ec-headerSearch .ec-headerSearch__keywordBtn {
        height: calc(100% + 2px);
        padding: 0.25em;
        transform: translate(1px, -1px);
    }
    .ec-headerInformationRole {
        font-size: 13px;
    }
    .ec-layoutRole__contentTop {
        margin-top: 178px;
    }
    
    .ec-topSliderRole__item {
        padding: 0.25rem;
    }
    
    /*ランキング*/
    .ec-secHeading .ec-secHeading__ja {
        font-size: 16px;
        letter-spacing: 0.05em;
    }
    .ec-shelfGrid .ec-shelfGrid__item > a {
        padding: 0.5rem;
    }
    .ec-rankingRole .ec-shelfRole {
        padding: 10px 10px 15px;
        padding-right: 0;
    }
    .ec-rankingRole_title {
        padding: 0.5em 0.5em 0.45em;
    }
    .ranking .ec-secHeading .ec-secHeading__ja::before {
        margin-left: 0.25em;
        margin-right: 0.5em;
    }
    .item-slider .slick-slide > div {
        margin-left: -0.5rem;
        padding-right: 1rem;
    }
    .ec-secHeading .ec-secHeading__btn a {
        font-size: 11px;
        padding-left: 1.5em;
    }
    
    .ec-categoryNaviRoleSP .ec-itemNav__nav_item .name {
        flex: 1;
    }
    .ec-categoryNaviRoleSP .ec-itemNav__nav_item a {
        height: 100%;
        padding: 0.75em 0.5em;
        padding-right: 1.75em;
        font-size: 13px;
    }
    .ec-itemNav__nav a::after {
        top: 42.5%;
        right: 0.65em;
        width: 0.65em;
        height: 0.65em;
    }
    
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav_item {
        width: auto;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: auto;
        gap: 0.25rem;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav_item a {
        flex-direction: column;
        justify-content: flex-start;
        padding: 0.75em 0;
        border: none;
        font-size: 2.5vw;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav_item a::after {
        display: none;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav_item a::before {
        width: 5.25em;
        height: 4.5em;
        margin: 0 0 0.5em;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category .ec-itemNav__nav_item .name {
        flex: unset;
        width: 100%;
        text-align: center;
    }
    .ec-categoryNaviRoleSP .ec-itemNav.category {
        margin-top: 1rem;
    }
    
    .ec-searchnavRole__topicpath .ec-topicpath {
        padding: 0 0 0.5em;
        margin-bottom: 0.5em;
        font-size: 15px;
    }
    .ec-shelfGrid__item .ec-productRole__btn {
        padding: 0.5em;
    }
    .ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn .ec-blockBtn--action {
        font-size: 13px;
        text-align: left;
    }
    .ec-blockBtn--action::after {
        right: 0.75em;
    }
}

@media (max-width: 1280px) {
    .ec-footerRole .ec-footerRole__inner {
        flex-direction: column;
        padding: 0;
    }
    .ec-footerRole__left {
        width: 100%;
    }
    .ec-footerNavi__container {
        margin-top: 2rem;
    }
}

/*ダンプ*/
.sf-dump {
    display: none !important;
}

/* お問い合わせ */
.ec-contactRole {
    color: inherit;
}
.ec-contactRole__nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    list-style: none;
    padding: 0;
    margin: 0 0 1em;
}
.ec-contactRole__nav__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    padding: 0.25em 0.75em;
    border: 1px solid;
    border-radius: 2px;
    color: #a57e2d;
}
.ec-contactRole__attachment .ec-heading {
    font-weight: bold;
    color: #c10000;
    margin-bottom: 0.5em;
    font-size: 1.25rem;
    line-height: 1.5em;
}
.ec-required.--optional {
    background: #e5e4e1;
}
.ec-contactRole__attachment__attention {
    text-align: right;
}
.ec-contactRole textarea {
    min-height: 9.5em;
}

/*パンくずリスト*/
.ec-breadcrumbRole {
    padding: 0;
    list-style: none;
    margin-bottom: 20px;
    padding: 0 20px;
}
.ec-breadcrumbRole__item {
    display: inline;
}
.ec-breadcrumbRole__item::after {
    content: "＞";
    padding: 0 0.25em;
}
.ec-breadcrumbRole__item:last-child::after {
    content: none;
}

/* カテゴリナビ */
.ec-categoryNavRole {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    padding: 0;
    margin: 0 0 30px;
    list-style: none;
}
.ec-categoryNavRole__item a {
    padding: 0.25em 0.5em;
    border: 1px solid;
    border-radius: 2px;
    display: inline-block;
    font-size: 14px;
}