@charset "UTF-8";
/* app.css（外部CDN: music.r10s.jp）が読み込むiconfontは、CDN側のCORS許可オリジンが
   本番ドメイン(music.rakuten.co.jp)限定のため、ローカル環境など別オリジンでは
   フォントの取得がブロックされ、パンくずの区切りなどが文字化け（豆腐）してしまう。
   テーマ内に同梱されている同じフォントファイルを同一オリジンで読み込み直して上書きする。 */
@font-face {
  font-family: iconfont;
  src: url("../../../common/fonts/iconfont.woff2") format("woff2"), url("../../../common/fonts/iconfont.woff") format("woff"), url("../../../common/fonts/iconfont.ttf") format("truetype");
}
/* app.css側のパンくずリンク色(#686868)を指定色に上書き */
#page .breadcrumb a {
  color: #393939;
}

.accordion-flag {
  display: none;
}

#page .slick-track {
  margin: 0 auto;
}

#page .slick-dots {
  bottom: 0;
}

#page .slick-dots li {
  margin: 0;
}

#page .slick-dots li button {
  margin: 0 auto;
}

#page .slick-dots li button::before {
  content: "";
}

#page .slick-arrow {
  top: auto;
  bottom: -24px;
  width: 40px;
  height: 40px;
  z-index: 1;
}

#page .slick-prev::before,
#page .slick-next::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
}

#page .slick-prev.slick-disabled:before,
#page .slick-next.slick-disabled:before {
  opacity: 0;
}

#page .slick-prev {
  left: 24px;
}

#page .slick-next {
  right: 24px;
}

#page .btn-dark-secondary,
#page .btn-light-secondary {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  border-radius: 72px;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

#page .btn-dark-secondary {
  border: 1px solid #f53a3a;
  color: #f53a3a;
}

#page .btn-light-secondary {
  border: 1px solid #d80000;
  color: #d80000;
}

#page .l-content {
  /* アコーディオン表示制御フラグがOFFのときのアコーディオン表示エリア */
  /* アコーディオン表示制御フラグがONのときのアコーディオン表示エリア */
  /* アコーディオン表示切替スイッチ */
}

#page .l-content .top-main-fv {
  position: relative;
  height: 520px;
  overflow: hidden;
  background: #e8e8e8;
}

#page .l-content .top-main-fv .main-content {
  display: flex;
  width: 327px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 32px auto;
  position: relative;
  z-index: 2;
}

#page .l-content .top-main-fv .main-content > i img {
  width: 64px;
  height: 64px;
}

#page .l-content .top-main-fv .main-content h1 {
  color: #000;
  text-align: center;
  font-size: 20px !important;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

#page .l-content .top-main-fv .main-content h1 sup {
  color: #000;
  text-align: center;
  font-size: 10px;
  font-style: normal;
  font-weight: 300;
  line-height: 12px;
  vertical-align: middle;
}

#page .l-content .top-main-fv .main-content .web-player-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

#page .l-content .top-main-fv .main-content .web-player-group > p {
  color: #000;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}

#page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 8px;
  overflow: hidden;
  margin: 0;
}

#page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar > input {
  width: 100%;
  display: flex;
  padding: 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex: 1 0 0;
  min-width: 0;
  background: #fff;
  border: 0;
  font-size: 16px;
}

#page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar span.searchIcon {
  display: flex;
  width: 56px;
  flex-shrink: 0;
  padding: 0px 16px;
  align-items: center;
  align-self: stretch;
  background: white;
}

/* app.css（共通）の .sp .noWebView .searchIcon { position:absolute!important; left:84%!important; } が
   同じ noWebView クラスを持つこの検索ボックスにも効いてしまうため、通常配置に戻す */
.sp .noWebView.nav-searchbar .searchIcon {
  position: static !important;
  left: auto !important;
  top: auto !important;
}

/* device-switch-override.css（自動生成）の
   .sp .nav-searchbar input::-webkit-input-placeholder { font-size:14px!important; }
   .sp .nav-searchbar input::-webkit-input-placeholder { font-size:10px!important; }
   を上書き */
.sp #page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar input::placeholder,
.sp #page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar input::-webkit-input-placeholder {
  font-size: 16px !important;
}

/* device-switch-override.css（自動生成）の
   .sp .noWebView .searchIcon svg { width:15px!important; height:15px!important; } を上書き */
.sp #page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar span.searchIcon svg {
  width: 24px !important;
  height: 24px !important;
}

#page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar span.searchIcon svg {
  width: 24px;
  height: 24px;
}

#page .l-content .top-main-fv .main-screenshots {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 16px;
  position: absolute;
  z-index: 2;
  left: 50%;
  transform: translateX(-50%);
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group {
  position: relative;
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group:first-child {
  order: 2;
  width: 150px;
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(2) {
  display: none;
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(3) {
  order: 1;
  width: 120px;
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(4) {
  order: 3;
  width: 120px;
}

#page .l-content .top-main-fv .main-screenshots > .screenshot-group .screenshot {
  width: 100%;
  padding: 6%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#page .l-content .top-main-fv .main-bg-images {
  display: flex;
  width: 444px;
  align-items: flex-start;
  align-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0.15;
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

#page .l-content .top-main-fv .main-bg-images img {
  width: 214px !important;
}

#page .l-content .bg-dark,
#page .l-content .bg-light {
  padding: 48px 0px;
  position: relative;
  overflow: hidden;
}

#page .l-content .bg-dark .ttl-group,
#page .l-content .bg-light .ttl-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

#page .l-content .bg-dark .ttl-group sub,
#page .l-content .bg-light .ttl-group sub {
  font-size: 16px !important;
  font-style: normal;
  font-weight: 900;
  line-height: 110% !important;
  text-transform: uppercase;
  text-align: center;
}

#page .l-content .bg-dark .ttl-group h2,
#page .l-content .bg-light .ttl-group h2 {
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

#page .l-content .bg-dark .summary-group,
#page .l-content .bg-light .summary-group {
  display: flex;
  padding: 0px 24px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

#page .l-content .bg-dark .summary-group h3,
#page .l-content .bg-light .summary-group h3 {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0;
}

#page .l-content .bg-dark .summary-group p,
#page .l-content .bg-light .summary-group p {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}

#page .l-content .bg-dark .summary-group a,
#page .l-content .bg-light .summary-group a {
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  text-decoration-line: underline;
}

#page .l-content .bg-dark {
  background: #020717;
}

#page .l-content .bg-dark .accordion-switch {
  color: white;
}

#page .l-content .bg-dark .slick-dots li button {
  border: 1px solid white;
}

#page .l-content .bg-dark .slick-dots li.slick-active button {
  background: white;
  border-color: white;
}

#page .l-content .bg-dark .slick-prev::before {
  background: url(/assets/pages/top/img/20230901/icon_circle_arrow_left_d.svg) no-repeat center/cover;
}

#page .l-content .bg-dark .slick-next::before {
  background: url(/assets/pages/top/img/20230901/icon_circle_arrow_right_d.svg) no-repeat center/cover;
}

#page .l-content .bg-dark .bg-dark-txt {
  color: rgba(255, 255, 255, 0.05);
  font-size: 81px;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  text-transform: uppercase;
  white-space: nowrap;
  position: absolute;
  top: -16px;
  left: 0;
}

#page .l-content .bg-dark .ttl-group sub {
  color: #f53a3a;
}

