/* 
 * MEMO: IE対応（.isIE9, .no-flexbox, -ms-prefix, filter:alpha）を削除しました。
 * モダンブラウザ向けの標準プロパティのみを残しています。
 */

#wrapper,
body,
html {
    height: 100%
}

#gmenu-inner,
#header,
html {
    min-width: 980px
}

#footer-area .footer-nav .box-info,
#footer-area .footer-nav .box-nav,
#gmenu-inner .util-nav li {
    float: left
}

html {
    overflow-x: hidden
}

#wrapper {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5
}

#container {
    position: relative
}

#header {
    width: 100%;
    border-bottom: 1px solid #dfdfdf;
    padding: 0 10px
}

#lineup-font-size-sampler {
    z-index: -1;
    top: 0;
    left: 0
}

#header .header-banner {
    margin: 0 -10px
}

#header .header-banner img {
    width: 100%;
    height: auto
}

#header.simple {
    border-top: 0;
    border-bottom: 5px solid #f4f4f4;
    padding: 0
}

#header.simple .header-wrap {
    border-bottom: 3px solid #c83250;
    padding: 0 10px
}

#gmenu-wrap .balloon,
#header-area .balloon {
    position: relative;
    display: inline-block;
    padding: 10px 10px 5px;
    width: 100%;
    background: #efefef;
    border: 1px solid #d9d9d9;
    text-align: center;
    z-index: 0
}

#gmenu-wrap .balloon:after,
#gmenu-wrap .balloon:before,
#header-area .balloon:after,
#header-area .balloon:before {
    position: absolute;
    left: 50%;
    margin-left: -10px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 10px;
    content: ""
}

#header-area .lead,
.head-lead {
    text-align: right;
    line-height: 1.3
}

#gmenu-wrap .balloon:before,
#header-area .balloon:before {
    top: -10px;
    border-color: transparent transparent #efefef;
    z-index: 0
}

#gmenu-wrap .balloon:after,
#header-area .balloon:after {
    top: -11px;
    border-color: transparent transparent #d9d9d9;
    z-index: -1
}

.head-lead {
    position: static;
    font-size: 11px;
    font-size: 1.1rem;
    width: 100%;
    height: 0;
    padding: 0;
    display: block
}

.head-lead h1 {
    max-width: 100pc;
    margin: 0 auto
}

.head-lead.simple {
    border-top: 0;
    padding-top: 5px;
    margin-bottom: -30px;
    display: none
}

#header-area {
    position: relative;
    width: 100%;
    max-width: 100pc;
    height: 120px;
    margin: 0 auto;
    margin-top: 3px
}

.shopMode #header-area {
    height: 140px !important;
}

#header-area #nav-toggle {
    display: none
}

#header-area .logo {
    position: absolute;
    left: 0;
    top: 15px;
    width: 140px;
    z-index: 3;
    z-index: 9
}

.shopMode #header-area .logo {
    width: 140px;
    top: 40px !important
}

.simple #header-area .logo {
    top: 20px
}

.shopMode .simple #header-area .logo {
    top: 2pc
}

#header-area .lead {
    position: absolute;
    left: 0;
    top: 10px;
    width: 100%;
    font-size: 11px;
    font-size: 1.1rem
}

#header-area .utility-members {
    border-right: 1px solid #dedede;
    position: absolute;
    right: 10pc;
    top: 30px;
    width: 8.375%;
    padding: 2px 0 0;
    text-align: center;
    z-index: 9
}

.shopMode #header-area .utility-members {
    top: 43px;
    width: 8.2%
}

#header-area .utility-members a {
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2
}

#header-area .utility-members a:before {
    content: "";
    background-image: url(/gs_front/image/cmn/ui_sprite.png);
    background-repeat: no-repeat;
    background-position: -131px 0;
    display: inline-block;
    width: 1pc;
    height: 20px;
    vertical-align: middle;
    margin-right: 6px;
    margin-top: -4px
}

.shopMode .login #header-area .utility-members {
    width: 9.2%
}

.login #header-area .utility-members a {
    padding: 20px 0;
    margin: -20px 0
}

.login #header-area .utility-members a:before {
    background-position: -66px 0;
    width: 22px
}

.login #header-area .utility-members .mypage-box a {
    padding: 0;
    margin: 0
}

#header-area .mypage-box {
    display: none;
    position: absolute;
    top: 38px;
    right: -10%;
    width: 220px
}

#header-area .mypage-box .shopMode {
    top: -87pt
}

#header-area .mypage-box .btn-mypage {
    margin: false !important
}

#header-area .mypage-box .btn-mypage a {
    display: block;
    background: #fff;
    padding: false !important;
    border-radius: 5px;
    /* MEMO: ベンダープレフィックス（-webkit-box-shadow等）と古いやつを整理 */
    box-shadow: hsla(0, 0, 39%, .65098) 0 0 6px 0;
    position: relative;
    text-decoration: none
}

#header-area .mypage-box .btn-mypage a:before {
    display: none
}

#header-area .mypage-box .btn-mypage a:after {
    content: "";
    background: url(/gs_front/image/cmn/ui_sprite.png)-8pc -24px no-repeat;
    display: inline-block;
    width: 6px;
    height: 9px;
    margin-top: -4px;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 15px
}

#header-area .mypage-box .btn-logout {
    display: inline-block;
    margin-top: 9pt !important
}

#header-area .mypage-box .btn-logout a {
    display: inline-block
}

#header-area .mypage-box .btn-logout a:before {
    background-position: -8pc -35px !important;
    display: inline-block;
    width: 6px;
    height: 9px;
    margin-top: -1px;
    margin-right: 4px
}

#header-area .mypage-box .btn-close {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 35px;
    height: 25px;
    border-radius: 5px;
    background-color: #999;
    text-indent: -999px;
    overflow: hidden
}

#header-area .mypage-box .btn-close:after {
    content: "";
    display: block;
    vertical-align: top;
    background: url(/gs_front/image/cmn/ui_sprite.png)-8pc -49px no-repeat;
    width: 15px;
    height: 15px;
    margin-top: -15px;
    margin-left: 10px
}

#header-area .shop-info:before,
#header-area .shop-name,
#header-area .shop-tel {
    vertical-align: middle;
    display: inline-block
}

.users-box .cart-inbox {
    position: relative
}

.users-box .cart-inbox a span {
    position: absolute;
    display: block;
    color: #c83150;
    text-align: center;
    z-index: 3;
    font-weight: 700;
    font-size: 14px;
    font-size: 1.6rem;
    top: 0;
    right: 30%;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    line-height: 26px;
    background-color: #fff;
}

.shopMode .users-box .cart-inbox a:before {
    top: 7px
}

.shopMode .users-box .cart-inbox a span {
    padding-bottom: 0
}

#header-area .shop-info {
    position: absolute;
    top: 35px;
    left: 200px;
    vertical-align: middle
}

#header-area .shop-info a.shop-data-btn {
    display: inline-block;
    margin-left: 52px;
    padding: 0 9pt;
    -webkit-transition: background-color .5s linear !important;
    transition: background-color .5s linear !important;
    background-color: #fff;
    font-size: 14px;
    color: #c83150;
    line-height: 2pc;
    border: 1px solid #c83150;
    height: 2pc
}

#header-area .shop-name,
#header-area .shop-name-text span span {
    border-left: 1px solid #356734;
    color: #356734;
    line-height: 1.2;
    font-weight: 700
}

#header-area .shop-info .shop-data-btn:hover {
    background-color: #fce8e8;
    text-decoration: none
}

#header-area .shop-info a.shop-data-btn:after {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-top: 2px solid #c83150;
    border-right: 2px solid #c83150;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 6px
}

/* MEMO: .isIE9 用スタイルを削除 */

#header-area .shop-name {
    padding: 2px 0 0 9pt;
    font-size: 1pc;
    font-size: 1.6rem;
    max-width: 500px
}

#header-area .shop-tel {
    padding-left: 25px
}

#header-area .shop-name-text {
    position: absolute;
    top: 2px;
    left: 200px;
    height: 60px;
    width: 46%;
    display: table
}

#header-area .shop-name-text span,
#header-area .shop-name-text:before {
    display: table-cell;
    vertical-align: middle
}

#header-area .shop-name-text:before {
    content: "";
    width: 1px;
    height: 60px
}

#header-area .shop-name-text span span {
    display: inline-block;
    padding: 2px 0 0 9pt;
    font-size: 1pc;
    font-size: 1.6rem
}

.simple #header-area {
    height: 75pt
}

.simple #header-area .utility-nav {
    letter-spacing: -.4em;
    width: 50%;
    position: absolute;
    right: 0;
    bottom: 18px;
    text-align: right
}

.simple #header-area .utility-nav li {
    display: inline-block;
    letter-spacing: normal
}

.simple #header-area .utility-nav li a:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #222;
    vertical-align: middle;
    margin-top: -2px;
    margin-right: 4px
}

#gmenu-inner {
    width: 100%;
    max-width: 100pc;
    padding: 0 10px;
    margin: 0 auto;
    position: relative
}

#gmenu-inner .members-box {
    position: absolute;
    top: -97px;
    left: 250px;
    line-height: 1.3
}

#gmenu-inner .members-box .members-name {
    font-size: 9pt;
    font-size: 1.2rem;
    padding-right: 10px
}

#gmenu-inner .members-box .members-name a {
    display: inline-block;
    color: #000
}

#gmenu-inner .members-box .members-name a:hover {
    color: #c83250
}

#gmenu-inner .members-box .members-name .regist {
    display: inline-block;
    padding-left: 30px
}

.shopMode #gmenu-inner .members-box {
    top: -90pt;
    left: auto;
    right: 0
}

#gmenu-inner .users-box {
    position: absolute;
    bottom: 71px;
    right: 25px;
    z-index: 999
}

#wrapper.login #gmenu-inner .users-box {
    bottom: 56px;
}

#gmenu-inner .users-box ul {
    display: flex;
    justify-content: space-between;
    align-content: center;
    width: 200px
}

#gmenu-inner .users-box ul li a {
    display: block
}

.shopMode #gmenu-inner .users-box {
    bottom: 57px;
}

#gmenu-inner .users-box li {
    font-size: 9pt;
    font-size: 1.2rem;
    line-height: 1.5
}

#gmenu-inner .users-box>ul>li {
    width: 22%;
}

#gmenu-inner .users-box li.users-name {
    display: inline-block;
    position: relative
}

#gmenu-inner .users-box li.users-name>a {
    font-size: 1rem;
    text-align: center;
}

#gmenu-inner .users-box li.users-name>a>span {
    width: calc(100% + 100px);
    margin: 0 -50px;
    display: block;
}

