/* 追加セクション1 */
.special{
  width: 104rem;
  margin: 0 auto;
  background-image: url(../images/bg_special.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  border-radius: 2.6rem;
  box-sizing: border-box;
  border: .7rem solid #3D2600;
  padding: 12.1rem 8rem 13rem;
  margin-bottom: 12.22rem;
}
.special h3{
  width: 76.3rem;
  margin-left: 10.3rem;
  position: relative;
}
.special h3:after{
  content: "";
  position: absolute;
  background-image: url(../images/img_special_spoon.png);
  width: 14.5rem;
  height: 21.6rem;
  background-repeat: no-repeat;
  background-size: contain;
  left: -14.4rem;
  top: -5.4rem;
}
.special__sub-ttl{
  width: 86.7rem;
  margin: 0 auto;
  margin-top: 3.1rem;
}
.special h4{
  font-size: 3.6rem;
  text-align: center;
  margin-top: 6rem;
  line-height: 1;
}
.special h4 span{
  display: inline-block;
  padding: 0 1.733rem .693rem;
  border-bottom: 0.26rem solid var(--maincolor);
  position: relative;
}
#know .outer.know-sec1 .special .special__inner{
  margin-top: 4.333rem;
  display: flex;
  justify-content: space-between;
}
.special__photo{
  width: 38.306rem;
}
.special__txt{
  width: 43.333rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0;
  margin-top: 3rem;
  font-size: 1.6rem;
}
.special__video-cont{
  margin-top: 6.067rem;
}
.special__video-txt{
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  position:relative;
  line-height: 1.6;
}
.special__video-txt span{
  display: block;
  font-size: 1.8rem;
}
.special__video-txt:before{
  position: absolute;
  width: .347rem;
  height:5.98rem;
  background-color: #3D2600;
  content: "";
  transform: rotate(21deg);
  border-radius: .867rem;
  right: 11.567rem;
  top: -.008rem;
}
.special__video-txt:after{
  position: absolute;
  width: .347rem;
  height: 5.98rem;
  background-color: #3D2600;
  content: "";
  transform: rotate(-21deg);
  border-radius: .867rem;
  left: 11.567rem;
  top: -.008rem;
}

