@charset "UTF-8";
:root {
  --viewport-width: min(100vw, 2000px);
  --b: calc(var(--viewport-width) / 160);
  --header-h: max(8rem, 65px);
}

#loan .index__wrapper {
  display: grid;
  gap: 5px max(1.5rem, 10px);
  padding-top: max(8.5rem, 30px);
  padding-bottom: max(8.5rem, 40px);
}
@media screen and (min-width: 550px) {
  #loan .index__wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
#loan .index__button {
  position: relative;
  display: grid;
  place-items: center;
  padding: max(4.5rem, 35px) 5%;
  border-radius: max(1.2rem, 6px);
  background: #FFC89E;
  -webkit-transition: -webkit-box-shadow 0.3s ease-out;
  transition: -webkit-box-shadow 0.3s ease-out;
  transition: box-shadow 0.3s ease-out;
  transition: box-shadow 0.3s ease-out, -webkit-box-shadow 0.3s ease-out;
  overflow: hidden;
}
#loan .index__button:hover {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
}
#loan .index__button__text {
  text-align: center;
  font-size: max(1.7rem, 15px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .index__button__arrow {
  position: absolute;
  left: 50%;
  bottom: 10px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(5%, 20px);
}
#loan .rate {
  position: relative;
  background: #E7E1D8;
  z-index: 0;
}
#loan .rate::before, #loan .rate::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  min-height: 300px;
  aspect-ratio: 10/3;
  overflow: hidden;
}
#loan .rate::before {
  background: rgba(240, 100, 32, 0.7);
  z-index: -2;
}
#loan .rate::after {
  background: url(../../dist/images/loan-rate-bg.webp);
  background-size: cover;
  mix-blend-mode: luminosity;
  opacity: 0.1;
  z-index: -1;
}
#loan .rate__wrapper {
  padding-top: max(10rem, 50px);
  padding-bottom: max(6rem, 30px);
}
#loan .rate__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: max(3.5rem, 20px);
  margin-bottom: max(5rem, 30px);
}
#loan .rate__header__title__sub {
  color: #fff;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .rate__header__title__main {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: max(2rem, 15px);
     -moz-column-gap: max(2rem, 15px);
          column-gap: max(2rem, 15px);
}
#loan .rate__header__title__main .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#loan .rate__header__title__main .text {
  color: #fff;
  font-size: max(4.5rem, 26px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#loan .rate__header__description {
  color: #fff;
  max-width: max(82rem, 400px);
}
#loan .rate__info {
  padding: max(6.5rem, 40px) 5%;
  background: #fff;
  border-radius: max(1.2rem, 6px);
}
#loan .rate__info__inner {
  display: grid;
  gap: max(2.5rem, 15px);
  margin-top: max(5.5rem, 30px);
}
@media screen and (min-width: 1300px) {
  #loan .rate__info__inner {
    grid-template-rows: 1fr auto;
    grid-template-columns: repeat(3, 1fr);
  }
}
#loan .rate__info__supplement {
  color: #F06420;
  font-size: max(2.4rem, 16px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  margin-top: max(2.5rem, 20px);
}
#loan .rate__info__item {
  display: grid;
  gap: 0;
  padding: max(2rem, 15px);
  background: #F5F1E8;
  border-radius: 6px;
}
@media screen and (min-width: 1300px) {
  #loan .rate__info__item {
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}
#loan .rate__info__item__content {
  padding: max(1.5rem, 10px);
  background: #fff;
}
@media screen and (max-width: 1299px) {
  #loan .rate__info__item__content {
    padding: 5%;
  }
}
#loan .rate__info__item__header {
  text-align: center;
  padding-bottom: max(2rem, 15px);
  margin-bottom: max(1.5rem, 10px);
  border-bottom: 2px dotted #F06420;
}
#loan .rate__info__item__header img {
  width: clamp(150px, 55%, 350px);
}
#loan .rate__info__item__header strong {
  font-size: max(2rem, 16px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .rate__info__item__content h3 {
  color: #F06420;
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: max(1rem, 5px);
}
#loan .rate__info__item__content p {
  font-size: max(1.4rem, 12px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .rate__info__item__content ul {
  margin-top: max(1.5rem, 10px);
}
#loan .rate__info__item__content ul li {
  font-size: max(1.2rem, 11px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  opacity: 0.4;
}
#loan .rate__info__item .btnBox {
  display: grid;
  gap: 10px;
  margin-top: max(2.5rem, 20px);
}
@media screen and (min-width: 1300px) {
  #loan .rate__info__item .btnBox {
    grid-template-rows: repeat(2, 1fr);
  }
}
#loan .rate__info__item .btnBox .btn {
  width: 100%;
  padding-left: 7.5%;
  padding-right: 7.5%;
}
#loan .rate__info__item .btnBox .attention {
  text-align: center;
}
#loan .rate__flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: max(4rem, 20px);
  margin-top: max(5rem, 30px);
}
@media screen and (max-width: 1299px) {
  #loan .rate__flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#loan .rate__flow__title {
  padding: max(2.5rem, 20px);
  background: #46403A;
  border-radius: 6px;
  color: #fff;
  font-size: max(1.6rem, 14px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1300px) {
  #loan .rate__flow__title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
#loan .rate__flow__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 max(1.5rem, 10px);
  grid-template-columns: 1fr auto 1fr auto 1fr;
}
@media screen and (max-width: 767px) {
  #loan .rate__flow__list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-template-columns: 1fr;
    margin-bottom: max(2rem, 15px);
  }
}
#loan .rate__flow__list__arrow {
  margin: auto;
}
#loan .rate__flow__list__arrow svg {
  width: max(2.5rem, 20px);
}
@media screen and (max-width: 767px) {
  #loan .rate__flow__list__arrow svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
#loan .rate__flow__list__item {
  padding: max(3.5rem, 30px) 5%;
  background: #F5F1E8;
  border-radius: max(1.2rem, 6px);
}
#loan .rate__flow__list__item__icon {
  width: 60%;
  max-width: 300px;
  margin: 0 auto;
}
#loan .rate__flow__list__item__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: max(1.5rem, 10px);
}
#loan .rate__flow__list__item__text h4 {
  margin-bottom: max(0.5rem, 5px);
  font-size: max(1.6rem, 14px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .rate__flow__list__item__text p {
  font-size: max(1.4rem, 12px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .rate__support {
  position: relative;
  padding-top: max(8rem, 30px);
  padding-bottom: max(10rem, 90px);
  overflow: hidden;
  z-index: 0;
}
#loan .rate__support__icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
}
#loan .rate__support__icon img {
  position: absolute;
  bottom: 0;
}
#loan .rate__support__icon img:nth-of-type(1) {
  left: 0;
  width: max(36.5rem, 120px);
}
#loan .rate__support__icon img:nth-of-type(2) {
  right: 0;
  width: max(31rem, 120px);
}