#gmenu-inner .users-box li.users-name a.is-active {
    color: #c83150;
    text-decoration: underline
}

#gmenu-inner .users-box li.users-name .users-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: 270px;
    margin-top: 26px;
    margin-left: -5pc
}

#gmenu-inner .users-box li.users-name .users-menu .balloon {
    padding: 13px 10px 9pt 15px
}

#gmenu-inner .users-box li.users-name .users-menu .balloon:after,
#gmenu-inner .users-box li.users-name .users-menu .balloon:before {
    left: auto;
    right: 20px
}

#gmenu-inner .users-box li.users-name .users-menuList {
    text-align: left;
    display: block
}

#gmenu-inner .users-box li.users-name .users-menuList.users-menuList--shop {
    margin-top: 9pt;
    padding-top: 14px;
    border-top: solid 1px #b7b6b6
}

#gmenu-inner .users-box li.users-name .users-menuList li {
    margin-top: 15px
}

#gmenu-inner .users-box li.users-name .users-menuList li:first-child {
    margin-top: 0
}

#gmenu-inner .users-box li.users-name .users-menuList a {
    text-decoration: underline
}

#gmenu-inner .users-box li.users-name .users-menuList a.icon-mypage:before {
    padding-left: 3px;
    margin-right: 10px
}

#gmenu-inner .users-box li.users-name .users-menuList a.icon-favorite:before {
    margin-right: 7px
}

#gmenu-inner .users-box li.users-name .users-menuList a.icon-unlock:before {
    padding-left: 3px;
    margin-right: 9px
}

#gmenu-inner .users-box li.users-name .users-shopList {
    margin-top: 10px;
    overflow: hidden;
    text-align: left
}

#gmenu-inner .users-box li.users-name .users-shopList li {
    width: 50%;
    float: left;
    padding-top: 10px;
    padding-right: 10px
}

#gmenu-inner .users-box li.users-name .users-shopList li:first-child {
    width: 100%
}

#gmenu-inner .users-box li.users-name .users-shopList li a {
    color: #000 !important;
    display: inline-block;
    white-space: normal;
    position: relative;
    padding-left: 9pt;
    padding-right: 4px;
    line-height: 1.5;
    vertical-align: top;
    font-size: 14px;
    font-size: 1.4rem
}

#gmenu-inner .users-box li.users-name .users-shopList li a:before {
    position: absolute;
    top: 8px;
    left: 0;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 5px;
    height: 5px;
    margin-top: -3px;
    margin-left: -3px;
    border-top: 2px solid #c83250;
    border-right: 2px solid #c83250;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

#gmenu-inner .users-box li.users-name a .users-point {
    margin-left: 9px;
    text-decoration: none
}

#gmenu-inner .util-nav {
    position: absolute;
    bottom: 71px;
    left: 600px
}

.shopMode #gmenu-inner .util-nav {
    left: 533px;
    bottom: 60px;
}

#gmenu-inner .util-nav ul {
    overflow: hidden
}

#gmenu-inner .util-nav li a {
    display: block;
    text-align: center;
    text-decoration: none
}

#gmenu-inner .util-nav li.util-catalog {
    font-size: 9pt;
    font-size: 1.2rem
}

#gmenu-inner .util-nav li.util-catalog a {
    -webkit-transition: background-color .5s linear !important;
    transition: background-color .5s linear !important;
    background-color: #fff;
    font-size: 9pt;
    font-size: 1.2rem;
    color: #c83150;
    line-height: 30px;
    border: 1px solid #c83150;
    width: 201px;
    height: 34px;
    border-radius: 6px;
}

#gmenu-inner .util-nav li.util-catalog a:hover {
    background-color: #fce8e8
}

#gmenu-inner .util-nav li.util-shop {
    margin-top: 2px;
    margin-left: 19px;
    font-size: 14px;
    font-size: 1.4rem
}

#gmenu-inner .util-nav li.util-shop a {
    -webkit-transition: opacity .5s linear !important;
    transition: opacity .5s linear !important;
    background-color: #c83150;
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
    line-height: 31px;
    width: 123px;
    height: 31px
}

#gmenu-inner .util-nav li.util-shop a:hover {
    opacity: .7
}

#gmenu-inner .utility-nav {
    position: absolute;
    top: -78pt;
    left: 47.5%;
    width: 33.375%;
    vertical-align: top;
    z-index: 8
}

.shopMode #gmenu-inner .utility-nav {
    top: -90px
}

#gmenu-inner .utility-nav ul {
    display: table;
    table-layout: fixed;
    width: 100%;
    word-spacing: -1em
}

#gmenu-inner .utility-nav ul li {
    display: table-cell;
    word-spacing: normal;
    border-left: 1px solid #dedede;
    padding: 2px 0 0;
    text-align: center;
    vertical-align: middle
}

#gmenu-inner .utility-nav ul li:last-child {
    border-right: 1px solid #dedede
}

#gmenu-inner .utility-nav ul li a {
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2
}

#gmenu-inner .utility-nav ul li a:before {
    content: "";
    background-image: url(/gs_front/image/cmn/ui_sprite.png);
    background-repeat: no-repeat;
    display: inline-block;
    width: 22px;
    height: 20px;
    vertical-align: middle;
    margin-right: 6px;
    margin-top: -4px
}

#gmenu-inner .utility-nav ul li.u-tp {
    padding: 0
}

#gmenu-inner .utility-nav ul li.u-tp img {
    margin-top: -2px
}

#gmenu-inner .utility-nav ul li.u-tp a {
    width: 113px;
    text-align: center
}

#gmenu-inner .utility-nav ul li.u-tp a:before {
    display: none
}

#gmenu-inner .utility-nav ul li.u-shop {
    position: relative
}

#gmenu-inner .utility-nav ul li.u-shop a:before {
    background-position: 0 0;
    margin-top: -5px
}

#gmenu-inner .utility-nav ul li.u-favorite a:before {
    background-position: -22px 0
}

#gmenu-inner .utility-nav ul li.u-guide a:before {
    background-position: -44px 0
}

#gmenu-inner .utility-nav .myshop-box {
    display: none;
    position: absolute;
    top: 35px;
    left: 50%;
    width: 220px;
    margin-left: -110px
}

#gmenu-inner .utility-nav .myshop-box .shopMode {
    top: -87pt
}

#gmenu-inner .utility-nav .myshop-box .btn-myshop {
    margin: false !important
}

#gmenu-inner .utility-nav .myshop-box .btn-myshop a {
    display: block;
    background: #fff;
    padding: false !important;
    border-radius: 5px;
    box-shadow: hsla(0, 0, 39%, .65098) 0 0 6px 0;
    position: relative;
    text-decoration: none
}

#gmenu-inner .utility-nav .myshop-box .btn-myshop a:before {
    display: none
}

#gmenu-inner .utility-nav .myshop-box .btn-myshop a:after {
    content: "";
    background: url(/gs_front/image/cmn/ui_sprite.png)-8pc -24px no-repeat;
    display: inline-block;
    width: 6px;
    height: 9px;
    margin-top: -4px;
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 15px
}

#gmenu-inner .utility-nav .myshop-box .myshop-list {
    text-align: left;
    padding: 5px
}

#gmenu-inner .utility-nav .myshop-box .myshop-list li {
    display: block;
    text-align: left;
    padding: 0;
    margin: 8px 0 0;
    border: 0
}

#gmenu-inner .utility-nav .myshop-box .myshop-list li a {
    display: block;
    position: relative;
    padding-left: 9pt
}

#gmenu-inner .utility-nav .myshop-box .myshop-list li a:before {
    position: absolute;
    top: 4px;
    left: 0;
    background-position: -8pc -24px;
    display: inline-block;
    width: 6px;
    height: 9px;
    margin-top: -1px;
    margin-right: 4px
}

#gmenu-inner .utility-catalog {
    position: absolute;
    right: 10px;
    top: -101px;
    padding: 0;
    text-align: right;
    width: 10pc;
    z-index: 4;
    font-size: 9pt;
    font-size: 1.2rem
}

.shopMode #gmenu-inner .utility-catalog {
    top: -86px;
    right: 0
}

#gmenu-inner .utility-catalog a {
    background: #f3f3f3;
    border: 1px solid #c2c2c2;
    text-decoration: none !important;
    padding: 8px 10px 6px;
    margin: -5px 0 -2px
}

#gmenu-inner .utility-catalog a:before {
    content: "";
    background-image: url(/gs_front/image/cmn/ui_sprite.png);
    background-repeat: no-repeat;
    display: inline-block;
    background-position: -88px 0;
    vertical-align: middle;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    margin-top: -1px
}

#gnav-area {
    position: absolute;
    left: 0;
    top: -40px;
    width: 100%;
    z-index: 5
}

#gnav {
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

#gnav .main {
    display: table;
    table-layout: fixed;
    word-spacing: -1em;
    width: 100%
}

#gnav .main li {
    padding: 0 6px;
    border-left: 1px solid #dedede;
    text-align: center;
    display: table-cell;
    word-spacing: normal;
    vertical-align: middle
}

#gnav .main li a {
    position: relative;
    display: inline-block;
    width: 100%;
    color: #000;
    text-shadow: none;
    padding: 8px 0;
    margin: -8px 0;
    text-decoration: none;
    -webkit-text-transform: uppercase;
    -moz-text-transform: uppercase;
    text-transform: uppercase;
    white-space: nowrap
}

#gnav .main li a:focus,
#gnav .main li a:hover,
#gnav .main li.is-active a {
    color: #c83150
}

#gnav .main li a:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 2px;
    background: #c83150;
    opacity: 0;
    -webkit-transform: translateY(5px);
    -moz-transform: translateY(5px);
    transform: translateY(5px);
    -webkit-transition: -webkit-transform .3s, opacity .3s;
    -moz-transition: -moz-transform .3s, opacity .3s;
    transition: transform .3s, opacity .3s;
    pointer-events: none
}

#gnav .main li a:focus:after,
#gnav .main li a:hover:after {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
}

#gnav .main li:last-child {
    border-right: 1px solid #dedede;
    min-width: 110px
}

#gnav .main li:nth-child(8) {
    width: 200px;
}

#gnav .main li.is-active a:after {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
}

#gnav .main li .submenu-wrap {
    display: none
}

#gnav .sub,
#gnav .sub li {
    display: block
}

#gnav .submenu-wrap {
    position: absolute;
    width: 100%;
    z-index: 0
}

#gnav .submenu-inner {
    position: relative;
    width: 510px;
    margin-left: -87%;
    margin-top: 14px;
    padding: 15px 10px 20px;
    background: #efefef;
    border: 1px solid #d9d9d9;
    text-align: left;
    z-index: 0
}

#gnav .submenu-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex
}

#gnav .svctop {
    width: 100%;
    display: block
}

