@charset "utf-8";
/* box_wrap
---------------------------------------- */
.box_wrap {
  position: relative;
  z-index: 1;
  padding: 0 50px;
}

.box_wrap .inner {
  display: flex;
  align-items: center;
  padding: 53px 0 64px;
}

.box_wrap figure {
  flex: none;
  margin-right: 60px;
  width: 580px;
}

.box_wrap .ttl {
  font-size: 2rem;
  letter-spacing: .05em;
  line-height: 1.6;
  margin-bottom: 17.5px;
}

.box_wrap .txt {
  font-size: 1.2rem;
  letter-spacing: .05em;
  line-height: 2.083;
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .box_wrap {
    padding: 0 1.563vw;
  }

  .box_wrap .inner {
    padding: 4.141vw 0 5vw;
  }

  .box_wrap figure {
    margin-right: 4.688vw;
    width: 45.313vw;
  }

  .box_wrap .ttl {
    margin-bottom: 1.367vw;
  }
}

@media screen and (max-width: 768px) {
  .box_wrap {
    padding: 0;
  }

  .box_wrap .inner {
    display: block;
    padding: 10% 0;
  }

  .box_wrap figure {
    margin: 0 auto 20px;
    width: 100%;
  }
  
  .box_wrap .ttl {
    font-size: 1.7rem;
  }
}

/* point_wrap_reuse
---------------------------------------- */
.point_wrap_reuse::before {
  top: -169px;
  bottom: initial;
}

.point_wrap_reuse .inner {
  padding: 36px 0 80px;
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .point_wrap_reuse::before {
    top: -13.203vw;
  }

  .point_wrap_reuse .inner {
    padding: 2.813vw 0 6.25vw;
  }
}

@media screen and (max-width: 768px) {
  .point_wrap_reuse .inner {
    padding: 10% 0;
  }
}

/* necessary_wrap_reuse
---------------------------------------- */
.necessary_wrap_reuse {
  margin-bottom: 107px;
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .necessary_wrap_reuse {
    margin-bottom: 8.359vw;
  }
}

@media screen and (max-width: 768px) {
  .necessary_wrap_reuse {
    margin-bottom: 12%;
  }
}

/* shop_list_wrap
---------------------------------------- */
.shop_list_wrap {
  padding: 0 50px;
  background: #F2F2F2;
}

.shop_list_wrap .inner {
  padding: 93px 0 100px;
}

.shop_list_wrap .lead {
  font-size: 2.5rem;
  letter-spacing: .06em;
  line-height: 1.48;
}

.shop_list_wrap .ttl {
  margin-bottom: 50.7px;
}

.shop_list_wrap .ttl_jp {
  margin-bottom: 12.3px;
}

.shop_list_wrap .jump_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 39px;
}

.shop_list_wrap .jump_list::before,
.shop_list_wrap .jump_list::after {
  content:"";
  width: calc((100% / 5) - .8px);
}

.shop_list_wrap .jump_list::before {
  order: 1;
}

.shop_list_wrap .jump_item {
  margin-bottom: 1px;
  width: calc((100% / 5) - .8px);
}

.shop_list_wrap .jump_item:first-of-type .jump_link,
.shop_list_wrap .jump_item:nth-of-type(5n + 1) .jump_link {
  border-radius: 5px 0 0 5px;
}

.shop_list_wrap .jump_item:nth-of-type(5n) .jump_link {
  border-radius: 0 5px 5px 0;
}

.shop_list_wrap .jump_link {
  font-size: 2rem;
  letter-spacing: .05em;
  line-height: 1.45;
  color: #fff;
  display: block;
  padding: 23px 0;
  background: #EA1F27;
}

.shop_list_wrap .shop_wrap {
  margin: 0 auto;
  max-width: 1240px;
}

.shop_list_wrap .sttl {
  font-size: 2.8rem;
  letter-spacing: .06em;
  line-height: 55px;
  margin-bottom: 25px;
  padding-left: 20px;
  height: 55px;
  border-left: 5px solid #EA1F27;
}

.shop_list_wrap .shop_list {
  margin-bottom: 50px;
}

.shop_list_wrap .shop_item {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 20px;
  padding: 50px;
  width: 100%;
  border-radius: 10px;
  background: #fff;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, .05);
}

.shop_list_wrap figure {
  flex: none;
  margin-right: 50px;
  width: 280px;
}

.shop_list_wrap .ssttl {
  font-size: 2.3rem;
  letter-spacing: .05em;
  line-height: 1.478;
  margin-bottom: 11px;
}

.shop_list_wrap .ssttl_link {
  pointer-events: none;
}

.shop_list_wrap .ssttl_link.twitter {
  position: relative;
  padding-right: 47px;
  pointer-events: auto;
}

.shop_list_wrap .ssttl_link.twitter::after {
  content:"";
  display: block;
  position: absolute;
  bottom: .3em;
  right: 0;
  width: 21px;
  height: 17px;
  background: url(../img/common/ico_twitter.svg) center / cover no-repeat;
}

.shop_list_wrap .d_list {
  display: flex;
  flex-wrap: wrap;
  max-width: 810px;
}

.shop_list_wrap .d_term,
.shop_list_wrap .d_des {
  font-size: 1.5rem;
  letter-spacing: .05em;
  line-height: 1.733;
  margin-top: 9px;
}

