@charset "utf-8";
/* CSS Document */
@media (max-width: 768px) {
  .xvst .main1 {
    display: none;
  }
  .xvst .sp-main1 {
    width: 100%;
    margin-top: 70px;
  }
  .xvst .brand-ttl {
    padding: 7vw 0 8.666vw;
  }
  .xvst .brand-ttl h2 {
    font-size: 5.867vw;
  }
  .xvst .brand-ttl h2 span {
    font-size: 2.4vw;
  }
  .xvst .product ul.nav {
    flex-wrap: wrap;
    padding: 0;
    margin: 0 0 30px 3vw;
  }
  .xvst .product ul.nav li span {
    position: relative;
  }
  .xvst .product ul.nav li {
    width: 46.5%;
    margin: 0 0 30px 0vw;
    white-space: nowrap;
  }
  .xvst .product ul.nav li span::before,
  .xvst .product ul.nav li span::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #30363a;
    transition: width 0.5s;
  }
  .xvst .product h3 {
    font-size: 5.867vw;
    letter-spacing: 0;
  }
  .xvst .product h3 span {
    font-size: 4vw;
  }
  .lead {
    margin: 30px 0;
  }
  .product p {
    font-size: 3.733vw;
  }
  .xvst .product .inner {
    width: 92%;
  }
  .xvst .product ul.nav li span.txt {
    font-size: 3.6vw;
    letter-spacing: -0.5px;
  }

  .xvst .product {
    padding: 8vw 0 0;
  }
  .product1 ul {
    margin: 20px auto 20px;
  }

  .product1 ul li {
    font-size: 3.733vw;
  }
  .product1 ul p {
    font-size: 2.667vw;
    margin: 15px 0 0 0;
    line-height: 1.8;
  }
  .product1 .product-flex-item.left::after {
    width: 39.2vw;
  }
  .product1 .product-flex {
    margin-bottom: 80px;
  }
  .product1 {
    margin: 0 auto 75px;
  }
  .product1::after {
    bottom: -45px;
    width: 92%;
  }
  .product2 .bg-flex-item.right div.box .price {
    margin-bottom: 30px;
  }
  .product2 .bg {
    margin: 0 auto 60px;
  }
  .product2 .bg-flex {
    flex-direction: column;
  }
  .product2 .bg-flex-item {
    width: 100%;
  }
  .product2 .bg-flex-item.right {
    display: block;
    margin: 0 auto;
  }
  .product2 .bg-flex-item.right img {
    width: 80%;
    margin: 0 auto;
    display: block;
  }
  .product2 .bg-flex-item.right div.box {
    width: 73.333vw;
    margin: 50px auto 0;
    display: block;
  }
  .product2 .flex-item {
    width: 49%;
    letter-spacing: -1px;
    margin-bottom: 20px;
    line-height: 1.3;
  }
  .product2 .flex {
    gap: 0px 2%;
  }
  .product2 {
    margin: 0 auto 75px;
  }
  .product2::after {
    bottom: -45px;
  }
  .product3 .bg-flex {
    margin-top: 20px;
    flex-direction: column;
  }
  .product3 .bg-flex-item.left {
    width: 67%;
    margin: 0 auto;
  }
  .product3 .bg-flex-item.right {
    flex-direction: column;
    width: 100%;
    margin: 40px auto 0;
  }
  .product3 .bg-flex-item.left::after {
    left: -25%;
    bottom: -20px;
    font-size: 2.933vw;
  }
  .product3 .bg-flex-item.right div.box p {
    margin-bottom: 20px;
  }
  .product3 .bg {
    margin: 0 auto 30px;
  }
  .product3 {
    margin: 0 auto 50px;
  }
  .brand-ttl.logo h2::before {
    left: -20vw;
    width: 16vw;
    height: 16vw;
  }
  .product4 .product-flex {
    flex-direction: column;
  }
  .brand-ttl.logo {
    margin: 0 auto 40px;
  }
  .product4 .product4-size .flex-item.left {
    width: 100%;
    margin: 0 auto 0;
  }
  .product4 .product4-size .flex-item.left img {
    width: 38%;
    display: block;
    margin: 0 auto 30px;
  }
  .xvst .product4 .product4-size h3 {
    font-size: 4vw;
  }
  .product4 .product4-size table {
    font-size: 3.2vw;
    line-height: 2;
  }
  .product4 .product4-size .flex-item.right .product-att {
    font-size: 2.75vw;
    letter-spacing: -0.05px;
  }
  .product4-lineup {
    margin-bottom: 30px;
  }
  .product4-lineup .btn {
    margin: 0px auto 40px;
  }
  .product4-lineup .flex-item.left {
    width: 100%;
  }
  .product4-lineup .flex-item img {
    width: 86%;
    margin: 0 auto;
    display: block;
  }
  .ph img {
    margin: 0 auto 0px;
  }

  .product4-lineup .flex-item.right {
    width: 100%;
  }
  .product4-lineup .flex-item.left img.product23 {
    width: 100%;
  }
  .product4-lineup .flex-item.right div {
    flex-direction: column-reverse;
    margin: 20px 0 0 0;
  }

  .product4-lineup.last {
    margin-bottom: 90px;
  }
  .xvst .lead3 dl dt {
    font-size: 16px;
  }
  .xvst .lead3 dl dd {
    padding-bottom: 30px;
  }
  .xvst .lead3 .box {
    padding: 30px 20px 17px;
  }
  .xvst .lead3 .flex {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .xvst .lead3 .flex-item-inner.left,
  .xvst .lead3 .flex-item-inner.right {
    width: 100%;
    padding: 20px;
  }
  .xvst .lead3 .flex-item {
    font-size: 14px;
  }
  .xvst .lead3 h3 {
    font-size: 22px;
  }
  .xvst .honke {
    margin: 40px auto 60px;
  }
}
