@media (max-width: 767px) {
  .cw {
    padding-left: 15px;
    padding-right: 15px
  }
}

@media (min-width: 768px) {
  .cw {
    max-width: 1280px;
    width: calc( 100% - 60px);
    margin-left: auto;
    margin-right: auto
  }
}

.row:after {
  content: " ";
  display: block;
  clear: both
}

.row .left {
  float: left;
  width: 50%
}

.row .right {
  float: right;
  width: 50%
}

@media (min-width: 768px) {
  .row:after {
    content: " ";
    display: block;
    clear: both
  }
  .row .left {
    float: left;
    width: 50%
  }
  .row .right {
    float: right;
    width: 50%
  }
}

@media (max-width: 767px) {
  .row .left {
    float: none;
    width: 100%
  }
  .row .right {
    float: none;
    width: 100%
  }
}

@media (max-width: 767px) {
  .tabletOnly {
    display: none !important
  }
  .desktopOnly {
    display: none !important
  }
  .tabletUpOnly {
    display: none !important
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .mobileOnly {
    display: none !important
  }
  .desktopOnly {
    display: none !important
  }
}

@media (min-width: 1024px) {
  .mobileOnly {
    display: none !important
  }
  .tabletOnly {
    display: none !important
  }
  .touchOnly {
    display: none !important
  }
}

.fl {
  float: left
}

.fr {
  float: right
}

@media (min-width: 768px) {
  .flDesktop {
    float: left
  }
  .frDesotop {
    float: right
  }
}

.ac {
  text-align: center
}

.al {
  text-align: left
}

.ar {
  text-align: right
}

@media (min-width: 768px) {
  .acDesktop {
    text-align: center
  }
  .alDesktop {
    text-align: left
  }
  .arDesktop {
    text-align: right
  }
}

@media (max-width: 767px) {
  .acMobile {
    text-align: center
  }
  .alMobile {
    text-align: left
  }
  .arMobile {
    text-align: right
  }
}

.relative {
  position: relative
}

.absolute {
  position: absolute
}

.fixed {
  position: fixed
}

.cf:after {
  content: " ";
  display: block;
  clear: both
}

@media (min-width: 768px) {
  .cfDesktop:after {
    content: " ";
    display: block;
    clear: both
  }
}

@media (max-width: 767px) {
  .cfMobile:after {
    content: " ";
    display: block;
    clear: both
  }
}

.objectFit {
  object-fit: cover;
  object-position: center center;
  font-family: 'object-fit: cover; object-position: center center;';
  width: 100%;
  height: 100%
}

.objectFitContain {
  object-fit: contain;
  object-position: center center;
  font-family: 'object-fit: contain; object-position: center center;';
  width: 100%;
  height: 100%
}

.objectFitTop {
  object-fit: cover;
  object-position: center top;
  font-family: 'object-fit: cover; object-position: center top;';
  width: 100%;
  height: 100%
}

.objectFitRight {
  object-fit: cover;
  object-position: 100% center;
  font-family: 'object-fit: cover; object-position: 100% center;';
  width: 100%;
  height: 100%
}

.objectFitLeft {
  object-fit: cover;
  object-position: 100% center;
  font-family: 'object-fit: cover; object-position: 0 center;';
  width: 100%;
  height: 100%
}

.sectionTitle {
 font-family: 'Noto Serif JP', serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 36px;
    height: 32px;
}

.sectionText{
	margin: 0 auto;
	text-align: center;
	padding-bottom: 64px;
	font-size: 16px;
	line-height: 2;
}

#shoplist {
  margin-top: 110px
}

#shoplist .sectionTitle img {
  height: 24px
}

#shoplist .shoplistWrap {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto
}

#shoplist .shoplistWrap + .shoplistWrap {
  margin: 120px auto;
}

#shoplist .shoplistWrap .regionWrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  border-top: #ababab 2px solid;
  padding: 25px 0
}

/*#shoplist .shoplistWrap .regionWrap:last-child {
  border-bottom: #ababab 1px solid
}*/

#shoplist .shoplistWrap .regionWrap .locationWp {
  width: 70%
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: #DADADA 1px solid
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopName {
  font-weight: bold;
  margin-bottom: 7px
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopName a {
  transition: all ease .3s
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopName a:hover {
  color: #ABABAB
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopName .blank {
  background: url(../img/shoplist/icon_blank.png) right 49% no-repeat;
  background-size: 14px;
  padding-right: 20px
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address {
  width: calc(100% - 88px)
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .btnWrap {
  padding: 0 20px;
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address .postalCode {
  margin-right: 10px
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address .products img {
  height: 16px;
  margin-left: 8px;
  margin-right: 8px
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .link a {
  transition: all ease .3s
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .link a:hover {
  color: #ABABAB
}

#shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .btn {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 1.0rem;
  width: 88px;
  height: 32px;
  padding-top: 0
}

#shoplist .shoplistWrap .regionWrap .region {
  width: 30%
}

#shoplist .shoplistWrap .regionWrap .region .headLine {
  font-size: 1.5rem;
  font-weight: bold
}

@media (max-width: 767px) {
  .sectionText{
    text-align: left;
    font-size: 14px;
    padding-bottom: 48px;
  }
  #shoplist {
    margin-top: 44px
  }
  #shoplist .sectionTitle {
    text-align: left;
    margin-bottom: 22px
  }
  #shoplist .sectionTitle img {
    height: 19px
  }
  #shoplist .shoplistWrap .regionWrap .region {
    width: 100%;
    margin-bottom: 35px
  }
  #shoplist .shoplistWrap .regionWrap .locationWp {
    width: 100%
  }
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address {
    width: 100%;
    margin-bottom: 25px
  }
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .btnWrap {
    padding: 0
  }
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address .postalCode {
    display: block
  }
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .address .products {
    margin-top: 7px
  }
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail .btn {
    width: 110px;
    height: 40px;
    font-size: 1.2rem
  }
}

@media (max-width: 600px) {
  #shoplist .shoplistWrap .regionWrap .locationWp .shop .shopDetail {
    display: block;
  }
}


.br-pc::before {
  content: "\A" ;
	white-space: pre ;
}


@media (max-width: 767px) {
  .br-pc::before {
    content: initial;
  }
  .br-sp::before {
    content: "\A" ;
	  white-space: pre ;
  }
}