@font-face {
    font-family: 'Noto Sans JP';
    src: url('./css/font/NotoSansJP-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Noto Sans JP';
    src: url('./css/font/NotoSansJP-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Noto Sans JP';
    src: url('./css/font/NotoSansJP-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Noto Sans JP';
    src: url('./css/font/NotoSansJP-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Unna';
    src: url('./css/font/Unna-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Awesome';
    src: url('./css/font/fa-brands-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  *, ::after, ::before {
    box-sizing: border-box;
  }

  body {
    font-family: 'Noto Sans JP', sans-serif;
    margin: 75px 0 0 0;
    padding: 0;
  }

/* パーツ */
.mt30{
  margin-top: 30px;
}
.mt50{
  margin-top: 50px;
}

  button {
    cursor: pointer;
  }
  header {
    background-color: #000;
    padding-right: 20px;
    position: fixed;
    width: 100%;
    top: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    text-wrap: nowrap;
    box-shadow: 0 3px 5px;
    z-index: 9;
    padding: 10px 0;
  }
  header a {
    text-decoration: none;
  }
  header h1 {
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    margin: 0 0 10px 30px;
  }
  header h1 span {
    font-family: 'Unna', sans-serif;
  }
  header h1 span:first-child {
    font-size: 50px;
    margin-right: .5rem;
  }
  header h1 span:nth-child(2) {
    font-size: 30px;
  }
  header h1 a {
    color: #fff;
  }
  header nav {
    display: flex;
    justify-content: right;
  }
  header menu {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  header menu li {
    list-style: none;
  }
  header menu:first-child li {
    margin: 0 2dvw;
  }
  header menu:nth-child(2) li {
    margin: 0 .5dvw;
  }
  header menu a {
    font-weight: 600;
    color: #fff;
  }
  header menu:nth-child(2) a {
    border-radius: 5px;
    font-weight: 400;
    font-size: 90%;
    padding: .5rem 1rem;
    text-align: center;
  }
  header menu:nth-child(2) li:first-child a {
    background-color: #DC0D0D;
  }
  header menu:nth-child(2) li:nth-child(2) a {
    background-color: #FAFF02;
    color: #000;
  }
  .nav-wrapper{
    display: none;
  }
  #ip_firstview {
    background-image: url(../img/fv_bg.png);
    background-size: cover;
    width: 100%;
    aspect-ratio: 1/0.42619;
    height: fit-content;
    position: relative;
    margin-bottom: 12dvw;
  }
  #ip_firstview > div {
    display: flex; 
    flex-direction: column;
    position: relative;
    top: 24%;
  }
  #ip_firstview hgroup {
    display: flex;
    flex-direction: column;
    margin-bottom: 2dvw;
  }
  #ip_firstview hgroup span {
    font-size: 3.4dvw;
  }
  #ip_firstview hgroup h2,
  #ip_firstview hgroup p {
    font-size: 2.3dvw;
    font-weight: 400;
    background-color: rgba(0, 0, 0, .7);
    display: inline-block;
    width: auto;
    margin: 0 auto 15px 0;
    color: #fff;
    padding: .2rem 1rem .6rem 1rem;
    line-height: 1;
  }
  #ip_firstview form {
    width: 75%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
    min-width: 700px;
  }
  #ip_firstview h2 {
    grid-column-start: 1;
    grid-column-end: 1;
    margin: 0 0 0 10px;
    background-color: #FAFF02;
    width: 12dvw;
    font-size: 1.5dvw;
    text-align: center;
    line-height: 2;
    font-weight: 400;
    border: 1px solid #000;
  }
  #ip_firstview form p {
    grid-column-start: 2;
    grid-column-end: 4;
    text-align: right;
    margin: 0;
    color: #fff;
    font-weight: 400;
    font-size: 2.5dvw;
    line-height: 1.2;
  }
  #ip_firstview form p span {
    font-size: 2.8dvw;
  }
  #ip_firstview button {
    grid-row-start: 2;
    grid-column-start: 3;
    background-color: #DC0D0D;
    color: #fff;
    width: 12dvw;
    height: 100%;
    font-size: 2dvw;
    border: 1px solid #000;
    border-radius: 0 5px 5px 0;
  }
  #ip_firstview dl {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 2;
    margin: 0;
    border: 1px solid #000;
    box-shadow: 0 2px 3px;
    background-color: hsla(0, 0%, 100%, 0.8);
    backdrop-filter: blur(5px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 5px 0 0 5px;
    /*height: 8dvw;*/
  }
  #ip_firstview dl dt,
  #ip_firstview dl dd {
    margin: 0 0 0 1rem;
  }
  #ip_firstview dl dt {
    padding-top: .2rem;
  }
  #ip_firstview dl dd {
    padding-bottom: .5rem;
  }
  #ip_firstview dl dd input {
    line-height: 2;
    padding: .2rem .5rem;
    width: 47%;
  }
  #ip_firstview dl dt:first-child,
  #ip_firstview dl dd:nth-child(2) {
    border-right: 1px solid #000;
  }
  #ip_firstview dl dt:first-child {
    grid-area: 1/1;
  }
  #ip_firstview dl dd:nth-child(2) {
    grid-area: 2/1;
  }
  #ip_firstview > div {
    height: 100%;
  }
  #ip_firstview > div > .swiper {
    position: absolute;
    bottom: -3%;
    right: 0;
    width: 75%;
  }
  #ip_firstview > div > div > ul {
    display: flex;
    gap: .7dvw;
    margin: 0;
    padding: 1.5dvw 0 1.5dvw 1.5dvw;
    background-color: #fff;
  }
  #ip_firstview > div li {
    list-style: none;
    width: auto;
  }
  #ip_firstview > div li img {
    width: 100%;
    height: auto;
  }
  section.content {
    margin: 0 auto 4dvw auto;
  }
  section.content h2 {
    font-family: 'Unna';
    text-align: center;
    font-size: 2.5dvw;
  }
  #news_topic {
    margin-bottom: 7dvw;
    width: 85%;
    margin: 0 0 2rem auto;
  }
  #news_topic h2 {
    font-family: 'Unna';
    font-size: 5dvw;
    line-height: 1;
    border-bottom: 3px solid #000;
    text-align: left;
  }
  #news_topic li {
    list-style: none;
    border-bottom: 1px solid #000;
    margin: 0 0 0 8%;
    padding: 0.5rem 0;
    display: flex;
    position: relative;
  }
  #news_topic li {
    text-decoration: none;
    color: #000;
    margin: 0;
    /* padding-left: 5%; */

  }
  /* #news_topic li::before {
    content: "New";
    font-family: 'Unna';
    display: inline-block;
    color: #D00000;
    position: absolute;
    left: 0%;
    font-size: 1em;
    top: 26%;
  } */
  #news_topic li{
    margin: 0 5dvw 0 0;
    line-height: 1.8;
  }
  #news_topic li .date{
    margin-right: 20px;
  }
  #line_up {
    position: relative;
    margin-top: 63px;
  }
  #line_up h2 {
    display: block;
    background-color: #fff;
    padding: 0 2.5rem;
    font-size: 2.5dvw;
    margin: 0;
    font-family: "Zen Old Mincho", serif;
  }
  #line_up nav {
    margin-top: 4dvw;
  }
  #line_up menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem .7rem;
    padding: 0;
  }
  #line_up menu li {
    list-style: none;
    border: 1px solid #000;
    width: 23.8%;
    text-align: center;
    font-size: 1.8dvw;
  }
  #line_up menu a {
    text-decoration: none;
    color: #000;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    justify-content: center;
    padding: .3rem 0;
    font-size: 55%;
  }
  #line_up menu img {
    width: auto;
    height: auto;
    max-width: 4dvw;
    max-height: 3dvw;
    margin-right: .2dvw;
  }
  #line_up .car-list nav ul {
    display: flex;
    justify-content: right;
    gap: .5dvw;
    margin-bottom: .6dvw;
  }
  #line_up .car-list nav li {
    list-style: none;
    width: 1.3dvw;
    height: 1.3dvw;
    background-color: #cfcfcf;
  }
  #line_up .car-list > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 22.8px;
    padding: 0;
    margin: 0 0 4dvw 0;
  }
  #line_up .car-list > ul li {
    width: 31.2%;
    background-color: #EBEFEF;
    text-align: center;
    list-style: none;
    border: 1px solid #000;
  }
  #line_up .car-list > ul button {
    background-color: #FAFF02;
    border: 1px solid #000;
    box-shadow: 0 1px 2px;
    width: 88%;
    padding: .3rem 0;
    text-align: center;
    font-weight: 600;
  }
  #line_up .car-list > ul img {
    width: 100%;
    height: auto;
  }
  #line_up .car-list > ul h3 {
    color: #000;
    display: block;
    font-weight: 500;
    padding-bottom: 8px;
  }
  #line_up .car-list > ul span {
    display: block;
  }
  #line_up .car-list > ul .price span {
    color: #D00000;
    font-size: 2dvw;
  }
  button.more {
    background:  linear-gradient(90deg, rgba(57, 210, 248, 1), rgba(10, 95, 153, 1));
    color: #fff;
    font-weight: 600;
    text-align: center;
    display: block;
    width: 300px;
    font-size: 1.5rem;
    line-height: 3;
    margin: 0 auto;
    box-shadow: 0 2px 3px #4e4e4e;
}
  #lp_guide {
    background-image: url(../img/lp_guide_bg.png);
    background-size: cover;
    width: 100%;
    aspect-ratio: 1/0.295128;
    height: fit-content;
    text-align: center;
    font-size: 2.55dvw;
  }
  
  #lp_guide hgroup {
    padding-top: 6dvw;
    width: 80%;
    margin: 0 auto;
  }
  #lp_guide hgroup p {
    margin-top: 1dvw;
    margin-bottom: .5dvw;
  }
  #lp_guide h2{
    font-size: 3.2dvw;
    font-weight: 400;
    margin-bottom: 1.6dvw;
  }
  #lp_guide > p {
    text-align: right;
    margin-top: .5dvw;
    margin-right: 12%;
  }
  #lp_guide > p a {
    width: 15%;
    font-weight: 600;
    padding: 1dvw;
    display: inline-block;
    background-color: #FAFF02;
    font-size: 1.5dvw;
    text-align: center;
    text-decoration: none;
    color: #000;
    box-shadow: 0 2px 3px;
  }

  #lp_forte {
    background-image: url(../img/lp_forte_bg.png);
    background-size: cover;
    width: 100%;
    aspect-ratio: 1/0.54489;
    height: fit-content;
  }
  #lp_forte ol {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    height: 100%;
    padding: 4% 0 4% 0;
    margin: 0 auto;
    gap: 1.7dvw;
  }
  #lp_forte ol li {
    width: 48.9%;
    height: 49%;
    background-color: rgba(255, 255, 255, .65);
    background-image: url(../img/h_line.svg);
    background-repeat: no-repeat;
    background-position: 35% 21.5%;
    background-size: 90%;
    list-style: decimal-leading-zero;
    list-style-position: inside;
    padding: 1dvw 1.5dvw;
  }
  #lp_forte ol li::marker {
    font-size: 5dvw;
    line-height: 1;
  }

  #lp_forte ol h3 {
    display: inline-block;
    font-size: 2dvw;
    margin-top: 0;
    font-weight: 400;
    /*margin-left: -1dvw;*/
  }
  #lp_forte ol h3 span {
    font-family: 'Unna';
  }
  #lp_forte ol h3 span:first-child {
    font-size: 4dvw;
  }
  #lp_forte ol h3 span:nth-child(2) {
    font-size: 2.7dvw;
  }
  #lp_forte p {
    text-align: center;
    font-size: 1.75dvw;
    line-height: 1.2;
  }
  #lp_info {
    width: 100%;
  }
  #lp_info iframe {
    width: 100%;
  }
  #lp_cv {
    margin-bottom: 8dvw;
  }
  #lp_cv ul {
    display: flex;
    gap: 2dvw;
    padding: 0;
  }
  #lp_cv li {

    background-color: #666;
    background-size: cover;
    width: 100%;
    aspect-ratio: 1/1.16729;
    height: fit-content;
    width: 33.3%;
    color: #fff;
    list-style: none;
    padding: 1dvw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-size: cover;
  }

  #lp_cv h3 {
    text-align: center;
    font-size: 2.5dvw;
    margin: 1dvw;
  }
  #lp_cv p {
    word-break: break-all;
    font-size: 2.15dvw;
    margin: 0;
  }
  #lp_faq ul {
    margin: 0;
    padding: 0;
  }
  #lp_faq h2 {
    padding-bottom: .2dvw;
    margin-bottom: .7dvw;
    border-bottom: 1px solid #000;
  }
  #lp_faq li {
    font-size: 1.5dvw;
    padding: .8dvw 1dvw .8dvw 5dvw;
    list-style: none;
    border-bottom: 1px solid #000;
  }
  #lp_faq p {
    margin: 0;
  }
  #lp_info {
    background-color: #F1F3F4;
    position: relative;
    padding: 8% 0 0 0;
  }
  #lp_info::before {
    content: "";
    border-bottom: 5px solid #fff;
    display: block;
    position: absolute;
    top: 8.5%;
    left: 15%;
    right: 15%;
  }
  #lp_info h2 {
    background-color: #F1F3F4;
    display: inline-block;
    position: absolute;
    padding: 0 .2dvw;
    top: 5.1%;
    left: 50%;
    transform: translateX(-50%);
  }
  #lp_info dl {
    width: 70%;
    border: 5px solid #fff;
    padding: 1dvw 2dvw 1dvw 7dvw;
    margin: 3dvw auto 6dvw auto;
  }
  #lp_info dt {
    width: 27%;
    display: inline-block;
    font-size: 2dvw;
    line-height: 2.5;
  }
  #lp_info dd {
    width: 68%;
    font-size: 2dvw;
    display: inline-block;
    margin: 0;
  }
  #lp_contract {
    background-color: #fff;
    text-align: center;
  }
  #lp_contract button {
    background: linear-gradient(to left bottom, #DC0D0D, rgba(220, 13, 13, .6));
    color: #fff;
    line-height: 1.8;
    font-size: 2.3dvw;
    width: 30%;
    border-radius: 2.5dvw;
    position: relative;
    margin: 4.5dvw 0 4.5dvw 0;
  }
  #lp_contract button::before {
    content: "";
    display: block;
    position: absolute;
    right: -1.8dvw;
    top: -2.5dvw;
    width: 3.2dvw;
    height: 3.2dvw;
    background-size: cover;
    background-image: url(../img/reserv_bg.svg);
    background-repeat: no-repeat;
  }

  #lp_contract h3 {
    margin: 0 0 .5dvw 0;
    font-size: 2.5dvw;
    font-weight: 400;
  }
  #lp_contract p {
    margin: 0;
    font-size: 3.5dvw;
  }
  footer {
    background-color: #000;
    padding-bottom: 2dvw;
  }
  footer section {
    background-color: #5F7A94;
    padding: 2dvw 2.5dvw;
  }
  footer a {
    color: #fff;
    text-decoration: none;
  }
  footer h2 {
    font-size: 15px;
    line-height: 1;
    font-weight: 400;
    margin: 0;
  }
  footer h2 span {
    font-family: 'Unna', sans-serif;
  }
  footer h2 span:first-child {
    font-size: 50px;
    margin-right: .5rem;
  }
  footer h2 span:nth-child(2) {
    font-size: 30px;
  }
  header > button {
    display: none;
  }
  .top-firstview{
    margin-top: -40px;
  }
  .txt-center{
    text-align: center;
  }
  .c-white{
    color: #fff;
  }
  #lp_info dt:nth-of-type(2){
    width: 26.5%;
  }
  .h2_strongpoint{
    text-align: center;
    margin: 20px 0;
    color: #000;
  }
  @media (max-width: 749px) {
    h3,h2,li,p,dt,dd{
      color: #000;;
  }

    .hamburger {
      position: absolute;
      right: 20px;
      top: 13px;
      width: 50px;
      height: 40px;
      cursor: pointer;
      z-index: 300;
    }
    
    .hamburger__line {
      position: absolute;
      width: 30px;
      height: 3px;
      right: 0;
      background-color: #ccc;
      transition: all 0.5s;
    }
    
    .hamburger__line--1 {
      top: 1px;
    }
    
    .hamburger__line--2 {
      top: 9px;
    }
    
    .hamburger__line--3 {
      top: 18px;
    }
    .sp-nav ul {
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
    }
    .sp-nav ul li{
      font-size: 20px;
      color: #fff;
    }
    /*ハンバーガーがクリックされたら*/
    .open .hamburger__line--1 {
      transform: rotate(-45deg);
      top: 11px;
    }
    
    .open .hamburger__line--2 {
      opacity: 0;
    }
    
    .open .hamburger__line--3 {
      transform: rotate(45deg);
      top: 11px;
    }
    
    /* 
    sp-nav(ナビ)
    =================================== */
    .sp-nav {
      position: fixed;
      right: -100%; /*ハンバーガーがクリックされる前はWindow右側に隠す*/
      top: 0;
      width: 70%; /* 出てくるスライドメニューの幅 */
      height: 100vh;
      background-color: #333;
      transition: all 0.5s;
      z-index: 200;
      overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    }
    
    /*ハンバーガーがクリックされたら右からスライド*/
    .open .sp-nav {
      right: 0;
    }
    
    
    /* 
    black-bg(ハンバーガーメニュー解除用bg)
    =================================== */
    .black-bg {
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      z-index: 5;
      background-color: #000;
      opacity: 0;
      visibility: hidden;
      transition: all 0.5s;
      cursor: pointer;
      z-index: 100;
    }
    .nav-wrapper{
      display: block;
    }
    /*ハンバーガーメニューが開いたら表示*/
    .open .black-bg {
      opacity: 0.3;
      visibility: visible;
    }
    
    body {
      margin-top: 11.5dvw;
    }
    header {
      grid-template-columns: 42dvw auto;
      justify-content: left;
    }
    header h1 {
      margin: 0 0 0 1dvw;
      font-size: 3dvw;
    }
    header h1 span:first-child {
      font-size: 9dvw;
      margin-right: .8dvw;
    }
    header h1 span:nth-child(2) {
      font-size: 5dvw;
    }
    header menu:nth-child(1) {
      display: none;
    }
    header menu:nth-child(2) a {
      font-size: 3.5dvw;
      padding: 1.5dvw 1dvw;
    }
    header > button {
      display: block;
      position: absolute;
      right: 2dvw;
      top: 3dvw;
      height: 6dvw;
      width: 6dvw;
      background-color: transparent;
      border: none;
      z-index: 2;
    }
    header > button::before {
      font-family: 'Font Awesome';
      position: absolute;
      right: 1dvw;
      top: 0;
      content: "\f0c9";
      display: block;
      font-size: 6dvw;
      color: #fff;
    }
    header menu:nth-child(1).active {
      display: flex;
      flex-direction: column;
      justify-content: center;
      font-size: 8dvw;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, .8);
      z-index: 1;
    }
    header > button.active::before {
      content: "\f410";
      font-size: 8dvw;
    }
    header menu:nth-child(1) li {
      width: 100%;
      text-align: center;
      line-height: 3;
    }
    #ip_firstview {
      margin-bottom: 61dvw;
      height: 300px;
    }
    #ip_firstview hgroup h1, #ip_firstview hgroup p {
      font-size: 4dvw;
    }
    #ip_firstview hgroup span {
      font-size: 6dvw;
    }
    #ip_firstview > div {
      display: block;
    }
    #ip_firstview > div > .swiper {
      bottom: auto;
      top: 78%;
      width: 100%;
    }
    #ip_firstview > div > div > ul {
      gap: 0;
      padding: 0;
    }
    #line_up menu a {
      font-size: 17px;
    }
    #ip_firstview h2 {
      font-size: 6dvw;
      width: 30%;
      margin: 0;
      display: inline-block;
    }
    #ip_firstview form p {
      font-size: 6dvw;
      color: #000;
      display: inline-block;
    }
    #ip_firstview form p span {
      font-size: 8dvw;
    }
    #ip_firstview form {
      top: 63dvw;
      position: relative;
      display: inline;
    }
    /*#ip_firstview dl {
      display: block;
    }*/
    #ip_firstview dl {
      border: none;
      border-radius: 0;
      box-shadow: none;
    }
    #ip_firstview dl dt, #ip_firstview dl dd{
      margin: 0;
    }
    #ip_firstview dl dt:first-child, #ip_firstview dl dd:nth-child(2){
      border: none;
    }
    #ip_firstview dl dd input {
      width: 48%;
      font-size: 3.3dvw;
      padding: 0;
    }
    #ip_firstview button {
      height: auto;
      width: 60%;
      font-size: 6dvw;
      display: block;
      margin: 6dvw auto;
      border-radius: 6dvw;
      line-height: 2;
      box-shadow: 0px 2px #666;
    }
    #lp_cv {
      margin-top: 2rem;
      margin-bottom: 2rem;
    }
    section.content h2 {
      font-size: 6dvw;
    }
    section.content,
    #news_topic {
      width: 95%;
      margin: 0 auto 0 auto;
    }
    #news_topic h2 {
      font-size: 7dvw;
    }
    #news_topic ul {
      padding: 0;
    }
    #news_topic article {
      margin: 0;
    }
    #news_topic article::before {
      font-size: 3.5dvw;
      left: 0;
    }
    #news_topic h3 {
      font-size: 3dvw;
      margin: 0 2% 0 8%;
    }
    #news_topic p {
      font-size: 3.45dvw;
    }
    #line_up {
      margin-top: 8dvw;
    }
    #line_up h2 {
      font-size: 6dvw;
      top: -4dvw;
    }
    #line_up menu li {
      width: 48.5%;
      font-size: 5dvw;
    }
    #line_up menu img {
      max-width: 8dvw;
      max-height: 6dvw;
      margin-right: .2dvw;
    }
    #line_up .car-list nav ul {
      gap: 1.5dvw;
      margin-bottom: 1.8dvw;
    }
    #line_up .car-list nav li {
      width: 3.9dvw;
      height: 3.9dvw;
    }
    #line_up .car-list > ul {
      margin-bottom: 5dvw;
    }
    #line_up .car-list > ul li {
      width: 48.8%;
    }
    #line_up .car-list > ul h3 {
      font-size: 4dvw;
    }
    #line_up .car-list > ul button {
      font-size: 4dvw;
    }
    #line_up .car-list > ul .price span {
      font-size: 6dvw;
    }
    #line_up > section > button {
      font-size: 5dvw;
      width: 40dvw;
      margin-bottom: 8dvw;
    }
    #lp_guide {
      margin-bottom: 9dvw;
    }
    #lp_guide h2 {
      font-size: 6.5dvw;
      line-height: 1;
      margin: 0;
    }
    #lp_guide hgroup {
      margin: 0 auto;
    }
    #lp_guide hgroup p {
      font-size: 5dvw;
      line-height: 1;
      margin: 0;
    }
    #lp_guide > p {
      margin-top: .5dvw;
      margin-right: 3%;
    }
    #lp_guide > p a {
      font-size: 3dvw;
      width: 20dvw;
    }
    #lp_forte {
      overflow: hidden;
    }
    #lp_forte ol {
      flex-wrap: nowrap;
      flex-direction: column;
      /*width: 200%;*/
      margin: 0 auto;
      width: 90%;
      gap: 5dvw;
      padding: 5dvw 0 7dvw 0;
    }
    #lp_forte ol li {
      /*width: 80%;*/
      width: 100%;
    }
    #lp_forte ol h3 {
      font-size: 4dvw;
      margin: 0;
    }
    #lp_forte ol li::marker {
      font-size: 8dvw;
    }
    #lp_forte ol h3 span:first-child {
      font-size: 7dvw;
    }
    #lp_forte ol h3 span:nth-child(2) {
      font-size: 5.4dvw;
    }
    #lp_forte p {
      font-size: 4dvw;
    }
    #lp_forte {
      aspect-ratio: 1/1.5;
    }

    .swiper_cv {
      overflow: hidden;
    }
    #lp_cv ul {
      gap: 0;
    }
    #lp_cv li {
      width: 100%;
      padding: 3dvw;
    }
    #lp_cv h3 {
      font-size: 9dvw;
    }
    #lp_cv p {
      font-size: 7dvw;
    }

    #lp_faq {
      margin-bottom: 8dvw;
    }
    #lp_faq h2 {
      font-size: 6dvw;
    }
    #lp_faq p {
      font-size: 3dvw;
    }
    #lp_info h2 {
      font-size: 6dvw;
      top: 1.5%;
      width: 55%;
    }
    #lp_info::before {
      top: 5.5%;
      left: 2.5%;
      right: 2.5%;
    }
    #lp_info dl {
      width: 95%;
      margin-top: 10dvw;
      padding: 1dvw 2dvw 1dvw 2dvw;
    }
    #lp_info dt {
      width: 22%;
    }
    #lp_info dd {
      width: 77%;
    }
    #lp_info dt,
    #lp_info dd {
      font-size: 3.5dvw;
    }
    #lp_contract button {
      font-size: 8dvw;
      width: 70%;
      border-radius: 8dvw;
      margin: 10dvw 0 10dvw 0;
    }
    #lp_contract button::before {
      right: -3.5dvw;
      top: -6.1dvw;
      width: 8dvw;
      height: 8dvw;
    }
    #lp_contract a {
      display: block;
      padding: 1.5dvw;
      width: 80%;
      margin: 0 auto 10dvw auto;
    }
    #lp_contract h3 {
      margin: 0 0 .5dvw 0;
      font-size: 6dvw;
    }
    #lp_contract p {
      font-size: 8dvw;
    }
  }

  @media (max-width: 749px) {
    body {
      margin-top: 11.5dvw;
      background-color: #fff;
    }
    button.more{
      width: 76%;
      padding: 10px;
      line-height: 2;
      font-size: 1rem;
    }
    header {
      grid-template-columns: 42dvw auto;
      justify-content: left;
      padding: 10px 0;
    }
    header h1 {
      margin: 0 0 0 1dvw;
      font-size: 3dvw;
    }
    header h1 span:first-child {
      font-size: 9dvw;
      margin-right: .8dvw;
    }
    header h1 span:nth-child(2) {
      font-size: 5dvw;
    }
    header menu:nth-child(1) {
      display: none;
    }
    header menu:nth-child(2) a {
      font-size: 3.5dvw;
      padding: 1.5dvw 1dvw;
    }
    header > button {
      display: block;
      position: absolute;
      right: 2dvw;
      top: 3dvw;
      height: 6dvw;
      width: 6dvw;
      background-color: transparent;
      border: none;
      z-index: 2;
    }
    header > button::before {
      font-family: 'FontAwesome';
      position: absolute;
      right: 1dvw;
      top: 0;
      content: "\f0c9";
      display: block;
      font-size: 6dvw;
      color: #fff;
    }
    header menu:nth-child(1).active {
      display: flex;
      flex-direction: column;
      justify-content: center;
      font-size: 8dvw;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(0, 0, 0, .8);
      z-index: 1;
    }
    header > button.active::before {
      content: "\f410";
      font-size: 8dvw;
    }
    header menu:nth-child(1) li {
      width: 100%;
      text-align: center;
      line-height: 3;
    }
    #ip_firstview {
      margin-bottom: 70%;
    }
    #ip_firstview hgroup h1, #ip_firstview hgroup p {
      font-size: 4dvw;
    }
    #ip_firstview hgroup span {
      font-size: 6dvw;
    }
    #ip_firstview > div {
      display: block;
    }
    #ip_firstview > div > .swiper {
      bottom: auto;
      top: 78%;
      width: 100%;
    }
    #ip_firstview > div > div > ul {
      gap: 0;
      padding: 0;
    }

    /*#ip_firstview div {
      display: grid;
    }
    #ip_firstview hgroup {
      grid-row-start: 1;
      grid-row-end: 1;
    }
    #ip_firstview .swiper {
      grid-row-start: 2;
      grid-row-end: 2;
    }
    #ip_firstview form {
      grid-row-start: 3;
      grid-row-end: 3;
    }*/
    #ip_firstview h2 {
      font-size: 6dvw;
      width: 30%;
      margin: 0;
      display: inline-block;
    }
    #ip_firstview form p {
      font-size: 6dvw;
      color: #000;
      display: inline-block;
    }
    #ip_firstview form p span {
      font-size: 8dvw;
    }
    #ip_firstview form {
      top: 63dvw;
      position: relative;
      display: inline;
    }
    /*#ip_firstview dl {
      display: block;
    }*/
    #ip_firstview dl {
      border: none;
      border-radius: 0;
      box-shadow: none;
    }
    #ip_firstview dl dt, #ip_firstview dl dd{
      margin: 0;
    }
    #ip_firstview dl dt:first-child, #ip_firstview dl dd:nth-child(2){
      border: none;
    }
    #ip_firstview dl dd input {
      width: 48%;
      font-size: 3.3dvw;
      padding: 0;
    }
    #ip_firstview button {
      height: auto;
      width: 60%;
      font-size: 6dvw;
      display: block;
      margin: 6dvw auto;
      border-radius: 6dvw;
      line-height: 2;
      box-shadow: 0px 2px #666;
    }

    section.content h2 {
      font-size: 6dvw;
    }
    section.content,
    #news_topic {
      width: 95%;
      margin: 0 auto 0 auto;
    }
    #news_topic h2 {
      font-size: 7dvw;
    }
    #news_topic ul {
      padding: 0;
    }
    #news_topic article {
      margin: 0;
    }
    #news_topic article::before {
      font-size: 3.5dvw;
      left: 0;
    }
    #news_topic h3 {
      font-size: 3dvw;
      margin: 0 2% 0 8%;
    }
    #news_topic p {
      font-size: 3.45dvw;
    }
    #line_up {
      margin-top: 8dvw;
    }
    #line_up h2 {
      font-size: 6dvw;
      top: -4dvw;
    }
    #line_up menu li {
      width: 48.5%;
      font-size: 5dvw;
    }
    #line_up menu img {
      max-width: 8dvw;
      max-height: 6dvw;
      margin-right: .2dvw;
    }
    #line_up .car-list nav ul {
      gap: 1.5dvw;
      margin-bottom: 1.8dvw;
    }
    #line_up .car-list nav li {
      width: 3.9dvw;
      height: 3.9dvw;
    }
    #line_up .car-list > ul {
      margin-bottom: 5dvw;
    }
    #line_up .car-list > ul li {
      width: 48.8%;
    }
    #line_up .car-list > ul h3 {
      font-size: 4dvw;
    }
    #line_up .car-list > ul button {
      font-size: 4dvw;
    }
    #line_up .car-list > ul .price span {
      font-size: 6dvw;
    }
    #line_up > section > button {
      font-size: 5dvw;
      width: 40dvw;
      margin-bottom: 8dvw;
    }
    #lp_guide {
      margin-bottom: 9dvw;
    }
    #lp_guide h2 {
      font-size: 6.5dvw;
      line-height: 1;
      margin: 0;
    }
    #lp_guide hgroup {
      margin: 0 auto;
    }
    #lp_guide hgroup p {
      font-size: 5dvw;
      line-height: 1;
      margin: 0;
    }
    #lp_guide > p {
      margin-top: .5dvw;
      margin-right: 3%;
    }
    #lp_guide > p a {
      font-size: 3dvw;
      width: 20dvw;
    }
    #lp_forte {
      overflow: hidden;
    }
    #lp_forte ol {
      flex-wrap: nowrap;
      flex-direction: column;
      /*width: 200%;*/
      margin: 0 auto;
      width: 90%;
      gap: 5dvw;
      padding: 5dvw 0 7dvw 0;
    }
    #lp_forte ol li {
      /*width: 80%;*/
      width: 100%;
    }
    #lp_forte ol h3 {
      font-size: 4dvw;
      margin: 0;
    }
    #lp_forte ol li::marker {
      font-size: 8dvw;
    }
    #lp_forte ol h3 span:first-child {
      font-size: 7dvw;
    }
    #lp_forte ol h3 span:nth-child(2) {
      font-size: 5.4dvw;
    }
    #lp_forte p {
      font-size: 4dvw;
    }
    #lp_forte {
      aspect-ratio: 1/1.5;
    }

    .swiper_cv {
      overflow: hidden;
    }
    #lp_cv ul {
      gap: 0;
    }
    #lp_cv li {
      width: 100%;
      padding: 3dvw;
    }
    #lp_cv h3 {
      font-size: 9dvw;
    }
    #lp_cv p {
      font-size: 7dvw;
    }

    #lp_faq {
      margin-bottom: 8dvw;
    }
    #lp_faq h2 {
      font-size: 6dvw;
    }

    #lp_info h2 {
      font-size: 6dvw;
      top: 1.5%;
      width: 55%;
    }
    #lp_info::before {
      top: 5.5%;
      left: 2.5%;
      right: 2.5%;
    }
    #lp_info dl {
      width: 95%;
      margin-top: 10dvw;
      padding: 1dvw 2dvw 1dvw 2dvw;
    }
    #lp_info dt {
      width: 22%;
    }
    #lp_info dd {
      width: 77%;
    }
    #lp_info dt,
    #lp_info dd {
      font-size: 3.5dvw;
    }
    #lp_contract button {
      font-size: 8dvw;
      width: 70%;
      border-radius: 8dvw;
      margin: 10dvw 0 10dvw 0;
    }
    #lp_contract button::before {
      right: -3.5dvw;
      top: -6.1dvw;
      width: 8dvw;
      height: 8dvw;
    }
    #lp_contract a {
      display: block;
      padding: 1.5dvw;
      width: 80%;
      margin: 0 auto 10dvw auto;
    }
    #lp_contract h3 {
      margin: 0 0 .5dvw 0;
      font-size: 6dvw;
    }
    #lp_contract p {
      font-size: 8dvw;
    }
  }


  @media (max-width: 400px) {
    #line_up menu li {
      width: 47.5%;
 
  }
  #line_up .car-list > ul li{
    width: 47.8%;
  }

  }

  