@charset "utf-8";
/* CSS Document */

/* ===============================================
   common
=============================================== */
#wrapper {
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
    font-weight: 500;
	color: #000;
	padding: 0;
	margin: 0;
}

#wrapper *{
	box-sizing:border-box;
}

a {
    display: inline-block;
}

a:link,
a:visited,
a:active {
    color: #000;
	text-decoration: none;
}

img {
    max-width: 100%;
}

/* ホバーしたとき */
.over {
    transition: opacity 0.3s;
}
.over:hover {
    opacity: 0.7;
}

.over2 {
    transition: transform 0.3s;
}
.over2:hover {
    transform: translateY(-7px);
}

.over3 {
    transition: .3s;
    position: relative;
}
.over3::before {
	content: "";
	width: 90%;
	height: clamp(0px, 1vw, 10px);
	position: absolute;
	top: 100%;
	left: 5%;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
.over3:hover {
	transform: translateY(-7px);
}
.over3:hover::before {
	transform: translateY(7px);
	opacity: 1;
}

/* 画面上非表示　クローラーや読み上げソフトには認識 */
.sr_only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* pc / sp */
.sp { display: none; }

@media (max-width: 768px) {
    .pc { display: none !important; }
    .sp { display: block; }
}


/* ===============================================
   swiper
=============================================== */
#wrapper .swiper {
	width: clamp(0px, 89.8vw, 920px);
	margin: auto 0;
	margin-inline: auto;
	position: relative;
}

#wrapper .swiper-wrapper {
	transition-timing-function: linear;
}

#wrapper .swiper-slide {
	height: auto;
	transform: translate(-50%,0)!important;
}

.b_img {
	width:100%;
}

#wrapper .swiper-slide .b_img img {
	width: clamp(0px, 44.9vw, 460px);
}

.b2_img {
	width:100%;
}

#wrapper .swiper-slide .b2_img img {
	width: clamp(0px, 44.9vw, 460px);
}

.swiper .swiper-slide-active {
	opacity: 1;
	transform: scale(1);
	z-index: 99;
	height: auto;
}

.swiper-pagination-bullet {
	width: 12px !important;
	height: 12px !important;
	margin: 0 0 0 10px !important;
	background: #333 !important;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper .swiper-button-next,
.swiper .swiper-button-prev {
	width: clamp(0px, 4.4vw, 45px);
    height: clamp(0px, 9.3vw, 95px);
}

.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after {
    content: "";
    width: 100%;
    height: 100%;
	background: url("../img/swiper_arrow.svg") no-repeat center center / contain;
}

.swiper .swiper-button-prev::after {
    transform: scale(-1, 1);
}

@media (max-width: 768px) {
    #wrapper .swiper {
        width: 100vw;
    }
    
    #wrapper .swiper-slide {
        transform: translate(0%,0)!important;
    }
    
    #wrapper .swiper-slide .b_img img {
        width: 90vw;
    }

    #wrapper .swiper-slide .b2_img img {
        width: 90vw;
    }
    
    .swiper .swiper-button-next {
        right: 11vw;
    }
    .swiper .swiper-button-prev {
        left: 11vw;
    }
}


/* ===============================================
   header
=============================================== */
#header {
	width: 100%;
    height: clamp(0px, 11.7vw, 120px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.h_logo {
    width: clamp(0px, 12.2vw, 125px);
}


/* ===============================================
   main
=============================================== */
#main {
    width: clamp(0px, 100vw, 1024px);
    margin-left: auto;
    margin-right: auto;
    padding-bottom: clamp(0px, 9.8vw, 100px);
}

@media (max-width: 768px) {
    #main {
        padding-bottom: 14vw;
    }
}

.bg_silver {
    background: #A6A6A1;
    background: linear-gradient(45deg,rgba(166, 166, 161, 1) 0%, rgba(228, 228, 228, 1) 49%, rgba(166, 166, 161, 1) 100%);
}


/* ===============================================
   mv
=============================================== */
.mv {
	width:100%;
	background:#fff url("../img/header_back.jpg") no-repeat;
	background-size:cover;
	background-position: top left;
	aspect-ratio: 1024 / 610;
	text-align:left;
	line-height:1;
    position: relative;
}

.mv .mv_text,
.mv .mv_logo {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}