#gnav .submenu-inner.no-column {
    display: block;
    width: 20pc !important
}

#gnav .submenu-inner.no-column .submenu-column {
    display: block
}

.isTablet .users-box.tablet {
    display: block;
    width: 200px;
    position: absolute;
    right: 82px;
    top: 24%
}

.isTablet .users-box.tablet ul {
    display: flex;
    justify-content: space-between
}

.isTablet #gnav .submenu-inner,
.isTablet #gnav .submenu-inner .submenu-column {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important
}

.isTablet #gnav .submenu-inner.no-column {
    width: 100% !important
}

#gnav .submenu-wrap:after,
#gnav .submenu-wrap:before {
    content: "";
    position: absolute;
    left: calc(50% - 1pc);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 8px;
    display: block
}

#gnav .submenu-wrap:before {
    top: 8px;
    border-color: transparent transparent #efefef;
    z-index: 2
}

#gnav .submenu-wrap:after {
    top: 7px;
    border-color: transparent transparent #d9d9d9;
    z-index: 1
}

#gnav .main li:nth-child(1) .submenu-inner {
    margin-left: -10px
}

#gnav .main li:nth-child(9) .submenu-inner {
    margin-left: -290px
}

#gnav .main li:nth-child(2).is-child .submenu-inner {
    margin-left: -106%
}

#gnav .main li.gnav-catalog.is-child .submenu-inner {
    width: 650px
}

@media screen and (max-width:1130px) {
    #gnav .main li:nth-child(6).is-child .submenu-inner {
        margin-left: -150px
    }
}

#gnav .main li:nth-child(8).is-child .submenu-inner {
    margin-left: -400px
}

#gnav .main li:nth-child(2).is-child .submenu-inner.no-column,
#gnav .main li:nth-child(7).is-child .submenu-inner.no-column {
    margin-left: -50%
}

@media screen and (max-width:1130px) {

    #gnav .main li:nth-child(6).is-child .submenu-inner.no-column,
    #gnav .main li:nth-child(7).is-child .submenu-inner.no-column {
        margin-left: -50%
    }
}

#gnav .main li:nth-child(8).is-child .submenu-inner.no-column {
    margin-left: -75pt
}

#gnav .main li:nth-child(9).is-child .submenu-inner.no-column {
    margin-left: -220px
}

#gnav .submenu-colbox {
    width: 50%;
    padding: 0 10px
}

.isTablet #gnav .submenu-colbox {
    width: 100% !important;
    padding: 0 !important;
    border: 0 0 !important
}

#gnav .submenu-colbox:first-child {
    padding-left: 0
}

#gnav .submenu-colbox:last-child {
    padding-right: 0
}

#gnav .submenu-colbox~.submenu-colbox {
    border-left: #c83250 1px solid
}

#gnav .submenu-inner.no-column .submenu-colbox {
    width: 100%;
    padding: 0;
    border: 0 0 !important
}

#gnav .submenu-inner.no-column .submenu-colbox~.submenu-colbox {
    margin-top: 15px
}

#gnav .submenu-top {
    margin-bottom: 20px;
    background: #fff
}

#gnav .submenu-top_btn {
    display: block;
    border: 1px solid #c83250;
    background: #c83250;
    text-align: center;
    margin: 0 !important;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    color: #fff
}

#gnav .submenu-top_btn span {
    display: inline-block;
    position: relative;
    padding: 0 14px;
    font-weight: 700;
    color: #fff
}

#gnav .sub li a:after,
#gnav .submenu-top_btn:after {
    display: none
}

#gnav .submenu-top_btn span:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #fff;
    margin-top: -7px;
    right: 0
}

#gnav .submenu-top_btn:hover {
    background: #fff;
    border-color: #c83250;
    color: #c83250
}

#gnav .submenu-top_btn:hover span {
    color: #c83250
}

#gnav .submenu-top_btn:hover span:after {
    border-left-color: #c83250
}

#gnav .submenu-wrap .submenu-ttl {
    font-weight: 700;
    font-size: 1.6rem;
    background: #fff;
    line-height: 1;
    padding: 10px;
    border-bottom: #c83250 1px solid;
    text-align: center
}

@media screen and (min-width:0) and (max-width:980px) {
    #gnav .submenu-wrap .submenu-ttl {
        font-size: 1.4rem
    }
}

#gnav .submenu-wrap .submenu-ttl+.sub {
    margin-top: 15px
}

#gnav .submenu-wrap .sub+.submenu-ttl {
    margin-top: 20px
}

.isTablet .submenu-wrap .sub {
    margin-top: 0 !important
}

#gnav .sub li {
    border: 0;
    text-align: left;
    margin-top: .8em;
    width: 100% !important;
    min-width: 0
}

#gnav .sub li:first-child {
    margin-top: 0
}

#gnav .sub li:last-child {
    border: 0;
    width: auto;
    min-width: 0
}

#gnav .sub li a {
    color: #000 !important;
    white-space: normal;
    padding-left: 15px;
    line-height: 1.2;
    vertical-align: top;
    font-size: 14px;
    font-size: 1.4rem
}

#gnav .sub li a:before {
    position: absolute;
    top: 14px;
    left: 0;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 5px;
    height: 5px;
    margin-top: -3px;
    margin-left: -3px;
    border-top: 2px solid #c83250;
    border-right: 2px solid #c83250;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

#gnav .main li.is-child,
#gnav .main li:nth-child(8).is-child,
#gnav .sub li a {
    position: relative
}

/* MEMO: .isIE9 用スタイルを削除 */

#gnav .sub li a:hover {
    color: #c83150 !important;
    text-decoration: underline
}

#gnav .main li.is-open a,
.isMobileDevice #gnav .main li a:focus,
.isMobileDevice #gnav .main li a:hover {
    color: #c83150
}

#gnav .main li.gnav-shussanu .submenu-wrap:before {
    border-bottom-color: #fff5d4
}

#gnav .main li.gnav-shussanu .submenu-inner {
    background: #fff5d4
}

#gnav .main li.gnav-shussanu .submenu-top_btn {
    background: #efc94d;
    border-color: #efc94d
}

#gnav .main li.gnav-shussanu .submenu-top_btn:hover {
    background: #fff;
    border-color: #efc94d;
    color: #efc94d
}

#gnav .main li.gnav-shussanu .submenu-top_btn:hover span {
    color: #efc94d
}

#gnav .main li.gnav-shussanu .submenu-top_btn:hover span:after {
    border-left-color: #efc94d
}

#gnav .main li.gnav-kekkonu .submenu-wrap:before {
    border-bottom-color: #ffebf2
}

#gnav .main li.gnav-kekkonu .submenu-inner {
    background: #ffebf2
}

#gnav .main li.gnav-kekkonu .submenu-top_btn {
    background: #ff699f;
    border-color: #ff699f
}

#gnav .main li.gnav-kekkonu .submenu-top_btn:hover {
    background: #fff;
    border-color: #ff699f;
    color: #ff699f
}

#gnav .main li.gnav-kekkonu .submenu-top_btn:hover span {
    color: #ff699f
}

#gnav .main li.gnav-kekkonu .submenu-top_btn:hover span:after {
    border-left-color: #ff699f
}

#gnav .main li.gnav-kaiki .submenu-wrap:before {
    border-bottom-color: #EBF5E7
}

#gnav .main li.gnav-kaiki .submenu-inner {
    background: #EBF5E7
}

#gnav .main li.gnav-kaiki .submenu-top_btn {
    background: #69ba34;
    border-color: #69ba34
}

#gnav .main li.gnav-kaiki .submenu-top_btn:hover {
    background: #fff;
    border-color: #69ba34;
    color: #69ba34
}

#gnav .main li.gnav-kaiki .submenu-top_btn:hover span {
    color: #69ba34
}

#gnav .main li.gnav-kaiki .submenu-top_btn:hover span:after {
    border-left-color: #69ba34
}

#gnav .main li.gnav-shinchiku .submenu-wrap:before {
    border-bottom-color: #ffffeb
}

#gnav .main li.gnav-shinchiku .submenu-inner {
    background: #ffffeb
}

#gnav .main li.gnav-shinchiku .submenu-top_btn {
    background: #f2bc18;
    border-color: #f2bc18
}

#gnav .main li.gnav-shinchiku .submenu-top_btn:hover {
    background: #fff;
    border-color: #f2bc18;
    color: #f2bc18
}

#gnav .main li.gnav-shinchiku .submenu-top_btn:hover span {
    color: #f2bc18
}

#gnav .main li.gnav-shinchiku .submenu-top_btn:hover span:after {
    border-left-color: #f2bc18
}

#gnav .main li.gnav-koden .submenu-wrap:before {
    border-bottom-color: #efebf3
}

#gnav .main li.gnav-koden .submenu-inner {
    background: #efebf3
}

#gnav .main li.gnav-koden .submenu-top_btn {
    background: #6a3b96;
    border-color: #6a3b96
}

#gnav .main li.gnav-koden .submenu-top_btn:hover {
    background: #fff;
    border-color: #6a3b96;
    color: #6a3b96
}

#gnav .main li.gnav-koden .submenu-top_btn:hover span {
    color: #6a3b96
}

#gnav .main li.gnav-koden .submenu-top_btn:hover span:after {
    border-left-color: #6a3b96
}

#gnav .main li.gnav-shussan .submenu-wrap:before {
    border-bottom-color: #fef1e6
}

#gnav .main li.gnav-shussan .submenu-inner {
    background: #fef1e6
}

#gnav .main li.gnav-shussan .submenu-top_btn {
    background: #ff9a8b;
    border-color: #ff9a8b
}

#gnav .main li.gnav-shussan .submenu-top_btn:hover {
    background: #fff;
    border-color: #ff9a8b;
    color: #ff9a8b
}

#gnav .main li.gnav-shussan .submenu-top_btn:hover span {
    color: #ff9a8b
}

#gnav .main li.gnav-shussan .submenu-top_btn:hover span:after {
    border-left-color: #ff9a8b
}

#gnav .main li.gnav-wedding .submenu-wrap:before {
    border-bottom-color: #dff4f7
}

#gnav .main li.gnav-wedding .submenu-inner {
    background: #dff4f7
}

#gnav .main li.gnav-wedding .submenu-top_btn {
    background: #5fcad6;
    border-color: #5fcad6
}

#gnav .main li.gnav-wedding .submenu-top_btn:hover {
    background: #fff;
    border-color: #5fcad6;
    color: #5fcad6
}

#gnav .main li.gnav-wedding .submenu-top_btn:hover span {
    color: #5fcad6
}

#gnav .main li.gnav-wedding .submenu-top_btn:hover span:after {
    border-left-color: #5fcad6
}

