@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; }
}


/* ===============================================
   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%;
	text-align: center;
    position: relative;
	line-height: 0;
}

.mv .mv_text,
.mv .mv_logo {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}


/* ===============================================
   lead
=============================================== */
.lead {
    padding: clamp(0px, 3.4vw, 35px) 0 clamp(0px, 9.8vw, 100px);
	background-color: #00111C;
}

.lead_text {
	font-size: clamp(0px, 2.2vw, 23px);
    text-align: center;
	line-height: 2em;
	letter-spacing: 0.1em;
	color: #fff;
}

.lead_text span {
	font-size: 1.6em;
	font-weight: 900;
	position: relative;
	display: inline-block;
	margin-bottom: 0.3em;
}

.lead_text span::after {
	content: "";
	width: 100%;
	height: 3px;
	background-color: #fff;
	position: absolute;
	bottom: -0.1em;
	left: 0;
	right: 0;
	margin: auto;
}

@media (max-width: 768px) {
    .lead {
        padding: 6.7vw 0 12vw;
    }
    
    .lead_text {
        font-size: 3vw;
		white-space: nowrap;
    }
	
	.lead_text span::after {
		height: 2px;
	}
}


/* ===============================================
   reservation benefit
=============================================== */
#reservation_benefit {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
}

#reservation_benefit img {
	width: 100%;
	position: relative;
	z-index: 1;
}

#reservation_benefit a {
	width: clamp(0px, 74.2vw, 760px);
	aspect-ratio: 760 / 80;
	background-color: #dacfb2;
	border-radius: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(0px, 3.4vw, 35px);
	font-weight: 900;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1;
	padding-bottom: 0.1em;
	color: #1a3a63;
	position: absolute;
	bottom: clamp(0px, 9.5vw, 97px);
	left: 0;
	right: 0;
	margin: auto;
	z-index: 2;
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.8));
}

@media (max-width: 768px) {
	#reservation_benefit a {
		width: 80vw;
		aspect-ratio: 760 / 100;
		font-size:  4.4vw;
		bottom: 6vw;
	}
}


/* ===============================================
   intro
=============================================== */
#intro {
	width: 100%;
	padding: clamp(0px, 7.8vw, 80px) 0 clamp(0px, 9.8vw, 100px);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#intro .text_1 {
	font-size: clamp(0px, 3.0vw, 31px);
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	margin-bottom: 0.8em;
	color: #a60000;
	position: relative;
	display: inline-block;
	padding: 0 0.2em 0 0.3em;
}

#intro .text_1::after {
	content: "";
	width: 100%;
	height: 4px;
	background-color: #cdbe97;
	position: absolute;
	bottom: -0.3em;
	left: 0;
	display: block;
}

#intro .text_2 {
	font-size: clamp(0px, 2.3vw, 24px);
	font-weight: 900;
	line-height: 2.1em;
	letter-spacing: 0.12em;
}

@media (max-width: 768px) {
	#intro {
		padding: 10vw 0 12vw;
	}

	#intro .text_1 {
		font-size: 4vw;
	}

	#intro .text_1::after {
		height: 2px;
	}

	#intro .text_2 {
		font-size: 3.3vw;
	}
}


/* ===============================================
   special benefit
=============================================== */
#special_benefit .sec_title {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: clamp(0px, 7.8vw, 80px);
}

#special_benefit .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;
}

#special_benefit .sec_title span {
    width: clamp(0px, 52.7vw, 540px);
    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;
}

@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, 9.8vw, 100px);
}

.new_car_benefit.benefit_cont {
	margin-bottom: clamp(0px, 2.9vw, 30px);
}

.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.8vw, 100px);
}

.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, 1.5vw, 15px);
    filter:
        drop-shadow(0 0 5px rgba(0,0,0,.4))
        drop-shadow(0 0 7px rgba(0,0,0,.5))
        drop-shadow(0 0 5px rgba(0,0,0,.4))
        drop-shadow(0 0 7px rgba(0,0,0,.5));
}

.new_car_benefit .img_1 {
    width: clamp(0px, 80.1vw, 820px);
}

.new_car_benefit .img_list {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: clamp(0px, 9.8vw, 100px);
}

.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));
    margin-bottom: clamp(0px, 8.3vw, 85px);
}

.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;
    }

    .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;
    }
	
	.used_car_benefit .link_btn {
		margin: 0 auto;
	}
}

a.link_btn {
    width: clamp(0px, 100%, 754px);
    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 {
		width: 80vw;
		aspect-ratio: 754 / 110;
        border: 0.4vw solid #1a3a63;
        gap: 2.7vw;
        font-size: 4.4vw;
    }

    a.link_btn img {
        width: 4vw;
    }
}