/* ===============================================
   lead
=============================================== */
.lead {
    padding: clamp(0px, 4.9vw, 50px) 0 clamp(0px, 8.8vw, 90px);
}

.lead_text {
	font-size: clamp(0px, 2vw, 20px);
    text-align: center;
	line-height: 2.1em;
	letter-spacing: 0.17em;
}

@media (max-width: 768px) {
    .lead {
        padding: 6.7vw 0 12vw;
    }
    
    .lead_text {
        font-size: 2.7vw;
    }
}


/* ===============================================
   special benefit
=============================================== */
#special_benefit .sec_title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: clamp(0px, 12.7vw, 130px);
}

#special_benefit .sec_title::before {
    content: "";
    width: 100%;
    height: clamp(0px, 0.6vw, 6px);
    background-color: #1a3a63;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#special_benefit .sec_title span {
    width: clamp(0px, 49.8vw, 510px);
    font-size: clamp(0px, 5.4vw, 55px);
    font-weight: 800;
    letter-spacing: 0.2em;
    line-height: 1;
    text-align: center;
    color: #1a3a63;
    display: inline-block;
    background-color: #fff;
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    #special_benefit .sec_title {
        margin-bottom: 12vw;
    }

    #special_benefit .sec_title::before {
        height: 0.8vw;
    }
    
    #special_benefit .sec_title span {
        width: 68vw;
        font-size: 7.3vw;
    }
}

.benefit_cont {
    width: 100%;
    background: #002440;
    background: linear-gradient(90deg,rgba(0, 36, 64, 1) 0%, rgba(26, 58, 99, 1) 100%);
    padding: clamp(0px, 2vw, 20px) clamp(0px, 2vw, 20px) 0;
    margin-bottom: clamp(0px, 12.7vw, 130px);
}

.benefit_cont .cont_title_area {
    width: 100%;
    height: clamp(0px, 15.6vw, 160px);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0px, 3.9vw, 40px);
    margin-bottom: clamp(0px, 2vw, 20px);
}

.benefit_cont .cont_title_area::before,
.benefit_cont .cont_title_area::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #CDBE97;
    background: linear-gradient(45deg,rgba(205, 190, 151, 1) 0%, rgba(168, 138, 40, 1) 50%, rgba(205, 190, 151, 1) 100%);
    position: absolute;
    left: 0;
}
.benefit_cont .cont_title_area::before {
    top: 0;
}
.benefit_cont .cont_title_area::after {
    bottom: 0;
}

.benefit_cont .cont_title_area .icon {
    width: clamp(0px, 11.7vw, 120px);
    aspect-ratio: 1 / 1;
    border: 1px solid #cdbe97;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(0px, 2.5vw, 26px);
    line-height: 1.3em;
    font-weight: 700;
    letter-spacing: 0.2em;
    padding-left: 0.2em;
    color: #cdbe97;
}

.benefit_cont .cont_title_area .cont_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0px, 0.8vw, 8px);
}

.benefit_cont .cont_title_area .cont_title img {
    width: clamp(0px, 17.6vw, 180px);
}

.benefit_cont .cont_title_area .cont_title span {
    font-size: clamp(0px, 4.6vw, 47px);
    letter-spacing: 0.12em;
    line-height: 1;
    font-weight: 700;
    color: #cdbe97;
}

@media (max-width: 768px) {
    .benefit_cont {
        padding: 2.7vw 2.7vw 0;
        margin-bottom: 17.3vw;
    }

    .benefit_cont .cont_title_area {
        height: 21.3vw;
        gap: 5.3vw;
        margin-bottom: 2.7vw;
    }

    .benefit_cont .cont_title_area .icon {
        width: 16vw;
        font-size: 3.5vw;
    }

    .benefit_cont .cont_title_area .cont_title {
        gap: 1.1vw;
    }

    .benefit_cont .cont_title_area .cont_title img {
        width: 24vw;
    }

    .benefit_cont .cont_title_area .cont_title span {
        font-size: 6.3vw;
    }
}

.benefit_cont .cont_main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.benefit_cont .cont_main img,
.benefit_cont .cont_main p,
.benefit_cont .cont_main a {
    position: relative;
    z-index: 2;
}