#loan .rate__support__fp {
  display: grid;
  padding-top: max(8rem, 50px);
  padding-bottom: max(8rem, 50px);
}
@media screen and (min-width: 1000px) {
  #loan .rate__support__fp {
    grid-template-columns: max(43rem, 300px) 1fr;
  }
}
#loan .rate__support__image {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1000px) {
  #loan .rate__support__image {
    aspect-ratio: 216/173;
  }
}

#loan .rate__support__content__inner {
  padding: max(5.5rem, 30px) 5%;
  background: #F5F1E8;
  border-radius: max(1.2rem, 6px);
  margin-bottom: max(3.5rem, 30px);
}
#loan .rate__support__content__supplement {
  width: 100%;
  padding: 5px 0;
  border-top: 2px dotted #F06420;
  border-bottom: 2px dotted #F06420;
  color: #F06420;
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .rate__support__content h2 {
  font-size: max(3rem, 18px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-top: max(1rem, 10px);
  margin-bottom: max(1rem, 10px);
}

#loan .rate__support__contact__content {
  background: #fff;
  border-radius: max(1.2rem, 6px);
  text-align: center;
  padding: max(2rem, 10px);
}
#loan .rate__support__contact__content h3 {
  padding: max(5.5rem, 30px) 5%;
  border-radius: max(0.6rem, 3px);
  background: #FFE3CE;
  color: #F06420;
  font-size: max(2.4rem, 18px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

#loan .living {
  position: relative;
  background: #E7E1D8;
  z-index: 0;
}
#loan .living::before, #loan .living::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  min-height: 430px;
  aspect-ratio: 10/3;
  overflow: hidden;
}
#loan .living::before {
  background: rgba(177, 106, 0, 0.7);
  z-index: -2;
}
#loan .living::after {
  background: url(../../dist/images/loan-rate-bg.webp);
  background-size: cover;
  mix-blend-mode: luminosity;
  opacity: 0.1;
  z-index: -1;
}