#page .l-content .bg-dark .ttl-group h2 {
  color: #fff;
}

#page .l-content .bg-dark .summary-group h3,
#page .l-content .bg-dark .summary-group p {
  color: #fff;
}

#page .l-content .bg-dark .summary-group a {
  color: #f53a3a;
}

#page .l-content .bg-light .accordion-switch {
  color: black;
}

#page .l-content .bg-light .slick-dots li button {
  border: 1px solid #000;
}

#page .l-content .bg-light .slick-dots li.slick-active button {
  background: #000;
  border-color: #000;
}

#page .l-content .bg-light .slick-prev::before {
  background: url(/assets/pages/top/img/20230901/icon_circle_arrow_left_l.svg) no-repeat center/cover;
}

#page .l-content .bg-light .slick-next::before {
  background: url(/assets/pages/top/img/20230901/icon_circle_arrow_right_l.svg) no-repeat center/cover;
}

#page .l-content .bg-light .bg-light-txt {
  color: rgba(0, 0, 0, 0.03);
  font-size: 81px;
  font-style: normal;
  font-weight: 900;
  line-height: 100%;
  text-transform: uppercase;
  white-space: nowrap;
  position: absolute;
  top: -16px;
  left: 0;
}

#page .l-content .bg-light .ttl-group sub {
  color: #d80000;
}

#page .l-content .bg-light .ttl-group h2 {
  color: #000;
}

#page .l-content .bg-light .summary-group h3,
#page .l-content .bg-light .summary-group p {
  color: #000;
}

#page .l-content .bg-light .summary-group a {
  color: #d80000;
}

#page .l-content .bg-dark-s-group {
  display: flex;
  padding: 0;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-direction: column;
}

#page .l-content .bg-dark-s {
  display: flex;
  padding-top: 32px;
  justify-content: center;
  align-items: center;
  gap: 32px;
  align-self: stretch;
  background: #020717;
}

#page .l-content .bg-gray {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: stretch;
  background: #ebebeb;
}

#page .l-content .bg-gray .btn-apply a.trial-btn,
#page .l-content .bg-gray .btn-apply a.iap-store-link {
  background: #d80000;
  padding: 16px 24px;
}

#page .l-content #stack-section-rakutenmusicrank,
#page .l-content #stack-section-price,
#page .l-content #stack-section-reward {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

#page .l-content #stack-section-price {
  padding-bottom: 0;
}

#page .l-content .characteristics-list {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin: 32px auto 0;
  padding: 0 24px;
}

#page .l-content .characteristics-list > li {
  width: 155px;
  align-self: stretch;
}

#page .l-content .characteristics-list > li > a {
  display: flex;
  padding: 24px 14px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  border-radius: 16px;
  background: #f7f7f7;
  height: 100%;
}

#page .l-content .characteristics-list > li > a > i.icon_lead img {
  width: 48px;
  height: 48px;
}

#page .l-content .characteristics-list > li > a > i.icon_arrow_down img {
  width: 16px;
  height: 16px;
}

#page .l-content .characteristics-list > li > a .characteristics-txt-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  flex: 1 0 0;
}

#page .l-content .characteristics-list > li > a .characteristics-txt-group p {
  color: black;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

#page .l-content .characteristics-list > li > a .characteristics-txt-group p b {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
}

#page .l-content .characteristics-list + p.caption {
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

.sp #page .l-content .characteristics-list + p.caption {
  margin: 0 auto;
}

#page .l-content .cp-for-newsubscriber li.slick-slide a,
#page .l-content .cp-for-subscriber li.slick-slide a,
#page .l-content .group-service-bnr li.slick-slide a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 0 8px;
}

#page .l-content .cp-for-newsubscriber li.slick-slide a img,
#page .l-content .cp-for-subscriber li.slick-slide a img,
#page .l-content .group-service-bnr li.slick-slide a img {
  border-radius: 8px;
  border: 1px solid #d1d1d1;
}

#page .l-content .cp-for-newsubscriber li.slick-slide a p,
#page .l-content .cp-for-subscriber li.slick-slide a p,
#page .l-content .group-service-bnr li.slick-slide a p {
  color: white;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  text-align: center;
}

#page .l-content .cp-for-subscriber li.slick-slide a p {
  color: black;
}

#page .l-content .features-list-group {
  display: flex;
  width: 327px;
  padding: 16px 0 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  border-radius: 32px;
  background: #212331;
  margin: 0 auto;
  overflow: hidden;
}

#page .l-content .features-list-group .features-list {
  display: flex;
  padding: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

#page .l-content .features-list-group .item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 32px;
}

/* サービス概要の項目アイコン(img)は32px。stack-service-overview.css（本番）と同じ。16pxにすると、画像アイコンを使う料金プランの各ページで小さくなる（TOPはsvgなので影響なし） */
#page .l-content .features-list-group .item i img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

/* 「お気に入り」の説明文の中のハートアイコン（文字と同じ大きさ。本番は16px）。上の .item i img(32px) より優先させる */
#page .l-content .features-list-group .item .features-txt-group p i img {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
.sp #page .l-content .features-list-group .item .features-txt-group p i img {
  width: 16px !important;
  height: 16px !important;
}

#page .l-content .features-list-group .item .features-txt-group {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex-shrink: 0;
}

#page .l-content .features-list-group .item .features-txt-group p {
  color: white;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

#page .l-content .features-list-group .item .features-txt-group p b {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
}

#page .l-content .accordion-area {
  height: 0px;
  margin: 0px;
  opacity: 0;
  overflow: hidden;
  transition: padding 0.5s linear, opacity 0.5s linear 0s;
}

#page .l-content .accordion-flag:checked + .accordion-area {
  height: auto;
  opacity: 1;
  padding: 0;
}

#page .l-content .accordion-flag:checked + .accordion-area + .accordion-switch i {
  transform: rotate(180deg);
}

#page .l-content .accordion-switch {
  cursor: pointer;
  display: flex;
  padding: 16px 0px;
  justify-content: center;
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, 0.1);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 16px;
}

#page .l-content .accordion-switch i {
  display: flex;
  transition: all 0.5s ease-in;
}

#page .l-content .functions-scene {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  align-self: stretch;
}

#page .l-content .functions-scene .scene-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

#page .l-content .functions-scene .scene-inner > i img {
  width: 48px;
  height: 48px;
}

#page .l-content .functions-scene .scene-inner > h3 {
  color: var(--core-background-system, #fff);
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0;
}

#page .l-content .functions-scene .scene-inner > p {
  color: var(--core-background-system, #fff);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

#page .l-content .functions-scene .scene-images .screenshot-group-wrapper {
  display: flex;
  width: 320px;
  height: 240px;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  overflow: hidden;
}

#page .l-content .functions-scene .scene-images .screenshot-group-wrapper .screenshot-group {
  position: relative;
}

#page .l-content .functions-scene .scene-images .screenshot-group-wrapper .screenshot-group .screenshot {
  position: absolute;
  width: 100%;
  padding: 6%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#page .l-content .trial-group {
  display: flex;
  width: 327px;
  padding: 24px 32px;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  border-radius: 32px;
  background: #f7f7f7;
}

#page .l-content .trial-group .trial-txt-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

#page .l-content .trial-group .trial-txt-group p {
  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

