.template-rakusta-lp__root .rlp-section.rlp-section--comparison {
  background: #FFFFFF;
  @media (min-width: 0px) {
    padding: calc(64 * var(--as1Px)) 0 calc(56 * var(--as1Px));
  }
  @media (min-width: 768px) {
    padding: calc(96 * var(--as1Px)) 0;
  }
}

.section-rakusta-lp-comparison__root {
  margin: 0 auto;
  box-sizing: border-box;
  @media (min-width: 0px) {
    width: calc(320 * var(--as1Px));
    padding: 0 calc(16 * var(--as1Px));
  }
  @media (min-width: 768px) {
    width: calc(1120 * var(--as1Px));
    padding: 0;
  }
}

.rlp-comparison__head {
  text-align: center;
}

.rlp-comparison__title {
  margin: 0;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.05em;
  color: #0E1830;
  @media (min-width: 0px) {
    font-size: min(calc(28 * var(--as1Px)), 36px);
  }
  @media (min-width: 768px) {
    font-size: min(calc(40 * var(--as1Px)), 40px);
  }
  span {
    color: #E50051;
  }
}

.rlp-comparison__description {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  color: #6E6E6E;
  @media (min-width: 0px) {
    margin-top: calc(10 * var(--as1Px));
    font-size: min(calc(11 * var(--as1Px)), 11px);
    text-align: left;
  }
  @media (min-width: 768px) {
    margin-top: calc(16 * var(--as1Px));
    font-size: min(calc(13 * var(--as1Px)), 13px);
    text-align: center;
  }
}

.rlp-comparison__table-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  @media (min-width: 0px) {
    margin-top: calc(24 * var(--as1Px));
    margin-left: calc(-16 * var(--as1Px));
    margin-right: calc(-16 * var(--as1Px));
    padding-left: calc(16 * var(--as1Px));
    padding-right: calc(16 * var(--as1Px));
    padding-top: calc(10 * var(--as1Px));
    padding-bottom: calc(8 * var(--as1Px));
  }
  @media (min-width: 768px) {
    margin-top: calc(40 * var(--as1Px));
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: calc(14 * var(--as1Px));
    padding-bottom: 0;
  }
}

.rlp-comparison-grid {
  display: grid;
  box-sizing: border-box;
  @media (min-width: 0px) {
    width: max-content;
    min-width: 100%;
    grid-template-columns: min(calc(124 * var(--as1Px)), 132px) repeat(3, min(calc(184 * var(--as1Px)), 196px));
    gap: calc(10 * var(--as1Px));
  }
  @media (min-width: 768px) {
    width: 100%;
    grid-template-columns: calc(180 * var(--as1Px)) repeat(3, minmax(0, 1fr));
    gap: calc(16 * var(--as1Px));
  }
}

.rlp-comparison-grid__cell {
  box-sizing: border-box;
}

.rlp-comparison-grid__cell--empty {
  background: transparent;
}

