body {
  overflow: auto;
}
#pre-choco {
  font-family: 'Kosugi Maru', sans-serif;

  @media screen and (max-width: 640px) {
    padding-top: 60px;
  }
}

#pre-choco .contain {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  #pre-choco .contain {
    width: inherit;
  }
}

#pre-choco .key {
  background: url(/hello-chocolate/pre-choco/img/bg_key.png) center -112px/auto no-repeat #4b2300;
}

@media screen and (max-width: 640px) {
  #pre-choco .key {
    background: url(/hello-chocolate/pre-choco/img/sp/bg_key.png) center calc(-98/750*100vw)/100% no-repeat #4b2300;
  }
}

#pre-choco .key_logo {
  padding: 109px 0 86px 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  #pre-choco .key_logo {
    padding: calc(124/750*100vw) calc(32/750*100vw) calc(98/750*100vw) calc(36/750*100vw);
  }
}

#pre-choco .key_inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 120px;
}

@media screen and (max-width: 640px) {
  #pre-choco .key_inner {
    width: calc(690/750*100vw);
    padding-bottom: calc(120/750*100vw);
  }
}

#pre-choco .key_ttl {
  font-size: 35px;
  width: 650px;
  height: 75px;
  background: #fbb803;
  border-radius: 38px;
  border: 5px solid #421e01;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  line-height: 65px;
  font-family: 'Kosugi Maru', sans-serif;
  position: relative;
}

@media screen and (max-width: 640px) {
  #pre-choco .key_ttl {
    width: calc(590/750*100vw);
    height: calc(90/750*100vw);
    line-height: calc(80/750*100vw);
    border: 3px solid #421e01;
  }
}

#pre-choco .key_ttl svg {
  display: inline-block;
  width: 460px;
  height: auto;
  overflow: visible;
}

@media screen and (max-width: 640px) {
  #pre-choco .key_ttl svg {
    width: calc(525/750*100vw);
  }
}

#pre-choco .key_ttl .foreground {
  fill: #fff;
}

#pre-choco .key_ttl .background {
  stroke: #421e01;
  stroke-width: 8;
  stroke-linejoin: round;
}

#pre-choco .key_text {
  background: #fff;
  border-radius: 20px;
  border: 5px solid #421e01;
  font-size: 18px;
  padding: 90px 50px 54px;
  margin-top: -36px;
  font-family: 'Kosugi Maru', sans-serif;
  line-height: 2.2;
}

@media screen and (max-width: 640px) {
  #pre-choco .key_text {
    border: 3px solid #421e01;
    font-size: calc(28/750*100vw);
    padding: calc(90/750*100vw) calc(50/750*100vw) calc(50/750*100vw);
    margin-top: calc(-37/750*100vw);
    line-height: 1.78;
  }
}

#pre-choco .ttl {
  font-size: 35px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-family: 'Kosugi Maru', sans-serif;
}

#pre-choco .ttl svg {
  display: inline-block;
  height: auto;
  overflow: visible;
}

#pre-choco .ttl .foreground {
  fill: #fff;
}

#pre-choco .ttl .background {
  stroke: #421e01;
  stroke-width: 8;
  stroke-linejoin: round;
}

#pre-choco .gaiyou {
  background: #ecd5a6;
  padding-bottom: 120px;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou {
    padding-bottom: calc(120/750*100vw);
  }
}

#pre-choco .gaiyou_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 88px;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou_ttl {
    margin: 0 calc(40/750*100vw) calc(100/750*100vw);
  }
}

#pre-choco .gaiyou_ttl img {
  margin-top: -33px;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou_ttl img {
    margin-top: calc(-18/750*100vw);
  }
}

#pre-choco .gaiyou .ttl svg {
  width: 439px;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou .ttl svg {
    width: calc(623/750*100vw);
  }
}

#pre-choco .gaiyou_text {
  text-align: center;
  font-size: 18px;
  margin-bottom: 50px;
  font-family: 'Kosugi Maru', sans-serif;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou_text {
    font-size: calc(28/750*100vw);
    margin-bottom: calc(49/750*100vw);
  }
}

#pre-choco .gaiyou_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou_list {
    display: block;
    margin: 0 calc(120/750*100vw);
  }
}

#pre-choco .gaiyou_list li + li {
  margin-left: 35px;
}

