.section {
  padding: 88px 0 40px;
}
.section:nth-of-type(4) {
  padding: 30px 8px 40px;
}
@media screen and (max-width: 750px) {
  .section {
    padding: 64px 8px 40px;
  }
}

.mainVisual {
  position: relative;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(124, 0, 26)), color-stop(40%, rgb(182, 0, 52)), color-stop(8%, rgb(185, 0, 58)));
  background: -webkit-linear-gradient(bottom, rgb(124, 0, 26) 0%, rgb(182, 0, 52) 40%, rgb(185, 0, 58) 8%);
  background: linear-gradient(0deg, rgb(124, 0, 26) 0%, rgb(182, 0, 52) 40%, rgb(185, 0, 58) 8%);
}
.mainVisual__container {
  max-width: 950px;
  margin: 0 auto;
}
.mainVisual__image {
  width: 100%;
}
.mainVisual__contents {
  position: relative;
}

.cpAttention {
  padding: 16px 0;
}
.cpAttention__container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 8px;
}
.cpAttention__text {
  color: #ff0100;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .cpAttention__text {
    font-size: 1.8rem;
  }
}
.cpAttention__text--annotation {
  margin-top: 16px;
}
.cpAttention__text--annotation + .cpAttention__text--annotation {
  margin-top: 0;
}
.cpAttention__canvas {
  margin: 24px auto 0;
  text-align: center;
}
.cpAttention__annotation {
  color: #606060;
  font-size: 1.2rem;
}

.flow__container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 8px;
}
.flow__container > .flow__title {
  font-size: 3.1rem;
  font-weight: 700;
  text-align: center;
  color: #242323;
  padding-bottom: 16px;
}
.flow__container > .flow__title::after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background: #E83534;
  margin: 13px auto 0;
}
@media screen and (max-width: 750px) {
  .flow__container > .flow__title {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 750px) {
  .flow__contents {
    max-width: 375px;
    margin: 0 auto;
  }
}
.flow__subTitle {
  color: #E83534;
  font-size: 1.8rem;
  font-weight: 700;
}
.flow__subText {
  display: block;
  margin: 8px 0 18px;
}
.flow__picture {
  min-height: 124px;
  margin: 0 auto;
}
.flow__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 48px auto;
}
@media screen and (max-width: 750px) {
  .flow__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.flow__item {
  width: calc((100% - 10px) / 3);
}
.flow__item:not(:last-of-type) {
  position: relative;
  margin-right: 24px;
}
.flow__item:not(:last-of-type)::after {
  content: "";
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 14px solid #3E3A39;
  position: absolute;
  top: 50%;
  right: -26px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
}
@media screen and (max-width: 750px) {
  .flow__item:not(:last-of-type)::after {
    border-top: 16px solid #3E3A39;
    border-bottom: 16px solid transparent;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    top: 100%;
    right: 40%;
    margin-top: 3%;
  }
}
@media screen and (max-width: 750px) {
  .flow__item {
    width: 100%;
    min-height: 0;
  }
  .flow__item:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 32px;
  }
}
.flow__box {
  background: #f8f0e6;
  border-radius: 8px;
  padding: 16px 10px;
}
@media screen and (max-width: 750px) {
  .flow__box {
    padding: 16px;
  }
}
.flow__apply {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 auto;
  border: solid 1px #242323;
}
@media screen and (max-width: 750px) {
  .flow__apply {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.flow__lead {
  display: block;
  -webkit-flex-basis: 15%;
      -ms-flex-preferred-size: 15%;
          flex-basis: 15%;
  padding: 18px 4px;
  background: #606060;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .flow__lead {
    width: 100%;
    padding: 16px 0;
  }
}
.flow__subLead {
  display: inline-block;
  font-size: 1.4rem;
  text-align: center;
}
.flow__howto {
  -webkit-flex-basis: 85%;
      -ms-flex-preferred-size: 85%;
          flex-basis: 85%;
  padding: 16px;
  background: #ffffff;
  font-size: 1.5rem;
  line-height: 1.7;
}
.flow__howto--txt {
  display: block;
}

.form__container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 8px;
}
.form__title {
  font-size: 3.1rem;
  font-weight: 700;
  text-align: center;
  color: #242323;
  padding-bottom: 16px;
}
.form__title::after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background: #E83534;
  margin: 13px auto 0;
}
@media screen and (max-width: 750px) {
  .form__title {
    font-size: 2.4rem;
  }
}
.form__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 48px auto;
}
@media screen and (max-width: 750px) {
  .form__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
.form__item {
  width: calc((100% - 10px) / 3);
}
.form__item:not(:last-of-type) {
  position: relative;
  margin-right: 24px;
}
.form__item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12px;
  width: 14px;
  height: 26px;
  background-color: #3e3a39;
  -webkit-clip-path: polygon(14px 50%, 0% 0%, 0% 26px);
          clip-path: polygon(14px 50%, 0% 0%, 0% 26px);
}
@media screen and (max-width: 750px) {
  .form__item:not(:last-of-type)::after {
    top: auto;
    bottom: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 32px;
    height: 16px;
    -webkit-clip-path: polygon(50% 16px, 0% 0%, 32px 0%);
            clip-path: polygon(50% 16px, 0% 0%, 32px 0%);
  }
}
@media screen and (max-width: 750px) {
  .form__item {
    width: 100%;
    min-height: 0;
  }
  .form__item:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 32px;
  }
}
.form__subTitle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}
.form__picture {
  margin: 16px auto 0;
  text-align: center;
}
.form__text {
  margin: 16px 0;
}
.form__annotation {
  color: #606060;
  font-size: 1.2rem;
}
.form__button {
  margin-top: 24px;
}
.benefit__container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 8px;
}
.benefit__title {
  font-size: 3.1rem;
  font-weight: 700;
  text-align: center;
  color: #242323;
  padding-bottom: 16px;
}
.benefit__title::after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background: #E83534;
  margin: 13px auto 0;
}
@media screen and (max-width: 750px) {
  .benefit__title {
    font-size: 2.4rem;
  }
}
.benefit__text {
  font-size: 2rem;
  text-align: center;
  margin: 32px 0;
  line-height: 1.7;
}
.benefit__text--accent {
  font-size: 2.6rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .benefit__text--accent {
    font-size: 2.1rem;
    max-width: 375px;
    margin: 0 auto;
  }
}
.benefit__text--redAccent {
  font-size: 2.6rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .benefit__text--redAccent {
    font-size: 2.1rem;
    max-width: 375px;
    margin: 0 auto;
  }
}
.benefit__text--redAccent {
  color: #E83534;
}
.benefit__text--blueAccent {
  font-size: 2.6rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .benefit__text--blueAccent {
    font-size: 2.1rem;
    max-width: 375px;
    margin: 0 auto;
  }
}
.benefit__text--blueAccent {
  color: #187FC4;
}
@media screen and (max-width: 750px) {
  .benefit__text {
    font-size: 1.8rem;
  }
}
.benefit__box {
  padding-top: 72px;
}
@media screen and (max-width: 750px) {
  .benefit__box {
    margin: 0 auto;
  }
}
.benefit__picture {
  margin: 32px 16px;
}
@media screen and (max-width: 750px) {
  .benefit__picture {
    margin: 16px auto;
    padding: 8px;
  }
}
.benefit__btnArea {
  margin: 48px 0 0;
}
@media screen and (max-width: 750px) {
  .benefit__btnArea {
    margin: 56px 0 0;
  }
}
.benefit__link, .form__button > .form__link {
  width: 80%;
  display: block;
  margin: 0 auto;
  padding: 16px 8px;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  border-radius: 8px;
}
.benefit__link:visited, .form__button > .form__link:visited {
  color: #ffffff;
}
.benefit__link:hover, .form__button > .form__link:hover {
  text-decoration: none;
  opacity: 0.7;
}
.benefit__link, .form__button > .form__link {
  background: #E83534;
}

