@charset "utf-8";
.referralcp main {
  background: url("../img/bg01.webp");
  background-repeat: repeat-y;
  background-size: 1440px auto;
  background-position: center top;
  color: #231815;
  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 0.3s;
}
.referralcp .h_logo a:hover {
  opacity: 0.7;
}
/* == footer ============================================== */
.referralcp footer {
  padding: 2.8em 0;
}
.referralcp .f_logo {
  width: 420px;
  height: 120px;
  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 0.3s;
}
.referralcp .f_logo a:hover {
  opacity: 0.7;
}
.referralcp .copyright {
  text-align: center;
  margin: 2em 0 0;
}
/* ====================================
page-name #front
====================================*/
.referralcp .area_title {
  position: relative;
}
.referralcp .area_title .title_bg {
  position: relative;
}
.referralcp .area_title .title_main {
  width: min(100%, 1366px);
  margin: 3em auto -3em;
  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: 2%;
  top: 10%;
  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 auto 0;
  width: 78%;
}
.referralcp .area_title .inner {
  position: relative;
  z-index: 10;
}
.referralcp .dl_info {
  display: grid;
  grid-template-columns: 9em 1fr;
  /* align-items: center; */
  gap: 1em;
}
.referralcp .dl_info + .dl_info {
  margin-top: 1em;
}
.referralcp .dl_info dt {
  text-align: center;
  padding-top: 5px;
}
.referralcp .dl_info dt span {
  display: inline-block;
  font-weight: 700;

  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 1.4em 0.1em;
  border-radius: 5em;
  box-sizing: border-box;
  width: 100%;
}
.referralcp .dl_info dd strong {
  font-size: 150%;
  font-weight: 900;
  color: #ffffff;
}
.referralcp .dl_info .info_text {
  display: flex;
  font-size: 90%;
  margin-bottom: 1em;
}
.referralcp .dl_info .info_text .info_text--left {
  color: #fff462;
  font-weight: 900;
  position: relative;
  box-sizing: border-box;
  width: 7.5em;
  min-width: 7.5em;
  background: url("../img/arrow02.svg");
  background-repeat: no-repeat;
  background-position: right 3px;
  background-size: 0.8em auto;
  margin: 0 0.5em 0 0;
  font-weight: 700;
}
.referralcp .dl_info .info_text .info_text--right {
  font-weight: 700;
  color: #ffffff;
}
.referralcp .info_attention {
  text-align: center;
  margin-top: 1em;
  font-weight: 700;
  color: #ffffff;
}
@media all and (max-width: 1120px) {
  .referralcp .area_title .title_bg {
    background-size: 103% auto;
  }
}
/*--------------------*/
.referralcp .area_benefits {
  position: relative;
  z-index: 3;
  margin-top: -2em;
}
.referralcp .area_benefits_illust li {
  position: absolute;
  top: -15%;
  width: 18%;
  z-index: -1;
}
.referralcp .area_benefits_illust li:nth-child(1) {
  left: -5%;
}
.referralcp .area_benefits_illust li:nth-child(2) {
  right: -5%;
}
.referralcp .area_benefits .inner img {
  max-width: 108%;
  width: 108%;
  display: block;
  margin-left: -4%;
}
.referralcp .area_benefits .inner {
  position: relative;
  z-index: 1;
}
/*-----*/
.referralcp .parts_hr {
  text-align: 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 #e6002d;
  border-bottom: none;
  border-radius: 2em 2em 0 0;
  margin: 0 1.68em;
  padding: 2.5em 0 2em;
}
.referralcp .area_app .infoSet {
  width: 90%;
  margin: 0 auto;
}
.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: 0.3em 1em;
}
.referralcp .area_app .infoSet .app_lead {
  text-align: center;
  font-size: 130%;
  font-weight: 700;
  line-height: 1.4;
}
.referralcp .area_app .infoSet .app_lead strong {
  background: #fad5c8;
  border-radius: 1em;
  display: inline-block;
  padding: 0.4em 0;
  width: 100%;
}
.referralcp .area_app .infoSet .app_lead strong span {
  font-size: 80%;
  font-weight: 700;
}
.referralcp .area_app .infoSet .app_lead + .app_lead {
  margin: 0.8em 0 0;
}
.referralcp .area_app .infoSet .app_flowBox {
  margin: 1em auto;
  width: 100%;
}
.referralcp .area_app .infoSet .app_flowBox .flow_image {
  display: block;
  width: 100%;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link {
  text-align: center;
  background: #4c9cd2;
  border: solid 2px #e6002d;
  border-radius: 2em;
  font-size: 140%;
  line-height: 1.5;
  margin: 2.5em auto 0;
  overflow: hidden;
  width: min(95%, 600px);
  box-shadow: 0 5px 0 0 #e6002d;
  transition:
    box-shadow 0.3s,
    transform 0.3s;
}
.referralcp .area_app .infoSet .app_flowBox .flow_link:hover {
  box-shadow: 0 1px 0 0 #e6002d;
  transform: translateY(3px);
}
.referralcp .area_app .infoSet .app_flowBox .flow_link a {
  display: block;
  font-size: 140%;
  color: #fff;
  font-weight: 700;
  padding: 0.8em 0;
  position: relative;
  transition: opacity 0.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 #e6002d;
  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: #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 .list_att > li {
  font-size: 87.5%;
  padding: 0 0 0 1.2em;
  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;
  transition: opacity 0.3s;
}
.referralcp .list_att > li a:hover {
  opacity: 0.7;
}
.referralcp .list_attSmall > li {
  position: relative;
}
.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: #e94830;
}
.referralcp .area_message .message_text {
  text-align: center;
  color: #fff;
  font-size: 250%;
  font-weight: 700;
  line-height: 1;
  padding: 1em 0;
  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 {
  transform: scale(0);
  transform-origin: center;
  transition:
    opacity 0.9s ease-out 0s,
    transform 0.9s ease-out 0s;
  transition-timing-function: cubic-bezier(0.17, 0.67, 0.14, 1.36);
}
body.referralcp.page--open .area_title .title_bg {
  opacity: 1;
  transform: scale(1);
}
.referralcp .area_benefits {
  transition:
    opacity 0.7s ease-out 1s,
    transform 0.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, 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:
    opacity 0.7s ease-out 0.3s,
    transform 0.7s ease-out 0.3s;
  opacity: 0;
  transform: translateY(3em);
}
.referralcp .area_app .inner.scrollAnime.scroll--start {
  opacity: 1;
  transform: translateY(0);
}
