@charset "utf-8";
.mt04{
  margin-top: 4px !important;
}
.mt08{
  margin-top: 8px !important;
}
.mt16{
  margin-top: 16px !important;
}
.mt22{
  margin-top: 22px !important;
}
h1, h2, h3, h4, h5, h6, p, ul{
  margin: 0;
  list-style-type: none;
  padding: 0;
}
.fix-width{
  width: 100vw;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
[data-mini-item],
[data-ntv-item]{
  display: none;
}
.cp-background{
  background-color: #badaff;
}
.page-main__wrapper{
  position: relative;
  max-width: 520px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
  background-color: #fff;
}
.list-note{
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
ul.list-note--gray > li{
  color: #606060;
  letter-spacing: 0.02em;
}
.list-square{
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.list-square > li{
  position: relative;
  font-size: 1.4rem;
  padding-left: 1.5em;
}
.list-square > li::before {
  content: "■";
  position: absolute;
  left: 0;
  width: 1.5em;
  text-align: center;
}
.remark{
  font-size: 0.6em;
  vertical-align: super;
}
.content__inner{
  padding: 24px 0;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.content-title{
  background-color: #2A71C1;
  padding: 16px 24px;
  margin: 0 -24px;
}
.content-title__img{
  display: block;
  max-width: max-content;
  width: 100%;
  margin: 0 auto;
}
.article{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.article__item{
  position: relative;
  font-weight: 600;
  padding-left: 32px;
  letter-spacing: 0.05em;
}
.article__item::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  background: url(/campaign/purchase/2603/img/ico-article.svg) no-repeat center center / contain;
  background-size: 18px 18px;
}
.campaign-content__note {
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #909090;
}

/* mv */
.cross__main-visual{
  width: calc(100% + 48px);
  margin: 0 -24px;
}
/* us-stock */
.explanation{
  display: flex;
  align-items: center;
  gap: 16px;
}
.explanation-img{
  max-width: 70px;
  width: 100%;
}
.explanation-content__title{
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

/* anchor */
.anchor-bg{
  padding: 24px 24px;
  margin: 0 -24px;
  background-color: #E5F1FF;
}
.cross-anchor{
  background-color: #fff;
  border: 2px solid #badaff;
  border-radius: 8px;
  padding: 14px;
}
.cross-anchor__list{
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.cross-anchor__link{
  display: flex;
  align-items: center;
  column-gap: 2px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.cross-anchor__link::before{
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/campaign/purchase/2603/img/anchor_arrow.svg) no-repeat center center / contain;
  background-size: 12px 7px;
}

/* requirements */
.requirements__inner{
  padding: 24px 0 48px;
}
.requirements-attecion{
  color: #FA1919;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
}
.requirements-article{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.requirements-button{
  max-width: 360px;
  width: 100%;
  padding: 14px 7px;
  margin: 0 auto;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  cursor: pointer;
}

/* campaign-content */
.campaign-content__inner{
  padding: 24px 24px 48px;
  margin: 0 -24px;
  background-color: #DFF3FF;
}
.campaign-content__article{
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
  row-gap: 4px;
}
/* purchase */
.purchase__inner{
  padding: 24px 0 48px;
}
.purchase-text{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  text-align: center;
}
.step-lists{
  width: calc(100% + 24px);
}
.step-lists .slick-list{
  padding: 0 calc(109 / 351 * 100%) 0 0!important;
}
.step-lists__item{
  margin-right: 36px;
  max-width: 206px;
}
.step-lists__item-pic{
  padding: calc(8 / 206 *100%) calc(16 / 206 *100%) 0;
  position: relative;
}
.step-lists__item .step-lists__item-pic::before{
  content: "";
  display: block;
  width: calc(34 / 206 * 100%);
  height: calc(34 / 278 * 100%);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  position: absolute;
  left: 2px;
  top: 0;
}
.step-lists__item:nth-of-type(1) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon01.png);
}
.step-lists__item:nth-of-type(2) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon02.png);
}
.step-lists__item:nth-of-type(3) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon03.png);
}
.step-lists__item:nth-of-type(4) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon04.png);
}
.step-lists__item:nth-of-type(5) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon05.png);
}
.step-lists__item:nth-of-type(6) .step-lists__item-pic::before{
  background-image: url(/campaign/purchase/2603/img/step-icon06.png);
}
.step-lists__item .step-lists__item-pic::after{
  content: "";
  display: block;
  width: 16px;
  height: 29px;
  background: url(/campaign/asset/ss2512/img/step-arrow.png) no-repeat center;
  background-size: contain;
  position: absolute;
  right: -26px;
  top: 56.8%;
}
.step-lists__item:last-child .step-lists__item-pic::after{
  display: none !important;
}
.step-lists__item-text{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  margin-top: 16px;
  padding: 0 4%;
}
.step-lists__item-text-emphasis{
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.step-lists__item-note{
  color: #909090;
}
.step-lists__controller{
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 24px);
  height: 40px;
  list-style: none;
  padding: 0;
  margin: 16px 24px 0 0;
  text-align: center;
  position: relative;
}
.step-lists__controller-prev,
.step-lists__controller-next{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  cursor: pointer;
}
.step-lists__controller-prev{
  left: 0;
}
.step-lists__controller-next{
  right: 0;
}
.step-lists__controller-prev.slick-disabled,
.step-lists__controller-next.slick-disabled{
  opacity: 0;
}
.step-lists__controller-dots{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 45px;
}
.step-lists__controller-dots li{
  width: 12px;
  height: 12px;
  margin: 0 6px;
  padding: 0;
  cursor: pointer;
  position: relative;
}
.step-lists__controller-dots li button{
  display: block;
  width: 12px;
  height: 12px;
  background: transparent;
  border: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  outline: none;
  padding: 0;
  cursor: pointer;
}
.step-lists__controller-dots li button:hover,
.step-lists__controller-dots li button:focus{
  outline: none;
}
.step-lists__controller-dots li button:hover:before,
.step-lists__controller-dots li button:focus:before{
  opacity: 1;
}
.step-lists__controller-dots li button:before{
  content: '';
  width: 8px;
  height: 8px;
  background: #ddd;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.step-lists__controller-dots li.slick-active button:before{
  width: 12px;
  height: 12px;
  background: #4da0ff;
}

