/* カスタマイズ用CSS */

/* 全体的な設定 */
:focus {
    outline: 0;
}

.pc {
    display: none;
}

.sp {
    display: block;
}

a,
a:hover {
    text-decoration: none;
    color: #000;
}

a:hover {
    opacity: 0.7;
}

h2 {
    font-size: 39px;
    font-weight: 1000;
}

ul,
li {
    list-style: none;
}

.ec-cartNavi .ec-cartNavi__badge {
    background-color: #000;
}

.ec-input .ec-errorMessage,
.ec-halfInput .ec-errorMessage,
.ec-numberInput .ec-errorMessage,
.ec-zipInput .ec-errorMessage,
.ec-telInput .ec-errorMessage,
.ec-select .ec-errorMessage,
.ec-birth .ec-errorMessage,
.ec-checkbox .ec-errorMessage {
    font-size: 18px;
    font-weight: bold;
}

img {
    max-width: 100%;
}

/* 全体的な設定 ココまで*/

/* 右側のタグ */
.fixedTag-right {
    position: fixed;
    z-index: 100;
    top: 70px;
    right: -20px;
    background-color: #9c9c9c;
    border-radius: 5%;
    border: 1px solid #fff;
    opacity: 0.8;
}

.fixedTag-right p a {
    padding: 10px 15px 10px 0px;
    color: #fff;
    font-size: 14px;
    line-height: 40px;
    font-weight: bold;
    writing-mode: vertical-lr;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    position: relative;
}

.fixedTag-right:hover {
    transition: all 0.3s;
    right: -15px;
    opacity: 1;
}

/* 右側のタグ ココまで */

/* ヘッダーの設定 */
.ec-headerSearch .ec-headerSearch__category .ec-select select {
    padding-left: 16px;
}

.ec-layoutRole__header {
    height: inherit;
    margin-bottom: 20px;
}

.ec-headerRole {
    display: block;
    padding-top: 0;
}

.ec-headerTitle .ec-headerTitle__title a {
    margin-bottom: 0;
    letter-spacing: 0.25em;
    font-size: 18px;
    font-weight: 400;
    color: #fff;
}

.ec-headerTitle__info {
    font-size: 14px;
    text-align: center;
    margin-bottom: 12px;
}

.ec-headerNaviRole__nav,
.ec-headerNaviRole__nav__info {
    color: #000;
}

.ec-headerNaviRole__nav a,
.ec-headerNaviRole__nav__text a {
    color: #000;
}

.ec-headerNaviRole__nav__text {
    display: none;
}

