@charset "UTF-8";
a.txtLink {
  text-decoration: underline;
  color: #0000ff;
  display: inline;
}

.topBorder, .bottomBorder {
  position: relative;
}

.topBorder::before, .bottomBorder::after {
  position: absolute;
  content: "";
  left: 0;
  width: 100%;
  height: 4px;
}

.topBorder::before {
  background: url(../img/bg_01.png) no-repeat center top, #FFF;
  top: 0;
}

.bottomBorder::after {
  background: url(../img/bg_01.png) no-repeat center bottom, #FFF;
  bottom: 0;
}

@media screen and (max-width: 640px) {
  .topBorder::before, .bottomBorder::after {
    height: 2px;
    background-repeat: repeat-x;
    background-size: contain;
  }
}
.mw960 {
  max-width: 960px !important;
  padding: 0;
}

.mw860 {
  max-width: 860px !important;
  padding: 0;
}

.mw740 {
  max-width: 740px !important;
  width: 77.1%;
  margin: 0 auto;
  padding: 0;
}
.WhiteBg {
  background-color: #fff;
}
.stepWrap {
  background-color: #94cc27;
  padding: 6% 0 0;
}
.stepBox {
  position: relative;
  max-width: 860px;
  width: 89.6%;
  margin: 0 auto;
  background-color: #FFF;
  border-radius: 20px;
  padding: 8% 0 6%;
}

.stepBox + .stepBox {
  margin-top: 18%;
}

.stepBox::after {
  position: absolute;
  display: block;
  content: "";
  top: -34%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 45px solid transparent;
  border-left: 45px solid transparent;
  border-top: 50px solid #ff0110;
  border-bottom: 0;
  transform: translate(-50%, 99%);
}

.stepBox:nth-of-type(2)::after {
  display: none;
}

@media only screen and (max-width: 959px) {
  .stepBox::after {
    border-right: 4.7vw solid transparent;
    border-left: 4.7vw solid transparent;
    border-top: 5.2vw solid #ff0110;
  }
}
.stepBox .stepTtl {
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  max-width: 254px;
  width: 29.6%;
  transform: translate(-50%, -50%);
}

.stepBox .contsImg,
.stepBox_annotation {
  width: 86.1%;
  margin: 0 auto;
}

.stepBox .linkBtn.mw740 {
  width: 86.1%;
}

.stepBox_annotation {
  text-align: center;
  padding: 2.0832% 0 0;
}

@media only screen and (max-width: 640px) {
  .stepBox_annotation {
    font-size: 12.6px;
  }
}
.bgOrange {
  background-color: #ffe2e2;
}

.bgPink {
  background-color: #e60041;
}

.bgYellow {
  background-color: #fff46e;
}

.bgCream {
  background-color: #fcf7e3;
}

.coordination_status {
  padding: 11.4% 0 17%;
}

.coordination_merit {
  padding: 26% 3.75% 10%;
}

.coordination_merit .imgTtl {
  position: absolute;
  top: -3.75%;
  left: 0;
}

.coordination_status .contsImg,
.coordination_merit .contsImg {
  max-width: 960px;
  padding: 0;
}

.bnrArea {
  padding: 11% 0 7.2916%;
}

.bnrLink {
  max-width: 840px;
  width: 87.5%;
  margin: 0 auto;
}

#campaign {
  padding: 9% 0 6%;
}

/* ご注意事項 */
.cpNotes01 {
  max-width: 840px;
  width: 87.5%;
  margin: 0 auto;
}

.cpNotesBtn01 {
  width: 100%;
  display: table;
}

.cpNotesBtn01 a {
  width: 100%;
  display: table-cell;
  vertical-align: middle;
  border-top: 1px solid #cc0033;
}

.cpNotesFlame01 {
  display: none;
  background-color: #fff;
  border-left: 2px solid #cc0033;
  border-right: 2px solid #cc0033;
  border-bottom: 2px solid #cc0033;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

@media only screen and (min-width: 361px) {
  .cpNotesFlame01 {
    border-width: 3px;
  }
}
.contsTxt.cpCode {
  margin-top: 1.0416%;
  padding: 0 6.25% 4.1664%;
}

.contsTxt.note {
  font-size: 18px;
  padding: 0 5%;
}
@media only screen and (max-width: 959px) {
  .contsTxt.note {
    padding: 0 2%;
    font-size: 12px;
  }
}
@media only screen and (max-width: 640px) {
  .fsXS.fs12 {
    font-size: 12px;
  }
}

/* フローティングバナー */
.floatSpBnr {
  width: 100%;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 2;
  box-sizing: border-box;
}

.floatSpLink {
  width: 100%;
  margin: 0 auto;
  display: block;
}

.floatSpBnr img {
  width: 100%;
}

.floatPcBnr {
  height: 78%;
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
}

.floatPcLink + .floatPcLink {
  margin-top: 19%;
}

.floatPcLink img {
  height: 100%;
}

a.floatPcLink {
  display: block;
}

@media only screen and (max-width: 959px) and (min-width: 641px) {
  .floatPcBnr {
    width: 13.85%;
  }
}
@media only screen and (max-width: 640px) {
  .floatSpBnr, a.floatSpLink {
    display: block;
  }
  .floatPcBnr, a.floatPcLink {
    display: none;
  }
  .flbnpb {
    padding-bottom: 20% !important;
  }
}
.contsTxt.entryAccordion {
  padding: 2% 0 10%;
  display: flex;
  justify-content: center;
}
.contsTxt.entryAccordion .entryAccordionLink {
  font-size: 24px;
  font-weight: bold;
  text-decoration: underline;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .contsTxt.entryAccordion .entryAccordionLink {
    font-size: 16px;
  }
}
.contsTxt.entryAccordion .entryAccordionLink span {
  color: #0000ff;
}

.contsImg.step1 {
  width: 69.375%;
}
.contsImg.step2 {
  width: 71.4583333333%;
}
.contsImg.img01 {
  background-color: #fff;
  padding: 10% 0 4%;
  margin: 0;
  width: 100%;
  max-width: none;
  text-align: center;
}
.contsImg.img01 img {
  width: 76.3541666667%;
}
.contsImg.btn03 {
  width: 77.0833333333%;
}
.contsImg.bnr_02 {
  text-align: center;
}
@media only screen and (max-width: 320px) {
  .stepBox::after {
    top: -28%;
  }
}
