/* font */
.txt_l { text-align: left; }
.txt_c { text-align: center; }
.txt_r { text-align: right; }
.txt_fwn { font-weight: normal; }
.txt_fwb { font-weight: bold; }
.txt_10 { font-size: 10px; }
.txt_12 { font-size: 12px; }
.txt_14 { font-size: 14px; }
.txt_16 { font-size: 16px; }
.txt_18 { font-size: 18px; }
.txt_20 { font-size: 20px; }
.txt_24 { font-size: 24px; }
.txt_28 { font-size: 28px; }
.txt_c_333 {color: #333;}

/* background */
.bgc_gray {
    background-color: #f1f1f1;
}

/* margin */
.mar_auto { margin: 0 auto; }
.mar_0 { margin: 0; }
.mar_t_0 { margin-top: 0; }
.mar_r_0 { margin-right: 0; }
.mar_b_0 { margin-bottom: 0; }
.mar_l_0 { margin-left: 0; }
.mar_5 { margin: 5px; }
.mar_t_5 { margin-top: 5px; }
.mar_r_5 { margin-right: 5px; }
.mar_b_5 { margin-bottom: 5px; }
.mar_l_5 { margin-left: 5px; }
.mar_t_10 { margin-top: 10px; }
.mar_r_10 { margin-right: 10px; }
.mar_b_10 { margin-bottom: 10px; }
.mar_l_10 { margin-left: 10px; }
.mar_t_20 { margin-top: 20px; }
.mar_r_20 { margin-right: 20px; }
.mar_b_20 { margin-bottom: 20px; }
.mar_l_20 { margin-left: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_r_30 { margin-right: 30px; }
.mar_b_30 { margin-bottom: 30px; }
.mar_l_30 { margin-left: 30px; }
.mar_t_50 { margin-top: 50px; }
.mar_r_50 { margin-right: 50px; }
.mar_b_50 { margin-bottom: 50px; }
.mar_l_50 { margin-left: 50px; }

/* padding */
.pad_v_10 { padding: 10px 0; }
.pad_v_20 { padding: 20px 0; }
.pad_v_30 { padding: 30px 0; }
.pad_0 { padding: 0; }
.pad_t_0 { padding-top: 0; }
.pad_r_0 { padding-right: 0; }
.pad_b_0 { padding-bottom: 0; }
.pad_l_0 { padding-left: 0; }
.pad_5 { padding: 5px; }
.pad_t_5 { padding-top: 5px; }
.pad_r_5 { padding-right: 5px; }
.pad_b_5 { padding-bottom: 5px; }
.pad_l_5 { padding-left: 5px; }
.pad_10 { padding: 10px; }
.pad_t_10 { padding-top: 10px; }
.pad_r_10 { padding-right: 10px; }
.pad_b_10 { padding-bottom: 10px; }
.pad_l_10 { padding-left: 10px; }
.pad_20 { padding: 20px; }
.pad_t_20 { padding-top: 20px; }
.pad_r_20 { padding-right: 20px; }
.pad_b_20 { padding-bottom: 20px; }
.pad_l_20 { padding-left: 20px; }
.pad_30 { padding: 30px}
.pad_t_30 { padding-top: 30px; }
.pad_r_30 { padding-right: 30px; }
.pad_b_30 { padding-bottom: 30px; }
.pad_l_30 { padding-left: 30px; }

/* border */
.bor_t_1 { border-top: 1px solid #eee; }
.bor_r_1 { border-right: 1px solid #eee; }
.bor_b_1 { border-bottom: 1px solid #eee; }
.bor_l_1 { border-left: 1px solid #eee; }

/* vertical align */
.va-10 { vertical-align: -10%; }
.va-20 { vertical-align: -20%; }
.va-30 { vertical-align: -30%; }
.va-35 { vertical-align: -35%; }
.va-40 { vertical-align: -40%; }

@media (max-width: 980px) {
    /* ~980px */
    #base_gmoWrapp,
    #gmo_CMSPbar {
        overflow: hidden;
        min-width: 100% !important;
        width: 100% !important;
    }
}
@media (max-width: 768px) {
    /* ~768px */
    #contents {
        padding-left: 0;
    }
}
@media (max-width: 480px) {
    /* ~480px */
}

/*
 * icons
 */
.icon-user { background-position: -208px 0px; }
.icon-lg-b.icon-user { background-position: -312px 0px; }
.icon-adduser { background-position: -240px 0px; }
.icon-lg-b.icon-adduser { background-position: -360px 0px; }
.icon-login { background-position: -48px -80px; }
.icon-lg-b.icon-login { background-position: -72px -120px; }
.icon-logout { background-position: -32px -80px; }
.icon-lg-b.icon-logout { background-position: -48px -120px; }
.icon-home { background-position: -176px -16px; }
.icon-lg-b.icon-home { background-position: -264px -24px; }
.icon-mail { background-position: -64px 0px; }
.icon-lg-b.icon-mail { background-position: -96px 0px; }
.icon-pencil { background-position: -96px 0px; }
.icon-lg-b.icon-pencil { background-position: -144px 0px; }
.icon-help { background-position: -272px -80px; }
.icon-lg-b.icon-help { background-position: -408px -120px; }
.icon-cart { background-position: -176px -64px; }
.icon-lg-b.icon-cart { background-position: -264px -96px; }
.icon-search { background-position: -208px -16px; }
.icon-lg-b.icon-search { background-position: -312px -24px; }
.icon-chevron_up { background-position: -0px -144px; }
.icon-lg-b.icon-chevron_up { background-position: -0px -216px; }
.icon-chevron_down { background-position: -352px -128px; }
.icon-lg-b.icon-chevron_down { background-position: -528px -192px; }

.icon-b,
.icon-w {
    width: 16px;
    height: 16px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
.icon-lg-b,
.icon-lg-w {
    width: 24px;
    height: 24px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
}

.icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_b.png); }
.icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_w.png); }
.icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
.icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
    .icon-b,
    .icon-w {
        -webkit-background-size: 368px 320px;
        background-size: 368px 320px;
    }

    .icon-lg-b,
    .icon-lg-w {
        -webkit-background-size: 552px 480px;
        background-size: 552px 480px;
    }

    .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_b.png); }
    .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon16_2x_w.png); }
    .icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
    .icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}
