@charset "UTF-8";

*,*::before,*::after{
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style-type: none;
}

html{
  font-size: 62.5%;
  line-height: 1.5;
  color: #242323;
  scroll-behavior: smooth;
}

body{
  overflow-x: hidden;
  font-size: 1.6rem;
  font-family: "ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro", メイリオ, Meiryo,Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img{
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  width: auto;
  margin: 0;
  padding: 0;
}

.sp{
  display: none !important;
}

@media screen and (max-width: 767.9px) {
  .sp{
    display: block !important;
  }

  .pc{
    display: none !important;
  }
}

.fs{
  display: inline-block;
}
ul.list-note > li {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #909090;
  padding-left: 1.5em;
}
ul.list-note > li::before {
  content: "※";
  position: absolute;
  left: 0;
  width: 1.5em;
  text-align: center;
}
.list-note.list-note--center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.list-note.list-note--app{
  margin-top: 8px;
}
ul.list-dot > li {
  position: relative;
  padding-left: 1.5em;
}
ul.list-dot > li::before {
  content: "・";
  position: absolute;
  left: 0;
  width: 1.5em;
  text-align: center;
}
.link-blue{
  color: #3895FF;
  cursor: pointer;
}
.link-blue:visited{
  color: #3895FF;
}
.link--arrow{
  position: relative;
}
.link--arrow::after{
  content: '';
  display: inline-block;
  width: 15px;
  height: 12px;
  background-image: url(/campaign/2409-01/img/icon-arrow.svg);
  background-size: 12px 12px;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .list-note.list-note--center {
    display: block;
    flex-direction: column;
    align-items: start;
    text-align: left;
  }  
}

.sectionTitle{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  margin: 96px 0 24px 0;
}

@media screen and (max-width: 767px) {
  .sectionTitle{
    font-size: 2rem;
  }
}

.accordion-head {
  font-weight: 600;
  cursor: pointer;
  position: relative;
}
.accordion-head.open::after {
  transform: rotate(45deg);
}
.accordion-head::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url(/campaign/2409-01/img/accordion-arrow-gray.svg);
  background-size: 24px 24px;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s;
}
.accordion-head.open::after {
  transform: translateY(-50%) rotate(-180deg);
}
.accordion-content{
  display: none;
}
/* cpn終了テキスト↓ */
.endCpn{
  max-width: 580px;
  padding: 120px 0 40px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.endCpn_text{
  border: 2px solid #d42f00;
  margin: 0 auto !important;
  padding: 18px 36px;
  color: #d42f00 !important;
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 767.9px) {
  .endCpn{
    padding: 94px 15px 24px;
  }

  .endCpn_text{
    border-width: 1px;
    font-size: 1.4rem;
    padding: 18px;
  }
}
/* cpn終了テキスト↑ */


/* mainWrapper↓ */
.mainWrapper{
  max-width: 1128px;
  padding: 0px 24px;
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper{
    padding: 0 24px;
  }
}
/* mainWrapper↑ */

/* kv↓ */
.kv{
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  background: #FFC224;
}

.kv img{
  display: block;
  margin: 0 auto;
  max-width: 1800px;
  width: 100%;
}
/* kv↑ */

/* page-nav↓　*/
.page-nav{
  margin: 48px 0;
}
.page-nav__lists-3row {
  max-width: 678px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 16px;
  grid-template-areas: "li-a li-b";
}
.page-nav__lists-3row > li + li {
  margin: 0;
}
.page-nav__lists-3row > li:nth-of-type(1) {
  grid-area: li-a;
}
.page-nav__lists-3row > li:nth-of-type(2) {
  grid-area: li-b;
}
.page-nav__lists-3row .anchor-link {
  min-height: 46px;
  font-size: 1.6rem;
  line-height: 1.5;
  transition: .3s;
  padding: 7px 40px 7px 16px
}
.anchor-link {
  position: relative;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #3895ff;
  text-decoration: none;
  border: 1px #3895ff solid;
  border-radius: 8px;
  height: 100%;
  display: flex;
  align-items: center;
}
.page-nav__lists-3row .anchor-link::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/campaign/2409-01/img/anchor_arrow.svg);
  background-size: 16px 9px;

}
@media screen and (max-width: 767px) {
  .page-nav{
    margin: 32px 0;
  }  
  .page-nav__lists-3row {
    display: block;
    grid-template-columns: none;
  }
  .page-nav__lists-3row > li + li{
    margin-top: 16px;
  }
  .page-nav__lists-3row .anchor-link {
    padding: 7px 40px 7px 16px;
  }
  .page-nav__lists-3row .anchor-link::before {
    background-size: 12px 7px;
  }
}
/* page-nav↑ */