#page .l-content .trial-group .trial-txt-group p strong {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#page .l-content .trial-group .btn-apply > a {
  display: flex;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 72px;
  background: #d80000;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
}

/* 料金プラン設定 */
#page .l-content .plan-monthly-group,
#page .l-content .plan-yearly-group {
  display: flex;
  padding: 32px 24px;
  flex-direction: column;
  align-items: stretch;
  gap: 32px;
  align-self: stretch;
  background: #f7f7f7;
}

#page .l-content .plan-monthly-group .ttl-group,
#page .l-content .plan-yearly-group .ttl-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  flex-direction: row;
  padding-bottom: 16px;
  border-bottom: 1px solid #d1d1d1;
}

#page .l-content .plan-monthly-group .ttl-group h2,
#page .l-content .plan-yearly-group .ttl-group h2 {
  color: #000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#page .l-content .plan-monthly-group .ttl-group .caption,
#page .l-content .plan-yearly-group .ttl-group .caption {
  color: #686868;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 12px;
}

#page .l-content .plan-monthly-group .plan-group-outer,
#page .l-content .plan-yearly-group .plan-group-outer {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

#page .l-content .plan-monthly-group .plan-yearly-ttl-group,
#page .l-content .plan-yearly-group .plan-yearly-ttl-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}

#page .l-content .plan-monthly-group .plan-yearly-ttl-group p,
#page .l-content .plan-yearly-group .plan-yearly-ttl-group p {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

#page .l-content .plan-monthly-group .plan-yearly-ttl-group p span.difference,
#page .l-content .plan-yearly-group .plan-yearly-ttl-group p span.difference {
  font-size: 20px;
}

#page .l-content .plan-monthly-group .plan-group,
#page .l-content .plan-yearly-group .plan-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}

#page .l-content .plan-monthly-group .plan-group h3,
#page .l-content .plan-yearly-group .plan-group h3 {
  color: #686868;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0;
}

#page .l-content .plan-monthly-group .plan-group .plan-item-group,
#page .l-content .plan-yearly-group .plan-group .plan-item-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

#page .l-content .plan-monthly-group .plan-item,
#page .l-content .plan-yearly-group .plan-item {
  display: flex;
  align-items: center;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  color: initial !important;
  height: 80px;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-txt-group,
#page .l-content .plan-yearly-group .plan-item .plan-item-txt-group {
  display: flex;
  padding: 8px 0 8px 16px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  flex: 1 0 0;
  align-self: stretch;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-txt-group .new,
#page .l-content .plan-yearly-group .plan-item .plan-item-txt-group .new {
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 14.4px */
}

#page .l-content .plan-monthly-group .plan-item .plan-item-txt-group .plan-name,
#page .l-content .plan-yearly-group .plan-item .plan-item-txt-group .plan-name {
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-txt-group .caption,
#page .l-content .plan-yearly-group .plan-item .plan-item-txt-group .caption {
  color: #686868;
  text-align: center;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-yearly-price-group,
#page .l-content .plan-yearly-group .plan-item .plan-item-yearly-price-group {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  font-weight: 700;
  gap: 4px;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-price,
#page .l-content .plan-yearly-group .plan-item .plan-item-price {
  color: #000;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: baseline;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-price.free,
#page .l-content .plan-yearly-group .plan-item .plan-item-price.free {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-price .yearly-to-monthly,
#page .l-content .plan-yearly-group .plan-item .plan-item-price .yearly-to-monthly {
  font-size: 12px;
  font-weight: 700;
  color: #000;
}

#page .l-content .plan-monthly-group .plan-item .plan-item-price span.yen,
#page .l-content .plan-yearly-group .plan-item .plan-item-price span.yen {
  font-size: 24px;
  font-weight: 700;
}

#page .l-content .plan-monthly-group .plan-item .view-more,
#page .l-content .plan-yearly-group .plan-item .view-more {
  display: flex;
  align-self: stretch;
  align-items: center;
  padding: 0 2px;
}

#page .l-content .plan-monthly-group .plan-item .plan-price-container,
#page .l-content .plan-yearly-group .plan-item .plan-price-container {
  padding: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: end;
  gap: 4px;
}

/* 詳しく見るボタン */
#page .l-content .plan-monthly-group .plan-item .plan-price-container .detail-btn,
#page .l-content .plan-yearly-group .plan-item .plan-price-container .detail-btn {
  padding: 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  border-radius: 40px;
  color: white;
  text-align: center;
  font-size: 14px;
}

#page .l-content .plan-monthly-group .plan-item.standard .plan-price-container .detail-btn {
  background: #d80000;
}

#page .l-content .plan-monthly-group .plan-item.cardmobile .plan-price-container .detail-btn {
  background: #ef0aa1;
}

#page .l-content .plan-monthly-group .plan-item.student .plan-price-container .detail-btn {
  background: #f59600;
}

#page .l-content .plan-monthly-group .plan-item.lite .plan-price-container .detail-btn {
  background: #00b900;
}

#page .l-content .plan-yearly-group .plan-item.yearly .plan-price-container .detail-btn {
  background: #9b00ec;
}

#page .l-content .plan-monthly-group .plan-item.standard,
#page .l-content .plan-yearly-group .plan-item.standard {
  border-color: #d80000;
  border-left: 8px solid #d80000;
}

#page .l-content .plan-monthly-group .plan-item.standard .plan-name,
#page .l-content .plan-yearly-group .plan-item.standard .plan-name {
  color: #8c0000;
}

#page .l-content .plan-monthly-group .plan-item.standard .view-more,
#page .l-content .plan-yearly-group .plan-item.standard .view-more {
  background: #d80000;
}

#page .l-content .plan-monthly-group .plan-item.cardmobile,
#page .l-content .plan-yearly-group .plan-item.cardmobile {
  border-color: #ef0aa1;
  border-left: 8px solid #ef0aa1;
}

#page .l-content .plan-monthly-group .plan-item.cardmobile .new,
#page .l-content .plan-yearly-group .plan-item.cardmobile .new {
  color: #ef0aa1;
}

#page .l-content .plan-monthly-group .plan-item.cardmobile .plan-name,
#page .l-content .plan-yearly-group .plan-item.cardmobile .plan-name {
  color: #830056;
}

#page .l-content .plan-monthly-group .plan-item.cardmobile .view-more,
#page .l-content .plan-yearly-group .plan-item.cardmobile .view-more {
  background: #ef0aa1;
}

#page .l-content .plan-monthly-group .plan-item.student,
#page .l-content .plan-yearly-group .plan-item.student {
  border-color: #f59600;
  border-left: 8px solid #f59600;
}

#page .l-content .plan-monthly-group .plan-item.student .plan-name,
#page .l-content .plan-yearly-group .plan-item.student .plan-name {
  color: #7b4b00;
}

#page .l-content .plan-monthly-group .plan-item.student .view-more,
#page .l-content .plan-yearly-group .plan-item.student .view-more {
  background: #f59600;
}

#page .l-content .plan-monthly-group .plan-item.lite,
#page .l-content .plan-yearly-group .plan-item.lite {
  border-color: #00b900;
  border-left: 8px solid #00b900;
}

#page .l-content .plan-monthly-group .plan-item.lite .plan-name,
#page .l-content .plan-yearly-group .plan-item.lite .plan-name {
  color: #005300;
}

#page .l-content .plan-monthly-group .plan-item.lite .view-more,
#page .l-content .plan-yearly-group .plan-item.lite .view-more {
  background: #00b900;
}