@media (max-width: 768px) {
    .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_b.png); }
    .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_w.png); }
}
@media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min--moz-device-pixel-ratio: 2), only screen and (max-width: 768px) and (-o-min-device-pixel-ratio: 2 / 1), only screen and (max-width: 768px) and (min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min-resolution: 192dpi), only screen and (max-width: 768px) and (min-resolution: 2dppx) {
    .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_b.png); }
    .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/73/icon24_2x_w.png); }
}


#contents {
    overflow: visible;
    position: relative;
}
#header .p-shop-products__categories,
#contents .p-shop-products__categories {
    position: absolute;
    margin-bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: .5s;
}
#header .p-shop-products__categories {
    top: 89px;
}
#header .p-shop-products__categories:after,
#contents .p-shop-products__categories:after {
    display: none;
}
#header .p-shop-products__categories.is-show,
#contents .p-shop-products__categories.is-show {
    opacity: 1;
    pointer-events: auto;
}
#header.header--clone .p-shop-products__categories {
    pointer-events: none;
}
#header.header--clone.is-sticky .p-shop-products__categories.is-show {
    pointer-events: auto;
}
.category-opener {
    position: relative;
}
.category-opener::after {
    display: block;
    content: '';
    opacity: 0;
    position: absolute;
    left: 50%;
    bottom: -1.5em;
    border: .8em solid transparent;
    border-left-width: .75em;
    border-right-width: .75em;
    border-top: none;
    border-bottom-color: #fac200;
    transform: translateY(50%) translateX(-50%);
    transition: .5s;
}
.category-opener.is-show::after {
    opacity: 1;
    transform: translateX(-50%);
}

#footer {
    background: #f1f1f1;
}
.md-footer {
    display: flex;
    justify-content: space-between;
    padding: 50px 0;
}
.md-footer__logo {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.md-footer__logo img {
    width: 200px;
}
.md-footer__sns {
    display: flex;
    align-items: center;
}
.md-footer__sns a {
    display: block;
    width: 27px;
}
.md-footer__sns a + a {
    margin-left: 1.5em;
}
.md-footer__navi {
    display: flex;
}
.md-footer__navi ul + ul {
    margin-left: 2em;
}

.p-shop-products__list {
    padding-top: 4em;
}

.c-section-title {
    text-align: center;
    margin-bottom: 2em;
    font-size: 1.4em;
    padding-top: 3em;
}
.p-shop-products__wrapper .c-section-title {
    padding-top: 1.5em;
    border-top: 2px solid #1a1a1a;
}

#contents .global-navi {
    z-index: 1000;
}

.pg-list {
    padding-top: 100px;
}

ul.inline > li, ol.inline > li {
    padding-left: 0;
}

.el-cart-btn {
    display: none;
}

#contents .p-staff-list__name,
#contents .p-staff-detail__en-name {
    line-height: 1.2;
}

.header__cart {
    position: absolute;
    top: -1.35em;
    right: 0;
    display: flex;
    align-items: center;
}
.c-search-form {
    display: flex;
    align-items: center;
}
.c-search-form input {
    height: 1.5em;
    padding: .25em;
    font-size: 16px;
    line-height: 1.5;
    border-width: 1px;
    border-radius: 0;
    width: 8em;
}
.c-search-form button {
    appearance: none;
    background: none !important;
    border: none;
    margin-right: 1em;
    transform: scale(1.1);
    margin-left: .25em;
}
.header__cart a {
    text-decoration: none;
    display: flex;
    align-items: center;
}
.header__cart-num {
    position: relative;
    color: #ff4500;
    font-weight: bold;
    top: .1em;
}

.p-shop__header .header__navi {
    position: relative;
    width: auto;
    margin-right: 0;
    font-size: 1rem;
    top: 1.35em;
}
.p-shop__header .header__navi a {
    text-decoration: none;
    margin-left: 1.5em;
}

.header--clone.header__cart {
    pointer-events: none;
}
.header--clone.header__cart.is-sticky {
    pointer-events: auto;
}


@media screen and (max-width: 768px) {
    #contents .p-shop-products__categories.is-show {
        position: relative;
    }
    .header__cart {
        display: none;
    }
    .md-footer {
        flex-direction: column;
    }
    .md-footer__logo {
        align-items: center;
    }
    .md-footer__sns {
        margin: 10vw 0 20vw;
    }

    .p-top__hero svg path {
        fill: white;
    }
    .p-top__hero:after {
        display: none !important;
    }
    .p-shop__hero, .p-shop__hero .p-home__hero-bg, .p-shop__hero .p-home__hero-bg div {
        height: 40vh !important;
    }
    .pg-list {
        padding-top: 0;
    }

    .c-news {
        width: 46% !important;
    }

    .el-cart-btn {
        display: block;
        position: fixed;
        right: 48px;
        top: 0;
        z-index: 1001;
    }
    .el-cart-btn a {
        display: inline-flex;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
    }

    .c-section-title--result {
        font-size: 3.5vw;
    }
    .txt_18 {
        font-size: 4vw;
    }
    .txt_20 {
        font-size: 5vw;
    }

    .global-navi__list a {
        color: #1a1a1a !important;
    }
}
