:root {
  --font-pri: "Inter", sans-serif;
  --font-sec: "Manrope", sans-serif;
  --font-third: "Open Sans", sans-serif; }

.row {
  --col-gap: 2.4rem;
  --row-gap: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--col-gap) / 2 * -1) calc(var(--row-gap) * -1); }

.col {
  width: 100%;
  padding: 0 calc(var(--col-gap) / 2);
  margin-bottom: var(--row-gap); }
  .col-11 {
    width: calc(11/12 * 100%); }
  .col-10 {
    width: calc(10/12 * 100%); }
  .col-9 {
    width: calc(9/12 * 100%); }
  .col-8 {
    width: calc(8/12 * 100%); }
  .col-7 {
    width: calc(7/12 * 100%); }
  .col-6 {
    width: 50%; }
  .col-5 {
    width: calc(5/12 * 100%); }
  .col-4 {
    width: calc(4/12 * 100%); }
  .col-3 {
    width: calc(3/12 * 100%); }
  .col-2 {
    width: calc(2/12 * 100%); }
  .col-1 {
    width: calc(1/12 * 100%); }

/*------------------------------------------------------------
	Clearfix
------------------------------------------------------------*/
/*------------------------------------------------------------
	Font
------------------------------------------------------------*/
/*------------------------------------------------------------
	Media
------------------------------------------------------------*/
/*------------------------------------------------------------
	Flex Box
------------------------------------------------------------*/
body.p-upgrade .main {
  background: #f2f4f7; }

.upgrade {
  padding: 10rem 0; }
  @media screen and (max-width: 991.98px) {
    .upgrade {
      padding: 5rem 0; } }
  @media screen and (max-width: 575.98px) {
    .upgrade {
      padding: 2.4rem 0; } }

.upgrade-header {
  max-width: 438px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #484848;
  text-align: center;
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 575.98px) {
    .upgrade-header {
      font-size: 1.4rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-header {
      display: none; } }

.upgrade-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 3.2rem;
  row-gap: 2.4rem; }
  @media screen and (max-width: 1199.98px) {
    .upgrade-list {
      column-gap: 1.6rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-list {
      column-gap: 0.8rem; } }
  .upgrade-list.upgrade-eco:has(.is-active.is-economy) .upgrade-item.is-active.is-economy .upgrade-card {
    position: relative; }
    .upgrade-list.upgrade-eco:has(.is-active.is-economy) .upgrade-item.is-active.is-economy .upgrade-card::before {
      position: absolute;
      z-index: 0;
      content: "";
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.1);
      border-radius: 1.6rem; }
    .upgrade-list.upgrade-eco:has(.is-active.is-economy) .upgrade-item.is-active.is-economy .upgrade-card::after {
      top: 50%;
      transform: translate(-50%, -50%);
      left: 50%;
      position: absolute;
      z-index: 0;
      content: "";
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      background-image: url("../images/common/check_blue.svg");
      width: 8rem;
      height: 4rem; }
      @media screen and (max-width: 575.98px) {
        .upgrade-list.upgrade-eco:has(.is-active.is-economy) .upgrade-item.is-active.is-economy .upgrade-card::after {
          width: 6rem;
          height: 3rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-list.upgrade-eco:has(.is-active.is-economy) .upgrade-item:nth-of-type(1) {
      width: calc(50% - 0.4rem); } }

.upgrade-item {
  width: calc(100% / 3 - (1 - 1 / 3) * 3.2rem);
  height: fit-content; }
  .upgrade-item.is-gold {
    position: relative;
    border-radius: 1.6rem;
    overflow: hidden;
    padding: 1px; }
    .upgrade-item.is-gold::before {
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      position: absolute;
      z-index: 0;
      content: "";
      background: linear-gradient(180deg, #fddcba 20%, #ee7f0e 100%); }
    .upgrade-item.is-gold .upgrade-card {
      border-color: transparent;
      border: 0;
      background: #fdf5ea;
      position: relative;
      z-index: 1; }
    .upgrade-item.is-gold .tt-pri {
      background: linear-gradient(91deg, #c89321 1.61%, #deba3b 7.5%, #e7cc44 17.38%, #deba3b 29.14%, #c89321 38.44%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
  .upgrade-item.is-diamond {
    position: relative;
    border-radius: 1.6rem;
    overflow: hidden;
    padding: 1px; }
    .upgrade-item.is-diamond::before {
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      position: absolute;
      z-index: 0;
      content: "";
      background: linear-gradient(180deg, #692a93 0%, #d4217e 100%); }
    .upgrade-item.is-diamond .upgrade-card {
      background: #f4efff;
      border: 0;
      position: relative;
      z-index: 1; }
    .upgrade-item.is-diamond .tt-pri {
      background: linear-gradient(90deg, #c0387d 0%, #682a93 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent; }
  .upgrade-item.is-other {
    display: none; }
    .upgrade-item.is-other .upgrade-card {
      background: transparent; }
    @media screen and (max-width: 575.98px) {
      .upgrade-item.is-other {
        display: flex; }
        .upgrade-item.is-other .upgrade-card {
          max-width: 100%; } }
  .upgrade-item .tt-pri {
    color: #1e1e1e;
    text-transform: uppercase; }
  .upgrade-item .price-wrap .price {
    font-size: 3.2rem;
    font-weight: 700;
    color: #1e1e1e; }
    @media only screen and (max-width: 1200px) {
      .upgrade-item .price-wrap .price {
        font-size: 2.7rem; } }
    @media only screen and (max-width: 800px) {
      .upgrade-item .price-wrap .price {
        font-size: 2.2rem; } }
    .upgrade-item .price-wrap .price.old {
      color: #8f8d8d;
      font-weight: 400;
      font-size: 2.4rem;
      text-decoration: line-through; }
      @media only screen and (max-width: 1200px) {
        .upgrade-item .price-wrap .price.old {
          font-size: 2rem; } }
      @media only screen and (max-width: 800px) {
        .upgrade-item .price-wrap .price.old {
          font-size: 1.7rem; } }
      @media only screen and (max-width: 575.98px) {
        .upgrade-item .price-wrap .price.old {
          font-size: 1.6rem; } }
      @media screen and (max-width: 575.98px) {
        .upgrade-item .price-wrap .price.old {
          font-size: 1.2rem; } }
    @media screen and (max-width: 575.98px) {
      .upgrade-item .price-wrap .price {
        font-size: 1.6rem; } }
  .upgrade-item .box-btn {
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  .upgrade-item.is-active .btn {
    pointer-events: none;
    background: #ccc; }
    .upgrade-item.is-active .btn::after {
      position: absolute;
      z-index: 0;
      content: "";
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      background-image: url("../images/common/check_blue.svg");
      width: 8rem;
      height: 4rem; }
      @media screen and (max-width: 575.98px) {
        .upgrade-item.is-active .btn::after {
          width: 6rem;
          height: 3rem; } }
  @media screen and (max-width: 1199.98px) {
    .upgrade-item {
      width: calc(100% / 3 - (1 - 1 / 3) * 1.6rem); } }
  @media screen and (max-width: 767.98px) {
    .upgrade-item {
      width: calc(100% / 2 - (1 - 1 / 2) * 1.6rem); }
      .upgrade-item:nth-of-type(1), .upgrade-item:nth-of-type(2) {
        width: 100%; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-item {
      display: flex;
      align-items: center;
      justify-content: center; }
      .upgrade-item .tt-pri {
        font-size: 2rem; }
      .upgrade-item.is-gold, .upgrade-item.is-diamond {
        width: calc(50% - 0.4rem); }
        .upgrade-item.is-gold .upgrade-card, .upgrade-item.is-diamond .upgrade-card {
          width: 100%;
          max-width: 100%;
          padding: 1rem; }
      .upgrade-item .box-btn .btn {
        height: 3.3rem;
        padding: 0.6rem;
        width: 13.2rem;
        font-size: 1.2rem; } }
    @media screen and (max-width: 575.98px) and (max-width: 400.98px) {
      .upgrade-item .box-btn .btn {
        padding: 0.4rem; } }
  @media screen and (max-width: 575.98px) {
      .upgrade-item .price-wrap {
        text-align: center; } }

.upgrade-card {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 4rem;
  border: 1px solid transparent;
  padding: 4.6rem;
  border-radius: 1.6rem;
  background: #fff; }
  @media screen and (max-width: 1199.98px) {
    .upgrade-card {
      row-gap: 2.4rem;
      padding: 3rem 2rem; } }
  @media screen and (max-width: 991.98px) {
    .upgrade-card {
      padding: 2rem 1.5rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-card {
      padding: 2.4rem;
      row-gap: 2rem;
      max-width: 19.5rem; } }
  @media screen and (max-width: 400.98px) {
    .upgrade-card {
      padding: 1.5rem;
      row-gap: 1rem; } }

.upgrade-heading {
  font-size: 2.4rem;
  color: #0f0f0f;
  line-height: 1.3; }
  @media only screen and (max-width: 1200px) {
    .upgrade-heading {
      font-size: 2rem; } }
  @media only screen and (max-width: 800px) {
    .upgrade-heading {
      font-size: 1.7rem; } }
  @media only screen and (max-width: 575.98px) {
    .upgrade-heading {
      font-size: 1.6rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-heading {
      font-size: 1.2rem;
      text-align: center; } }

.upgrade-content ul {
  width: fit-content; }
  .upgrade-content ul li {
    font-size: 2.4rem;
    color: #0f0f0f;
    line-height: 1.3;
    position: relative;
    padding-left: 3rem; }
    @media only screen and (max-width: 1200px) {
      .upgrade-content ul li {
        font-size: 2rem; } }
    @media only screen and (max-width: 800px) {
      .upgrade-content ul li {
        font-size: 1.7rem; } }
    @media only screen and (max-width: 575.98px) {
      .upgrade-content ul li {
        font-size: 1.6rem; } }
    .upgrade-content ul li:not(:first-child) {
      margin-top: 1.6rem; }
    .upgrade-content ul li::before {
      width: 2.2rem;
      height: 2.2rem;
      position: absolute;
      z-index: 0;
      content: "";
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      left: 0;
      top: 0.2rem;
      background-image: url("../images/home/close_2.svg"); }
    .upgrade-content ul li.apply::before {
      background-image: url("../images/home/check.svg"); }
    @media screen and (max-width: 575.98px) {
      .upgrade-content ul li {
        font-size: 1.2rem;
        padding-left: 1.6rem; }
        .upgrade-content ul li::before {
          width: 1.2rem;
          height: 1.2rem; } }
    @media screen and (max-width: 400.98px) {
      .upgrade-content ul li:not(:first-child) {
        margin-top: 1rem; } }

@media screen and (max-width: 575.98px) {
  .upgrade-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; } }

.upgrade-cancel {
  margin-top: 4.8rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  color: #484848; }
  @media screen and (max-width: 575.98px) {
    .upgrade-cancel {
      font-size: 1.4rem; } }
  @media screen and (max-width: 575.98px) {
    .upgrade-cancel {
      margin-top: 2.4rem;
      font-weight: 400;
      font-size: 1.2rem; } }

.benefits {
  padding: 6rem 0;
  overflow: hidden; }
  .benefits .tt-pri {
    text-align: center; }
    @media screen and (max-width: 575.98px) {
      .benefits .tt-pri {
        font-size: 2rem; } }
  @media screen and (max-width: 575.98px) {
    .benefits {
      padding: 4rem 0; }
      .benefits .tt-pri {
        text-align: left; } }

.benefits-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.8rem;
  row-gap: 2.4rem;
  margin-right: -1.6rem;
  margin-left: -1.6rem; }
  @media screen and (max-width: 575.98px) {
    .benefits-list {
      margin-top: 2.4rem; } }

.benefits-item {
  width: 25%;
  padding: 0 1.6rem; }
  @media screen and (max-width: 991.98px) {
    .benefits-item {
      width: 50%; } }

.benefits-card {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; }
  @media screen and (max-width: 575.98px) {
    .benefits-card {
      align-items: start;
      row-gap: 1.2rem; } }

.benefits-content {
  font-size: 1.6rem;
  line-height: 1.3;
  color: #475467;
  text-align: center; }
  @media screen and (max-width: 575.98px) {
    .benefits-content {
      font-size: 1.4rem; } }
  .benefits-content .tt-four {
    margin-bottom: 1rem; }
    @media screen and (max-width: 575.98px) {
      .benefits-content .tt-four {
        margin-bottom: 0.5rem;
        font-size: 1.4rem; } }
  @media screen and (max-width: 575.98px) {
    .benefits-content {
      font-size: 1.2rem;
      text-align: left; } }

.benefits-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12rem;
  height: 12rem;
  border: 6px solid #f9ebea;
  border-radius: 50%;
  background: #fff; }
  .benefits-img img {
    width: 5.8rem;
    height: 5.8rem;
    object-fit: cover; }
  @media screen and (max-width: 575.98px) {
    .benefits-img {
      width: 8.2rem;
      height: 8.2rem; }
      .benefits-img img {
        width: 4rem;
        height: 4rem; } }

.faqs {
  padding-top: 4rem;
  padding-bottom: 10rem; }
  @media screen and (max-width: 575.98px) {
    .faqs {
      padding-top: 2.4rem;
      padding-bottom: 2.4rem; } }

.faqs-wrap {
  display: flex;
  flex-wrap: wrap; }

@media screen and (max-width: 575.98px) {
  .faqs-inner .tt-pri {
    font-size: 2rem; } }

.faqs-inner .box-btn .btn {
  padding: 1.1rem 3.2rem; }
  @media screen and (max-width: 575.98px) {
    .faqs-inner .box-btn .btn.btn--sec {
      border-color: transparent;
      background: linear-gradient(90deg, #cb0223 0%, #fe302f 53.08%, #cb0223 100%);
      color: #fff; }
      .faqs-inner .box-btn .btn.btn--sec:hover, .faqs-inner .box-btn .btn.btn--sec:focus {
        color: #fff; }
      .faqs-inner .box-btn .btn.btn--sec::before {
        background-color: #fff; } }

@media screen and (max-width: 575.98px) {
  .faqs-inner .box-btn {
    margin-top: 2.4rem; } }

.faqs-img {
  width: calc(4 / 12 * 100%); }
  .faqs-img img {
    width: 100%;
    height: auto;
    max-height: 565px;
    border-radius: 1.6rem; }
  @media screen and (max-width: 767.98px) {
    .faqs-img {
      display: none; } }

.faqs-aq {
  width: calc(8 / 12 * 100%);
  padding-left: 7.2rem; }
  @media screen and (max-width: 1199.98px) {
    .faqs-aq {
      padding-left: 3.2rem; } }
  @media screen and (max-width: 991.98px) {
    .faqs-aq {
      padding-left: 1.6rem; } }
  @media screen and (max-width: 767.98px) {
    .faqs-aq {
      width: 100%;
      padding-left: 0; } }

.faqs-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
  margin-top: 3.2rem; }
  @media screen and (max-width: 575.98px) {
    .faqs-list {
      margin-top: 2.4rem;
      row-gap: 1.2rem; } }

.faqs-item:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 1.6rem; }
  @media screen and (max-width: 575.98px) {
    .faqs-item:not(:last-child) {
      margin-bottom: 1.2rem; } }

.faqs-item.is-active .faqs-heading::after {
  background-image: url("../images/home/minus_1.svg"); }

.faqs-heading {
  cursor: pointer;
  font-size: 2rem;
  font-weight: 600;
  color: #333;
  line-height: 1.2;
  position: relative;
  padding-right: 3.2rem; }
  @media only screen and (max-width: 1200px) {
    .faqs-heading {
      font-size: 1.8rem; } }
  @media only screen and (max-width: 800px) {
    .faqs-heading {
      font-size: 1.6rem; } }
  .faqs-heading::after {
    width: 3.2rem;
    height: 3.2rem;
    position: absolute;
    position: absolute;
    z-index: 0;
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    right: 0;
    top: -0.4rem;
    transition: 0.3s ease;
    filter: brightness(0) saturate(100%) invert(26%) sepia(81%) saturate(1388%) hue-rotate(334deg) brightness(96%) contrast(100%);
    background-image: url("../images/home/plus_1.svg"); }
    @media screen and (max-width: 575.98px) {
      .faqs-heading::after {
        top: -0.65rem; } }

.faqs-content {
  padding-top: 1.2rem; }
  .faqs-content .mona-content {
    font-size: 1.6rem;
    color: #595959; }
    @media screen and (max-width: 575.98px) {
      .faqs-content .mona-content {
        font-size: 1.4rem; } }
  @media screen and (max-width: 575.98px) {
    .faqs-content {
      padding-top: 0.8rem; } }

.description-pri {
  line-height: 1.3; }
  .description-pri strong {
    color: #c6342e;
    font-weight: 500; }

.upgrade .account-member {
  max-width: 80rem;
  margin: 3.2rem auto; }
  @media screen and (max-width: 575.98px) {
    .upgrade .account-member {
      margin-top: 0; } }
  .upgrade .account-member_info {
    padding: 2.4rem;
    border-radius: 1.6rem;
    border: 2px solid transparent;
    background-image: linear-gradient(#fdf5ea, #fdf5ea), linear-gradient(to bottom, #fddcba, #ee7f0e);
    background-origin: border-box;
    background-clip: padding-box, border-box; }
    .upgrade .account-member_info.account-member_info--diamond {
      background-image: linear-gradient(#fdf5ea, #fdf5ea), linear-gradient(to bottom, #692a93, #d4217e); }
    @media screen and (max-width: 768px) {
      .upgrade .account-member_info {
        padding: 2.4rem;
        border-radius: 0.8rem; } }
    .upgrade .account-member_info .icon {
      width: 10rem;
      height: 10rem;
      border-radius: 50%;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        .upgrade .account-member_info .icon {
          width: 6rem;
          height: 6rem; } }
      .upgrade .account-member_info .icon img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain; }
    .upgrade .account-member_info .title {
      color: #000;
      font-size: 2.3631rem;
      font-weight: 700;
      line-height: 130%;
      margin-top: 3.314rem; }
      @media screen and (max-width: 768px) {
        .upgrade .account-member_info .title {
          font-size: 1.4rem;
          margin-top: 1.6rem; } }
    .upgrade .account-member_info .info {
      margin-top: 1.8rem;
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem 1rem; }
      @media screen and (max-width: 768px) {
        .upgrade .account-member_info .info {
          margin-top: 1.27rem;
          gap: 1rem; } }
    .upgrade .account-member_info .info > * {
      color: #000;
      font-size: 2.3631rem;
      font-style: normal;
      line-height: 130%;
      position: relative;
      padding-left: 2.8rem; }
      @media screen and (max-width: 768px) {
        .upgrade .account-member_info .info > * {
          font-size: 1.2rem;
          padding-left: 1.4rem; } }
      .upgrade .account-member_info .info > *:first-child {
        width: 100%; }
    .upgrade .account-member_info .info > *::before {
      content: "";
      position: absolute;
      top: 0.5rem;
      left: 0;
      width: 2rem;
      height: 2rem;
      background-image: url("../../assets/images/account/icon_check.svg");
      background-repeat: no-repeat;
      background-size: contain; }
      @media screen and (max-width: 768px) {
        .upgrade .account-member_info .info > *::before {
          top: 0.3rem;
          width: 1rem;
          height: 1rem; } }

.upgrade .account-member_note {
  margin-top: 1rem; }

@media screen and (max-width: 575.98px) {
  .upgrade .account-member .account-member_info {
    position: relative; }
    .upgrade .account-member .account-member_info .icon {
      position: absolute;
      top: 1rem;
      right: 1rem; }
    .upgrade .account-member .account-member_info .title {
      margin-top: 0; } }