.pagetop {
    bottom: 27px;
    right: 27px;
    width: 30px;
    height: 30px;
    font-size: 20px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ec-headerTitle .ec-headerTitle__title {
    padding: 10px 0;
}

.ec-headerNavSP {
    display: block;
    background: none;
    color: #fff;
}

/* ヘッダーの設定 ココまで*/

/* スライド用 */
.ec-role {
    margin-bottom: 48px;
}

.categoryWrap {
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: #F7F7F7;
    margin-bottom: 0px;
}

.ec-sliderRole {
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 45px;
    max-width: inherit;
}

ul .slick-dots {
    display: none;
}

.slick-slide {
    margin-bottom: 0px;
}

/* スライド用 ココまで*/
/*トップメイン*/
.ec-layoutRole__main .main_visual {
    text-align: center;
}

/* ec-cubeの元の邪魔そうなsass中和 */
.ec-role .ec-itemRole,
.ec-role .ec-categoryRole,
.ec-role .ec-pickUpItemRole,
.ec-role .ec-newItemRole {
    padding-bottom: 0px;
}

.ec-itemRole__list,
.ec-pickUpItemRole,
.ec-pickUpItemRole__list {
    display: flex;
    flex-wrap: wrap;
}

.ec-secHeading__en .ec-shelfGrid__item,
.ec-itemRole .ec-itemRole__listItem,
.ec-pickUpItemRole__listItem,
.ec-newItemRole .ec-newItemRole__listItem {
    width: 50%;
    margin-bottom: 24px;
    padding-left: 8px;
    padding-right: 8px;
    box-sizing: border-box;
}

.ec-pickUpItemRole__listItem a .ec-pickUpItemRole__listItemTitle {
    font-weight: bold;
    font-size: 14px;
}

.ec-pickUpItemRole__listItem a .ec-pickUpItemRole__listItemPrice {
    font-size: 14px;
}

/* ec-cubeの元の邪魔そうなsass中和 ココまで*/
/*トップページ*/
.ec-secHeading {
    text-align: center;
    width: 100%;
}

.ec-secHeading .ec-secHeading__en {
    font-weight: inherit;
}

/* 商品一覧 */
.ec-newItemRole .ec-newItemRole__listItem:nth-child(odd) {
    margin-right: 0px;
}

.ec-itemRole__listItem__top__wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

.ec-itemRole__listItem__top__wrapper:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.ec-itemRole__listItem__top {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
}

.product_name {
    font-weight: bold;
}

/* 商品一覧 ココまで*/
.ec-shelfGrid .ec-shelfGrid__item-image {
    height: auto;
}

/* 商品一覧ページのサムネ中央寄せ ココまで*/

.ec-bannerRole {
    padding-top: 40px;
    padding-bottom: 40px;
    background-color: #ffebeb;
}

.ec-bannerRole .ec-bannerRole__listItem {
    margin-bottom: 0px;
}

.ec-bannerRole .ec-bannerRole__listItem {
    height: fit-content;
    margin-bottom: 20px;
}

.ec-bannerRole .ec-bannerRole__listItem:last-child {
    margin-bottom: 0px;
}

.ec-bannerRole__listItem .ec-bannerRole__listItemWrap:not(:last-of-type) {
    margin-bottom: 20px;
}

.ec-categoryRoleLarge .ec-role {
    margin-bottom: 0px;
}

.ec-categoryRoleLarge .ec-categoryRole__listItem:not(:last-of-type) {
    margin-bottom: 20px;
}

.ec-secHeading__ja,
.ec-secHeading .ec-secHeading__ja {
    font-size: 18px;
    letter-spacing: .2em;
}

.ec-shelfGrid__item .ec-select select {
    width: 100%;
}

/*ガイド*/
.ec-guideRole img {
    width: auto;
}

.ec-guideRole .content h2 {
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 16px;
}

.ec-guideRole .content h3 {
    font-size: 15px;
    font-weight: bold;
}

.ec-guideRole .content {
    font-size: 14px;
    margin-bottom: 36px;
}

.ec-guideRole .content:last-of-type {
    margin-bottom: 0px;
}

.ec-guideRole_l .content ol {
    padding-left: 0;
}

#page_help_guide .ec-role {
    margin-bottom: 0;
}

/*商品詳細*/
.ec-blockBtn--action {
    background-color: #996E5C;
    border-color: #996E5C;
}

/*.ec-blockBtn--action:hover {*/
/*    background-color: #ebbc6e;*/
/*    border-color: #ebbc6e;*/
/*}*/
.ec-registerRole,
.ec-layoutRole__contents {
    margin-bottom: 30px;
}

/* フッター用 */
.ec-footerRole {
    margin-top: 0px;
    background-color: #333333;
    border-top: none;
    padding-top: 20px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-top: 1px solid #ddd;
}

.ec-footerTitle {
    padding: 10px 0;
}

.ec-footerRole dl {
    margin-bottom: 0px;
}

.ec-footerRole .ec-footerNavi,
.ec-footerRole .ec-footerNavi a {
    color: #fff;
}

.ec-footerRole dt {
    font-size: 18px;
    color: #D4B567;
    margin-bottom: 10px;
}

.ec-footerRole__inner {
    display: flex;
    flex-direction: column;
    max-width: 1150px !important;
    padding: 0 20px;
}

