@charset "utf-8";

.shops h1.title {
    margin: 0 0 67px;
}
.shops h1.title a:hover {
    border: none;
    margin-bottom: 0;
}
.shops h2.title {
    margin: 0 0 50px;
    padding-bottom: 0;
}
.shops .shops-detail,
.shops .shopslink {
    width: 560px;
    margin: 0 auto;
}
.shops .shopslink {
    width: 560px;
    margin: 0 auto 71px;
}
.shops .span6 {
    float: none;
    display: inline-block;
    width: 270px;
    height: 100px;
    margin-left: 11px;
    margin-bottom: 15px;
    font-size: 16px;
    border: solid 1px #000;
}
.shops .span6:nth-child(2n+1) {
    margin-left: 0;
}
.shops .span6 a {
    width: 100%;
    height: 100%;
    display: inline-block;
    text-align: center;
}
.shops .shopslink a:hover {
    color: #fff;
}
.shops .shopslink a:active,
.shops .shopslink a:hover,
.shops .areanavi li.active a {
    border-bottom: none;
    margin-bottom: 0;
    background: #333;
    color: #fff;
}
.shops .span6 a span {
    vertical-align: -40px;
}
.shops .span6 a span img {
    margin: -4px 0 0 3px;
}

/* area */
.shops .areanavi {
    overflow: hidden;
    margin-bottom: 40px;
}
.shops .areanavi li {
    float: left;
    width: 22.9%;
    height: 50px;
    margin-left: 2.7%;
    margin-bottom: 15px;
    border: solid 1px #333333;
}
.shops .areanavi li:nth-child(4n+1) {
    margin-left: 0;
}
.shops .areanavi li a {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 100%;
    text-align: center;
}
.shops .areanavi li a span {
    position: absolute;
    width: 100%;
    line-height: 1em;
    top: 36%;
    left: 0;
    font-size: 12px;
}
.shops .areanavi li a span img {
    margin: -2px 0 0 3px;
}
.shops-inner-wrap {
    margin-bottom: 90px;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul {
    overflow: hidden;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li {
    position: relative;
    width: 48%;
    height: 76px;
    float: left;
    margin-left: 15px;
    border-bottom: solid 1px #ccc;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li:nth-child(2n+1) {
    margin-left: 0;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li:nth-child(1),
.shops-inner-wrap.shops-inner-wrap_areatop ul li:nth-child(2) {
    border-top: solid 1px #ccc;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li.last {
    width: 100%;
    height: auto;
    padding: 37px 0;
    margin: 0;
    text-align: center;
    font-weight: normal;
    border-bottom: solid 1px #333;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li a {
    display: inline-block;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    padding: 30px 0;
    font-weight: bold;
    text-align: center;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li.last a {
    font-weight: normal;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li a .star {
    display: inline-block;
    margin-left: 3px;
    width: 14px;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li a:hover {
    border-bottom: none;
}

/* online */
.onlinestore .shops-inner-wrap.shops-inner-wrap_areatop ul li {
    height: 96px;
}
.onlinestore .shops-inner-wrap.shops-inner-wrap_areatop ul li a {
    padding: 30px 0;
}
.onlinestore .shops-inner-wrap.shops-inner-wrap_areatop ul li .small {
    font-size: 11px;
}

/* shop */
.shops .store_detail {
    text-align: center;
}
.shops .store_detail h2 {
    margin-top: 52px;
    margin-bottom: 38px;
    font-size: 28px;
}
.shops .store_detail .detail_caption h3 {
    font-weight: 300;
    font-size: 18px;
    margin: 28px 0 7px;
}
.shops .store_detail .detail_caption h3.jp {
    font-size: 14px;
}
.shops .store_detail .point {
    margin: 40px 0 0;
}
.shops .store_detail .point a {
    padding: 0px 10px;
    display: inline-block;
    font-size: 13px;
    border: solid 1px #333;
}
.shops .store_images {
    overflow: hidden;
    margin-top: 40px;
}
.shops .store_images figure {
    margin: 0;
    float: left;
    width: 49%;
    margin-left: 2%;
}
.shops .store_images figure:nth-child(2n+1) {
    margin-left: 0;
}
.shops .map {
    margin-top: 13px;
}
.shops .map #storelocator_map {
    height: 400px;
}
.shops .map .button {
    display: block;
    border: 1px solid #404040;
    margin-top: 13px;
    padding: 18px 30px;
    background-color: transparent;
    height: 60px;
    text-align: center;
}
.shops ul.guide {
    margin-top: 43px;
}
.shops ul.guide li {
    margin-bottom: 27px;
    line-height: 24px;
}
.shops ul.guide li:first-child {
    padding-bottom: 34px;
    margin-bottom: 34px;
    border-bottom: solid 1px #eee;
}
.shops ul.guide li span {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
}
.shops-detail.shops .closed{
    text-align: center;
}



@media ( max-width: 767px ) {
.shops #page-body {
  padding-bottom: 0;
}
.shops .content-area {
  min-height: auto;
}
.shops .row {
    width: 100%;
}
.shops.index .shopslink {
    margin: 0 auto 50px;
}
.shops .span6 {
   width: 48.5%;
   margin-left: 2%;
}
.shops-inner-wrap {
    margin-bottom: 75px;
}
.shops-inner-wrap_areatop {
    margin-bottom: 0;
}
.shops h2.title {
    margin: 0 0 35px;
    padding-top: 35px;
    padding-bottom: 0;
    font-size: 14px;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li,
.onlinestore .shops-inner-wrap.shops-inner-wrap_areatop ul li {
    width: 100%;
    height: 53px;
    margin-left: 0;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li:nth-child(2) {
    border-top: none;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li.last {
    padding: 26px 0;
    font-size: 11px;
    border-bottom: none;
    height: 70px;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li a,
.onlinestore .shops-inner-wrap.shops-inner-wrap_areatop ul li a {
    width: 100%;
    padding: 16px 0;
    font-size: 13px;
}
.shops-inner-wrap.shops-inner-wrap_areatop ul li.last a {
    font-weight: normal;
    font-size: 11px;
}
.shops .shops-detail,
.shops .shopslink {
    width: 100%;
    margin: 0 auto;
}
/*.shops .shopslink {
    width: auto;
    margin: 0 -10px;
}*/
.shops h1.title {
    margin: 0;
    padding: 34px 0;
    font-size: 14px;
    font-weight: 600;
}
.shops .store_detail h2 {
    margin-top: 34px;
    margin-bottom: 28px;
    font-size: 20px;
}
.shops .store_detail .detail_caption {
    font-size: 12px;
}
.shops .store_detail .detail_caption h3 {
    font-size: 13px;
    margin: 20px 0 2px;
}
.shops .store_detail .point {
    margin: 30px 0 0;
    font-size: 10px;
}
.shops .store_detail .point span {
    font-size: 11px;
}
.shops .store_images {
    margin-top: 30px;
}
.shops .map .button {
    padding: 8px 30px;
    height: 40px;
}
.shops ul.guide {
    margin-top: 30px;
}
.shops .areanavi li a span {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    font-size: 10px;
}
}


@media ( max-width: 500px ) {
.shops .span6 {
   width: 48.2%;
   height: 60px; 
   margin-left: 2%;
   font-size: 13px;
}
.shops .span6 a span {
    vertical-align: -20px;
}
.shops .map #storelocator_map {
    height: 300px;
}
/*.shops .areanavi li {
    height: 40px;
    width: 24%;
    margin-bottom: 5px;
    margin-left: 1.3%;
}*/
.shops .areanavi li {
    height: 40px;
    width: 24.4%;
    margin-bottom: 5px;
    margin-left: 0.8%;
}
}

/* DH_FRONT_DEPT-2643 */
.shops .map #storelocator_map iframe {
    width: 100%;
    filter: -webkit-filter: grayscale(100%);
            -moz-filter: grayscale(100%);
            -ms-filter: grayscale(100%);
            -o-filter: grayscale(100%);
            filter: grayscale(100%);
}
@media (max-width: 500px) {
    .shops .map #storelocator_map iframe {
        height: 300px;
    }
}