.special #openModal{
  margin: 0 auto;
  display: block;
  margin-top: 3.38rem;
  width: 78rem;
  position: relative;
  cursor: pointer;
  transition: .3s;
}
.special #openModal:hover{
  opacity: .8;
}
.special #openModal .special__video-arrow{
  position: absolute;
  right: 21.84rem;
  top: 19.587rem;
  width: 7.107rem;
}
.special #openModal .special__video-txt{
  position: absolute;
  left: 21.753rem;
  top: 21.147rem;
  width: 24.7rem;
}
.special__date-cont{
  width: 67.4rem;
  background-color: #fff;
  margin: 0 auto;
  margin-top: 4.33rem;
  border-radius: .867rem;
  padding: 3.207rem 0 3.253rem;
  text-align: center;
  box-shadow:
    inset .087rem 0 0 #b3b3b3,
    inset 0 .087rem 0 #b3b3b3;
}
.special__date-txt-top{
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}
.special__date-txt-top span{
  font-size: 1.6rem;
  font-weight: 700;
  color: #3D8943;
  letter-spacing: 0;
  margin-left: .56rem;
}
.special__date-txt{
  font-size: 2.4rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-top: .74rem;
  margin-bottom: .7rem;
}
.special__date-txt-btm{
  font-size: 1.4rem;
  color: #FF0000;
  letter-spacing: 0;
  font-weight: 500;
}
.special__link-cont{
  margin-top: 10.4rem;
}
.special__link{
  position: relative;
  width: 100%;
  display: block;
  height: 100%;
  transition: all 300ms ease;
}
.special__link:hover{
  opacity: 0.95;
  transform: translateY(0.5rem);
}
.special__link:after{
  content: "";
  position: absolute;
  background-image: url(../images/icon_special_link_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 5.503rem;
  height: 1.17rem;
  right: 2.86rem;
  bottom: 3.25rem;
}
.special__link span{
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
  position: absolute;
  right: 9rem;
  bottom: 2.5rem;
}
.special__label{
  position: absolute;
  font-size: 3.9rem;
  font-weight: 700;
  width: 41.253rem;
  height: 10.573rem;
  background-image: url(../images/img_special_label.svg);
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  padding-left: 3.38rem;
  padding-top: 1.56rem;
  right: -4rem;
  top: 5.3rem;
  letter-spacing: 0;
}
.special__label:after{
  content: "";
  position: absolute;
  background-image: url(../images/text_special.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 14.647rem;
  height: 2.427rem;
  left:3.65rem;
  top: -1.596rem;
}
@media (max-width: 767px) {
  .special{
    width: 33rem;
    background-image: url(../images/bg_special_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    border-radius: 1.5rem;
    box-sizing: border-box;
    border: .4rem solid #3D2600;
    padding: 5.7rem 1.6rem 5.6rem 1.5rem;
    margin-bottom: 9rem;
  }
  .special h3{
    width: 29.1rem;
    position: relative;
    margin-left: 0;
  }
  .special h3:after{
    background-image: url(../images/img_special_spoon_sp.png);
    width: 10.15rem;
    height: 13.9rem;
    left: -4.3rem;
    top: -5.1rem;
  }
  .special__sub-ttl{
    width: 29.1rem;
    margin: 0 auto;
    margin-top: 1.6rem;
  }
  .special h4{
    font-size: 2.5rem;
    text-align: center;
    margin-top: 4.1rem;
    line-height: 1;
  }
  .special h4 span{
    display: inline-block;
    padding: 0 1.733rem .693rem;
    border-bottom: 0.3rem solid var(--maincolor);
    position: relative;
  }
  #know .outer.know-sec1 .special .special__inner{
    margin-top: 3rem;
    flex-direction: column-reverse;
  }
  .special__photo{
    width: 25.85rem;
    margin: 0 auto;
  }
  .special__txt{
    width: 100%;
    font-weight: 500;
    line-height: 2.2;
    letter-spacing: 0;
    margin-top:0;
    margin-bottom: 3rem;
    font-size: 1.6rem;
  }
  .special__video-cont{
    margin-top: 6rem;
  }
  .special__video-txt{
    font-size:1.8rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0;
    position:relative;
    line-height: 1.6;
    width: 25.2rem;
    margin: 0 auto;
  }
  .special__video-txt span{
    display: none;
  }
  .special__video-txt:before{
    position: absolute;
    width: .3rem;
    height:5rem;
    background-color: #3D2600;
    content: "";
    border-radius: .867rem;
    right: -1.3rem;
    top: 0.5rem;
  }
  .special__video-txt:after{
    position: absolute;
    width: .3rem;
    height:5rem;
    background-color: #3D2600;
    content: "";
    border-radius: .867rem;
    left: -1.3rem;
    top: 0.5rem;
  }
  .special__video-txt-s{
  font-size: 1.2rem;
}
  .special #openModal{
    margin-top: 2.1rem;
    width: 29.1rem;
  }
  .special #openModal .special__video-arrow{
    position: absolute;
    right: 3.9rem;
    top: 6.4rem;
    width: 4.3rem;
  }
  .special #openModal .special__video-txt{
    position: absolute;
    left: 4.25rem;
    top: 7.5rem;
    width: 15.1rem;
  }
  .special__date-cont{
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
    margin-top: 2.5rem;
    border-radius: 1rem;
    padding: 2.4rem 1.5rem 2.6rem 1.7rem;
    text-align: center;
    box-shadow:
      inset .087rem 0 0 #b3b3b3,
      inset 0 .087rem 0 #b3b3b3;
  }
  .special__date-txt-top{
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
  }
  .special__date-txt-top span{
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    color: #3D8943;
    letter-spacing: 0;
    margin-left:0;
  }
  .special__date-txt{
    font-size: 1.6rem;
    letter-spacing: 0;
    font-weight: 700;
    margin-top: 1.3rem;
    margin-bottom:2.3rem;
    border-bottom: .1rem solid #000;
  }
  .special__date-txt-btm{
    font-size: 1.4rem;
    color: #FF0000;
    letter-spacing: 0;
    font-weight: 500;
    width: 19.6rem;
    margin: 0 auto;
    line-height: 1.7;
  }
  .special__link-cont{
    margin-top: 5.4rem;
  }
  .special__link{
    position: relative;
    width:24.5rem;
    display: block;
    height: 25.8rem;
    margin: 0 auto;
    transition: all 300ms ease;
  }
  .special__link:hover{
    opacity: 1;
    transform: translateY(0);
  }
  .special__link:after{
    content: "";
    position: absolute;
    background-image: url(../images/icon_special_link_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 4.6rem;
    height: 1.2rem;
    right: 9.7rem;
    bottom: 2.5rem;
  }
  .special__link span{
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #fff;
    position: absolute;
    right: 2.4rem;
    bottom: 4.4rem;
  }
  .special__label{
    position: absolute;
    font-size: 2.7rem;
    font-weight: 700;
    width: 29.6rem;
    height: 7.4rem;
    background-image: url(../images/img_special_label_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    box-sizing: border-box;
    padding-left: 2.6rem;
    padding-top: 1.3rem;
    right: -3rem;
    top: 10.2rem;
    letter-spacing: 0;
  }
  .special__label:after{
    content: "";
    position: absolute;
    background-image: url(../images/text_special.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10.3rem;
    height: 1.76rem;
    left:2.91rem;
    top: -.7rem;
  }
}

/* 追加セクション2 */
.special-btm{
  position: relative;
  background-color: #E1DDDA;
  box-sizing: border-box;
  padding: 11.613rem 0 13.867rem;
  background: url(../images/bg_special_btm.png) repeat-x;
  background-size: contain;
  z-index: 3;
  position: relative;
  margin-top: -1.3rem;
  }
.special-btm__top{
  position: absolute;
  width: 100%;
  top: -2.427rem;
  left: 0;
}
.special-btm__btm{
  position: absolute;
  width: 100%;
  bottom: -2.427rem;
  left: 0;
}
.special-btm__leaf-01{
  position: absolute;
  width: 19.067rem;
  bottom: 1.733rem;
  left: -5.547rem;
}
.special-btm__leaf-02{
  position: absolute;
  width: 24.787rem;
  bottom: 0;
  right: -9.793rem;
}
.special-btm__inner{
  width: 90.393rem;
  margin: 0 auto;
  position: relative;
}
.special-btm__inner h3{
  width:90.393rem;
  height: 10.14rem;
  background-image: url(../images/bg_special_btm_ttl.png);
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 1.473rem;
  box-sizing: border-box;
  position: relative;
}
.special-btm__inner h3:after{
  position: absolute;
  background-image: url(../images/img_special_btm_spoon.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9.36rem;
  height: 18.547rem;
  left: 5.373rem;
  top: -7.713rem;
  content: "";
}
.special-btm__inner h3 img{
  width: 56.16rem;
  display: block;
  margin: 0 auto;
}
.special-btm__lead{
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
}
.special-btm__lead img{
  width: 13.347rem;
  display: block;
  margin-right: .867rem;
}
.special-btm__lead-btm{
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  margin-top: 2.6rem;
}
.special-btm__lead-btm span{
  position: relative;
}
.special-btm__lead-btm span:after{
  position: absolute;
  content: "";
  width: 100%;
  height: .4rem;
  background-color: #ECFF45;
  border-radius: 1.733rem;
  left: 0;
  bottom: -.693rem;
}
.special-btm__txt{
  margin-top: 4.16rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  line-height: 1.6;
}
.special-btm__link{
  width: 60.667rem;
  height: 6.933rem;
  background-color: #ECFF45;
  margin: 0 auto;
  margin-top: 5.6rem;
  border-radius: 1.387rem;
  box-shadow: 0rem 0.26rem 0 0 #d2d2d2;
  position: relative;
  text-align: center;
  font-size: 2.08rem;
  letter-spacing: 0;
  font-weight: 700;
  z-index: 1;
  transition: all 300ms ease;
}
.special-btm__link:hover{
  transform: translateY(0.3rem);
  box-shadow: none;
  background-color: #ADA39A;
}
.special-btm__link:after{
  content: "";
  position: absolute;
  background-image: url(../images/text_special_btm_en.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 15.947rem;
  height: 5.72rem;
  top: .607rem;
  left: 4.333rem;
  pointer-events: none;
}
.special-btm__link a{
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding-top:1.907rem;
}
.special-btm__more-box{
  width: 8.753rem;
  height: 2.6rem;
  border-radius: 1.3rem;
  background-color: #fff;
  position: absolute;
  right: 2.773rem;
  top: 2.253rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.56rem 0 2.253rem;
  box-sizing: border-box;
}
.special-btm__more-box:before {
  content: "";
  position: absolute;
  top: -.1rem;
  left: -.1rem;
  width: 100%;
  height: 100%;
  background: #5E5E5E;
  border-radius: 9999px;
  z-index: -1;
  transform: scale(1);
}
.special-btm__more{
  width: 2.34rem;
  display: block;
}
.special-btm__more-arrow{
  width: 1.092rem;
  display: block;
}
@media (max-width: 767px) {
  .special-btm{
    position: relative;
    background-color: #E1DDDA;
    box-sizing: border-box;
    padding: 6.1rem 0 6.7rem;
    background: url(../images/bg_special_btm_sp.png) repeat-x;
    background-size: contain;
    z-index: 3;
    position: relative;
    margin-top: 0;
    }
  .special-btm__top{
    position: absolute;
    width: 100%;
    top: -2.427rem;
    left: 0;
  }
  .special-btm__btm{
    position: absolute;
    width: 100%;
    bottom: -2.427rem;
    left: 0;
  }
  .special-btm__leaf-01{
    display: none;
  }
  .special-btm__leaf-02{
    position: absolute;
    width: 10.1rem;
    bottom: auto;
    top: -2rem;
    right:-1.54rem;
    z-index: 2;
  }
  .special-btm__inner{
    width: 32.7rem;
    margin: 0 auto;
    position: relative;
  }
  .special-btm__inner h3{
    width:100%;
    height: 8.6rem;
    background-image: url(../images/bg_special_btm_ttl_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: .9rem;
    box-sizing: border-box;
    position: relative;
  }
  .special-btm__inner h3:after{
    position: absolute;
    background-image: url(../images/img_special_btm_spoon.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 4.4rem;
    height: 9.4rem;
    left: 2.3rem;
    top: -2.2rem;
    content: "";
  }
  .special-btm__inner h3 img{
    width: 18.4rem;
    display: block;
    margin: 0 auto;
  }
  .special-btm__lead{
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    flex-direction: column;
    align-items: center;
    margin-top: 1.2rem;
  }
  .special-btm__lead img{
    width: 9.3rem;
    display: block;
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .special-btm__lead-btm{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0;
    text-align: center;
    margin-top: 1.9rem;
  }
  .special-btm__lead-btm span{
    position: relative;
  }
  .special-btm__lead-btm span:after{
    position: absolute;
    content: "";
    width: 100%;
    height: .18rem;
    background-color: #ECFF45;
    border-radius: 1.733rem;
    left: 0;
    bottom: -.33rem;
  }
  .special-btm__txt{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
    line-height: 2;
    width: 26rem;
    margin: 0 auto;
    margin-top: 2.4rem;
  }
  .special-btm__link{
    width: 100%;
    height: 7.1rem;
    background-color: #ECFF45;
    margin: 0 auto;
    margin-top: 3.7rem;
    border-radius: 1.387rem;
    box-shadow: 0rem 0.26rem 0 0 #d2d2d2;
    position: relative;
    text-align: left;
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 700;
    z-index: 1;
    transition: all 300ms ease;
  }
  .special-btm__link:hover{
    transform: translateY(0);
    box-shadow: 0rem 0.26rem 0 0 #d2d2d2;
    background-color: #ECFF45;
  }
  .special-btm__link:after{
    display: none;
  }
  .special-btm__link a{
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-top:1.907rem;
    padding-left: 7.1rem;

  }
  .special-btm__more-box{
    width: 6rem;
    height: 2.3rem;
    border-radius: 1.3rem;
    background-color: #fff;
    position: absolute;
    right: 1.5rem;
    top: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.03rem 0 1.3rem;
    box-sizing: border-box;
  }
  .special-btm__more-box:before {
    content: "";
    position: absolute;
    top: -.1rem;
    left: -.1rem;
    width: 100%;
    height: 100%;
    background: #5E5E5E;
    border-radius: 9999px;
    z-index: -1;
    transform: scale(1);
  }
  .special-btm__more{
    width: 2.1rem;
    display: block;
  }
  .special-btm__more-arrow{
    width: .92rem;
    display: block;
  }
  
}

/* バナー */
.circle-banner{
  position: fixed;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  background-color: #ECFF45;
  filter: drop-shadow(.32rem .32rem 0px rgba(0, 0, 0,.15));
  bottom: 3rem;
  right: 10rem;
  transition: .3s;
  z-index: 99;
}
.circle-banner:hover { 
  transform: translate(.32rem,.32rem);
  filter: none;
  background-color: #ADA39A;
}
.circle-banner a{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.circle-banner__spice{
  display: block;
  width: 13.84rem;
  margin: 0 auto;
  margin-top: .6rem;
}
.circle-banner__txt01{
  display: block;
  margin: 0 auto;
  width: 15.5rem;
}
.circle-banner__txt02{
  display: block;
  margin: 0 auto;
  width: 12.2rem;
  margin-top: .8rem;
}
@media (max-width: 767px) {
  .circle-banner.remove{
    opacity: 0;
    pointer-events: none;
  }
  .circle-banner{
    width: 13.8rem;
    height: 13.8rem;
    bottom: 2rem;
    right: 2.2rem;
    transition: .3s;
  }
  .circle-banner:hover { 
    transform: translate(0);
    background-color: #ECFF45;
    filter: drop-shadow(.32rem .32rem 0px rgba(0, 0, 0,.15));
  }
  .circle-banner__spice{
    width: 9.6rem;
    margin-top: .2rem;
  }
  .circle-banner__txt01{
    width: 12.8rem;
    margin-top: 0rem;
  }
  .circle-banner__txt02{
    width: 10.5rem;
    margin-top: .5rem;
  }
}