#gnav .main li.gnav-catalog .submenu-wrap:before {
    border-bottom-color: #f5eed0
}

#gnav .main li.gnav-catalog .submenu-inner {
    background: #f5eed0
}

#gnav .main li.gnav-catalog .submenu-top_btn {
    background: #b9a96b;
    border-color: #b9a96b
}

#gnav .main li.gnav-catalog .submenu-top_btn:hover {
    background: #fff;
    border-color: #b9a96b;
    color: #b9a96b
}

#gnav .main li.gnav-catalog .submenu-top_btn:hover span {
    color: #b9a96b
}

#gnav .main li.gnav-catalog .submenu-top_btn:hover span:after {
    border-left-color: #b9a96b
}

.isMobileDevice #gnav .main .submenu-inner {
    background: #fff !important
}

#gnav .main li.is-open a:after {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0)
}

#search-area {
    width: 250px;
    position: absolute;
    top: -105px;
    bottom: 65px;
    left: 15pc;
    z-index: 999
}

.isTablet #search-area {
    overflow: hidden
}

.shopMode #search-area {
    left: 188px;
    bottom: 54px;
}

#search-area fieldset {
    display: block;
    position: relative;
    width: 100%;
    background-color: #f1f1f1;
    height: 31px;
    border-radius: 6px;
}

#search-area .query {
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 4px 5px 2px 30px;
    width: 100%;
    background: 0;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: .3s ease 0;
    -webkit-transition: ease .3s;
    height: 31px;
}

#search-area .search-iconBtn {
    position: absolute;
    left: 4px;
    top: 5px;
    width: 25px;
    height: 25px;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    transition-property: left, margin;
    -webkit-transition-property: left, margin;
    transition-duration: .5s;
    -webkit-transition-duration: .5s;
    transition-timing-function: ease-out;
    t-webkit-ransition-timing-function: ease-out;
    margin-left: 0
}

#search-area .search-iconBtn:before {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    content: "";
    background: url(/gs_front/image/cmn/ui_sprite.png)-106px 2px no-repeat;
    display: block;
    width: 25px;
    height: 25px
}

#search-area .search-txtBtn {
    background-color: #f1f1f1;
    position: absolute;
    right: -67px;
    width: 53px;
    height: 31px;
    font-size: 14px;
    color: #616161;
    border-radius: 6px;
}

#search-area.isFocus .query {
    padding: 4px 30px 2px 5px
}

#search-area.isFocus .search-iconBtn {
    left: 100%;
    margin-left: -25px
}

#myshop-register-area {
    position: absolute;
    top: -88px;
    left: 0;
}

#myshop-register-area .btn--entry {
    font-size: 12px;
    width: 140px;
    height: 1.8pc;
    line-height: 1.8pc;
    background: #c83150;
    border-radius: 3px !important;
    padding: 0 !important
}

.sdApp #header-area {
    height: 120px;
    margin-top: 3px
}

.sdApp #header-area .logo {
    top: 15px
}

.sdApp #header-area .utility-members {
    top: 54px
}

.sdApp #header-area .shop-name-text,
.sdFront .simple #header-area .shop-name-text {
    top: 26px
}

.sdApp .simple #header-area {
    height: 75pt
}

.shopMode .sdApp #header-area .utility-members {
    top: 67px
}

.pagetop {
    display: none;
    position: absolute;
    right: 8px;
    bottom: -90pt;
    width: 100%;
    height: 0;
    z-index: 10
}

.pagetop span {
    display: block;
    width: 100%;
    max-width: 1620px;
    height: 0;
    margin: 0 auto;
    text-align: right
}

.pagetop a {
    background: url(/gs_front/image/cmn/pagetop.png)no-repeat;
    display: inline-block;
    vertical-align: top;
    width: 75px;
    height: 65px;
    margin-top: -65px;
    padding-left: 75px;
    overflow: hidden
}

.pagetop.is-fixed {
    position: fixed;
    bottom: 0
}

/* MEMO: IE用フィルタ(opacity)を削除 */
.pagetop.is-fixed a {
    opacity: .7;
}

.pagetop.is-sitetop a {
    background: url(/gs_front/image/cmn/pagetop_logo.png)no-repeat
}

#shop-detail-area {
    min-width: 980px
}

#shop-detail-area .btn--entry {
    font-size: 14px;
    height: 28px;
    line-height: 28px;
    width: 131px
}

#shop-detail-area .shop-detail-inner {
    width: 100%;
    max-width: 100pc;
    margin: 0 auto
}

#shop-detail-area .shop-data-box {
    position: relative;
    width: 100%;
    max-width: 100pc
}

#shop-detail-area .shop-data-box .detailHead__btn--myshop {
    position: absolute;
    top: -81px;
    left: 9pt
}

#shop-detail-area .shop-data-box .shop-data-tel {
    position: absolute;
    padding-left: 0;
    margin-top: 0
}

#shop-detail-area .shop-data-box .shop-data-btn {
    position: absolute;
    top: -81px;
    left: 156px;
    padding-left: 0;
    margin-top: 0
}

/* MEMO: .no-flexbox (IE用フォールバック) を削除 */

#shop-detail-area .shop-data-address,
#shop-detail-area .shop-data-btn,
#shop-detail-area .shop-data-ico,
#shop-detail-area .shop-data-tel {
    vertical-align: middle;
    margin-top: 8px
}

#shop-detail-area .shop-data-ico {
    white-space: normal;
    padding-left: 2%
}

#shop-detail-area .shop-data-ico ul {
    margin-top: -4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap
}

#shop-detail-area .shop-data-ico li {
    background-color: #b2aca6;
    max-width: 5pc;
    min-width: 5pc;
    line-height: 22px;
    height: 20px;
    text-align: center;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem;
    margin-right: 4px;
    margin-top: 4px
}

#shop-detail-area .shop-data-ico li img {
    max-width: none;
    height: 20px
}

#shop-detail-area .shop-data-ico li:last-child {
    margin-left: 0
}

#shop-detail-area .shop-data-address,
#shop-detail-area .shop-data-btn,
#shop-detail-area .shop-data-tel {
    padding-left: 2%;
    line-height: 1.2
}

#shop-detail-area .shop-data-btn,
#shop-detail-area .shop-data-tel {
    white-space: nowrap
}

#shop-detail-area .shop-data-btn strong,
#shop-detail-area .shop-data-tel strong {
    line-height: 1;
    display: inline-block
}

#shop-detail-area .shop-data-btn a {
    height: 28px;
    font-size: 14px;
    display: inline-block;
    background: #f3f3f3;
    border: 1px solid #c2c2c2;
    border-radius: 3px;
    padding: 6px 8px 3px
}

#shop-detail-area .shop-data-btn a:after {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 5px;
    height: 5px;
    margin-top: -3px;
    border-top: 2px solid #555;
    border-right: 2px solid #555;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 6px
}

/* MEMO: .isIE9 用スタイルを削除 */

#shop-detail-area .shop-data-btn a:hover {
    text-decoration: none
}

.isMobileDevice #gmenu-wrap a,
.isMobileDevice #gnav a:hover {
    text-decoration: none !important
}

#footer {
    margin-top: 90pt
}

#footer.simple {
    background: #e7e7e7;
    min-width: 980px
}

#footer.simple .footer-wrap {
    width: 100%;
    max-width: 100pc;
    margin: 0 auto;
    display: table;
    padding: 10px 0
}

#footer.simple .fpmark {
    display: table-cell;
    width: 60px;
    vertical-align: bottom
}

#footer-area {
    background: #efefef;
    border-top: 1px solid #efefea;
    width: 100%;
    padding: 28px 10px 25px;
    min-width: 980px
}

#footer-area .footer-nav {
    width: 100%;
    max-width: 100pc;
    margin: 0 auto
}

#footer-area .footer-nav .box-info {
    width: 30%
}

#footer-area .footer-nav .box-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    align-items: stretch;
    width: 100%;
    border-right: 1px solid #fff
}

/* MEMO: .no-flexbox (IE用フォールバック) を削除 */

#footer-area .footer-nav .box {
    padding-left: 30px;
    border-right: 1px solid #e0e0e0;
    border-left: 1px solid #fff;
    vertical-align: top
}

#footer-area .footer-nav .box:first-child {
    padding-left: 0;
    border-left: 0
}

#footer-area .nav:first-child {
    margin-top: -25px
}

#footer-area .nav h3 {
    font-weight: 700;
    font-size: 1pc;
    font-size: 1.6rem;
    margin-top: 25px
}

#footer-area .nav h3 a {
    font-weight: 700
}

#footer-area .nav ul {
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
    font-size: 1.4rem
}

#footer-area .nav ul+ul {
    padding-left: 30px
}

#footer-area .nav ul li {
    line-height: 1.3;
    margin-top: 6px
}

#footer-area .nav ul li a {
    display: inline-block;
    position: relative
}

#footer-area .box {
    width: 20%;
    padding-right: 15px
}

#footer-area .box-info .smartphone {
    background: #f6f6f6;
    border: 1px solid #e0e0db;
    float: right;
    padding: 15px 25px 25px
}

#footer-area .box-info .smartphone h3 {
    margin-bottom: 6px
}

#footer-area .box-info .smartphone p {
    font-size: 14px;
    font-size: 1.4rem;
    float: left
}

#footer-area .box-info .smartphone p+p {
    padding-top: 4px
}

#footer-area .box-info .smartphone h3+p {
    background: url(/gs_front/image/cmn/img_sp.png)left center no-repeat;
    padding: 20px 9pt 20px 54px
}

#footer-area .box-info .others-info {
    clear: both;
    float: right;
    width: 335px;
    padding: 15px 0 25px;
    font-size: 14px;
    font-size: 1.4rem
}

#footer-area .box-info h3 {
    font-weight: 700;
    color: #555;
    font-size: 15px;
    font-size: 1.5rem
}

#footer-area .footer-btm {
    padding-top: 10px;
    max-width: 100pc;
    margin: 0 auto
}

#footer-area .footer-btm p {
    float: left;
    margin-top: 84px
}

#footer-area .footer-btm p+p {
    float: right;
    margin-top: 0
}

#footer-area .footer-btm p+p a {
    display: block;
    text-align: right
}

#footer-area .footer-btm p+p a+a {
    margin-top: 6px
}

#footer-utility {
    background: #e7e7e7;
    min-width: 980px;
    padding: 8px 10px 6px;
    overflow: hidden;
    margin-left: -18px
}

#footer-utility ul {
    max-width: 1618px;
    margin: 0 auto;
    letter-spacing: -.4em
}

#footer-utility ul li {
    position: relative;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
    padding-right: 20px;
    font-size: 14px;
    font-size: 1.4rem
}