.rlp-comparison-grid__head {
  position: relative;
  border: 1px solid #D0D5DD;
  border-bottom: none;
  border-radius: calc(18 * var(--as1Px)) calc(18 * var(--as1Px)) 0 0;
  background: #D0D5DD;
  display: flex;
  align-items: center;
  justify-content: center;
  @media (min-width: 0px) {
    min-height: calc(54 * var(--as1Px));
    padding: calc(8 * var(--as1Px)) calc(8 * var(--as1Px)) calc(10 * var(--as1Px));
  }
  @media (min-width: 768px) {
    min-height: calc(84 * var(--as1Px));
    padding: calc(14 * var(--as1Px)) calc(10 * var(--as1Px)) calc(14 * var(--as1Px));
  }

  &.is-rakusta {
    border-color: #E50051;
    background: linear-gradient(180deg, #E50051 0%, #FF5600 100%);

    .rlp-comparison-grid__head-label {
      color: #FFFFFF;
    }
  }
}

.rlp-comparison-grid__head-label {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  color: #344054;
  @media (min-width: 0px) {
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }
  @media (min-width: 768px) {
    font-size: min(calc(36 * var(--as1Px)), 32px);
  }
}

.rlp-comparison-grid__recommend {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(999 * var(--as1Px));
  background: #FACC15;
  color: #111827;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  white-space: nowrap;
  @media (min-width: 0px) {
    gap: calc(2 * var(--as1Px));
    height: calc(18 * var(--as1Px));
    padding: 0 calc(8 * var(--as1Px));
    font-size: min(calc(9 * var(--as1Px)), 9px);
  }
  @media (min-width: 768px) {
    gap: calc(4 * var(--as1Px));
    height: calc(24 * var(--as1Px));
    padding: 0 calc(12 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
}

.rlp-comparison-grid__recommend-icon {
  display: block;
  @media (min-width: 0px) {
    width: calc(10 * var(--as1Px));
    height: calc(10 * var(--as1Px));
  }
  @media (min-width: 768px) {
    width: calc(14 * var(--as1Px));
    height: calc(14 * var(--as1Px));
  }
}

.rlp-comparison-grid__row-label {
  background: #E5E7EB;
  border-radius: calc(12 * var(--as1Px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0;
  color: #344054;
  @media (min-width: 0px) {
    gap: calc(2 * var(--as1Px));
    padding: calc(10 * var(--as1Px)) calc(8 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 16px);
  }
  @media (min-width: 768px) {
    gap: calc(2 * var(--as1Px));
    padding: calc(16 * var(--as1Px)) calc(12 * var(--as1Px));
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }
}

.rlp-comparison-grid__body {
  border: 1px solid #D0D5DD;
  border-radius: calc(12 * var(--as1Px));
  background: #FFFFFF;
  @media (min-width: 0px) {
    padding: calc(12 * var(--as1Px));
  }
  @media (min-width: 768px) {
    padding: calc(16 * var(--as1Px)) calc(12 * var(--as1Px));
  }

  &.is-rakusta {
    border-color: #E50051;
  }
}

.rlp-comparison-grid__headline {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  color: #344054;
  @media (min-width: 0px) {
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
  @media (min-width: 768px) {
    font-size: min(calc(14 * var(--as1Px)), 14px);
  }
}

.rlp-comparison-grid__body.is-rakusta .rlp-comparison-grid__headline {
  color: #1D2939;
}

.rlp-comparison-grid__subline {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0;
  color: #667085;
  @media (min-width: 0px) {
    margin-top: calc(4 * var(--as1Px));
    font-size: min(calc(11 * var(--as1Px)), 11px);
  }
  @media (min-width: 768px) {
    margin-top: calc(4 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
}

.rlp-comparison-grid__points {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  @media (min-width: 0px) {
    margin-top: calc(8 * var(--as1Px));
    gap: calc(6 * var(--as1Px));
  }
  @media (min-width: 768px) {
    margin-top: calc(8 * var(--as1Px));
    gap: calc(6 * var(--as1Px));
  }
}

.rlp-comparison-grid__point {
  position: relative;
  margin: 0;
  padding-left: calc(14 * var(--as1Px));
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0;
  color: #475467;
  @media (min-width: 0px) {
    font-size: min(calc(11 * var(--as1Px)), 11px);
  }
  @media (min-width: 768px) {
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }

  &::before {
    content: '•';
    position: absolute;
    left: 0;
    top: 0;
    color: #98A2B3;
  }
}

.rlp-comparison-grid__points.is-rakusta .rlp-comparison-grid__point {
  &::before {
    content: '✓';
    color: #E50051;
    font-weight: 700;
  }
}

.rlp-comparison-grid__note {
  margin: 0;
  text-align: right;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0;
  color: #344054;
  @media (min-width: 0px) {
    margin-top: calc(6 * var(--as1Px));
    font-size: min(calc(11 * var(--as1Px)), 11px);
  }
  @media (min-width: 768px) {
    margin-top: calc(8 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
}

.rlp-comparison__footnote {
  margin: 0;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 0;
  color: #1D2939;
  @media (min-width: 0px) {
    margin-top: calc(24 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
  @media (min-width: 768px) {
    margin-top: calc(36 * var(--as1Px));
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }
}

.rlp-comparison__scroll-hint {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--as1Px));
  width: 100%;
  color: #667085;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  @media (min-width: 0px) {
    margin-top: calc(8 * var(--as1Px));
    margin-bottom: calc(8 * var(--as1Px));
    font-size: min(calc(12 * var(--as1Px)), 12px);
  }
  @media (min-width: 768px) {
    display: none;
  }
}

.rlp-comparison__scroll-hint-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0E1830;
  @media (min-width: 0px) {
    font-size: min(calc(16 * var(--as1Px)), 16px);
  }
}

.rlp-comparison__scroll-hint-arrow.is-left {
  animation: rlp-comparison-scroll-arrow-left 1.2s ease-in-out infinite;
}

.rlp-comparison__scroll-hint-arrow.is-right {
  animation: rlp-comparison-scroll-arrow-right 1.2s ease-in-out infinite;
}

@media (min-width: 0px) and (max-width: 767px) {
  .rlp-comparison__scroll-hint + .rlp-comparison__table-scroll {
    margin-top: calc(10 * var(--as1Px));
  }
}

@keyframes rlp-comparison-scroll-arrow-left {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(calc(-4 * var(--as1Px)));
  }
}

@keyframes rlp-comparison-scroll-arrow-right {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(calc(4 * var(--as1Px)));
  }
}