/* ===============================================
   cars lineup
=============================================== */
.cars_info.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%
    );
    display: flex;
    align-items: center;
    gap: clamp(0px, 4.9vw, 50px);
    padding-left: clamp(0px, 15.6vw, 160px);
}

.cars_info.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_info.title_area h2 {
    font-size: clamp(0px, 5.4vw, 55px);
    letter-spacing: 0.25em;
    font-weight: 700;
    color: #fff;
}


/* ===============================================
   featured cars
=============================================== */
#featured_cars {
    margin-bottom: clamp(0px, 16.6vw, 170px);
}

@media (max-width: 768px) {
    #featured_cars {
        margin-bottom: 22.7vw;
    }
}


/* ===============================================
   new cars
=============================================== */
#new_cars {
    margin-bottom: clamp(0px, 19.5vw, 200px);
}

.cars_lineup_inner {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(0px, 7.8vw, 80px);
}

.cars_lineup_inner .link_bnr {
	width: clamp(0px, 90vw, 924px);
	display: block;
	line-height: 0;
}

.cars_lineup_inner .link_bnr_col2 {
	width: clamp(0px, 90vw, 924px);
	display: flex;
	position: relative;
}

.cars_lineup_inner .link_bnr_col2 a {
	width: 50%;
	display: block;
	line-height: 0;
	position: relative;
	z-index: 1;
}

.cars_lineup_inner .link_bnr_col2 .text_1 {
    font-size: clamp(0px, 2.3vw, 24px);
    line-height: 1.5em;
    letter-spacing: 0.2em;
    font-weight: 900;
    color: #fff;
    margin-bottom: clamp(0px, 1.5vw, 15px);
    filter: drop-shadow(0 0 5px rgba(0, 0, 0, .4)) drop-shadow(0 0 7px rgba(0, 0, 0, .5)) drop-shadow(0 0 5px rgba(0, 0, 0, .4)) drop-shadow(0 0 7px rgba(0, 0, 0, .5));
	position: absolute;
	top: 1em;
	right: 1.3em;
	z-index: 2;
}

.new_cars_lead {
    width: 100%;
    padding: clamp(0px, 5.9vw, 60px) 0 clamp(0px, 6.8vw, 70px);
	font-size: clamp(0px, 2.3vw, 24px);
	font-weight: 600;
	line-height: 2em;
	letter-spacing: 0.19em;
	text-align: center;
}


@media (max-width: 768px) {
    #new_cars {
        margin-bottom: 27vw;
    }
	
	.cars_lineup_inner {
		gap: 5vw;
	}

	.cars_lineup_inner .link_bnr,
	.cars_lineup_inner .link_bnr_col2 {
		width: 100vw;
	}

	.cars_lineup_inner .link_bnr_col2 .text_1 {
		font-size: 2.5vw;
	}

	.new_cars_lead {
		padding: 7vw 0 8vw;
		font-size: 3.7vw;
	}
}


