@charset "utf-8";

body { background: linear-gradient(#000, #000) no-repeat 0px 0px; background-size: 100% 164px; }

@media screen and (min-width: 900px) {
	.mv .mv_slider .slick-slide img { width: 100%; height: 640px; object-fit: cover; }
	.mv .mv_slider .txt { top: 45%; }
	.mv .scroll { bottom: 0px; }
	.mv .slick-dots { right: 60px; bottom: 30px; }
	.mv .mv_02 .t01 { font-size: clamp(2rem, 5vw, 5.2rem); margin-bottom: 5%; line-height: 1.4; }
	.mv .mv_02 .note, .mv .mv_03 .note { bottom: 70px; }
	.mv .mv_04 img { object-position: right center; }
	.mv .mv_04 .t01 { font-size: clamp(2rem, 5vw, 7.6rem); margin-bottom: 2%; line-height: 1.2; }
	@media screen and (max-width: 1580px) {
		.mv .mv_04 .t01 { font-size: clamp(2rem, 4vw, 6.2rem); }
	}
	@media screen and (max-width: 1100px) {
		.mv .mv_slider .slick-slide img { height: 560px; }
		.mv .mv_02 .t01 { font-size: clamp(2rem, 4vw, 3.4rem); }
		.mv .mv_04 .t01 { font-size: clamp(2rem, 4vw, 3.4rem); }
	}
}

.index_01 { margin-top: 62px; }

.campaign { text-align: center; padding: 70px 20px 90px 20px; background: #000 url(../img/campaign/bg_pc.jpg) no-repeat 0px 0px; }
.campaign > .cont { max-width: 1686px; margin: 0 auto; text-align: left; }
@media screen and (max-width: 1680px) {
	.campaign { background-position: center 0px; }
}

.cmp01 { display: flex; justify-content: space-between; margin-bottom: 60px; }
.cmp01 h1 { color: #fff; font-size: 10rem; line-height: 1.2; margin-bottom: 50px; }
.cmp01 .tx2 { display: flex; gap: 24px; }
@media screen and (max-width: 1300px) {
	.cmp01 h1 { font-size: 8rem; }
}
@media screen and (max-width: 1140px) {
	.cmp01 h1 { font-size: 7rem; }
	.cmp01 .tx1 img { width: 200px; height: auto; }
	.cmp01 .tx2 img { width: 160px; height: auto; }
}

.cmp02 { display: flex; justify-content: space-between; color: #fff; }
.cmp02 .bx1 { width: calc(50% - 24px); max-width: 744px; }
.cmp02 .bx2 { width: 50%; max-width: 832px; }
.cmp02 .bx1 .st { font-size: 2.8rem; margin-bottom: 20px; }
.cmp02 .bx1 h2 { font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif; font-size: 4rem; margin-bottom: 30px; line-height: 1.6; font-weight: bold; }
.cmp02 .bx1 .tx1 { font-size: 2.4rem; line-height: 2; margin-bottom: 40px; }
.cmp02 .bx1 .bx { border-radius: 20px; background-color: rgba(0, 0, 0, 0.5); border: #fff solid 1px; padding: 40px; margin-bottom: 30px; }
.cmp02 .bx1 .bx h3 { font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif; font-size: 2.4rem; margin-bottom: 20px; }
.cmp02 .bx1 .bx ul li { margin-bottom: 20px; position: relative; padding-left: 22px; font-size: 2rem; }
.cmp02 .bx1 .bx ul li:before { content: ''; border: #fff solid 1px; border-radius: 50%; width: 16px; height: 16px; position: absolute; left: 0px; top: 11px; }
.cmp02 .bx1 .bx p { background-color: #636363; border-radius: 10px; padding: 8px 10px; font-size: 2.2rem; text-align: center; font-weight: bold; margin-top: 30px; }
.cmp02 .bx1 .ul1 { font-size: 1.6rem; margin-bottom: 30px; }
.cmp02 .bx1 .ul1 li { position: relative; padding-left: 16px; }
.cmp02 .bx1 .ul1 li:before { content: attr(data-before); position: absolute; left: 0px; }
.cmp02 .bx1 .tx2 { font-size: 6.6rem; font-family: "Yu Mincho", "游明朝", serif; line-height: 1.2; }
.cmp02 .bx2 .im { display: flex; gap: 16px; justify-content: space-between; margin-bottom: 60px; }
.cmp02 .bx2 .im h4 { font-size: 2.4rem; margin-top: 15px; line-height: 1.6; margin-bottom: 5px; }
.cmp02 .bx2 .im h4 br { display: none; }
.cmp02 .bx2 .im .tel a { font-size: 3.6rem; display: inline-block; line-height: 1; pointer-events: none; }
.cmp02 .bx2 .im img, .cmp02 .bx2 .map img { max-width: 100%; height: auto; }
@media screen and (max-width: 1500px) {
	.cmp02 .bx2 .im h4 { font-size: 2.2rem; }
}
@media screen and (max-width: 1400px) {
	.cmp02 .bx1 .st { font-size: 2.4rem; }
	.cmp02 .bx1 h2 { font-size: 3.2rem; }
	.cmp02 .bx1 .tx1 { font-size: 2rem; }
	.cmp02 .bx1 .bx ul li { font-size: 1.8rem; }
	.cmp02 .bx1 .bx p { font-size: 1.8rem; }
	.cmp02 .bx1 .tx2 { font-size: 6rem; }
	.cmp02 .bx2 .im h4 { margin-top: 10px; }
	.cmp02 .bx2 .im h4 br { display: block; }
}
@media screen and (max-width: 1150px) {
	.cmp02 .bx1 .st { font-size: 2rem; }
	.cmp02 .bx1 h2 { font-size: 2.8rem; }
	.cmp02 .bx1 .tx1 { font-size: 1.8rem; }
	.cmp02 .bx1 .bx { padding: 20px; }
	.cmp02 .bx1 .bx ul li { font-size: 1.6rem; }
	.cmp02 .bx1 .bx p { font-size: 1.6rem; }
	.cmp02 .bx1 .ul1 li { font-size: 1.4rem; }
	.cmp02 .bx1 .tx2 { font-size: 4rem; }
}

.store_cta { padding: 0px 20px; margin-top: 200px; margin-bottom: -20px; }
.store_cta .cont { max-width: 1600px; margin: 0 auto; display: flex; justify-content: space-between; gap: 32px; }
.store_cta a { display: block; position: relative; color: #fff; }
.store_cta a span { position: absolute; right: 30px; bottom: 30px; font-size: 2rem; padding: 15px 30px; background-color: #008DFC; }
.store_cta a img { max-width: 100%; height: auto; }

@media screen and (max-width: 768px) {

body { background-size: 100% 80px; }

.mv .mv_01 .t01 { font-size: 10vw; }
.mv .mv_01 .txt .t02 { font-size: clamp(1.4rem, 4.8vw, 4.8vw); }
.mv .mv_02 .t01 { font-size: 10vw; }
.mv .mv_02 .txt .t02 { font-size: clamp(1.4rem, 4.8vw, 4.8vw); }
.mv .mv_03 .t01 { font-size: 10vw; padding-bottom: 2px; }
.mv .mv_04 .txt .t01 { font-size: 11.4vw; line-height: 1.4; margin-bottom: 5%; margin-top: 20%; }
.mv .mv_04 .txt .t02 { font-size: clamp(1.4rem, 4.4vw, 4.4vw); margin-bottom: 8%; }
.mv .mv_04 .note { font-size: clamp(1.1rem, 1.2vw, 1.1rem); }

#new-car .block_01 .txt h3 { margin-bottom: 8vw; /*text-shadow: 2px 5px 20px rgba(50, 97, 126);*/ }
#new-car .block_01 .txt .desc { margin-bottom: 7vw; line-height: 1.8; /*text-shadow: 2px 5px 20px rgba(50, 97, 126);*/ }
#new-car .block_01 .txt .price { margin-bottom: 8vw; line-height: 1.8; /*text-shadow: 2px 5px 20px rgba(50, 97, 126);*/ }

.index_01 { margin-top: 60px; }

.campaign { padding: 370px 20px 90px 20px; background: #000 url(../img/campaign/bg_sp.jpg) no-repeat center 0px; background-size: 100% auto; }
.campaign > .cont { max-width: 1686px; margin: 0 auto; text-align: left; }

.cmp01 { display: block; margin-bottom: 90px; }
.cmp01 h1 { font-size: 4rem; line-height: 1.3; }
.cmp01 .tx1 { text-align: center; }
.cmp01 .tx1 img { width: 224px; }
.cmp01 .tx2 { display: none; }

.cmp02 { display: block; padding: 0px 10px; }
.cmp02 .bx1, .cmp02 .bx2 { width: auto; }
.cmp02 .bx1 .st { font-size: 2.4rem; line-height: 2; text-align: center; margin-bottom: 30px; }
.cmp02 .bx1 h2 { font-size: 3.1rem; margin-bottom: 30px; text-align: center; }
.cmp02 .bx1 .tx1 { font-size: 1.8rem; margin-bottom: 50px; }
.cmp02 .bx1 .bx { padding: 38px; margin-bottom: 40px; }
.cmp02 .bx1 .bx h3 { margin-bottom: 30px; }
.cmp02 .bx1 .bx ul li { margin-bottom: 20px; padding-left: 24px; font-size: 1.8rem; line-height: 2; }
.cmp02 .bx1 .bx ul li:before { width: 15px; height: 15px; }
.cmp02 .bx1 .bx p { padding: 10px 15px; font-size: 2.4rem; text-align: left; }
.cmp02 .bx1 .ul1 { margin-bottom: 30px; padding: 0px 5px; }
.cmp02 .bx1 .ul1 li { padding-left: 20px; font-size: 1.6rem; line-height: 1.8; }
.cmp02 .bx1 .tx2 { font-size: 3.7rem; line-height: 1.6; margin-bottom: 120px; }
.cmp02 .bx2 .im { display: block; margin-bottom: 50px; text-align: center; }
.cmp02 .bx2 .im h4 { font-size: 3rem; margin-top: 0px; margin-bottom: 5px; }
.cmp02 .bx2 .im .tel a { font-size: 4.6rem; line-height: 1.2; pointer-events: all; cursor: pointer; }
.cmp02 .bx2 .im img { margin-bottom: 15px; }
.cmp02 .bx2 .im img, .cmp02 .bx2 .map img { width: 100%; }
.cmp02 .bx2 .boxes { text-align: center; padding-bottom: 20px; }
.cmp02 .bx2 .boxes img { width: 100%; margin-bottom: 30px; }

.store_cta { margin-top: 140px; margin-bottom: -100px; }
.store_cta .cont { display: block; }
.store_cta .cont > div:not(:last-child) { margin-bottom: 80px; }
.store_cta a { text-align: center; }
.store_cta a span { position: static; display: block; padding: 15px 30px; font-weight: bold; }
.store_cta a img { width: 100%; height: 272px; object-fit: cover; margin-bottom: 15px; }
.store_cta a img.sp-only { display: block; }

}



/* 2024.12.2 追加 */
.mv .txt-right { right: 5%; width: 36.6%; }
.mv .txt .gothic { font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif; }

/*
.mv .mv_01 .txt { width: 55%; }
.mv .mv_01 .txt .t01 { font-size: clamp(2rem, 3.7vw, 8rem); }
.mv .mv_01 .txt .t02 { font-size: clamp(1.6rem, 2.5vw, 6.6rem); font-family: "MB Corpo A Title Cond", "Yu Mincho", "游明朝", serif; font-feature-settings: "palt"; line-height: 1; margin-bottom: 30px; }*/
.mv .mv_01 .txt .t03 { font-size: clamp(1.2rem, 1.2vw, 2.8rem); }


@media screen and (max-width: 899px) {
.mv .mv_01 .txt .t01, .mv .mv_02 .txt .t01, .mv .mv_03 .txt .t01 { font-size: 9.8vw; }
.mv .mv_01 .txt, .mv .mv_02 .txt, .mv .mv_03 .txt { top: auto !important; bottom: 12%; }
.mv .mv_01 .txt .t03 { font-size: clamp(1.4rem, 5vw, 5vw); }
}


/* 2025.03.17 追加 */
.txt_w { color: #fff; }
.txt_b { color: #000; }
@media screen and (max-width: 768px) {
.txt_w_sp { color: #fff; }
}

/* 2025.04.01 追加 */
/*
@media screen and (max-width: 1879px) {
.mv .mv_slider .slick-slide .mv_01 img { object-position: 90% 50%; }
}
@media screen and (max-width: 1180px) {
.mv .mv_slider .slick-slide .mv_01 img { object-position: 85% 50%; }
}
.mv .mv_01 .txt .t01, .mv .mv_01 .txt .t02 { text-shadow: #000 14px 1px 43px, #000 14px -1px 43px; }
*/

/* 2025.05.16 追加 */
.mv { font-feature-settings: "palt"; }
.mv .mv_01 .t01 { font-size: clamp(2rem, 3.7vw, 8rem); margin-bottom: 5%; line-height: 1.4; }
.mv .mv_02 .t01 { font-size: clamp(2rem, 3.7vw, 8rem); margin-bottom: 5%; line-height: 1.4; }
.mv .mv_03 .t01 { font-size: clamp(2rem, 3.7vw, 8rem); margin-bottom: 20px; }

.mv .mv_01 .txt { left: 5%; width: 55%; }

.mv .mv_02 .txt { left: 5%; width: 55%; }
.mv .mv_02 .txt .t01 { margin-bottom: 20px; }

.mv .mv_03 .txt { color: #fff; }
.mv .mv_03 .txt { left: 5%; width: 55%; /*transform: none; top: 80px; */}

.btn_flex {
    display: flex;
    gap: 15px;
}
.btn  a {
    text-align: center;
}
.btn_flex a {
    padding: 15px 20px;
    line-height: 1.2;
}
/*
@media screen and (max-width: 1100px) {
    .mv .mv_02 .txt .btn a {
        padding: 15px 20px;
    }
}
*/

.mv .txt .txt_black { color: #333; }
.mv .txt .mb_fonts { font-family: "MB Corpo A Title Cond", "Yu Mincho", "游明朝", serif; font-feature-settings: "palt"; }


/* 2025.07.17 追加 */
@media screen and (max-width: 1879px) {
.mv .mv_slider .slick-slide .mv_01 img { object-position: 100% 50%; }
}
@media screen and (max-width: 1879px) {
.mv .mv_slider .slick-slide .mv_02 img { object-position: 85% 50%; }
}
@media screen and (max-width: 1879px) {
.mv .mv_slider .slick-slide .mv_03 img { object-position: 85% 50%; }
}
/*
@media screen and (max-width: 1879px) {
.mv .mv_slider .slick-slide .mv_03 img { object-fit: contain; object-position: 50% 0; }
}
*/


/* 2025.11.21 追加 */
.mv .txt .notes { font-size: clamp(1.1rem, 1.2vw, 1.1rem); margin-top: 15px; }
@media screen and (max-width: 768px) {
	.mv .txt .notes { font-size: clamp(1.4rem, 1.5vw, 1.4rem); margin-top: 15px; }
}
.mv .mv_01 .txt .t01, .mv .mv_01 .txt .t02 { text-shadow: #000 6px 6px 12px, #000 -6px 6px 12px, #000 6px -6px 12px, #000 -6px -6px 12px; }
.mv .mv_01 .txt .t02 span { display: block; margin-top: 15px; }
.mv .mv_03 .txt .t01, .mv .mv_03 .txt .t02 { text-shadow: #fff 6px 6px 12px, #fff -6px 6px 12px, #fff 6px -6px 12px, #fff -6px -6px 12px; }



/* 2025.12.19 追加 */
#insurance img {
    max-width: 100%;
    height: auto;
}

#insurance p {
	text-box-trim: trim-both;
}

#insurance .ttl {
    background-image: url(../img/bg_ttl_insurance.png);
}
@media screen and (max-width: 768px) {
    #insurance .ttl {
        background-image: url(../img/bg_ttl_insurance_sp.png);
    }
}

#insurance .block_01, #insurance .block_02 {
    margin-bottom: 200px;
}
@media screen and (max-width: 768px) {
    #insurance .block_01, #insurance .block_02 {
        margin-bottom: 110px;
    }
}

#insurance .block_01 .Inner, #insurance .block_02 .Inner, #insurance .block_03 .Inner {
    max-width: 1168px;
}

#insurance .contents {
    text-align: center;
}

#insurance .insurance_list {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
#insurance .insurance_list li {
    width: calc(calc(100% - 60px) / 3);
    height: 150px;
    border: 1px solid #d0d0d0;
}
@media screen and (max-width: 768px) {
    #insurance .insurance_list {
        display: block;
    }
    #insurance .insurance_list li {
        width: 100%;
        height: auto;
        margin-top: 20px;
    }
    #insurance .insurance_list li:first-child {
        margin-top: 0;
    }
}
#insurance .insurance_list li a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
    align-items: center;
    padding: 3vw;
}

#insurance .policy_list {
    text-align: left;
    margin-top: 60px;
}

#insurance .policy_list h3 {
    font-size: 3rem;
    font-weight: 600;
    text-box-trim: trim-both;
    margin-bottom: 30px;
}
#insurance .policy_list h4 {
    font-size: 2rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    text-box-trim: trim-both;
    margin-bottom: 30px;
}

#insurance .policy_list .policy_inner {
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
    #insurance .policy_list h3  {
        font-size: 2.4rem;
    }
    #insurance .policy_list h4  {
        font-size: 1.8rem;
    }
}