.ec-footerRole .ec-footerRole__inner .ec-footerNavi li {
    border-bottom: dotted 1px #ddd;
    width: 80%;
    margin: 0 auto;
}

.ec-footerNavi .ec-footerNavi__link a {
    border-bottom: #fff solid 1px;
    text-decoration: none;
}

.ec-footerRole .ec-footerRole__inner .info-box {
    text-align: center;
    padding: 20px 0;
}

.ec-footerRole .ec-footerRole__inner .info-box p {
    font-size: 14px;
}

.ec-footerTitle__logo img {
    width: 96px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12px;
    text-align: center;
}

.ec-footerRole__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: left;
}

.ec-footerRole__bottom__wrap {
    width: 100%;
    margin-bottom: 20px;
}

.ec-footerRole__bottom ul {
    padding-left: 0.5em;
    margin-bottom: 0px;
}

.ec-footerRole__bottom li {
    font-size: 14px;
    margin-bottom: 5px;
}

.ec-footerRole ul {
    margin-bottom: 0px;
}

.ec-footerRole__copyright {
    text-align: center;
    padding: 15px 0;
    background-color: #bee199;
    color: #000;
}

.ec-footerRole__bottom .ec-footerRole__bottom__wrap dl dd .info_text {
    font-size: 12px;
}

/* フッター用 */

/* テンプレートブロック用 */
.ec-template-role {
    margin-bottom: 0px;
}

.ec-template {
    display: flex;
    justify-content: center;
}

.ec-template dt {
    padding-bottom: 8px;
}

.ec-template dd {
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
}

.ec-template img {
    width: 335px;
    height: auto;
    border: 1px solid #000;
}

.ec-template .vertical img {
    width: auto;
    height: 335px;
}

/* テンプレートブロック用 ココまで */

/* スマホのメニュー */
.ec-drawerRole,
.ec-drawerRole .ec-headerLinkArea {
    background: #F8F8F8;
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
    color: #000;
}

/* レジお問い合わせの赤文字 */
.ec-orderConfirm .attention {
    color: red;
    font-weight: bold;
}

/* カテゴリイメージ */
.categoryImgArea {
    height: auto;
    background-image: none;
}

.categoryImgArea .page_title {
    font-size: 18px;
}

/* 検索のカテゴリ消す */
.ec-headerSearch .ec-headerSearch__category,
.ec-headerSearch__category {
    display: none;
}

.ec-headerSearch .ec-headerSearch__keyword {
    width: 100%;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

/* 検索のカテゴリ消す ココまで */

/* スマホメニュー出た時にボタン類をその奥へ */
.have_curtain .ec-cartNavi,
.have_curtain .fixedTag-right,
.have_curtain .ec-blockTopBtn.pagetop {
    z-index: 1;
}

.have_curtain .ec-overlayRole {
    z-index: 10;
}

/*商品購入遷移の注文確認ページ*/
.ec-paymentPeriod .ec-rectHeading p a,
.ec-paymentCancel .ec-rectHeading p a {
    color: #00f;
}

.ec-cartNavi {
    width: 40px;
    height: 40px;
    font-size: 18px;
    text-align: center;
    color: black;
    background: #CCCCCC;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1001;
}

/* スマホメニュー出た時にボタン類をその奥へ ココまで*/
@media only screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .ec-cartNavi {
        display: block;
        cursor: pointer;
        border-radius: 50%;
        box-sizing: border-box;
        padding: 10px;
        padding-left: 7px;
        width: 40px;
        height: 40px;
        font-size: 18px;
        text-align: center;
        color: black;
        background: white;
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 1001;
    }

    .ec-headerNaviRole__nav,
    .ec-headerNaviRole__nav__text {
        display: none;
    }

    .ec-cartNavi .ec-cartNavi__icon {
        font-size: 16px;
    }

    .ec-cartNaviNull {
        position: fixed;
    }

    .ec-sliderRole img {
        width: 100%;
        object-fit: cover;
    }

    .ec-shelfGrid__item .ec-select select {
        font-size: 12px;
    }
}

