/* ========================================
   Price Page
======================================== */

main.price-page {
  width: 100%;
}


/* ========================================
   Price Guide
======================================== */

.price-guide {
  padding:
    88px
    0
    82px;

  background-color: #f7f7f5;
}


/* ========================================
   Price Guide Heading
======================================== */

.price-guide__heading {
  max-width: 820px;

  margin:
    0
    auto
    58px;

  text-align: center;
}

.price-guide__en {
  margin:
    0
    0
    12px;

  color: #8298b1;

  font-family: var(--font-heading);
  font-size: 11px;

  line-height: 1.5;
  letter-spacing: 0.22em;
}

.price-guide__title {
  position: relative;

  margin: 0;

  padding-bottom: 20px;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}

.price-guide__title::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 50%;

  width: 32px;
  height: 1px;

  background-color: var(--color-main);

  transform: translateX(-50%);
}

.price-guide__lead {
  margin:
    24px
    0
    0;

  color: var(--color-text-sub);

  font-size: 13px;

  line-height: 2;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Price Guide Grid
======================================== */

.price-guide__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 26px;
}


/* ========================================
   Price Card
======================================== */

.price-card {
  position: relative;

  min-width: 0;

  overflow: hidden;

  border: 1px solid var(--color-border);

  background-color: var(--color-bg);
}

.price-card--main {
  border-color: var(--color-main);
}


/* ========================================
   Price Card Visual
======================================== */

.price-card__visual {
  width: 100%;

  aspect-ratio: 16 / 7.2;

  overflow: hidden;

  background-color: var(--color-bg-sub);
}

.price-card__visual img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}


/* ========================================
   Price Card Body
======================================== */

.price-card__body {
  padding:
    32px
    44px
    36px;
}


/* ========================================
   Recommend
======================================== */

.price-card__recommend {
  position: absolute;

  top: -1px;
  right: -1px;

  z-index: 2;

  padding:
    9px
    20px;

  background-color: var(--color-main);

  color: var(--color-white);

  font-size: 11px;

  line-height: 1.4;
  letter-spacing: 0.12em;
}


/* ========================================
   Number
======================================== */

.price-card__number {
  display: flex;

  align-items: center;

  gap: 14px;

  margin:
    0
    0
    12px;

  color: var(--color-text-sub);

  font-family: var(--font-heading);
  font-size: 13px;

  line-height: 1.5;
  letter-spacing: 0.12em;
}

.price-card__number::after {
  content: "";

  display: block;

  width: 34px;
  height: 1px;

  background-color: var(--color-border);
}


/* ========================================
   Card Title
======================================== */

.price-card__title {
  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}


/* ========================================
   Card Description
======================================== */

