@charset "utf-8";

#wrapper {
  padding-top: 100px;
}
.pnav {
  margin: 30px 0;
}
.pnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.pnav ul li {
  display: block;
  width: 39%;
}
.pnav ul li.location {
  width: 59%;
}
.pnav ul li a {
  display: block;
  width: 100%;
  height: 80px;
  border: 1px solid #e60019;
  padding-left: 20px;
  line-height: 76px;
  text-decoration: none;
  color: #e60019;
  position: relative;
  font-size: 20px;
}
.pnav ul li a:after {
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAzMiIgd2lkdGg9IjI4cHgiIGhlaWdodD0iMzJweCI+PGRlZnM+PHN0eWxlPi5ta19idG5fcntmaWxsOm5vbmU7c3Ryb2tlOiNlNjAwMTk7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJta19idG5fciIgZD0iTTEsMzEsMjcsMTYsMSwxIi8+PC9zdmc+ ");
  width: 28px;
  height: 32px;
  display: block;
  position: absolute;
  top: 10px;
  right: 15px;
}
.pnav ul li.current a {
  background-color: #e60019;
  color: #fff;
}
.pnav ul li.current a:after {
  content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAzMiIgd2lkdGg9IjI4cHgiIGhlaWdodD0iMzJweCI+PGRlZnM+PHN0eWxlPi5ta19idG5fd3tmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJta19idG5fdyIgZD0iTTEsMzEsMjcsMTYsMSwxIi8+PC9zdmc+");
}
#map {
  width: 100%;
}
.page_location {
  padding: 0 20px 60px;
}
.page_location .inner {
  padding: 0 0;
}
.page_location .shoplist {
  margin: 60px auto;
}
.page_location .shoplist ul {
  max-width: 1288px;
  margin: 0 auto;
  border-top: 1px solid #ccc;
}
.page_location .shoplist ul li {
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.page_location .shoplist ul li .shop_name {
  display: inline-block;
  text-decoration: none;
  color: #e60019;
  width: 30%;
}
.page_location .shoplist ul li .distance {
  position: absolute;
  top: 0;
  right: 0;
  color: #e60019;
  line-height: 56px;
}
.page_shoplist {
  padding: 0 50px 60px;
}
.page_shoplist .inner {
  padding: 0 0;
}
.page_shoplist .area {
  max-width: 1288px;
  margin: 0 auto;
  font-size: 20px;
}
.page_shoplist .area dt {
  border-top: 1px solid #ccc;
  color: #e60019;
  line-height: 64px;
  height: 64px;
  font-weight: normal;
  position: relative;
  cursor: pointer;
}
.page_shoplist .area dt .toggle {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 12px;
  right: 0px;
  z-index: 100;
  cursor: pointer;
  border-radius: 50%;
}
.page_shoplist .area dt .toggle:before,
.page_shoplist .area dt .toggle:after {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  border-top: 1px solid #e60019;
  position: absolute;
  top: 18px;
  right: 6px;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: rotateZ(180deg);
          transform: rotateZ(180deg);
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
  z-index: 100;
}
.page_shoplist .area dt .toggle:after {
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
}
.page_shoplist .area dt.open {
  cursor: auto;
}
.page_shoplist .area dt.open .toggle:before {
  -webkit-transform: rotateZ(360deg);
          transform: rotateZ(360deg);
}
.page_shoplist .area dt.open .toggle:after {
  -webkit-transform: rotateZ(360deg);
          transform: rotateZ(360deg);
}
.page_shoplist .area dd {
  border-top: 1px solid #ccc;
  display: block;
  padding: 0 0;
  margin: 0 0 0 200px;
  position: relative;
  display: none;
}
.page_shoplist .area dd .pref {
  position: absolute;
  top: 0;
  left: 0;
  line-height: 64px;
}
.page_shoplist .area dd .shops {
  position: relative;
  margin-left: 200px;
}
.page_shoplist .area dd .shops li {
  line-height: 54px;
  padding: 5px 0;
}
.page_shoplist .area dd .shops li + li {
  border-top: 1px solid #ccc;
}
.page_shoplist .area dd .shops a {
  color: #e60019;
  text-decoration: none;
}
.page_shoplist .area dt + dd {
  position: relative;
  top: -64px;
  margin-bottom: -64px;
}
.page_shoplist .area:last-child {
  border-bottom: 1px solid #ccc;
}
.page_shop {
  padding-bottom: 80px;
}
.page_shop .inner {
  padding: 60px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.page_shop .detail {
  width: 58%;
}
.page_shop .detail table {
  font-family: YuMincho, 'Yu Mincho', "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  width: 100%;
  text-align: left;
  font-size: 14px;
}
.page_shop .detail table caption {
  font-family: "KOSaotomeKinryo-M";
  font-size: 20px;
  text-align: left;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.page_shop .detail table th,
.page_shop .detail table td {
  padding-bottom: 10px;
  text-align: left;
}
.page_shop .detail table th {
  width: 170px;
  font-weight: normal;
}
.page_shop #map {
  width: 40%;
  height: auto;
}
a.linkBtn {
  display: block;
  max-width: 300px;
  height: 60px;
  border: 1px solid #e60019;
  padding-left: 20px;
  line-height: 60px;
  text-decoration: none;
  color: #e60019;
  position: relative;
  font-size: 16px;
  background: url("/cmsdir/wp-content/themes/capricciosa/img/mk_gt.svg") no-repeat 95% 49%;
  background-size: 15px 17px;
}
@media only screen and (max-width: 900px) {
  a.linkBtn {
    padding-left: 10px;
    font-size: 14px;
    height: 50px;
    line-height: 50px;
  }
}
@media only screen and (max-width: 600px) {
  a.linkBtn {
    font-size: 16px;
  }
}
@media screen and (min-width: 751px) {
  .pnav ul li a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .pnav ul li a:after {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .pnav ul li a:hover {
    background-color: #e60019;
    color: #fff;
  }
  .pnav ul li a:hover:after {
    content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAzMiIgd2lkdGg9IjI4cHgiIGhlaWdodD0iMzJweCI+PGRlZnM+PHN0eWxlPi5ta19idG5fd3tmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPSJta19idG5fdyIgZD0iTTEsMzEsMjcsMTYsMSwxIi8+PC9zdmc+");
  }
  a.linkBtn {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  a.linkBtn:hover {
    color: #fff;
    background-color: #e60019;
    background-image: url("/cmsdir/wp-content/themes/capricciosa/img/mk_gt_w.svg");
  }
  .page_shoplist .area dt,
  .page_shoplist .area dd .shops a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .page_shoplist .area dt:hover,
  .page_shoplist .area dd .shops a:hover {
    opacity: 0.5;
  }
  .page_shoplist .area dt.open:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 1440px) {
  .pnav ul li a,
  .page_shoplist .area,
  .page_shop .detail table caption {
    font-size: 1.39vw;
  }
  .page_shop .detail table {
    font-size: 0.97vw;
  }
  .pnav {
    margin: 2.08vw 0;
  }
  .page_shoplist {
    width: 89.44vw;
    padding: 0 0 4.17vw;
    margin: 0 auto;
  }
  .page_shoplist .area dd {
    margin-left: 13.89vw;
  }
  .page_shoplist .area dd .shops {
    margin-left: 13.89vw;
  }
  .page_shop .inner {
    padding-top: 4.16vw;
    width: 89.44vw;
  }
  .page_shop .detail table th {
    width: 11.8vw;
  }
  .page_location {
    padding: 0 0;
  }
  .page_location .inner {
    width: 89.44vw;
  }
  .page_location .shoplist {
    margin: 4.17vw 0;
  }
  .page_location .shoplist ul li {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 1200px) {
  .pnav ul li a,
  .page_shoplist .area,
  .page_shop .detail table caption {
    font-size: 1.66vw;
  }
  .page_shop .detail table {
    font-size: 1.17vw;
  }
}
@media screen and (max-width: 900px) {
  .pnav ul li a,
  .page_shoplist .area,
  .page_shop .detail table caption {
    font-size: 2.22vw;
  }
  .page_shop .detail table {
    font-size: 1.56vw;
  }
  .pnav ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pnav ul li {
    margin-bottom: 20px;
  }
  .pnav ul li a {
    height: 60px;
    line-height: 58px;
  }
  .page_location .shoplist ul li .shop_name {
    display: block;
    width: 100%;
  }
  .page_location .shoplist ul li .distance {
    top: auto;
    bottom: 0;
  }
  .page_shoplist .area dd {
    margin-left: 18vw;
  }
  .page_shoplist .area dd .shops {
    margin-left: 13vw;
  }
  .page_shop .detail table th {
    width: 18vw;
  }
}
@media screen and (max-width: 600px) {
  .page_shop .detail table caption {
    font-size: 5.33vw;
  }
  .pnav ul li a,
  .page_shoplist .area {
    font-size: 4.8vw;
  }
  .page_location .shoplist ul li .addr {
    font-size: 4.27vw;
  }
  .page_shop .detail table {
    font-size: 3.73vw;
  }
  .pnav {
    margin-top: 0;
  }
  .pnav ul li {
    width: 100%;
    margin-bottom: 5vw;
  }
  .pnav ul li.location {
    width: 100%;
  }
  .pnav ul li a {
    letter-spacing: 0;
    height: 12vw;
    line-height: 12vw;
  }
  .pnav ul li a:after {
    -webkit-transform-origin: 100% 10%;
            transform-origin: 100% 10%;
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
  }
  .page_shoplist .inner,
  .page_location .inner,
  .page_shop .inner {
    width: 81.33vw;
  }
  .page_location #map,
  .page_shop #map {
    width: 100%;
  }
  .page_shoplist {
    padding: 0 0 12vw;
  }
  .page_shoplist .area dt + dd {
    top: 0;
    margin-bottom: 0;
  }
  .page_shoplist .area dd {
    margin-left: 0px;
  }
  .page_shoplist .area dd .pref {
    top: 5px;
    line-height: 50px;
  }
  .page_shoplist .area dd .shops {
    margin-left: 24vw;
  }
  .page_shoplist .area dd .shops li {
    padding: 15px 0;
    line-height: 1.4;
    letter-spacing: 0;
  }
  .page_location .shoplist {
    margin-bottom: 0;
  }
  .page_location .shoplist ul li {
    padding: 3vw 0;
    line-height: 1.4;
  }
  .page_shop .inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-top: 0;
  }
  .page_shop #map {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .page_shop .detail {
    padding-top: 6vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
  .page_shop .detail table {
    letter-spacing: 0;
  }
  .page_shop .detail table th {
    width: 22vw;
    line-height: 1.6;
  }
  .page_shop .detail table td {
    line-height: 1.6;
    padding-bottom: 6vw;
  }
  a.linkBtn {
    width: 100%;
  }
}