.accordion {
    background: #f5f5f5;
    margin-top: 40px;
}

.accordion_ttl {
	position: relative;
    font-size: 1.6rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    text-box-trim: trim-both;
    padding: 38px 40px;
}

.accordion_ttl:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: #010101;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .5s;
}
.accordion_ttl:after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: #010101;
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    transition: transform .5s;
}
.accordion_ttl.show::before {
    opacity: 0;
}
.accordion_ttl.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.accordion_contents {
    display: none;
    border-top: 1px solid #d0d0d0;
    margin: 0 40px;
    padding: 30px 0 40px;
    text-align: justify;
}

@media screen and (max-width: 768px) {
    .accordion_ttl  {
        padding: 34px 20px;
    }
    .accordion_ttl:before {
    	right: 20px;
	}
	.accordion_ttl:after {
    	right: 20px;
	}
	.accordion_contents {
    	margin: 0 20px;
    	padding: 30px 0;
	}
}


#insurance .rule_list {
    margin-top: 100px;
}
#insurance .rule_list h3 {
    font-size: 3rem;
    font-weight: 600;
    text-box-trim: trim-both;
}
#insurance .rule_list h4 {
    font-size: 2rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    text-box-trim: trim-both;
    margin-bottom: 30px;
}

#insurance .rule_list ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    text-align: left;
}
#insurance .rule_list ol li {
    margin-bottom: 10px;
    padding-left: 80px;
    position: relative;
    margin-top: 60px;
}
#insurance .rule_list ol li:before {
    content: counter(my-counter);
    counter-increment: my-counter;
    color: #222;
    display: block;
    float: left;
    margin-left: -80px;
    text-align: center;
    width: 50px;
    height: 50px;
    border: 1px solid #010101;
    border-radius: 50%;
    font-size: 3.6rem;
    font-family: "MB Corpo A Title Cond", "Yu Mincho", "游明朝", serif;
    line-height: 1.3;
}