#loan .living__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: max(3.5rem, 20px);
  margin-bottom: max(5rem, 30px);
}
#loan .living__header__title__sub {
  color: #fff;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .living__header__title__main {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: max(2rem, 15px);
     -moz-column-gap: max(2rem, 15px);
          column-gap: max(2rem, 15px);
}
#loan .living__header__title__main small {
  display: inline-block;
  color: inherit;
  font-size: 0.6em;
  line-height: 1.25;
}
#loan .living__header__title__main .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#loan .living__header__title__main .text {
  color: #fff;
  font-size: max(4.5rem, 26px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#loan .living__header__description {
  display: block;
  color: #fff;
  max-width: max(82rem, 400px);
}

#loan .living__header__description span.attention {
  display: block;
}
#loan .living__header__description span.attention small {
  position: relative;
  display: block;
  color: #fff;
  padding-left: 1em;
  margin-bottom: 0.3em;
}
#loan .living__header__description span.attention small::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
}

#loan .living__wrapper {
  padding-top: max(8.5rem, 50px);
  padding-bottom: max(13.5rem, 70px);
}
#loan .living__price {
  border-radius: max(1.2rem, 6px);
  overflow: hidden;
}
#loan .living__price__body {
  display: grid;
  gap: max(5.5rem, 40px);
  padding: max(5.5rem, 40px) 5%;
  background: #FFF;
}
#loan .living__price__body__content {
  display: grid;
  gap: max(2rem, 15px);
}
#loan .living__price__inner {
  display: grid;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: max(2.5rem, 20px);
  overflow-x: auto;
}
@media screen and (min-width: 1000px) {
  #loan .living__price__inner:has(> .living__price__table + .living__price__table) {
    grid-template-columns: repeat(2, 1fr);
    gap: max(4rem, 24px);
  }
}
#loan .living__price__table {
  --table-header: #ffe3ce;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  height: 100%;
  padding: max(3.5rem, 24px) max(2.4rem, 16px);
  background: #F5F1E8;
  border-radius: max(1.2rem, 6px);
}
#loan .living__price__table__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.3em max(1.5rem, 10px);
}
#loan .living__price__table__title h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #F06420;
  font-size: max(2rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__table__title h3::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  width: 0.7em;
  height: auto;
  margin-right: 0.35em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #F06420;
}
#loan .living__price__table__title p {
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 20px 50px;
  margin-bottom: max(3rem, 10px);
}
#loan .living__price__head__title h3 {
  margin-bottom: 0.25em;
  color: #F06420;
  font-size: max(2.8rem, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .living__price__head__title p {
  color: #46403A;
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__head__month {
  margin-left: auto;
  color: #46403A;
  font-size: max(1.4rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__sheetTitle {
  color: #F06420;
  font-size: max(2.2rem, 18px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
#loan .living__price__sheetMeta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.4em max(1.6rem, 12px);
}
#loan .living__price__table__note {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 16em;
          flex: 1 1 16em;
  color: #46403A;
  font-size: max(1.2rem, 11px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.025em;
  text-align: center;
}
#loan .living__price__table__month {
  margin-left: auto;
  font-size: max(1.4rem, 12px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  #loan .living__price__sheetMeta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #loan .living__price__table__note,
  #loan .living__price__table__month {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin-left: 0;
    text-align: left;
  }
}
#loan .living__price__table__heading, #loan .living__price__table__sub, #loan .living__price__table__lead {
  display: block;
  text-align: center;
}
#loan .living__price__table__heading {
  font-size: max(1.5rem, 13px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__table__sub {
  margin-top: 0.15em;
  font-size: max(1.1rem, 10px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .living__price__table__lead {
  margin-top: max(1rem, 8px);
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.025em;
}
#loan .living__price__table th,
#loan .living__price__table td {
  vertical-align: middle;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .living__price__table--primary th,
#loan .living__price__table--primary td {
  padding: max(1.4rem, 12px) max(2rem, 12px);
  border-bottom: 2px solid #FFC89E;
}
#loan .living__price__table--primary th {
  width: 22%;
  min-width: 7em;
  background: var(--table-header);
  text-align: center;
  border-right: 2px solid #FFC89E;
}
#loan .living__price__table--primary td {
  text-align: left;
}
#loan .living__price__table--secondary thead, #loan .living__price__table--tertiary thead {
  background: var(--table-header);
}
#loan .living__price__table--secondary thead tr:first-child th, #loan .living__price__table--tertiary thead tr:first-child th {
  padding: max(1.8rem, 14px) 4% max(1.2rem, 10px);
}
#loan .living__price__table--secondary thead tr:last-child th, #loan .living__price__table--tertiary thead tr:last-child th {
  padding: max(0.8rem, 6px) 4px max(1.2rem, 10px);
  text-align: center;
  border-bottom: 2px solid #FFC89E;
}
#loan .living__price__table--secondary tbody th,
#loan .living__price__table--secondary tbody td, #loan .living__price__table--tertiary tbody th,
#loan .living__price__table--tertiary tbody td {
  padding: max(1.2rem, 10px) 4px;
  text-align: center;
  border-bottom: 2px solid #FFC89E;
}
#loan .living__price__table--secondary thead tr:last-child th:first-child,
#loan .living__price__table--secondary tbody td:first-child {
  border-right: 2px solid #FFC89E;
}
#loan .living__price__table--tertiary th:first-child,
#loan .living__price__table--tertiary td:first-child {
  width: 32%;
}
#loan .living__price__table--tertiary thead tr:last-child th,
#loan .living__price__table--tertiary tbody th,
#loan .living__price__table--tertiary tbody td {
  border-right: 2px solid #FFC89E;
}
#loan .living__price__table--tertiary thead tr:last-child th:last-child,
#loan .living__price__table--tertiary tbody th:last-child,
#loan .living__price__table--tertiary tbody td:last-child {
  border-right: none;
}
#loan .living__price__notes {
  display: grid;
  gap: max(2.4rem, 18px);
}
#loan .living__news {
  margin-top: max(3rem, 20px);
}
#loan .living__news .news__list {
  position: relative;
  display: grid;
  padding: max(5rem, 30px) 5%;
  margin-top: max(2rem, 10px);
  background: #F5F1E8;
  border-radius: max(1.2rem, 6px);
}
#loan .living__news .news__list__item:not(:last-of-type) {
  border-bottom: 2px dotted rgba(70, 64, 58, 0.2);
}
#loan .living__news .news__list__item__link {
  position: relative;
  display: block;
  padding-top: max(1.5rem, 15px);
  padding-bottom: max(1rem, 10px);
  z-index: 0;
  cursor: default;
}
#loan .living__news .news__list__item__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 200, 158, 0.5);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  z-index: -1;
}
#loan .living__news a.news__list__item__link[href]:not([href=""]):not([href="#"]) {
  cursor: pointer;
}
#loan .living__news a.news__list__item__link[href]:not([href=""]):not([href="#"]):hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
#loan .living__news .news__list__item__title {
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .living__news__period {
  padding-top: max(1.5rem, 15px);
  padding-bottom: max(1rem, 10px);
}
#loan .support__wrapper,
#loan .review__wrapper {
  display: grid;
  padding-top: max(8rem, 50px);
  padding-bottom: max(8rem, 50px);
}
@media screen and (min-width: 1000px) {
  #loan .support__wrapper,
  #loan .review__wrapper {
    grid-template-columns: max(43rem, 300px) 1fr;
  }
}
#loan .support__image,
#loan .review__image {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1000px) {
  #loan .support__image,
  #loan .review__image {
    aspect-ratio: 216/173;
  }
}
#loan .support__content__inner,
#loan .review__content__inner {
  padding: max(5.5rem, 30px) 5%;
  background: #F5F1E8;
  border-radius: max(1.2rem, 6px);
  margin-bottom: max(3.5rem, 30px);
}
#loan .support__content__supplement,
#loan .review__content__supplement {
  width: 100%;
  padding: 5px 0;
  border-top: 2px dotted #F06420;
  border-bottom: 2px dotted #F06420;
  color: #F06420;
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .support__content h2,
#loan .review__content h2 {
  font-size: max(3rem, 18px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-top: max(1rem, 10px);
  margin-bottom: max(1rem, 10px);
}
#loan .support__contact,
#loan .review__contact {
  position: relative;
  padding-top: max(8rem, 30px);
  padding-bottom: max(10rem, 90px);
  overflow: hidden;
  z-index: 0;
}
#loan .support__contact__title,
#loan .review__contact__title {
  text-align: center;
  margin-bottom: max(3rem, 20px);
}
#loan .support__contact__title__en,
#loan .review__contact__title__en {
  color: #F06420;
  font-family: YakuHanJP, "Montserrat", sans-serif;
  font-size: max(2rem, 16px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .support__contact__title__main,
#loan .review__contact__title__main {
  font-size: max(3rem, 22px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .support__contact__content,
#loan .review__contact__content {
  display: grid;
  gap: max(2rem, 15px);
}
@media screen and (min-width: 1000px) {
  #loan .support__contact__content,
  #loan .review__contact__content {
    grid-template-columns: repeat(2, 1fr);
  }
}
#loan .support__contact__content__item,
#loan .review__contact__content__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: max(2.5rem, 20px);
  background: #fff;
  border-radius: max(1.2rem, 6px);
  overflow: hidden;
}
#loan .support__contact__content__item h4,
#loan .review__contact__content__item h4 {
  text-align: center;
  padding: max(1rem, 10px) 5%;
  background: #ffe3ce;
  border-radius: 6px;
  color: #F06420;
  font-size: max(2.4rem, 18px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .support__contact__content__item__text,
#loan .review__contact__content__item__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: max(3.5rem, 20px) 0;
}
#loan .support__contact__content__item__text p,
#loan .review__contact__content__item__text p {
  line-height: 1.5;
  margin-bottom: max(2rem, 15px);
}
#loan .support__contact__content__item__text__link,
#loan .review__contact__content__item__text__link {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: max(0.5rem, 5px);
     -moz-column-gap: max(0.5rem, 5px);
          column-gap: max(0.5rem, 5px);
}
#loan .support__contact__content__item__text__link .tel__icon,
#loan .review__contact__content__item__text__link .tel__icon {
  width: 100%;
}
#loan .support__contact__content__item__text__link .tel__text,
#loan .review__contact__content__item__text__link .tel__text {
  color: #F06420;
  font-family: YakuHanJP, "Montserrat", sans-serif;
  font-size: max(4.4rem, 30px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
#loan .support__contact__content__item__text__supplement,
#loan .review__contact__content__item__text__supplement {
  margin-top: max(1rem, 10px);
  color: rgba(70, 64, 58, 0.4);
  font-size: max(1.2rem, 12px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .support__contact__content__item__text .btnBox,
#loan .review__contact__content__item__text .btnBox {
  margin-top: max(2rem, 15px);
}
@media screen and (max-width: 767px) {
  #loan .support__contact__content__item__text .btnBox,
  #loan .review__contact__content__item__text .btnBox {
    width: 100%;
  }
}
#loan .support__contact__image,
#loan .review__contact__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
}
#loan .support__contact__image img,
#loan .review__contact__image img {
  position: absolute;
  bottom: 0;
}
#loan .support__contact__image img:nth-of-type(1),
#loan .review__contact__image img:nth-of-type(1) {
  left: 0;
  width: max(36.5rem, 120px);
}
#loan .support__contact__image img:nth-of-type(2),
#loan .review__contact__image img:nth-of-type(2) {
  right: 0;
  width: max(31rem, 120px);
}
#loan .review__wrapper {
  padding-bottom: 0;
}
#loan .insurance {
  position: relative;
  background: #E7E1D8;
  z-index: 0;
}
#loan .insurance::before, #loan .insurance::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  min-height: 300px;
  aspect-ratio: 10/3;
  overflow: hidden;
}
#loan .insurance::before {
  background: rgba(46, 158, 71, 0.7);
  z-index: -2;
}
#loan .insurance::after {
  background: url(../../dist/images/loan-rate-bg.webp);
  background-size: cover;
  mix-blend-mode: luminosity;
  opacity: 0.1;
  z-index: -1;
}
#loan .insurance__wrapper {
  padding-top: max(10rem, 50px);
  padding-bottom: max(6rem, 30px);
}
#loan .insurance__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  gap: max(3.5rem, 20px);
}
#loan .insurance__header__title__sub {
  color: #fff;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .insurance__header__title__main {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: max(2rem, 15px);
     -moz-column-gap: max(2rem, 15px);
          column-gap: max(2rem, 15px);
}
#loan .insurance__header__title__main .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#loan .insurance__header__title__main .text {
  color: #fff;
  font-size: max(4.5rem, 26px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#loan .insurance__header__description {
  color: #fff;
  max-width: max(82rem, 400px);
}
#loan .insurance__preparation {
  margin-top: max(7rem, 30px);
  padding: max(6rem, 40px) 5%;
  background: #fff;
  border-radius: max(1.2rem, 6px);
}
#loan .insurance__preparation__title {
  font-size: max(3rem, 22px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-bottom: max(2rem, 15px);
}
#loan .insurance__preparation__content {
  padding: max(3.5rem, 20px) max(3.5rem, 10px);
  background: #F5F1E8;
  border-radius: 6px;
}
#loan .insurance__preparation__content:first-of-type {
  margin-top: max(3.5rem, 25px);
}
#loan .insurance__preparation__content:not(:last-of-type) {
  margin-bottom: max(1.5rem, 10px);
}
#loan .insurance__preparation__content + #loan .insurance__preparation__content {
  margin-top: max(2rem, 15px);
}
#loan .insurance__preparation__content h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2E9E47;
  font-size: max(2rem, 16px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-bottom: max(1.5rem, 10px);
}
#loan .insurance__preparation__content h4::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  width: 0.7em;
  height: auto;
  margin-right: 0.35em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #2E9E47;
}
#loan .insurance__preparation__content__description {
  margin-bottom: max(2rem, 15px);
}
#loan .insurance__preparation__content__inner {
  display: grid;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: max(1.5rem, 10px);
}
@media screen and (min-width: 1000px) {
  #loan .insurance__preparation__content__inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
#loan .insurance__preparation__content__group {
  display: grid;
  gap: max(1.5rem, 10px);
}
#loan .insurance__preparation__content__item {
  padding: max(1.5rem, 10px);
  background: #fff;
}
#loan .insurance__preparation__content__item--row {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: max(1rem, 10px) max(1.5rem, 12px);
}
@media screen and (min-width: 550px) {
  #loan .insurance__preparation__content__item--row {
    grid-template-columns: max(12rem, 100px) 1fr;
  }
}
#loan .insurance__preparation__content__item--row p {
  font-size: max(1.4rem, 12px);
  line-height: 1.7;
  letter-spacing: 0.025em;
}
#loan .insurance__preparation__content__item--row .note {
  color: rgba(70, 64, 58, 0.4);
  font-size: max(1.2rem, 10px);
  font-weight: 500;
}
#loan .insurance__preparation__content__item__label {
  display: grid;
  place-items: center;
  align-self: stretch;
  min-height: max(6rem, 50px);
  padding: max(1rem, 8px) 5%;
  border-radius: 6px;
  background: rgba(46, 158, 71, 0.2);
  color: #2E9E47;
  text-align: center;
  font-size: max(1.4rem, 12px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .insurance__preparation__content__item__list {
  display: grid;
  gap: 0.4em;
}
#loan .insurance__preparation__content__item__list li {
  position: relative;
  padding-left: 1em;
  font-size: max(1.4rem, 12px);
  line-height: 1.7;
  letter-spacing: 0.025em;
}
#loan .insurance__preparation__content__item__list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
#loan .insurance__preparation__content__item h5 {
  padding: max(1rem, 10px) 5%;
  margin-bottom: max(1.5rem, 10px);
  border-radius: 6px;
  background: #2E9E47;
  color: #fff;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