.benefit_cont .cont_main .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.benefit_cont .cont_main .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.new_car_benefit .cont_main {
    padding: clamp(0px, 5.9vw, 60px) 0 clamp(0px, 9.3vw, 95px);
}

.used_car_benefit .cont_main {
    padding: clamp(0px, 6.8vw, 70px) 0 clamp(0px, 5.9vw, 60px);
}

.new_car_benefit .text_1 {
    font-size: clamp(0px, 2.5vw, 26px);
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 500;
    color: #fff;
    margin-bottom: clamp(0px, 2.6vw, 27px);
    filter:
        drop-shadow(0 0 5px rgba(0,0,0,.5))
        drop-shadow(0 0 5px rgba(0,0,0,.5));
}

.new_car_benefit .img_1 {
    width: clamp(0px, 80.1vw, 820px);
    margin-bottom: clamp(0px, 6.8vw, 70px);
}

.new_car_benefit .img_list {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: clamp(0px, 3.4vw, 35px);
}

.new_car_benefit .img_list li {
    width: clamp(0px, 26.4vw, 270px);
}

.new_car_benefit .text_2 {
    width: clamp(0px, 74.6vw, 764px);
    font-size: clamp(0px, 1.6vw, 16px);
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 500;
    color: #fff;
    filter:
        drop-shadow(0 0 2px rgba(0,0,0,.8))
        drop-shadow(0 0 3px rgba(0,0,0,.7))
        drop-shadow(0 0 3px rgba(0,0,0,.7));
}

.used_car_benefit .cont_main_innner {
    width: clamp(0px, 74.6vw, 764px);
}

.used_car_benefit .img_1 {
    width: 100%;
    margin-bottom: clamp(0px, 5.9vw, 60px);
}

.used_car_benefit .img_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: clamp(0px, 2.9vw, 30px) 0;
    margin-bottom: clamp(0px, 5.1vw, 52px);
}

.used_car_benefit .img_list li {
    width: clamp(0px, 35.8vw, 367px);
}

.used_car_benefit .img_list li:last-of-type {
    width: 100%;
}

.used_car_benefit .text_1 {
    width: clamp(0px, 74.6vw, 764px);
    font-size: clamp(0px, 1.6vw, 16px);
    line-height: 1.6em;
    letter-spacing: 0.08em;
    font-weight: 500;
    color: #fff;
    filter:
        drop-shadow(0 0 2px rgba(0,0,0,.8))
        drop-shadow(0 0 3px rgba(0,0,0,.7))
        drop-shadow(0 0 3px rgba(0,0,0,.7));
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: clamp(0px, 4.9vw, 50px);
}

@media (max-width: 768px) {
    .new_car_benefit .cont_main {
        padding: 8vw 0 12.7vw;
    }

    .used_car_benefit .cont_main {
        padding: 5vw 0 8vw;
    }

    .new_car_benefit .text_1 {
        font-size: 3.5vw;
        margin-bottom: 3.6vw;
    }

    .new_car_benefit .img_1 {
        width: 90vw;
        margin-bottom: 9.3vw;
    }

    .new_car_benefit .img_list {
        margin-bottom: 4.7vw;
    }

    .new_car_benefit .img_list li {
        width: 33.33%;
        width: calc(100% / 3);
    }

    .new_car_benefit .text_2 {
        width: 76vw;
        font-size: 2.4vw;
    }

    .used_car_benefit .cont_main_innner {
        width: 88vw;
    }

    .used_car_benefit .img_1 {
        margin-bottom: 8vw;
    }

    .used_car_benefit .img_list {
        gap: 4vw 0;
        margin-bottom: 6.9vw;
    }

    .used_car_benefit .img_list li {
        width: 42vw
    }

    .used_car_benefit .text_1 {
        width: 76vw;
        font-size: 2.4vw;
        margin-bottom: 6.7vw;
    }
}

a.link_btn {
    width: 100%;
    aspect-ratio: 754 / 74;
    border-radius: 80px;
    background-color: #fff;
    border: clamp(0px, 0.3vw, 3px) solid #1a3a63;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0px, 2vw, 20px);
    font-size: clamp(0px, 3.2vw, 33px);
    color: #1a3a63;
    font-weight: 900;
    letter-spacing: 0.1em;
    filter: drop-shadow(0 0 5px rgba(0,0,0,.75));
}

