@layer page {
  .p-page-hdr-b {
    position: relative;
    background-image: url("../../../img/page/carlease/ttl_bg.svg");
    background-position: calc(100% - 2.5rem) 100%;
    background-repeat: no-repeat;
    background-size: auto 9.125rem;
  }
  @media screen and (max-width: 767px) {
    .p-page-hdr-b {
      background-image: url("../../../img/page/carlease/ttl_bg_sp.svg");
      background-position: 100% 100%;
      background-size: auto 16.75vw;
    }
  }
  .carlease-first {
    padding: 6.25rem 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-first {
      padding: 12.5vw 0;
    }
  }
  .carlease-first__ttl {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
  }
  .carlease-first__ttl b {
    font-size: 2rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-first__ttl {
      font-size: 5vw;
    }
    .carlease-first__ttl b {
      font-size: 7vw;
    }
  }
  .carlease-first__fig {
    width: 50.125rem;
    max-width: 100%;
    margin: 1.875rem auto 0 auto;
  }
  @media screen and (max-width: 767px) {
    .carlease-first__fig {
      margin-top: 2.5vw;
    }
  }
  .carlease-first__fig img {
    width: 100%;
  }
  .carlease-first__row {
    background: var(--accent) url("../../../img/page/carlease/car.svg") calc(100% - 3.75rem) 100%/5rem auto no-repeat;
    border-radius: 0.625rem;
    padding: 1.875rem 3.75rem;
    font-size: 0.9375rem;
    color: #fff;
  }
  @media screen and (min-width: 768px) {
    .carlease-first__row {
      width: 62.5rem;
      max-width: 100%;
      margin: 0 auto;
      display: grid;
      align-items: center;
      grid-template-columns: 9.375rem auto;
      gap: 2.5rem;
    }
  }
  @media screen and (max-width: 1200px) {
    .carlease-first__row {
      padding: 1.875rem 1.25rem;
      gap: 1.25rem;
      grid-template-columns: 8.125rem auto;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-first__row {
      padding: 5vw 5vw 7.5vw 5vw;
      background-size: 15vw auto;
      background-position: calc(100% - 5vw) 100%;
    }
  }
  .carlease-first__icon-wrap img {
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .carlease-first__shdr {
      display: grid;
      grid-template-columns: 20vw 1fr;
      gap: 5vw;
    }
  }
  .carlease-first__answer {
    font-size: 1.25rem;
    margin-bottom: 0.375rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-first__answer {
      font-size: 4.5vw;
      line-height: 1.3;
    }
  }
  .carlease-first__answer b {
    font-size: 1.75rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-first__answer b {
      font-size: 6vw;
    }
  }
  .carlease-free__ttl {
    text-align: center;
  }
  .carlease-free__ttl img {
    width: 33.0625rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-free__ttl img {
      width: 79.25vw;
    }
  }
  .carlease-free__lead {
    margin-top: 2.25rem;
    font-size: 1.125rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .carlease-free__lead {
      font-size: 4vw;
      margin-top: 5vw;
    }
  }
  .carlease-free__note {
    margin-top: 1.75rem;
    font-size: 0.8125rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-free__note {
      text-align: left;
      font-size: 3.25vw;
      margin-top: 5vw;
    }
  }
  .carlease-free__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .carlease-page-nav-wrap {
    margin: 3.75rem 0 6.25rem 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-page-nav-wrap {
      margin: 7.5vw 0 12.5vw 0;
    }
  }
  .p-page-nav__link {
    background: #fff;
    border: 1px solid var(--line);
  }
  .carlease-hdr {
    text-align: center;
  }
  .carlease-hdr__ttl {
    font-size: 3.125rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr__ttl {
      font-size: 10vw;
    }
    .carlease-hdr__ttl.is-advantage {
      font-size: 8vw;
    }
  }
  .carlease-hdr__ttl span {
    font-size: 1.125rem;
    display: block;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr__ttl span {
      font-size: 4.5vw;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr__ttl:has(.is-large) {
      font-size: 7.5vw;
    }
  }
  .carlease-hdr__ttl .is-large {
    font-size: 5rem;
    font-weight: 700;
    font-family: var(--en-sans);
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr__ttl .is-large {
      font-size: 15vw;
    }
  }
  .carlease-hdr-a {
    text-align: center;
  }
  .carlease-hdr-a__ttl {
    font-size: 3.125rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr-a__ttl {
      font-size: 10vw;
    }
    .carlease-hdr-a__ttl.is-advantage {
      font-size: 8vw;
    }
  }
  .carlease-hdr-a__ttl span {
    font-size: 1.125rem;
    display: block;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr-a__ttl span {
      font-size: 4.5vw;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr-a__ttl:has(.is-large) {
      font-size: 7.5vw;
    }
  }
  .carlease-hdr-a__ttl .is-large {
    font-size: 5rem;
    font-weight: 700;
    font-family: var(--en-sans);
    line-height: 1.1;
  }
  @media screen and (max-width: 767px) {
    .carlease-hdr-a__ttl .is-large {
      font-size: 15vw;
    }
  }
  .carlease-rad {
    position: relative;
    padding-top: 6.25rem;
    border-radius: 7.5rem 5rem 0 0;
  }
  @media screen and (max-width: 1200px) {
    .carlease-rad {
      border-radius: 2.5rem 2.5rem 0 0;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-rad {
      padding-top: 3.75rem;
      border-radius: 10vw 10vw 0 0;
    }
  }
  .carlease-rad .c-container {
    position: relative;
  }
  .carlease-sec {
    padding-bottom: 6.25rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-sec {
      padding-bottom: 15vw;
    }
  }
  @media screen and (min-width: 768px) {
    .carlease-sec__row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
      margin-top: 2.5rem;
    }
  }
  @media screen and (max-width: 1200px) {
    .carlease-sec__row {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__row {
      display: flex;
      flex-direction: column;
      gap: 2.5vw;
      margin-top: 10vw;
    }
  }
  .carlease-sec__col {
    --my-bg-color: #fff;
    border-radius: 0.625rem;
    padding: 1.875rem;
    background: var(--my-bg-color);
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__col {
      padding: 7.5vw 5vw;
    }
  }
  .carlease-sec__col.is-choice {
    --my-bg-color: var(--bg-gray2);
  }
  .carlease-sec__sttl {
    --my-color: var(--blue);
    text-align: center;
    color: var(--my-color);
    font-size: 1.5rem;
    margin-bottom: 0.625rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__sttl {
      font-size: 5vw;
    }
  }
  .carlease-sec__sttl.is-choice {
    --my-color: var(--accent);
    --my-bg-color: var(--bg-gray2);
  }
  .carlease-sec__text {
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__text {
      font-size: 3.75vw;
    }
  }
  .carlease-sec__text .is-mt {
    margin-top: 1em;
  }
  .carlease-sec__note {
    margin-top: 0.625rem;
    font-size: 0.8125rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__note {
      font-size: 3.25vw;
    }
  }
  .carlease-sec__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .carlease-sec__note p.is-count {
    text-indent: -1.4em;
    margin-left: 1.4em;
  }
  .carlease-sec__note a {
    text-decoration: underline;
  }
  @media (hover: hover) {
    .carlease-sec__note a:hover {
      text-decoration: none;
    }
  }
  .carlease-sec__fig {
    margin-top: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-sec__fig {
      margin-top: 5vw;
    }
  }
  .carlease-sec__fig img {
    width: 100%;
  }
  .carlease-skills {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.3125rem;
    margin-top: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-skills {
      gap: 1.25vw;
    }
  }
  .carlease-skills li {
    display: grid;
    align-items: center;
    background: var(--bg-gray2);
    font-weight: 700;
    grid-template-columns: 3.4375rem 1fr;
    padding: 0.3125rem;
    gap: 0.9375rem;
    border-radius: 0.3125rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-skills li {
      gap: 2.5vw;
      font-size: 3.75vw;
      grid-template-columns: 10vw 1fr;
      line-height: 1.2;
    }
  }
  .carlease-check {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.3125rem;
    margin-top: 0.9375rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-check {
      flex-direction: column;
    }
  }
  .carlease-check > li {
    background: var(--bg-gray2) url("../../../img/page/carlease/icon_check.svg") 50% 1rem/1.375rem auto no-repeat;
    text-align: center;
    width: calc(33.3333333333% - 0.3125rem);
    padding: 2.875rem 1.25rem 0.9375rem 0.9375rem;
    font-size: 0.9375rem;
    line-height: 1.6;
  }
  .carlease-check > li:nth-child(4), .carlease-check > li:nth-child(5) {
    width: calc(50% - 0.3125rem);
  }
  @media screen and (max-width: 767px) {
    .carlease-check > li:nth-child(4), .carlease-check > li:nth-child(5) {
      width: auto;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-check > li {
      background-position: 5vw 50%;
      background-size: 6vw auto;
      padding: 3.5vw 5vw 3.5vw 14vw;
      width: auto;
      text-align: left;
    }
  }
  .carlease-economy-illust {
    position: absolute;
    right: 0;
    top: -7.5rem;
    aspect-ratio: 195/197;
    width: 12.1875rem;
    background: url("../../../img/page/carlease/economy.svg") 0 0/contain no-repeat;
  }
  @media screen and (max-width: 1200px) {
    .carlease-economy-illust {
      width: 10.5625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-economy-illust {
      width: 32.5vw;
      top: -32.5vw;
      background-position: 8vw 0;
    }
  }
  .carlease-management-illust {
    position: absolute;
    right: 0;
    top: -7.5rem;
    aspect-ratio: 290/221;
    width: 18.125rem;
    background: url("../../../img/page/carlease/management.svg") 0 0/contain no-repeat;
  }
  @media screen and (max-width: 1200px) {
    .carlease-management-illust {
      width: 10.5625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-management-illust {
      top: -27.5vw;
      width: 42.75vw;
      background-position: 14vw 0;
    }
  }
  .carlease-choice-illust {
    position: absolute;
    right: 0;
    top: -7.5rem;
    aspect-ratio: 240/234;
    width: 14.875rem;
    background: url("../../../img/page/carlease/choice.svg") 0 0/contain no-repeat;
  }
  @media screen and (max-width: 1200px) {
    .carlease-choice-illust {
      width: 10.5625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-choice-illust {
      width: 33vw;
      background-position: 8vw 0;
    }
  }
  .carlease-plans {
    padding-bottom: 7.5rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-plans {
      padding-bottom: 15vw;
    }
  }
  .carlease-plans__lead {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .carlease-plans__lead {
      margin-top: 7.5vw;
      margin-bottom: 10vw;
      font-size: 3.75vw;
    }
  }
  .carlease-plans__note {
    margin-top: 1.25rem;
    font-size: 0.8125rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-plans__note {
      margin-top: 5vw;
      font-size: 3.25vw;
    }
  }
  .carlease-plans__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .carlease-plans__note p.is-num {
    text-indent: -1.4em;
    margin-left: 1.4em;
  }
  .carlease-plans__btn-wrap {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
  }
  @media screen and (max-width: 767px) {
    .carlease-plans__btn-wrap a {
      width: 100%;
    }
  }
  .carlease-hdr-b {
    text-align: center;
  }
  .carlease-hdr-b__ttl {
    font-size: 2rem;
    font-weight: 700;
  }
  .carlease-hdr-b__en {
    font-size: 1.5rem;
    font-family: var(--en-sans);
    color: var(--accent);
    font-weight: var(--en-weight-m);
  }
  .carlease-qa {
    position: relative;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
  @media screen and (max-width: 1200px) {
    .carlease-qa {
      padding-top: 5rem;
      padding-bottom: 5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-qa {
      padding-top: 20vw;
      padding-bottom: 15vw;
    }
  }
  .carlease-flow {
    padding: 7.5rem 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow {
      padding: 15vw 0;
    }
  }
  .carlease-flow__list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.625rem;
    margin-top: 3.125rem;
  }
  @media screen and (min-width: 768px) {
    .carlease-flow__list.is-col5 {
      grid-template-columns: repeat(5, 1fr);
    }
  }
  @media screen and (max-width: 1200px) {
    .carlease-flow__list {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__list {
      display: flex;
      flex-direction: column;
      margin-top: 10vw;
      gap: 5vw;
    }
  }
  .carlease-flow__item {
    position: relative;
    padding: 2.375rem 1.25rem 1.25rem 1.25rem;
    gap: 0.5rem;
    border-radius: 0.625rem;
    background: var(--bg-gray2);
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__item {
      margin-left: 12.5vw;
      padding: 5vw;
    }
    .carlease-flow__item:not(:last-child)::before {
      content: "";
      display: block;
      position: absolute;
      left: -7.75vw;
      top: 0;
      width: 2px;
      height: calc(100% + 5vw);
      background: var(--accent);
    }
  }
  .carlease-flow__img-wrap {
    margin: 1.25rem 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__img-wrap {
      background: #fff;
      margin: 5vw 0;
      width: 100%;
      border-radius: 0.625rem;
    }
  }
  .carlease-flow__img-wrap img {
    width: 100%;
  }
  .carlease-flow__ttl {
    font-size: 1.25rem;
    text-align: center;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__ttl {
      font-size: 5vw;
      text-align: left;
    }
  }
  .carlease-flow__ttl span {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1/1;
    width: 3.125rem;
    border-radius: 6.25rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 100%;
    background: var(--accent);
    color: #fff;
    font-family: var(--en-sans);
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__ttl span {
      position: absolute;
      width: 10vw;
      left: -12.5vw;
      top: 0;
      transform: translate(0);
      font-size: 4.5vw;
    }
  }
  .carlease-flow__text {
    font-size: 0.9375rem;
    line-height: 1.6;
    line-break: strict;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__text {
      font-size: 3.75vw;
    }
  }
  .carlease-flow__note {
    margin-top: 1.25rem;
    font-size: 0.75rem;
  }
  .carlease-flow__note p {
    text-indent: -1em;
    margin-left: 1em;
  }
  .carlease-flow__btn-wrap {
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__btn-wrap {
      margin-top: 5vw;
    }
  }
  .carlease-flow__btn-wrap .c-btn {
    gap: 0;
    font-size: 0.9375rem;
    width: 100%;
    padding-left: 1.25rem;
    padding-right: 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-flow__btn-wrap .c-btn {
      padding-left: 6.25vw;
      font-size: 4.5vw;
      width: 100%;
      text-align: left;
    }
  }
  .carlease-flow__btn-wrap .c-icon {
    width: 0.625rem;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
  }
  .carlease-table {
    background: #fff;
    width: 100%;
    border-collapse: separate;
    table-layout: fixed;
  }
  @media screen and (max-width: 767px) {
    .carlease-table {
      line-height: 1.2;
    }
  }
  .carlease-table th, .carlease-table td {
    border-left: 1px solid var(--line);
    border-top: 1px solid var(--line);
  }
  .carlease-table th:last-child, .carlease-table td:last-child {
    border-right: 1px solid var(--line);
  }
  @media screen and (max-width: 1200px) {
    .carlease-table th, .carlease-table td {
      font-size: 0.6875rem;
    }
  }
  .carlease-table thead th {
    text-align: center;
    font-weight: 700;
    padding: 1.25rem 0.625rem 0.625rem 0.625rem;
  }
  .carlease-table thead th:first-child {
    border-radius: 0.625rem 0 0 0;
  }
  .carlease-table thead th:last-child {
    border-radius: 0 0.625rem 0 0;
  }
  @media screen and (max-width: 767px) {
    .carlease-table thead th {
      font-size: 4vw;
      padding: 3.75vw 0;
    }
    .carlease-table thead th.is-gold {
      background: #BBA501;
      color: #fff;
    }
    .carlease-table thead th.is-silver {
      background: #8A9AA0;
      color: #fff;
    }
    .carlease-table thead th.is-white {
      background: var(--bg-gray2);
      color: var(--text-gray);
    }
  }
  .carlease-table thead img {
    width: 3.4375rem;
  }
  .carlease-table tbody tr:last-child th, .carlease-table tbody tr:last-child td {
    border-bottom: 1px solid var(--line);
  }
  .carlease-table tbody tr:last-child th {
    border-radius: 0 0 0 0.625rem;
  }
  .carlease-table tbody tr:last-child td:last-child {
    border-radius: 0 0 0.625rem 0;
  }
  .carlease-table tbody th, .carlease-table tbody td {
    padding: 0rem 0.625rem;
    color: var(--text-gray);
    text-align: center;
    vertical-align: middle;
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody th, .carlease-table tbody td {
      font-size: 4vw;
    }
  }
  .carlease-table tbody img {
    width: 2.5rem;
  }
  .carlease-table tbody svg {
    aspect-ratio: 1/1;
    width: 1.5rem;
    stroke: #BBA501;
    line-height: 1;
  }
  .carlease-table tbody svg.is-silver {
    stroke: #8A9AA0;
  }
  .carlease-table tbody svg.is-silver.carlease-icon-sankaku {
    fill: #8A9AA0;
  }
  .carlease-table tbody svg.is-white {
    stroke: var(--text-gray);
  }
  .carlease-table tbody b {
    font-size: 2.25rem;
    font-weight: 600;
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody b {
      font-size: 6vw;
    }
  }
  .carlease-table tbody b.is-gold {
    color: #BBA501;
  }
  .carlease-table tbody b.is-silver {
    color: #8A9AA0;
  }
  .carlease-table tbody b.is-white {
    color: var(--text-gray);
  }
  @media screen and (min-width: 768px) {
    .carlease-table tbody th {
      color: #fff;
      background: #BBA501;
    }
    .carlease-table tbody th.is-silver {
      background: #8A9AA0;
    }
    .carlease-table tbody th.is-white {
      background: var(--bg-gray2);
      color: var(--text-gray);
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody th {
      padding: 4vw 0;
      font-size: 3.25vw;
      font-weight: 700;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody th p {
      margin-top: 1vw;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody td {
      font-size: 4vw;
    }
  }
  @media screen and (max-width: 767px) {
    .carlease-table tbody td:has(b) {
      font-size: 3vw;
    }
  }
}