#page .l-content .plan-monthly-group .plan-item.yearly,
#page .l-content .plan-yearly-group .plan-item.yearly {
  border-color: #9b00ec;
  border-left: 8px solid #9b00ec;
}

#page .l-content .plan-monthly-group .plan-item.yearly .plan-name,
#page .l-content .plan-yearly-group .plan-item.yearly .plan-name {
  color: #4b0071;
}

#page .l-content .plan-monthly-group .plan-item.yearly .view-more,
#page .l-content .plan-yearly-group .plan-item.yearly .view-more {
  background: #9b00ec;
}

#page .l-content .price-caption {
  display: flex;
  padding: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  background: #f7f7f7;
}

#page .l-content .price-caption p {
  text-align: justify;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

#page .l-content .price-caption p.red {
  color: #d80000;
}

#page .l-content .price-caption p.bold {
  font-weight: 700;
}

#page .l-content .price-caption p a {
  color: #d80000;
  text-decoration-line: underline;
}

#page .l-content .price-caption p svg {
  vertical-align: text-bottom;
}

/* ↑↑↑↑↑↑料金プラン↑↑↑↑↑ */
#page .l-content .price-caption {
  display: flex;
  padding: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  background: #f7f7f7;
}

#page .l-content .price-caption p {
  text-align: justify;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

#page .l-content .price-caption p.red {
  color: #d80000;
}

#page .l-content .price-caption p.bold {
  font-weight: 700;
}

#page .l-content .price-caption p a {
  color: #d80000;
  text-decoration-line: underline;
}

#page .l-content .pricing-comparison > h3 {
  color: #000;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0 auto 32px;
  text-align: center;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list {
  display: flex;
  min-width: 327px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  background: #f7f7f7;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li div.service-name {
  display: flex;
  width: 136px;
  padding: 24px 16px 16px 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li p {
  text-align: center;
  font-style: normal;
  font-weight: 400;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li p.compatitor-name {
  color: #000;
  font-size: 14px;
  line-height: 140%;
  /* 19.6px */
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li p.plan-name {
  color: #686868;
  font-size: 10px;
  line-height: normal;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li p.number-of-songs {
  color: #000;
  font-size: 16px;
  line-height: 140%;
  /* 22.4px */
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price {
  display: flex;
  width: 125px;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price div.plan-price--price {
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price div.plan-price--price span {
  font-size: 32px;
  font-weight: 700;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price div.month {
  color: #686868;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service {
  border-radius: 8px;
  border: 2px solid #d80000;
  background: #fff;
  padding-right: 20px;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.service-name {
  background: #bf0000;
  width: 130px;
  gap: 16px;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.service-name > img {
  width: 77px;
  height: 40px;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service p.plan-name {
  color: #fff;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.plan-price {
  width: -moz-fit-content;
  width: fit-content;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.plan-price div.plan-price--price {
  font-size: 24px;
}

#page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.plan-price div.plan-price--price span {
  font-size: 36px;
  color: #d80000;
}

#page .l-content .faq-item {
  display: flex;
  padding: 24px 0 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: center;
  border-radius: 16px;
  background: #f7f7f7;
  width: 327px;
}

#page .l-content .faq-item .faq-question,
#page .l-content .faq-item .faq-answer {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 8px;
  align-self: stretch;
  padding: 0 24px;
}

#page .l-content .faq-item .faq-question p,
#page .l-content .faq-item .faq-answer p {
  color: black;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}

#page .l-content .faq-item .faq-question p:first-child,
#page .l-content .faq-item .faq-answer p:first-child {
  width: 40px;
}

#page .l-content .faq-item .faq-question p:last-child,
#page .l-content .faq-item .faq-answer p:last-child {
  flex: 1;
  padding-top: 0.5em;
}

#page .l-content .faq-item .faq-question p strong,
#page .l-content .faq-item .faq-answer p strong {
  color: black;
  font-size: 32px;
  font-style: normal;
  font-weight: 900;
  line-height: 110%;
}

#page .l-content .faq-item .faq-question p a {
  text-decoration: underline;
  color: #d80000;
}

#page .l-content .faq-item .faq-answer p a {
  text-decoration: underline;
  color: #d80000;
}

#page .l-content .faq-item .faq-answer p strong {
  color: #d80000;
}

#page .l-content .faq-item .accordion-flag:checked + .accordion-area {
  padding: 0 24px;
}

#page .l-content .faq-item .accordion-switch {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  align-self: stretch;
  background: none;
  padding: 0 24px 24px;
  margin: 0;
}

#page .l-content .appdl-group {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 32px;
  background: #fff;
}

#page .l-content .appdl-group .alldl-txt-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

#page .l-content .appdl-group .alldl-txt-group i img {
  width: 48px;
  height: 48px;
}

#page .l-content .appdl-group .alldl-txt-group .app-name {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

#page .l-content .appdl-group .alldl-txt-group .app-name p {
  color: #000;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

#page .l-content .appdl-group .alldl-txt-group .app-name p strong {
  font-size: 20px;
  font-weight: 700;
}

#page .l-content .appdl-group a.iap-store-link {
  display: flex;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 72px;
  background: #d80000;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
}

#page .l-content #top-section-ranking .btn-dark-secondary,
#page .l-content #top-section-campaign .cp-for-newsubscriber,
#page .l-content .characteristics-list + p.caption,
#page .l-content #top-section-others .cp-for-subscriber,
#page .l-content #top-section-groupservices .group-service-bnr {
  margin: 32px auto 0;
}

.sp #page .l-content #top-section-campaign .cp-for-newsubscriber {
  margin: 8px auto;
}

#page .l-content #top-section-feature.bg-dark {
  padding: 48px 0 0;
}

#page .l-content #top-section-price {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

#page .l-content #top-section-price.bg-light {
  padding: 0;
}

#page .l-content #top-section-reward,
#page .l-content #top-section-rakutenmusicrank,
#page .l-content #top-section-faq {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

#page .l-content #top-section-others,
#page .l-content #top-section-groupservices {
  border-top: 32px solid #ebebeb;
}

#page .l-content .ranking-term {
  display: flex;
  width: 327px;
  justify-content: center;
  align-items: stretch;
  gap: 8px;
  margin: 32px auto !important;
}

#page .l-content .ranking-term > li {
  flex: 1;
}

#page .l-content .ranking-term > li a {
  display: flex;
  padding: 8px 13px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex: 1 0 0;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  border-radius: 72px;
  border: 1px solid #f53a3a;
  color: #f53a3a !important;
}

#page .l-content .ranking-term > li.is-selected a {
  background: #f53a3a;
  color: #020717 !important;
}

#page .l-content .ranking-item-group {
  display: flex;
  padding: 0 8px;
  align-items: flex-start;
  align-content: flex-start;
  gap: 16px;
  flex-direction: column;
}

#page .l-content .song-item > a {
  display: flex;
  width: 300px;
  padding: 16px 16px 16px 0px;
  align-items: center;
  gap: 8px;
  border-radius: 16px;
  background: #212331;
  color: #fff !important;
}

#page .l-content .song-item > a .rank-num {
  width: 30px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  padding-left: 8px;
  text-align: center;
}

#page .l-content .song-item > a > img {
  width: 60px !important;
  height: 60px;
}

#page .l-content .song-item > a .song-item-txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 1 0 0;
}