.campaign__container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 8px;
  max-width: 920px;
  background: #eeeeee;
  padding: 32px 16px;
  border-radius: 8px;
}
.campaign__container > .campaign__title {
  font-size: 3.1rem;
  font-weight: 700;
  text-align: center;
  color: #242323;
  padding-bottom: 16px;
}
.campaign__container > .campaign__title::after {
  content: "";
  display: block;
  width: 40px;
  height: 4px;
  background: #E83534;
  margin: 13px auto 0;
}
@media screen and (max-width: 750px) {
  .campaign__container > .campaign__title {
    font-size: 2.4rem;
  }
}
.campaign__container > .campaign__title {
  color: #242323;
}
.campaign__container > .campaign__title::after {
  content: none;
}
.campaign__container > .campaign__detail {
  background: #ffffff;
  padding: 16px;
  margin-top: 24px;
  border-radius: 8px;
}
@media screen and (max-width: 750px) {
  .campaign__container {
    padding: 16px;
  }
}
.campaign__conditions > .campaign__heading {
  font-size: 1.8rem;
  font-weight: 700;
}
.campaign__conditions > .campaign__heading:not(:first-child) {
  margin-top: 24px;
  padding-top: 24px;
}
.campaign__conditions > .campaign__subHeading {
  padding-top: 24px;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .campaign__conditions > .campaign__subHeading {
    font-size: 1.5rem;
  }
}
.campaign__conditions > .campaign__desc {
  line-height: 1.7;
  margin-top: 8px;
}
.campaign__conditions > .campaign__subDesc {
  line-height: 1.7;
  margin-top: 8px;
}
@media screen and (max-width: 750px) {
  .campaign__conditions > .campaign__subDesc {
    font-size: 1.4rem;
  }
}
.campaign__conditions > .campaign__subDesc > .campaign__annotation {
  font-size: 1.4rem;
  line-height: 1.7;
  padding-left: 50px;
}
@media screen and (max-width: 750px) {
  .campaign__conditions > .campaign__subDesc > .campaign__annotation {
    font-size: 1.2rem;
    padding-left: 20px;
  }
}
.campaign__list {
  display: inline-block;
  margin-left: 32px;
}
@media screen and (max-width: 750px) {
  .campaign__list {
    margin-left: 8px;
  }
}
.campaign__list > .campaign__item {
  position: relative;
  padding-left: 20px;
}
.campaign__list > .campaign__item::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
}
.campaign__list > .campaign__item:not(:first-child) {
  margin: 8px 0;
}
.campaign__list > .campaign__item > .campaign__superior {
  font-size: 0.8em;
  vertical-align: top;
}
@media screen and (max-width: 750px) {
  .campaign__list > .campaign__item {
    padding-left: 10px;
  }
}
.campaign__link {
  color: #0091ff;
}
.campaign__link:visited {
  color: #0091ff;
}
.campaign__btnArea {
  max-width: 920px;
  margin: 48px auto 0;
}
@media screen and (max-width: 750px) {
  .campaign__btnArea {
    margin: 56px 0 0;
  }
}
.campaign__linkBtn {
  width: 80%;
  display: block;
  margin: 0 auto;
  padding: 16px 8px;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  border-radius: 8px;
}
.campaign__linkBtn:visited {
  color: #ffffff;
}
.campaign__linkBtn:hover {
  text-decoration: none;
  opacity: 0.7;
}
.campaign__linkBtn {
  background: #3CC9C9;
}

.jsShow {
  display: none;
}