#footer-utility ul li:before {
    content: "";
    position: absolute;
    right: -4px;
    display: block;
    width: 4pt;
    height: 4pt;
    margin-top: 6px;
    margin-right: 12px;
    border-top: 2px solid #5f5f5f;
    border-right: 2px solid #5f5f5f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-radius: 2px
}

#footer-utility ul li+li {
    margin-left: 10px;
}

.simple #footer-utility {
    display: table-cell;
    min-width: 0;
    margin: 0;
    vertical-align: middle
}

.simple #footer-utility ul {
    margin-left: -18px
}

#footer .copyright {
    width: 100%;
    min-width: 980px;
    background: #555;
    padding: 6px 10px
}

#footer .copyright small {
    display: block;
    font-size: 13px;
    font-size: 1.3rem;
    color: #fff;
    max-width: 100pc;
    margin: 0 auto;
    text-align: right
}

#footer .attention {
    padding: 6px 10px;
    text-align: right;
    font-size: 9pt;
    font-size: 1.2rem;
    max-width: 1620px;
    margin: 0 auto
}

.btm-sitetop {
    max-width: 100pc;
    min-width: 980px;
    margin: auto;
    padding-bottom: 25px;
    line-height: 1.2;
    z-index: 2
}

@media screen and (min-width:1640px) {
    #gnav-area {
        padding-left: 0
    }
}

@media screen and (min-width:0) and (max-width:1600px) {
    #header-area .utility-members {
        left: 66%;
        right: auto;
        width: 12.375%;
        top: 43px
    }

    .shopMode #header-area .utility-members {
        right: 10pc;
        left: auto;
        width: 8.2%
    }

    #header-area .mypage-box {
        top: 35px;
        right: -10%;
        width: 220px
    }

    #header-area .mypage-box .shopMode {
        top: -87pt
    }

    .users-box .cart-inbox {
        right: 0
    }

    .shopMode .users-box .cart-inbox a:before {
        top: 7px
    }

    .shopMode .users-box .cart-inbox a span {
        height: 26px;
        padding-bottom: 0
    }

    .shopMode #gmenu-inner .members-box {
        top: -90pt;
        left: auto;
        right: 0
    }

    #gmenu-inner .utility-nav {
        top: -90px;
        left: 0;
        padding-left: 250px;
        width: 66%;
        vertical-align: top
    }

    .shopMode #gmenu-inner .utility-nav {
        top: -90px;
        width: 45%;
        padding-right: 8.2%;
        right: 170px;
        left: auto;
        padding-left: 0 !important
    }

    #gmenu-inner .utility-nav ul {
        display: table;
        table-layout: fixed;
        width: 100%;
        letter-spacing: -1em
    }

    #gmenu-inner .utility-nav ul li {
        display: table-cell;
        letter-spacing: normal;
        border-left: 1px solid #dedede;
        padding: 2px 0 0;
        text-align: center;
        vertical-align: middle
    }

    #gmenu-inner .utility-nav ul li:last-child {
        border-right: 1px solid #dedede
    }

    #gmenu-inner .utility-nav ul li a {
        display: inline-block;
        vertical-align: middle;
        line-height: 1.2
    }

    #gmenu-inner .utility-nav ul li a:before {
        content: "";
        background-image: url(/gs_front/image/cmn/ui_sprite.png);
        background-repeat: no-repeat;
        display: inline-block;
        width: 22px;
        height: 20px;
        vertical-align: middle;
        margin-right: 6px;
        margin-top: -4px
    }

    #gmenu-inner .utility-nav ul li.u-tp {
        padding: 0
    }

    #gmenu-inner .utility-nav ul li.u-tp img {
        margin-top: -2px
    }

    #gmenu-inner .utility-nav ul li.u-tp a {
        width: 113px;
        text-align: center
    }

    #gmenu-inner .utility-nav ul li.u-tp a:before {
        display: none
    }

    #gmenu-inner .utility-nav ul li.u-shop a:before {
        background-position: 0 0;
        margin-top: -5px
    }

    #gmenu-inner .utility-nav ul li.u-favorite a:before {
        background-position: -22px 0
    }

    #gmenu-inner .utility-nav ul li.u-guide a:before {
        background-position: -44px 0
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-guide {
        width: 98px
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-guide a {
        margin-left: -8px
    }

    .shopMode .login #gmenu-inner .utility-nav {
        padding-right: 9.2%
    }

    #gmenu-inner .utility-catalog {
        left: 78%;
        right: auto;
        top: -87px
    }

    .shopMode #gmenu-inner .utility-catalog {
        top: -86px;
        right: 10px;
        left: auto
    }

    #gnav ul li:nth-child(8) {
        width: 200px
    }

    .sdApp #header-area .utility-members {
        top: 67px
    }

    #shop-detail-area .shop-data-ico li img {
        max-width: none;
        width: auto
    }

    #footer.simple .fpmark {
        width: 70px;
        padding-right: 10px
    }
}

@media screen and (min-width:0) and (max-width:1350px) {
    .shopMode #gmenu-inner .utility-nav {
        width: 43%
    }

    .shopMode #gmenu-inner .utility-nav ul li a:before {
        display: none
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-tp a {
        width: 90px
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-guide {
        width: 5pc
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-favorite {
        width: 110px
    }
}

@media screen and (min-width:1200px) {
    .shopMode #header-area .logo {
        top: 10px !important
    }

    #header-area .shop-info {
        top: 6px
    }
}

@media screen and (min-width:0) and (max-width:1199px) {

    #footer-area .footer-nav,
    .btm-sitetop {
        max-width: none
    }

    .head-lead {
        font-size: 9px;
        font-size: .9rem
    }

    .shopMode .simple #header-area {
        height: 75pt
    }

    .shopMode #header-area .logo {
        top: 10px;
        width: 140px
    }

    .shopMode .simple #header-area .logo {
        width: 173px
    }

    #header-area .lead {
        font-size: 9px;
        font-size: .9rem
    }

    #header-area .shop-info {
        left: 10pc;
        top: 10px
    }

    #header-area .shop-info:before {
        height: 50px
    }

    #header-area .shop-name,
    #header-area .shop-tel {
        font-size: 14px;
        font-size: 1.4rem
    }

    #header-area .shop-tel {
        padding-left: 15px
    }

    #header-area .shop-name-text {
        left: 10pc;
        height: 50px
    }

    .shopMode .simple #header-area .shop-name-text {
        left: 200px;
        width: 70%;
        height: 60px
    }

    #header-area .shop-name-text:before {
        height: 50px
    }

    #header-area .shop-name-text span span {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 2px 20px 0 9pt
    }

    #header-area .utility-members {
        top: 43px;
        left: 60%;
        right: auto;
        width: 10.375%;
        font-size: 13px;
        font-size: 1.3rem
    }

    .shopMode .sdApp #header-area .utility-members {
        top: 75px;
        right: 275px;
        left: auto;
        width: 9.2%
    }

    .shopMode .sdFront #header-area .utility-members {
        top: 51px;
        right: 275px;
        left: auto;
        width: 9.2%
    }

    .shopMode .login #header-area .utility-members {
        width: 10.8%
    }

    #header-area .mypage-box {
        right: -50%
    }

    .users-box .cart-inbox a:before {
        top: 6px
    }

    .shopMode .sdApp #header-area .logo {
        top: 10px !important
    }

    #gmenu-inner .utility-nav {
        width: 60%
    }

    .shopMode #gmenu-inner .utility-nav {
        top: -5pc;
        right: 286px;
        left: auto;
        width: 53.4%;
        padding-right: 9.2%
    }

    #gmenu-inner .utility-nav ul li {
        font-size: 13px;
        font-size: 1.3rem
    }

    #gmenu-inner .utility-nav ul li a:before {
        display: none
    }

    #gmenu-inner .utility-nav ul li.u-tp {
        min-width: 75pt;
        padding: 0 5px
    }

    #gmenu-inner .utility-nav ul li.u-tp a {
        width: 100%;
        overflow: hidden
    }

    #gmenu-inner .utility-nav ul li.u-tp img {
        vertical-align: middle
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-favorite {
        width: 106px
    }

    #gmenu-inner .utility-nav ul li.u-guide {
        width: 60px
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-guide {
        width: 90px
    }

    .pagetop,
    .pagetop a {
        width: 55px;
        height: 50px
    }

    .shopMode #gmenu-inner .utility-nav ul li.u-guide a {
        margin-left: 0
    }

    .shopMode .login #gmenu-inner .utility-nav {
        padding-right: 10.8%
    }

    #gmenu-inner .utility-catalog {
        left: auto;
        right: 10px;
        top: -92px
    }

    .pagetop a {
        background-size: 55px auto;
        padding-left: 55px;
        margin-top: 0
    }

    .pagetop.is-fixed {
        position: fixed
    }

    .pagetop.is-fixed a {
        opacity: .7;
    }

    .pagetop.is-sitetop a {
        background: url(/gs_front/image/cmn/pagetop_logo.png)no-repeat;
        background-size: 55px auto
    }

    #footer-area {
        min-width: 0
    }

    #footer-area .footer-nav .box-info,
    #footer-area .footer-nav .box-nav {
        float: none
    }

    #footer-area .footer-nav .box-nav {
        width: 100%;
        padding-bottom: 25px;
        border-right: 0
    }

    #footer-area .footer-nav .box-info {
        width: 100%
    }

    #footer-area .box:last-child {
        border-right: 0
    }

    #footer-area .nav h3 {
        font-size: 14px;
        font-size: 1.4rem
    }

    #footer-area .nav ul {
        font-size: 13px;
        font-size: 1.3rem
    }

    #footer-area .box-info {
        background: #f6f6f6;
        border: 1px solid #e0e0db;
        padding: 25px
    }

    #footer-area .box-info .smartphone {
        float: left;
        background: 0;
        border: 0;
        padding: 0 25px 0 0;
        border-right: 1px solid #e0e0db
    }

    #footer-area .box-info .smartphone h3+p {
        padding: 20px 26px 20px 4pc
    }

    #footer-area .box-info .others-info {
        clear: none;
        float: left;
        width: auto;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 15px
    }

    #footer-area .footer-btm {
        padding-top: 10px;
        max-width: none
    }

    #footer-area .footer-btm p {
        float: left;
        margin-top: 3pc
    }

    #footer-area .footer-btm p+p {
        float: right;
        margin-top: 0;
        margin-right: 20px
    }

    #footer-area .footer-btm p+p a {
        display: block;
        text-align: right
    }

    #footer-area .footer-btm p+p a+a {
        margin-top: 6px
    }

    #footer-utility ul li,
    .btm-sitetop {
        font-size: 9pt;
        font-size: 1.2rem
    }

    .btm-sitetop {
        width: 100%;
        min-width: 0
    }
}