#insurance .rule_list ol li dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
    background: #f5f5f5;
    margin-top: 30px;
    padding: 30px;
}
#insurance .rule_list ol li dl dt {
	margin-right: 15px;
}
#insurance .rule_list ol li dl dd {
	float: left;
	clear: left;
	margin-left: 15px;
}
#insurance .rule_list ol li dl dd:before {
	content: "・";
}

@media screen and (max-width: 768px) {
	#insurance .rule_list h4{
    	margin-bottom: 15px;
	}

	#insurance .rule_list ol li {
    	padding-left: 70px;
	}
	#insurance .rule_list ol li:before {
    	margin-left: -70px;
	}
    #insurance .rule_list ol li dl  {
        display: block;
        overflow: hidden;
        padding: 20px;
    }
    #insurance .rule_list ol li dt  {
        margin: 0 0 10px !important;
    }
    #insurance .rule_list ol li dd  {
        margin-left: 0 !important;
    }
}


#insurance .kpi_list {
    margin-top: 100px;
}

#insurance .kpi_list ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-row-gap: 60px;
    grid-column-gap: 100px;
    margin-top: 60px;
}

#insurance .kpi_list h3 {
    font-size: 3rem;
    font-weight: 600;
    text-box-trim: trim-both;
}
#insurance .kpi_list h4 {
    font-size: 2rem;
    font-weight: 600;
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    text-box-trim: trim-both;
    margin-bottom: 30px;
}

#insurance .kpi_list ul li p {
	text-align: justify;
    margin-top: 30px;
}

#insurance .kpi_list ul li p.kpi_img {
    text-box-trim: none;
    text-align: center;
}

@media screen and (max-width: 768px) {
    #insurance .kpi_list ul {
        grid-template-columns: 1fr;
    }
}