a.link_btn img {
    width: clamp(0px, 2.9vw, 30px);
}

@media (max-width: 768px) {
    a.link_btn {
        border: 0.4vw solid #1a3a63;
        gap: 2.7vw;
        font-size: 4.4vw;
    }

    a.link_btn img {
        width: 4vw;
    }
}


/* ===============================================
   cars lineup
=============================================== */
.cars_lineup {
    padding-top: clamp(0px, 5.9vw, 60px);
    position: relative;
}

.cars_lineup .title_area {
    width: clamp(0px, 65.4vw, 670px);
    height: clamp(0px, 9.8vw, 100px);
    background: #1a3a63;
    clip-path: polygon(
        0 0,
        100% 0,
        calc(645 / 670 * 100%) 100%,
        0 100%
    );
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: clamp(0px, 4.9vw, 50px);
}

#featured_cars.cars_lineup .title_area {
    padding-left: clamp(0px, 12.7vw, 130px);
}

#new_cars.cars_lineup .title_area {
    padding-left: clamp(0px, 15.6vw, 160px);
}

.cars_lineup .title_area span {
    width: clamp(0px, 18.6vw, 190px);
    aspect-ratio: 190 / 45;
    background-color: #fff;
    border-radius: clamp(0px, 1.7vw, 17px);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(0px, 2.2vw, 23px);
    color: #1a3a63;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.cars_lineup .title_area h2 {
    font-size: clamp(0px, 5.4vw, 55px);
    letter-spacing: 0.25em;
    font-weight: 700;
    color: #fff;
}

.cars_lineup_inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(0px, 9.8vw, 100px) 0 0;
}

.cars_lineup .cont_lead {
    font-size: clamp(0px, 2vw, 20px);
    line-height: 2.25em;
    letter-spacing: 0.19em;
    font-weight: 500;
    text-align: center;
    margin-bottom: clamp(0px, 5.9vw, 60px);
}

.cars_lineup .note {
    width: clamp(0px, 74.6vw, 764px);
}

.cars_lineup .note li {
    font-size: clamp(0px, 1.6vw, 16px);
    line-height: 2em;
    letter-spacing: 0.12em;
    font-weight: 400;
    padding-left: 1em;
    text-indent: -1em;
}

@media (max-width: 768px) {
    .cars_lineup {
        padding-top: 8vw;
    }

    .cars_lineup .title_area {
        width: 90vw;
        height: 13.3vw;
        gap: 6.7vw;
    }

    #featured_cars.cars_lineup .title_area {
        padding-left: 7vw;
    }

    #new_cars.cars_lineup .title_area {
        padding-left: 13vw;
    }

    .cars_lineup .title_area span {
        width: 25.3vw;
        border-radius: 2.3vw;
        font-size: 3.1vw;
    }

    .cars_lineup .title_area h2 {
        font-size: 7.3vw;
    }

    .cars_lineup_inner {
        padding: 13.3vw 0 0;
    }

    .cars_lineup .cont_lead {
        font-size: 2.7vw;
        margin-bottom: 8vw;
    }

    .cars_lineup .note {
        width: 90vw;
    }

    .cars_lineup .note li {
        font-size: 2.4vw;
    }
}


/* ===============================================
   featured cars
=============================================== */
#featured_cars {
    margin-bottom: clamp(0px, 16.6vw, 170px);
}

#featured_cars .cars_lineup_inner {
    padding-bottom: clamp(0px, 9.3vw, 95px);
}

#featured_cars .swiper-container {
    margin-bottom: clamp(0px, 4.9vw, 50px);
}

@media (max-width: 768px) {
    #featured_cars {
        margin-bottom: 22.7vw;
    }

    #featured_cars .cars_lineup_inner {
        padding-bottom: 12.7vw;
    }

    #featured_cars .swiper-container {
        margin-bottom: 6.7vw;
    }
}


/* ===============================================
   new cars
=============================================== */
#new_cars {
    margin-bottom: clamp(0px, 22.5vw, 230px);
}

#new_cars .cars_lineup_inner {
    padding-bottom: clamp(0px, 10.3vw, 105px);
}