/* ===============================================
   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_lead {
	width: 100%;
	padding: clamp(0px, 5.9vw, 60px) 0;
}

#used_cars .text_1 {
    font-size: clamp(0px, 2.3vw, 24px);
    font-weight: 900;
    letter-spacing: 0.12em;
	line-height: 2.1em;
    text-align: center;
}

#used_cars .text_1 span {
	font-size: 1.3em;
	color: #a60000;
	position: relative;
	display: inline-block;
	margin-bottom: 0.2em;
}

#used_cars .text_1 span::after {
	content: "";
	width: 100%;
	height: 4px;
	background-color: #cdbe97;
	position: absolute;
	bottom: 0.1em;
	left: 0;
	display: block;
}

@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.5vw;
    }
	
	#used_cars .text_1 span::after {
		height: 2px;
	}
}

.used_cars_main {
    width: 100%;
    padding: clamp(0px, 5.9vw, 60px) 0 clamp(0px, 6.8vw, 70px);
}

.used_cars_cont .used_cars_list {
    width: clamp(0px, 74.6vw, 764px);
    display: flex;
    justify-content: space-between;
    margin: 0 auto clamp(0px, 5.9vw, 60px);
}

.used_cars_cont .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) 0 clamp(0px, 4.9vw, 50px);
}

.used_cars_cont .used_cars_list li img.icon {
    width: clamp(0px, 5.9vw, 60px);
    margin-bottom: clamp(0px, 1vw, 10px);
}

.used_cars_cont .used_cars_list li .text_3 {
    width: 100%;
	height: 2.5em;
    font-size: clamp(0px, 2vw, 20px);
    letter-spacing: 0.04em;
    font-weight: 900;
    line-height: 1.5em;
	text-align: center;
	color: #1a3a63;
    margin-bottom: 1.5em;
    white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: center;
}

.used_cars_cont .used_cars_list li .text_4 {
    width: 100%;
    font-size: clamp(0px, 2vw, 20px);
    letter-spacing: 0.01em;
    line-height: 1.65em;
	padding: clamp(0px, 1.5vw, 15px) clamp(0px, 2.9vw, 30px) 0;
}

.used_cars_cont .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_cont .used_cars_list li .button_1 img {
    width: clamp(0px, 2vw, 20px);
}

#used_cars .text_2 {
	font-size: clamp(0px, 2.4vw, 25px);
	letter-spacing: 0.12em;
	line-height: 1.7em;
	font-weight: 900;
	text-align: center;
}

.used_cars_cont .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_cont .link_area_title img {
    width: clamp(0px, 25.9vw, 265px);
}

.used_cars_cont .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_cont .link_area_title h3 small {
    font-size: 0.8em;
}

.used_cars_cont .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_cont .link_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.used_cars_cont .link_list a {
    width: clamp(0px, 74.6vw, 764px);
}

@media (max-width: 768px) {
	.used_cars_main {
		padding: 7vw 0 9vw;
	}
	
	.used_cars_lead {
		padding: 7vw 0 8vw;
	}
	
    .used_cars_cont .used_cars_list {
        width: 80vw;
        margin: 0 auto 10.7vw;
        flex-direction: column;
        gap: 4vw;
    }

    .used_cars_cont .used_cars_list li {
        width: 100%;
        border-radius: 2.7vw;
        padding: 4vw 0 8.7vw;
    }

    .used_cars_cont .used_cars_list li img.icon {
        width: 14vw;
        margin-bottom: 3vw;
    }

    .used_cars_cont .used_cars_list li .text_3 {
        font-size: 4vw;
		height: auto;
		margin-bottom: 5vw;
    }

    .used_cars_cont .used_cars_list li .text_4 {
        font-size: 3.3vw;
		padding: 4vw 5vw 0;
    }
    
    .used_cars_cont .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_cont .used_cars_list li .button_1 img {
        width: 4.7vw;
    }
	
	#used_cars .text_2 {
		font-size: 3.4vw;
	}

    .used_cars_cont .link_area_title {
        height: 21.3vw;
        gap: 0.7vw;
        margin-bottom: 6.7vw;
    }

    .used_cars_cont .link_area_title img {
        width: 36vw;
    }

    .used_cars_cont .link_area_title h3 {
        font-size: 4.8vw;
    }

    .used_cars_cont .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, 75.2vw, 770px);
    margin: 0 auto;
    font-size: clamp(0px, 2.9vw, 30px);
    font-weight: 500;
    letter-spacing: 0.05em;
}

#shop_list .shop_data {
    width: clamp(0px, 75.2vw, 770px);
    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);
	white-space: nowrap;
}

#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;
    display: flex;
    justify-content: center;
}

.footer_inner {
    width: clamp(0px, 100vw, 1024px);
    height: clamp(0px, 14.6vw, 150px);
    background: url("../img/footer_bg.jpg") 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;
    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: #1a3a63;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0px -1px 0 #fff,
         0px  1px 0 #fff,
        -1px  0px 0 #fff,
         1px  0px 0 #fff;
}
#page_top a::after{
    content: 'PAGE TOP';
    font-size: 13px;
    position: absolute;
    top: 45px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #1a3a63;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0px -1px 0 #fff,
         0px  1px 0 #fff,
        -1px  0px 0 #fff,
         1px  0px 0 #fff;
}

@media (max-width: 768px) {
    #page_top {
        width: 14vw;
        height: 14vw;
 	   right: 3vw;
    }

    #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;
    }
}


/* ===============================================
   floating
=============================================== */
#btn_fixed {
	position: fixed;
	right: clamp(0px, 9.8vw, 100px);
	bottom: clamp(0px, 1.5vw, 15px);
	z-index: 9;
}

#btn_fixed a {
	width: clamp(0px, 13.7vw, 140px);
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.3));
}

@media (max-width: 768px) {
	#btn_fixed {
		right: 2vw;
		bottom: 16vw;
	}

	#btn_fixed a {
		width: 17vw;
		filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.3));
	}
}


/* ===============================================
   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;
    }
}