/* bnr↓ */
.bnr{
  padding: 16px 0;
  background-color: #F7F7F7;
}
.bnr__title{
  margin-top: 0;
}
.bnr__img{
  max-width: 420px;
  margin: 0 auto;
}
.bnr__list{
  margin-top: 16px;
  display: flex;
  gap: 16px;
  justify-content: center;
}
.bnr__list__item{
  text-align: center;
  width: 202px;
}
.bnr__list__item__title{
  padding: 4px 12px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.bnr__list__item__text{
  font-size: 1.2rem;
  font-weight: 600;
  padding: 12px 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.bnr__list__item--blue .bnr__list__item__title{
  background-color: #0682BA;
}
.bnr__list__item--blue .bnr__list__item__text{
  border-left: solid 2px #7BC8E9;
  border-right: solid 2px #7BC8E9;
  border-bottom: solid 2px #7BC8E9;
}
.bnr__list__item--red .bnr__list__item__title{
  background-color: #E33F3F;
}
.bnr__list__item--red .bnr__list__item__text{
  border-left: solid 2px #F69696;
  border-right: solid 2px #F69696;
  border-bottom: solid 2px #F69696;
}
.bnr__list__item__text span{
  color: #FA1919;
}
.bnr__text{
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: 1.4rem;
  margin-top: 16px;
  color: #909090;
}
@media screen and (max-width: 767px) {
  .bnr{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;  
    padding: 16px 24px;
  }
  .bnr__title{
    margin-bottom: 4px;
  }  
  .bnr__img{
    padding: 0 24px;
  }  
  .bnr__text{
    text-align: left;
    font-size: 1.2rem;
    margin-top: 4px;
  }
}
/* bnr↑ */

/* howto-cpn↓ */
.step{
  display: flex;
  justify-content: center;
  gap: 68px;
}
.step__item{
  max-width: 337px;
  position: relative;
  border-radius: 8px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.step__item + .step__item::after{
  content: "";
  display: block;
  width: 16px;
  height: 32px;
  background: url(/campaign/2409-01/img/icon-arrow.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  left: -42px;
  top: 50%;
}
.step__title{
  padding: 4px 16px;
  font-size: 1.8rem;
  text-align: center;
  background-color: #FD5C5C;
  border-radius: 8px 8px 0 0;
  color: #fff;
  font-weight: 600;
}
.step__content{
  padding: 16px;
}
.step__content__wrrap{
  display: flex;
  align-items: center;
  gap: 12px;
}
.step__content__img img{
  max-width: 50px;
}
.step__list-number{
  margin-top: 16px;
  font-weight: 600;
}
.step__list-number > li + li{
  margin-top: 12px;
}
ol.list-number--circle > li {
  position: relative;
  padding-left: 1.2em;
}
ol.list-number--circle > li::before {
  position: absolute;
  left: 0;
  width: 1em;
  height: 1em;
}
ol.list-number--circle > li:nth-child(1)::before {
  content: '\02460';
}
ol.list-number--circle > li:nth-child(2)::before {
  content: '\02461';
}
.prise__img-area{
  margin-top: 64px;
}
.prise__img{
  margin: 0 auto;
}
.prise__img--first{
  max-width: 527px;
}
.prise__img--second{
  margin-top: 22px;
  max-width: 279px;
}
@media screen and (max-width: 767px) {
  .step{
    display: block;
  }
  .step__item{
    max-width: 100%;
  }
  .step__item + .step__item{
    margin-top: 24px;
  }  
  .step__item + .step__item::after{
    display: none;
  }
  .prise__img--second{
    margin-top: 12px;
  }
}
/* howto-cpn↑ */

/* post↓ */
.post__title{
  margin-top: 64px;
}
.post__img{
  margin: 0 auto;
}
.post__img--first{
  max-width: 327px;
}
.post__text{
  margin-top: 24px;
  text-align: center;
}
.post__text span{
  color: #F03;
}
.post__img--second{
  max-width: 239px;
  margin-top: 32px;
}
.balloon_heading--gray{
  position: relative;
  color: #fff;
  text-align: center;
  font-weight: 600;
  background: #909090;
  border-radius: 20px;
  margin: 0 auto;
  margin-bottom: 20px;
  padding: 6px 20px;
}
.balloon_heading--gray::before {
  content: "";
  position: absolute;
  border: 10px solid transparent;
  border-top: 13px solid #909090;
  margin-left: -10px;
  top: 35px;
  left: 50%;
}
.post__balloon{
  max-width: 250px;
  margin-top: 32px;
}
.post__link{
  text-align: center;
  margin-top: 18px;
  font-weight: 600;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .post__text{
    margin-top: 16px;
    text-align: left;
  }  
  .post__list-note{
    margin-top: 16px;
  }
  .post__img--second{
    margin-top: 24px;
  }
  .post__balloon{
    margin-top: 24px;
  }
}
/* post↑ */

/* cta↓ */
.cta{
  margin:  0 auto;
  margin-top: 96px;
  padding: 24px;
  position: relative;
  max-width: 900px;
  background-color: #f7f7f7;
}
.cta h3{
  text-align: center;
  font-weight: 600;
}
.cta__wrrap{
  margin: 0 auto;
  max-width: 278px;
  margin-top: 16px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

@media screen and (max-width: 767px) {
  .cta{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .cta::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    background: #f7f7f7;
    z-index: -1;
  }
}
/* cta↑ */

/* what↓ */
.what__text{
  text-align: center;
}
.what__img{
  margin: 0 auto;
  margin-top: 24px;
  max-width: 1059px;
}
.what__img img{
  width: 100%;
}
@media screen and (max-width: 767px) {
  .what__text{
    text-align: left;
  }
}
/* what↑ */

/* merit↓ */
.merit p{
  text-align: center;
}
.merit__title{
  margin-top: 16px;
  font-size: 2rem;
  font-weight: 600;
  color: #F03;
}
.merit__title::before{
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(/campaign/2409-01/img/icon-check.svg);
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 5px;
}
.merit-note{
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .merit p{
    text-align: left;
  }
  .merit__title {
    margin-top: 24px;
  }
}
/* merit↑ */

/* terms↓ */
.terms__ctn {
  width: 100%;
}

.terms__ctn .table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1.6rem;
  width: 100%;
}

.terms__ctn .table__head, .terms__ctn .table__data {
  border: 1px solid #cccccc;
  padding: 16px;
  text-align: left;
  vertical-align: top;
  font-size: 1.6rem;
}

.table__data .bold{
  font-weight: bold;
}

.terms__ctn .table__head__title, .terms__ctn .table__data__title {
  font-weight: bold;
}

.terms__ctn .table__head {
  background-color: #eeeeee;
  font-weight: bold;
  width: 27%;
  vertical-align: middle;
}

.terms__ctn .table__text + .terms__ctn .table__text {
  margin-top: 35px;
}

.terms__ctn .table__img {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .terms__ctn .table {
    border-top: 1px solid #cccccc;
    font-size: 1.4rem;
  }
  .terms__ctn .table__head,
  .terms__ctn .table__data {
    border-top: 0;
    display: block;
    padding: 8px;
  }
  .terms__ctn .table__head--no-border,
  .terms__ctn .table__data--no-border {
    border-bottom: none;
  }
  .terms__ctn .table__head {
    text-align: left;
    width: 100%;
  }
}
/* terms↑ */

/* faq↓ */
.faq .inner{
  max-width: 1128px;
  padding: 0 24px;
  margin: 0 auto;
  box-sizing: border-box;
}
.mainWrapper .faq {
  margin-top: 80px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  padding: 64px 0;
  text-align: center;
  background-color: #F7F7F7;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq {
    margin-top: 50px;
    margin-bottom: 50px;
    padding-top: 32px;
    padding-bottom: 28px;
  }
}

.mainWrapper .faq__wrapper {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 30px;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__wrapper {
    width: 100%;
    padding: 32px 15px;
  }
}

.mainWrapper .faq__title {
  margin-top: 0;
}

.mainWrapper .faq__question-ctn {
  margin-top: 37px;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question-ctn {
    margin-top: 20px;
  }
}

.mainWrapper .faq__question {
  margin-bottom: 30px;
}

.mainWrapper .faq__question:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question {
    margin-bottom: 20px;
  }
}

.mainWrapper .faq__question__title {
  align-items: center;
  background-color: #969696;
  border-radius: 5px;
  cursor: pointer;
  display: flex;
  margin: 0;
  padding: 5px 0;
  position: relative;
  text-align: left;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question__title {
    padding: 5px 0;
  }
}

.mainWrapper .faq__question__title::after {
  content: '';
  display: block;
  position: absolute;
  right: 21px;
  top: calc(50% - 12px);
  transition: 0.3s;
  content: '';
  display: block;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0 2px 2px 0;
  height: 17px;
  vertical-align: middle;
  width: 17px;
  transform: rotate(45deg);
}

@media all and (-ms-high-contrast: none), print {
  .mainWrapper .faq__question__title::after {
    margin-bottom: 1px !important;
  }
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question__title::after {
    content: '';
    display: block;
    border-color: #ffffff;
    border-style: solid;
    border-width: 0 2px 2px 0;
    height: 14px;
    vertical-align: middle;
    width: 14px;
    transform: rotate(45deg);
  }
}

.mainWrapper .faq__question__title__icon {
  display: inline-block;
  margin: 0 20px;
}

@media screen and (min-width: 768px) {
  .mainWrapper .faq__question__title__icon {
    position: relative;
    top: -5px;
  }
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question__title__icon {
    left: 0;
    margin: 0 10px;
    max-width: 15px;
    min-width: 15px;
    position: absolute;
    top: 0;
  }
}

.mainWrapper .faq__question__title__text {
  color: #fff;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question__title__text {
    font-size: 1.6rem;
    padding-left: 33px;
    padding-right: 40px;
  }
}

.mainWrapper .faq__question__title.active {
  border-radius: 5px 5px 0 0;
}

.mainWrapper .faq__question__title.active::after {
  top: calc(50% - 5px);
  transform: rotate(-135deg);
}

.mainWrapper .faq__question__text {
  border-bottom: 3px solid #969696;
  border-left: 3px solid #969696;
  border-radius: 0 0 10px 10px;
  border-right: 3px solid #969696;
  display: none;
  font-size: 1.6rem;
  line-height: 26px;
  margin-left: 0;
  padding: 20px;
  text-align: left;
  background: #ffffff;
}

.faq__note{
  display: block;
  font-size: 1.2rem;
  color: #909090;
  margin-top: 8px;
}

@media screen and (max-width: 767.9px) {
  .mainWrapper .faq__question__text {
    padding: 10px;
  }
}
/* faq↑ */

/* campain↓ */
.campain__list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  align-items: center;
}
.campain__list li{
  max-width: 280px;
}
/* campain↑ */