.isMobileDevice #global-overlay,
.isMobileDevice #gmenu-wrap,
.isMobileDevice #header .lead span,
.isMobileDevice .head-lead span {
    display: none
}

@media screen and (min-width:0) and (max-width:1100px) {
    #header-area .shop-name-text {
        width: 34%
    }

    #gmenu-inner .util-nav {
        display: none
    }

    #gmenu-inner .util-nav li.util-shop {
        margin-left: 7px
    }

    #gmenu-inner .users-box ul {
        width: 219px;
        margin-right: 10px
    }
}

@media screen and (min-width:0) and (max-width:979px) {
    html {
        overflow-x: auto
    }

    .device-touch html {
        overflow-x: hidden
    }

    #wrapper {
        font-size: 13px;
        font-size: 1.3rem
    }

    #header-area .lead {
        font-size: 9px;
        font-size: .9rem;
        text-align: right;
        padding-left: 17px
    }

    .users-box .cart-inbox {
        right: 0
    }

    #gmenu-inner .users-box {
        right: 1pc
    }

    .shopMode #gmenu-inner .users-box {
        left: auto;
        right: 25px
    }
}

.isMobileDevice {
    width: 100%;
    min-width: 0
}

.isMobileDevice body.is-gnavopen {
    overflow: hidden
}

.isMobileDevice #wrapper {
    font-size: 13px;
    font-size: 1.3rem;
    overflow-x: hidden
}

.isMobileDevice .breadcrumb {
    width: 100%;
    max-width: none;
    min-width: 0
}

.isMobileDevice #header-area .logo {
    top: 20px;
    width: 150px
}

.isMobileDevice #header {
    border-bottom-color: #333;
    position: static;
    background: #fff;
    z-index: 12;
    min-width: 0;
    width: 100%
}

.isMobileDevice #header.simple {
    border-bottom-color: #f4f4f4
}

.isMobileDevice #gmenu-wrap .balloon {
    position: static;
    display: block;
    padding: 0;
    width: 100%;
    background: 0;
    border: 0;
    text-align: left
}

.isMobileDevice #gmenu-wrap .balloon:after,
.isMobileDevice #gmenu-wrap .balloon:before {
    display: none
}

.isMobileDevice #global-overlay {
    background: rgba(0, 0, 0, .5);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.isMobileDevice #header-area {
    min-width: 0;
    width: 100%;
    height: 95px;
    margin: 0 auto;
    margin-top: 3px
}

.isMobileDevice #header-area .shop-name-text {
    top: 6px
}

.isMobileDevice #header-area #nav-toggle {
    display: block;
    position: absolute;
    top: 5px;
    right: 0;
    width: 50px;
    height: 50px
}

.isMobileDevice.shopMode #header-area #nav-toggle {
    top: 12px;
}

.isMobileDevice #header-area #nav-toggle a {
    display: block;
    background: url(/gs_front/image/cmn/ui_sprite.png)-740px 0 no-repeat;
    background-size: 50pc 35pc;
    width: 40px;
    height: 50px;
    text-indent: -9999px;
    overflow: hidden
}

.isMobileDevice #header-area .utility-members {
    border-right: 0;
    border-left: 1px solid #dedede;
    position: absolute;
    right: 200px;
    left: auto;
    top: auto !important;
    bottom: 10px;
    width: 50px !important;
    height: 3pc;
    padding: 0;
    text-align: center;
    z-index: 7
}

.isMobileDevice #header-area .utility-members a {
    width: 34px;
    height: 42px;
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
    margin: 2px 0 0 18px
}

.isMobileDevice #header-area .utility-members a:before {
    position: absolute;
    top: 0;
    left: 0;
    background-position: -502px 0;
    width: 34px;
    height: 42px;
    margin: 0
}

.isMobileDevice #header-area .mypage-box {
    display: none !important
}

.isMobileDevice .simple #header-area .logo {
    width: 150px;
    height: auto;
    top: 15px
}

.isMobileDevice .login #header-area .utility-members {
    width: 66px !important
}

.isMobileDevice .login #header-area .utility-members a {
    width: 40px
}

.isMobileDevice .login #header-area .utility-members a:before {
    background-position: -541px 0;
    width: 40px
}

.isMobileDevice #gmenu-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 11;
    padding: 0 !important;
    margin: 0 !important;
    left: 0;
    overflow: hidden
}

.isMobileDevice #gmenu-wrap a:hover {
    color: #000 !important
}

.isMobileDevice #gmenu-inner {
    background: #efefef;
    width: 70%;
    height: 100%;
    min-width: 0;
    max-width: none;
    padding: 0;
    margin: 0 0 0 30%;
    position: static;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transform: translate3d(none) !important;
    transform: translate3d(none) !important
}

.isMobileDevice #gmenu-inner .members-box {
    position: static;
    top: auto;
    left: auto;
    line-height: 1.3
}

.isMobileDevice #gmenu-inner .members-box .members-name {
    display: block;
    font-size: 1pc;
    font-size: 1.6rem;
    padding-right: 0
}

.isMobileDevice #gmenu-inner .members-box .members-name a {
    display: block;
    position: relative;
    padding: 18px 60px 1pc 15px;
    background: #dcdcdc
}

.isMobileDevice #gmenu-inner .members-box .members-name a:after {
    position: absolute;
    top: 50%;
    right: 30px;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 9pt;
    height: 9pt;
    margin-top: -6px;
    margin-left: -6px;
    border-top: 2px solid #5f5f5f;
    border-right: 2px solid #5f5f5f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gmenu-inner .members-box .members-name .regist {
    padding-left: 0
}

.isMobileDevice #gmenu-inner .utility-nav {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
    vertical-align: top
}

.isMobileDevice #gmenu-inner .utility-nav ul {
    display: block;
    table-layout: auto
}

.isMobileDevice #gmenu-inner .utility-nav ul li {
    border-top: 1px solid #bfbfbf;
    display: block;
    border-left: 0;
    text-align: left;
    padding: 0
}

.isMobileDevice #gmenu-inner .utility-nav ul li:first-child {
    border-right: 0
}

.isMobileDevice #gmenu-inner .utility-nav ul li a {
    display: block;
    vertical-align: middle;
    line-height: 1.2;
    padding: 18px 60px 1pc 15px;
    font-size: 18px;
    font-size: 1.8rem;
    position: relative
}

.isMobileDevice #gmenu-inner .utility-nav ul li a:hover {
    text-decoration: none
}

.isMobileDevice #gmenu-inner .utility-nav ul li a:after {
    position: absolute;
    top: 50%;
    right: 30px;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 9pt;
    height: 9pt;
    margin-top: -6px;
    margin-left: -6px;
    border-top: 2px solid #5f5f5f;
    border-right: 2px solid #5f5f5f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gmenu-inner .utility-nav ul li.u-tp {
    padding: 0
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-tp img {
    margin-top: 0;
    max-width: 100%;
    width: auto
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-tp a {
    width: auto;
    text-align: left
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-shop a:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -6px;
    margin-left: -6px
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-shop.is-open a {
    background: #c2c2c2
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-shop.is-open a:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -4px
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-shop.is-open .myshop-box a {
    background: #fff
}

.isMobileDevice #gmenu-inner .utility-nav ul li.u-favorite,
.isMobileDevice #gmenu-inner .utility-nav ul li.u-guide {
    width: 100% !important
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box {
    display: none;
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    margin-left: 0;
    background: #fff
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .btn-myshop {
    margin: 0 !important;
    border-top: 1px solid #bfbfbf;
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .btn-myshop a {
    display: block;
    background: 0;
    padding: false !important;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    text-decoration: none
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .btn-myshop a:before {
    position: absolute;
    background: 0;
    top: 24px;
    left: 15px;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -3px;
    margin-left: -3px;
    border-top: 2px solid #c83250;
    border-right: 2px solid #c83250;
    -webkit-transform: rotate(45deg) !important;
    transform: rotate(45deg) !important
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .btn-myshop a:after {
    display: none
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .myshop-list {
    padding: 0
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .myshop-list li {
    display: block;
    padding: 0;
    margin: 0;
    border-top: 1px solid #bfbfbf
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .myshop-list li a {
    display: block;
    position: relative;
    padding: false !important
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .myshop-list li a:before {
    position: absolute;
    background: 0;
    top: 24px;
    left: 15px;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -3px;
    margin-left: -3px;
    margin-right: 0;
    border-top: 2px solid #c83250;
    border-right: 2px solid #c83250;
    -webkit-transform: rotate(45deg) !important;
    transform: rotate(45deg) !important
}

.isMobileDevice #gmenu-inner .utility-nav .myshop-box .myshop-list li a:after {
    display: none
}

.isMobileDevice #gmenu-inner .utility-catalog {
    border-top: 1px solid #bfbfbf;
    position: static;
    right: auto;
    top: auto;
    text-align: left;
    width: 100%;
    padding: 18px 25px 1pc 15px;
    font-size: 18px;
    font-size: 1.8rem
}

.isMobileDevice #gmenu-inner .utility-catalog a {
    border: 1px solid #c2c2c2;
    display: block;
    width: 100%;
    margin: 0
}

.isMobileDevice #gmenu-inner .utility-catalog a:before {
    display: inline-block;
    background-size: 600px auto;
    background-position: -440px 0;
    width: 30px;
    height: 26px;
    margin-right: 8px;
    margin-top: -2px
}

.isMobileDevice .sdApp #header-area {
    height: 55px !important;
    margin-top: 3px
}

.isMobileDevice.shopMode .sdApp #header-area {
    height: 75px !important;
}

.isMobileDevice .sdApp #header-area .logo {
    top: 10px;
    width: 120px
}

.isMobileDevice .sdApp #header-area .shop-name-text {
    top: 30px
}

.isMobileDevice.shopMode #header-area .logo {
    top: 9pt
}

.isMobileDevice.shopMode .sdApp #header-area .logo {
    top: 20px !important
}

.isMobileDevice #gnav-area {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    padding: 0
}

.isMobileDevice #gnav {
    width: 100%
}

.isMobileDevice #gnav .main {
    display: block;
    table-layout: auto;
    width: 100%
}

.isMobileDevice #gnav .main li {
    border-top: 1px solid #bfbfbf;
    padding: 0;
    border-left: 0;
    text-align: left;
    display: block;
    position: static
}

.isMobileDevice #gnav .main li a {
    position: relative;
    padding: 18px 60px 1pc 15px;
    font-size: 18px;
    font-size: 1.8rem;
    display: block;
    width: 100%;
    margin: 0;
    -webkit-text-transform: none;
    -moz-text-transform: none;
    text-transform: none;
    backface-visibility: visible;
    white-space: normal
}