.price-card__description {
  margin:
    18px
    0
    0;

  color: var(--color-text-sub);

  font-size: 13px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Price
======================================== */

.price-card__price {
  display: flex;

  align-items: center;

  gap: 18px;

  margin-top: 26px;

  padding-bottom: 22px;

  border-bottom: 1px solid var(--color-border);
}

.price-card__price-label {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  min-height: 40px;

  padding:
    8px
    16px;

  background-color: #eef3f8;

  color: var(--color-main);

  font-size: 12px;
  font-weight: 500;

  line-height: 1.6;
  letter-spacing: var(--letter-spacing-base);
}

.price-card__price-value {
  display: flex;

  align-items: baseline;

  flex-wrap: wrap;

  gap: 6px;

  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 29px;
  font-weight: 400;

  line-height: 1.4;
  letter-spacing: 0.04em;
}

.price-card__tax {
  color: var(--color-text-sub);

  font-family: var(--font-base);
  font-size: 10px;
  font-weight: 400;

  line-height: 1.6;
  letter-spacing: 0.02em;
}


/* ========================================
   Price List
======================================== */

.price-card__list {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  column-gap: 24px;
  row-gap: 10px;

  margin:
    24px
    0
    0;

  padding: 0;

  list-style: none;
}

.price-card__list li {
  position: relative;

  min-width: 0;

  margin: 0;

  padding-left: 24px;

  color: var(--color-text);

  font-size: 12px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}

.price-card__list li + li {
  margin-top: 0;
}

.price-card__list li::before {
  content: "✓";

  position: absolute;

  top: 0;
  left: 0;

  color: var(--color-main);

  font-size: 13px;
}


/* ========================================
   Card Note
======================================== */

.price-card__note {
  margin:
    24px
    0
    0;

  padding-top: 18px;

  border-top: 1px solid var(--color-border);

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Price Guide Note
======================================== */

.price-guide__note {
  margin:
    24px
    0
    0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Price Comparison
======================================== */

.price-comparison {
  padding:
    78px
    0
    110px;

  background-color: var(--color-bg);
}


/* ========================================
   Comparison Heading
======================================== */

.price-comparison__heading {
  margin-bottom: 32px;

  text-align: center;
}

.price-comparison__title {
  position: relative;

  margin: 0;

  padding-bottom: 18px;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}

.price-comparison__title::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 50%;

  width: 30px;
  height: 1px;

  background-color: var(--color-main);

  transform: translateX(-50%);
}


/* ========================================
   Comparison Table
======================================== */

.price-comparison__table-wrap {
  width: 100%;

  overflow-x: auto;
}

.price-comparison__table {
  width: 100%;

  border-collapse: collapse;

  table-layout: fixed;

  background-color: var(--color-bg);
}

.price-comparison__table th,
.price-comparison__table td {
  padding:
    16px
    18px;

  border: 1px solid var(--color-border);

  vertical-align: middle;

  font-size: 12px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}

.price-comparison__table thead th {
  background-color: var(--color-bg-sub);

  color: var(--color-main);

  font-weight: 500;

  text-align: center;
}

.price-comparison__table thead th:first-child {
  width: 18%;
}

.price-comparison__table thead th:nth-child(2),
.price-comparison__table thead th:nth-child(3) {
  width: 41%;
}

.price-comparison__table tbody th {
  background-color: #fbfbfa;

  color: var(--color-text);

  font-weight: 400;

  text-align: left;
}

.price-comparison__table tbody td {
  color: var(--color-text-sub);

  text-align: center;
}


/* ========================================
   Comparison Note
======================================== */

.price-comparison__note {
  margin:
    22px
    0
    0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Included
======================================== */

.price-included {
  padding:
    88px
    0
    96px;

  background-color: var(--color-bg-sub);
}


/* ========================================
   Included Heading
======================================== */

.price-included__heading {
  margin-bottom: 52px;

  text-align: center;
}

.price-included__title {
  position: relative;

  margin: 0;

  padding-bottom: 18px;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}

.price-included__title::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 50%;

  width: 30px;
  height: 1px;

  background-color: var(--color-main);

  transform: translateX(-50%);
}

.price-included__lead {
  margin:
    20px
    0
    0;

  color: var(--color-text-sub);

  font-size: 12px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Included Grid
======================================== */

.price-included__grid {
  display: grid;

  grid-template-columns:
    repeat(6, minmax(0, 1fr));
}


/* ========================================
   Included Item
======================================== */

.price-included-item {
  min-width: 0;

  padding:
    10px
    20px
    14px;

  text-align: center;
}

.price-included-item + .price-included-item {
  border-left: 1px solid var(--color-border);
}


/* ========================================
   Included Icon
======================================== */

.price-included-item__icon {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;

  margin:
    0
    auto
    18px;
}

.price-included-item__icon img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


/* ========================================
   Included Title
======================================== */

.price-included-item__title {
  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Included Text
======================================== */

.price-included-item__text {
  margin:
    14px
    0
    0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Options
======================================== */

.price-options {
  padding:
    88px
    0
    96px;

  background-color: var(--color-bg);
}


/* ========================================
   Options Heading
======================================== */

.price-options__heading {
  margin-bottom: 52px;

  text-align: center;
}

.price-options__title {
  position: relative;

  margin: 0;

  padding-bottom: 18px;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}

.price-options__title::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 50%;

  width: 30px;
  height: 1px;

  background-color: var(--color-main);

  transform: translateX(-50%);
}

.price-options__lead {
  margin:
    20px
    0
    0;

  color: var(--color-text-sub);

  font-size: 12px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Options Grid
======================================== */

.price-options__grid {
  display: grid;

  grid-template-columns:
    repeat(6, minmax(0, 1fr));
}


/* ========================================
   Option Item
======================================== */

.price-option-item {
  min-width: 0;

  padding:
    10px
    20px
    14px;

  text-align: center;
}

.price-option-item + .price-option-item {
  border-left: 1px solid var(--color-border);
}


/* ========================================
   Option Icon
======================================== */

.price-option-item__icon {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;

  margin:
    0
    auto
    18px;
}

.price-option-item__icon img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}


/* ========================================
   Option Title
======================================== */

.price-option-item__title {
  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Option Text
======================================== */

.price-option-item__text {
  margin:
    14px
    0
    0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Options Note
======================================== */

.price-options__note {
  margin:
    28px
    0
    0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.8;
  letter-spacing: var(--letter-spacing-base);

  text-align: center;
}


/* ========================================
   Support
======================================== */

.price-support {
  padding:
    92px
    0
    100px;

  border-top: 1px solid var(--color-border);

  background-color: var(--color-bg);
}


/* ========================================
   Support Heading
======================================== */

.price-support__heading {
  max-width: 820px;

  margin:
    0
    auto
    54px;

  text-align: center;
}

.price-support__en {
  margin:
    0
    0
    12px;

  color: #8298b1;

  font-family: var(--font-heading);
  font-size: 11px;

  line-height: 1.5;
  letter-spacing: 0.22em;
}

.price-support__title {
  position: relative;

  margin: 0;

  padding-bottom: 20px;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}

.price-support__title::after {
  content: "";

  position: absolute;

  bottom: 0;
  left: 50%;

  width: 32px;
  height: 1px;

  background-color: var(--color-main);

  transform: translateX(-50%);
}

.price-support__lead {
  margin:
    24px
    0
    0;

  color: var(--color-text-sub);

  font-size: 13px;

  line-height: 2;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Support Grid
======================================== */

.price-support__grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 26px;

  max-width: 1100px;

  margin:
    0
    auto;
}


/* ========================================
   Support Card
======================================== */

.price-support-card {
  position: relative;

  min-width: 0;

  overflow: hidden;

  border: 1px solid rgba(13, 42, 77, 0.08);

  background-color: var(--color-bg);

  box-shadow:
    0 12px 34px
    rgba(13, 42, 77, 0.06);
}

.price-support-card--main {
  border-color: rgba(13, 42, 77, 0.18);
}


/* ========================================
   Support Recommend
======================================== */

.price-support-card__recommend {
  position: absolute;

  top: 0;
  right: 0;

  z-index: 2;

  padding:
    9px
    20px;

  background-color: var(--color-main);

  color: var(--color-white);

  font-size: 11px;

  line-height: 1.4;
  letter-spacing: 0.12em;
}


/* ========================================
   Support Visual
======================================== */

.price-support-card__visual {
  width: 100%;

  aspect-ratio: 16 / 6.5;

  overflow: hidden;

  background-color: var(--color-bg-sub);
}

.price-support-card__visual img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}


/* ========================================
   Support Body
======================================== */

.price-support-card__body {
  padding:
    30px
    40px
    38px;
}


/* ========================================
   Support Number
======================================== */

.price-support-card__number {
  display: flex;

  align-items: center;

  gap: 14px;

  margin:
    0
    0
    10px;

  color: var(--color-text-sub);

  font-family: var(--font-heading);
  font-size: 13px;

  line-height: 1.5;
  letter-spacing: 0.12em;
}

.price-support-card__number::after {
  content: "";

  display: block;

  width: 34px;
  height: 1px;

  background-color: var(--color-border);
}


/* ========================================
   Support Title
======================================== */

.price-support-card__title {
  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-heading);
}


/* ========================================
   Support Description
======================================== */

.price-support-card__description {
  margin:
    14px
    0
    0;

  color: var(--color-text-sub);

  font-size: 12px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}


/* ========================================
   Support Price
======================================== */

.price-support-card__price {
  display: flex;

  align-items: center;

  gap: 18px;

  margin-top: 24px;

  padding:
    18px
    0;

  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.price-support-card__price-label {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  min-height: 40px;

  padding:
    8px
    16px;

  background-color: #eef3f8;

  color: var(--color-main);

  font-size: 12px;
  font-weight: 500;

  line-height: 1.6;
  letter-spacing: var(--letter-spacing-base);
}

.price-support-card__price-value {
  display: flex;

  align-items: baseline;

  flex-wrap: wrap;

  gap: 6px;

  margin: 0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 31px;
  font-weight: 400;

  line-height: 1.4;
  letter-spacing: 0.04em;
}

.price-support-card__tax {
  color: var(--color-text-sub);

  font-family: var(--font-base);
  font-size: 10px;
  font-weight: 400;

  line-height: 1.6;
}


/* ========================================
   Support Content
======================================== */

.price-support-card__content-title {
  margin:
    22px
    0
    0;

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 14px;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-base);
}

.price-support-card__list {
  margin:
    16px
    0
    0;

  padding: 0;

  list-style: none;
}

.price-support-card__list li {
  position: relative;

  margin: 0;

  padding-left: 24px;

  color: var(--color-text);

  font-size: 12px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}

.price-support-card__list li + li {
  margin-top: 8px;
}

.price-support-card__list li::before {
  content: "✓";

  position: absolute;

  top: 0;
  left: 0;

  color: var(--color-main);

  font-size: 13px;
}


/* ========================================
   Support Notice
======================================== */

.price-support__notice {
  display: grid;

  grid-template-columns:
    190px
    minmax(0, 1fr);

  align-items: center;

  gap: 30px;

  max-width: 1100px;

  margin:
    30px
    auto
    0;

  padding:
    22px
    30px;

  background-color: #f7f7f5;
}

.price-support__notice-title {
  margin: 0;

  padding-right: 30px;

  border-right: 1px solid var(--color-border);

  color: var(--color-main);

  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 400;

  line-height: 1.7;
  letter-spacing: var(--letter-spacing-base);
}

.price-support__notice-text p {
  margin: 0;

  color: var(--color-text-sub);

  font-size: 11px;

  line-height: 1.9;
  letter-spacing: var(--letter-spacing-base);
}

.price-support__notice-text p + p {
  margin-top: 3px;
}


/* ========================================
   Tablet
======================================== */

@media screen and (max-width: 1024px) {

  .price-guide {
    padding:
      76px
      0
      76px;
  }

  .price-guide__heading {
    margin-bottom: 48px;
  }

  .price-guide__title {
    font-size: 25px;
  }

  .price-card__visual {
    aspect-ratio: 16 / 7.5;
  }

  .price-card__body {
    padding:
      30px
      30px
      34px;
  }

  .price-card__title {
    font-size: 20px;
  }

  .price-card__price {
    align-items: center;

    gap: 14px;
  }

  .price-card__price-label {
    min-height: 38px;

    padding:
      7px
      14px;
  }

  .price-card__price-value {
    font-size: 26px;
  }

  .price-card__list {
    display: block;
  }

  .price-card__list li + li {
    margin-top: 8px;
  }


  .price-comparison {
    padding:
      72px
      0
      90px;
  }

  .price-comparison__table {
    min-width: 760px;
  }


  .price-included {
    padding:
      76px
      0
      82px;
  }

  .price-included__grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .price-included-item {
    padding:
      24px
      20px;
  }

  .price-included-item:nth-child(4) {
    border-left: 0;
  }

  .price-included-item:nth-child(n + 4) {
    margin-top: 28px;
  }


  .price-options {
    padding:
      76px
      0
      82px;
  }

  .price-options__grid {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .price-option-item {
    padding:
      24px
      20px;
  }

  .price-option-item:nth-child(4) {
    border-left: 0;
  }

  .price-option-item:nth-child(n + 4) {
    margin-top: 28px;
  }


  .price-support {
    padding:
      80px
      0
      86px;
  }

  .price-support__heading {
    margin-bottom: 46px;
  }

  .price-support__title {
    font-size: 25px;
  }

  .price-support-card__body {
    padding:
      28px
      30px
      34px;
  }

  .price-support-card__title {
    font-size: 20px;
  }

  .price-support-card__price-value {
    font-size: 27px;
  }

  .price-support__notice {
    grid-template-columns:
      160px
      minmax(0, 1fr);

    gap: 24px;
  }

}


/* ========================================
   Smartphone
======================================== */

@media screen and (max-width: 768px) {

  .price-guide {
    padding:
      60px
      0
      64px;
  }

  .price-guide__heading {
    margin-bottom: 36px;

    text-align: left;
  }

  .price-guide__en {
    margin-bottom: 10px;
  }

  .price-guide__title {
    padding-bottom: 18px;

    font-size: 21px;

    letter-spacing: 0.04em;

    text-wrap: balance;
  }

  .price-guide__title::after {
    left: 0;

    transform: none;
  }

  .price-guide__lead {
    margin-top: 20px;
  }

  .price-guide__lead br {
    display: none;
  }

  .price-guide__grid {
    display: block;
  }

  .price-card + .price-card {
    margin-top: 20px;
  }

  .price-card__visual {
    aspect-ratio: 16 / 9;
  }

  .price-card__body {
    padding:
      26px
      24px
      30px;
  }

  .price-card__recommend {
    padding:
      8px
      14px;

    font-size: 10px;
  }

  .price-card__number {
    gap: 12px;
  }

  .price-card__number::after {
    width: 28px;
  }

  .price-card__title {
    padding-right: 60px;

    font-size: 19px;
  }

  .price-card__description br {
    display: none;
  }

  .price-card__price {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 24px;
  }

  .price-card__price-label {
    min-height: 36px;

    padding:
      6px
      12px;

    font-size: 11px;
  }

  .price-card__price-value {
    font-size: 25px;
  }

  .price-card__tax {
    font-size: 9px;
  }

  .price-card__list {
    display: block;

    margin-top: 22px;
  }

  .price-card__list li {
    font-size: 12px;
  }

  .price-card__list li + li {
    margin-top: 8px;
  }

  .price-guide__note {
    margin-top: 20px;
  }


  /* Comparison */

  .price-comparison {
    padding:
      60px
      0
      72px;
  }

  .price-comparison__heading {
    margin-bottom: 26px;

    text-align: left;
  }

  .price-comparison__title {
    font-size: 20px;
  }

  .price-comparison__title::after {
    left: 0;

    transform: none;
  }

  .price-comparison__table {
    min-width: 720px;
  }

  .price-comparison__table th,
  .price-comparison__table td {
    padding:
      14px
      15px;

    font-size: 11px;
  }

  .price-comparison__note {
    font-size: 10.5px;

    line-height: 1.9;
    letter-spacing: 0.01em;

    text-wrap: pretty;
  }


  /* Included */

  .price-included {
    padding:
      60px
      0
      68px;
  }

  .price-included__heading {
    margin-bottom: 36px;

    text-align: left;
  }

  .price-included__title {
    font-size: 20px;
  }

  .price-included__title::after {
    left: 0;

    transform: none;
  }

  .price-included__lead {
    margin-top: 18px;
  }

  .price-included__grid {
    display: block;
  }

  .price-included-item {
    padding:
      24px
      0;

    text-align: left;
  }

  .price-included-item + .price-included-item {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .price-included-item__icon {
    width: 56px;
    height: 56px;

    margin:
      0
      0
      16px;
  }

  .price-included-item__title {
    font-size: 17px;
  }

  .price-included-item__text {
    font-size: 11px;

    line-height: 1.9;
    letter-spacing: 0.01em;

    text-wrap: pretty;
  }

  .price-included-item__text br {
    display: none;
  }


  /* Options */

  .price-options {
    padding:
      60px
      0
      68px;
  }

  .price-options__heading {
    margin-bottom: 36px;

    text-align: left;
  }

  .price-options__title {
    font-size: 20px;
  }

  .price-options__title::after {
    left: 0;

    transform: none;
  }

  .price-options__lead {
    margin-top: 18px;
  }

  .price-options__grid {
    display: block;
  }

  .price-option-item {
    padding:
      24px
      0;

    text-align: left;
  }

  .price-option-item + .price-option-item {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .price-option-item:last-child {
  border-bottom: 1px solid var(--color-border);
  }

  .price-option-item__icon {
    width: 56px;
    height: 56px;

    margin:
      0
      0
      16px;
  }

  .price-option-item__title {
    font-size: 17px;
  }

  .price-option-item__text {
    font-size: 11px;

    line-height: 1.9;
    letter-spacing: 0.01em;

    text-wrap: pretty;
  }

  .price-option-item__text br {
    display: none;
  }

  .price-options__note {
    font-size: 10.5px;

    line-height: 1.9;
    letter-spacing: 0.01em;

    text-align: left;
    text-wrap: pretty;
  }


  /* Support */

  .price-support {
    padding:
      64px
      0
      70px;
  }

  .price-support__heading {
    margin-bottom: 36px;

    text-align: left;
  }

  .price-support__en {
    margin-bottom: 10px;
  }

  .price-support__title {
    padding-bottom: 18px;

    font-size: 21px;
  }

  .price-support__title::after {
    left: 0;

    transform: none;
  }

  .price-support__lead {
    margin-top: 20px;
  }

  .price-support__lead br {
    display: none;
  }

  .price-support__grid {
    display: block;
  }

  .price-support-card + .price-support-card {
    margin-top: 22px;
  }

  .price-support-card__visual {
    aspect-ratio: 16 / 8.5;
  }

  .price-support-card__body {
    padding:
      26px
      24px
      30px;
  }

  .price-support-card__recommend {
    padding:
      8px
      14px;

    font-size: 10px;
  }

  .price-support-card__number {
    gap: 12px;
  }

  .price-support-card__number::after {
    width: 28px;
  }

  .price-support-card__title {
    padding-right: 50px;

    font-size: 19px;
  }

  .price-support-card__description {
    font-size: 12px;
  }

  .price-support-card__price {
    gap: 12px;

    margin-top: 22px;
  }

  .price-support-card__price-label {
    min-height: 36px;

    padding:
      6px
      12px;

    font-size: 11px;
  }

  .price-support-card__price-value {
    font-size: 25px;
  }

  .price-support-card__tax {
    font-size: 9px;
  }

  .price-support-card__content-title {
    font-size: 15px;
  }

  .price-support-card__list li {
    font-size: 12px;
  }

  .price-support__notice {
    display: block;

    margin-top: 22px;

    padding:
      22px
      20px;
  }

  .price-support__notice-title {
    padding:
      0
      0
      14px;

    border-right: 0;
    border-bottom: 1px solid var(--color-border);

    font-size: 15px;
  }

  .price-support__notice-text {
    margin-top: 14px;
  }

}