/* rank */
.rank__inner{
  row-gap: 24px;
  padding: 24px 24px 48px;
  margin: 0 -24px;
  background-color: #DFF3FF;
}
.rank-list__num::before{
  content: '';
  position: absolute;
  top: 0;
  right: 8px;
  width: 26px;
  height: 35px;
  background-size: 26px 35px;
}
.rank-list__num--01::before{
  background: url(/campaign/purchase/2603/img/ico-no01.svg) no-repeat center center / contain;
}
.rank-list__num--02::before{
  background: url(/campaign/purchase/2603/img/ico-no02.svg) no-repeat center center / contain;
}
.rank-list__num--03::before{
  background: url(/campaign/purchase/2603/img/ico-no03.svg) no-repeat center center / contain;
}
.rank-title{
  max-width: 300px;
  margin: 0 auto;
}
.rank-lists__item {
  margin-right: 16px;
  max-width: 260px;
}
.rank-lists__inner{
  padding: 16px;
  position: relative;
  background-color: #fff;
  border-radius: 8px;
}
.rank-lists__title{
  display: flex;
  gap: 8px;
}
.rank-lists__title-ico{
  max-width: 30px;
  width: 100%;
}
.rank-lists__title-text{
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
.rank-lists__main-title{
  max-width: 174px;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 600;
}
.rank-lists__sub-title{
  max-width: 174px;
  font-size: 1.2rem;
  color: #606060;
  font-weight: 600;
}
.rank-lists__ticker-title{
  font-size: 1.2rem;
  color: #909090;
}
.rank-lists__text{
  font-size: 1.4rem;
  margin-top: 8px;
  padding: 0;
  color: #606060;
}
.rank-lists__button{
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.rank-lists__native-button,.rank-lists__mini-button{
  font-size: 1.2rem;
  display: flex;
  height: 44px;
  max-width: 260px;
  padding: 6px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  cursor: pointer;
}
.rank__note{
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #909090;
  padding-left: 1.5em;
}
.rank__note::before{
  content: "※";
  position: absolute;
  left: 0;
  width: 1.5em;
  text-align: center;
}
@media screen and (min-width:768px) {
  .rank__note{
    max-width: max-content;
    width: 100%;
    margin: 0 auto;
  }
}
.rank__inner-bottom{
  display: flex;
  flex-direction: column;
  row-gap: 48px;
}
.rank-accordion{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.rank-accordion__inner{
  background-color: #fff;
  padding: 8px 13px;
  border: 3px solid #BBCFF2;
  border-radius: 8px;
}
.rank-accordion__head{
  position: relative;
  font-weight: 600;
  color: #2455AA;
  text-align: center;
}
.rank-accordion__head-button{
  position: absolute;
  top: 2px;
  right: 0;
  width: 19px;
  height: 19px;
  background-color: #DDEAFE;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
}
.accordion-head.rank-accordion__head::after{
  display: none;
}
.rank-accordion__head-button::before,
.rank-accordion__head-button::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: #2455AA;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, opacity 0.3s;
}
.rank-accordion__head-button::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.rank-accordion__head.open .rank-accordion__head-button::after{
  transform: translate(-50%, -50%) rotate(0deg);
}

.rank-accordion__content{
  margin-top: 16px;
  padding-top: 16px;
  padding-bottom: 8px;
  border-top: 1px solid #BBCFF2;
}
.stock-comparison__title-box{
  display: flex;
  justify-content: space-between;
  padding-bottom: 8px;
  border-bottom: 1px solid #2455AA;
}
.stock-comparison__title-wrrap{
  max-width: 103px;
  display: flex;
  justify-content: center;
  flex: 1 0 0;
  gap: 4px;
}
.stock-comparison__title-ico{
  max-width: 35px;
  width: 100%;
}
.stock-comparison__title{
  color: #002970;
  font-weight: 600;
}
.stock-comparison__list-item{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #BBCFF2; 
}
.stock-comparison__table-ja,.stock-comparison__table-en{
  font-size: 1.3rem;
  color: #606060;
  text-align: center;
  width: 102px;
}
.stock-comparison__table-attention{
  font-weight: 600;
  color: #FA1919;
}
.comparison-title{
  font-size: 1.2rem;
  background-color: #2A71C1;
  color: #fff;
  font-weight: 600;
  display: flex;
  justify-content: center;
  max-width: 90px;
  width: 100%;
  padding: 4px 0;
  border-radius: 100px;
}
.app{
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}
.app-wrrap{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
}
.app-title__wrrap{
  display: flex;
  gap: 8px;
  align-items: center;
}
.app-title__ico{
  max-width: 36px;
  width: 100%;
}
.app-title{
  font-size: 1.4rem;
  font-weight: 600;
}
.app-wrrap__button{
  display: flex;
  gap: 16px;
  justify-content: center;
}
.app-button{
  padding: 11px 8px;
  width: 100%;
  cursor: pointer;
}
.app-link{
  cursor: pointer;
  text-align: center;
  font-size: 1.2rem;
  color: #3895ff;
  font-weight: 600;
}
.app-link:hover{
  text-decoration: underline;
}
.list-note--app{
  font-size: 1.2rem;
}
/* example */
.example__inner{
  row-gap: 24px;
  padding: 24px 24px 48px;
  margin: 0 -24px;
  background-color: #DFF3FF;
}
.example-box{
  border-radius: 8px;
  overflow: hidden;
}
.example-title{
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-right: 4px;
  background-color: #FD7979;
}
.example-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 7px 7.5px 0 7.5px;
  border-color: #FD7979 transparent transparent;
  translate: -50% 100%;
}
.example-title__case{
  width: 100%;
  max-width: 108px;
}
.example-title__text{
  font-weight: 600;
  color: #fff;
}
.example-content{
  background-color: #fff;
  padding: 15px 16px 16px;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.example-content__title-wrrap{
  display: flex;
  justify-content: center;
  gap: 8px;
}
.example-content__title{
  max-width: 216px;
  width: 100%;
  background-color: #BADAFF;
  text-align: center;
  padding: 4px 8px;
  font-size: 1.2rem;
  font-weight: 600;
  border-radius: 20px;
}
.example-description{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.example-description--case03{
  position: relative;
  gap: 13px;
}
.example-description--case03::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-style: solid;
  border-width: 12px 11.5px 0 11.5px;
  border-color: #FD7979 transparent transparent;
  translate: -50% -50%;
}
.example-description__app{
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  max-width: 206px;
  width: 100%;
}
.example-description__app-item{
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}
.example-description__app-ico{
  max-width: 36px;
  width: 100%;
}
.example-description__app-text{
  font-size: 1.4rem;
  font-weight: 600;
}
.example-description__content{
  max-width: 216px;
  width: 100%;
  display: flex;
  justify-content: center;
}
.example-description__content-img{
  margin: 0 auto;
}
.example-description__content-img--case01{
  max-width: 114px;
}
.example-description__content-img--case02{
  max-width: 144px;
}
.example-description__content-img--case03{
  max-width: 115px;
  display: flex;
  flex-direction: column;
  row-gap: 27px;
}
.privileg-title{
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: #00367D;
  padding: 4px 8px;
  text-align: center;
  font-weight: 600;
  color: #fff;
}
.privilege-content{
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  padding: 8px 0 6px 0;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 2px solid #BBCFF2;
  border-left: 2px solid #BBCFF2;
  border-right: 2px solid #BBCFF2;
}
.privilege-unit{
  margin: 0 auto;
}
.privilege-unit--01{
  max-width: 43px;
}
.privilege-unit--02{
  max-width: 31px;
}
.privilege-unit--02{
  max-width: 31px;
}
.privilege-unit--02{
  max-width: 31px;
}
.privilege-unit--03{
  max-width: 61px;
}
.privilege-text{
  text-align: center;
  color: #606060;
}
@media screen and (min-width: 358px) {
  .example-title__case{
    max-width: 101px;
  }

}

/* detail */
.detail__ctn{
  width: 100%;
}
.detail__ctn .table{
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  font-size: 1.4rem;
  width: 100%;
}
.detail__ctn .table__head, .detail__ctn .table__data{
  display: block;
  border: 1px solid #ddd;
  padding: 7px;
  text-align: left;
  vertical-align: top;
  border-top: 0;
  letter-spacing: 0.02em;
}
.detail__ctn .table__head{
  text-align: left;
  width: 100%;
  background-color: #eee;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.detail__ctn .table__note{
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
.detail__ctn .table__note >li{
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}

/* faq */
.program-faq__inner{
  padding: 24px;
  margin: 0 -24px;
  background-color: #f7f7f7;
}
.program-faq__list{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.program-faq__item{
  padding: 0 15px;
  background: #fff;
  border: 1px #bababa solid;
  border-radius: 12px;
}
.program-faq__question{
  position: relative;
  padding: 16px 24px 16px 27px;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
.program-faq__question::before{
  content: 'Q.';
  position: absolute;
  top: 16px;
  left: 0;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #002970;
}
.program-faq__answer{
  position: relative;
  padding: 0 4px 16px 27px;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.program-faq__answer::before{
  content: 'A.';
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #f03;
}

.risk-about__inner{
  padding: 24px 0 96px;
}
.risk-about__accordion{
  width: 100%;
  margin-left:auto;
  margin-right: auto;
  padding:15px 14px;
  border: 1px solid #BABABA;
  border-radius: 12px;
}
.risk-about__title{
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.risk-about__answer{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  margin-top: 16px;
}
.breadcrumbs--bottom {
  margin-top: 0;
}
/* footer */
#footer {
  padding-bottom: 137px;
}
@media screen and (min-width: 1080px) {
  #footer {
      padding: 64px 0;
  }
}
/* floating */
.floating {
  width: 100%;
  padding: 16px;
  background-color: #fff;
  box-shadow: 0px -6px 15px 0px rgba(0, 0, 0, 0.15);
  position: fixed;
  bottom: 0;
  z-index: 10;
}
.floating__inner{
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
.floating-button__inner{
  display: flex;
  justify-content: center;
  gap: 16px;
}
.floating__button{
  width: 100%;
  padding: 15px 8px;
  cursor: pointer;
}
.floating-link__inner{
  display: flex;
  flex-direction: column;
  text-align: center;
  margin-top: 16px;
}
.floating__link{
  font-weight: 600;
  font-size: 1.2rem;
}