#page .l-content .song-item > a .song-item-txt > * {
  width: 178px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#page .l-content .song-item > a .song-item-txt .song-ttl {
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

#page .l-content .song-item > a .song-item-txt .song-artist {
  font-size: 10px;
  font-weight: 400;
  line-height: 16px;
}

.faq-answer {
  height: 0px;
  margin: 0px;
  opacity: 0.5;
  overflow: hidden;
  transition: padding 0.5s linear, opacity 0.5s linear 0s;
}

/* 注釈アコーディオン設定 */
#page .annotation-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

#page .annotation-area .red {
  color: #bf0000;
  font-size: 12px;
  padding: 8px 0;
}

#page .notification-txt {
  display: flex;
  padding: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  font-size: 12px;
}

#page .notification-txt .title {
  color: #bf0000;
  font-weight: 700;
  font-size: 14px;
}

#page .accordion-004 {
  width: 100%;
  max-width: 950px;
  border-bottom: 1px solid #d0d0d0;
}

#page .accordion-004 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 12px 2em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
  font-size: 12px;
}

#page .accordion-004 summary::-webkit-details-marker {
  display: none;
}

#page .accordion-004 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid rgba(51, 51, 51, 0.7019607843);
  border-right: 3px solid rgba(51, 51, 51, 0.7019607843);
  content: "";
  transition: transform 0.3s;
}

#page .accordion-004[open] summary::after {
  transform: rotate(225deg);
}

#page .accordion-004 p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.3em 2em 1.5em;
  color: #333333;
  transition: transform 0.5s, opacity 0.5s;
  font-size: 12px;
}

#page .accordion-004[open] p {
  transform: none;
  opacity: 1;
}

/* 料金プラン一覧デザイン変更v1 */
#page .l-content .plan-yearly-group .plan-item.yearly {
  height: auto;
  padding: 4px 0;
}

/* Splide のデフォルトCSSを読み込んだ後に記述 */
/* スライダー全体のコンテナの幅を制御したい場合（例：中央寄せ） */
/* Splide のデフォルトCSSを読み込んだ後に記述 */
/* スライダー全体のコンテナの幅を制御したい場合（例：中央寄せ） */
.splide {
  max-width: 1200px; /* 必要に応じて最大幅を設定 */
  margin-left: auto;
  margin-right: auto;
}

/* スライド内の画像がコンテナに合わせて表示されるように */
.splide__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain; /* 画像全体を表示し、必要に応じて余白を生成 */
  /* object-fit: cover; // 画像が要素全体を埋めるように拡大/縮小され、トリミングされる */
}

/* 矢印（Navigation）のスタイリング */
.splide__arrow {
  background: #fff; /* 白い背景 */
  border-radius: 50%; /* 丸い形 */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* 影 */
  opacity: 1; /* デフォルトで表示 */
  transition: opacity 0.3s ease;
  width: 3rem; /* サイズ調整 */
  height: 3rem; /* サイズ調整 */
  display: flex;
  align-items: center;
  justify-content: center;
  /* 位置調整 */
  top: 50%;
  transform: translateY(-50%);
}

.splide__arrow--prev {
  left: 0.5rem; /* 左側に少しはみ出させる */
}

.splide__arrow--next {
  right: 0.5rem; /* 右側に少しはみ出させる */
}

/* 矢印の中のSVGアイコンのスタイリング */
.splide__arrow svg {
  fill: #333; /* アイコンの色 */
  width: 1.5rem; /* アイコンサイズ */
  height: 1.5rem; /* アイコンサイズ */
}

/* ドット（Pagination）のスタイリング */
.splide__pagination {
  bottom: -2rem; /* スライダーの下に配置 */
  /* text-align: center; */ /* 中央寄せ */
}

.splide__pagination__page {
  background: #ccc; /* ドットの色 */
  width: 0.75rem; /* ドットのサイズ */
  height: 0.75rem;
  margin: 0 0.25rem; /* ドット間のスペース */
  transition: background 0.3s ease;
}

.splide__pagination__page.is-active {
  background: #d80000; /* アクティブなドットの色 */
  transform: scale(1.2); /* アクティブなドットを少し大きく */
}

/* スライド内のテキスト配置（例: 画像の下にタイトル） */
.splide__slide p {
  text-align: center;
  margin-top: 0.5rem;
  font-size: 1rem;
  color: #333;
}

#page .floating-cta-button {
  display: flex !important;
}

/* --------------------PC Setting--------------------------- */
/* 外部CDN(app.css)側のheight:96pxを上書き。app.cssは外部URLから読み込むため
     テーマ側から直接編集できないので、こちらで上書きする。
     高さ・margin-bottomは /campaign/2026/annual-plan-campaign/ の見た目に統一する。 */
.pc #page .l-header {
  height: 74px !important;
  margin-bottom: 60px !important;
}

/* サブナビ(gnav-sub-menu-list)がposition:absolute; top:96px;で固定されており、
     ヘッダーの高さを74pxに変更したことで隙間ができるため合わせて上書きする */
.pc #page .l-header .gnav-sub-menu-list {
  top: 74px !important;
}

.pc #page .l-header .gnav-sub-menu-list > ul > li a.gnav-menu-link {
  height: 60px !important;
}

.pc #page .slick-track-initial {
  transform: translate3d(64px, 0, 0) !important;
}

.pc #page .slick-arrow {
  top: 50%;
  bottom: 0;
  transform: translate(0, calc(-50% - 24px));
}

.pc #page .slick-prev {
  left: 44px;
}

.pc #page .slick-next {
  right: 44px;
}

.pc #page .btn-dark-secondary,
.pc #page .btn-light-secondary {
  transition: all 0.2s ease-in;
  font-size: 16px;
}

.pc #page .btn-dark-secondary:hover {
  background: #f53a3a;
  color: #020717;
}

.pc #page .btn-light-secondary:hover {
  background: #d80000;
  color: white;
}

.pc #page .l-content .bg-dark,
.pc #page .l-content .bg-light {
  padding: 64px 0px;
}

.pc #page .l-content .bg-dark .ttl-group h2,
.pc #page .l-content .bg-light .ttl-group h2 {
  font-size: 48px;
}

.pc #page .l-content .bg-dark .ttl-group sub,
.pc #page .l-content .bg-light .ttl-group sub {
  font-size: 20px !important;
}

.pc #page .l-content .bg-dark .summary-group h3,
.pc #page .l-content .bg-light .summary-group h3 {
  font-size: 32px;
}

.pc #page .l-content .bg-dark .summary-group p,
.pc #page .l-content .bg-light .summary-group p,
.pc #page .l-content .bg-dark .summary-group a,
.pc #page .l-content .bg-light .summary-group a {
  font-size: 16px;
}

.pc #page .l-content .bg-dark .summary-group a:hover,
.pc #page .l-content .bg-light .summary-group a:hover {
  text-decoration: none;
}

.pc #page .l-content .bg-dark .bg-dark-txt,
.pc #page .l-content .bg-light .bg-light-txt {
  font-size: 192px;
  top: -44px;
}

.pc #page .l-content .bg-dark-s-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  margin-top: 32px;
}

.pc #page .l-content .bg-dark-s {
  padding: 0;
}

.pc #page .l-content .bg-gray {
  padding: 64px 0px;
  align-items: center;
}