/* sec05↓ */
.sec05 {
  margin-top: 128px;
  margin-bottom: 30px;
  padding: 54px 0 51px;
  background: url(/campaign/2409-01/img/bottom_bg.png) no-repeat 90% bottom / 878px auto, url(/assets/img/top_bg01.jpg) no-repeat right center / cover;
}
.container {
  width: 100%;
  max-width: 1120px;
  padding: 0 30px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.download_sec .txt_box {
  max-width: 670px;
}
.container:after {
  content: "";
  display: block;
  clear: both;
}
.download_sec .tle {
  font-size: 4.7rem;
  color: #fff;
  line-height: 1.4;
  padding-top: 51px;
  display: inline-block;
  position: relative;
  font-weight: 700;
  margin-bottom: 16px;
  font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004", sans-serif;
  letter-spacing: 0em;
}
.download_sec .tle span {
  font-size: 2.9rem;
  display: inline-block;
  padding: 0 30px;
  background: url(/campaign/2409-01/img/line-wh-left.svg) no-repeat left center / auto, url(/campaign/2409-01/img/line-wh-right.svg) no-repeat right center / auto;
  position: absolute;
  top: 0;
  right: 35%;
  z-index: 1;
}
.download_sec .txt_box .btn_list {
  margin-bottom: 32px;
}
.download_sec .btn_item {
  display: inline-block;
  margin-right: 2%;
  vertical-align: middle;
}
.download_sec .btn_item:first-child {
  width: 13%;
  max-width: 87px;
  margin-top: 2px;
}
.download_sec .btn_item:nth-child(2) {
  width: 36%;
  max-width: 237px;
}
.download_sec .btn_item:nth-child(3) {
  width: 45%;
  margin-right: auto;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
.download_sec .txt {
  color: #EEEEEE;
  font-size: 1.2rem;
  line-height: 1.6;
  text-indent: -11px;
  padding-left: 11px;
}
@media screen and (max-width: 1530px) {
  .sec05 {
    margin-top: 96px;
    background: url(/campaign/2409-01/img/bottom_bg.png) no-repeat 100% bottom / 741px auto, url(/assets/img/top_bg01.jpg) no-repeat right center / cover;
  }
  .download_sec .txt_box {
    width: 58%;
  }
  .download_sec .tle {
    font-size: 3.2rem;
    padding-top: 40px;
  }
  .download_sec .tle span {
    font-size: 2.3rem;
    right: 34%;
  }
  .download_sec .btn_item {
    margin-right: 1%;
  }
}
@media screen and (max-width: 1106px) {
  .sec05 {
    background: url(/campaign/2409-01/img/bottom_bg.png) no-repeat 123% bottom / 741px auto, url(/assets/img/top_bg01.jpg) no-repeat right center / cover;
  }
}
@media screen and (max-width: 959px) {
  .sec05 {
    background: url(/campaign/2409-01/img/bottom_bg.png) no-repeat 130% bottom / 553px auto, url(/assets/img/top_bg01.jpg) no-repeat right center / cover;
  }
  .download_sec .txt_box {
    width: 65%;
    letter-spacing: 0;
  }
  .download_sec .tle {
    font-size: 2.8rem;
    padding-top: 35px;
  }
}
@media screen and (max-width: 767px) {
  .sec05 {
    background: url(/campaign/2409-01/img/bottom_bg_sp.png) no-repeat center bottom / 90% auto, url(/assets/img/top_bg01.jpg) no-repeat 96% center / cover;
    padding-bottom: 63%;
  }  
  .container {
    padding: 0 20px;
  }
  .download_sec .txt_box {
    max-width: 100%;
    width: 100%;
    text-align: center;
  }
  .download_sec .tle span {
    right: 24%;
  }
  .download_sec .txt_box .btn_list {
    margin-bottom: 13px;
  }
  .download_sec .btn_item {
    display: block;
    margin: 0 auto 10px auto;
    width: 100% !important;
    max-width: 238px;
  }
  .download_sec .txt {
    text-align: left;
  }
}
/* sec05↑ */

/* bread↓ */
#bread_area{
  margin-top: 30px;
}
/* bread↑ */

/* footer↓ */
.footer{
  text-align: center;
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .fix_txt {
    margin-top: -36px;
  }
}
@media screen and (max-width: 420px) {
  .fix_txt {
    margin-top: -23px;
  }
}
/* footer↑ */