.isMobileDevice #gnav .main li a:after {
    display: none
}

.isMobileDevice #gnav .main li a:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    left: auto;
    bottom: auto;
    display: inline-block;
    vertical-align: top;
    width: 9pt;
    height: 9pt;
    margin-top: -6px;
    margin-left: -6px;
    border-top: 2px solid #5f5f5f;
    border-right: 2px solid #5f5f5f;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: 0;
    opacity: 1;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none
}

.isMobileDevice #gnav .main li .submenu-wrap,
.isMobileDevice #gnav .submenu-wrap:after,
.isMobileDevice #gnav .submenu-wrap:before {
    display: none
}

.isMobileDevice #gnav .main li a:focus:after,
.isMobileDevice #gnav .main li a:hover:after {
    opacity: 1
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gnav .main li.is-child {
    position: static
}

.isMobileDevice #gnav .main li.is-child a:before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gnav .main li:last-child {
    border-right: 0;
    min-width: 0;
    width: 100%
}

.isMobileDevice #gnav .main li:nth-child(8) {
    min-width: 0;
    width: 100%
}

.isMobileDevice #gnav .main li.is-open a {
    background: #c2c2c2;
    color: #000
}

.isMobileDevice #gnav .main li.is-open a:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -4px
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gnav .submenu-wrap {
    width: 100%;
    position: static;
    left: auto;
    top: auto;
    padding: 0;
    background: #fff;
    border: 0;
    text-align: left
}

.isMobileDevice #gnav .sub {
    width: 100%
}

.isMobileDevice #gnav .sub li {
    border: 0;
    border-top: 1px solid #bfbfbf !important;
    display: block;
    text-align: left;
    margin-top: 0
}

.isMobileDevice #gnav .sub li a {
    background: #fff !important;
    padding: 18px 60px 1pc 35px;
    font-size: 1pc;
    font-size: 1.6rem;
    backface-visibility: visible
}

.isMobileDevice #gnav .sub li a:after {
    display: none
}

.isMobileDevice #gnav .sub li a:before {
    position: absolute;
    top: 24px;
    left: 15px;
    display: inline-block;
    vertical-align: top;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -3px;
    margin-left: -3px;
    border-top: 2px solid #c83250;
    border-right: 2px solid #c83250;
    -webkit-transform: rotate(45deg) !important;
    transform: rotate(45deg) !important
}

/* MEMO: .isIE9 用スタイルを削除 */

.isMobileDevice #gnav .sub li a:hover {
    color: #c83150 !important;
    text-decoration: underline
}

.isMobileDevice #gnav .main li:nth-child(1) .submenu-wrap {
    left: -10px
}

.isMobileDevice #gnav .main li:nth-child(1) .submenu-wrap:after,
.isMobileDevice #gnav .main li:nth-child(1) .submenu-wrap:before {
    left: 23%
}

.isMobileDevice #gnav .main li.is-child .submenu-wrap {
    width: 100%
}

.isMobileDevice #search-area {
    background: #555;
    width: 100%;
    position: static;
    top: auto;
    right: auto;
    padding: 18px 25px 1pc 15px
}

.isMobileDevice #search-area fieldset {
    background: #fff;
    display: block;
    position: relative;
    width: 100%;
    border-bottom: 0;
    height: 40px;
    margin-top: 0
}

.isMobileDevice #search-area .query {
    height: 40px;
    font-size: 18px;
    font-size: 1.8rem;
    padding: 4px 5px 2px 50px
}

.isMobileDevice #search-area button {
    width: 40px;
    height: 40px
}

.isMobileDevice #search-area button:before {
    left: 5px;
    top: 5px;
    background: url(/gs_front/image/cmn/ui_sprite.png)-472px 0 no-repeat;
    background-size: 600px auto;
    width: 29px;
    height: 29px
}

.isMobileDevice #search-area.isFocus .query {
    padding: 4px 50px 2px 5px
}

.isMobileDevice #search-area.isFocus button {
    margin-left: -40px
}

.isMobileDevice #shop-detail-area {
    min-width: 0
}

.isMobileDevice #shop-detail-area .shop-detail-inner {
    max-width: none;
    padding: 0 10px 8px
}

.isMobileDevice #shop-detail-area .shop-data-box {
    width: 100%;
    display: block !important;
    margin-top: -6px
}

.isMobileDevice #shop-detail-area .shop-data-ico {
    width: 100%;
    display: block !important
}

.isMobileDevice #shop-detail-area .shop-data-address,
.isMobileDevice #shop-detail-area .shop-data-btn,
.isMobileDevice #shop-detail-area .shop-data-tel {
    vertical-align: middle;
    display: inline-block !important;
    word-spacing: normal !important;
    padding-top: 8px;
    white-space: nowrap
}

.isMobileDevice #shop-detail-area .shop-data-btn {
    text-align: right
}

.isMobileDevice .btm-sitetop {
    width: 100%;
    min-width: 0;
    max-width: none
}

.isMobileDevice #footer.simple {
    min-width: 0
}

.isMobileDevice #footer.simple .footer-wrap {
    max-width: one;
    width: 100%;
    padding-right: 15px
}

.isMobileDevice #footer-area {
    width: 100%;
    padding: 28px 10px 25px;
    min-width: 0
}

.isMobileDevice #footer-area .footer-nav {
    display: block;
    width: 100%;
    max-width: none
}

.isMobileDevice #footer-area .footer-nav .box {
    display: table-cell;
    width: 33.3333333%;
    padding-left: 15px;
    vertical-align: top
}

.isMobileDevice #footer-area .footer-nav .box:last-child {
    padding-right: 0
}

.isMobileDevice #footer-area .nav:first-child {
    margin-top: -15px
}

.isMobileDevice #footer-area .nav h3 {
    font-weight: 700;
    font-size: 1pc;
    font-size: 1.6rem;
    margin-top: 15px;
    cursor: pointer
}

.isMobileDevice #footer-area .nav ul {
    display: block;
    font-size: 14px;
    font-size: 1.4rem
}

.isMobileDevice #footer-area .nav ul li {
    display: block;
    line-height: 1.3;
    margin-top: 8px
}

.isMobileDevice #footer-area .box-info {
    background: #f6f6f6;
    border: 1px solid #e0e0db;
    padding: 25px
}

.isMobileDevice #footer-area .box-info .smartphone {
    width: 50%;
    position: relative
}

.isMobileDevice #footer-area .box-info .smartphone p {
    padding-right: 74px;
    padding-left: 56px
}

.isMobileDevice #footer-area .box-info .smartphone p+p {
    width: 77px;
    padding-right: 0;
    padding-left: 0;
    right: 10px;
    position: absolute
}

.isMobileDevice #footer-area .box-info .others-info {
    clear: none;
    float: left;
    width: 50%;
    padding-top: 0;
    padding-bottom: 0;
    margin-left: 0;
    padding-left: 30px
}

.isMobileDevice #footer-area .footer-btm {
    max-width: none;
    float: none;
    width: 100%;
    margin-top: 0
}

.isMobileDevice #footer-area .footer-btm p {
    margin-top: 84px
}

.isMobileDevice #footer-area .footer-btm p+p {
    margin-top: 0;
    margin-right: 0
}

.isMobileDevice #footer-utility {
    min-width: 0
}

.isMobileDevice #footer-utility ul li {
    font-size: 9pt;
    font-size: 1.2rem
}

.isMobileDevice #footer .copyright {
    min-width: 0
}

.isMobileDevice #footer .copyright small {
    text-align: center
}

.isMobileDevice #footer .attention {
    text-align: left
}

.shop-information {
    border: 1px solid #bfbfbf;
    padding: 28px 20px 18px
}

.shop-information .title-box {
    margin-top: 0 !important;
    line-height: 0;
    height: 0;
    padding: 0 !important;
}

.shop-information .title-box .title {
    display: block;
    margin: 0 auto;
    width: 259px
}

.shop-information .title-box .title img {
    max-width: 100% !important;
    width: auto !important;
    border-left: 10px solid #fff;
    border-right: 10px solid #fff;
    margin-top: -49px;
    background: #fff
}

.shop-information .title-box:after {
    display: none !important
}

.shop-information+section {
    margin-top: 30px
}

@media print {

    #footer .copyright #footer-utility,
    #footer-area,
    #footer.simple,
    #gmenu-inner,
    #header,
    #shop-detail-area,
    html {
        min-width: 0;
        width: 100%
    }

    #gmenu-inner .members-box {
        top: -87pt
    }

    #gmenu-inner .utility-nav {
        width: 60%;
        top: -90px;
        left: 0;
        padding-left: 250px;
        vertical-align: top
    }

    #gmenu-inner .utility-nav li a:before {
        display: none !important
    }

    #gmenu-inner .utility-nav ul li.u-guide {
        width: 60px
    }

    #gmenu-inner .utility-nav ul li.u-tp {
        min-width: 75pt
    }

    #gmenu-inner .utility-nav ul li.u-tp img {
        width: 81px;
        height: 14px
    }

    #search-area {
        width: 27.8%;
        top: -92px;
        left: 71%;
        padding-right: 152px;
        z-index: 3
    }

    #header-area .utility-members {
        top: 66px;
        left: 60%;
        right: auto;
        width: 10.375%;
        font-size: 13px;
        font-size: 1.3rem
    }

    #gmenu-inner .utility-catalog {
        left: auto;
        right: 10px;
        top: -92px
    }

    #gnav-area {
        width: 100%;
        padding-right: 98px;
        padding-left: 10px
    }

    #gnav .main li:nth-child(8) {
        min-width: 138px !important
    }

    #gnav .main li:last-child {
        min-width: 110px
    }

    .users-box .cart-inbox {
        height: 58px
    }

    .shopMode #gmenu-inner .utility-nav {
        top: -5pc;
        left: -40px
    }

    .shopMode #header-area .utility-members {
        top: 75px;
        left: 57%;
        width: 9.2%
    }

    .shopMode #search-area {
        top: -86px;
        left: auto;
        right: 15pc;
        width: 115px;
        padding-right: 0
    }

    .shopMode #gmenu-inner .utility-catalog {
        top: -86px;
        right: 90px;
        left: auto
    }

    .shopMode #header-area .shop-name-text {
        width: 34%
    }

    .shopMode .simple #header-area .shop-name-text {
        width: 80%
    }

    #footer-area {
        min-width: 0
    }

    #footer-area .footer-nav {
        max-width: none
    }

    #footer-area .footer-nav .box-info,
    #footer-area .footer-nav .box-nav {
        float: none
    }

    #footer-area .footer-nav .box-nav {
        width: 100%;
        padding-bottom: 25px;
        border-right: 0
    }

    #footer-area .footer-nav .box-info {
        width: 100%
    }

    #footer-area .box:last-child {
        border-right: 0
    }

    #footer-area .nav h3 {
        font-size: 14px;
        font-size: 1.4rem
    }

    #footer-area .nav ul {
        font-size: 13px;
        font-size: 1.3rem
    }

    #footer-area .box-info {
        background: #f6f6f6;
        border: 1px solid #e0e0db;
        padding: 25px
    }

    #footer-area .box-info .smartphone {
        width: 50%;
        position: relative
    }

    #footer-area .box-info .smartphone p {
        padding-right: 74px;
        padding-left: 56px
    }

    #footer-area .box-info .smartphone p+p {
        width: 77px;
        padding-right: 0;
        padding-left: 0;
        right: 10px;
        position: absolute
    }

    #footer-area .box-info .others-info {
        clear: none;
        float: left;
        width: 50%;
        padding-top: 0;
        padding-bottom: 0;
        margin-left: 0;
        padding-left: 30px
    }

    #footer-area .footer-btm {
        padding-top: 10px;
        max-width: none;
        margin: -140px 0 0;
        float: right;
        width: 330px
    }

    #footer-area .footer-btm p {
        float: left;
        margin-top: 3pc
    }

    #footer-area .footer-btm p+p {
        float: right;
        margin-top: 0;
        margin-right: 20px
    }

    #footer-area .footer-btm p+p a {
        display: block;
        text-align: right
    }

    #footer-area .footer-btm p+p a+a {
        margin-top: 6px
    }
}