@media (max-width: 768px) {
    #new_cars {
        margin-bottom: 30.7vw;
    }

    #new_cars .cars_lineup_inner {
        padding-bottom: 14vw;
    }
}


/* ===============================================
   used cars
=============================================== */
#used_cars {
    margin-bottom: clamp(0px, 16.6vw, 170px);
}

#used_cars .sec_title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: clamp(0px, 4.9vw, 50px);
}

#used_cars .sec_title::before {
    content: "";
    width: 100%;
    height: clamp(0px, 0.5vw, 5px);
    background-color: #1a3a63;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#used_cars .sec_title span {
    width: clamp(0px, 44.9vw, 460px);
    aspect-ratio: 460 / 40;
    background: url("../img/used_cars_ttl_bg.svg") no-repeat center center / contain;
    font-size: clamp(0px, 4.4vw, 45px);
    font-weight: 800;
    letter-spacing: 0.2em;
    line-height: 1;
    text-align: center;
    color: #1a3a63;
    display: inline-block;
    position: relative;
    z-index: 2;
}

#used_cars .text_1 {
    font-size: clamp(0px, 2.4vw, 25px);
    font-weight: 900;
    letter-spacing: 0.15em;
    text-align: center;
    margin-bottom: 1.2em;
}

#used_cars .text_2 {
    font-size: clamp(0px, 2vw, 20px);
    font-weight: bold;
    letter-spacing: 0.12em;
    text-align: center;
    margin-bottom: 2em;
}

@media (max-width: 768px) {
    #used_cars {
        margin-bottom: 22.7vw;
    }

    #used_cars .sec_title {
        margin-bottom: 6.7vw;
    }

    #used_cars .sec_title::before {
        height: 0.7vw;
    }

    #used_cars .sec_title span {
        width: 61.3vw;
        font-size: 6vw;
    }

    #used_cars .text_1 {
        font-size: 3.3vw;
    }

    #used_cars .text_2 {
        font-size: 2.7vw;
    }
}

.used_cars_main {
    width: 100%;
    padding: clamp(0px, 8.3vw, 85px) 0 clamp(0px, 13.2vw, 135px);
}

.used_cars_main .used_cars_list {
    width: clamp(0px, 74.6vw, 764px);
    display: flex;
    justify-content: space-between;
    margin: 0 auto clamp(0px, 7.8vw, 80px);
}

.used_cars_main .used_cars_list li {
    width: clamp(0px, 23.4vw, 240px);
    background-color: #fff;
    border-radius: clamp(0px, 2vw, 20px);
    filter: drop-shadow(0 0 5px rgba(0,0,0,.2));
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(0px, 2.9vw, 30px) clamp(0px, 2.9vw, 30px) clamp(0px, 6.4vw, 65px);
}

.used_cars_main .used_cars_list li img.icon {
    width: clamp(0px, 5.9vw, 60px);
    margin-bottom: clamp(0px, 2.9vw, 30px);
}

.used_cars_main .used_cars_list li .text_3 {
    width: 100%;
    font-size: clamp(0px, 1.8vw, 18px);
    letter-spacing: 0.04em;
    font-weight: bold;
    line-height: 1.7em;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 1px;
    margin-bottom: 1em;
    white-space: nowrap;
}

.used_cars_main .used_cars_list li .text_4 {
    width: 100%;
    font-size: clamp(0px, 1.6vw, 16px);
    letter-spacing: 0.03em;
    line-height: 1.6em;
}

.used_cars_main .used_cars_list li .button_1 {
    width: 100%;
    aspect-ratio: 180 / 35;
    color: #fff;
    background-color: #686464;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0px, 0.5vw, 5px);
    margin-top: clamp(0px, 2.9vw, 30px);
    border-radius: clamp(0px, 1vw, 10px);
    font-size: clamp(0px, 1.5vw, 15px);
    letter-spacing: 0.1em;
    font-weight: 700;
    padding-left: 0.5em;
}

.used_cars_main .used_cars_list li .button_1 img {
    width: clamp(0px, 2vw, 20px);
}

.used_cars_main .link_area_title {
    width: 100%;
    height: clamp(0px, 15.6vw, 160px);
    background: #413C3C;
    background: linear-gradient(0deg,rgba(65, 60, 60, 1) 26%, rgba(80, 80, 80, 1) 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, 0.5vw, 5px);
    margin-bottom: clamp(0px, 4.9vw, 50px);
}

