.special {
  background: url(../img/top/set-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 13.02083vw 0;
}
.special .special-cont {
  background-color: #fff;
  width: 89.84375vw;
  max-width: 104.16667vw;
  margin: 0 auto;
  border: 0.52083vw solid #e41f1a;
  box-shadow: 0 0 5.20833vw rgba(0, 0, 0, 0.1);
  padding: 5.20833vw;
  position: relative;
}
.special .special-cont .special-title {
  font-size: 4.6875vw;
  text-align: center;
  font-weight: 600;
  position: relative;
  margin-bottom: 1.80625vw;
}
.special .special-cont .special-title .title-top {
  position: absolute;
  top: -6.2vw;
  left: 50%;
  transform: translateX(-50%) translateY(50%) skewX(-10deg);
  background: #e41f1a;
  padding: 0.2em 1em;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .special .special-cont .special-title .title-top {
    top: -15.2vw;
  }
}
@media screen and (min-width: 1441px) {
  .special .special-cont .special-title .title-top {
    top: -100px;
  }
}
.special .special-cont .special-title .title-top span {
  color: #fff;
  display: inline-block;
  transform: skewX(10deg);
}
.special .special-cont .special-title .title-main {
  color: #333;
  font-weight: 600;
  font-size: 5.5vw;
  font-style: italic;
  position: relative;
}
.special .special-cont .special-title .title-main::before {
  content: "";
  width: 4px;
  height: 1em;
  background: #e41f1a;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 7em);
  transform: rotate(-30deg);
}
.special .special-cont .special-title .title-main::after {
  content: "";
  width: 4px;
  height: 1em;
  background: #e41f1a;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% + 7em);
  transform: rotate(30deg);
}
.special .special-cont .special-title .title-main .title-main-b {
  font-size: 6.25vw;
}
.special .special-cont .special-title .title-main small {
  font-size: 0.5em;
  color: #333;
}
.special .special-cont .special-contents .special-lists {
  margin-bottom: 3.51042vw;
  display: flex;
}
.special .special-cont .special-contents .special-lists .special-list {
  width: 24.30555333333333vw;
  background-color: #fff;
  padding: 2vw 2vw 1.30208vw;
  margin: 0 auto;
  border: 0.26042vw solid #e41f1a;
  box-shadow: 1.30208vw 1.30208vw 0 #e41f1a;
  text-align: center;
}
.special .special-cont .special-contents .special-lists .special-list .list-title {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e41f1a;
  font-weight: 600;
  font-size: 2.86458vw;
  height: 6.80729vw;
  margin-bottom: -2.60417vw;
}
.special .special-cont .special-contents .special-lists .special-list .list-price {
  font-weight: 600;
  font-size: 4.6875vw;
}
.special .special-cont .special-contents .special-lists .special-list .list-price span {
  font-family: 'Oswald', sans-serif;
  font-weight: 100;
  /* color: #e41f1a; */
  display: inline-block;
  background: linear-gradient(to right, #F98938, #E72E1E);
  background: -webkit-linear-gradient(to right, #F98938, #E72E1E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 0 0.2em;
  font-size: 11.71875vw;
}
.special .special-cont .special-contents .special-lists-other {
  margin-bottom: 1.51042vw;
  text-align: center;
}
.special .special-cont .special-contents .special-lists-other .list-other-title {
  font-size: 4.6875vw;
  font-weight: 600;
  margin-bottom: 1.30208vw;
}
.special .special-cont .special-contents .special-lists-other .list-other-title span {
  color: #e41f1a;
  font-size: 6.25vw;
}
.special .special-cont .special-contents .btn-box {
  max-width: 75.52083vw;
}
.special .special-cont .special-contents .btn{
  padding:0;
}
.special .special-cont .special-contents .btn-box a {
  padding:3vw 0;
  font-size:3.8vw;
}
.special .detail_contents {
  margin: 0 auto;
  max-width: 75.52083vw;
  width: 90%
}
.special .detail_contents .btnClick {
  position: relative;
  cursor: pointer;
  margin-top: 2.0833333333vw;
  padding: 2.0833333333vw 0;
  background: #333;
  color: #fff;
  text-align: center
}
.special .detail_contents .btnClick::after {
  font-weight: 600;
  color: #fff;
  content: "＋";
  font-size: 2rem;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%)
}
.special .detail_contents .btnClick.is-active::after {
  content: "ー"
}
.special .detail {
  height: 0;
  opacity: 0;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc
}
.special .btnClick + .detail.is-open {
  opacity: 1;
  height: 100%;
  transition: all ease 0.3s;
  padding: 2.0833333333vw 4.1666666666vw;
  margin-bottom: 2.0833333333vw
}
@media screen and (min-width: 800px) {
  .special {
    padding: 6.94444vw 0;
  }
  .special .special-cont {
    background-color: #fff;
    width: 96%;
    max-width: 70.55556vw;
    margin: 0 auto;
    border: 0.13889vw solid #e41f1a;
    box-shadow: 0 0 2.77778vw rgba(0, 0, 0, 0.1);
    padding: 2.77778vw;
  }
  .special .special-cont .special-title {
    font-size: 1.86667vw;
    text-align: center;
    font-weight: 600;
    position: relative;
    margin-bottom: 2.08333vw;
  }
  .special .special-cont .special-title .title-main {
    color: #333;
    font-weight: 600;
    font-size: 2.8vw;
    font-style: italic;
    letter-spacing: 0em;
  }
  .special .special-cont .special-title .title-main .title-main-b {
    font-size: 4.33333vw;
  }
  .special .special-cont .special-title .title-main small {
    font-size: 0.5em;
    color: #333;
  }
  .special .special-cont .special-contents .special-lists {
    margin-bottom: 2.47222vw;
    display: flex;
  }
  .special .special-cont .special-contents .special-lists .special-list {
    width: 18.8148vw;
    background-color: #fff;
    padding: 1vw 1vw 0.69444vw;
    margin: 0 auto;
    border: 0.13889vw solid #e41f1a;
    box-shadow: 0.69444vw 0.69444vw 0 #e41f1a;
    text-align: center;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-title {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #e41f1a;
    font-weight: 600;
    font-size: 2.06667vw;
    height: 3.76389vw;
    margin-bottom: -1.38889vw;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price {
    font-weight: 600;
    font-size: 2.5vw;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price span {
    font-family: 'Oswald', sans-serif;
    font-weight: 100;
    color: #e41f1a;
    font-size: 7.55556vw;
  }
  .special .special-cont .special-contents .special-lists-other {
    text-align: center;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title {
    font-size: 1.38889vw;
    font-weight: 600;
    margin-bottom: 0.69444vw;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title span {
    color: #e41f1a;
    font-size: 1.66667vw;
  }
  .special .special-cont .special-contents .btn-box {
    max-width: 40.27778vw;
    margin:0 auto 2vw;
  }
  .special .special-cont .special-contents .btn-box a {
    height: 4.16667vw;
    font-size:1.8vw;
  }
  .special .detail_contents {
    max-width: 40.27778vw
  }
  .special .detail_contents .btnClick {
    margin-top: 1.04166666665vw;
    padding: 1.04166666665vw 0
  }
  .special .btnClick + .detail.is-open {
    padding: 1.04166666665vw 2.0833333333vw;
    margin-bottom: 1.04166666665vw
  }
}
@media screen and (min-width: 1441px) {
  .special .special-cont {
    background-color: #fff;
    width: 96%;
    max-width: 1000px;
    border: 2px solid #e41f1a;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
    padding: 40px;
  }
  .special .special-cont .special-title {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .special .special-cont .special-title .title-main {
    font-size: 40px;
    margin-top: 10px;
  }
  .special .special-cont .special-title .title-main .title-main-b {
    font-size: 60px;
  }
  .special .special-cont .special-contents .special-lists .special-list {
    width: 280px;
    padding: 30px 30px 10px;
    border: 2px solid #e41f1a;
    box-shadow: 10px 10px 0 #e41f1a;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-title {
    font-size: 28px;
    height: 40px;
    margin-bottom: -20px;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price {
    font-size: 36px;
  }
  .special .special-cont .special-contents .special-lists .special-list .list-price span {
    font-size: 100px;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .special .special-cont .special-contents .special-lists-other .list-other-title span {
    font-size: 24px;
  }
  .special .special-cont .special-contents .btn-box {
    margin-bottom: 10px;
  }
  .special .special-cont .special-contents .btn-box a {
    display:block;
    width:100%;
    height: auto;
    font-size:28px;
    text-align:center;
    padding:30px 0;
  }
}