@charset "utf-8";
body.referralcp {
  font-size: 3.733vw;
}
.referralcp .pc-only {
  display: none !important;
}
.referralcp main {
  background: url("../img/bg01_sp.jpg");
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: center top;
  color: #231815;
  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 0.3s;
}
/* == footer ============================================== */
.referralcp footer {
  padding: 2em 0;
}
.referralcp .f_logo {
  width: 322px;
  height: 85px;
  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::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: 1em;
  left: 0;
  pointer-events: none;
}
.referralcp .area_title .title_main {
  width: min(100%, 1032px);
  margin: auto;
  position: relative;
  z-index: 5;
}
.referralcp .area_title .title_main::before {
  content: "";
  width: 20%;
  height: 0;
  padding: 11% 0 0;
  background-image: url("../img/anime_now.webp");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 3%;
  top: 40%;
  opacity: 0;
  transform-origin: right bottom;
  transition: opacity 0.7s ease 0.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: 1em 0 0;
}
.referralcp .area_title .inner {
  position: relative;
  z-index: 5;
}
.referralcp .dl_info {
  text-align: center;
}
.referralcp .dl_info dt {
  text-align: center;
  margin: 0 0 0.5em;
}
.referralcp .dl_info + .dl_info {
  margin: 0.8em 0 0;
}
.referralcp .dl_info dt span {
  display: inline-block;
  background: linear-gradient(120deg, rgba(251, 207, 0, 1) 0.56%, rgba(255, 252, 209, 1) 36.34%, rgba(252, 245, 192, 1) 49.79%, rgba(244, 228, 147, 1) 76.37%, rgba(243, 225, 139, 1) 80.93%, rgba(255, 252, 209, 1) 100%);
  color: #e6002d;
  font-weight: 700;
  padding: 0.1em 1.4em 0.1em;
  border-radius: 5em;
  box-sizing: border-box;
  min-width: 7em;
}
.referralcp .dl_info dd strong {
  font-size: 150%;
  font-weight: 900;
  color: #ffffff;
}
.referralcp .dl_info .info_text + .info_text {
  margin: 0.8em 0 0;
}
.referralcp .dl_info .info_text .info_text--left {
  display: block;
  color: #ffffff;
  font-weight: 900;
  position: relative;
  box-sizing: border-box;
  background: url("../img/arrow03.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 0.8em auto;
  padding: 0 0 0.9em 0;
  font-size: 128.6%;
  margin: 0 0 0.5em;
}
.referralcp .dl_info .info_text .info_text--right {
  display: block;
  font-weight: 700;
  color: #ffffff;
}
.referralcp .dl_info .info_text .info_text--right span {
  font-size: 70%;
  display: block;
}
.referralcp .info_attention {
  text-align: center;
  font-weight: 700;
  font-size: 70%;
  color: #ffffff;
}
/*--------------------*/
.referralcp .area_benefits {
  position: relative;
  z-index: 3;
  margin: 3em 0 0;
}

.referralcp .area_benefits_illust li {
  position: absolute;
  top: -8%;
  width: 20%;
  z-index: -1;
}
.referralcp .area_benefits_illust li:nth-child(1) {
  left: 8%;
}
.referralcp .area_benefits_illust li:nth-child(2) {
  right: 15%;
}
.referralcp .area_benefits .inner {
  position: relative;
  z-index: 1;
}
.referralcp .area_benefits::before {
  content: "";
  width: 92%;
  height: 0;
  padding: 157% 0 0;
  position: absolute;
  z-index: 10;
  right: 0;
  left: 0;
  top: 2.8em;
  margin: auto;
  background: url(../img/star04_sp.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  pointer-events: none;
}
/*-----*/
.referralcp .parts_hr {
  text-align: 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 #e6002d;
  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: 0.3em 1.5em;
}
.referralcp .area_app .infoSet .app_lead {
  text-align: center;
  font-size: 100%;
  font-weight: 700;
  line-height: 1.4;
}
.referralcp .area_app .infoSet .app_lead strong {
  background: #fad5c8;
  border-radius: 1em;
  display: block;
  padding: 0.3em 0;
  width: 92%;
  margin: auto;
}
.referralcp .area_app .infoSet .app_lead.app_lead--sp strong {
  background: none;
}
.referralcp .area_app .infoSet .app_lead + .app_lead {
  margin: 0.8em 0 0;
}
.referralcp .area_app .infoSet .app_pop {
  background: #fad5c8;
  border-radius: 1em;
  width: 92%;
  display: block;
  padding: 0.3em 0;
  margin: 0.8em auto 0 !important;
}
.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: #f8ef7e;
  border: solid 2px #e6002d;
  border-radius: 1em;
  margin: 0.5em auto 1em;
  width: 90%;
  overflow: hidden;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link a {
  display: block;
  font-size: 129%;
  color: #e6002d;
  font-weight: 900;
  padding: 0.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 #e6002d;
  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: #e94742;
  margin: 0 0 0.7em;
}
.referralcp .area_app .app_attWrap .att_title::before {
  content: "◆";
}
.referralcp .area_app .app_attWrap .att_subTitle {
  font-weight: 700;
  color: #e94742;
}
.referralcp .area_app .app_attWrap .flexRight {
  margin: 1em 0 0;
}
.referralcp .list_att > li {
  font-size: 87.5%;
  padding: 0 0 0 0.8em;
  position: relative;
}
.referralcp .list_att > li::before {
  content: "";
  width: 0.2em;
  height: 0.2em;
  border-radius: 50%;
  position: absolute;
  left: 0.3em;
  top: 0.6em;
  background: #231815;
}
.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 .list_squareSmall > li {
  position: relative;
}
.referralcp .list_squareSmall > li::before {
  content: "■";
  color: #e94742;
  position: absolute;
  left: -1em;
  top: 0;
}
/*-------------------*/
.referralcp .area_message {
  background: #e84730;
}
.referralcp .area_message .message_text {
  text-align: center;
  color: #fff;
  font-size: 110%;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.5em 0 0.6em;
  font-family: "M PLUS 1", sans-serif;
}
/* == anime ============================================== */
.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 .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(0.6);
  transform-origin: center;
  transition: all 0.9s ease-out 0.1s;
  transition-timing-function: cubic-bezier(0.17, 0.67, 0.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 0.7s ease 0.3s,
    transform 0.7s ease 0.3s;
  transition-timing-function: cubic-bezier(0.17, 0.67, 0.14, 1.36);
}
body.referralcp.page--open .area_title .title_bg::before {
  opacity: 1;
  transform: scale(1);
}
.referralcp .area_benefits.scrollAnime {
  transition: all 0.7s ease-out 0.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, 0.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 0.7s ease-out 0.3s;
  opacity: 0;
  transform: translateY(3em);
}
.referralcp .area_app .inner.scrollAnime.scroll--start {
  opacity: 1;
  transform: translateY(0);
}