.pc #page .l-content .bg-gray .btn-apply a.trial-btn .txt,
.pc #page .l-content .bg-gray .btn-apply a.iap-store-link .txt {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
}

.pc #page .l-content .bg-gray .btn-apply a.trial-btn svg,
.pc #page .l-content .bg-gray .btn-apply a.iap-store-link svg {
  width: 24px;
  height: 24px;
}

.pc #page .l-content .bg-gray .btn-apply a.trial-btn:hover,
.pc #page .l-content .bg-gray .btn-apply a.iap-store-link:hover {
  background: #ff1212;
}

.pc #page .l-content .appdl-group {
  width: 950px;
  padding: 64px;
  flex-direction: row;
  justify-content: space-between;
}

.pc #page .l-content .appdl-group .alldl-txt-group {
  flex-direction: row;
  gap: 24px;
}

.pc #page .l-content .appdl-group .alldl-txt-group i img {
  width: 64px;
  height: 64px;
}

.pc #page .l-content .appdl-group .alldl-txt-group .app-name {
  align-items: flex-start;
}

.pc #page .l-content .appdl-group .alldl-txt-group .app-name p strong {
  font-size: 32px;
  line-height: 100%;
}

.pc #page .l-content .appdl-group .appdl-qr-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pc #page .l-content .appdl-group .appdl-qr-group p {
  font-weight: 700;
}

.pc #page .l-content .faq-item {
  width: 886px;
}

.pc #page .l-content .faq-item .faq-question p,
.pc #page .l-content .faq-item .faq-answer p {
  font-size: 16px;
  line-height: 140%;
}

.pc #page .l-content .faq-item .faq-question p a:hover,
.pc #page .l-content .faq-item .faq-answer p a:hover {
  text-decoration: none;
}

.pc #page .l-content .faq-item .accordion-flag:checked + .accordion-area + .accordion-switch {
  transition: all 0.2s ease-in;
  padding-top: 24px;
}

.pc #page .l-content .price-caption {
  align-items: center;
}

.pc #page .l-content .price-caption p {
  width: 886px;
}

.pc #page .l-content .price-caption p a:hover {
  text-decoration: none;
}

.pc #page .l-content .plan-monthly-group,
.pc #page .l-content .plan-yearly-group {
  padding: 64px 0;
  align-items: center;
}

.pc #page .l-content .plan-monthly-group > div,
.pc #page .l-content .plan-yearly-group > div {
  width: 822px;
  margin: 0 auto;
}

.pc #page .l-content .plan-monthly-group .ttl-group,
.pc #page .l-content .plan-yearly-group .ttl-group {
  padding-bottom: 32px;
}

.pc #page .l-content .plan-monthly-group .ttl-group h2,
.pc #page .l-content .plan-yearly-group .ttl-group h2 {
  font-size: 32px;
}

.pc #page .l-content .plan-monthly-group .ttl-group p.caption,
.pc #page .l-content .plan-yearly-group .ttl-group p.caption {
  font-size: 12px;
  line-height: 16px;
}

.pc #page .l-content .plan-monthly-group .plan-group-outer,
.pc #page .l-content .plan-yearly-group .plan-group-outer {
  flex-direction: row;
  justify-content: space-between;
}

.pc #page .l-content .plan-monthly-group .plan-group,
.pc #page .l-content .plan-yearly-group .plan-group {
  gap: 16px;
  align-items: center;
}

.pc #page .l-content .plan-monthly-group .plan-group h3,
.pc #page .l-content .plan-yearly-group .plan-group h3 {
  height: 62px;
  display: flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
  gap: 4px;
  flex: none;
}

.pc #page .l-content .plan-monthly-group .plan-group h3 span.cap,
.pc #page .l-content .plan-yearly-group .plan-group h3 span.cap {
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.pc #page .l-content .plan-monthly-group .plan-group .plan-item-group,
.pc #page .l-content .plan-yearly-group .plan-group .plan-item-group {
  flex-direction: row;
  gap: 16px;
}

.pc #page .l-content .plan-monthly-group .plan-item,
.pc #page .l-content .plan-yearly-group .plan-item {
  border-left: 0;
  border-top: 8px solid;
  width: 148px;
  height: 100%;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 16px;
}

.pc #page .l-content .plan-monthly-group .plan-item:hover .view-more,
.pc #page .l-content .plan-yearly-group .plan-item:hover .view-more {
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.25);
}

.pc #page .l-content .plan-monthly-group .plan-item .plan-item-txt-group,
.pc #page .l-content .plan-yearly-group .plan-item .plan-item-txt-group {
  padding: 16px 0 0;
  align-items: center;
  height: 62px;
  flex: none;
}

.pc #page .l-content .plan-monthly-group .plan-item .plan-item-txt-group .plan-name,
.pc #page .l-content .plan-yearly-group .plan-item .plan-item-txt-group .plan-name {
  font-size: 16px;
  line-height: 140%;
  text-align: center;
}

.pc #page .l-content .plan-monthly-group .plan-item .plan-item-yearly-price-group,
.pc #page .l-content .plan-yearly-group .plan-item .plan-item-yearly-price-group {
  flex-direction: column;
  align-items: center;
}

.pc #page .l-content .plan-monthly-group .plan-item .plan-item-price,
.pc #page .l-content .plan-yearly-group .plan-item .plan-item-price {
  padding: 0;
  height: 48px;
  display: flex;
  align-items: center;
}

.pc #page .l-content .plan-monthly-group .plan-item .plan-item-price .yearly-to-monthly,
.pc #page .l-content .plan-yearly-group .plan-item .plan-item-price .yearly-to-monthly {
  font-size: 24px;
  font-weight: 700;
}

.pc #page .l-content .plan-monthly-group .plan-item.standard,
.pc #page .l-content .plan-yearly-group .plan-item.standard {
  border-right: none;
}

.pc #page .l-content .plan-monthly-group .plan-item .view-more,
.pc #page .l-content .plan-yearly-group .plan-item .view-more {
  transition: all 0.2s ease-in;
  display: flex;
  padding: 8px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  /* 14.4px */
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border-radius: 24px;
}

.pc #page .l-content .plan-monthly-group .plan-yearly-ttl-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.pc #page .l-content .plan-yearly-group .plan-yearly-ttl-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.pc #page .l-content .plan-yearly-group .plan-group-outer {
  justify-content: flex-start;
}

.pc #page .l-content .plan-monthly-group .plan-item.standard {
  padding-top: 4px;
}

.pc #page .l-content .plan-monthly-group .plan-item.cardmobile,
.pc #page .l-content .plan-yearly-group .plan-item.cardmobile {
  border-left: 0px;
}

.pc #page .l-content .plan-monthly-group .plan-item.cardmobile,
.pc #page .l-content .plan-yearly-group .plan-item.cardmobile {
  border-left: 0px;
}

.pc #page .l-content .plan-monthly-group .plan-item.student,
.pc #page .l-content .plan-yearly-group .plan-item.student {
  border-left: 0px;
  padding-top: 4px;
}

.pc #page .l-content .plan-monthly-group .plan-item.lite,
.pc #page .l-content .plan-yearly-group .plan-item.lite {
  border-left: 0px;
}

.pc #page .l-content .plan-monthly-group .plan-item.yearly,
.pc #page .l-content .plan-yearly-group .plan-item.yearly {
  border-left: 0px;
}

