/*
  ARIEL cast detail favorite button emphasis 202607.
  Scoped to the cast-detail profile only.
*/

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-wrap-202607 {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin: 20px auto 0;
  text-align: center;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-form-202607 {
  width: 100%;
  margin: 0;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 13px;
  width: 100%;
  min-height: 66px;
  padding: 10px 48px 10px 12px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .92);
  border-radius: 999px;
  background:
    linear-gradient(
      135deg,
      #eb83b4 0%,
      #df669f 52%,
      #d65391 100%
    );
  color: #fff;
  font-family: inherit;
  line-height: 1.2;
  text-align: left;
  text-decoration: none;
  appearance: none;
  cursor: pointer;
  box-shadow:
    0 0 0 2px rgba(230, 125, 173, .28),
    0 12px 25px rgba(214, 83, 145, .22),
    inset 0 1px 0 rgba(255, 255, 255, .30);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607::after {
  position: absolute;
  top: 50%;
  right: 21px;
  content: "›";
  color: rgba(255, 255, 255, .96);
  font-size: 29px;
  line-height: 1;
  font-weight: 400;
  transform: translateY(-53%);
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607:hover,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607:focus-visible {
  filter: brightness(1.035);
  transform: translateY(-2px);
  box-shadow:
    0 0 0 3px rgba(230, 125, 173, .32),
    0 15px 30px rgba(214, 83, 145, .28),
    inset 0 1px 0 rgba(255, 255, 255, .34);
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607:active {
  transform: translateY(0);
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-icon-202607 {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .24);
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 small {
  display: block;
  color: rgba(255, 255, 255, .84);
  font-size: 10px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .04em;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 strong {
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 900;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607.is-registered-202607 {
  border-color: rgba(230, 125, 173, .38);
  background:
    linear-gradient(
      135deg,
      rgba(255, 248, 252, .98),
      rgba(255, 232, 244, .98)
    );
  color: #cf538d;
  cursor: default;
  box-shadow:
    0 0 0 2px rgba(230, 125, 173, .12),
    inset 0 1px 0 rgba(255, 255, 255, .92);
  opacity: 1;
  transform: none;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607.is-registered-202607::after {
  content: "✓";
  color: #d85e98;
  font-size: 20px;
  font-weight: 900;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607.is-registered-202607
.ariel-cast-detail-favorite-icon-202607 {
  border-color: rgba(230, 125, 173, .26);
  background: rgba(230, 125, 173, .12);
  color: #d85e98;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607.is-registered-202607
.ariel-cast-detail-favorite-copy-202607 small {
  color: #a97990;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607.is-registered-202607
.ariel-cast-detail-favorite-copy-202607 strong {
  color: #cf538d;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-note-202607,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-status-202607 {
  margin: 9px 0 0;
  color: #7a6a72;
  font-size: 11px;
  line-height: 1.7;
  font-weight: 700;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-status-202607 {
  color: #d45f96;
}

@media (max-width: 520px) {
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-wrap-202607 {
    max-width: none;
    margin-top: 17px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-202607 {
    min-height: 62px;
    padding-right: 42px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-icon-202607 {
    flex-basis: 39px;
    width: 39px;
    height: 39px;
    font-size: 23px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-copy-202607 strong {
    font-size: 14px;
  }
}

/* ariel-cast-favorite-mobile-overflow-fix-202607 START */

/*
  width:100% にpaddingとborderが加算されないようにし、
  スマホ画面内へ確実に収める。
*/

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-wrap-202607,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-form-202607,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607 {
  box-sizing: border-box !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-wrap-202607 {
  width: 100% !important;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-form-202607,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-button-202607 {
  width: 100% !important;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 {
  flex: 1 1 auto;
  min-width: 0;
}

.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 small,
.ariel-cast-detail-main-202607
.ariel-cast-detail-profile-202607
.ariel-cast-detail-favorite-copy-202607 strong {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 520px) {
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-wrap-202607 {
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 2px;
    padding-left: 2px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-202607 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 62px;
    gap: 10px;
    padding:
      9px
      39px
      9px
      10px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-202607::after {
    right: 15px;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-icon-202607 {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }
}

/* ariel-cast-favorite-mobile-overflow-fix-202607 END */

/* ariel-cast-favorite-mobile-inset-fix-202607 START */

/*
  スマホ時にボタン外周の枠・影が端で切れないよう、
  プロフィール領域内に左右10pxの余白を確保する。
*/

@media (max-width: 520px) {
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-wrap-202607 {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-form-202607,
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-202607 {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ariel-cast-favorite-mobile-inset-fix-202607 END */

/* ariel-cast-favorite-mobile-align-final-202607 START */

/*
  スマホでは上部の出勤案内ボタンに近い横幅へ揃える。
  最大340px、狭い画面では左右12px以上の余白を残す。
*/

@media (max-width: 520px) {
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-wrap-202607 {
    width: calc(100% - 24px) !important;
    max-width: 340px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-form-202607,
  .ariel-cast-detail-main-202607
  .ariel-cast-detail-profile-202607
  .ariel-cast-detail-favorite-button-202607 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ariel-cast-favorite-mobile-align-final-202607 END */

