﻿@charset "UTF-8";

.block-subscr-head {
  margin-bottom: 32px;
}

.block-subscr-title {
  font-size: 22px;
}

/* ----- intro ----- */
.block-subscr-intro {
  padding: 40px 24px;
  background-color: var(--bgcolor1);
}

.block-subscr-intro--inner {
  max-width: 1020px;
}

.block-subscr-intro--inner > :last-child {
  margin-bottom: 0;
}

.block-subscr-intro--title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.block-subscr-intro--title-sub {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-intro--title-main {
  font-size: 22px;
}

.block-subscr-intro--lead {
  text-align: center;
  margin-bottom: 32px;
}

.block-subscr-intro--unit {
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #D1CCC5;
  margin-bottom: 32px;
  padding: 24px 14px;
}

.block-subscr-intro--service01-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.block-subscr-intro--service01-title {
  color: #8A857E;
  border: 1px solid #8A857E;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
  padding: 6px 16px;
}

.block-subscr-intro--service01-lead {
  font-size: 14px;
  text-align: center;
}

.block-subscr-intro--service01-grid {
  display: flex;
  justify-content: space-between;
}

.block-subscr-intro--service01-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 45%;
}

.block-subscr-intro--service01-item-head {
  order: 1;
  text-align: center;
  font-size: 14px;
}

.block-subscr-intro--service01-item-name {
  font-weight: bold;
  font-size: 20px;
}

.block-subscr-intro--service01-item-text {
  order: 3;
  text-align: center;
}

.block-subscr-intro--service01-item-thumb {
  order: 2;
}

.block-subscr-intro--service01-item-detail {
  display: contents;
}