@media screen and (max-width: 640px) {
  #pre-choco .gaiyou_list li + li {
    margin-left: 0;
    margin-top: calc(30/750*100vw);
  }
}

#pre-choco .pass {
  background: #fbb803;
  padding-bottom: 120px;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass {
    padding-bottom: calc(120/750*100vw);
  }
}

#pre-choco .pass .ttl {
  padding: 135px 0 14px;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass .ttl {
    padding: calc(127/750*100vw) 0 calc(14/750*100vw);
  }
}

#pre-choco .pass .ttl svg {
  width: 189px;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass .ttl svg {
    width: calc(295/750*100vw);
  }
}

#pre-choco .pass_item {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px;
  background: #fff;
  border-radius: 10px;
  border: 5px solid #421e01;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item {
    width: auto;
    max-width: none;
    display: block;
    margin: 0 calc(30/750*100vw) calc(30/750*100vw);
    padding: calc(45/750*100vw) calc(38/750*100vw);
    border: 3px solid #421e01;
  }
  #pre-choco .pass_item:first-of-type .pass_item-right dd {
    width: calc(396/750*100vw);
    padding-bottom: calc(15/750*100vw);
  }
}

#pre-choco .pass_item-num {
  width: 80px;
  height: 80px;
  background: #fbb803;
  border-radius: 50%;
  color: #421e01;
  font-size: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Kosugi Maru', sans-serif;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item-num {
    width: calc(80/750*100vw);
    height: calc(80/750*100vw);
    font-size: calc(40/750*100vw);
    margin: 0 auto calc(20/750*100vw);
  }
}

#pre-choco .pass_item-right {
  width: 835px;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item-right {
    width: inherit;
  }
}

#pre-choco .pass_item-right dt {
  font-size: 30px;
  font-family: 'Kosugi Maru', sans-serif;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item-right dt {
    font-size: calc(40/750*100vw);
    text-align: center;
  }
}

#pre-choco .pass_item-right dd {
  font-size: 18px;
  font-family: 'Kosugi Maru', sans-serif;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item-right dd {
    font-size: calc(28/750*100vw);
    margin-top: calc(30/750*100vw);
  }
}

#pre-choco .pass_item-img {
  position: absolute;
  top: -47px;
  right: 14px;
}

@media screen and (max-width: 640px) {
  #pre-choco .pass_item-img {
    width: calc(393/750*100vw);
    bottom: calc(12/750*100vw);
    right: calc(34/750*100vw);
    top: inherit;
  }
}

#pre-choco .campaign {
  background: #faeed7;
  padding: 120px 0 128px;
}

@media screen and (max-width: 640px) {
  #pre-choco .campaign {
    padding: calc(120/750*100vw) 0;
  }
}

#pre-choco .campaign_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 56px;
}

@media screen and (max-width: 640px) {
  #pre-choco .campaign_img {
    margin: 0 calc(30/750*100vw);
  }
}

#pre-choco .campaign_btn {
  margin-top: 35px;
}

@media screen and (max-width: 640px) {
  #pre-choco .campaign_btn {
    margin-top: calc(50/750*100vw);
  }
}

#pre-choco .campaign_btn a {
  width: 600px;
  height: 90px;
  background: #a40000;
  border: 5px solid #fff;
  display: block;
  border-radius: 45px;
  margin: 0 auto;
  font-family: 'Kosugi Maru', sans-serif;
  color: #fff;
  font-size: 24px;
  text-align: center;
  line-height: 80px;
  position: relative;
}

@media screen and (max-width: 640px) {
  #pre-choco .campaign_btn a {
    width: calc(590/750*100vw);
    height: calc(100/750*100vw);
    font-size: calc(28/750*100vw);
    line-height: calc(90/750*100vw);
    border: 3px solid #fff;
  }
}

#pre-choco .campaign_btn a:after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  top: 0;
  right: 45px;
}

@media screen and (max-width: 640px) {
  #pre-choco .campaign_btn a:after {
    right: calc(45/750*100vw);
  }
}


/*追記*/
#pre-choco .campaign_img.campaign_img-report{
  margin-top: -50px;
  margin-bottom: 100px;
}
@media screen and (min-width: 641px) {
  #pre-choco .campaign_img.campaign_img-report a{
    width: 900px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 640px) {
  #pre-choco .campaign_img.campaign_img-report{ 
    margin-top: -30px;
    margin-bottom: 50px;
  }
}