.used_cars_main .link_area_title img {
    width: clamp(0px, 25.9vw, 265px);
}

.used_cars_main .link_area_title h3 {
    font-size: clamp(0px, 3.5vw, 36px);
    font-weight: 900;
    letter-spacing: 0.15em;
    color: #fff;
    line-height: 1;
    margin-bottom: 0.3em;
}

.used_cars_main .link_area_title h3 small {
    font-size: 0.8em;
}

.used_cars_main .link_area_title h3 span {
    font-size: 1.15em;
    display: inline-block;
    transform: rotate(20deg);
    transform-origin: center;
    position: relative;
    bottom: -0.1em;
}

.used_cars_main .link_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.used_cars_main .link_list a {
    width: clamp(0px, 74.6vw, 764px);
}

@media (max-width: 768px) {
    .used_cars_main {
        padding: 11.3vw 0 18vw;
    }

    .used_cars_main .used_cars_list {
        width: 80vw;
        margin: 0 auto 10.7vw;
        flex-direction: column;
        gap: 3vw;
    }

    .used_cars_main .used_cars_list li {
        width: 100%;
        border-radius: 2.7vw;
        padding: 4vw 4vw 8.7vw;
    }

    .used_cars_main .used_cars_list li img.icon {
        width: 14vw;
        margin-bottom: 4vw;
    }

    .used_cars_main .used_cars_list li .text_3 {
        font-size: 4vw;
    }

    .used_cars_main .used_cars_list li .text_4 {
        font-size: 3.3vw;
    }
    
    .used_cars_main .used_cars_list li .button_1 {
        width: 90%;
        aspect-ratio: 180 / 30;
        gap: 1.7vw;
        margin-top: 6vw;
        border-radius: 3vw;
        font-size: 3.8vw;
    }

    .used_cars_main .used_cars_list li .button_1 img {
        width: 4.7vw;
    }

    .used_cars_main .link_area_title {
        height: 21.3vw;
        gap: 0.7vw;
        margin-bottom: 6.7vw;
    }

    .used_cars_main .link_area_title img {
        width: 36vw;
    }

    .used_cars_main .link_area_title h3 {
        font-size: 4.8vw;
    }

    .used_cars_main .link_list a {
        width: 80vw;
    }
}


/* ===============================================
   shop list
=============================================== */
#shop_list .text_1 {
    font-size: clamp(0px, 3.0vw, 31px);
    letter-spacing: 0.2em;
    padding-left: 0.2em;
    text-align: center;
    position: relative;
    padding-bottom: clamp(0px, 3.4vw, 35px);
    margin-bottom: clamp(0px, 5.9vw, 60px);
}

#shop_list .text_1::after {
    content: "";
    width: clamp(0px, 7.3vw, 75px);
    height: clamp(0px, 0.5vw, 5px);
    background-color: #1a3a63;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#shop_list .dealer {
    width: 100%;
    height: clamp(0px, 18.6vw, 190px);
    background-color: #dcdcdc;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: clamp(0px, 1vw, 10px);
    padding-top: clamp(0px, 2vw, 20px);
    margin-bottom: clamp(0px, 9.3vw, 95px);
}

#shop_list .dealer .text_2 {
    font-size: clamp(0px, 2vw, 20px);
    line-height: 1;
    letter-spacing: 0.1em;
}

#shop_list .dealer img {
    width: clamp(0px, 68.4vw, 700px);
}

@media (max-width: 768px) {
    #shop_list .text_1 {
        font-size: 4.1vw;
        padding-bottom: 4.7vw;
        margin-bottom: 8vw;
    }

    #shop_list .text_1::after {
        width: 10vw;
        height: 0.7vw;
    }

    #shop_list .dealer {
        height: 25.3vw;
        gap: 1.3vw;
        padding-top: 2.7vw;
        margin-bottom: 12.7vw;
    }

    #shop_list .dealer .text_2 {
        font-size: 2.7vw;
    }

    #shop_list .dealer img {
        width: 90vw;
    }
}

#shop_list .shop_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0px, 9.8vw, 100px);
}

#shop_list .shop_item {
    width: 100%;
}

