@charset "utf-8";
body.referralcp {
  font-size: 3.733vw;
}
.referralcp .pc-only {
  display: none !important;
}
.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 .inner {
  width: 93.34%;
  margin: auto;
}
/* == header ============================================== */
.referralcp .h_inner {
  width: 93.34%;
  margin: auto;
  padding: 14px 0;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  right: 0;
  box-sizing: border-box;
}
.referralcp .h_logo {
  width: 56px;
  height: 36px;
}
.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;
}
/* == footer ============================================== */
.referralcp footer {
  padding: 2em 0;
}
.referralcp .f_logo {
  width: 87px;
  height: 73px;
  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;
}
.referralcp .copyright {
  text-align: center;
  margin: 1.5em 0 0;
  font-size: 86%;
}
/* ==================================== 
page-name #front
====================================*/
.referralcp .area_title {
  position: relative;
}
.referralcp .area_title .title_bg {
  padding: 4em 0 8em;
  position: relative;
  background: url(../img/cloud01_sp.webp);
  background-repeat: no-repeat;
  background-size: 280% 92%;
  background-position: center;
}
.referralcp .area_title .title_bg::before {
  content: '';
  width: 92%;
  height: 0;
  padding: 130% 0 0;
  margin: auto;
  background: url("../img/star01_sp.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  z-index: 3;
  right: 0;
  top: .5em;
  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: 16%;
  height: 0;
  padding: 11% 0 0;
  background-image: url("../img/anime_now.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 1.3%;
  top: 14.5%;
  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 {
  margin: 1.4em 0 0;
}
.referralcp .area_title .inner {
  position: relative;
  z-index: 1;
}
.referralcp .dl_info {
  text-align: center;
}
.referralcp .dl_info dt {
  text-align: center;
  margin: 0 0 .5em;
}
.referralcp .dl_info + .dl_info {
  margin: 1em 0 0;
}
.referralcp .dl_info dt span {
  display: inline-block;
  background: #2ea7e0;
  color: #fff;
  font-weight: 700;
  padding: .1em 1.4em .1em;
  border-radius: 5em;
  box-sizing: border-box;
  min-width: 7em;
}
.referralcp .dl_info dd strong {
  font-size: 150%;
  font-weight: 900;
  color: #0071be;
}
.referralcp .dl_info .info_text + .info_text {
  margin: 1.2em 0 0;
}
.referralcp .dl_info .info_text .info_text--left {
  display: block;
  color: #0071be;
  font-weight: 900;
  position: relative;
  box-sizing: border-box;
  background: url("../img/arrow03.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: .8em auto;
  padding: 0 0 1em 0;
  font-size: 128.6%;
  margin: 0 0 .5em;
}
.referralcp .dl_info .info_text .info_text--right {
  display: block;
  font-weight: 700;
}
/*--------------------*/
.referralcp .area_benefits {
  position: relative;
  z-index: 3;
  margin: -6em 0 0;
}
.referralcp .area_benefits .inner {
  position: relative;
  z-index: 1;
}
.referralcp .area_benefits::before {
  content: '';
  width: 100%;
  height: 0;
  padding: 157% 0 0;
  position: absolute;
  z-index: 10;
  right: 0;
  left: 0;
  top: 2.8em;
  margin: auto;
  background: url(../img/star02_sp.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
.referralcp .list_benefits {
  box-sizing: border-box;
  width: 98%;
  margin: auto;
  border: solid 5px #ee7c69;
  border-radius: 1.25em;
  background: #fff;
  box-shadow: 10px 10px 6px 0 rgba(35, 24, 21, 0.2);
}
.referralcp .list_benefits li.list01 .benefits_title {
  height: 0;
  padding: 76.43% 0 0 0;
  margin: auto;
  background-image: url("../img/benefits01_sp.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: 7.5em;
  height: 3.75em;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -0.5em;
  top: -1.1em;
}
.referralcp .list_benefits > li.list01 {
  padding: .8em 3.5% 1em;
}
.referralcp .list_benefits > li.list01::before {
  background-image: url("../img/benefits_flag01.webp");
}
.referralcp .list_benefits > li.list01 .benefits_card {
  position: absolute;
  left: 1.6%;
  top: 3.2em;
  width: 21.506%;
}
.referralcp .list_benefits > li.list02 {
  padding: 1.1em 0 0;
}
.referralcp .list_benefits > li.list02::before {
  background-image: url("../img/benefits_flag02.webp");
  top: -.8em;
}
.referralcp .list_benefits > li.list02::after {
  content: '';
  width: 66%;
  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 .benefits_title {
  height: 0;
  padding: 32.17% 0 0 0;
  margin: auto;
  background-image: url("../img/benefits02_sp.webp");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  width: 88.8%;
}
.referralcp .list_benefits .benefits_rank {
  width: 85%;
  margin: .5em auto 0;
}
.referralcp .list_benefits .benefits_att {
  width: 90%;
  font-weight: 800;
  margin: .5em auto 1.5em;
  font-size: 80%;
}
.referralcp .list_benefits .benefits_exampleWrap {
  background: #fef7d6;
  padding: 1.3em 1em;
  overflow: hidden;
  border-radius: 0 0 1em 1em;
}
.referralcp .list_benefits .example_textBox {
  background: url(../img/benefits02_img02.webp);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 85% auto;
  padding: 0 0 5.5em;
  margin: 0 0 1em;
}
.referralcp .list_benefits .example_textBox .example_text {
  display: flex;
  align-items: center;
}
.referralcp .list_benefits .example_textBox span.maru {
  display: block;
  width: 4.5em;
  height: 4.5em;
  color: #fff;
  font-size: 90%;
  font-weight: 700;
  background: #eb6153;
  border-radius: 50%;
  text-align: center;
  line-height: 4.5;
  margin: 0 .8em 0 0;
}
.referralcp .list_benefits .example_textBox span.desc {
  display: block;
  font-size: 80%;
  font-weight: 800;
}
.referralcp .dl_benefitsExample.example02 {
  margin: 1.5em 0 0;
}
.referralcp .dl_benefitsExample dt {
  background: #ef856e;
  border-radius: 5em;
  text-align: center;
  display: flex;
  align-items: center;
  color: #fff;
  padding: .5em .6em;
  box-sizing: border-box;
  margin: 0 0 1.4em;
}
.referralcp .dl_benefitsExample dt .dtLeft {
  font-weight: 900;
  width: 21%;
  border-right: solid 1px #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 3% 0 0;
}
.referralcp .dl_benefitsExample dt .dtLeft .dt_text {
  display: block;
  padding: 0 0 0;
  margin: 0 .1em 0 0;
}
.referralcp .dl_benefitsExample dt .dtLeft .dt_num {
  font-size: 120%;
  display: block;
}
.referralcp .dl_benefitsExample dt .dtRight {
  width: 75%;
  font-size: 80%;
  font-weight: 900;
}
.referralcp .dl_benefitsExample .example_image.img04 {
  width: 55%;
  margin: -.5em auto 0;
}
/*-----*/
.referralcp .parts_hr {
  text-align: center;
  background: url("../img/bg02.webp");
  background-size: 250% 100%;
  background-repeat: no-repeat;
  background-position: center;
  padding: 10em 0 8em;
  margin: -8em 0 0;
  pointer-events: none;
}
.referralcp .parts_hr .benefits_arrow {
  font-size: 150%;
  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: -7em 0 3.4em;
}
.referralcp .area_app .inner {
  position: relative;
  z-index: 1;
}
.referralcp .area_app .appBg {
  background: #fff;
  border-radius: 1em;
  box-shadow: 10px 10px 6px 0 rgba(35, 24, 21, 0.2);
  padding: 1em 0;
}
.referralcp .area_app .app_infoWrap {
  border: solid 2px #0071be;
  border-bottom: none;
  border-radius: 1em 1em 0 0;
  margin: 0 1em;
  padding: 1.4em 0;
}
.referralcp .area_app .infoSet + .infoSet {
  margin: 2.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: 135%;
  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: 114.3%;
  font-weight: 700;
  line-height: 1.4;
}
.referralcp .area_app .infoSet .app_lead strong {
  background: #fad5c8;
  border-radius: 1em;
  display: block;
  padding: .3em 0;
  width: 92%;
  margin: auto;
}
.referralcp .area_app .infoSet .app_lead + .app_lead {
  margin: .8em 0 0;
}
.referralcp .area_app .infoSet .app_flowBox {
  margin: 1em auto 0;
  width: 88%;
}
.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: .5em 0 0;
        box-shadow: 0 5px 0 0 #0071be;
  overflow: hidden;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link a {
  display: block;
  font-size: 129%;
  color: #fff;
  font-weight: 700;
  padding: .3em 0;
  position: relative;
}
.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 2px #0071be;
  background: #fffcdb;
  border-radius: 1em;
  margin: 0 1em;
  padding: 1.2em;
}
.referralcp .area_app .app_attWrap .attSet + .attSet {
  margin: 1em 0 0;
}
.referralcp .area_app .app_attWrap .att_title {
  font-size: 114.3%;
  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;
}
.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: 125%;
  font-weight: 700;
  line-height: 1.2;
  padding: .5em 0 .6em;
  font-family: "M PLUS 1", sans-serif;
}
/* == anime ============================================== */
.referralcp .anime_star {
  display: 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: 15%;
  top: 1.3em;
  right: 14em;
}
.referralcp .anime_illust .illust02 {
  width: 22%;
  top: 1.4em;
  left: 9em;
  animation-direction: reverse;
}
.referralcp .anime_illust .illust03 {
  width: 12%;
  top: -2em;
  right: 5em;
}
.referralcp .anime_illust .illust04 {
  width: min(16.25%, 182px);
  top: 29.2em;
  right: 64.5em;
}
.referralcp .anime_illust .illust05 {
  display: none;
}
.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 .inner {
  opacity: 0;
  transform: scale(.6);
  transform-origin: center;
  transition: all .9s ease-out .1s;
  transition-timing-function: cubic-bezier(.17, .67, .14, 1.36);
}
body.referralcp.page--open .area_title .title_bg .inner {
  opacity: 1;
  transform: scale(1);
}
body.referralcp .area_title .title_bg::before {
  opacity: 0;
  transform: scale(0);
  transition: opacity .7s ease .3s, transform .7s ease .3s;
  transition-timing-function: cubic-bezier(.17, .67, .14, 1.36);
}
body.referralcp.page--open .area_title .title_bg::before {
  opacity: 1;
  transform: scale(1);
}
.referralcp .area_benefits.scrollAnime {
  transition: all .7s ease-out .3s;
  opacity: 0;
  transform: translateY(3em);
}
.referralcp .area_benefits.scrollAnime.scroll--start {
  opacity: 1;
  transform: translateY(0);
}
.referralcp .area_benefits.scrollAnime::before {
  transform: scale(0);
  transform-origin: center;
  transition: transform 1s ease-out 1s;
  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: all .7s ease-out .3s;
  opacity: 0;
  transform: translateY(3em);
}
.referralcp .area_app .inner.scrollAnime.scroll--start {
  opacity: 1;
  transform: translateY(0);
}