.pc #page .l-content .pricing-comparison > h3 {
  font-size: 24px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list {
  flex-direction: row;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li {
  width: 160px;
  flex-direction: column;
  padding: 0 0 24px;
  gap: 16px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li div.service-name {
  width: 100%;
  height: 114px;
  padding: 24px 0px 16px 0px;
  gap: 16px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li div.service-name p.plan-name {
  height: 34px;
  display: flex;
  align-items: center;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li p.compatitor-name {
  font-size: 16px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li p.plan-name {
  font-size: 12px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price div.plan-price--price {
  font-size: 24px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li div.plan-price div.plan-price--price span {
  font-size: 36px;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service {
  width: 180px;
  padding-right: 0;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.service-name {
  width: 100%;
}

.pc #page .l-content .pricing-comparison ul.pricing-comparison-list > li.our-service div.service-name > img {
  width: 136px;
  height: 24px;
}

.pc #page .l-content .functions-scene {
  flex-direction: row;
  width: 950px;
  justify-content: space-between;
}

.pc #page .l-content .functions-scene .scene-inner {
  justify-content: center;
  gap: 32px;
  flex: 1;
}

.pc #page .l-content .functions-scene .scene-inner > h3 {
  font-size: 32px;
}

.pc #page .l-content .functions-scene .scene-inner > p {
  font-size: 20px;
}

.pc #page .l-content .functions-scene .scene-images .screenshot-group-wrapper {
  width: -moz-fit-content;
  width: fit-content;
  height: 332px;
  padding-top: 32px;
}

.pc #page .l-content .functions-scene .scene-images .screenshot-group-wrapper .screenshot-group {
  width: 240px;
}

.pc #page .l-content .functions-scene .scene-images .screenshot-group-wrapper .screenshot-group img {
  width: 100%;
}

.pc #page .l-content .functions-scene .scene-images.portrait img {
  width: 512px;
}

.pc #page .l-content .trial-group {
  width: 950px;
  padding: 64px;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.pc #page .l-content .trial-group .trial-txt-group {
  align-items: flex-start;
}

.pc #page .l-content .trial-group .trial-txt-group p {
  font-size: 20px;
}

.pc #page .l-content .trial-group .trial-txt-group p strong {
  font-size: 32px;
}

.pc #page .l-content .trial-group .btn-apply > a.trial-btn {
  font-size: 24px;
  line-height: 32px;
  transition: all 0.2s ease-in;
}

.pc #page .l-content .trial-group .btn-apply > a.trial-btn:hover {
  background: #ec0606;
}

.pc #page .l-content .ranking-term {
  gap: 16px;
}

.pc #page .l-content .ranking-term > li a {
  display: flex;
  width: 134px;
  padding: 8px 16px;
  font-size: 16px;
  line-height: 140%;
  transition: all 0.2s ease-in;
}

.pc #page .l-content .ranking-term > li a:hover {
  background: #f53a3a;
  color: #020717 !important;
}

.pc #page .l-content .cp-for-newsubscriber li.slick-slide a,
.pc #page .l-content .cp-for-subscriber li.slick-slide a,
.pc #page .l-content .group-service-bnr li.slick-slide a {
  transition: all 0.2s ease-in;
  gap: 16px;
}

.pc #page .l-content .cp-for-newsubscriber li.slick-slide a img,
.pc #page .l-content .cp-for-subscriber li.slick-slide a img,
.pc #page .l-content .group-service-bnr li.slick-slide a img {
  width: 100%;
}

.pc #page .l-content .cp-for-newsubscriber li.slick-slide a p,
.pc #page .l-content .cp-for-subscriber li.slick-slide a p,
.pc #page .l-content .group-service-bnr li.slick-slide a p {
  transition: all 0.2s ease-in;
}

.pc #page .l-content .cp-for-newsubscriber li.slick-slide a:hover img,
.pc #page .l-content .cp-for-subscriber li.slick-slide a:hover img,
.pc #page .l-content .group-service-bnr li.slick-slide a:hover img {
  opacity: 0.8;
}

.pc #page .l-content .cp-for-newsubscriber li.slick-slide a:hover p,
.pc #page .l-content .cp-for-subscriber li.slick-slide a:hover p,
.pc #page .l-content .group-service-bnr li.slick-slide a:hover p {
  color: #d80000;
}

.pc #page .l-content .characteristics-list {
  width: 950px;
  flex-direction: row;
  justify-content: space-between;
}

.pc #page .l-content .characteristics-list > li {
  align-self: stretch;
  flex: 1;
}

.pc #page .l-content .characteristics-list > li > a {
  padding: 32px 24px 16px 24px;
  gap: 32px;
  flex-direction: column;
  transition: all 0.2s ease-in;
  height: 100%;
}

.pc #page .l-content .characteristics-list > li > a:hover {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.1);
  transform: translateY(4px);
}

.pc #page .l-content .characteristics-list > li > a i.icon_lead {
  margin-bottom: -16px;
}

.pc #page .l-content .characteristics-list > li > a .characteristics-txt-group {
  align-self: stretch;
  gap: 16px;
}

.pc #page .l-content .characteristics-list > li > a .characteristics-txt-group p {
  font-size: 16px;
  line-height: 140%;
  text-align: center;
  align-self: stretch;
}

.pc #page .l-content .characteristics-list > li > a .characteristics-txt-group p b {
  font-size: 20px;
  line-height: 28px;
}

.pc #page .l-content .characteristics-list + p.caption {
  width: 950px;
  margin: 0 auto;
}

.pc #page .l-content .features-list-group {
  width: 950px;
  padding: 64px;
  gap: 32px;
}

.pc #page .l-content .features-list-group .features-list {
  height: auto;
  opacity: 1;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
}

.pc #page .l-content .features-list-group .item {
  width: 300px;
  padding: 0;
}

.pc #page .l-content .features-list-group .item > i svg {
  width: 24px;
  height: 24px;
}

.pc #page .l-content .features-list-group .item .features-txt-group p b {
  font-size: 16px;
  line-height: 24px;
}

.pc #page .l-content .song-item > a {
  padding: 24px 24px 24px 0;
  width: 400px;
  gap: 16px;
  transition: all 0.2s ease-in;
}

.pc #page .l-content .song-item > a:hover {
  background: #36394d;
}

.pc #page .l-content .song-item > a img {
  width: 80px !important;
  height: 80px;
}

.pc #page .l-content .song-item > a .rank-num {
  width: 46px;
  padding-left: 16px;
}

.pc #page .l-content .song-item > a .song-item-txt .song-ttl {
  font-size: 16px;
  line-height: 24px;
}

.pc #page .l-content .song-item > a .song-item-txt .song-artist {
  font-size: 12px;
  line-height: 16px;
}

.pc #page .l-content .top-main-fv {
  height: calc(100vh - 168px);
}

.pc #page .l-content .top-main-fv .main-content {
  width: -moz-fit-content;
  width: fit-content;
  gap: 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  z-index: 3;
}

.pc #page .l-content .top-main-fv .main-content h1 {
  font-size: 28px !important;
  line-height: 140%;
}

.pc #page .l-content .top-main-fv .main-content h1 sup {
  top: -1em;
}

.pc #page .l-content .top-main-fv .main-content .web-player-group {
  gap: 16px;
}

.pc #page .l-content .top-main-fv .main-content .web-player-group > p {
  font-size: 16px;
  line-height: 24px;
}

