@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;
}
.stepWrap {
	background-color: #94cc27;
	padding: 12% 0 8%;
}
.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: '';
  bottom: -6%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 45px solid transparent;
  border-left: 45px solid transparent;
  border-top: 50px solid #ffffff;
  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 #ffffff;
  }
}
.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: #ffedd7;
}
.bgYellow {
	background-color: #fffbe9;
}
.coordination_status {
  padding: 11.4% 0 17%;
}
.coordination_merit {
  padding: 26% 0 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%;
}
/* フローティングバナー */
.floatSpBnr {
	width: 100%;
	background-color: rgb(255, 255, 255, 0.3);
	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 {
	width: 10.4vh;
	height: 78%;
	margin: auto;
	display: block;
	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: 45% !important;
  }
}