main#shop-list {
 background-color: #fef2f4;
 padding: 100px 0;
}

.article ul {
 display: flex;
 flex-wrap: wrap;
 max-width: 1280px;
 margin: 0 auto;
}

.article ul li {
 width: 235px;
 background-color: #fff;
 border: solid 1px #f5f2e1;
 box-sizing: border-box;
 margin-bottom: calc((1000px - 233px * 4) / 3);
 border-radius: 5px;
 margin-right: calc((1280px - (235px * 5)) / 4);
}

.article ul li:nth-child(5n) {
 margin-right: 0;
}

.shop-img {
 height: 233px;
 overflow: hidden;
 position: relative;
 border-radius: 5px 5px 0 0;
}

.shop-img img {
 border-radius: 5px 5px 0 0;
 width: auto;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 height: 100%;
}

.shop-cat {
 display: flex;
 justify-content: space-between;
 padding: 15px 15px 0;
 align-items: center;
}

p.res_no {
 width: 30px;
 height: 20px;
 font-size: 10px;
 color: #fff;
 text-align: center;
 line-height: 2.2em;
}

p.zone01 {
 background-color: #005133;
}

p.zone02 {
 background-color: #ad181f;
}

p.zone03 {
 background-color: #273b60;
}

p.zone04 {
 background-color: #0aa6d8;
}

.ct_img {
 width: 50%;
}

.ct_img img {
 width: 100%;
}

.shop-name {
 border-top: 1px solid #ccc;
 margin: 5px 15px 15px;
}

.shop-name p {
 font-weight: 500;
}

.shop-name p:first-child {
 color: #e6002e;
 font-size: 1.2rem;
 margin-top: 10px;
}

.shop-name p:nth-child(n+2) {
 color: #000;
 font-size: 1.5rem;
}

main#shop-list h2 {
 margin: 0 auto 100px;
}


.shop-name h3 {
 color: #000;
 font-size: 1.5rem;
 font-weight: 500;
 text-align: left;
 line-height: inherit;
}

.shop-name h3:before,
.shop-name h3:after {
 content: none;
}

p.shop-area02 {
 color: #ad181f;
 font-weight: 600;
}

p.shop-area01 {
 color: #005133;
 font-weight: 600;
}

p.shop-area03 {
 color: #273b60;
 font-weight: 600;
}

.floorguide-btn {
 width: 1280px;
 margin: 50px auto;
 text-align: center;
}

.floorguide-btn a {
 background-color: #e6002d;
 color: #fff;
 padding: 20px 50px;
 border-radius: 5px;
 font-size: 2.0rem;
}

/* --------------------------------------------------------------------------------------
   ios用のリンク対策
--------------------------------------------------------------------------------------- */

@media (min-width: 1024px) {}

/* --------------------------------------------------------------------------------------
   スマホ
--------------------------------------------------------------------------------------- */

@media (max-width: 1024px) {

 main#shop-list {
  padding: 10vw 0;
 }

 .article ul {
  max-width: 90%;
  justify-content: space-between;
 }

 .article ul li {
  width: 48%;
  margin-right: 0;
  border: 0;
 }

 h2::before,
 h2::after {
  content: "";
  margin: 0 35px;
  background: url(/img/common/slash.png) 0 0 no-repeat;
  -webkit-background-size: 11px 15px;
  display: inline-block;
  width: 11px;
  height: 15px;
  padding-left: 5px;
 }

 main#shop-list h2 {
  font-size: 2.0rem;
  margin-bottom: 10vw;
 }

 .article ul {
  max-width: 90%;
  justify-content: space-between;
 }

 .shop-img {
  height: calc(100vw * 0.9 * 0.48);
 }

 p.shop-area01,
 p.shop-area02,
 p.shop-area03 {
  font-size: 1.2rem;
 }

 .shop-name h3 {
  font-size: 1.3rem;
 }

 .floorguide-btn {
  width: 100%;
  margin: 10vw auto 0;
 }

 .floorguide-btn a {
  font-size: 1.6rem;
  padding: 7vw 15vw;
 }
}