#shop_list .shop_item .shop_name_area {
    width: 100%;
    position: relative;
    padding-bottom: clamp(0px, 2.4vw, 25px);
    margin-bottom: clamp(0px, 5.4vw, 55px);
}

#shop_list .shop_item .shop_name_area::before,
#shop_list .shop_item .shop_name_area::after {
    content: "";
    height: clamp(0px, 0.7vw, 7px);
    position: absolute;
    bottom: 0;
    left: 0;
}
#shop_list .shop_item .shop_name_area::before {
    width: clamp(0px, 36.1vw, 370px);
    background-color: #1a3a63;
    z-index: 2;
}
#shop_list .shop_item .shop_name_area::after {
    width: 100%;
    background-color: #dcdcdc;
    z-index: 1;
}

#shop_list .shop_item .shop_name {
    width: clamp(0px, 74.6vw, 764px);
    margin: 0 auto;
    font-size: clamp(0px, 2.9vw, 30px);
    font-weight: 500;
    letter-spacing: 0.05em;
}

#shop_list .shop_data {
    width: clamp(0px, 74.6vw, 764px);
    margin: 0 auto;
}

#shop_list .shop_name_list {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0px, 2vw, 20px) clamp(0px, 6.8vw, 70px);
}

#shop_list .shop_name_list:not(:first-of-type) {
    margin-top: clamp(0px, 2.2vw, 23px);
}

#shop_list .shop_name_list li {
    font-size: clamp(0px, 2vw, 20px);
    font-weight: bold;
    letter-spacing: 0.05em;
    min-width: 7.5em;
    position: relative;
}

#shop_list .shop_name_list li::before {
    content: "■";
    font-size: 1em;
    color: #1a3a63;
    margin-right: 0.2em;
}

#shop_list .shop_name_list li a {
    transition: color 0.3s;
}

#shop_list .shop_name_list li a:hover {
    color: #1a3a63;
    text-decoration: underline;
}

#shop_list .shop_name_list + .add {
    padding-top: clamp(0px, 3.9vw, 40px);
}

#shop_list .add {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(0px, 2vw, 20px);
}

#shop_list .add .text_3 {
    font-size: clamp(0px, 1.9vw, 19px);
    letter-spacing: 0.1em;
}

#shop_list .add .text_4 {
    display: flex;
    gap: clamp(0px, 4.9vw, 50px);
}

#shop_list .add .text_4 p {
    font-size: clamp(0px, 1.9vw, 19px);
    display: flex;
    align-items: center;
    gap: clamp(0px, 2vw, 20px);
}

#shop_list .add .text_4 p span {
    width: clamp(0px, 10.7vw, 110px);
    aspect-ratio: 110 / 30;
    color: #fff;
    background-color: #413c3c;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(0px, 1.6vw, 16px);
    letter-spacing: 0.1em;
    padding-left: 0.1em;
}

#shop_list .add .map_link {
    width: clamp(0px, 19.5vw, 200px);
    font-size: clamp(0px, 1.6vw, 16px);
    letter-spacing: 0.05em;
    color: #231815;
    border-bottom: 1px solid #231815;
    padding-bottom: 0.5em;
    padding-left: clamp(0px, 4.3vw, 44px);
    position: relative;
    transition: border 0.3s, opacity 0.3s;
}

#shop_list .add .map_link:hover {
    border-bottom: 1px solid #fff;
    opacity: 0.7;
}

