@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;600;700&display=swap');
:root {
  --header-height: 0;
  --green-01: #00913d;
  --green-02: #f0fff6;
  --red-01: #df2016;
  --red-font-grade: linear-gradient(90deg, #df2016 0%, #ff4b1a 100%);
  --bdr-color: #c2c2c2;
  --bdr-color-light: #f1f1f1;
  --inner-width: 1000px;
  --min-width-value: 4vw;
  --font-en: "Poppins", sans-serif;
  --arrow-r: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 344.69 315.28'%3E%3Cpath d='m337.9,142.55L202.14,6.79c-9.05-9.05-21.12-9.05-30.17,0s-9.05,21.12,0,30.17l99.56,99.56H21.12c-12.07,0-21.12,9.05-21.12,21.12,0,6.03,1.51,10.56,6.03,15.08s9.05,6.03,15.08,6.03h250.41l-99.56,99.56c-9.05,9.05-9.05,21.12,0,30.17,9.05,9.05,21.12,9.05,30.17,0l135.76-135.76c9.05-9.05,9.05-21.12,0-30.17Z' fill='rgb(255,255,255)'/%3E%3C/svg%3E");
  @media screen and (max-width: 767px) {
    --header-height: 0;
    --min-width-value: 10vw;
    /* --inner-width: 311px; */
  }
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
#wrap {
  padding-top: var(--header-height);
}
.inner-wrap {
  width: min(var(--inner-width), 100% - var(--min-width-value));
  margin-inline: auto;
}
.layout-l {
  text-align: left !important;
}
.layout-c {
  text-align: center !important;
}
.layout-r {
  text-align: right !important;
}
.txt-n {
  font-weight: normal !important;
}
.txt-b {
  font-weight: bold !important;
}
.mt-txt{
  margin-top: 0.5em!important;
}
.w5p {
  width: 5% !important;
}
.w8p {
  width: 8% !important;
}
.w10p {
  width: 10% !important;
}
.w11p {
  width: 11% !important;
}
.w12p {
  width: 12% !important;
}
.w15p {
  width: 15% !important;
}
.w16p {
  width: 16% !important;
}
.w20p {
  width: 20% !important;
}
.w24p {
  width: 24% !important;
}
.w25p {
  width: 25% !important;
}
.w30p {
  width: 30% !important;
}
.w32p {
  width: 32% !important;
}
.w35p {
  width: 35% !important;
}
.w40p {
  width: 40% !important;
}
.w45p {
  width: 45% !important;
}
.w48p {
  width: 48% !important;
}
.w50p {
  width: 50% !important;
}
.w55p {
  width: 55% !important;
}
.w56p {
  width: 56% !important;
}
.w60p {
  width: 60% !important;
}
.w64p {
  width: 64% !important;
}
.w65p {
  width: 65% !important;
}
.w70p {
  width: 70% !important;
}
.w75p {
  width: 75% !important;
}
.w80p {
  width: 80% !important;
}
.w85p {
  width: 85% !important;
}
.w90p {
  width: 90% !important;
}
.w95p {
  width: 95% !important;
}
.w100p {
  width: 100% !important;
}
.wmax {
  width: 100% !important;
  height: auto !important;
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-w5p {
    width: 5% !important;
  }
  .sp-w8p {
    width: 8% !important;
  }
  .sp-w10p {
    width: 10% !important;
  }
  .sp-w11p {
    width: 11% !important;
  }
  .sp-w12p {
    width: 12% !important;
  }
  .sp-w15p {
    width: 15% !important;
  }
  .sp-w16p {
    width: 16% !important;
  }
  .sp-w20p {
    width: 20% !important;
  }
  .sp-w24p {
    width: 24% !important;
  }
  .sp-w25p {
    width: 25% !important;
  }
  .sp-w30p {
    width: 30% !important;
  }
  .sp-w32p {
    width: 32% !important;
  }
  .sp-w35p {
    width: 35% !important;
  }
  .sp-w40p {
    width: 40% !important;
  }
  .sp-w45p {
    width: 45% !important;
  }
  .sp-w48p {
    width: 48% !important;
  }
  .sp-w50p {
    width: 50% !important;
  }
  .sp-w55p {
    width: 55% !important;
  }
  .sp-w56p {
    width: 56% !important;
  }
  .sp-w60p {
    width: 60% !important;
  }
  .sp-w64p {
    width: 64% !important;
  }
  .sp-w65p {
    width: 65% !important;
  }
  .sp-w70p {
    width: 70% !important;
  }
  .sp-w75p {
    width: 75% !important;
  }
  .sp-w80p {
    width: 80% !important;
  }
  .sp-w85p {
    width: 85% !important;
  }
  .sp-w90p {
    width: 90% !important;
  }
  .sp-w95p {
    width: 95% !important;
  }
  .sp-w100p {
    width: 100% !important;
  }
  .sp-wmax {
    width: 100% !important;
    height: auto !important;
  }
  .pc-only {
    display: none !important;
  }
}
/*---------------------------------------------
 header
---------------------------------------------*/
#header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
  .header-inner {
    width: min(var(--inner-width), 100% - var(--min-width-value));
    margin-inline: auto;
    display: grid;
    grid-template: "logo . right" /auto 1fr auto;
    height: var(--header-height);
    align-items: center;
    .logo {
      @media screen and (max-width: 767px) {
        max-width: 192px;
      }
    }
  }
}
#footer {
  padding: 40px 0;
  background: #fff;
  text-align: center;
  font-size: 1.4rem;
  @media screen and (max-width: 767px) {
    font-size: 1.1rem;
    padding: 20px 0;
  }
  .footer-inner {
    width: min(var(--inner-width), 100% - var(--min-width-value));
    margin-inline: auto;
    display: grid;
  }
  .site-copyright {
    margin-top: 10px;
  }
}
.top #contents {
  background: url(../images/bg_base.png) no-repeat top -230px center /cover;
  @media screen and (max-width: 767px) {
    background: url(../images/bg_base_sp.png) no-repeat top -140px center /cover;
  }
}
#contents {
  background: #f7f7f7 url(../images/bg_base_loan_home.png) no-repeat top -90px center /100%;
  @media screen and (max-width: 1290px) {
    background: url(../images/bg_base_loan_home.png) no-repeat top -90px center /cover;
  }
  @media screen and (max-width: 934px) {
    background: url(../images/bg_base_loan_home.png) no-repeat top -90px center / cover;
  }
  @media screen and (max-width: 767px) {
    background: url(../images/bg_base_sp.png) no-repeat top -340px center /cover;
  }
}
.breadcrumbs {
  font-size: 1.2rem;
  background: #fff;
  white-space: nowrap;
  ul {
    display: flex;
    overflow-x: auto;
    padding: 12px 0;
    gap: 6px;
    @media screen and (max-width: 767px) {
      padding: 6px 0;
    }
    li {
      &:not(:first-child) {
        &:before {
          content: "";
          background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.5' height='11.5'%3E%3Cpath fill-rule='evenodd' stroke='rgb(17, 17, 17)' stroke-width='1' stroke-linecap='round' stroke-linejoin='miter' fill='none' d='M1.500,1.500 L5.500,5.501 L1.500,9.501'/%3E%3C/svg%3E") no-repeat center /8px auto;
          display: inline-block;
          width: 5px;
          height: 9px;
          margin-right: 6px;
        }
      }
    }
  }
}
.mv-section {
  padding: 36px 20px 0;
  text-align: center;
  @media screen and (max-width: 767px) {
    padding: 36px 16px;
  }
  .hd01 {
    font-size: 5.6rem;
    font-weight: bold;
    line-height: 1.25;
    margin-bottom: 10px;
    width: fit-content;
    margin-inline: auto;
    background: var(--red-font-grade);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    @media screen and (max-width: 767px) {
      font-size: 3rem;
    }
  }
  .lead {
    font-size: 1.6rem;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
    }
  }
  .mv-img {
    display: block;
    margin-top: 36px;
    margin-bottom: 80px;
    @media screen and (max-width: 767px) {
      margin: 20px 0 40px;
      height: auto;
    }
  }
}
.num-btn-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  @media screen and (max-width: 767px) {
    width: 100%;
    gap: 10px;
  }
  .num-btn {
    display: flex;
    height: 74px;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: bold;
    position: relative;
    padding: 2px;
    background-image: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
    border-radius: 8px;
    color: #fff;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    @media screen and (max-width: 767px) {
      font-size: 1.5rem;
      height: 70px;
    }
    &::before {
      background: #fff;
      border-radius: 6px;
      content: '';
      display: block;
      width: calc(100% - 4px);
      height: calc(100% - 4px);
      opacity: 0;
      position: absolute;
      left: 2px;
      top: 2px;
      z-index: 1;
      transition: opacity .3s ease;
    }
    &:after {
      content: "";
      width: 16px;
      height: 10px;
      background: #fff;
      position: absolute;
      right: 22px;
      top: 50%;
      transform: translateY(-50%);
      clip-path: polygon(50% 100%, 0 0, 100% 0);
      z-index: 3;
      @media screen and (max-width: 767px) {
        right: auto;
        top: auto;
        left: 50%;
        bottom: 10px;
        transform: translateX(-50%);
        width: 12px;
        height: 7px;
      }
    }
    .txt {
      position: relative;
      z-index: 2;
    }
    .num {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 76px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-en);
      font-weight: 600;
      font-size: 2.4rem;
      background: #ffd7d4;
      clip-path: circle(64% at 32%);
      color: #ff000a;
      z-index: 3;
      @media screen and (max-width: 767px) {
        background: #ffd7d4;
        width: 44px;
        height: 30px;
        font-size: 1.6rem;
        clip-path: circle(66% at 20% 20%);
        padding-right: 12px;
      }
    }
    em {
      font-weight: bold;
      font-size: 2.8rem;
      @media screen and (max-width: 767px) {
        font-size: 2.1rem;
      }
    }
  }
  &.btn-1 {
    grid-template-columns: 1fr;
    .num-btn {
      margin-inline: auto;
      max-width: 300px;
    }
  }
}
.section-objective {
  padding: 96px 0 114px;
  @media screen and (max-width: 767px) {
    padding: 24px 0 60px;
  }
  .inner-wrap {
    @media screen and (max-width: 767px) {
      width: 84%;
    }
  }
}
.top-lead {
  background: #fff;
  color: var(--green-01);
  font-weight: bold;
  border: 1px solid;
  padding: 10px 20px;
  border-radius: 100px;
  width: fit-content;
  margin-inline: auto;
  position: relative;
  @media screen and (max-width: 767px) {
    font-size: 1.2rem;
  }
  &:before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--green-01);
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: rotate(-45deg) translate(-60%, 0px);
  }
}
.top-hd02 {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  font-size: 4rem;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 52px;
  align-items: baseline;
  @media screen and (max-width: 767px) {
    font-size: 2.4rem;
    margin-bottom: 38px;
  }
  &:first-child {
    margin-top: 0;
  }
  .num {
    font-family: var(--font-en);
    font-weight: 600;
    font-size: 2.8rem;
    background: url(../images/icon_tomato@2x.png) no-repeat center /contain;
    width: 56px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    color: #fff;
    padding-top: 10px;
    margin-right: 10px;
    @media screen and (max-width: 767px) {
      font-size: 1.6rem;
      width: 34px;
      padding-top: 5px;
      margin-right: 5px;
    }
  }
  strong {
    font-weight: bold;
    font-size: 4.8rem;
    background: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    @media screen and (max-width: 767px) {
      font-size: 2.8rem;
    }
  }
}
.top-hd02+.hd03 {
  margin-top: 0;
}
.hd03 {
  font-size: 2.8rem;
  font-weight: bold;
  border-bottom: 2px solid;
  border-image: linear-gradient(90deg, #cf1e15 0%, #fe4b19 20%, #e4e4e4 20%) 1;
  padding-bottom: 16px;
  margin-bottom: 42px;
  margin-top: 56px;
  @media screen and (max-width: 767px) {
    font-size: 1.8rem;
    padding-bottom: 8px;
    border-image: linear-gradient(90deg, #cf1e15 0%, #fe4b19 34%, #e4e4e4 34%) 1;
    margin-bottom: 16px;
    margin-top: 36px;
  }
  .hd03-top {
    font-size: 1.8rem;
    display: block;
    font-weight: bold;
    color: var(--green-01);
    margin-bottom: 5px;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
      margin-bottom: 2px;
    }
  }
  strong {
    color: var(--red-01);
    font-weight: bold;
  }
}
.hd04 {
  margin-top: 40px;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 20px;
  position: relative;
  @media screen and (max-width: 767px) {
    font-size: 1.6rem;
    margin-top: 20px;
  }
  &:before {
    position: absolute;
    top: 12px;
    left: 0px;
    display: block;
    content: "";
    width: 10px;
    aspect-ratio: 1;
    background: var(--green-01);
    border-radius: 20px;
    @media screen and (max-width: 767px) {
      width: 8px;
      top: 8px;
    }
  }
}
.box-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 32px;
  @media screen and (max-width: 767px) {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 16px;
  }
  .box {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 24px;
    padding: 30px 30px 78px;
    position: relative;
    @media screen and (max-width: 767px) {
      padding: 16px 26px 18px;
      font-size: 1.2rem;
    }
    &:before {
      display: block;
      position: absolute;
      right: 32px;
      bottom: 32px;
      content: "";
      width: 30px;
      aspect-ratio: 1;
      border-radius: 50%;
      background: var(--red-01) var(--arrow-r) no-repeat center /12px auto;
      transition: all .3s ease;
      @media screen and (max-width: 767px) {
        width: 22px;
        right: 26px;
        bottom: 26px;
      }
    }
    .hd {
      text-align: center;
      font-weight: bold;
      font-size: 1.7rem;
      line-height: 1.25;
      margin-block: auto;
      @media screen and (max-width: 767px) {
        margin-bottom: 0;
        font-size: 1.4rem;
        line-height: 1.5;
      }
      small {
        font-size: 1.4rem;
        @media screen and (max-width: 767px) {
          font-size: 1.2rem;
        }
      }
      strong {
        font-weight: bold;
        font-size: 2.6rem;
        color: var(--red-01);
        @media screen and (max-width: 767px) {
          font-size: 1.7rem;
        }
      }
    }
    &>img {
      display: block;
      margin-inline: auto;
      height: 190px;
      object-fit: contain;
      @media screen and (max-width: 767px) {
        zoom: 0.78;
      }
    }
    .text {
      margin-top: 12px;
      @media screen and (max-width: 767px) {
        padding-right: 40px;
        margin-top: 0;
        line-height: 1.7;
      }
    }
  }
}
.card-wrap {
  &.col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 18px;
    }
    .card {
      grid-template:
        "img" 341px
        "body"
        / 1fr;
      .card-text {
        margin-top: -32px;
        padding: 58px 40px 46px;
        .card-text-text {
          padding: 0px 80px 0 5px;
          border-bottom: none;
          @media screen and (max-width: 767px) {
            padding: 0;
            padding-right: 40px;
          }
        }
      }
    }
  }
  &.col3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      gap: 18px;
    }
    .card {
      grid-template:
        "img" 220px
        "body"
        / auto;
      .card-text {
        background: #fff;
        justify-content: flex-start;
        padding: 16px 32px 32px;
        position: relative;
        &::before {
          background: url(../images/bg_wave_col.png) no-repeat center bottom / 100% auto;
          content: '';
          display: block;
          width: 100%;
          height: 59px;
          position: absolute;
          left: 0;
          bottom: calc(100% - 10px);
          @media screen and (max-width: 767px) {
            display: none;
          }
        }
        &::after {
          right: 32px;
          bottom: 32px;
        }
        .card-text-hd {
          font-size: 2rem;
          @media screen and (max-width: 767px) {
            font-size: 1.6rem;
            line-height: 1.3;
          }
          .sub-txt {
            font-size: 1.6rem;
            @media screen and (max-width: 767px) {
              font-size: 1.2rem;
              display: inline-block;
            }
          }
        }
        .card-text-text {
          padding: 0px 40px 0 0;
          border-bottom: none;
          @media screen and (max-width: 767px) {
            padding: 0;
            padding-right: 40px;
          }
          .txt-b {
            @media screen and (max-width: 767px) {
              font-size: 1.4rem;
            }
          }
        }
      }
    }
  }
  &.img-right {
    .card {
      grid-template: "body img"
        / 1fr 1fr;
      .card-tag {
        @media screen and (min-width: 768px) {
          left: auto;
          right: 0;
          border-radius: 30px 0 0 30px;
        }
      }
      .card-text {
        padding: 60px 158px 60px 45px;
        margin-right: -24px;
        &:after {
          right: 82px;
        }
      }
    }
  }
  .card {
    background: #fff;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    display: grid;
    grid-template: "img body"
      /1fr 1fr;
    border: 1px solid #ebebeb;
    @media screen and (max-width: 767px) {
      grid-template: "img"
        "body"
        /1fr !important;
    }
    .card-tag {
      position: absolute;
      top: 24px;
      left: 0;
      background: var(--red-01);
      border-radius: 0 30px 30px 0;
      color: #fff;
      font-size: 1.8rem;
      font-weight: bold;
      padding: 2px 8px;
      z-index: 2;
      @media screen and (max-width: 767px) {
        font-size: 1.3rem;
      }
    }
    img {
      grid-area: img;
      height: 100%;
      object-fit: cover;
      position: relative;
      transition: all .3s ease;
      @media screen and (max-width: 767px) {
        width: 100%;
        height: auto;
      }
    }
    .card-text {
      background: #fff;
      grid-area: body;
      padding: 60px 120px 60px 90px;
      display: flex;
      flex-direction: column;
      justify-content: end;
      position: relative;
      z-index: 0;
      @media screen and (max-width: 767px) {
        margin-top: -28px !important;
        margin-inline: 0 !important;
        padding: 42px 24px 24px !important;
        background: url(../images/bg_wave_col.png) no-repeat top /110% 35px, linear-gradient(to bottom, transparent 59px, #fff 43px) !important;
      }
      &:before {
        content: "";
        position: absolute;
        z-index: -1;
        @media screen and (max-width: 767px) {
          zoom: 0.5;
        }
      }
      &:after {
        content: "";
        position: absolute;
        right: 48px;
        bottom: 48px;
        width: 30px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: var(--red-01) var(--arrow-r) no-repeat center / 12px auto;
        transition: all .3s ease;
        @media screen and (max-width: 767px) {
          width: 22px;
          right: 24px !important;
          bottom: 24px !important;
        }
      }
      .card-text-hd {
        font-size: 2.4rem;
        font-weight: bold;
        margin-bottom: 16px;
        color: var(--green-01);
        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
          margin-bottom: 10px;
        }
      }
      .card-text-text {
        font-size: 1.6rem;
        padding: 0px 5px 30px 5px;
        border-bottom: #e6e6e6 1px solid;
        @media screen and (max-width: 767px) {
          font-size: 1.2rem;
          padding: 0;
          padding-right: 40px;
          border-bottom: none;
        }
      }
    }
  }
}
.card-wrap .loan-reform .card-text,
.card-wrap .loan-card .card-text {
  margin-left: -30px;
  background: url(../images/bg_wave_box.png) no-repeat left,
    linear-gradient(to right, transparent 43px, #fff 43px);
}
.card-wrap .loan-reform .card-text {
  &:before {
    background: url(../images/ill_reform@2x.png) no-repeat center /137px auto;
    width: 137px;
    height: 140px;
    right: 20px;
    top: 20px;
  }
}
.card-wrap .loan-card .card-text {
  background: url(../images/bg_wave_box.png) no-repeat left,
    linear-gradient(to right, transparent 43px, #fff 43px);
  &:before {
    background: url(../images/ill_card@2x.png) no-repeat center /160px auto;
    width: 160px;
    height: 108px;
    right: 25px;
    top: 25px;
    @media screen and (max-width: 767px) {
      top: 38px;
      right: 30px;
    }
  }
}
.card-wrap .loan-free .card-text {
  background: url(../images/bg_wave_box_r.png) no-repeat right,
    linear-gradient(to left, transparent 43px, #fff 43px);
  &:before {
    background: url(../images/ill_free@2x.png) no-repeat center /137px auto;
    width: 137px;
    height: 140px;
    right: 52px;
    top: 25px;
  }
}
.card-wrap .loan-car .card-text {
  background: url(../images/bg_wave_col.png) no-repeat top,
    linear-gradient(to bottom, transparent 59px, #fff 43px);
  &:before {
    background: url(../images/ill_car@2x.png) no-repeat center /160px auto;
    width: 160px;
    height: 96px;
    right: 20px;
    top: 60px;
  }
}
.card-wrap .loan-education .card-text {
  background: url(../images/bg_wave_col.png) no-repeat top,
    linear-gradient(to bottom, transparent 59px, #fff 43px);
  &:before {
    background: url(../images/ill_education@2x.png) no-repeat center /136px auto;
    width: 136px;
    height: 160px;
    right: 20px;
    top: 18px;
  }
}
.circle-wrap {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  @media screen and (max-width: 767px) {
    margin-top: 12px;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
  .col {
    @media screen and (max-width: 767px) {
      display: grid;
      grid-template:
        "img ." 1fr
        "img sub"
        "img ttl"
        "img ." 1fr /
        140px 1fr;
      gap: 0 24px;
      text-align: left;
    }
    img {
      grid-area: img;
    }
    .sub {
      grid-area: sub;
      margin-top: 16px;
      font-weight: bold;
      font-family: var(--font-en);
      color: var(--red-01);
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
        margin-top: 12px;
      }
    }
    .ttl {
      grid-area: ttl;
      font-weight: bold;
      font-size: 1.8rem;
      margin-top: 6px;
      @media screen and (max-width: 767px) {
        font-size: 1.4rem;
        margin-top: 4px;
      }
    }
  }
}
.col-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  @media screen and (max-width: 767px) {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
  .col {
    @media screen and (max-width: 767px) {
      display: grid;
      grid-template:
        "img ." 1fr
        "img list" auto
        "img ." 1fr/
        152px 1fr;
    }
    img {
      grid-area: img;
      border-radius: 10px;
      overflow: hidden;
    }
    ul {
      grid-area: list;
      margin: 16px 16px 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
      font-weight: bold;
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
        gap: 4px;
        margin-top: 0;
      }
      li {
        position: relative;
        padding-left: 1em;
        &:before {
          position: absolute;
          top: 10px;
          left: 0px;
          display: block;
          content: "";
          width: 6px;
          aspect-ratio: 1;
          background: var(--red-01);
          border-radius: 20px;
          @media screen and (max-width: 767px) {
            width: 4px;
            top: 8px;
          }
        }
      }
    }
  }
}
.section-product {
  margin-inline: auto;
  background: url(../images/bg_base_red.png) no-repeat top /cover;
  padding: 180px 40px 100px;
  @media screen and (max-width: 767px) {
    background-size: 100% auto;
    padding: 60px 10px 42px;
  }
}
.section-product-box {
  width: min(1286px, 100%);
  margin-inline: auto;
  background: linear-gradient(to bottom, #ffdcdc 0, #fff 100px, #fff 100%);
  padding: 72px 40px 104px;
  border-radius: 24px;
  @media screen and (max-width: 767px) {
    padding: 55px 0px 62px;
  }
}
.section-contact {
  background: url(../images/bg_contact.png) no-repeat center /cover;
  padding: 80px 40px 80px;
  position: relative;
  @media screen and (max-width: 767px) {
    padding: 42px 10px 40px;
  }
  &:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-image: var(--red-font-grade);
    @media screen and (max-width: 767px) {
      height: 2px;
    }
  }
}
.contact-box {
  background: #fff;
  padding: 46px 40px 36px;
  border-radius: 24px;
  text-align: center;
  @media screen and (max-width: 767px) {
    padding: 24px;
  }
  &+& {
    margin-top: 10px;
  }
  .hd {
    font-size: 2.4rem;
    font-weight: bold;
    @media screen and (max-width: 767px) {
      font-size: 1.7rem;
      line-height: 1.3;
    }
    strong {
      color: var(--red-01);
    }
  }
  .ttl {
    font-weight: bold;
    margin-bottom: 10px;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
      margin-bottom: 6px;
    }
  }
  .mini {
    font-size: 1.4rem;
    font-weight: bold;
    @media screen and (max-width: 767px) {
      font-size: 1.1rem;
    }
  }
  .contact-info+.ttl {
    margin-top: 32px;
    margin-bottom: 20px;
  }
  .btn {
    max-width: 312px;
    margin-inline: auto;
    margin-bottom: 10px;
  }
  .tel {
    font-size: 4.4rem;
    font-family: var(--font-en);
    font-weight: 600;
    color: var(--green-01);
    line-height: 1.2;
    @media screen and (max-width: 767px) {
      font-size: 3.1rem;
    }
    a {
      color: inherit;
      pointer-events: none;
      position: relative;
      display: inline-block;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      word-break: break-all;
      @media screen and (max-width: 767px) {
        pointer-events: inherit;
      }
      &:before {
        content: "";
        display: inline-block;
        background: url(../images/icon_call@2x.png) no-repeat center /contain;
        width: 32px;
        aspect-ratio: 1;
        @media screen and (max-width: 767px) {
          width: 24px;
        }
      }
    }
  }
  .contact-info {
    font-size: 1.4rem;
    margin-top: 6px;
    @media screen and (max-width: 767px) {
      font-size: 1.1rem;
      margin-top: 0;
    }
  }
  .col {
    padding: 16px 0 10px;
    @media screen and (max-width: 767px) {
      padding: 20px 0px !important;
    }
    &:nth-child(1) {
      padding-right: 30px;
    }
    &:nth-child(2) {
      padding-left: 30px;
    }
    &:not(:first-child) {
      border-left: 2px solid #e6e6e6;
      @media screen and (max-width: 767px) {
        border-left: none;
        border-top: 1px solid #e6e6e6;
      }
    }
  }
}
.contact-col-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 24px;
  @media screen and (max-width: 767px) {
    grid-template-columns: 1fr;
    margin-top: 0;
  }
  &.support {
    .col {
      padding: 5px 30px;
      &:last-child {
        padding-bottom: 0 !important;
      }
      .btn {
        max-width: 312px;
        margin-inline: auto;
      }
    }
    & .mini {
      font-weight: normal;
    }
    & .tel {
      & a {
        &:before {
          width: 42px;
          height: 33px;
          background: url(../images/icon_free_call@2x.png) no-repeat center /contain;
        }
      }
    }
  }
}
.btn-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3vw, 32px);
  .btn {
    height: 100%;
  }
  &.btn1 {
    grid-template-columns: 1fr;
  }
  &.btn2 {
    grid-template-columns: repeat(2, 1fr);
  }
  @media screen and (max-width: 767px) {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
    &.btn2 {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  &.btn-center {
    display: flex;
    justify-content: center;
    >li {
      width: calc((100% - 64px) / 3);
      &:only-child {
        min-width: 312px;
        @media screen and (max-width: 767px) {
          min-width: auto;
        }
      }
      @media screen and (max-width: 767px) {
        width: 100%;
      }
    }
    &.btn-1 {
      flex-direction: column;
      &.btn-center {
        align-items: center;
      }
    }
    &.sp-btn-1 {
      @media screen and (max-width: 767px) {
        flex-direction: column;
      }
    }
  }
}
.btn {
  min-height: 64px;
  display: grid;
  grid-template: "icon btn";
  background-image: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
  border-radius: 8px;
  color: #fff;
  align-items: center;
  font-weight: bold;
  position: relative;
  text-align: center;
  width: 100%;
  justify-content: center;
  padding: 14px 36px;
  @media screen and (max-width: 767px) {
    min-height: 50px;
    font-size: 1.2rem;
  }
  span {
    display: inline-flex;
    align-items: center;
  }
  &[class*="icon-"] {
    @media screen and (max-width: 767px) {
      font-size: 1.4rem;
    }
  }
  &[class*="icon-"] span:before {
    content: "";
    grid-area: icon;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    position: relative;
    z-index: 1;
    @media screen and (max-width: 767px) {
      width: 20px;
      height: 20px;
    }
  }
  &.icon-card span:before {
    background: url(../images/icon_loan_01.svg) no-repeat center /contain;
  }
  &.icon-free span:before {
    background: url(../images/icon_loan_02.svg) no-repeat center /contain;
  }
  &.icon-car span:before {
    background: url(../images/icon_loan_03.svg) no-repeat center /contain;
  }
  &.icon-education span:before {
    background: url(../images/icon_loan_04.svg) no-repeat center /contain;
  }
  &.icon-housing span:before {
    background: url(../images/icon_loan_05.svg) no-repeat center /contain;
  }
  &.icon-reform span:before {
    background: url(../images/icon_loan_06.svg) no-repeat center /contain;
  }
  &:after {
    content: "";
    grid-area: arrow;
    width: 12px;
    height: 10px;
    background: currentColor;
    mask: var(--arrow-r) no-repeat center /contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    @media screen and (max-width: 767px) {
      right: 12px;
      width: 10px;
    }
  }
  &[target="_blank"]::after {
    background: url(../images/icon_external.svg) no-repeat center /contain;
    mask: unset;
    width: 16px;
    height: 16px;
    right: 16px;
    @media screen and (max-width: 767px) {
      width: 14px;
      height: 14px;
    }
  }
  &[href*=".pdf"] {
    padding-inline: 40px;
  }
  &[href*=".pdf"]::after {
    background: url(../images/icon_pdf.svg) no-repeat center /contain;
    width: 20px;
    height: 20px;
    right: 16px;
    @media screen and (max-width: 767px) {
      width: 16px;
      height: 16px;
    }
  }
  &.white {
    background: #fff;
    color: var(--red-01);
    &[target="_blank"]::after {
      background-image: url(../images/icon_external_red.svg);
    }
    &[href*=".pdf"]::after {
      background-image: url(../images/icon_pdf_red.svg);
    }
  }
  &.bdr-white {
    outline: 1px solid rgba(255, 114, 114, .5);
  }
  &.anchor::after {
    content: "";
    position: absolute;
    mask: none;
    width: 10px;
    height: 12px;
    background: url(/personal/loan/assets/images/icon_arr_01.png) no-repeat center/cover;
    @media screen and (max-width: 767px) {
      bottom: 13px;
    }
  }
}
.section-product-bottom {
  margin-top: 100px;
  @media screen and (max-width: 767px) {
    margin-top: 42px;
  }
}
.f-up {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s ease;
  &.is-show {
    opacity: 1;
    transform: translateY(0);
  }
}
/* loan home */
.page-ttl-section {
  padding: 48px 48px 0;
  --inner-width: 920px;
  @media screen and (max-width: 767px) {
    padding: 26px 16px;
  }
  .ttl-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    width: min(1200px, 100%);
    margin-inline: auto;
    @media screen and (max-width: 767px) {
      flex-direction: column;
      align-items: start;
      gap: 30px;
    }
  }
  .page-ttl {
    font-size: min(5.2rem, 4vw);
    font-weight: bold;
    line-height: 1.25;
    padding-left: 40px;
    position: relative;
    margin-top: -64px;
    @media screen and (max-width: 767px) {
      padding-left: 20px;
      font-size: 2.8rem;
      margin-top: 0;
    }
    &::before {
      background: var(--red-01);
      border-radius: 4px;
      content: '';
      display: block;
      width: 8px;
      height: calc(100% - 0.25em);
      position: absolute;
      left: 0;
      top: .15em;
      @media screen and (max-width: 767px) {
        width: 4px;
      }
    }
  }
  .ttl-img {
    margin-right: -30px;
    width: min(647px, 54%);
    @media screen and (max-width: 767px) {
      margin-right: 0;
      width: 100%;
      img {
        width: 100%;
        height: auto;
      }
    }
  }
  .loan-info-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: -30px;
    position: relative;
    @media screen and (max-width: 767px) {
      margin-top: 20px;
      width: 100%;
      gap: 6px;
    }
    .list-item {
      background: #fff;
      border-radius: 999px;
      display: flex;
      align-items: center;
      gap: 15px;
      font-size: 1.8rem;
      font-weight: bold;
      min-height: 60px;
      padding: 8px 14px;
      @media screen and (max-width: 767px) {
        border-radius: 16px;
        flex-direction: column;
        gap: 8px;
        font-size: 1.3rem;
        padding: 12px 20px;
        text-align: center;
      }
      &::before {
        background: url(../images/icon_check_mark.svg) no-repeat center center / contain;
        content: '';
        display: block;
        width: 30px;
        height: 30px;
        @media screen and (max-width: 767px) {
          width: 24px;
          height: 24px;
        }
      }
    }
  }
}
.interest-rate-section {
  margin-top: 48px;
  @media screen and (max-width: 767px) {
    margin-top: 8px;
  }
  .inner-wrap {
    width: min(920px, 100% - var(--min-width-value));
    @media screen and (max-width: 767px) {
      width: 82%;
    }
  }
}
.interest-rate-table {
  background: #fff;
  border: 1px solid var(--bdr-color);
  border-radius: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 24px;
  @media screen and (max-width: 767px) {
    grid-template-columns: 1fr;
    border: none;
    gap: 0px;
    background: none;
  }
  .table-col {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    @media screen and (max-width: 767px) {
      background: #fff;
      margin-top: 12px;
      border: 1px solid var(--bdr-color);
      border-radius: 8px;
      &:first-child {
        margin-top: 0;
      }
    }
    @media screen and (min-width: 768px) {
      &:first-child {
        .table-head {
          border-radius: 16px 0 0 0;
        }
      }
      &:last-child {
        .table-head {
          border-radius: 0 16px 0 0;
        }
      }
      &:not(:first-child) {
        .table-head {
          border-left: 1px solid #e6e6e6;
        }
        .table-body::before {
          background: #e6e6e6;
          content: '';
          display: block;
          width: 1px;
          height: calc(100% - 20px);
          position: absolute;
          left: 0;
          top: 10px;
        }
      }
    }
    &.col-3 {
      .table-body-wrap {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        @media screen and (max-width: 767px) {
          grid-template-columns: 1fr;
        }
        .table-body {
          display: grid;
          grid-template-rows: subgrid;
          grid-row: span 3;
          @media screen and (max-width: 767px) {
            padding-bottom: 6px;
            position: relative;
            &+& {
              padding-top: 4px;
              &:before {
                content: "";
                position: absolute;
                top: 0;
                left: 20px;
                right: 20px;
                height: 1px;
                background: var(--bdr-color-light);
              }
            }
            &:last-child {
              padding-bottom: 10px;
            }
          }
        }
      }
    }
  }
  .table-head {
    background: #525252;
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
      padding: 6px;
      border-radius: 8px 8px 0 0;
    }
  }
  .table-body {
    padding: 24px 8px;
    position: relative;
    text-align: center;
    @media screen and (max-width: 767px) {
      display: grid;
      grid-template: "left right1"
        "left right2" /auto 1fr;
      padding: 10px 40px 10px;
      gap: 0 10px;
      &:has(.campaign-balloon) {
        grid-template: "left right1"
          ". ." 16px /auto 1fr;
      }
    }
    .applying-interest {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 50px;
      @media screen and (max-width: 767px) {
        grid-area: left;
        align-items: start;
        min-height: auto;
        margin-top: 6px;
      }
      span {
        border: 1px solid var(--green-01);
        border-radius: 999px;
        color: var(--green-01);
        display: inline-block;
        font-size: 1.4rem;
        line-height: 1.25;
        min-width: 128px;
        padding: 5px 16px;
        @media screen and (max-width: 767px) {
          font-size: 1.2rem;
          min-width: 108px;
          padding: 3px 16px;
        }
      }
    }
    .rate-wrap {
      color: var(--red-01);
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.2;
      @media screen and (max-width: 767px) {
        grid-area: right1;
        font-size: 1.6rem;
        line-height: 1;
      }
      .num {
        font-size: 3.2rem;
        @media screen and (max-width: 767px) {
          font-size: 2.4rem;
        }
      }
    }
    .base-interest {
      font-size: 1.4rem;
      @media screen and (max-width: 767px) {
        grid-area: right2;
        font-size: 1rem;
        margin-top: 2px;
      }
      .num {
        font-size: 1.8rem;
        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
    }
    .campaign-balloon {
      background: var(--green-01);
      color: #fff;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translate(-50%, 50%);
      width: 160px;
      height: 44px;
      @media screen and (max-width: 767px) {
        font-size: 1.1rem;
        width: 120px;
        height: 26px;
      }
      &::before {
        background: var(--green-01);
        clip-path: polygon(50% 0, 100% 100%, 0 100%);
        content: '';
        display: block;
        width: 20px;
        height: 15px;
        position: absolute;
        left: calc(50% - 10px);
        top: -14px;
      }
    }
  }
}
.note {
  font-size: 1.4rem;
  margin-top: 0.4em;
  color: #4d4d4d;
  @media screen and (max-width: 767px) {
    font-size: 1.1rem;
    margin-top: 12px;
  }
}
.notes-list {
  margin-top: 0.4em;
  font-size: 1.4rem;
  color: #4d4d4d;
  @media screen and (max-width: 767px) {
    font-size: 1.1rem;
  }
  >li {
    margin-top: 2px;
    display: flex;
    gap: 4px;
  }
}
.home-loan-tab-wrap {
  border-bottom: 1px solid var(--red-01);
  margin-top: 80px;
  overflow: hidden;
  @media screen and (max-width: 767px) {
    margin-top: 56px;
  }
  ul {
    display: flex;
    gap: 8px;
    >li {
      flex: 1;
    }
    .tab-ttl {
      background: #fff;
      border: 1px solid var(--red-01);
      border-bottom: none;
      border-radius: 8px 8px 0 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.8rem;
      font-weight: bold;
      min-height: 100%;
      padding: 10px;
      text-align: center;
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
        border-radius: 4px 4px 0 0;
      }
      &.cur {
        background: var(--red-01);
        color: #fff;
        pointer-events: none;
      }
    }
  }
}
.sect-hd02 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 40px;
  position: relative;
  text-align: center;
  margin-top: 90px;
  @media screen and (max-width: 767px) {
    font-size: 2.4rem;
    margin-bottom: 20px;
    margin-top: 46px;
  }
  &:first-child {
    margin-top: 0;
  }
  .radius-txt {
    display: inline flex;
    align-items: center;
    vertical-align: middle;
    color: #fff;
    padding: 4px 20px;
    background: var(--red-font-grade);
    border-radius: 100px;
    font-size: 2.4rem;
    margin-right: 14px;
    gap: 3px;
    @media screen and (max-width: 767px) {
      display: block flex;
      width: fit-content;
      margin-inline: auto;
      font-size: 1.6rem;
      padding: 3px 12px;
      margin-bottom: 4px;
    }
    .num {
      font-size: 3.2rem;
      line-height: 1;
      font-family: var(--font-en);
      font-weight: 600;
      @media screen and (max-width: 767px) {
        font-size: 2.2rem;
      }
    }
  }
  .color-txt {
    background: var(--red-font-grade);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .large-txt {
    font-size: 4.8rem;
    @media screen and (max-width: 767px) {
      font-size: 3rem;
    }
  }
  &.no-icon {
    &::after {
      display: none;
    }
  }
}
.sect-hd02-lead {
  text-align: center;
  @media screen and (max-width: 767px) {
    text-align: left;
    font-size: 1.2rem;
  }
}
.section-loan-point {
  margin-top: 100px;
  @media screen and (max-width: 767px) {
    margin-top: 0px;
    padding: 40px 10px;
    .inner-wrap {
      width: 100%;
    }
  }
}
.point-box {
  background: #fff;
  border-radius: 40px;
  margin-inline: auto;
  padding: 40px 0;
  width: min(1080px, 100%);
  @media screen and (max-width: 767px) {
    border-radius: 20px;
    padding: 20px;
    font-size: 1.2rem;
  }
  &+.point-box {
    margin-top: 24px;
    @media screen and (max-width: 767px) {
      margin-top: 20px;
    }
  }
  .point-ttl {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 43px;
    @media screen and (max-width: 767px) {
      gap: 16px;
      margin-bottom: 20px;
      &+.notes-list {
        margin-top: -20px;
        margin-bottom: -20px;
      }
    }
    &:last-child {
      margin-bottom: 0;
    }
    .point-num {
      background: url(../images/icon_tomato_large.svg) no-repeat center center / contain;
      color: #fff;
      display: flex;
      align-items: center;
      flex-direction: column;
      justify-content: center;
      font-family: var(--font-en);
      font-size: 1.2rem;
      font-weight: 600;
      line-height: 1;
      padding-top: 10px;
      width: 80px;
      height: 84px;
      align-self: start;
      @media screen and (max-width: 767px) {
        font-size: 0.9rem;
        padding-top: 5px;
        width: 60px;
        height: 64px;
      }
      .num {
        font-size: 2.8rem;
        @media screen and (max-width: 767px) {
          font-size: 2rem;
        }
      }
    }
    .ttl-wrap {
      flex: 1;
    }
    .ttl {
      font-size: 3.2rem;
      font-weight: bold;
      margin-bottom: 8px;
      @media screen and (max-width: 767px) {
        font-size: 2rem;
        margin-bottom: 6px;
      }
      .small-txt {
        font-size: 2rem;
        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
    }
    .lead {
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
      }
    }
    &+.hd03 {
      margin-top: 0;
      margin-bottom: 45px;
      @media screen and (max-width: 767px) {
        margin-bottom: 20px;
      }
    }
  }
  .card-wrap {
    margin-top: 40px;
    @media screen and (max-width: 767px) {
      margin-top: 20px;
    }
  }
  .loan-video-wrap {
    max-width: 800px;
    margin: 30px auto 0;
    @media screen and (max-width: 767px) {
      margin: 12px auto 0;
    }
    .video {
      aspect-ratio: 16 / 9;
      width: 100%;
      position: relative;
      iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        border: none;
      }
      video {
        width: 100%;
      }
    }
  }
  .btn-wrap {
    margin-top: 40px;
    @media screen and (max-width: 767px) {
      margin-top: 24px;
    }
  }
}
.table-wrap {
  &+.btn-wrap {
    margin-top: 32px;
    @media screen and (max-width: 767px) {
      margin-top: 16px;
    }
  }
  .cmn-table {
    width: 100%;
    @media screen and (max-width: 767px) {
      colgroup {
        display: none;
      }
      tr, th, td {
        display: block;
      }
      tr:not(:last-child) td {
        border-bottom: none;
      }
    }
    td,
    th {
      border: 1px solid var(--bdr-color);
      padding: 14px 20px;
      background-color: #fff;
      @media screen and (max-width: 767px) {
        padding: 10px 16px;
        font-size: 1.2rem;
      }
    }
    th {
      background: #eee;
      vertical-align: top;
      @media screen and (max-width: 767px) {
        border-bottom: none;
      }
    }
    td {
      @media screen and (max-width: 767px) {
        padding: 16px 16px;
      }
    }
    &.bg-white {
      background-color: #fff;
    }
    .bg-gray {
      background-color: rgba(0, 0, 0, .17);
    }
    @media screen and (max-width: 767px) {
      .sp-bdr-bottom {
        border: 1px solid var(--bdr-color) !important;
      }
    }
  }
}
.cmn-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  @media screen and (max-width: 767px) {
    font-size: 1.2rem;
    gap: 4px;
    margin-top: 0;
  }
  >li {
    position: relative;
    padding-left: 1em;
    &:before {
      position: absolute;
      top: 10px;
      left: 0px;
      display: block;
      content: "";
      width: 6px;
      aspect-ratio: 1;
      background: var(--red-01);
      border-radius: 20px;
      @media screen and (max-width: 767px) {
        width: 4px;
        top: 8px;
      }
    }
  }
}
.num-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  >li {
    display: flex;
    gap: 4px;
    >.unit {
      color: var(--red-01);
    }
    >.list-inner {
      flex: 1;
    }
  }
}
.bdr-box {
  border: 1px solid var(--bdr-color-light);
  border-radius: 16px;
  padding: 48px;
  @media screen and (max-width: 767px) {
    padding: 16px 20px;
  }
}
.section-home-loan-beginner {
  margin-top: 58px;
  margin-inline: auto;
  background: url(../images/bg_base_red.png) no-repeat top / cover;
  padding: 200px 40px 206px;
  &.bg-white {
    margin-top: 100px;
    padding-top: 0;
    padding-bottom: 0;
    background: none;
    @media screen and (max-width: 767px) {
      margin-top: 0;
      padding: 20px 10px 60px;
    }
  }
  @media screen and (max-width: 767px) {
    margin-top: 0;
    padding: 66px 10px 100px;
    background-size: 100% auto;
  }
  .inner-box {
    width: min(1286px, 100%);
    margin-inline: auto;
    background: linear-gradient(to bottom, #ffdcdc 0, #fff 100px, #fff 100%);
    padding: 72px 40px;
    border-radius: 24px;
    &.white {
      background: #fff;
    }
    @media screen and (max-width: 767px) {
      padding: 56px 22px;
    }
    .inner-wrap {
      @media screen and (max-width: 767px) {
        width: 100%;
      }
    }
  }
  .btn-wrap {
    margin-top: 40px;
    @media screen and (max-width: 767px) {
      margin-top: 20px;
    }
  }
}
.gray-wave-wrap {
  background: url(../images/bg_base_gray.png) no-repeat center 0 / 100% auto;
  margin-top: -180px;
  padding-top: 206px;
  padding-bottom: 100px;
  &.decoration01 {
    background: url(../images/bg_gray_bottom.png) no-repeat center center / 100% auto, url(../images/bg_base_gray.png) no-repeat center 0 / 100% auto, linear-gradient(to bottom, transparent 200px, #f7f7f7 43px);
    @media screen and (max-width: 767px) {
      background: url(../images/bg_gray_bottom.png) no-repeat center top 40px / 100% auto, url(../images/bg_base_gray.png) no-repeat center 0 / 100% auto, linear-gradient(to bottom, transparent 200px, #f7f7f7 43px);
    }
  }
  &.no-wave {
    margin-top: 100px;
    padding-top: 0;
    background: none;
    @media screen and (max-width: 767px) {
      margin-top: -30px;
    }
  }
  @media screen and (max-width: 767px) {
    margin-top: -70px;
    padding-top: 80px;
    padding-bottom: 52px;
  }
}
.section-faq {
  padding: 0 40px;
  @media screen and (max-width: 767px) {
    padding: 0 12px;
  }
}
.acc-list-wrap,
.faq-list-wrap {
  display: grid;
  gap: 14px;
  @media screen and (max-width: 767px) {
    gap: 12px;
  }
  .cmn-acc,
  .cmn-faq {
    background: #fff;
    border: 1px solid rgba(255, 114, 114, .5);
    border-radius: 15px;
    overflow: hidden;
    @media screen and (max-width: 767px) {
      border-radius: 8px;
    }
    .acc-ttl,
    .faq-ttl {
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 26px;
      padding: 20px 64px 20px 24px;
      position: relative;
      @media screen and (max-width: 767px) {
        padding: 10px 53px 10px 16px;
        gap: 16px;
        min-height: 54px;
      }
      &::-webkit-details-marker,
      &::marker {
        content: '';
        display: none;
        opacity: 0;
      }
      .ttl-q {
        color: var(--red-01);
        display: block;
        font-family: var(--font-en);
        font-size: 1.8rem;
        font-weight: 600;
        line-height: 1;
        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
        .label {
          font-size: 3.2rem;
          @media screen and (max-width: 767px) {
            font-size: 2.4rem;
          }
        }
      }
      .txt {
        display: block;
        flex: 1;
        font-size: 2rem;
        font-weight: bold;
        @media screen and (max-width: 767px) {
          font-size: 1.4rem;
        }
      }
      .mark {
        background: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
        border-radius: 50%;
        display: block;
        width: 30px;
        height: 30px;
        position: absolute;
        right: 24px;
        top: calc(50% - 15px);
        transition: all .3s ease;
        @media screen and (max-width: 767px) {
          width: 24px;
          height: 24px;
          top: calc(50% - 12px);
          right: 14px;
        }
        &::after,
        &::before {
          background: #fff;
          content: '';
          display: block;
          width: 22px;
          height: 2px;
          position: absolute;
          left: calc(50% - 11px);
          top: calc(50% - 1px);
          transition: all .3s ease;
          @media screen and (max-width: 767px) {
            width: 16px;
            height: 1px;
            left: calc(50% - 8px);
            top: calc(50% - 1px);
          }
        }
        &::after {
          transform: rotate(90deg);
        }
      }
    }
    .acc-ttl {
      @media screen and (max-width: 767px) {
        padding-block: 20px;
      }
      &:before {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        content: "";
        display: inline-block;
        width: 6px;
        aspect-ratio: 1/2;
        border-radius: 0 100% 100% 0% / 50%;
        background: var(--red-01);
      }
    }
    .acc-contents,
    .faq-contents {
      padding: 0 24px;
      @media screen and (max-width: 767px) {
        padding: 0 16px;
      }
      .acc-content,
      .faq-content {
        border-top: 1px solid #e6e6e6;
        gap: 32px;
        padding: 24px 0 24px;
        @media screen and (max-width: 767px) {
          gap: 16px;
          padding: 12px 0 12px;
        }
        .ttl-a {
          color: var(--green-01);
          display: block;
          font-family: var(--font-en);
          font-size: 1.8rem;
          font-weight: 600;
          line-height: 1;
          @media screen and (max-width: 767px) {
            font-size: 1.4rem;
          }
          .label {
            font-size: 3.2rem;
            @media screen and (max-width: 767px) {
              font-size: 2.4rem;
            }
          }
        }
        .txt-wrap {
          flex: 1;
          @media screen and (max-width: 767px) {
            font-size: 1.2rem;
          }
        }
      }
      .faq-content {
        display: flex;
      }
      .acc-content {
        padding-block: 32px;
        @media screen and (max-width: 767px) {
          padding-block: 16px;
        }
      }
    }
    &.is-opened {
      .acc-ttl,
      .faq-ttl {
        .mark {
          background: linear-gradient(90deg, rgba(255, 0, 10, .1) 10%, rgba(255, 83, 84, .1) 90%);
          &::before {
            background: var(--red-01);
          }
          &::after {
            opacity: 0;
          }
        }
      }
    }
  }
}
.step-box-wrap {
  display: flex;
  flex-direction: column;
  gap: 36px;
  &+.notes-list {
    margin-top: 1em;
  }
}
.step-box {
  background: #fff7e8;
  border-radius: 8px;
  position: relative;
  &+&:before {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    background: #ff9f9b;
    content: "";
    width: 32px;
    height: 16px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
  }
  .step-box-head {
    padding: 20px 33px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 16px;
    border-bottom: var(--bdr-color-light) 1px solid;
    @media screen and (max-width: 767px) {
      padding: 12px;
      align-items: center;
      gap: 10px;
    }
    .step-box-head-unit {
      margin-top: 4px;
      display: inline-block;
      line-height: 1;
      border-radius: 200px;
      font-size: 1.2rem;
      font-weight: 600;
      padding: 3px 16px;
      background: var(--red-font-grade);
      color: #fff;
      @media screen and (max-width: 767px) {
        margin-top: 0;
        padding: 2px 8px;
        font-size: 1rem;
      }
      .num {
        font-family: var(--font-en);
        font-size: 2.2rem;
        line-height: 1;
        margin-left: 4px;
        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
        }
      }
    }
    .step-box-head-hd {
      font-size: 2.4rem;
      font-weight: bold;
      @media screen and (max-width: 767px) {
        font-size: 1.8rem;
      }
    }
  }
  .step-box-body {
    padding: 24px 33px 36px;
    @media screen and (max-width: 767px) {
      padding: 12px;
      font-size: 1.2rem;
    }
    &:has(.btn-wrap) {
      padding-block: 32px 42px;
      @media screen and (max-width: 767px) {
        padding: 12px;
      }
    }
  }
}
.section-lineup {
  padding: 100px 40px 0;
  @media screen and (max-width: 767px) {
    padding: 54px 10px 0;
  }
  .lineup-box {
    width: min(1286px, 100%);
    margin-inline: auto;
    background: #fff;
    padding: 74px 40px;
    border-radius: 24px;
    @media screen and (max-width: 767px) {
      padding: 54px 0;
    }
  }
}
.white-content-box {
  margin-top: 90px;
  width: min(1286px, 100%);
  margin-inline: auto;
  background: #fff;
  padding: 74px 40px;
  border-radius: 24px;
  @media screen and (max-width: 767px) {
    padding: 40px 0;
    margin-top: 45px;
    width: 96%;
    --min-width-value: 13vw;
  }
}
.white-bottom-section {
  padding: 48px 0;
  background: #fff;
  @media screen and (max-width: 767px) {
    padding: 30px 0;
  }
}
.cmn-section {
  padding: 100px 40px 0;
  @media screen and (max-width: 767px) {
    padding: 54px 12px 0;
  }
}
.txt-link {
  color: var(--red-01);
  text-decoration: underline;
  &:hover {
    opacity: 1;
    text-decoration: none;
  }
  &[href*=".pdf"]::after {
    display: inline-block;
    vertical-align: text-bottom;
    content: "";
    width: 20px;
    height: 20px;
    margin-left: 6px;
    background-image: url(../images/icon_pdf_red.svg);
  }
}
.loan-table-section {
  margin-top: 48px;
  --inner-width: 920px;
  @media screen and (max-width: 767px) {
    margin-top: 8px;
    --inner-width: 83%;
  }
}
.loan-table {
  --_radius: 16px;
  &+& {
    margin-top: 12px;
  }
  @media screen and (max-width: 767px) {
    --_radius: 8px;
  }
  .loan-table-head {
    background: #525252;
    color: #fff;
    border: 1px solid var(--bdr-color);
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    padding: 8px;
    border-radius: var(--_radius) var(--_radius) 0 0;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
      padding: 6px;
    }
  }
  .loan-table-body {
    background: #fff;
    border: 1px solid var(--bdr-color);
    border-top: none;
    border-radius: 0 0 var(--_radius) var(--_radius);
    padding: 10px;
    @media screen and (max-width: 767px) {
      padding: 12px 10px 12px;
    }
    &:only-child {
      border-radius: var(--_radius);
      border: 1px solid var(--bdr-color);
    }
    &:has(.loan-table-body-col) {
      display: flex;
      gap: 24px;
      @media screen and (max-width: 767px) {
        flex-direction: column;
        gap: 12px;
      }
    }
    .loan-table-body-col {
      flex: 1;
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 48px;
      padding: 6px 0 12px;
      @media screen and (max-width: 767px) {
        gap: 24px;
        padding: 0;
        justify-content: space-between;
      }
      &+&:before {
        position: absolute;
        content: "";
        top: 0px;
        bottom: 0px;
        width: 1px;
        background: var(--bdr-color-light);
        left: -12px;
        @media screen and (max-width: 767px) {
          top: -6px;
          bottom: auto;
          left: 0;
          width: 100%;
          height: 1px;
        }
      }
    }
    .loan-table-body-hd {
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
      }
    }
    .loan-table-body-con {
      font-size: 2rem;
      font-weight: bold;
      color: var(--red-01);
      line-height: 1;
      @media screen and (max-width: 767px) {
        font-size: 1.6rem;
      }
      .num {
        font-size: 3.2rem;
        @media screen and (max-width: 767px) {
          font-size: 2.4rem;
        }
        &.size-l {
          font-size: 4rem;
          @media screen and (max-width: 767px) {
            font-size: 2.8rem;
          }
        }
      }
    }
  }
}
.table-example-wrap {
  @media screen and (max-width: 767px) {
    margin: 0 auto;
  }
  &:has(.balloon) {
    padding-bottom: 72px;
  }
  .table-example {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 16px;
    line-height: 1.4;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
    }
    &.diff {
      @media screen and (max-width: 767px) {
        width: max(420px, 100%);
        line-height: 1.7;
      }
      th,
      td {
        text-align: left;
        padding: 20px;
        vertical-align: top;
        @media screen and (max-width: 767px) {
          padding: 12px 10px;
        }
      }
      thead {
        th {
          text-align: center;
          vertical-align: middle;
        }
      }
    }
    th,
    td {
      text-align: center;
      border: 1px solid #ccc;
      padding: 19px 10px;
      vertical-align: middle;
      @media screen and (max-width: 767px) {
        padding: 12px 10px;
      }
    }
    thead {
      th {
        color: #fff;
        border-bottom: none;
      }
    }
    .empty {
      border: none;
      width: 20%;
      @media screen and (max-width: 767px) {
        width: 33%;
      }
    }
    .black {
      background: #555;
    }
    .red {
      background: #ff000a;
    }
    .red-02 {
      background: #fff0f0;
    }
    .green {
      background: var(--green-01);
    }
    .green-02 {
      background: var(--green-02)
    }
    tbody {
      th {
        background: #eee;
        color: #333;
        font-weight: bold;
      }
    }
    td {
      background: #fff;
      font-weight: 500;
    }
    .highlight {
      background: #fff7e8;
    }
    .txt-red {
      color: #e60012;
      font-weight: bold;
    }
    .res-wrap {
      position: relative;
      display: inline-block;
      .balloon {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        margin-top: 30px;
        background: #fff;
        border: 1px solid #e60012;
        border-radius: 30px;
        padding: 16px 26px;
        white-space: nowrap;
        font-weight: bold;
        z-index: 10;
        @media screen and (max-width: 767px) {
          right: -24px;
          left: auto;
          transform: none;
          padding: 12px 18px;
        }
        &::before {
          content: "";
          position: absolute;
          top: 0;
          left: 50%;
          translate: -50% calc(-100% + 5.4px);
          width: 24px;
          height: 30px;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='30'%3E%3Cpath fill-rule='evenodd' stroke='%23ff0000' stroke-width='1' stroke-linecap='butt' stroke-linejoin='miter' fill='white' d='M12.000,3.000 L20.1000,27.000 L2.1000,27.000 L12.000,3.000 Z'/%3E%3C/svg%3E");
          background-repeat: no-repeat;
          background-size: contain;
          clip-path: inset(0 0 5px 0);
          @media screen and (max-width: 767px) {
            left: auto;
            right: 30px;
            translate: 0 calc(-100% + 5px);
          }
        }
      }
    }
  }
}
#wrap:has(.fixed-bottom) {
  padding-bottom: 128px;
  @media screen and (max-width: 767px) {
    padding-bottom: 194px;
    &:has(main.card) {
      padding-bottom: 108px;
    }
  }
}
.fixed-bottom {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  background: #fff;
  padding: 16px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  .inner-wrap {
    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }
  .btn-wrap {
    word-break: keep-all;
    overflow-wrap: anywhere;
    &.home-btn-wrap {
      grid-template:
        "lead1 lead1 lead1 . lead2"
        "btn1 . btn2 . btn3" /auto 16px auto 32px auto;
      gap: 0;
      @media screen and (max-width: 767px) {
        display: grid;
        grid-template:
          "lead1 lead1 lead1 lead1 lead1"
          "btn1 btn1 . btn2 btn2"
          ". . . . ." 10px
          ". lead2 lead2 lead2 ."
          ". btn3 btn3 btn3 ." /25.6% 1fr 10px 1fr 25.6%;
        gap: 0;
        justify-content: normal;
      }
      li {
        display: contents;
        &:nth-child(1) {
          .btn-top-lead {
            grid-area: lead1;
          }
          .btn {
            grid-area: btn1;
          }
        }
        &:nth-child(2) {
          .btn {
            grid-area: btn2;
          }
        }
        &:nth-child(3) {
          .btn-top-lead {
            grid-area: lead2;
          }
          .btn {
            grid-area: btn3;
          }
        }
      }
    }
    li {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 2;
      gap: 0;
    }
    @media screen and (max-width: 767px) {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      li {
        width: calc(50% - 5px);
      }
    }
    .btn {
      @media screen and (max-width: 767px) {
        padding: 2px 20px;
      }
    }
  }
}
.btn-top-lead {
  display: block;
  margin-bottom: 8px;
  color: #000;
  text-align: center;
  pointer-events: none;
  font-weight: bold;
  @media screen and (max-width: 767px) {
    font-size: 1.2rem;
  }
  &:before {
    display: inline-block;
    content: "";
    width: 2px;
    height: 1em;
    background: var(--green-01);
    rotate: -38deg;
    translate: -14px 2px;
  }
  &:after {
    display: inline-block;
    content: "";
    width: 2px;
    height: 1em;
    background: var(--green-01);
    rotate: 38deg;
    translate: 14px 2px;
  }
}
.yellow-box {
  background: #fff7e8;
  padding: 32px 40px;
  position: relative;
  border-radius: 16px;
  &:has(.yellow-box-img) {
    padding-right: 390px;
    @media screen and (max-width: 767px) {
      padding: 20px 24px;
    }
  }
  @media screen and (max-width: 767px) {
    padding: 20px 24px;
    font-size: 1.2rem;
  }
  .yellow-box-hd {
    font-size: 2.8rem;
    font-weight: bold;
    margin-bottom: 16px;
    @media screen and (max-width: 767px) {
      font-size: 2rem;
      margin-bottom: 12px;
    }
  }
  .yellow-box-body {
    line-height: 1.75;
    font-feature-settings: "palt";
  }
  .yellow-box-img {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    @media screen and (max-width: 767px) {
      position: static;
      transform: none;
      zoom: 0.6;
      display: block;
      margin: 20px auto 0;
    }
    &[src*="ill_worries_02"] {
      top: calc(50% - -50px);
      right: 20px;
      @media screen and (max-width: 767px) {
        zoom: 0.56;
      }
    }
  }
}
.resolution-box {
  margin-top: 44px;
  padding-top: 50px;
  position: relative;
  @media screen and (max-width: 767px) {
    margin-top: 18px;
    padding-top: 25px;
  }
  &:before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #ff9f9b;
    content: "";
    width: 52px;
    height: 26px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    @media screen and (max-width: 767px) {
      width: 36px;
      height: 20px;
    }
  }
  .resolution-box-hd {
    font-size: 4rem;
    color: var(--red-01);
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    @media screen and (max-width: 767px) {
      font-size: 2.4rem;
    }
    .sub {
      font-size: 3rem;
      @media screen and (max-width: 767px) {
        font-size: 2.2rem;
      }
    }
  }
  .resolution-box-lead {
    text-align: center;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
      margin-bottom: 8px;
    }
  }
}
.loan-table-wrap {
  margin-top: 26px;
  display: flex;
  width: 100%;
  gap: 10px;
  @media screen and (max-width: 767px) {
    flex-direction: column;
    margin-top: 12px;
    gap: 12px;
  }
  .loan-table {
    margin-top: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    .loan-table-head {
      padding: 4px;
    }
    .loan-table-body {
      padding: 26px;
      flex: 1;
      @media screen and (max-width: 767px) {
        padding: 20px;
      }
    }
  }
}
.conditions-circle-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  @media screen and (max-width: 767px) {
    flex-wrap: nowrap;
  }
  .conditions-circle {
    width: 150px;
    aspect-ratio: 1;
    border: 5px solid #ffd47f;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    @media screen and (max-width: 767px) {
      border-width: 3px;
    }
    dt {
      font-size: 1.8rem;
      font-weight: bold;
      @media screen and (max-width: 767px) {
        font-size: 1.2rem;
      }
    }
    dd {
      font-size: 2rem;
      font-weight: bold;
      color: var(--red-01);
      @media screen and (max-width: 767px) {
        font-size: 1.4rem;
      }
      span {
        font-size: 3.2rem;
        margin-right: 1px;
        @media screen and (max-width: 767px) {
          font-size: 2rem;
        }
      }
    }
  }
}
.loan-table:has(.loan-table-body-amount) {
  width: 39%;
  flex: none;
  @media screen and (max-width: 767px) {
    width: 100%;
  }
}
.loan-table-body-amount {
  padding: 16px 0;
  text-align: center;
  @media screen and (max-width: 767px) {
    padding: 0;
  }
  .loan-table-body-amount-hd {
    font-size: 1.8rem;
    font-weight: bold;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
    }
  }
  .loan-table-body-amount-price {
    margin-top: 4px;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1;
    background: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    @media screen and (max-width: 767px) {
      font-size: 2.2rem;
      margin-top: 0;
    }
    .num {
      font-size: 4.8rem;
      margin-right: 4px;
      @media screen and (max-width: 767px) {
        font-size: 3.2rem;
      }
    }
  }
  .loan-table-body-amount-total {
    margin-top: 16px;
    @media screen and (max-width: 767px) {
      font-size: 1.1rem;
      margin-top: 6px;
    }
  }
}
.loan-table-body-image {
  padding: 12px 34px;
  @media screen and (max-width: 767px) {
    padding: 0;
  }
}
/* sp scroll */
.sp-scroll-wrap {
  .sp-scroll {
    display: none;
  }
  @media screen and (max-width: 767px) {
    overflow-x: auto;
    position: relative;
    padding-top: 30px;
    position: relative;
    &:before {
      content: "▼横スクロールでご覧いただけます";
      font-size: 1.2rem;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap;
    }
    &.loan-table-body-image {
      margin-top: -10px;
    }
    >img {
      max-width: 660px;
    }
    .sp-scroll {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 2;
      &:before {
        content: "";
        background: url(../images/icon_scroll.png) no-repeat center /contain;
        width: 130px;
        height: 130px;
      }
    }
  }
}
/*==========================================================================================================
hover
==========================================================================================================*/
@media (hover: hover) {
  a:hover {
    opacity: 0.7;
  }
  .btn {
    padding: 2px 36px;
    &::before {
      background: #fff;
      border-radius: 6px;
      content: '';
      display: block;
      width: calc(100% - 4px);
      height: calc(100% - 4px);
      opacity: 0;
      position: absolute;
      left: 2px;
      top: 2px;
      z-index: 1;
      transition: opcity .3s ease;
    }
    span {
      z-index: 2;
    }
    &.white::before {
      background-image: linear-gradient(90deg, rgba(255, 0, 10, 1) 10%, rgba(255, 83, 84, 1) 90%);
      inset: 0;
      width: 100%;
      height: 100%;
    }
  }
  .btn:hover {
    opacity: 1;
    color: var(--red-01);
    &::before {
      opacity: 1;
    }
    &.icon-card span:before {
      background-image: url(../images/icon_loan_01_red.svg);
    }
    &.icon-free span:before {
      background-image: url(../images/icon_loan_02_red.svg);
    }
    &.icon-car span:before {
      background-image: url(../images/icon_loan_03_red.svg);
    }
    &.icon-education span:before {
      background-image: url(../images/icon_loan_04_red.svg);
    }
    &.icon-housing span:before {
      background-image: url(../images/icon_loan_05_red.svg);
    }
    &.icon-reform span:before {
      background-image: url(../images/icon_loan_06_red.svg);
    }
    &[target="_blank"]::after {
      background-image: url(../images/icon_external_red.svg);
    }
    &[href*=".pdf"]::after {
      background-image: url(../images/icon_pdf_red.svg);
    }
    &.white {
      color: #fff;
      &[target="_blank"]::after {
        background-image: url(../images/icon_external.svg);
      }
      &[href*=".pdf"]::after {
        background-image: url(../images/icon_pdf.svg);
      }
    }
    &.bdr-white {
      border: none;
    }
    &.anchor::after {
      background-image: url(../images/icon_arr_02.png);
    }
  }
  .num-btn:hover {
    opacity: 1;
    color: var(--red-01);
    &::before {
      opacity: 1;
    }
    &::after {
      background: var(--red-01);
    }
  }
  .box-wrap .box:hover {
    opacity: 1;
    border-color: var(--red-01);
    &::before {
      transform: scale(1.2);
    }
  }
  .card-wrap .card:hover {
    border-color: var(--red-01);
    opacity: 1;
    img {
      transform: scale(1.05);
    }
    .card-text {
      &::after {
        transform: scale(1.2);
      }
    }
  }
  .home-loan-tab-wrap ul .tab-ttl:hover {
    background: var(--red-01);
    color: #fff;
    opacity: 1;
  }
}
.anchor-list {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 48px;
  margin-inline: auto;
  width: 100%;
  background-color: #fff;
  border-radius: 16px;
  @media screen and (max-width: 767px) {
    display: flex;
    flex-wrap: wrap;
  }
}
.anchor-list .anchor-list-item {
  height: 100%;
  @media screen and (max-width: 767px) {
    width: 50%;
    border-top: 1px solid #ebebeb;
  }
  &.sp-flx1 {
    @media screen and (max-width: 767px) {
      flex: 1;
    }
  }
}
.anchor-list .anchor-list-item+.anchor-list-item {
  border-left: 1px solid #ebebeb;
  @media screen and (max-width: 767px) {
    border-left: none;
  }
}
.anchor-list .anchor-list-item:nth-child(2n) {
  @media screen and (max-width: 767px) {
    border-left: 1px solid #ebebeb;
  }
}
.anchor-list .anchor-list-item a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 25px;
  padding-inline: 10px;
  width: 100%;
  height: 100%;
  min-height: 120px;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.625;
  @media screen and (max-width: 767px) {
    padding-bottom: 15px;
    min-height: 100px;
  }
  &:hover {
    color: var(--red-01);
    opacity: 1;
  }
}
.anchor-list .anchor-list-item a::after {
  content: "";
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 12px;
  background: url(/personal/loan/assets/images/icon_arr_01.png) no-repeat center/cover;
  @media screen and (max-width: 767px) {
    bottom: 13px;
  }
}
/* loan-home-customer start */
main.loan-home-customer {
  p+.yellow-box {
    margin-top: 32px;
  }
  p+.table-example-wrap {
    margin-top: 25px;
  }
  p+.btn-wrap {
    margin-top: 32px;
  }
  .table-wrap+.table-wrap {
    margin-top: 40px;
  }
  .white-content-box {
    margin-top: 40px;
    @media screen and (max-width: 767px) {
      width: 100%;
      padding: 20px;
    }
  }
  .cmn-section+.section-contact {
    margin-top: 100px;
    @media screen and (max-width: 767px) {
      margin-top: 54px;
    }
  }
  .section-lineup .lineup-box {
    .sect-hd02+p {
      margin-top: 40px;
      @media screen and (max-width: 767px) {
        margin-top: 20px;
      }
    }
    p+.img-wrap {
      margin-top: 40px;
    }
  }
  .cmn-section.sp-px-none {
    @media screen and (max-width: 767px) {
      padding-inline: 0;
    }
  }
  .section-lineup {
    @media screen and (max-width: 767px) {
      padding-bottom: 40px;
    }
  }
  .table-example-wrap {
    .table-example {
      @media screen and (max-width: 767px) {
        height: 506px;
      }
      th {
        color: #333;
        background-color: #ebebeb;
      }
      &.diff {
        @media screen and (max-width: 767px) {
          width: max(600px, 100%);
          line-height: 1.7;
        }
      }
    }
  }
}
/* loan-home-customer end */
/* loan-home-hajimete start */
main#contents.loan-home-hajimete .section-loan-point {
  @media screen and (min-width: 1366px) {
    margin-top: 30px;
  }
  @media screen and (max-width: 767px) {
    padding-top: 0;
  }
}
@media screen and (max-width: 1200px) {
  main#contents.loan-home-hajimete {
    background: url(../images/bg_base_loan_home.png) no-repeat top -250px center/cover;
  }
}
@media screen and (max-width: 800px) {
  main#contents.loan-home-hajimete {
    background: url(../images/bg_base_sp.png) no-repeat top -110vw center /cover;
  }
}
main#contents.loan-home-hajimete .inner-wrap+.point-box {
  margin-top: 40px;
}
main#contents.loan-home-hajimete .yellow-box+.table-example-wrap {
  margin-top: 28px;
}
main#contents.loan-home-hajimete .table-example-wrap td {
  vertical-align: middle;
}
main#contents.loan-home-hajimete .table-wrap+.notes-list {
  margin-top: 15px;
}
main#contents.loan-home-hajimete .cmn-section+.section-contact {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  main#contents.loan-home-hajimete .cmn-section+.section-contact {
    margin-top: 54px;
  }
}
@media screen and (max-width: 767px) {
  main#contents.loan-home-hajimete .table-example-wrap .sp-layout-l {
    text-align: left !important;
  }
}
/* loan-home-hajimete end */
/* loan-card start */
main.card {
  .page-ttl {
    min-width: 12em;
    @media screen and (max-width: 767px) {
      min-width: auto;
    }
  }
  .yellow-box {
    padding: 40px 40px 25px;
    &:has(.yellow-box-img) {
      padding-right: 360px;
      @media screen and (max-width: 767px) {
        padding: 20px 24px;
      }
    }
    .yellow-box-img {
      top: 61%;
      right: 50px;
    }
    &.box-02 {
      padding: 40px;
      padding-right: 360px;
      @media screen and (max-width: 767px) {
        padding: 20px 24px;
      }
      .yellow-box-img {
        top: 50%;
        right: 42px;
      }
    }
  }
  .point-box {
    .notes-list+.cmn-list {
      margin-top: 5px;
    }
  }
  .cutomer-review-box {
    display: grid;
    grid-template-columns: max-content auto;
    margin-top: 70px;
    margin-inline: auto;
    max-width: 770px;
    width: fit-content;
    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      margin-top: 35px;
      align-items: center;
    }
    .img-wrap {
      @media screen and (max-width: 767px) {
        text-align: center;
      }
    }
    .txt-wrap {
      position: relative;
      margin-left: 35px;
      padding: 26px 33px;
      border: 1px solid #c2c2c2;
      border-radius: 25px;
      letter-spacing: -0.07em;
      line-height: 1.75;
      @media screen and (max-width: 767px) {
        margin-left: 0;
        margin-top: 35px;
      }
      .cutomer-review-box-ttl {
        font-size: 1.8rem;
        font-weight: bold;
      }
      .cutomer-review-box-ttl+.cutomer-review-box-txt {
        margin-top: 3px;
      }
      &::before,
      &::after {
        content: "";
        position: absolute;
        top: 30px;
      }
      &::before {
        left: -42px;
        margin-top: 8px;
        border: 18px solid transparent;
        border-right: 26px solid #FFF;
        z-index: 2;
        @media screen and (max-width: 767px) {
          top: -47px;
          left: 50%;
          transform: translateX(-50%) rotate(90deg);
        }
      }
      &::after {
        content: "";
        position: absolute;
        top: 30px;
        left: -44px;
        margin-top: 8px;
        border: 18px solid transparent;
        border-right: 26px solid #c2c2c2;
        z-index: 1;
        @media screen and (max-width: 767px) {
          top: -49px;
          left: 50%;
          transform: translateX(-50%) rotate(90deg);
        }
      }
    }
  }
  p+.table-wrap,
  .cmn-list+.table-wrap {
    margin-top: 20px;
  }
  .step-box-body .btn-wrap .btn {
    height: auto;
  }
  .step-box-body .btn-wrap,
  .step-box-body .btn-wrap+.notes-list {
    margin-top: 10px;
  }
  .step-box-body-ttl {
    font-size: 2rem;
    font-weight: bold;
  }
  .step-box-body-ttl+.step-box-body-txt {
    margin-top: 10px;
  }
  .step-box-body-txt+.step-box-body-ttl {
    margin-top: 20px;
  }
  .mt-hd02 {
    margin-top: 90px;
    @media screen and (max-width: 767px) {
      margin-top: 46px;
    }
  }

  .cmn-txt:has(.unit) {
    display: flex;
  }

  .faq-content .note {
    @media screen and (max-width: 767px) {
      margin-top: 5px;
    }
  }

}
/* loan-card end */
/* loan-mycar start */
main.loan-mycar {
  .table-example {
    .bg-circle {
      position: relative;
      height: 114px;
      &::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 96px;
        height: 96px;
        background: url(/personal/loan/assets/images/icon_circle.png) no-repeat center/cover;
      }
    }
  }
}
/* loan-mycar end */
/* loan-home start */
.interest-rate-table.dummy {
  position: relative;
  border: none;
}
.interest-rate-table.dummy .campaign-balloon {
  display: none;
}
.interest-rate-table.dummy::before {
  content: "原稿決定後に差し替え";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #e7e7e7;
}
/* loan-home end */
/* loan-free start */
main.loan-free {
  .point-box {
    .ttl.has-note {
      margin-bottom: 0;
    }
    .ttl-note {
      display: flex;
      margin-bottom: 8px;
      font-size: 1.6rem;
      font-weight: bold;
      @media screen and (max-width: 767px) {
        font-size: 1.4rem;
      }
    }
  }
  .yellow-box {
    &:has(.yellow-box-img) {
      padding-bottom: 63px;
      @media screen and (max-width: 767px) {
        padding: 20px 24px;
      }
    }
    .yellow-box-img {
      right: 32px;
    }
    &.box-02 {
      padding-bottom: 90px;
      @media screen and (max-width: 767px) {
        padding: 20px 24px;
      }
      .yellow-box-img {
        top: 54%;
        right: 10px;
      }
    }
  }
  .loan-table-wrap.col-1 {
    flex-direction: column;
  }
  .notes-list+.loan-table {
    margin-top: 80px;
    @media screen and (max-width: 767px) {
      margin-top: 40px;
    }
  }
  .loan-table-body .sp-scroll-wrap {
    @media screen and (max-width: 767px) {
      padding-bottom: 20px;
    }
  }
}
/* loan-free end */
/* loan-reform start */
main.loan-reform {
  .cmn-section+.white-bottom-section {
    margin-top: 52px;
  }
  .cmn-table {
    th {
      background-color: #eee;
    }
  }
}
/* loan-reform end */
/* loan-home-karikae start */
main.loan-home-karikae {
  .resolution-box-hd+.img-wrap {
    margin-top: 40px;
  }
  .resolution-box+p {
    margin-top: 10px;
  }
  .hd04+.table-example-wrap {
    margin-top: 20px;
  }
  .table-example-wrap {
    overflow-x: auto;
    position: relative;
  }
  .table-example {
    th {
      color: #333;
      background-color: #eee;
    }
    &.diff {
      td {
        padding: 10px;
        vertical-align: middle;
        .txt-wrap {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          text-align: right;
          justify-content: space-between;
        }
        .kinri-txt {
          margin-left: auto;
          .point {
            font-size: 2rem;
            color: #df2016;
            @media screen and (max-width: 767px) {
              font-size: 1.6rem;
            }
          }
        }
      }
    }
    .loan-label {
      position: relative;
      width: 131px;
      padding: 9px;
      text-align: center;
      color: #fff;
      background-color: #00913d;
      margin-right: 80px;
      &.long {
        width: 149px;
      }
      &.kinri-01::after,
      &.kinri-02::after,
      &.kinri-03::after {
        content: "";
        position: absolute;
        top: 0;
        height: 100%;
        background-color: #99d3b1;
      }
      &.kinri-01::after {
        right: -15px;
        width: 15px;
      }
      &.kinri-02::after {
        right: -33px;
        width: 33px;
      }
      &.kinri-03::after {
        right: -80px;
        width: 80px;
      }
    }
  }
  .gray-wave-wrap .section-loan-point {
    @media screen and (max-width: 767px) {
      padding-bottom: 0;
    }
  }
}
/* loan-home-karikae end */
/* loan-home-flow start */
@media screen and (max-width: 1200px) {
  main#contents.loan-home-flow {
    background: url(../images/bg_base_loan_home.png) no-repeat top -250px center/cover;
  }
}
@media screen and (max-width: 800px) {
  main#contents.loan-home-flow {
    background: url(../images/bg_base_sp.png) no-repeat top -118vw center /cover;
  }
}
main.loan-home-flow {
  .flow-section {
    margin-top: 30px;
    @media screen and (max-width: 1200px) {
      margin-top: 0;
    }
  }
  .step-box {
    p+.btn-wrap {
      margin-top: 20px;
    }
  }
  .num-btn-list {
    margin-top: 30px;
  }
  .essential-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-inline: auto;
    width: fit-content;
    .essential-list-item+.essential-list-item {
      padding-left: 15px;
      border-left: 1px solid #e5e5e5;
      @media screen and (max-width: 767px) {
        border-left: none;
        border-top: 1px solid #e5e5e5;
        padding-left: 0;
        padding-top: 25px;
      }
    }
    /* tablet */
    @media screen and (max-width: 1200px) {
      grid-template-columns: repeat(2, 1fr);
      .essential-list-item {
        padding-bottom: 20px;
      }
      .essential-list-item:nth-child(n + 3) {
        padding-top: 20px;
        border-top: 1px solid #e5e5e5;
      }
      .essential-list-item:nth-child(2n + 1) {
        border-left: none;
      }
    }
    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      margin-top: 30px;
    }
    &.col-2 {
      width: 100%;
      grid-template-columns: repeat(2, 1fr);
      /* tablet */
      @media screen and (max-width: 1200px) {
        grid-template-columns: repeat(2, 1fr);
        .essential-list-item {
          padding-bottom: 0;
        }
        .essential-list-item+.essential-list-item {
          padding-left: 20px;
        }
        .essential-list-item:first-child {
          padding-right: 20px;
        }
        .essential-list-item:nth-child(n + 2) {
          padding-top: 0;
          border-top: none;
        }
        .essential-list-item:nth-child(2n) {
          border-left: 1px solid #e5e5e5;
        }
      }
      @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
        .essential-list-item {
          padding-bottom: 20px;
        }
        .essential-list-item:nth-child(n + 2) {
          padding-top: 20px;
          border-top: 1px solid #e5e5e5;
        }
        .essential-list-item+.essential-list-item {
          padding-left: 0;
        }
        .essential-list-item:first-child {
          padding-right: 0;
        }
        .essential-list-item:nth-child(2n) {
          border-left: none;
        }
      }
    }
    .essential-list-item {
      padding-right: 15px;
      @media screen and (max-width: 767px) {
        padding-right: 0;
        padding-bottom: 25px;
      }
      .img-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 20px;
        min-height: 159px;
        border-radius: 10px;
        background-color: #faebcf;
        @media screen and (max-width: 767px) {
          min-height: 131px;
        }
      }
    }
    .txt-wrap {
      margin-top: 20px;
      padding-left: 20px;
      padding-right: 10px;
      .ttl {
        font-size: 2rem;
        font-weight: bold;
        text-align: center;
        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
        }
      }
      .ttl+.cmn-list {
        margin-top: 12px;
      }
      .cmn-list {
        li+li {
          margin-top: 6px;
        }
      }
      .cmn-list+.notes-list {
        margin-top: 16px;
      }
      .notes-list+.cmn-list {
        margin-top: 12px;
      }
      .sub {
        font-size: 1.4rem;
        @media screen and (max-width: 767px) {
          font-size: 1.2rem;
        }
      }
    }
  }
  .essential-list+.notes-list {
    margin-top: 15px;
  }
  .table-wrap {
    margin-top: 32px;
    .va-middle {
      vertical-align: middle;
    }
  }
  .cmn-section+.section-contact {
    margin-top: 100px;
  }
  .white-content-box {
    margin-top: 0;
  }
}
/* loan-home-flow end */
/* common start */
.sp-scroll-wrap.icn-top {
  @media screen and (max-width: 767px) {
    .sp-scroll {
      top: -60%;
    }
  }
}
.sp-scroll-wrap.sp-large-table table {
  @media screen and (max-width: 767px) {
    width: 800px !important;
  }
}
.sp-scroll-wrap.sp-middle-table table {
  @media screen and (max-width: 767px) {
    width: 700px !important;
  }
}
.fixed-bottom {
  .btn-wrap.btn2-1 {
    grid-template-columns: 2fr 1fr;
  }
  .btn-wrap.sp-btn-1 {
    @media screen and (max-width: 767px) {
      flex-direction: column;
    }
    li {
      @media screen and (max-width: 767px) {
        width: 100%;
      }
    }
  }
}
.loan-table.no-title .loan-table-body {
  border-top: 1px solid var(--bdr-color);
  border-radius: var(--_radius);
  .loan-table-body-col {
    padding-top: 15px;
    @media screen and (max-width: 767px) {
      padding-top: 0;
    }
  }
}
.panel-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media screen and (max-width: 767px) {
  .panel-list {
    grid-template-columns: 1fr;
  }
}
.panel-list .panel-list-item {
  position: relative;
  padding: 32px;
  background-color: #faf8f5;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .panel-list .panel-list-item {
    padding: 16px;
  }
}
.panel-list .panel-list-item .panel-ttl {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .panel-list .panel-list-item .panel-ttl {
    font-size: 1.6rem;
  }
}
.panel-list .panel-list-item .panel-ttl+.panel-txt {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .panel-list .panel-list-item .panel-ttl+.panel-txt {
    margin-top: 12px;
  }
}
.panel-list .panel-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 4px;
  border-radius: 2px;
  background-color: var(--red-01);
}
.panel-list.type-02 {
  margin-top: 30px;
  @media screen and (max-width: 767px) {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .panel-list-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 133px;
    background-color: #fff;
    @media screen and (max-width: 767px) {
      padding: 6px;
      min-height: 90px;
    }
  }
  .panel-list-item .panel-ttl {
    line-height: 1;
    @media screen and (max-width: 767px) {
      line-height: 1.5;
    }
  }
  .panel-list-item .sub {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    @media screen and (max-width: 767px) {
      font-size: 1.2rem;
    }
  }
}
.yellow-box.customer {
  display: grid;
  grid-template-columns: max-content auto;
  gap: 33px;
  padding: 30px;
  @media screen and (max-width: 767px) {
    grid-template-columns: 1fr;
  }
  .img-wrap {
    @media screen and (max-width: 767px) {
      margin-inline: auto;
      max-width: 94px;
    }
  }
  .txt-wrap {
    @media screen and (max-width: 767px) {
      margin-inline: auto;
      width: fit-content;
    }
  }
  .yellow-box-hd {
    font-size: 2.4rem;
    @media screen and (max-width: 767px) {
      font-size: 2rem;
    }
    .sub {
      font-size: 2rem;
      @media screen and (max-width: 767px) {
        font-size: 1.6rem;
      }
    }
  }
  .customer-info-item {
    display: grid;
    grid-template-columns: 12rem auto;
    gap: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5ded1;
    @media screen and (max-width: 767px) {
      grid-template-columns: 9rem auto;
    }
    dd {
      font-weight: bold;
    }
  }
  .customer-info-item+.customer-info-item {
    padding-top: 10px;
  }
}
.page-ttl-section.no-img {
  padding-top: 115px;
  @media screen and (max-width: 767px) {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .ttl-wrap {
    min-height: 210px;
    @media screen and (max-width: 767px) {
      min-height: auto;
    }
  }
}
.sp-cmn-table tr {
  @media screen and (max-width: 767px) {
    display: table-row !important;
  }
}
.sp-cmn-table th,
.sp-cmn-table td {
  @media screen and (max-width: 767px) {
    display: table-cell !important;
  }
}
.sp-cmn-table th {
  border-bottom: 1px solid var(--bdr-color) !important;
}
/* common end */
.point-img {
  text-align: center;
  @media screen and (max-width: 767px) {
    img {
      max-width: 200px;
    }
  }
}
/* read-more start */
.read-more-wrap {
  position: relative;
  .read-more-contents {
    position: relative;
    overflow: hidden;
    transition: all .3s;
    &::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 30%;
      background: linear-gradient(0deg, rgb(255, 255, 255) 25%, rgba(255, 255, 255, 0) 100%);
      @media screen and (max-width: 767px) {
        height: 10%;
      }
    }
    &.gray-blur {
      &::after {
        background: linear-gradient(0deg, rgb(247, 247, 247) 25%, rgba(255, 255, 255, 0) 100%);
      }
    }
  }
  &.open {
    .read-more-contents {
      max-height: 5000px !important;
      &::after {
        opacity: 0;
        z-index: -1;
      }
    }
  }
  &.point-box-wrap {
    .read-more-contents {
      margin-inline: auto;
      width: min(1080px, 100%);
      max-height: 400px;
      @media screen and (max-width: 767px) {
        max-height: 340px;
        &::after {
          height: 20%;
          bottom: 20px;
        }
      }
    }
  }
  &.example-wrap.example-01 {
    .read-more-contents {
      max-height: 610px;
      @media screen and (max-width: 767px) {
        max-height: 650px;
      }
    }
  }
  &.flow-wrap {
    .read-more-contents {
      max-height: 400px;
      @media screen and (max-width: 767px) {
        max-height: 280px;
        &::after {
          height: 20%;
          bottom: 20px;
        }
      }
    }
  }
  &.product-overview-wrap {
    .read-more-contents {
      max-height: 380px;
      @media screen and (max-width: 767px) {
        max-height: 420px;
        &::after {
          height: 20%;
          bottom: 20px;
        }
      }
    }
  }
  .more-btn {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    width: 300px;
    height: 50px;
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--red-01);
    border: 2px solid var(--red-01);
    background-color: #fff;
    border-radius: 8px;
    cursor: pointer;
    transition: all .3s;
    @media screen and (max-width: 767px) {
      width: 100%;
    }
    @media screen and (min-width: 768px) {
      &:hover {
        color: #fff;
        background-color: var(--red-01);
        &::before,
        &::after {
          background-color: #fff;
        }
      }
    }
    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 20px;
      width: 14px;
      height: 2px;
      background-color: var(--red-01);
      transition: all .3s;
    }
    &::after {
      transform: translateY(-50%) rotate(90deg);
    }
    &.open {
      bottom: -40px;
      @media screen and (max-width: 767px) {
        margin-bottom: 40px;
      }
      &::after {
        transform: translateY(-50%);
      }
    }
    &.once {
      &.open {
        display: none;
      }
    }
  }
}
/* read-more end */
.loan-table-section.card {
  .loan-table-body {
    border-width: 3px;
    border-color: var(--red-01);
  }
  .loan-table-body-hd {
    font-weight: bold;
  }
}