.signbtn {
  background: #f54f11; /* 背景色 */
  color: #fff; /* 文字色 */
  padding: 16px 40px; /* 上下の余白、左右の余白 */
  text-decoration: none; /* デフォルトで入る下線を消す */
  border-radius: 30px; /* 角を丸くする */
  transition-property: opacity;
　-webkit-transition-property: opacity;
  transition-duration: .5s;
  -webkit-transition-duration: .5s;
}
.btn:hover {
  opacity: .7;
}

/*クーポン*/
.intro{
  margin-bottom: 90px;
}
.intro_title{
  font-weight: bold;
  font-size: 23px;
  text-align: center;
  border-bottom: 1px solid;
  color: #000;
  margin-bottom: 20px;
}
.intro_box{
  display: flex;
  justify-content: space-between;
  margin: 20px 0 80px;
}
.intro_box div{
  width:50%;
  text-align: center;
}
.intro_box p{
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: bold;
  text-align: center;
  color: #000;
}
.step{
  text-align: center;
  padding: 0 20px 20px;
  background-image: repeating-linear-gradient(-140deg, transparent, transparent 3px, rgb(255, 243, 211) 3px, rgb(255, 243, 211) 7px);
}
.step_title{
  font-weight: bold;
  font-size: 28px;
  justify-content: center;
  text-align: center;
  color:#000;
  margin-bottom: 20px;
  margin: auto;
  padding: 10px 30px;
}
.step > img{
  width: 140px;
  height: auto;
  margin: -20px auto 0;
  position: relative;
}
.step_list{
  padding: 30px 20px 20px;
  background: #fff;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
}
.step_list li{
  display: flex;
  gap:20px;
  padding: 0 10px 30px;
  position: relative;
}
.step_list li:after{
  content: '';
  left: 60px;
  height: 100%;
  width: 0px;
  border-left: 2px dotted #000;
  display: inline-block;
  top:0;
  position: absolute;
}
.step_list li:last-child:after{
  display: none;
}
.step_list li div:nth-child(1){
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  font-size: 18px;
  font-weight: bold;
  color: #000;
  text-align: center;
  align-self: flex-start;
  border-radius: 50%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  background: #ffb29d;
  position: relative;
  z-index: 2;
  border: 2px solid #000;
}
.step_list li div:nth-child(1) span{
  font-size: 30px;
}
.step_list li div:nth-child(2){
  font-size: 18px;
  font-weight: bold;
  align-self: center;
  text-align: left;
}
.step_list li div:nth-child(2) span{
  color:red;
}
@media only screen and (max-width: 915px){
  .intro_box{
    flex-direction: column;
    gap:40px;
  }
  .intro_box div{
    width: 100%;
  }
  .step_title{
    font-size: 5.5vw;
    white-space: nowrap;
  }
  .step_list{
    padding: 20px 10px 10px;
  }
  .step_list li:after{
    border-left: 1px dashed #000;
  }
  .step_list li div:nth-child(1){
    width: 15vw;
    height: 15vw;
    font-size: 3vw;
    border:1px solid #000;
  }
  .step_list li:after{
    left: calc(7.5vw + 10.5px);
  }
  .step_list li div:nth-child(1) span{
    font-size: 3.5vw;
  }
  .step_list li div:nth-child(2){
    font-size: 12px;
  }
}