﻿@charset "UTF-8";
ul, ol, li {
  list-style: none;
}

.strong {
  color: var(--color-primary);
}

@media (min-width: 769px) {
  .block-subscr-title {
    font-size: 22px;
  }
}

/* ----- top ----- */
.block-subscr-top {
  padding: 56px 16px;
  background-color: #fff;
}

.block-subscr-top--inner {
  max-width: 1020px;
}

.block-subscr-top--head {
  margin-bottom: 24px;
  border: 1px solid var(--color-primary2);
  padding: 4px;
}

.block-subscr-top--title {
  background-color: var(--color-primary2);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 14px 0;
  text-align: center;
}

.block-subscr-top--title-sub {
  font-size: 20px;
}

.block-subscr-top--title-main {
  font-size: 22px;
}

.block-subscr-top--lead {
  margin-bottom: 24px;
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-top--nav {
  padding: 24px 8px;
  background-color: #F5F5F5;
}

.block-subscr-top--nav-head {
  padding-bottom: 10px;
  margin-bottom: 24px;
  text-align: center;
}

.block-subscr-top--nav-title {
  position: relative;
  background: none;
  border-bottom: 1px solid #222;
  width: fit-content;
  font-size: 16px;
  margin: auto;
  padding: 0 0 6px;
}

.block-subscr-top--nav-title::after {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid var(--color-default);
  border-bottom: 0;
}

.block-subscr-top--nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.block-subscr-top--nav-item {
  width: calc(50% - 4px);
}

.block-subscr-top--nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border: 2px solid var(--color-primary);
  border-radius: 50vh;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 500;
  background: #fff url(../img/introduction/simulation/icon_nav_down.svg) no-repeat top 50% right 16px;
  background-size: 11px 14px;
  padding: 10px 18px;
  min-height: 58px;
}

@media (min-width: 769px) {
  .block-subscr-top {
    padding: 56px 16px;
  }

  .block-subscr-top--head {
    margin-bottom: 16px;
  }

  .block-subscr-top--lead {
    margin-bottom: 16px;
  }

  .block-subscr-top--nav {
    padding: 24px 52px;
  }

  .block-subscr-top--nav-head {
    margin-bottom: 16px;
  }

  .block-subscr-top--nav-item {
    width: calc((100% / 3) - 6px);
  }

  .block-subscr-top--nav-link {
    transition: var(--transition-opacity);
  }

  .block-subscr-top--nav-link:is(:hover, :focus) {
    text-decoration: none;
    opacity: .8;
  }
}

/* ----- course ----- */
.block-subscr-course {
  padding: 40px 24px;
  background-color: var(--bgcolor1);
}

.block-subscr-course--inner {
  max-width: 1020px;
}

.block-subscr-course--lead {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 32px;
}

.block-subscr-course--lead > p {
  margin-bottom: 8px;
}

.block-subscr-course--note {
  font-size: 11px;
  font-weight: normal;
  text-align: right;
}

.block-subscr-course--lead > :last-child {
  margin-bottom: 0;
}

.block-subscr-course--grid {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.block-subscr-course--item {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0, 0, 0, .08);
  overflow: hidden;
}

.block-subscr-course--item-title {
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0;
  padding: 8px;
}

.block-subscr-course--item.-type01 {
  border: 1px solid #B0AAA3;
}

.block-subscr-course--item.-type01 .block-subscr-course--item-title {
  background-color: #B0AAA3;
}

.block-subscr-course--item.-type02 {
  border: 1px solid #BFBFBF;
}

.block-subscr-course--item.-type02 .block-subscr-course--item-title {
  background-color: #BFBFBF;
}

.block-subscr-course--detail {
  padding: 24px 16px;
}

.block-subscr-course--detail > :last-child {
  margin-bottom: 0;
}

.block-subscr-course--detail-unit {
  margin-bottom: 16px;
}

.block-subscr-course--detail-title {
  margin-bottom: 6px;
  padding-left: 12px;
  font-size: 14px;
  font-weight: 500;
  background: url(../img/icon_title_border.svg) no-repeat 0 0;
}

