.bansen_lead {
  margin: 0 auto;
  max-width: 1000px;
  padding-bottom: 3em;
}
.bansen_lead h2 {
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 1.5em;
  text-align: center;
}
.bansen_lead h2 strong {
  display: inline-block;
  position: relative;
}
.bansen_lead h2 strong:before {
  background: #E73263;
  bottom: 1.4em;
  content: "";
  height: 2px;
  left: -100px;
  position: absolute;
  transform: rotate(45deg);
  width: 90px;
}
.bansen_lead h2 strong:after {
  background: #E73263;
  bottom: 1.4em;
  content: "";
  height: 2px;
  right: -90px;
  position: absolute;
  transform: rotate(-45deg);
  width: 90px;
}
.bansen_lead h2 span {
  color: #E73263;
  display: block;
}
.bansen_lead div {
  margin-bottom: 2.5em;
}
.bansen_lead p {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2em;
  text-align: center;
}
.bansen_lead p strong {
  color: #E73263;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .bansen_lead {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  .bansen_lead h2 {
    font-size: 2rem;
  }
  .bansen_lead h2 strong:before {
    left: -70px;
    width: 60px;
  }
  .bansen_lead h2 strong:after {
    right: -60px;
    width: 60px;
  }
  .bansen_lead p {
    font-size: 1.8rem;
    text-align: left;
  }
}