.block-subscr-intro--service02 {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.block-subscr-intro--service02-title {
  color: #8A857E;
  border: 1px solid #8A857E;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 12px;
  padding: 6px 16px;
  width: fit-content;
}

.block-subscr-intro--service02-thumb {
  flex-shrink: 0;
}

@media (min-width: 769px) {
  .block-subscr-intro {
    padding: 64px 0;
  }

  .block-subscr-intro--service01-grid {
    justify-content: center;
    gap: 36px;
  }

  .block-subscr-intro--service01-item {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    width: fit-content;
  }

  .block-subscr-intro--service01-item-detail {
    display: block;
  }

  .block-subscr-intro--service01-item-name {
    margin-block: 12px;
  }
}

/* ----- about service ----- */
.block-subscr-about {
  padding: 40px;
  background-color: var(--color-tert);
}

.block-subscr-about--inner {
  max-width: 1020px;
}

.block-subscr-about--grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.block-subscr-about--item {
  width: 100%;
}

.block-subscr-about--title {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

.block-subscr-about--text {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-about--note {
  font-size: 11px;
  line-height: 1.5;
}

.block-subscr-about--text > p + p {
  margin-top: 8px;
}

@media (min-width: 769px) {
  .block-subscr-about {
    padding: 40px 0;
  }

  .block-subscr-about--grid {
    flex-direction: row;
    gap: 60px;
  }
}

/* ----- about subscription ----- */
.block-subscr-about-subs {
  padding: 40px 24px;
  background-color: #fff;
}

.block-subscr-about-subs--inner {
  max-width: 1020px;
}

.block-subscr-about-subs--title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.block-subscr-about-subs--title-sub {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-about-subs--title-main {
  font-size: 22px;
}

.block-subscr-about-subs--title02 {
  margin-bottom: 24px;
  font-size: 16px;
  text-align: center;
}

.block-subscr-about-subs--text {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.block-subscr-about-subs--product {
  border-top: 1px solid var(--color-primary2);
  margin-bottom: 40px;
}

.block-subscr-about-subs--product:last-child,
.block-subscr-about-subs--product > :last-child {
  margin-bottom: 0;
}

.block-subscr-about-subs--product-thumb {
  text-align: center;
  height: 244px;
}

.block-subscr-about-subs--product-thumb img {
  max-width: none;
  height: 100%;
}

.block-subscr-about-subs--product-name {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.block-subscr-about-subs--product-name-main {
  font-size: 16px;
  font-weight: bold;
}

.block-subscr-about-subs--product-name-sub {
  font-size: 12px;
}

.block-subscr-about-subs--grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.block-subscr-about-subs--product-items {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 8px;
}

.block-subscr-about-subs--product-item {
  display: flex;
  flex-direction: column;
}

.block-subscr-about-subs--product-item-label {
  color: var(--color-primary2);
  border: 1px solid var(--color-primary2);
  padding: 4px 8px;
  font-size: 12px;
  text-align: center;
  width: fit-content;
}

.block-subscr-about-subs--product-item-price {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-about-subs--product-item-price-num {
  font-size: 22px;
  font-weight: bold;
}

.block-subscr-about-subs--product-item-price > span:not([class]) {
  font-size: 11px;
  font-weight: normal;
  display: block;
  text-align: center;
}

.block-subscr-about-subs--product-item-note {
  font-size: 11px;
  text-align: center;
  margin-bottom: 40px;
}

.block-subscr-about-subs--product-item-note > a {
  color: var(--color-link);
}

.block-subscr-about-subs--product-item-action {
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-subscr-about-subs--product-item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--color-primary2);
  border: 1px solid var(--color-primary2);
  border-radius: 50vh;
  font-size: 12px;
  padding: 19px 22px 19px 32px;
  width: fit-content;
}

.block-subscr-about-subs--product-item-link::after {
  display: block;
  content: "";
  width: 5px;
  height: 9px;
  background: url(../img/introduction/icon_product_arrow.svg) no-repeat 0 0;
  background-size: 100% auto;
}

.block-subscr-about-subs--product-detail > :last-child {
  margin-bottom: 0;
}

@media (min-width: 769px) {
  .block-subscr-about-subs {
    padding: 64px 0;
  }

  .block-subscr-about-subs--head {
    margin-bottom: 32px;
  }

  .block-subscr-about-subs--title02 {
    margin-bottom: 32px;
    font-size: 20px;
  }

  .block-subscr-about-subs--text {
    text-align: center;
  }

  .block-subscr-about-subs--grid {
    flex-direction: row;
    gap: 40px;
  }

  .block-subscr-about-subs--item {
    width: calc(50% - 20px);
  }

  .block-subscr-about-subs--product-thumb {
    height: auto;
  }

  .block-subscr-about-subs--product-items {
    gap: 28px;
  }

  .block-subscr-about-subs--product-item-link {
    transition: var(--transition-opacity);
  }

  .block-subscr-about-subs--product-item-link:is(:hover, :focus) {
    text-decoration: none;
    opacity: .8;
  }

  .block-subscr-about-subs--product.-type02 {
    display: flex;
    align-items: center;
  }

  .block-subscr-about-subs--product.-type02 .block-subscr-about-subs--product-name {
    margin-bottom: 24px;
  }
}

/* ----- discount subscription ----- */
.block-subscr-discount-subs {
  padding: 40px 24px;
}

.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--head {
    margin-bottom: 32px;
  }

  .block-subscr-discount-subs--text {
    margin-bottom: 32px;
  }

  .block-subscr-discount-subs--thumb {
    margin: auto;
    max-width: 382px;
  }
}

/* ----- after subscription ----- */
.block-subscr-after {
  padding: 40px 24px;
  background-color: var(--bgcolor1);
}

.block-subscr-after--inner {
  max-width: 1020px;
}

.block-subscr-after--title {
  font-size: 22px;
}

.block-subscr-after--lead {
  margin-bottom: 24px;
}

.block-subscr-after--grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 32px;
}

.block-subscr-after--item {
  width: 100%;
  border-top: 1px solid #B0AAA3;
  border-left: 1px solid #B0AAA3;
  border-radius: 8px 0 0 0;
  padding: 24px 16px;
}

.block-subscr-after--item > :last-child,
.block-subscr-after--howto > :last-child {
  margin-bottom: 0;
}

.block-subscr-after--item-title {
  margin: 0 0 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.block-subscr-after--item-title-num {
  width: 32px;
  height: 38px;
  color: var(--color-primary2);
  font-size: 20px;
  font-weight: bold;
  background: url(../img/introduction/icon_title_line.svg) no-repeat bottom 0 right 0;
}

.block-subscr-after--item-title-main {
  font-size: 20px;
}

.block-subscr-after--item-text {
  margin-bottom: 24px;
  line-height: 1.8;
  text-align: center;
}

.block-subscr-after--item-note {
  font-size: 11px;
}

.block-subscr-after--item-action {
  display: flex;
  align-items: center;
  justify-content: center;
}

.block-subscr-after--item-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-default);
  border-radius: 50vh;
  color: var(--color-default);
  font-size: 12px;
  font-weight: 500;
  transition: var(--transition-opacity);
  padding: 0 30px 0 20px;
  background:  url(../img/icon_other_arrow.svg) no-repeat top 50% right 24px;
  background-size: 5px 9px;
  min-width: 208px;
  height: 56px;
  text-align: center;
  text-decoration: none;
}

.block-subscr-after--text {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-after--howto-title {
  margin: 0 0 8px;
  padding: 0 0 8px 16px;
  font-size: 16px;
  font-weight: bold;
  background: url(../img/icon_title_dot.svg) no-repeat top 5px left 0;
  border-bottom: 1px solid #ABABAB;
}

.block-subscr-after--howto-title02 {
  font-size: 14px;
  margin-bottom: 8px;
  font-weight: 500;
}

.block-subscr-after--howto-text {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.8;
}

@media (min-width: 769px) {
  .block-subscr-after {
    padding: 64px 0;
  }

  .block-subscr-after--lead {
    text-align: center;
  }

  .block-subscr-after--grid {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .block-subscr-after--item {
    width: calc((100% / 2) - 40px);
  }

  .block-subscr-after--item-button {
    transition: var(--transition-opacity);
  }

  .block-subscr-after--item-button:is(:hover, :focus) {
    opacity: .8;
    text-decoration: none;
  }
}

/* ----- tab ----- */
.block-subscr-tabs {}

.block-subscr-tabs--list {
  display: flex;
  align-items: end;
  list-style: none;
  margin-bottom: 0;
  gap: 4px;
}

.block-subscr-tabs--list > li {
  flex-grow: 1;
  width: calc(50% - 2px);
}

.block-subscr-tabs--button {
  appearance: none;
  background-color: var(--color-tert);
  border: 0;
  padding: 4px 0;
  color: var(--color-default);
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  display: block;
}

.block-subscr-tabs--button.is-active {
  background-color: #3d3d3d;
  color: #fff;
  padding-block: 8px;
}

.block-subscr-tabs--content {
  display: none;
}

.block-subscr-tabs--content.is-active {
  display: block;
}

/* ----- about rental ----- */
.block-subscr-rental {
  padding: 40px 24px;
  background-color: var(--bgcolor1);
}

.block-subscr-rental--inner {
  max-width: 1020px;
}

.block-subscr-rental--head {
  margin-bottom: 40px;
}

.block-subscr-rental--title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: none;
  padding: 0;
  margin-bottom: 8px;
}

.block-subscr-rental--title-sub {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-rental--title-main {
  color: var(--color-primary2);
  font-size: 22px;
  font-weight: bold;
}

.block-subscr-rental--head-note {
  font-size: 11px;
  text-align: center;
}

.block-subscr-rental--lead {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 16px;
}

.block-subscr-rental--thumb {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.block-subscr-rental--thumb-main {
  width: 100%;
}

.block-subscr-rental--thumb-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.block-subscr-rental--thumb-sub {
  width: calc(50% - 4px);
}

.block-subscr-rental--thumb.-type02 {
  background-color: #fff;
  align-items: center;
  text-align: center;
}

.block-subscr-rental--prices {
  margin-bottom: 32px;
}

.block-subscr-rental--prices-label {
  width: fit-content;
  border: 1px solid var(--color-primary2);
  color: var(--color-primary2);
  font-size: 12px;
  margin: auto;
  padding: 4px 8px;
}

.block-subscr-rental--prices-inner {
  min-width: 220px;
  width: fit-content;
  margin: 0 auto 16px;
}

.block-subscr-rental--prices-num {
  font-size: 11px;
  text-align: center;
  margin-bottom: 4px;
}

.block-subscr-rental--prices-fee {
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-rental--prices-sum {
  background-color: #fff;
  text-align: center;
}

.block-subscr-rental--prices-num > strong,
.block-subscr-rental--prices-sum > strong {
  color: var(--color-primary);
  font-size: 22px;
}

.block-subscr-rental--prices-num > strong > span,
.block-subscr-rental--prices-sum > strong > span {
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-rental--prices-note > li {
  display: flex;
  align-items: start;
  line-height: 1.8;
}

.block-subscr-rental--prices-note > li::before {
  content: "・";
}

.block-subscr-rental--point {
  border: 1px solid #B0AAA3;
  border-radius: 8px;
  margin-bottom: 32px;
  padding: 40px;
}

.block-subscr-rental--point > :last-child {
  margin-bottom: 0;
}

.block-subscr-rental--point-content {
  margin-bottom: 40px;
}

.block-subscr-rental--point-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.block-subscr-rental--point-title::before {
  display: block;
  content: "";
  width: 17px;
  height: 17px;
  background: url(../img/icon_check.svg) no-repeat 0 0;
  background-size: 100% auto;
  flex-shrink: 0;
}

.block-subscr-rental--point-text {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-rental--note {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
}

.block-subscr-rental--note-unit {
  width: 100%;
}

.block-subscr-rental--note-title {
  margin: 0 0 8px;
  padding: 0 0 8px 16px;
  font-size: 16px;
  font-weight: bold;
  background: url(../img/icon_title_dot.svg) no-repeat top 2px left 0;
  border-bottom: 1px solid #ABABAB;
  line-height: 1;
}

.block-subscr-rental--note-title-sub {
  font-size: 12px;
  font-weight: 500;
}

.block-subscr-rental--note-list > li {
  display: flex;
  align-items: start;
  gap: .25em;
  line-height: 1.8;
}

.block-subscr-rental--note-list > li::before {
  content: "・";
  flex-shrink: 0;
}

.block-subscr-rental--note-list > li a {
  font-weight: 500;
  color: var(--color-link);
}

.block-subscr-rental--select {}

.block-subscr-rental--select > :last-child {
  margin-bottom: 0;
}

.block-subscr-rental--select-title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  width: fit-content;
  margin: 0 auto 32px;
  padding-inline: 32px;
}

.block-subscr-rental--select-title-sub {
  font-size: 16px;
}

.block-subscr-rental--select-title-main {
  font-size: 22px;
}

.block-subscr-rental--select-title::before,
.block-subscr-rental--select-title::after {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  width: 12px;
  height: 65px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.block-subscr-rental--select-title::before {
  background-image: url(../img/introduction/img_title_bracket_01_sp.svg);
  left: 0;
}

.block-subscr-rental--select-title::after {
  background-image: url(../img/introduction/img_title_bracket_02_sp.svg);
  right: 0;
}

.block-subscr-rental--select-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 24px;
}

.block-subscr-rental--select-item {
  padding: 24px 40px;
  background-color: #fff;
  border-radius: 8px;
}

.block-subscr-rental--select-item-head {
  margin-bottom: 8px;
}

.block-subscr-rental--select-item-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.block-subscr-rental--select-item-title-main {
  font-size: 20px;
}

.block-subscr-rental--select-item-title-num {
  width: 32px;
  height: 38px;
  color: var(--color-primary2);
  font-size: 20px;
  font-weight: bold;
  background: url(../img/introduction/icon_title_line.svg) no-repeat bottom 0 right 0;
}

.block-subscr-rental--select-price {
  padding-left: 40px;
  font-size: 14px;
  font-weight: 500;
}

.block-subscr-rental--select-price-num {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}

.block-subscr-rental--select-price > span:not([class]) {
  font-size: 11px;
  font-weight: normal;
}

.block-subscr-rental--select-item-text {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-rental--select-item-text > p {
  margin-bottom: 8px;
}

.block-subscr-rental--select .sub {
  font-size: 11px;
  vertical-align: baseline;
  display: inline-block;
}

.block-subscr-rental--select-item-text > :last-child {
  margin-bottom: 0;
}

.block-subscr-rental--select-note {
  font-size: 11px;
}

@media (min-width: 769px) {
  .block-subscr-rental {
    padding: 64px 0;
  }

  .block-subscr-rental--thumb.-type01 {
    flex-direction: row;
  }

  .block-subscr-rental--thumb-main,
  .block-subscr-rental--thumb-list {
    width: calc(50% - 4px);
  }

  .block-subscr-rental--thumb-sub {
    cursor: pointer;
    transition: var(--transition-opacity);
  }

  .block-subscr-rental--thumb-sub:is(:hover) {
    opacity: .8;
  }

  .block-subscr-rental--thumb.-type02 img {
    height: 244px;
  }

  .block-subscr-rental--lead {
    text-align: center;
  }

  .block-subscr-rental--point {
    display: flex;
    gap: 44px;
  }

  .block-subscr-rental--point-content {
    width: calc((100% / 3) - 30px);
    flex-grow: 1;
    margin-bottom: 0;
  }

  .block-subscr-rental--point-title {
    font-size: 20px;
  }

  .block-subscr-rental--note {
    flex-direction: row;
    gap: 44px;
    margin-bottom: 48px;
  }

  .block-subscr-rental--note-unit {
    width: calc(50% - 22px);
  }

  .block-subscr-rental--select-title {
    margin-bottom: 32px;
    min-height: 87px;
  }

  .block-subscr-rental--select-title::before,
  .block-subscr-rental--select-title::after {
    height: 87px;
  }

  .block-subscr-rental--select-title::before {
    background-image: url(../img/introduction/img_title_bracket_01.svg);
  }

  .block-subscr-rental--select-title::after {
    background-image: url(../img/introduction/img_title_bracket_02.svg);
  }

  .block-subscr-rental--select-title-sub {
    font-size: 20px;
  }

  .block-subscr-rental--select-title-main {
    font-size: 32px;
  }

  .block-subscr-rental--prices-label {
    margin-bottom: 8px;
  }

  .block-subscr-rental--prices-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
  }

  .block-subscr-rental--prices-num > strong,
  .block-subscr-rental--prices-sum > strong {
    font-size: 32px;
  }

  .block-subscr-rental--prices-sum {
    padding: 0 20px;
    line-height: 1.3;
  }

  .block-subscr-rental--prices-sum > strong {
    padding-left: 4px;
  }

  .block-subscr-rental--prices-note {
    width: fit-content;
    margin: auto;
  }

  .block-subscr-rental--select-grid {
    flex-direction: row;
    gap: 44px;
  }

  .block-subscr-rental--select-grid.-type02 {
    margin-bottom: 32px;
  }

  .block-subscr-rental--select-grid.-type01 .block-subscr-rental--select-item {
    width: calc((100% / 3) - 30px);
  }

  .block-subscr-rental--select-grid.-type02 .block-subscr-rental--select-item {
    width: calc((100% / 2) - 44px);
  }

  .block-subscr-rental--select-item {
    flex-grow: 1;
  }

  .block-subscr-rental--select-item-title-num {
    width: 38px;
    font-size: 24px;
  }

  .block-subscr-rental--select-item-title-main {
    font-size: 24px;
  }

  .block-subscr-rental--select-price {
    padding-left: 46px;
  }

  .block-subscr-rental--select-price-num {
    font-size: 24px;
  }

  .block-subscr-rental--select-text {
    line-height: 1.8;
  }
}

/* ----- voice lead ----- */
.block-subscr-voice-lead {
  background-color: #f6f6f6;
  text-align: center;
}

@media (min-width: 769px) {
  .block-subscr-voice-lead--inner {
    max-width: none;
  }
}

/* ----- voice ----- */
.block-subscr-voice {
  padding: 24px 24px 40px;
  background-color: var(--color-tert);
}

.block-subscr-voice--inner {
  max-width: 1020px;
}

.block-subscr-voice--head {
  margin-bottom: 32px;
}

.block-subscr-voice--title {
  background: none;
  text-align: center;
  font-size: 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.block-subscr-voice--title-en {
  color: var(--color-primary2);
}

.block-subscr-voice--title-text {
  font-size: 16px;
}

.block-subscr-voice--grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
}

.block-subscr-voice--item {
  display: flex;
  gap: 24px;
  width: 100%;
  border-radius: 40px 40px 8px 40px;
  padding: 24px;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, .12);
}

.block-subscr-voice--thumb {
  width: 64px;
  flex-shrink: 0;
}

.block-subscr-voice--num {
  color: var(--color-primary2);
  font-size: 16px;
  font-weight: bold;
}

.block-subscr-voice--text {
  font-size: 14px;
  line-height: 1.8;
}

.block-subscr-voice--status {
  font-size: 11px;
}

.block-subscr-voice--note {
  text-align: center;
  font-size: 11px;
}

@media (min-width: 769px) {
  .block-subscr-voice {
    padding: 24px 0 64px;
  }

  .block-subscr-voice--grid {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .block-subscr-voice--item {
    width: calc((100% / 2) - 24px);
  }
}

/* ----- check ----- */
.block-subscr-check {
  padding: 40px 24px;
  background-color: #fff;
}

.block-subscr-check--inner {
  max-width: 1020px;
  margin: auto;
  border: 1px solid var(--color-primary2);
  border-radius: 8px;
  padding: 40px 16px 20px;
}

.block-subscr-check--head {
  margin-bottom: 16px;
}

.block-subscr-check--title {
  background: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
}

.block-subscr-check--title-main {
  font-size: 22px;
}

.block-subscr-check--title-sub {
  font-size: 14px;
  font-weight: normal;
}

.block-subscr-check--lead {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary2);
  margin-bottom: .75em;
  text-align: center;
}

.block-subscr-check--title02 {
  font-size: 22px;
  font-weight: bold;
  color: var(--color-primary2);
  margin-bottom: 8px;
  text-align: center;
}

.block-subscr-check--grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.block-subscr-check--item {
  width: 100%;
}

@media (min-width: 769px) {
  .block-subscr-check {
    padding: 64px 0 24px;
  }

  .block-subscr-check--inner {
    padding: 40px;
  }

  .block-subscr-check--title02 {
    margin-bottom: 8px;
  }

  .block-subscr-check--lead {
    margin-bottom: 24px;
  }

  .block-subscr-check--grid {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
  }

  .block-subscr-check--item {
    width: calc((100% / 2) - 8px);
    box-shadow: 0 3px 13px rgba(150, 150, 150, .25);
  }

  .block-subscr-check--item-link {
    display: block;
    transition: var(--transition-opacity);
  }

  .block-subscr-check--item-link:is(:hover, :focus) {
    opacity: .8;
  }
}

/* ----- application ----- */
.block-subscr-app {
  padding: 40px 24px;
  background-color: var(--bgcolor1);
}

.block-subscr-app--inner {
  max-width: 1020px;
}

.block-subscr-app--head {
  margin-bottom: 8px;
}

.block-subscr-app--title {
  background: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.block-subscr-app--title-logo img {
  display: block;
  line-height: 0;
}

.block-subscr-app--title-sub {
  font-size: 20px;
}

.block-subscr-app--unit {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
}

.block-subscr-app--detail {
  width: 100%;
}

.block-subscr-app--thumb {
  text-align: center;
}

.block-subscr-app--thumb img {
  object-fit: scale-down;
  max-height: 350px;
}

.block-subscr-app--text {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 24px;
}

.block-subscr-app--attention {
  border: 1px solid #B0AAA3;
  border-radius: 8px;
  padding: 24px;
}

.block-subscr-app--attention-title {
  width: fit-content;
  margin: 0 auto 16px;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.block-subscr-app--attention-title::before {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/introduction/icon_attention.svg) no-repeat 0 0;
  background-size: 100% auto;
}

.block-subscr-app--attention-text {
  font-size: 11px;
  line-height: 1.8;
}

@media (min-width: 769px) {
  .block-subscr-app {
    padding: 64px 0;
  }

  .block-subscr-app--unit {
    flex-direction: row-reverse;
    gap: 16px;
  }

  .block-subscr-app--detail {
    width: 50%;
    max-width: 502px;
  }

  .block-subscr-app--thumb {
    width: 50%;
    max-width: 502px;
  }
}

/* ----- override ----- */
.block-subscr-payment {
  padding: 40px 24px;
  background-color: var(--color-tert);
}

.block-subscr-payment--title {
  font-size: 22px;
  margin-bottom: 32px;
}

.block-subscr-payment--inner {
  max-width: 1000px;
}

.block-subscr-payment--detail-desc {
  padding: 8px 24px;
}

.block-subscr-otherlink {
  padding-top: 0;
}

@media (min-width: 769px) {
  .block-subscr-payment {
    padding: 64px 0;
  }
}

@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-intro,
  .block-subscr-about-subs,
  .block-subscr-after,
  .block-subscr-rental,
  .block-subscr-check,
  .block-subscr-app {
    padding-right: clamp(45px, calc(50vw - 795px), 70px);
    padding-left: clamp(45px, calc(50vw - 795px), 70px);
  }
}