@media only screen and (max-width: 600px) {

    /*ヘッダータイトル*/
    .ec-headerTitle .ec-headerTitle__title a {
        font-size: 16px;
    }

    .ec-headerTitle .ec-headerTitle__title h1:after {
        width: 60px;
    }
}

@media only screen and (max-width: 500px) {

    /*ヘッダータイトル*/
    .ec-headerTitle .ec-headerTitle__title a {
        font-size: 15px;
    }

    .ec-headerTitle .ec-headerTitle__title h1:after {
        width: 50px;
    }
}

@media only screen and (max-width: 400px) {

    /*ヘッダータイトル*/
    .ec-headerTitle .ec-headerTitle__title a {
        font-size: 4vw;
    }
}

@media only screen and (min-width: 768px) {

    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    /* ヘッダーのリンクの文字消す */
    .ec-headerNaviRole__nav .ec-headerNav .ec-headerNav__itemLink {
        display: none;
    }

    .ec-layoutRole__header {
        margin-bottom: 40px;
        height: 100px;
    }

    .ec-headerNaviRole__nav__info {
        width: 50%;
    }

    .ec-headerNav .ec-headerNav__itemIcon {
        margin-left: 0px;
        margin-right: 11px;
    }

    .ec-categoryRole__listItem:not(:last-of-type) {
        margin-right: 0px;
    }

    .ec-headerTitle {
        width: 100%;
        display: flex;
        justify-content: left;
        align-items: center;
    }

    .ec-headerTitle__info {
        font-size: 14px;
        text-align: right;
        padding-left: 16px;
        padding-right: 16px;
        margin-bottom: 0px;
    }

    .ec-headerTitle .ec-headerTitle__title {
        padding: 0;
    }

    .ec-headerNaviRole__nav__text {
        display: flex;
        justify-content: space-between;
        padding-left: 0px;
        margin-bottom: 0px;
        font-size: 16px;
        font-weight: 700;
    }

    .ec-headerNaviRole__right__bottom {
        display: flex;
        justify-content: space-between;
        width: 95%;
        margin-left: auto;
    }

    .ec-headerNav__item {
        line-height: 1;
    }

    .pagetop {
        bottom: 54px;
        right: 54px;
    }

    .LogoAndNavi {
        min-height: 100px;
        max-width: 1400px;
        padding-top: 16px;
    }

    .ec-headerTitle .ec-headerTitle__title a {
        font-size: 22px;
    }

    .ec-headerNaviRole {
        max-width: inherit;
        margin: 0px;
        padding-left: 0px;
        padding-right: 0px;
    }

    .ec-headerNaviRoleInner {
        width: 100%;
        max-width: 1152px;
        margin-right: auto;
        margin-left: auto;
    }

    .ec-headerNaviRole__right {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .ec-layoutRole__mainBottom {
        margin: 0px auto;
    }

    .ec-role {
        width: 100%;
        max-width: inherit;
    }

    /* banner */
    .ec-role.ec-bannerRole .inner {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .ec-bannerRole__list {
        width: 100%;
        max-width: 1200px;
        display: flex;
        justify-content: space-around;
    }

    .ec-bannerRole__listItem {
        width: 30%;
    }

    .ec-bannerRole__list .ec-bannerRole__listItem {
        margin-bottom: 0px;
    }

    /* banner ココまで*/
    .ec-role .ec-itemRole img {
        margin-bottom: 10px;
    }

    .ec-role .ec-itemRole img:hover {
        opacity: 0.7;
    }

    .ec-layoutRole .ec-layoutRole__contents {
        max-width: inherit;
        min-height: 600px;
    }

    /* オススメ */
    .ec-shelfGrid {
        margin-left: 0px;
        margin-right: 0px;
    }

    .ec-shelfRole {
        padding-left: 0px;
        padding-right: 0px;
    }

    .ec-itemRole,
    .ec-categoryRole,
    .ec-pickUpItemRole,
    .ec-newItemRole,
    .ec-guideRole,
    .mypage .ec-layoutRole__contents {
        max-width: 1152px;
        margin-right: auto;
        margin-left: auto;
    }

    .ec-secHeading__en .ec-shelfGrid__item,
    .ec-itemRole .ec-itemRole__listItem,
    .ec-pickUpItemRole__listItem,
    .ec-newItemRole__listItem,
    .ec-newItemRole .ec-newItemRole__listItem {
        width: 25%;
        margin-bottom: 24px;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    .ec-newItemRole .ec-newItemRole__listItem:not(:last-of-type) {
        margin-right: 0px;
    }

    /*新着情報*/
    .ec-newsRole .ec-newsRole__news {
        border: none;
    }

    .ec-secHeading .ec-secHeading__en {
        font-size: 20px;
    }

    .ec-secHeading__ja,
    .ec-secHeading .ec-secHeading__ja {
        font-size: 20px;
    }

    /* 商品一覧 */
    .ec-itemRole .ec-itemRole__list {
        display: flex;
        flex-wrap: wrap;
        max-width: 1152px;
        margin-left: auto;
        margin-right: auto;
    }

    /* カテゴリ一覧 */
    .ec-categoryRole .ec-categoryRole__listItemInner {
        margin-bottom: 0px;
    }

    .ec-categoryRole .ec-categoryRole__listItem {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .ec-categoryRole .ec-categoryRole__listItemWrap {
        box-sizing: border-box;
        width: 33.33%;
    }

    .ec-categoryRoleLarge .ec-categoryRole__list {
        flex-wrap: wrap;
        margin-right: 0px;
    }

    .ec-categoryRoleLarge .ec-categoryRole__listItem:not(:last-of-type) {
        margin-right: 0px;
        margin-bottom: 40px;
    }

    /* ピックアップ */
    .ec-pickUpItemRole {
        display: block;
    }

    /* ガイド */
    .ec-guideRole_l {
        width: 48%;
        margin-right: 4%;
    }

    .ec-guideRole_r {
        width: 48%;
    }

    .ec-guideRole {
        max-width: 1008px;
        display: flex;
        justify-content: space-between;
    }

    /* フッター */
    .ec-footerRole {
        padding-top: 40px;
        padding-bottom: 20px;
    }

    .ec-footerRole dt {
        margin-bottom: 20px;
    }

    .ec-footerTitle__logo {
        max-width: 96px;
        margin-left: auto;
        margin-right: auto;
    }

    .ec-footerRole__top .logo img {
        margin-bottom: 6px;
    }

    .ec-footerRole__bottom__wrap {
        width: 33%;
        margin-bottom: 36px;
        display: flex;
        justify-content: center;
    }

    .ec-footerRole__bottom {
        text-align: left;
    }

    .ec-layoutRole__footer .ec-footerRole .ec-footerRole__inner .ec-footerNavi {
        padding: 30px 0;
    }

    .ec-footerRole .ec-footerRole__inner .ec-footerNavi li {
        border-right: 1px solid #ddd;
        border-bottom: none;
        width: initial;
    }

    .ec-footerRole .ec-footerRole__inner .ec-footerNavi li:last-child {
        border-right: none;
    }

    .ec-footerNavi .ec-footerNavi__link a {
        border-bottom: none;
    }

    /* テンプレートブロック用 */
    .ec-layoutRole__main .ec-role {
        max-width: 1150px;
    }

    .ec-layoutRole__main .ec-template-role {
        max-width: 1008px;
        padding-left: 0px;
        padding-right: 0px;
    }

    .ec-template dl {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    /* テンプレートブロック用 ココまで */

    /* 商品詳細ページのボタン調整 */
    .ec-productRole .ec-productRole__btn {
        width: 100%;
    }

    /* 商品詳細ページのボタン調整 ココまで */

    /*
ショッピングカート 合計欄とその下のボタン
2行2列
行 高さ 100px
列 幅 50%(とその残り)
*/
    #page_cart .ec-cartRole__actions {
        width: 80%;
        display: grid;
        grid-template-rows: 100px;
        grid-template-columns: 50% 1fr;
    }

    /*
合計表示
行 1行目
列 左から右まで全部
*/
    #page_cart .ec-cartRole__actions .ec-cartRole__total {
        grid-row: 1;
        grid-column: 1/3;
    }

    /* お買い物を続ける、レジに進む */
    #page_cart .ec-cartRole__actions a {
        width: 210px;
    }

    /* お買い物を続ける */
    #page_cart .ec-cartRole__actions .ec-blockBtn--cancel {
        order: 1;
    }

    /* レジに進む */
    #page_cart .ec-cartRole__actions .ec-blockBtn--action {
        order: 2;
        /* ｢レジに進む｣は右に寄せる */
        justify-self: end;
    }

    /* //ショッピングカート */

    /* カートだけfixにした時の調整 */
    .ec-headerRole__cart {
        position: fixed;
        top: 10px;
        right: 10px;
        z-index: 100;
    }

    .ec-headerNaviRole__right__bottom {
        height: 100%;
        display: flex;
        align-items: center;
    }

    .ec-headerNav {
        width: 120px;
        height: 35px;
    }

    /* カートだけfixにした時の調整 ココまで*/

    /*カテゴリページのタイトル*/
    .categoryImgArea .page_title {
        font-size: 30px;
    }

    /*トグルをpcから固定*/
    .ec-headerRole__title.ec-headerRole__title {
        width: 100%;
        padding-top: 8px;
    }

    .ec-headerTitle {
        justify-content: center;
    }

    .ec-headerRole .ec-headerRole__navSP {
        display: block;
    }

    .ec-headerNavSP {
        display: block;
        background: none;
        color: #fff;
    }

    .ec-drawerRoleClose.is_active {
        display: block;
    }

    .ec-drawerRole.is_active {
        display: block;
    }

    .ec-itemNav__nav li {
        width: 100%;
    }

    .ec-itemNav__nav li a {
        text-align: left;
    }

    /*トグルをpcから固定ここまで*/

    /*トグルクリックの際の横幅調整*/
    .ec-drawerRole {
        width: 400px;
        transform: translateX(-440px);
    }

    .ec-drawerRoleClose {
        left: 410px;
    }

    .ec-itemNav .ec-itemNav__nav {
        width: 100%;
    }

    /*トグルクリックの際の横幅調整ここまで*/
    /*トグル出たときの背景*/
    .have_curtain .ec-overlayRole {
        display: block;
    }

    /*小カテゴリが下にでるように*/
    .ec-itemNav__nav li ul {
        position: static;
    }

    /*孫カテゴリがきれいにでるように*/
    .ec-itemNav__nav li {
        float: none;
    }
}

/* tosho */
.ec-headerNaviRole__nav__info .ec-headerNaviRole__left{
    display: none;
}

.ec-layoutRole .ec-layoutRole__left,
.ec-layoutRole .ec-layoutRole__right {
    width: 224px;
    padding: 16px;
}

.ec-itemNav__nav>li>ul>li {
    overflow: visible;
    height: auto;
}

.ec-itemNav__nav li ul li a,
.ec-itemNav__nav>li:hover li:hover>a {
    color: #2e3233;
    background: transparent;
}

.ec-itemNav__nav li ul {
    margin-left: 16px;
    min-width: auto;
}

.ec-headerCategoryArea__heading {
    display: none;
}

.ec-headerLink__list .ec-headerLink__item {
    display: flex;
}
.ec-cartNavi{
    width: auto;
}
.ec-headerLink__item{
    margin: 0 8px;
}

/* // tosho */