.pc #page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar {
  width: 380px;
}

.pc #page .l-content .top-main-fv .main-content .web-player-group .nav-searchbar > input {
  padding: 16px 32px;
}

.pc #page .l-content .top-main-fv .main-bg-images {
  width: max(100vw, 1440px); /* 1440pxより狭いウィンドウでは大きさを変えない(はみ出す分は左右が切れる) */
  top: -96px;
  transform: translate(-50%, 0);
}

.pc #page .l-content .top-main-fv .main-bg-images img {
  width: calc((max(100vw, 1440px) - 32px) / 3) !important;
}

.pc #page .l-content .top-main-fv .main-screenshots {
  display: block;
  width: 100%;
  height: calc(100vh - 168px);
}

.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:first-child,
.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(2),
.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(3),
.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(4) {
  display: block;
  order: initial;
  width: 300px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:first-child {
  transform: translate(-650px, -360px);
}

.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(2) {
  transform: translate(-650px, 270px);
}

.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(3) {
  transform: translate(350px, -870px);
}

.pc #page .l-content .top-main-fv .main-screenshots > .screenshot-group:nth-child(4) {
  transform: translate(350px, -240px);
}

.pc #page .l-content #top-section-feature.bg-light {
  padding: 64px 0 0;
}

.pc #page .l-content #top-section-price.bg-light {
  padding: 0;
}

/* 料金プラン一覧デザイン変更v1 */
.pc #page .l-content .plan-yearly-group .plan-item.yearly {
  width: 148px;
  height: 100%;
  padding: 0 0 16px 0;
}

.pc #page .l-content .plan-monthly-group .plan-item.lite,
.pc #page .l-content .plan-monthly-group .plan-item.cardmobile {
  padding-top: 4px;
}


/* SP：characteristics-list の margin は 0 auto（PCは従来どおり 32px auto 0） */
.sp #page .l-content .characteristics-list {
  margin: 0 auto;
}

#top-section-campaign .splide,
#top-section-others .splide,
#top-section-groupservices .splide {
  max-width: 100%;
  margin: 0;
}
#top-section-campaign .splide__pagination,
#top-section-others .splide__pagination,
#top-section-groupservices .splide__pagination {
  position: static !important;
  display: flex !important;
  justify-content: center;
  margin-top: 16px;
  bottom: auto;
}
#top-section-campaign .splide__arrow,
#top-section-others .splide__arrow,
#top-section-groupservices .splide__arrow {
  top: 40%;
  width: 42px;
  height: 43px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow: none;
  opacity: 0.75;
}
#top-section-campaign .splide__arrow:hover, #top-section-campaign .splide__arrow:focus,
#top-section-others .splide__arrow:hover,
#top-section-others .splide__arrow:focus,
#top-section-groupservices .splide__arrow:hover,
#top-section-groupservices .splide__arrow:focus {
  opacity: 1;
}
#top-section-campaign .splide__arrow svg,
#top-section-others .splide__arrow svg,
#top-section-groupservices .splide__arrow svg {
  display: none;
}
.sp #top-section-campaign .splide__arrow,
.sp #top-section-others .splide__arrow,
.sp #top-section-groupservices .splide__arrow {
  top: auto;
  bottom: -8px;
  transform: none;
  width: 32px;
  height: 32px;
}
.sp #top-section-campaign .splide__arrow.splide__arrow--prev,
.sp #top-section-others .splide__arrow.splide__arrow--prev,
.sp #top-section-groupservices .splide__arrow.splide__arrow--prev {
  left: 28px;
}
.sp #top-section-campaign .splide__arrow.splide__arrow--next,
.sp #top-section-others .splide__arrow.splide__arrow--next,
.sp #top-section-groupservices .splide__arrow.splide__arrow--next {
  right: 28px;
}
.sp #top-section-campaign .splide__pagination,
.sp #top-section-others .splide__pagination,
.sp #top-section-groupservices .splide__pagination {
  flex-wrap: wrap;
  padding: 0 68px;
  row-gap: 4px;
}
#top-section-campaign .splide__pagination li,
#top-section-campaign .splide__slide,
#top-section-others .splide__pagination li,
#top-section-others .splide__slide,
#top-section-groupservices .splide__pagination li,
#top-section-groupservices .splide__slide {
  padding: 0;
}
#top-section-campaign .splide__slide p,
#top-section-others .splide__slide p,
#top-section-groupservices .splide__slide p {
  margin-top: 8px;
  margin-bottom: 0;
}
#top-section-campaign .splide__slide img,
#top-section-others .splide__slide img,
#top-section-groupservices .splide__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
#top-section-campaign .splide__pagination__page,
#top-section-others .splide__pagination__page,
#top-section-groupservices .splide__pagination__page {
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  opacity: 0.6;
  transform: none;
}
#top-section-campaign .splide__pagination__page.is-active,
#top-section-others .splide__pagination__page.is-active,
#top-section-groupservices .splide__pagination__page.is-active {
  opacity: 1;
  transform: none;
}

#top-section-campaign .splide__pagination__page {
  background: transparent;
  border: 1px solid #fff;
}
#top-section-campaign .splide__pagination__page.is-active {
  background: #fff;
  border-color: #fff;
}

#top-section-others .splide__pagination__page,
#top-section-groupservices .splide__pagination__page {
  background: transparent;
  border: 1px solid #000;
}
#top-section-others .splide__pagination__page.is-active,
#top-section-groupservices .splide__pagination__page.is-active {
  background: #000;
  border-color: #000;
}

#top-section-campaign .splide__arrow {
  top: 32%;
}
#top-section-campaign .splide__arrow--prev {
  background-image: url(../../top/img/20230901/icon_circle_arrow_left_d.svg);
}
#top-section-campaign .splide__arrow--next {
  background-image: url(../../top/img/20230901/icon_circle_arrow_right_d.svg);
}

#top-section-others .splide__arrow--prev,
#top-section-groupservices .splide__arrow--prev {
  background-image: url(../../top/img/20230901/icon_circle_arrow_left_l.svg);
}
#top-section-others .splide__arrow--next,
#top-section-groupservices .splide__arrow--next {
  background-image: url(../../top/img/20230901/icon_circle_arrow_right_l.svg);
}

#page .l-content #top-section-others,
#page .l-content #top-section-groupservices {
  border-top: 0;
}

#top-section-campaign .cp-for-newsubscriber .splide__slide a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
}
#top-section-campaign .cp-for-newsubscriber .splide__slide a img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid #d1d1d1;
}
#top-section-campaign .cp-for-newsubscriber .splide__slide a p {
  color: white;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  text-align: center;
}

/* 「楽天グループサービス」の矢印だけPCは top: 32%（キャンペーン・その他は40%）。
   SPは3カルーセル共通で、バナー下（ドットと同じ高さの左右）に置く（上の `.sp &` の指定）。 */
#top-section-groupservices .splide__arrow {
  top: 32%;
}

/* SP：楽天グループサービスはドットが2行に折り返す（高さ36px）ので、矢印(32px)をその縦中心に合わせる。 */
.sp #top-section-groupservices .splide__arrow {
  bottom: 2px;
}

/* リワード：「ポイント獲得方法を確認する」リンクは赤（本番 #d80000）。青リンクの共通色に負けないように !important */
body #page #stack-section-reward a.txt-link-red-dark.scroll {
  color: #d80000 !important;
}