#howto {
  padding-bottom: 10rem;
}
#howto .flow {
  background: #E73263;
  padding: 6.6rem 2rem;
}
#howto .flow .inner {
  margin: 0 auto;
  max-width: 1000px;
}
#howto .flow ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}
#howto .flow ul li {
  background: #fff;
  border-radius: 10px;
  padding: 1.5em 2.2em 1em;
  position: relative;
  width: 30%;
}
#howto .flow ul li h3 {
  color: #E73263;
  font-size: 1.9rem;
  font-weight: 700;
  margin-bottom: 1em;
}
#howto .flow ul li h3 span {
  background: #28B484;
  border-radius: 100px;
  color: #fff;
  display: inline-block;
  font-family: "Zalando Sans SemiExpanded", sans-serif;
  font-size: 4rem;
  font-weight: 600;
  height: 1.6em;
  left: -.8em;
  line-height: 1.6em;
  position: absolute;
  text-align: center;
  top: -.5em;
  width: 1.6em;
}
#howto .flow ul li dl dd {
  color: #664822;
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
}
#howto .flow ul li:first-child dl dt {
  margin: 0 auto 1em;
  width: 54%;
}
#howto .flow ul li:first-child dl dd a {
  background: #28B484;
  border-radius: 10px;
  color: #fff;
  display: block;
  padding: .6em .2em;
}
#howto .flow ul li:first-child dl dd a span {
  display: inline-block;
  padding-left: 24px;
  position: relative;
}
#howto .flow ul li:first-child dl dd a span:before {
  background: url("/lib/img/cmn/icon_arrow_01.png") no-repeat;
  background-size: 16px auto;
  content: "";
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}
#howto .flow ul li:nth-child(2) dl dt {
  margin: 0 auto 2em;
  width: 76%;
}
#howto .flow ul li:nth-child(3) dl dt {
  margin: 0 auto 1em;
  width: 71%;
}
#howto .flow .stamp_sns {
  border: 10px solid #C52853;
  border-radius: 15px;
}
#howto .flow .stamp_sns h2 {
  background: #C52853;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 600;
  padding: .8em 1em;
}
#howto .flow .stamp_sns h2 span {
  display: block;
  margin: 0 auto;
  padding: 0 70px;
  position: relative;
  text-align: center;
  width: 70%;
}
#howto .flow .stamp_sns h2 span:before {
  background: url("/lib/img/stamp/icon_X.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 48px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 47px;
}
#howto .flow .stamp_sns h2 span:after {
  background: url("/lib/img/stamp/icon_stamp.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 61px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 70px;
}
#howto .flow .stamp_sns .sns_howto {
  display: flex;
  justify-content: space-between;
  padding: 2em 2em;
}
#howto .flow .stamp_sns .sns_howto ol {
  margin-bottom: 1em;
}
#howto .flow .stamp_sns .sns_howto ol li {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: .3em;
  padding-left: 1.5em;
  position: relative;
}
#howto .flow .stamp_sns .sns_howto ol li span {
  background: #fff;
  border-radius: 30px;
  color: #E73263;
  height: 1.2em;
  left: 0;
  line-height: 1.2em;
  position: absolute;
  text-align: center;
  top: .1em;
  width: 1.2em;
}
#howto .flow .stamp_sns .sns_howto ol li strong {
  text-decoration: underline;
}
#howto .flow .stamp_sns .sns_howto p {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
}
#howto .flow .stamp_sns .sns_howto .sns_qr {
  width: 13%;
}
#howto .bansenin {
  background: #EB614B;
  margin-bottom: 6rem;
  padding: 5rem 2rem;
}
#howto .bansenin dl {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
}
#howto .bansenin dl dt {
  width: 24%;
}
#howto .bansenin dl dt span {
  display: block;
  margin: 0 auto;
  width: 64%;
}
#howto .bansenin dl dd {
  border-bottom: 1px dashed #fff;
  border-top: 1px dashed #fff;
  color: #fff;
  font-size: 1.8rem;
  padding: 2em .5em 2em 1.5em;
  width: 76%;
}
#howto .btn_array {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1000px;
}
#howto .btn_array li {
  width: 48%;
}
#howto .btn_array li a {
  border-radius: 10px;
  color: #fff;
  display: block;
  font-size: 2rem;
  font-weight: 600;
  padding: 1em .5em;
  text-align: center;
}
#howto .btn_array li a span {
  display: inline-block;
  position: relative;
}
#howto .btn_array li:first-child a {
  background: #E73263;
}
#howto .btn_array li:first-child a span {
  padding-left: 40px;
}
#howto .btn_array li:first-child a span:before {
  background: url("/lib/img/cmn/icon_pdf.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 30px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 30px;
}
#howto .btn_array li:last-child a {
  background: #28B484;
}
#howto .btn_array li:last-child a span {
  padding-left: 30px;
}
#howto .btn_array li:last-child a span:before {
  background: url("/lib/img/cmn/icon_arrow_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 16px;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: .3em;
  width: 16px;
}
@media screen and (max-width: 1024px) {
  #howto .flow .stamp_sns h2 span {
    width: auto;
  }
  #howto .btn_array {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  #howto {
    padding-bottom: 6rem;
  }
  #howto .flow {
    padding: 5rem 2rem;
  }
  #howto .flow ul {
    display: block;
  }
  #howto .flow ul li {
    margin-bottom: 2rem;
    width: auto;
  }
  #howto .flow ul li h3 {
    font-size: 1.8rem;
  }
  #howto .flow ul li h3 span {
    font-size: 3rem;
    left: -.6em;
  }
  #howto .flow ul li dl {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
  #howto .flow ul li dl dt {
    width: 40%;
  }
  #howto .flow ul li dl dd {
    font-size: 1.6rem;
    padding-left: 1em;
    text-align: left;
    width: 60%;
  }
  #howto .flow ul li:first-child dl dt {
    margin: 0 auto;
    width: 40%;
  }
  #howto .flow ul li:first-child dl dt img {
    display: block;
    margin: 0 auto;
    width: 60%;
  }
  #howto .flow ul li:first-child dl dd {
    text-align: center;
  }
  #howto .flow ul li:nth-child(2) dl dt {
    margin: 0 auto;
    width: 40%;
  }
  #howto .flow ul li:nth-child(3) dl dt {
    margin: 0 auto;
    width: 40%;
  }
  #howto .flow .stamp_sns h2 {
    font-size: 1.8rem;
    padding: .3em .5em .8em;
  }
  #howto .flow .stamp_sns h2 span {
    padding: 0 0 0 40px;
    text-align: left;
    width: auto;
  }
  #howto .flow .stamp_sns h2 span:before {
    height: 31px;
    width: 30px;
  }
  #howto .flow .stamp_sns h2 span:after {
    display: none;
  }
  #howto .flow .stamp_sns .sns_howto {
    display: block;
    padding: 1em;
  }
  #howto .flow .stamp_sns .sns_howto ol li {
    font-size: 1.6rem;
  }
  #howto .flow .stamp_sns .sns_howto p {
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
  #howto .flow .stamp_sns .sns_howto .sns_qr {
    margin: 0 auto;
    width: 30%;
  }
  #howto .bansenin {
    margin-bottom: 4rem;
    padding: 3rem 2rem;
  }
  #howto .bansenin dl {
    display: block;
  }
  #howto .bansenin dl dt {
    margin-bottom: 1.5em;
    width: auto;
  }
  #howto .bansenin dl dt span {
    width: 38%;
  }
  #howto .bansenin dl dd {
    font-size: 1.6rem;
    padding: 2em 0;
    width: auto;
  }
  #howto .btn_array {
    display: block;
  }
  #howto .btn_array li {
    margin-bottom: 2rem;
    width: auto;
  }
  #howto .btn_array li a {
    font-size: 1.6rem;
  }
  #howto .btn_array li:first-child a span {
    padding-left: 30px;
  }
  #howto .btn_array li:first-child a span:before {
    height: 20px;
    width: 20px;
  }
  #howto .btn_array li:last-child a span {
    padding-left: 20px;
  }
  #howto .btn_array li:last-child a span:before {
    height: 14px;
    width: 14px;
  }
}