.block-subscr-course--detail-desc {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-course--detail-list > li {
  display: flex;
  align-items: start;
  gap: 2px;
}

.block-subscr-course--detail-list > li::before {
  content: "・";
}

.block-subscr-course--detail-note {
  font-size: 10px;
}

@media (min-width: 769px) {
  .block-subscr-course {
    padding: 40px 16px;
  }

  .block-subscr-course--lead {
    margin-bottom: 24px;
  }

  .block-subscr-course--lead > p {
    margin-bottom: 0;
  }

  .block-subscr-course--note {
    text-align: left;
  }

  .block-subscr-course--grid {
    flex-direction: row;
  }

  .block-subscr-course--item {
    width: calc((100% / 2) - 12px);
  }
}

/* ----- tab ----- */
.block-subscr-plan-tabs {}

.block-subscr-plan-tabs--list {
  display: flex;
  justify-content: center;
  padding-inline: 16px;
}

.block-subscr-plan-tabs--list > li {
  flex-grow: 1;
}

.block-subscr-plan-tabs--button {
  appearance: none;
  background-color: #D6D6D6;
  border: 0;
  border-top: 1px solid #BFBFBF;
  border-left: 1px solid #BFBFBF;
  padding: 10px 26px;
  color: var(--color-default);
  font-size: 16px;
  font-weight: bold;
  color: #969696;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.block-subscr-plan-tabs--list > li:last-child .block-subscr-plan-tabs--button {
  border-right: 1px solid #BFBFBF;
}

.block-subscr-plan-tabs--button.is-active {
  position: relative;
  color: var(--color-default);
  background-color: #fff;
}

.block-subscr-plan-tabs--button.is-active::after {
  display: block;
  content: "";
  width: calc(100% - 26px - 26px);
  height: 2px;
  background-color: var(--color-primary);
  position: absolute;
  bottom: 0;
  left: 26px;
}

.block-subscr-plan-tabs--content {
  display: none;
  padding: 24px 24px 0;
  background-color: #fff;
}

.block-subscr-plan-tabs--content.is-active {
  display: block;
}

@media (min-width: 769px) {
  .block-subscr-plan-tabs {}

  .block-subscr-plan-tabs--list {
    padding-inline: 0;
  }

  .block-subscr-plan-tabs--list > li {
    height: 56px;
  }

  .block-subscr-plan-tabs--button {
    transition: var(--transition-opacity);
    cursor: pointer;
  }

  .block-subscr-plan-tabs--button:is(:hover, :focus) {
    opacity: .8;
  }

  .block-subscr-plan-tabs--button.is-active::after {
    width: 90px;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* ----- calc ----- */
.block-subscr-calc {
  padding-block: 40px;
  background-color: #F5F5F5;
}

.block-subscr-calc--inner {
  max-width: 1020px;
}

.block-subscr-calc .block-subscr-plan-tabs--content {
  padding-inline: 16px;
}

/* 定額サービス料金シミュレーター */
.block-subscr-calc--detail {
  padding-bottom: 24px;
}

.block-subscr-calc--detail-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 16px;
  padding-left: 16px;
  background: url(../img/icon_title_dot.svg) no-repeat top 2px left 0;
}

.block-subscr-calc--detail-title-main {}

.block-subscr-calc--detail-title-sub a {
  font-size: 12px;
  color: var(--color-link);
}

.block-subscr-calc--detail-actions {
  margin-bottom: 24px;
}

.block-subscr-calc--detail-actions > :last-child {
  margin-bottom: 0;
}

.block-subscr-calc--detail-form {
  margin-bottom: 8px;
}

.block-subscr-calc--detail-form-label {
  font-size: 14px;
}

.block-subscr-calc--detail-form .years-input {
  width: 100%;
}

.block-subscr-calc--detail-form .quantity-input {
  width: 110px;
}

.block-subscr-calc--detail-form select {
  width: 100%;
}

.block-subscr-calc--detail-main-note {
  text-align: right;
  font-size: 10px;
  margin-bottom: 6px;
}

.block-subscr-calc--detail-main-title {
  background-color: #B0AAA3;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 4px;
}

.block-subscr-calc--detail-main-item {
  display: flex;
  border-bottom: 1px solid #E4E1DC;
}

.block-subscr-calc--detail-main-thumb,
.block-subscr-calc--detail-main-info {
  flex: 1 1 auto;
}

.block-subscr-calc--detail-main-thumb {
  width: 41%;
  padding: 10px 4px;
  text-align: center;
}

.block-subscr-calc--detail-main-thumb .product-name {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-calc--detail-main-thumb .product-name-sub {
  font-size: 10px;
}

.block-subscr-calc--detail-main-thumb img {
  height: 60px;
}

.block-subscr-calc--detail-main-info {
  width: 59%;
}

.block-subscr-calc--detail-main-course {
  display: flex;
  align-items: center;
  height: 50%;
  text-align: center;
  position: relative;
}

.block-subscr-calc--detail-main-course.-reasonable {
  background-color: #F5F5F5;
}

.block-subscr-calc--detail-main-course.-new:last-child {
  height: 100%;
}

.block-subscr-calc--detail-main-course .course-label,
.block-subscr-calc--detail-main-course .course-price {
  width: 50%;
}

.block-subscr-calc--detail-main-course::after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  background-color: #B0AAA3;
  position: absolute;
  top: 0;
  left: 50%;
}

@media (min-width: 769px) {
  .block-subscr-calc {}

  .block-subscr-calc--detail-main-thumb {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding: 4px 0 0;
    height: 136px;
  }

  .block-subscr-calc--detail-main-thumb .product-name {
    line-height: 1.2;
  }

  .block-subscr-calc--detail-main-thumb img {
    height: 72px;
  }
}

/* ----- discount subscription ----- */
.block-subscr-discount-subs {
  padding: 40px 24px;
  background-color: #F5F5F5;
}

.block-subscr-discount-subs--title-main {
  font-size: 22px;
}

.block-subscr-discount-subs--text {
  margin-bottom: 24px;
  text-align: center;
}

.block-subscr-discount-subs--text strong {
  color: var(--color-primary);
  font-weight: 500;
}

.block-subscr-discount-subs--text strong > span {
  font-size: 20px;
  font-weight: bold;
}

.block-subscr-discount-subs--thumb {
  text-align: center;
  line-height: 1;
}

.block-subscr-discount-subs--thumb img {
  display: block;
}

@media (min-width: 769px) {
  .block-subscr-discount-subs {
    padding: 40px 0;
  }

  .block-subscr-discount-subs--thumb {
    margin: auto;
    max-width: 382px;
  }
}

/* ----- rental ----- */
.block-subscr-rental {
  padding-top: 40px;
  background-color: var(--bgcolor1);
}

.block-subscr-rental > :last-child {
  margin-bottom: 0;
}

.block-subscr-rental .block-subscr-plan-tabs--content {
  padding-bottom: 32px;
}

.block-subscr-rental--inner {}

.block-subscr-rental--title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.block-subscr-rental--title-sub {
  font-size: 16px;
}

.block-subscr-rental--title-main {
  font-size: 22px;
}

.block-subscr-rental--note {
  font-size: 10px;
  margin-bottom: 32px;
  text-align: center;
}

.block-subscr-rental--detail {
  padding-top: 15px;
}

.block-subscr-rental--detail-prices {
  margin: 0 0 32px;
  border: 2px solid #D6D6D6;
  border-radius: 8px;
  position: relative;
  padding: 26px 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
}

.block-subscr-rental--detail-prices::after {
  display: block;
  content: "";
  width: 12px;
  height: 32px;
  background: url(../img/introduction/simulation/icon_rental_arrow_down.svg) no-repeat 0 0;
  background-size: 100% auto;
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}

.block-subscr-rental--detail-prices-title {
  font-size: 20px;
  font-weight: bold;
  width: fit-content;
  background-color: #fff;
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding-inline: 16px;
  height: 30px;
  white-space: nowrap;
}

.block-subscr-rental--detail-prices-unit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
}

.block-subscr-rental--detail-prices-num {
  position: relative;
}

.block-subscr-rental--detail-prices-num::after {
  position: absolute;
  right: -24px;
  top: 50%;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background: url(../img/introduction/simulation/icon_rental_plus.svg) no-repeat 0 0 ;
  background-size: 100% auto;
  transform: translateY(-50%);
}

.block-subscr-rental--detail-prices-num > strong {
  font-size: 36px;
  font-weight: bold;
}

.block-subscr-rental--detail-prices-num .yen {
  font-size: 16px;
  font-weight: bold;
}

.block-subscr-rental--detail-prices-num > span:not([class]) {
  font-size: 10px;
}

.block-subscr-rental--detail-prices-fee {
  position: relative;
  background-color: #B0AAA3;
  color: #fff;
  border-radius: 4px;
  font-size: 18px;
  font-weight: bold;
  padding: 2px 8px 3px;
}

.block-subscr-rental--detail-prices-fee .fee-label {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-rental--detail-prices-fee .yen {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-rental--detail-prices-fee > span:not([class]) {
  font-size: 10px;
  font-weight: normal;
}

.block-subscr-rental--detail-prices-label {
  text-align: center;
  background-color: #787878;
  color: #fff;
  padding: 2px 20px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 4px;
  width: fit-content;
}

/* お試しレンタル料金：無料条件 */
.block-subscr-rental--detail-condition {
  margin: 0 16px 32px;
}

.block-subscr-rental--detail-condition-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #8A857E;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #D6D6D6;
  margin-bottom: 6px;
  padding-bottom: 6px;
}

.block-subscr-rental--detail-condition-title::before,
.block-subscr-rental--detail-condition-title::after {
  display: block;
  content: "";
  width: 9px;
  height: 9px;
  background: url(../img/introduction/simulation/icon_title_rect.svg) no-repeat 0 0;
  background-size: 100% auto;
}

.block-subscr-rental--detail-condition-text {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 6px;
  text-align: center;
}

.block-subscr-rental--detail-condition-text .strong {
  font-weight: 500;
}

.block-subscr-rental--detail-condition-label {
  text-align: center;
  background-color: #787878;
  color: #fff;
  padding: 4px 20px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 4px;
}

/* お試しレンタル料金：割引対象外 */
.block-subscr-rental--detail-attention {
  margin: 0 16px 32px;
  padding: 10px 16px;
  background-color: var(--bgcolor1);
  font-weight: 500;
}

.block-subscr-rental--detail-attention-title {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-rental--detail-attention-title::before {
  content: "■";
  color: var(--color-primary);
}

.block-subscr-rental--detail-attention-list > li {
  display: flex;
  align-items: start;
  gap: 2px;
  line-height: 1.8;
  font-size: 12px;
}

.block-subscr-rental--detail-attention-list > li::before {
  content: "・";
}

.block-subscr-rental--detail-attention-list a {
  color: var(--color-link);
}

/* お試しレンタル料金：サービス概要 */
.block-subscr-rental--detail-rental > :last-child {
  margin-bottom: 0;
}

.block-subscr-rental--detail-rental-unit {
  padding-inline: 16px;
  margin-bottom: 32px;
}

.block-subscr-rental--detail-rental-title {
  margin-bottom: 6px;
  padding-left: 12px;
  font-size: 14px;
  font-weight: 500;
  background: url(../img/icon_title_border.svg) no-repeat 0 3px;
}

.block-subscr-rental--detail-rental-text {
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-rental--detail-rental-text > p {
  margin-bottom: 6px;
}

.block-subscr-rental--detail-rental-text .strong {
  font-weight: 500;
}

.block-subscr-rental--detail-rental-text .strong > span {
  font-size: 32px;
  line-height: 1;
}

.block-subscr-rental--detail-rental-point {
  padding: 10px 16px;
  background-color: var(--bgcolor1);
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-rental--detail-rental-note {
  font-size: 10px;
}

.block-subscr-rental--detail-rental-unit > :last-child,
.block-subscr-rental--detail-rental-text > :last-child {
  margin-bottom: 0;
}

/**/
.block-subscr-rental--detail-rental-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
}

.block-subscr-rental--detail-rental-thumb {
  text-align: center;
  line-height: 1;
  border-radius: 8px;
  width: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, .08);
  padding: 10px 14px;
}

.block-subscr-rental--detail-rental-thumb-title {
  margin-bottom: 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

.block-subscr-rental--detail-rental-thumb img {
  height: 84px;
  display: block;
  margin: auto;
}

@media (min-width: 769px) {
  .block-subscr-rental {}

  .block-subscr-rental--inner {
    max-width: none;
  }

  .block-subscr-rental--note {
    margin-bottom: 24px;
  }

  .block-subscr-rental .block-subscr-plan-tabs--list > li {
    max-width: 510px;
  }

  .block-subscr-rental .block-subscr-rental--detail {
    max-width: 1020px;
    margin: auto;
  }

  .block-subscr-rental--detail-prices {
    width: 382px;
    margin: 0 auto 24px;
  }

  .block-subscr-rental--detail-condition {
    width: fit-content;
    margin: 0 auto 24px;
  }

  .block-subscr-rental--detail-condition-label {
    width: fit-content;
    margin: auto;
  }

  .block-subscr-rental--detail-attention {
    margin: 0 auto 24px;
  }

  .block-subscr-rental--detail-rental-unit {
    padding-inline: 0;
    margin-bottom: 24px;
  }

  .block-subscr-rental--detail-rental-thumbs {
    flex-direction: row;
  }

  .block-subscr-rental--detail-rental-thumb {
    width: calc((100% / 5) - 6px);
  }

  .block-subscr-rental--detail-rental-thumb img {
    height: auto;
  }
}

/* ----- cancel ----- */
.block-subscr-cancel {
  padding-block: 40px;
  background-color: #F5F5F5;
}

.block-subscr-cancel--inner {
  max-width: 1020px;
}

.block-subscr-cancel--inner > :last-child {
  margin-bottom: 0;
}

/* 解約と買取について：概要 */
.block-subscr-cancel--unit {
  margin-bottom: 40px;
}

.block-subscr-cancel--lead {
  font-size: 14px;
  font-weight: 500;
  padding-inline: 40px;
  margin-bottom: 32px;
  line-height: 1.8;
}

.block-subscr-cancel--lead .strong > span {
  font-size: 20px;
  font-weight: bold;
}

.block-subscr-cancel--grid {
  padding-inline: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows:
    auto
    auto
    auto;
  gap: 8px;
}

.block-subscr-cancel--item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 16px;
  background-color: #fff;
  border: 1px solid #ABABAB;
  border-radius: 8px;
  overflow: hidden;
  padding-bottom: 16px;
  box-shadow: 0 0 8px rgba(0, 0, 0, .08);
}

.block-subscr-cancel--item-title {
  grid-row: 1;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 10px;
}

.block-subscr-cancel--item-unit {
  padding-inline: 16px;
  text-align: center;
}

.block-subscr-cancel--item-unit:nth-of-type(2) {
  grid-row: 2;
}

.block-subscr-cancel--item-unit:nth-of-type(3) {
  grid-row: 3;
}

.block-subscr-cancel--item-unit-label {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin-bottom: 6px;
}

.block-subscr-cancel--item-unit-lead {
  margin-bottom: 6px;
  font-weight: 500;
}

.block-subscr-cancel--item-unit-text {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-cancel--item-unit-text .strong > span {
  font-weight: bold;
  font-size: 20px;
}

.block-subscr-cancel--item.-type01 .block-subscr-cancel--item-title,
.block-subscr-cancel--item.-type01 .block-subscr-cancel--item-unit-label {
  background-color: #BFBFBF;
}

.block-subscr-cancel--item.-type02 .block-subscr-cancel--item-title,
.block-subscr-cancel--item.-type02 .block-subscr-cancel--item-unit-label {
  background-color: #B0AAA3;
}

.block-subscr-cancel--item.-type02 .block-subscr-cancel--item-unit-text {
  font-weight: 500;
}

.block-subscr-cancel--item.-type02 .block-subscr-cancel--item-unit-lead {
  font-size: 16px;
  font-weight: bold;
  color: var(--color-primary);
}

/**/
.block-subscr-cancel--title {
  display: flex;
  flex-direction: column;
}

.block-subscr-cancel--title-sub {
  font-size: 16px;
}

@media (min-width: 769px) {
  .block-subscr-cancel {}

  .block-subscr-cancel--lead {
    padding-inline: 0;
    margin-bottom: 24px;
  }

  .block-subscr-cancel--grid {
    padding-inline: 0;
  }

  .block-subscr-cancel--item-title {
    padding: 8px;
    line-height: 1;
  }
}

/* ----- regular ----- */
.block-subscr-regular {
  padding: 40px 0 64px;
  background-color: #fff;
}

.block-subscr-regular--inner {
  max-width: 1020px;
}

.block-subscr-regular--title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}

.block-subscr-regular--title-main {
  font-size: 22px;
}

.block-subscr-regular--title-sub {
  font-size: 16px;
}

/* 通常料金：タブ内コンテンツ */
.block-subscr-regular--detail {
  max-width: 972px;
  margin: auto;
}

.block-subscr-regular--detail-unit.-first + .block-subscr-regular--detail-unit {
  margin-top: 24px;
}

.block-subscr-regular--detail-unit-title {
  background-color: #B0AAA3;
  color: #fff;
  text-align: center;
  margin-bottom: 8px;
  padding: 4px;
  font-size: 16px;
  font-weight: bold;
}

.block-subscr-regular--detail-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.block-subscr-regular--detail-item {
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(0, 0, 0, .08);
  overflow: hidden;
}

.block-subscr-regular--detail-item-title {
  margin-bottom: 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-regular--detail-item-inner {
  display: flex;
  align-items: center;
  gap: 20px;
}

.block-subscr-regular--detail-item-thumb {
  flex-shrink: 0;
}

.block-subscr-regular--detail-item-table {
  flex-grow: 1;
}

.block-subscr-regular--detail-item-info {
  width: 100%;
}

.block-subscr-regular--detail-item-size {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-regular--detail-item-size-note {
  font-size: 10px;
  font-weight: normal;
}

.block-subscr-regular--detail.-product03 .info-title {
  white-space: nowrap;
  padding-right: 4px;
  vertical-align: unset;
}

.block-subscr-regular--detail.-product03 .info-desc {
  text-align: left;
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-regular--detail.-product03 .price-label {
  font-size: 12px;
  font-weight: 500;
  color: #ABABAB;
  padding-right: 6px;
}

.block-subscr-regular--detail.-product03 .price-num {
  font-size: 22px;
  font-weight: bold;
}

.block-subscr-regular--detail.-product03 .price-yen {
  font-size: 16px;
  font-weight: bold;
  padding-right: 4px;
}

.block-subscr-regular--detail.-product03 .price-sub {
  font-size: 10px;
}

/**/
.block-subscr-regular--detail.-product01 .block-subscr-regular--detail-item {
  padding-bottom: 14px;
}

.block-subscr-regular--detail.-product01 .block-subscr-regular--detail-item-title {
  padding: 6px;
}

.block-subscr-regular--detail-item-title.-color01 {
  background-image: linear-gradient(to right, #CEDB50, #FBFDF4);
}

.block-subscr-regular--detail-item-title.-color02 {
  background-image: linear-gradient(to right, #A8B6E2, #F6F7F9);
}

.block-subscr-regular--detail-item-title.-color03 {
  background-image: linear-gradient(to right, #C5BDC5, #FDFDFD);
}

.block-subscr-regular--detail-item-title.-color04 {
  background-image: linear-gradient(to right, #8E94B4, #FCFBFC);
}

.block-subscr-regular--detail-item-title.-color05 {
  color: #fff;
  background-image: linear-gradient(to right, #DD325A, #432D2D);
}

.block-subscr-regular--detail-item-title.-color06 {
  color: #fff;
  background-image: linear-gradient(to right, #2D3040, #1C8BC3);
}

.block-subscr-regular--detail.-product01 .block-subscr-regular--detail-item-inner {
  padding-inline: 14px;
}

.block-subscr-regular--detail.-product01 .info-title {
  width: 63%;
  letter-spacing: -.025em;
}

.block-subscr-regular--detail.-product01 .block-subscr-regular--detail-item-thumb img {
  width: 90px;
}

.block-subscr-regular--detail-action {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}

.block-subscr-regular--detail-button {
  appearance: none;
  color: var(--color-primary2);
  border: 2px solid var(--color-primary2);
  border-radius: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff url(../img/introduction/simulation/icon_regular_arrow_down.svg) no-repeat top 50% right 20px;
  background-size: 12px 14px;
  font-size: 12px;
  font-weight: 500;
  padding: 18px 38px;
  min-width: 190px;
}

.block-subscr-regular--detail.is-expanded .block-subscr-regular--detail-button {
  background-image: url(../img/introduction/simulation/icon_regular_arrow_down02.svg);
}

/**/
.block-subscr-regular--detail.-product02 .info-title {
  width: 54%;
}

.block-subscr-regular--detail.-product02 .block-subscr-regular--detail-item-thumb img {
  width: 130px;
}

.block-subscr-regular--detail.-product03 .block-subscr-regular--detail-item-thumb img {
  width: 98px;
}

.block-subscr-regular--detail.-product02 .block-subscr-regular--detail-item,
.block-subscr-regular--detail.-product03 .block-subscr-regular--detail-item {
  padding: 14px;
}

/* 通常料金：テーブルパーツ */
.info-title {
  text-align: left;
  font-weight: 500;
  vertical-align: middle;
}

.info-title-main {
  font-size: 12px;
}

.info-title-sub {
  font-size: 11px;
}

.info-desc {
  text-align: right;
  line-height: 1.2;
}

.info-desc-price {
  font-size: 16px;
  font-weight: bold;
}

.info-desc-yen {
  font-size: 12px;
  font-weight: 500;
}

.info-desc-sub {
  font-size: 10px;
  font-weight: normal;
}

@media (min-width: 769px) {
  .block-subscr-regular {}

  .block-subscr-regular .block-subscr-plan-tabs--content {
    padding-inline: 0;
  }

  .block-subscr-regular--detail-grid {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .block-subscr-regular--detail-item {
    width: calc(50% - 4px);
  }

  .block-subscr-regular--detail-item-inner {
    gap: 40px;
    justify-content: center;
  }

  .block-subscr-regular--detail.-product02 .block-subscr-regular--detail-item-inner {
    gap: 30px;
  }

  .block-subscr-regular--detail.-product03 .block-subscr-regular--detail-item-inner {
    padding-inline: 0;
  }

  .block-subscr-regular--detail.-product01 .info-title,
  .block-subscr-regular--detail.-product02 .info-title {
    width: auto;
  }

  .block-subscr-regular--detail.-product02 .info-title {
    padding-right: 1em;
  }

  .block-subscr-regular--detail-item-table {
    flex-grow: 0;
  }

  /**/
  .block-subscr-regular--detail.-product03 .block-subscr-regular--detail-grid {
    flex-direction: column;
  }

  .block-subscr-regular--detail.-product03 .block-subscr-regular--detail-item {
    width: 100%;
  }

  .block-subscr-regular--detail.-product03 .block-subscr-regular--detail-item-inner {
    margin: auto;
  }

  .block-subscr-regular--detail.-product01 .block-subscr-regular--detail-item-thumb img {
    width: auto;
  }

  .block-subscr-regular--detail-button {
    width: 100%;
    max-width: 330px;
    transition: var(--transition-opacity);
    cursor: pointer;
  }

  .block-subscr-regular--detail-button:is(:hover, :focus) {
    opacity: .8;
  }
}

/* ----- switch discount ----- */
.block-subscr-switch {
  padding: 40px 24px;
  border-color: var(--bgcolor1);
}

.block-subscr-switch--text {
  margin-bottom: 32px;
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-switch--text > p > strong {
  font-weight: 500;
  color: var(--color-primary);
}

.block-subscr-switch--thumb {
  max-width: 398px;
  margin: 0 auto 30px;
  text-align: center;
}

.block-subscr-switch--note > li {
  display: flex;
  align-items: start;
  gap: 2px;
  line-height: 1.8;
}

.block-subscr-switch--note > li::before {
  content: "・";
}

@media (min-width: 769px) {
  .block-subscr-switch {}

  .block-subscr-switch--inner {
    max-width: fit-content;
  }

  .block-subscr-switch--text {
    margin-bottom: 24px;
  }

  .block-subscr-switch--thumb {
    margin-bottom: 24px;
  }
}

/* ----- prices ----- */
.block-subscr-prices {
  padding: 40px 0;
  background-color: #fff;
}

.block-subscr-prices--head {
  margin-bottom: 32px;
}

.block-subscr-prices--title {
  text-align: center;
  padding: 0;
  background: none;
  font-size: 22px;
}

/* 料金一覧：料金テーブル */
.block-subscr-prices--inner {}

.block-subscr-prices > :last-child {
  margin-bottom: 0;
}

.block-subscr-prices--unit {
  padding-block: 40px;
}

.block-subscr-prices--unit#subscription_price {
  padding-top: 0;
}

.block-subscr-prices--unit#cancel_price {
  background-color: #F5F5F5;
  max-width: none;
}

.block-subscr-prices--unit#cancel_price .block-subscr-inner {
  max-width: 1020px;
}

.block-subscr-prices--unit#purchase_price {
  padding-bottom: 0;
}

.block-subscr-prices--list-title {
  margin: 0 24px 16px;
  padding-left: 16px;
  background: url(../img/icon_title_dot.svg) no-repeat top 2px left 0;
}

.block-subscr-prices--list {
  margin-bottom: 32px;
}

.block-subscr-prices--list:last-child {
  margin-bottom: 0;
}

.block-subscr-prices--list-title-main {
  font-size: 16px;
}

.block-subscr-prices--list-title-sub {
  font-size: 10px;
  font-weight: normal;
}

.block-subscr-prices--list-all {
  width: calc(100% - 24px);
  margin-left: 24px;
  padding-bottom: 16px;
  overflow-x: auto;
}

.block-subscr-prices--list-all::-webkit-scrollbar {
  height: 6px;
}

.block-subscr-prices--list-all::-webkit-scrollbar-track {
  background-color: #EBEBEB;
  border-radius: 3px;
}

.block-subscr-prices--list-all::-webkit-scrollbar-thumb {
  background-color: #969696;
  border-radius: 3px;
}

.block-subscr-prices--table {
  min-width: 1600px;
  table-layout: fixed;
  background-color: #fff;
}

#mattress-subs-table .block-subscr-prices--table,
#healthyon-subs-table .block-subscr-prices--table,
#comforter-subs-table .block-subscr-prices--table {
  min-width: 1020px;
}

.block-subscr-prices--table tbody tr {
  border-bottom: 1px solid #E4E1DC;
}

.block-subscr-prices--table th {
  border-right: 1px solid #E4E1DC;
  white-space: nowrap;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

.block-subscr-prices--table td {
  border-right: 1px solid #969696;
  white-space: nowrap;
  padding: 7px 12px;
  font-size: 14px;
  vertical-align: middle;
  text-align: center;
}

.block-subscr-prices--table td:last-child {
  border-right: 0;
}

.block-subscr-prices--title-service + td,
.block-subscr-prices--title-course + td {
  width: 106px;
}

.block-subscr-prices--title-course {
  background-color: #F5F5F5;
}


td.block-subscr-prices--title-service {
  border: 0;
  text-align: left;
}

.block-subscr-prices--title-service .service-product-name {
  display: flex;
  align-items: center;
  justify-content: center;
}

/**/
.block-subscr-prices--table.-type01 thead th {
  background-color: #B0AAA3;
  color: #fff;
}

.block-subscr-prices--table.-type02 thead th {
  background-color: #969696;
  color: #fff;
}

/* エアー */
.block-subscr-prices--table.-product01 td.block-subscr-prices--title-service {
  width: 216px;
}

/* ヘルシオン */
.block-subscr-prices--table.-product02 td.block-subscr-prices--title-service {
  width: 116px;
}

/* 羽毛布団 */
.block-subscr-prices--table.-product03 td.block-subscr-prices--title-service {
  width: 116px;
}

@media (min-width: 769px) {
  .block-subscr-prices--unit {
    max-width: 1020px;
    margin: auto;
  }

  .block-subscr-prices--list-title {
    margin-left: 0;
  }

  .block-subscr-prices--list-all {
    width: 100%;
    margin-left: 0;
  }

  .block-subscr-prices--table td {
    padding: 7px;
  }

  .block-subscr-prices--table.-product01 td.block-subscr-prices--title-service {
    width: 190px;
  }

  .block-subscr-prices--title-service .service-product-name {
    width: 175px;
    white-space: normal;
  }

  .block-subscr-prices--table.-product02 td.block-subscr-prices--title-service,
  .block-subscr-prices--table.-product03 td.block-subscr-prices--title-service {
    min-width: 154px;
    width: 188px;
  }

  .block-subscr-prices--table.-product02 td.block-subscr-prices--title-service {
    text-align: center;
  }
}

/* ----- override ----- */
.block-subscr-payment {
  padding: 40px 24px;
}

/**/
.block-subscr-cv--top {
  margin: 0 auto 14px;
  max-width: 690px;
}

.block-subscr-cv--top-button {
  width: 100%;
  padding: 20px;
  background-color: #fff;
  text-decoration: none;
  border-width: 2px;
  font-size: 12px;
  line-height: 1;
}

@media (min-width: 769px) {
  .block-subscr-cv--top {
    margin-bottom: 30px;
  }
}


/* ----- 通常価格のtoggle ----- */
.js-disp-regular .block-subscr-regular--detail-unit {
  display: none;
}

.js-disp-regular .block-subscr-regular--detail-unit.-first {
  display: block;
}

.js-disp-regular .block-subscr-regular--detail-unit.-first .block-subscr-regular--detail-item.-second,
.js-disp-regular .block-subscr-regular--detail-unit.-first .block-subscr-regular--detail-item.-second ~ .block-subscr-regular--detail-item {
  display: none;
}

@media screen and (min-width: 769px) {
  .js-disp-regular .block-subscr-regular--detail-unit.-first .block-subscr-regular--detail-item.-second {
    display: block;
  }

  .js-disp-regular .block-subscr-regular--detail-unit.-first .block-subscr-regular--detail-item.-second ~ .block-subscr-regular--detail-item {
    display: none;
  }
}

.js-disp-regular.is-expanded .block-subscr-regular--detail-unit,
.js-disp-regular.is-expanded .block-subscr-regular--detail-item {
  display: block !important;
}

@media screen and (min-width: 769px) and (max-width: 1750px) {
  .wrapper .pane-contents,
  .wrapper_ {
    padding-right: 0;
    padding-left: 0;
  }
  
  .block-topic-path,
  .block-subscr-top,
  .block-subscr-course,
  .block-subscr-calc,
  .block-subscr-rental,
  .block-subscr-cancel,
  .block-subscr-regular,
  .block-subscr-prices--inner
   {
    padding-right: clamp(45px, calc(50vw - 795px), 70px);
    padding-left: clamp(45px, calc(50vw - 795px), 70px);
  }
}