@charset "utf-8";
figure {
  margin: 0;
}
body{
  overflow-x: hidden;/*100vwを使った際に出る横スクロール発生を阻止*/
}
a {
  text-decoration: none;
  color: #3895ff;
}
 a:hover {
  text-decoration: underline;
}
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 ul {
  margin: 0;
  list-style-type: none;
  padding: 0;
}
span.fs {
  display: inline-block;
}
.remark {
  font-size: 0.6em;
  vertical-align: super;
}
.fix-width {
  width: 100vw;
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.page-wrapper{
  width: 100%;
}
.breadcrumbs--bottom{
  margin-top: 0;
}
.post__background {
  background-color: #99dcea;
}
.post__main-visual{
  width: calc(100% + 48px);
  margin: 0 -24px;
}
.page-main__wrapper{
  position: relative;
  max-width: 520px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
  background-color: #fff;
}
.mv__band{
  background-color: #f2f7fa;
}
.mv__band-img{
  display: block;
  max-width: 223px;
  width: 100%;
  margin: 0 auto;
}
.mv__img{
  width: 100%;
}
.paypay-qr {
  position: fixed;
  z-index: 20;
  top: calc(50% + 51px);
  left: -285px;
  max-width: 285px;
  width: 100%;
  height: auto;
  padding: 32px 16px;
  background-color: #fff;
  border-radius: 8px;
  -webkit-transition: 0.6s all;
  -o-transition: 0.6s all;
  transition: 0.6s all;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.paypay-qr__canvas{
  max-width: 180px;
  width: 100%;
  margin: 0 auto;
}
.paypay-qr__text{
  text-align: center;
  color: #f03;
  margin-top: 8px;
}
.post__pp-omakase-anchor{
  position: fixed;
  z-index: 20;
  top: calc(50% + 51px);
  right: -327px;
  max-width: 327px;
  width: 100%;
  height: auto;
  -webkit-transition: 0.6s all;
  -o-transition: 0.6s all;
  transition: 0.6s all;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.post__anchor-area{
  margin: 24px 0;
}
.pp-omakase-anchor {
  background-color: #fff;
  border: 2px solid #badaff;
  border-radius: 8px;
  padding: 14px;
}
.pp-omakase-anchor__list {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.pp-omakase-anchor__link{
  display: flex;
  align-items: center;
  column-gap: 2px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.pp-omakase-anchor__link::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('/campaign/asset/program_omakase/img/icon_down-arrow.svg') no-repeat center center / contain;
  background-size: 12px 7px;
}

.program-content__inner{
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  padding: 24px 0 48px;
}
.program-content__inner--value{
  padding: 48px 24px;
  margin: 0 -24px;
  background-color: #e5f8ff;
}
.program-content__title{
  padding: 16px 24px;
  margin: 0 -24px;
  background-color: #00accf;
}
.program-content__title-img{
  display: block;
  max-width: max-content;
  width: 100%;
  margin: 0 auto;
}
.program-content__note{
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  color: #909090;
  padding-left: 1.5em;
}
.program-content__note::before{
  content: "※";
  position: absolute;
  left: 0;
  width: 1.5em;
  text-align: center;
}
.program-conditions__img {
  display: block;
  max-width: 472px;
  margin: 0 auto 8px;
}
.program-conditions__inner{
  padding: 24px 24px 48px;
  margin: 0 -24px;
  background-color: #e5f9fb;
}
.program-conditions__text{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.program-conditions__table-title{
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.program-conditions__table{
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  table-layout: fixed;
}
.program-conditions__month{
  padding: 7px;
  background-color: #00accf;
  border: 1px solid #ddd;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}
.program-conditions__case{
  padding: 7px;
  background-color: #606060;
  border: 1px solid #ddd;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #fff;
}
.program-conditions__data{
  padding: 7px 5.6px;
  background-color: #fff;
  border: 1px solid #ddd;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-align: center;
}
.program-conditions__data-ok,
.program-conditions__data-no{
  display: block;
  position: relative;
  padding-top: 27.9px;
}
.program-conditions__data-ok::before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('/campaign/asset/program_omakase/img/icon_program-conditions_data-ok.svg') no-repeat center center / contain;
}
.program-conditions__data-no::before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('/campaign/asset/program_omakase/img/icon_program-conditions_data-no.svg') no-repeat center center / contain;
}
.program-conditions__time{
  position: relative;
  width: calc(100% - 12px);
  padding: 2px 6px;
  background-color: #ff954c;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: right;
  margin-top: 8px;
  margin-right: 12px;
}
.program-conditions__time::after{
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -17px;
  transform: translateY(-50%) rotate(-90deg);
  border-top: solid 12px #ff954c;
  border-left: solid 11px transparent;
  border-right: solid 11px transparent;
}
.program-conditions__note{
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
ul.program-conditions__note >li{
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}
.no-target{
  position: relative;
  padding-top: 40px;
}
.no-target__title{
  position: absolute;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 209px;
  width: 100%;
  z-index: 2;
}
.no-target__box{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
  padding: 23px 15px 15px;
  border-radius: 8px;
  border: solid 1px #eeb741;
  background-color: #fefcf6;
}
.no-target__item{
  width: 100%;
  display: flex;
  align-items: center;
  column-gap: 12px;
  padding: 7px;
  border: solid 1px #ddd;
  background-color: #fff;
  border-radius: 8px;
}
.no-target__img{
  max-width: 80px;
  width: 100%;
}
.no-target__text{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}

.about__points{
  max-width: 327px;
  width: 100%;
  display: flex;
  margin: 0 auto;
  column-gap: 15px;
}
.about__item{
  max-width: 156px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
}
.about__ballon{
  display: inline-block;
  max-width: max-content;
  width: 100%;
  padding: 4px 16px;
  border-radius: 20px;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #fd5c5c;
  color: #fff;
}
.about__chosen{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
  max-width: 400px;
  width: 100%;
  margin: 16px auto 0;
}
.about__chosen-title{
  display: inline-block;
  max-width: 254px;
  width: 100%;
  margin: 0 auto;
}
.about__box{
  width: 100%;
  padding: 16px;
  border-radius: 8px;
  background-color: #e5f9fb;
}
.about__list{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
}
.about__view{
  width: 100%;
  display: flex;
  align-items: center;
  column-gap: 13px;
}
.about__view-icon{
  max-width: 64px;
  width: 100%;
}
.about__speech{
  width: 100%;
  position: relative;
  padding: 8px 12px;
  border-radius: 8px;
  box-shadow: 2px 2px 0 0 #a7e4ef;
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.about__speech::before{
  content:'';
  position: absolute;
  top: 50%;
  left: -13px;
  transform: translate(0,-50%) rotate(90deg);
  border-top: solid 16px #fff;
  border-left: solid 7.5px transparent;
  border-right: solid 7.5px transparent;
}

.start-step__title{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
  padding: 12px 24px;
}
.start-step__inner{
  padding: 24px 24px 48px;
  margin: 0 -24px;
  background-color: #e5f9fb;
}
.start-step__card{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 16px;
  padding: 16px 20px;
  border-radius: 8px;
  background-color: #fff;
}
.start-step__head{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 12px;
}
.start-step__ballon{
  padding: 4px 16px;
  border-radius: 20px;
  background-color: #fd5c5c;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
  color: #fff;
}
.start-step__ballon-img{
  max-width: 173px;
  width: 100%;
}
.start-step__head-text{
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
}
.start-step__img{
  max-width: 180px;
  width: 100%;
}

.introduction-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 48px;
}
.introduction-content__title{
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 12px;
  text-align: center;
  letter-spacing: 0.05em;
}
.introduction-content__text{
  text-align: left;
}
.introduction-content__wrpper{
  max-width: 834px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 12px;
  margin: 0 auto;
}
.introduction-content__funds{
  display: flex;
  justify-content: center;
  column-gap: 4px;
  align-items: flex-start;
  width: 100%;
}
.introduction-content__item{
  width: calc(50% - 2px);
}
.introduction-content__head{
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin: 0 auto;
  width: 100%;
}
.introduction-content__fund-icon{
  max-width: 40px;
  width: 100%;
  margin-top:0;
}
.introduction-content__fund-name{
  text-align: center;
}

.comparison-item{
  width: 100%;
}
.comparison-item__title{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.comparison-item__name{
  padding: 4px 12px;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 600;
  text-align: center;
  background-color: #fff;
  z-index: 2;
}
.comparison-item__title::before{
  content:'';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #ddd;
  transform: translateY(-50%);
  z-index: 0;
}
.comparison-item__wrapper{
  display: flex;
  justify-content: space-between;
  column-gap: 8px;
  margin-top: 4px;
}
.comparison-item__text{
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(50% - 4px);
  padding: 12px 8px;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  flex-direction: column;
  row-gap: 8px;
}
.comparison-item__text--capital{
  background-color: #fee6ed;
}
.comparison-item__text--emaxis{
  background-color: #f5f4d4;
}

.value__title{
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 4px;
}
.value__pr{
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
}
.value__ballon{
  display: block;
  width: 100%;
  padding: 4px 28px;
  border-radius: 100px;
  background-color: #002970;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}
.value__banner{
  display: block;
  max-width: 327px;
  margin: 0 auto;
}
.value__get-point{
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  color: #002970;
  margin-bottom: 8px;
}
.value__table{
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  font-size: 1.4rem;
  width: 100%;
}
.value__head,
.value__data{
  width: 50%;
  border: 1px solid #ddd;
  text-align: center;
  border-top: 0;
}
.value__head{
  font-weight: 600;
  background-color: #eee;
  padding: 7px;
  letter-spacing: 0.05em;
}
.value__data{
  background-color: #fff;
  padding: 15px 3px;
}
.value__supplement{
  display: block;
  font-size: 1.2rem;
  text-align: right;
  letter-spacing: 0.02em;
  margin-top: 8px;
}
.value__credit-rate-img{
  max-width: 141px;
  width: 100%;
}
.value__point-rate-img{
  max-width: 143px;
  width: 100%;
}

.detail__title{
  text-align: left;
}
 .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__text + .table__text {
  margin-top: 1em;
}
.detail__ctn .table__lists {
  color: #242323;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.detail__ctn .table__lists>li {
  color: #242323;
  font-size: 1.4rem;
}
.detail__ctn .table__dot {
  margin-left: -1.5em;
}
.detail__ctn .table__dot.table__dot--child{
  margin-left: -0.5em;
}
.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;
}

.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;
}

/*floating*/
.floating {
  width: 100%;
  padding: 24px;
  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;
  align-items: center;
  justify-content: center;
  row-gap: 16px;
}
.floating__button {
  max-width: 440px;
  width: 100%;
  padding: 11.5px 8px;
  cursor: pointer;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.floating__sptext {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #3895ff;
  text-align: center;
  text-decoration: none;
}

#footer{
  padding-bottom: 146px;
}

@media screen and (min-width: 768px) {
  #footer{
    padding-bottom: 64px;
  }
}