/* // list
----------------------------------- */
.shop_list {
  margin: 0 auto;
  max-width: 1000px;
}

.anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 5em;
}
.anchor li {
  margin: 0 1% 1.5rem 0;
  width: 19%;
}
.anchor li a {
  background: #28B484;
  border-radius: 10px;
  color: #fff;
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  padding: .7em .3em .6em 2.5em;
  position: relative;
}
.anchor li a:before {
  background: url("/lib/img/cmn/icon_arrow_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 16px;
  left: 1em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 16px;
}

.municipalities {
  margin-bottom: 4em;
}
.municipalities h2 {
  font-size: 2.6rem;
  font-weight: 600;
  margin-bottom: 1.2em;
  padding-left: 50px;
  position: relative;
}
.municipalities h2:before {
  background: url("/lib/img/cmn/bg_line_01.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
}
.municipalities dl {
  background: #FBF8E9;
  border-radius: 10px;
  display: block;
  padding: 2em 2em 1.5em;
}
.municipalities dl dt {
  border-bottom: 1px solid #ccc;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1em;
  padding: 0 0 .5em 2em;
  position: relative;
}
.municipalities dl dt:before {
  background: url("/lib/img/cmn/icon_hd.png") no-repeat;
  background-size: 100% auto;
  content: "";
  height: 21px;
  left: 0;
  position: absolute;
  top: .1em;
  width: 24px;
}
.municipalities dl dt:nth-of-type(2) {
  display: block;
  margin-top: 2.5em;
}
.municipalities dl dd ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.municipalities dl dd ul li {
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 1% .5em 0;
  padding-left: 1.2em;
  position: relative;
  width: 32%;
}
.municipalities dl dd ul li:before {
  background: url("/lib/img/cmn/icon_arrow_03.png") no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 11px;
  left: 0;
  position: absolute;
  top: .4em;
  width: 11px;
}
.municipalities dl dd ul li a:link {
  text-decoration: underline;
}

@media screen and (max-width: 1024px) {
  .shop_list {
    padding: 0 2rem;
  }

  .municipalities dl dd ul li {
    width: 48%;
  }
  .municipalities dl dd ul li:nth-child(odd) {
    margin-right: 2%;
  }
}
@media screen and (max-width: 768px) {
  .anchor {
    margin-bottom: 3em;
  }
  .anchor li {
    margin: 0 4% 1rem 0;
    width: 48%;
  }
  .anchor li:nth-child(even) {
    margin-right: 0;
  }
  .anchor li a {
    font-size: 1.6rem;
  }

  .municipalities {
    margin-bottom: 3em;
  }
  .municipalities h2 {
    font-size: 2.2rem;
  }
  .municipalities dl dt {
    font-size: 1.8rem;
  }
  .municipalities dl dd ul {
    display: block;
  }
  .municipalities dl dd ul li {
    font-size: 1.5rem;
    margin: 0 0 .5em 0;
    width: auto;
  }
}