.icon-cart:before,
.icon-catalog:before,
.icon-catalog_red:before,
.icon-favorite:before,
.icon-guide:before,
.icon-lock:before,
.icon-lock_wht:before,
.icon-mail:before,
.icon-mypage:before,
.icon-myshop:before,
.icon-myshop_wht:before,
.icon-search:before,
.icon-searchshop:before,
.icon-searchshop_wht:before,
.icon-sns:before,
.icon-tpoint-header:before,
.icon-unlock:before {
    content: "";
    display: inline-block;
    vertical-align: middle
}

.icon-catalog_red:before {
    width: 28px;
    height: 18px;
    background: url(/gs_front/image/icon_catalog_red.png)center no-repeat;
    background-size: 20px auto
}

.icon-catalog:before {
    width: 20px;
    height: 18px;
    background: url(/gs_front/image/icon_catalog.png)center no-repeat;
    background-size: 20px auto
}

.icon-favorite:before {
    width: 22px;
    height: 19px;
    background: url(/gs_front/image/icon_favorite.png)center no-repeat;
    background-size: 22px auto
}

.icon-lock_wht:before {
    width: 19px;
    height: 19px;
    background: url(/gs_front/image/icon_lock_wht.png)center no-repeat;
    background-size: 19px auto
}

.icon-mail:before {
    width: 18px;
    height: 9pt;
    background: url(/gs_front/image/icon_mail.png)center no-repeat;
    background-size: 18px auto
}

.icon-mypage:before {
    width: 18px;
    height: 19px;
    background: url(/gs_front/image/head_mypage.png)center no-repeat;
    background-size: 18px auto
}

.icon-myshop:before {
    width: 23px;
    height: 20px;
    background: url(/gs_front/image/icon_myshop.png)center no-repeat;
    background-size: 23px auto
}

.icon-myshop_wht:before {
    width: 23px;
    height: 20px;
    background: url(/gs_front/image/icon_myshop_wht.png)center no-repeat;
    background-size: 23px auto;
    margin-top: -4px;
    margin-right: 6px
}

.icon-search:before {
    width: 19px;
    height: 19px;
    background: url(/gs_front/image/icon_search.png)center no-repeat;
    background-size: 19px auto
}

.icon-searchshop_wht:before {
    width: 22px;
    height: 19px;
    background: url(/gs_front/image/icon_searchshop_wht.png)center no-repeat;
    background-size: 22px auto
}

.icon-sns:before {
    width: 18px;
    height: 18px;
    background: url(/gs_front/image/icon_sns.png)center no-repeat;
    background-size: 18px auto
}

.icon-unlock:before {
    width: 19px;
    height: 20px;
    background: url(/gs_front/image/icon_unlock.png)center no-repeat;
    background-size: 19px auto
}

.label-gold,
.label-red,
.label-silver {
    display: inline-block;
    min-width: 80px;
    height: 21px;
    color: #fff;
    font-size: 9pt;
    font-size: 1.2rem;
    line-height: 18px;
    text-align: center;
    padding: 1px 10px 0
}

.label-red {
    background-color: #930002
}

.label-gold {
    background-color: #333
}

.label-silver {
    background-color: #978f87
}

/* MEMO: IE用のSVGグラデーション背景とベンダープレフィックスを削除 */
.btn--entry,
.btn--inline--entry,
input.btn--entry {
    display: block;
    width: 150px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    text-decoration: none !important;

    /* フォント設定 */
    font-size: 16px;
    /* 1pcから変更（一般的） */
    font-weight: 700 !important;
    color: #fff !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /* 外観 */
    border-radius: 6px !important;
    box-shadow: 0 0 5px rgba(0, 0, 0, .05);

    /* 背景 */
    background-color: #cf1a2f;
    background-image: linear-gradient(to top, rgba(156, 27, 20, .5), rgba(130, 23, 17, .5) 2%, rgba(207, 36, 27, .5) 70%, rgba(224, 29, 65, .5) 98%, rgba(168, 29, 22, .5));

    /* アニメーション */
    transition: background-color .2s linear !important;
}

.btn--entry:hover,
.btn--inline--entry:hover,
input.btn--entry:hover {
    background: #ab0f22;
    background-image: linear-gradient(to top, rgba(156, 27, 20, .5), rgba(130, 23, 17, .5) 2%, rgba(207, 36, 27, .5) 70%, rgba(224, 29, 65, .5) 98%, rgba(168, 29, 22, .5));
    color: #fff !important;
    text-decoration: none
}

.btn--entry:visited,
.btn--inline--entry:visited,
input.btn--entry:visited {
    color: #fff !important
}

#footer-area .nav .sns_box ul {
    display: flex;
    justify-content: space-between
}

#footer-area .nav .sns_box ul li {
    width: 25%
}

#footer-area .nav .sns_box ul li img {
    width: 50%
}

#footer-area .nav .sns_box ul li a {
    padding-left: 0;
    transition: all .3s
}

#footer-area .nav .sns_box ul li a:hover {
    opacity: .6
}

#footer-area .nav .sns_box ul li a::before {
    display: none
}

.users-box.tablet {
    display: none
}

.isMobileDevice #header-area .cart-inbox a {
    display: block;
    position: relative
}

.isMobileDevice #header-area .cart-inbox a span {
    color: #c83150;
    font-size: 1pc;
    font-size: 1.6rem;
    position: absolute;
    display: block;
    width: 5pc;
    text-align: center;
    z-index: 3;
    font-weight: 700;
    top: -5px;
    left: -28px
}

#side section {
    margin-bottom: 2rem
}

#side section h2 {
    font-size: 1.8rem
}

.fukidashi {
    display: none;
    width: 100px;
    position: absolute;
    top: 100%;
    left: -26px;
    padding: 10px 3px;
    border-radius: 3px;
    background-color: rgba(0, 0, 0, .6);
    color: #fff;
    font-weight: 700;
    text-align: center;
    font-size: 1rem
}

.icon-tpoint-header,
.search-shop,
.users-guide,
.users-login,
.cart-inbox {
    position: relative
}

.icon-tpoint-header:hover+.fukidashi {
    display: block
}

.icon-lock:hover+.fukidashi {
    display: block
}

.icon-searchshop:hover+.fukidashi {
    display: block;
    left: -25px;
}

.icon-guide:hover+.fukidashi {
    display: block
}

.icon-lock:hover+.fukidashi {
    display: block
}

.icon-cart+.fukidashi {
    left: -60px
}

.icon-cart:hover+.fukidashi {
    display: block
}

::placeholder {
    color: #999999;
}

input:focus::-webkit-input-placeholder {
    color: transparent;
}

input:focus::-moz-placeholder {
    color: transparent;
}

input:focus::-ms-input-placeholder {
    color: transparent;
}

input:focus::placeholder {
    color: transparent;
}

.infomation_all {
    text-align: center;
    background-color: rgb(167, 140, 87);
    padding: 3px;
    margin: 0 -10px;
}

.infomation_all a {
    display: block;
}

.infomation_all a:hover {
    color: #ffffff;
}

.infomation_all span {
    color: #ffffff;
    font-weight: bold;
    line-height: 2;
}

.icon {
    height: 2rem;
}

.item-list .box .icon {
    margin-top: 5px;
}

.icon span {
    color: #fff;
    padding: .5rem 1rem;
    font-size: 1.2rem;
}

.icon.free_coupon span {
    background-color: #930002;
}

.icon.delivery_in span {
    background-color: #333;
}

.anker_area.fixed {
    z-index: 2 !important;
}

.autocomplete .header_search_display_block {
    display: block;
}

.dynamic_top .pic {
    margin: 0 auto 20px;
}

.dynamic_top .pic.border {
    border: 5px solid #f7f7f7;
}

.dynamic_top h1 {
    margin: 0 auto 20px;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
}

.dynamic_top h1 span {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
}

.dynamic_top h1 a {
    font-weight: bold;
    font-size: 3rem;
}

.dynamic_top h1 a span {
    display: block;
    font-weight: bold;
    font-size: 1.2rem;
}

.sp_only {
    display: none;
}

.dynamic_top_title {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    padding: 0 0 0 .6rem;
    border-left: 5px solid;
    color: #333;
}

.dynamic_top_title_bottom {
    margin-bottom: -50px;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: left;
    padding: 0 0 0 .6rem;
    border-left: 5px solid;
    color: #333;
}

.dynamic_top .lead {
    width: 70%;
    text-align: left;
    margin: 0 auto 60px;
}

.dynamic_top .item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dynamic_top .brand_item {
    width: 100%;
    margin: auto;
}

.dynamic_top .brand_item .item .pic_area {
    width: 30%
}

.dynamic_top .brand_item .item .txt_area {
    width: 70%;
    padding: 15px;
}

.dynamic_top .brand_item .item .txt_area .tltle {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
}

.dynamic_top .brand_item .item .txt_area .txt {
    text-align: left;
}


/* matchHeightの代わりになるCSS */
.mh-parent {
    /* もし親要素にクラスがない場合、親要素を特定する必要があります */
    display: flex;
    flex-wrap: wrap;
}

.mh {
    height: auto !important;
    /* JSでついた高さをリセット */
    display: flex;
    /* 中身のレイアウト用 */
    flex-direction: column;
    /* 中身を縦並びに */
}