@charset "utf-8";
.referralcp main {
  background: url("../img/bg01.webp");
  background-repeat: repeat-y;
  background-size: 1440px auto;
  background-position: center top;
  color: #595757;
  overflow: hidden;
  position: relative;
}
.referralcp .sp-only {
  display: none !important;
}
.referralcp .inner {
  width: min(96%, 1060px);
  margin: auto;
}
@media all and (min-width:1440px) {
  .referralcp main {
    background-size: 100% auto;
    background-position: center top;
  }
}
@media all and (max-width:1120px) {
  .referralcp main {
    font-size: 1.4285vw;
  }
}
/* == header ============================================== */
.referralcp .h_inner {
  width: min(96%, 1120px);
  margin: auto;
  padding: 1.9em 0;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  right: 0;
  box-sizing: border-box;
}
.referralcp .h_logo {
  width: 110px;
  height: 71px;
}
.referralcp .h_logo a {
  display: block;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background-image: url(../img/h_logo.webp);
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .3s;
}
.referralcp .h_logo a:hover {
  opacity: .7;
}
/* == footer ============================================== */
.referralcp footer {
  padding: 2.8em 0;
}
.referralcp .f_logo {
  width: 130px;
  height: 110px;
  margin: auto;
}
.referralcp .f_logo a {
  display: block;
  height: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url(../img/f_logo.webp);
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity .3s;
}
.referralcp .f_logo a:hover {
  opacity: .7;
}
.referralcp .copyright {
  text-align: center;
  margin: 2em 0 0;
}
/* ==================================== 
page-name #front
====================================*/
.referralcp .area_title {
  position: relative;
}
.referralcp .area_title .title_bg {
  padding: 4.5em 0 8em;
  position: relative;
  background: url(../img/cloud01.webp);
  background-repeat: no-repeat;
  background-size: 1143px auto;
  background-position: center top 2.4em;
}
.referralcp .area_title .title_bg::before {
  content: '';
  width: min(99%, 1113px);
  height: 0;
  padding: min(46%, 514px) 0 0;
  margin: auto;
  background: url("../img/star01.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 3;
  right: 0;
  top: 2em;
  left: 0;
  pointer-events: none;
}
.referralcp .area_title .title_main {
  width: min(100%, 1032px);
  margin: auto;
  position: relative;
}
.referralcp .area_title .title_main::before {
  content: '';
  width: 13%;
  height: 0;
  padding: 9% 0 0;
  background-image: url("../img/anime_now.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: .8%;
  top: 18%;
  opacity: 0;
  transform-origin: right bottom;
  transition: opacity .7s ease .8s;
  -webkit-animation: now 2s ease infinite;
  animation: now 2s ease infinite;
}
body.page--open.referralcp .area_title .title_main::before {
  opacity: 1;
  transform: scale(1);
}
.referralcp .area_title .titleFlex {
  display: flex;
  justify-content: center;
  margin: 1em 0 0;
}
.referralcp .area_title .inner {
  position: relative;
  z-index: 1;
}
.referralcp .dl_info dt {
  text-align: center;
  margin: 0 0 .8em;
}
.referralcp .dl_info + .dl_info {
  margin: 0 0 0 2em;
}
.referralcp .dl_info dt span {
  display: inline-block;
  background: #2ea7e0;
  color: #fff;
  font-weight: 700;
  padding: 0 1.4em .1em;
  border-radius: 5em;
  box-sizing: border-box;
  min-width: 8em;
}
.referralcp .dl_info dd strong {
  font-size: 150%;
  font-weight: 900;
  color: #0071be;
}
.referralcp .dl_info .info_text {
  display: flex;
  font-size: 87.5%;
}
.referralcp .dl_info .info_text .info_text--left {
  color: #0071be;
  font-weight: 900;
  position: relative;
  box-sizing: border-box;
  width: 7.5em;
  background: url("../img/arrow02.svg");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: .8em auto;
  margin: 0 .5em 0 0;
}
.referralcp .dl_info .info_text .info_text--right {
  font-weight: 700;
}
@media all and (max-width:1120px) {
  .referralcp .area_title .title_bg {
    background-size: 103% auto;
  }
}
/*--------------------*/
.referralcp .area_benefits {
  position: relative;
  z-index: 3;
  margin: -7em 0 0;
}
.referralcp .area_benefits .inner {
  position: relative;
  z-index: 1;
}
.referralcp .area_benefits::before {
  content: '';
  width: min(100%, 1133px);
  height: 0;
  padding: min(85%, 909px) 0 0;
  position: absolute;
  z-index: 10;
  right: .6em;
  left: 0;
  top: 4.8em;
  margin: auto;
  background: url(../img/star02.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
.referralcp .list_benefits {
  border: solid 8px #ee7c69;
  border-radius: 2.5em;
  background: #fff;
  box-shadow: 10px 10px 6px 0 rgba(35, 24, 21, 0.2);
}
.referralcp .list_benefits li.list01 .benefits_title {
  width: min(87%, 903px);
  height: 0;
  padding: min(35.2%, 374px) 0 0 0;
  margin: auto;
  background-image: url("../img/benefits01.webp");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
.referralcp .list_benefits > li {
  position: relative;
}
.referralcp .list_benefits > li::before {
  content: '';
  width: 13.0625em;
  height: 5.75em;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -1.3em;
  top: .9em;
}
.referralcp .list_benefits > li.list01 {
  padding: 2em 0 1.8em;
}
.referralcp .list_benefits > li.list01::before {
  background-image: url("../img/benefits_flag01.webp");
}
.referralcp .list_benefits > li.list01 .benefits_card {
  position: absolute;
  left: 2.6%;
  top: 6.8em;
  width: 13.506%;
}
.referralcp .list_benefits > li.list02 {
  padding: 1.8em 0 0;
}
.referralcp .list_benefits > li.list02::after {
  content: '';
  width: 76%;
  height: 3px;
  background-image: url("../img/dott.webp");
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 6px auto;
  position: absolute;
  right: 4%;
  top: 0;
}
.referralcp .list_benefits > li.list02::before {
  background-image: url("../img/benefits_flag02.webp");
  top: 0em;
}
.referralcp .list_benefits li.list02 .benefits_title {
  width: min(78.45%, 819px);
  height: 0;
  padding: min(13.3%, 138px) 0 0 0;
  margin: auto;
  background-image: url("../img/benefits02.webp");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
.referralcp .list_benefits .benefits_rank {
  width: min(53%, 552px);
  margin: 1.5em auto 0;
}
.referralcp .list_benefits .benefits_att {
  text-align: center;
  font-weight: 800;
  margin: 1em auto 1.5em;
  font-size: 105%;
}
.referralcp .list_benefits .benefits_exampleWrap {
  background: #fef7d6;
  padding: 2em 4.3em;
  overflow: hidden;
  border-radius: 0 0 2em 2em;
}
.referralcp .list_benefits .example_textBox {
  background: url(../img/benefits02_img02.webp);
  background-repeat: no-repeat;
  background-position: right 1.3em top;
  background-size: 23.75em auto;
  padding: 0 0 2em;
}
.referralcp .list_benefits .example_textBox .example_text {
  display: flex;
  align-items: center;
  padding: .2em 0 0;
}
.referralcp .list_benefits .example_textBox span.maru {
  display: block;
  width: 4em;
  height: 4em;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  background: #eb6153;
  border-radius: 50%;
  text-align: center;
  line-height: 4;
  margin: 0 .6em 0 0;
}
.referralcp .list_benefits .example_textBox span.desc {
  display: block;
  font-size: 112.5%;
  font-weight: 800;
}
.referralcp .list_benefits .exampleFlex {
  display: flex;
  justify-content: space-between;
}
.referralcp .dl_benefitsExample.example01 {
  width: 52.957%;
}
.referralcp .dl_benefitsExample.example02 {
  width: 45%;
}
.referralcp .dl_benefitsExample dt {
  background: #ef856e;
  border-radius: 5em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  padding: .6em .8em;
  box-sizing: border-box;
  margin: 0 0 1.5em;
}
.referralcp .dl_benefitsExample dt .dtLeft {
  font-size: 125%;
  font-weight: 900;
  width: 22%;
  border-right: solid 1px #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.referralcp .dl_benefitsExample dt .dtLeft .dt_text {
  display: block;
  margin: 0 .2em 0 0;
}
.referralcp .dl_benefitsExample dt .dtLeft .dt_num {
  font-size: 160%;
  display: block;
}
.referralcp .dl_benefitsExample dt .dtRight {
  width: 75%;
  font-weight: 900;
}
.referralcp .dl_benefitsExample .example_image.img04 {
  width: min(60%, 241px);
  margin: 0 auto;
}
/*-----*/
.referralcp .parts_hr {
  text-align: center;
  background: url("../img/bg02.webp");
  background-size: 1328px auto;
  background-repeat: no-repeat;
  background-position: center;
  padding: 22em 0 20em;
  margin: -20.3em 0 0;
  pointer-events: none;
}
.referralcp .parts_hr .benefits_arrow {
  font-size: 200%;
  font-weight: 900;
  color: #fff;
  padding: 0 0 1.5em;
  position: relative;
}
.referralcp .parts_hr .benefits_arrow::before {
  content: '';
  background: url(../img/arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 1.2em;
  height: 1.2em;
}
/*-----*/
.referralcp .area_app {
  position: relative;
  z-index: 3;
  margin: -19em 0 3.4em;
}
.referralcp .area_app .inner {
  position: relative;
  z-index: 1;
}
.referralcp .area_app .appBg {
  background: #fff;
  border-radius: 2.5em;
  box-shadow: 10px 10px 6px 0 rgba(35, 24, 21, 0.2);
  padding: 1.5em 0;
}
.referralcp .area_app .app_infoWrap {
  border: solid 3px #0071be;
  border-bottom: none;
  border-radius: 2em 2em 0 0;
  margin: 0 1.68em;
  padding: 2.5em 0;
}
.referralcp .area_app .infoSet + .infoSet {
  margin: 3em auto 0;
}
.referralcp .area_app .infoSet .app_title {
  text-align: center;
  margin: 0 0 1em;
}
.referralcp .area_app .infoSet .app_title span {
  background: #eb6153;
  display: inline-block;
  font-size: 210%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border-radius: 5em;
  padding: .3em 1.5em;
}
.referralcp .area_app .infoSet .app_lead {
  text-align: center;
  font-size: 150%;
  font-weight: 700;
  line-height: 1.4;
}
.referralcp .area_app .infoSet .app_lead strong {
  background: #fad5c8;
  border-radius: 1em;
  display: inline-block;
  padding: .4em 2em;
}
.referralcp .area_app .infoSet .app_lead + .app_lead {
  margin: .8em 0 0;
}
.referralcp .area_app .infoSet .app_flowBox {
  margin: 2em auto 0;
  width: min(71.1%, 711px);
}
.referralcp .area_app .infoSet .app_flowBox .flow_image {
  display: block;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link {
  text-align: center;
  background: #4c9cd2;
  border: solid 2px #0071be;
  border-radius: 1em;
  margin: 2.5em auto 0;
  overflow: hidden;
    width: min(95%,500px);
    box-shadow: 0 5px 0 0 #0071be;
    transition: box-shadow .3s , transform .3s;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link:hover{
    box-shadow: 0 1px 0 0 #0071be;
    transform: translateY(3px);
}
.referralcp .area_app .infoSet .app_flowBox .flow_link a {
  display: block;
  font-size: 140%;
  color: #fff;
  font-weight: 700;
  padding: .8em 0;
  position: relative;
    transition: opacity .3s;
}

.referralcp .area_app .infoSet .app_flowBox .flow_link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.5), transparent);
  animation: shine 2.5s infinite;
}
.referralcp .area_app .app_attWrap {
  border: solid 3px #0071be;
  background: #fffcdb;
  border-radius: 2em;
  margin: 0 1.68em;
  padding: 1.4em;
}
.referralcp .area_app .app_attWrap .attSet + .attSet {
  margin: 1em 0 0;
}
.referralcp .area_app .app_attWrap .attFlex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.referralcp .area_app .app_attWrap .attFlex .flexLeft {
  width: 48%;
}
.referralcp .area_app .app_attWrap .attFlex .flexRight {
  width: 48%;
}
.referralcp .area_app .app_attWrap .att_title {
  font-size: 125%;
  font-weight: 700;
  color: #0071be;
  margin: 0 0 .7em;
}
.referralcp .area_app .app_attWrap .att_title::before {
  content: '◆';
}
.referralcp .area_app .app_attWrap .att_subTitle {
  font-weight: 700;
  color: #0071be;
}
.referralcp .list_att > li {
  font-size: 87.5%;
  padding: 0 0 0 .8em;
  position: relative;
}
.referralcp .list_att > li::before {
  content: '';
  width: .2em;
  height: .2em;
  border-radius: 50%;
  position: absolute;
  left: .3em;
  top: .6em;
  background: #595757;
}
.referralcp .list_att > li a {
  text-decoration: underline;
  transition: opacity .3s;
}
.referralcp .list_att > li a:hover {
  opacity: .7;
}
.referralcp .list_attSmall > li {
  position: relative;
  font-size: 90%;
}
.referralcp .list_attSmall > li::before {
  content: '●';
  position: absolute;
  left: -1em;
  top: 0;
}
/*-------------------*/
.referralcp .area_message {
  background: #0071be;
}
.referralcp .area_message .message_text {
  text-align: center;
  color: #fff;
  font-size: 180%;
  font-weight: 700;
  line-height: 1;
  padding: .3em 0 .4em;
  font-family: "M PLUS 1", sans-serif;
}
/* == anime ============================================== */
.referralcp .anime_star {
  width: min(6.2%, 69px);
  position: absolute;
  z-index: 1;
  left: 68.1em;
  right: 0;
  top: 52em;
  margin: auto;
  opacity: .7;
  -webkit-animation: rotate360 20s linear infinite;
  animation: rotate360 20s linear infinite;
  pointer-events: none;
}
.referralcp .anime_illust {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
.referralcp .anime_illust > div {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-animation: rotate360 30s linear infinite;
  animation: rotate360 30s linear infinite;
}
.referralcp .anime_illust .illust01 {
  width: min(11%, 121px);
  top: 1.5em;
  right: 29em;
}
.referralcp .anime_illust .illust02 {
  width: min(16.25%, 182px);
  top: -1em;
  left: 14em;
  animation-direction: reverse;
}
.referralcp .anime_illust .illust03 {
  width: min(8.4%, 93px);
  top: 5.1em;
  left: 54.5em;
}
.referralcp .anime_illust .illust04 {
  width: min(16.25%, 182px);
  top: 29.2em;
  right: 64.5em;
}
.referralcp .anime_illust .illust05 {
  width: min(15%, 168px);
  top: 28em;
  left: 64.7em;
  animation-direction: reverse;
}
.referralcp .anime_illust .illust06 {
  width: min(16.5%, 184px);
  top: 12.8em;
  right: 65.4em;
}
.referralcp .anime_illust .illust07 {
  width: min(16.5%, 184px);
  top: 23.4em;
  left: 62.4em;
}
.referralcp .anime_illust .illust08 {
  width: min(16.5%, 184px);
  top: 49.9em;
  right: 63.1em;
  animation-direction: reverse;
}
.referralcp .anime_illust .illust09 {
  width: min(16.5%, 184px);
  top: 67.2em;
  left: 63.4em;
  animation-direction: reverse;
}
/*-----*/
body.referralcp .area_title .title_bg {
  transform: scale(0);
  transform-origin: center;
  transition: opacity .9s ease-out 0s, transform .9s ease-out 0s;
  transition-timing-function: cubic-bezier(.17, .67, .14, 1.36);
}
body.referralcp.page--open .area_title .title_bg {
  opacity: 1;
  transform: scale(1);
}
.referralcp .area_benefits {
  transition: opacity .7s ease-out 1s, transform .7s ease-out 1s;
  opacity: 0;
  transform: translateY(3em);
}
body.referralcp.page--open .area_benefits {
  opacity: 1;
  transform: translateY(0);
}
.referralcp .area_benefits.scrollAnime::before {
  transform: scale(0);
  transform-origin: center;
  transition: transform 1s ease-out 1.8s;
  transition-timing-function: cubic-bezier(0, 1.34, .18, 1.55)
}
.referralcp .area_benefits.scrollAnime.scroll--start::before {
  transform: scale(1);
}
/**/
.referralcp .parts_hr .benefits_arrow::before {
  -webkit-animation: arrow 2s ease infinite;
  animation: arrow 2s ease infinite;
}
/**/
body.referralcp .area_app .inner.scrollAnime {
  transition: opacity .7s ease-out .3s, transform .7s ease-out .3s;
  opacity: 0;
  transform: translateY(3em);
}
.referralcp .area_app .inner.scrollAnime.scroll--start {
  opacity: 1;
  transform: translateY(0);
}