#shop_list .add .map_link::before {
    content: "";
    width: clamp(0px, 2.9vw, 30px);
    aspect-ratio: 30 / 20;
    background: url("../img/shop_link_arrow.svg") no-repeat center center / contain;
    position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 768px) {
    #shop_list .shop_list {
        gap: 13.3vw;
    }
    
    #shop_list .shop_item .shop_name_area {
        padding-bottom: 3.3vw;
        margin-bottom: 7.3vw;
    }

    #shop_list .shop_item .shop_name_area::before,
    #shop_list .shop_item .shop_name_area::after {
        height: 0.9vw;
    }
    #shop_list .shop_item .shop_name_area::before {
        width: 49.3vw;
    }

    #shop_list .shop_item .shop_name {
        width: 90vw;
        font-size: 4vw;
    }

    #shop_list .shop_data {
        width: 90vw;
    }

    #shop_list .shop_name_list {
        gap: 2.7vw 9.3vw;
    }

    #shop_list .shop_name_list:not(:first-of-type) {
        margin-top: 3.1vw;
    }

    #shop_list .shop_name_list li {
        font-size: 3vw;
    }

    #shop_list .shop_name_list + .add {
        padding-top: 5.3vw;
    }

    #shop_list .add {
        gap: 6vw;
    }

    #shop_list .add .text_3 {
        font-size: 3vw;
    }

    #shop_list .add .text_4 {
        flex-direction: column;
        gap: 2vw;
    }

    #shop_list .add .text_4 p {
        font-size: 3vw;
        gap: 2.7vw;
    }

    #shop_list .add .text_4 p span {
        width: 14.7vw;
        font-size: 2.5vw;
    }

    #shop_list .add .map_link {
        width: 35vw;
        font-size: 3vw;
        padding-left: 5.9vw;
    }

    #shop_list .add .map_link::before {
        width: 4vw;
    }
}


/* ===============================================
   footer
=============================================== */
#footer {
	width: 100%;
    overflow: hidden;
    background: #413C3C;
    background: linear-gradient(60deg,rgba(65, 60, 60, 1) 26%, rgba(150, 150, 150, 1) 100%);
    display: flex;
    justify-content: center;
}

.footer_inner {
    width: 1200px;
    max-width: 117.2vw;
    height: clamp(0px, 14.6vw, 150px);
    background: url("../img/footer_bg.png") no-repeat center top / cover;
    display: flex;
    justify-content: center;
    align-items: center;
}

.copyright {
	font-size: clamp(0px, 1.2vw, 12px);
    color: #fff;
}

@media (max-width: 768px) {
    .footer_inner {
        height: 20vw;
    }

    .copyright {
        font-size: 2.3vw;
    }
}


/* ===============================================
   page top
=============================================== */
#page_top{
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
    z-index: 999;
}

#page_top a{
    position: relative;
    display: block;
    width: 90px;
    height: 90px;
    text-decoration: none;
}

#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #3f98ef;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

#page_top a::after{
    content: 'PAGE TOP';
    font-size: 13px;
    color: #fff;
    position: absolute;
    top: 45px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #3f98ef;
}

@media (max-width: 768px) {
    #page_top {
        width: 14vw;
        height: 14vw;
    }

    #page_top a {
        width: 14vw;
        height: 14vw;
    }

    #page_top a::before {
        font-size: 5.3vw;
        width: 100%;
        height: 100%;
        top: 2vw;
    }

    #page_top a::after{
        font-size: 2.5vw;
        top: 7.5vw;
    }
}


/* ===============================================
   animation
=============================================== */
.js_fadeup {
    opacity: 0;
    transform: translateY(5vh);
    transition: opacity 1.5s, transform 1.5s;
}

.js_fadeup.is_visible {
    opacity: 1;
    transform: translateY(0);
}

.js_fadein {
    opacity: 0;
    transform: scale(.8);
    transition: all 1s ease .2s;
}

.js_fadein.is_visible {
    opacity: 1;
    transform: scale(1);
}

.delay_0_1 { transition-delay: 0.1s; }
.delay_0_2 { transition-delay: 0.2s; }
.delay_0_3 { transition-delay: 0.3s; }
.delay_0_4 { transition-delay: 0.4s; }
.delay_0_5 { transition-delay: 0.5s; }
.delay_0_6 { transition-delay: 0.6s; }
.delay_0_7 { transition-delay: 0.7s; }
.delay_0_8 { transition-delay: 0.8s; }
.delay_0_9 { transition-delay: 0.9s; }
.delay_1 { transition-delay: 1s; }
.delay_1_2 { transition-delay: 1.2s; }
.delay_1_5 { transition-delay: 1.5s; }

@media (max-width: 767px) {
    .delay_0_1,
    .delay_0_2,
    .delay_0_3,
    .delay_0_4,
    .delay_0_5,
    .delay_0_6,
    .delay_0_7,
    .delay_0_8,
    .delay_0_9,
    .delay_1,
    .delay_1_2,
    .delay_1_5 {
        transition-delay: 0;
    }
}