#loan .insurance__preparation__content__item b {
  color: #2E9E47;
  font-size: max(1.6rem, 14px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
#loan .insurance__preparation__content__item .supplement {
  display: block;
  margin-top: max(1.5rem, 10px);
  color: rgba(70, 64, 58, 0.4);
  font-size: max(1.2rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .insurance__preparation__content__chips {
  display: grid;
  gap: max(1.5rem, 10px);
  grid-template-columns: repeat(auto-fit, minmax(max(13rem, 120px), 1fr));
}
@media screen and (max-width: 549px) {
  #loan .insurance__preparation__content__chips {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
#loan .insurance__preparation__content__chips li {
  display: grid;
  place-items: center;
  min-height: max(5rem, 44px);
  padding: max(1rem, 8px) 6px;
  background: #E7E1D8;
  border-radius: 6px;
  text-align: center;
  font-size: max(1.4rem, 12px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .point {
  background: #F5F1E8;
}
#loan .point__wrapper {
  display: grid;
  gap: max(5rem, 20px);
  padding-top: max(9rem, 50px);
  padding-bottom: max(9rem, 50px);
}
@media screen and (min-width: 1000px) {
  #loan .point__wrapper {
    grid-template-columns: 1fr max(75.5rem, 400px);
  }
}
#loan .point__text h2 {
  color: #2E9E47;
  font-size: max(3rem, 22px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
}
#loan .point__text h3 {
  margin-top: max(3rem, 20px);
  margin-bottom: max(1.5rem, 10px);
}
#loan .point__text .imageBox {
  width: 100%;
  height: auto;
  aspect-ratio: 48/28;
  background: #DAEAEF;
  border-radius: max(1.2rem, 6px);
  overflow: hidden;
}
#loan .point__text .imageBox img {
  width: 100%;
  height: 100%;
}
#loan .point__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: max(4.5rem, 30px) 5%;
  background: #fff;
}
#loan .point__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}/*# sourceMappingURL=loan.css.map */