.shop_list_wrap .d_term {
  width: 4em;
  white-space: nowrap;
}

.shop_list_wrap .d_des {
  /*text-indent: -1em;*/
  /*padding-left: 1em;*/
  width: calc(100% - 4em);
}

.shop_list_wrap .d_des::before {
  content:"：";
}

.shop_list_wrap .note {
  font-size: 1.2rem;
  margin-left: .5em;
}

.shop_list_wrap .btn {
  text-align: center;
  position: absolute;
  top: 50px;
  right: 50px;
}

.shop_list_wrap .btn_link {
  font-size: 1.3rem;
  letter-spacing: .05em;
  line-height: 1.461;
  color: #fff;
  display: block;
  padding: 11px 0;
  width: 175px;
  border-radius: 3px;
  background: #1A1A1A;
}

@media screen and (min-width: 769px) {
  .shop_list_wrap .jump_link:hover {
    background: #D00008;
    opacity: 1;
  }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .shop_list_wrap {
    padding: 0 1.563vw;
  }

  .shop_list_wrap .inner {
    padding: 7.266vw 0 7.813vw;
  }

  .shop_list_wrap .ttl {
    margin-bottom: 3.961vw;
  }

  .shop_list_wrap .ttl_jp {
    margin-bottom: 0.961vw;
  }

  .shop_list_wrap .jump_list {
    margin-bottom: 3.047vw;
  }

  .shop_list_wrap .jump_link {
    padding: 1.797vw 0;
  }

  .shop_list_wrap .sttl {
    line-height: 4.297vw;
    margin-bottom: 1.953vw;
    padding-left: 1.563vw;
    height: 4.297vw;
    border-left: .39vw solid #EA1F27;
  }

  .shop_list_wrap .shop_list {
    margin-bottom: 3.906vw;
  }

  .shop_list_wrap .shop_item {
    margin-bottom: 1.563vw;
    padding: 3.906vw;
  }

  .shop_list_wrap figure {
    margin-right: 3.906vw;
    width: 21.875vw;
  }

  .shop_list_wrap .ssttl {
    margin-bottom: 0.859vw;
  }

  .shop_list_wrap .ssttl_link.twitter {
    padding-right: 3.672vw;
  }

  .shop_list_wrap .ssttl_link.twitter::after {
    width: 1.641vw;
    height: 1.328vw;
  }

  .shop_list_wrap .d_term,
  .shop_list_wrap .d_des {
    margin-top: 0.703vw;
  }

  .shop_list_wrap .btn {
    top: 3.906vw;
    right: 3.906vw;
  }

  .shop_list_wrap .btn_link {
    padding: 0.859vw 0;
    width: 13.672vw;
  }
}

@media screen and (max-width: 768px) {
  .shop_list_wrap {
    padding: 0;
  }

  .shop_list_wrap .inner {
    padding: 10% 0;
  }

  .shop_list_wrap .lead {
    font-size: 3.47vw;
  }

  .shop_list_wrap .ttl {
    margin-bottom: 30px;
  }

  .shop_list_wrap .ttl_jp {
    margin-bottom: 7px;
  }
  
  .shop_list_wrap .jump_list {
    margin-bottom: 8%;
  }

  .shop_list_wrap .sttl {
    margin-bottom: 4%;
  }

  .shop_list_wrap .shop_list {
    margin-bottom: 8%;
  }

  .shop_list_wrap .shop_item {
    display: block;
    margin-bottom: 4%;
    padding: 4% 4% 10% 4%;
  }

  .shop_list_wrap figure {
    margin: 0 auto 20px;
    width: 100%;
  }

  .shop_list_wrap .ssttl_link.twitter {
    padding-right: 30px;
  }

  .shop_list_wrap .ssttl_link.twitter::after {
    bottom: .25em;
  }

  .shop_list_wrap .d_list {
    display: block;
    max-width: 100%;
    margin-bottom: 30px;
  }

  .shop_list_wrap .d_term {
    font-weight: 700;
    font-size: 1.8rem;
    width: 100%;
  }

  .shop_list_wrap .d_des {
    text-indent: 0;
    padding-left: 0;
    width: 100%;
  }

  .shop_list_wrap .d_des::before {
    display: none;
  }

  .shop_list_wrap .btn {
    position: static;
    margin: 0 auto;
    width: 50%;
  }
  
  .shop_list_wrap .btn_link {
    width: 100%;
  }
  
  .shop_list_wrap .note {
    display: block;
    margin: 0;
  }
}

@media screen and (max-width: 540px) {
  .shop_list_wrap .lead {
    font-size: 2rem;
  }

  .shop_list_wrap .jump_link {
    font-size: 1.2rem;
    padding: 17px 0;
  }

  .shop_list_wrap .sttl {
    font-size: 2rem;
    line-height: 35px;
    margin-bottom: 4%;
    padding-left: 10px;
    height: 35px;
  }

  .shop_list_wrap .ssttl {
    font-size: 1.8rem;
  }

  .shop_list_wrap .d_term {
    font-size: 1.5rem;
    margin-top: 0;
  }

  .shop_list_wrap .d_des {
    font-size: 1.3rem;
    margin-top: 5px;
  }
}