@charset "utf-8";
/* *************************************
// スタイル
************************************* */
:root {
    --color-green01: #3db48f;   /* headerなど */

    --color-green02: #009641;   /* 推しポイント */

    --color-black01: #1a2829;

    --color-blue01:  #047bc0;

    --text-edge-color: #fff;
    --text-edge-color2: #ff007f;

    --size-sp-width: 375px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}
#container {
	padding: 0;
}
footer {
  padding-bottom: 70px;
}

#sevenmax_loader.pencal {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sevenmax_loader img.pencal {
    width: 100px;
    height: 100px;
    object-fit: contain;
    animation: fuwafuwa 2.5s ease-in-out infinite;
}

@keyframes fuwafuwa {
    0% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
    100% { transform: translateY(0); }
}

#sevenmax_main {
    width: var(--size-sp-width);
    box-shadow: 0px 1px 3px rgba(0, 0, 0, .5);
    margin: auto;
    padding: 0;
}

.h001.header {
    padding: 0;
    box-shadow: none;
    background: var(--color-green01);
    height: 80px;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: space-between;
    align-items: center;

}

.h001.header .logo {
    background: #fff;
    padding: 5px 20px 5px 10%;
    border-radius: 0 100vmax 100vmax 0;
    height: auto;
}

.h001.header .logo img {
    max-inline-size: none;
    max-block-size: none;
    height: 40px;
    width: auto;
}

.h001.header .logo .name {
    line-height: 1;
    margin-left: 10px;
}
.h001.header .logo .name > span {
    display: block;
}
.h001.header .logo .name .shop {
    display: block;
    font-size: 12px;
    margin-bottom: 5px;
}
.h001.header .logo .name .company {
    display: block;
    font-size: 18px;
}

.h001.header .tel {
    background: #fff;
    position: relative;
    padding: 0 20px 0 50px;
}
.h001.header .tel img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    max-inline-size: none;
    max-block-size: none;
}
.h001.header .tel a {
    color: var(--color-green01);
    font-size: 20px;
    font-weight: 900;
    line-height: 1.5;
}
.h001.header .tel a span {
    font-size: 60%;
}

@media (max-width: 767px) {
    .h001.header {
        height: 60px;
    }
    .h001.header .logo {
        padding: 0 20px 0 5px;
    }
    .h001.header .logo img {
        width: 60px;
    }
    .h001.header .logo .name {
        margin-left: 5px;
    }
    .h001.header .logo .name .company {
        font-size: 12px;
    }
    .h001.header .logo .name .shop {
        font-size: 10px;
    }
    .h001.header .tel {
        padding: 0 5px 0 30px;
    }
    .h001.header .tel img {
        width: 50px;
    }
    .h001.header .tel a {
        font-size: 12px;
    }
}



#inner-content {
    display: grid;
    grid-template-columns: 1fr var(--size-sp-width) 1fr;
    position: relative;
    z-index: 0;
}

#inner-content > #sevenmax_main {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    background: #fff;
    container-type: inline-size;
}
#inner-content > .left {
    width: calc((100vw - var(--size-sp-width)) / 2);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
    display: grid;
    align-items: center;
    z-index: -1;
    background: #fff;
}
#inner-content > .left > img {
    width: 100%;
    height: auto;
    display: block;
}
#inner-content > .right {
    width: calc((100vw - var(--size-sp-width)) / 2);
    height: 100%;
    position: relative;
    background: #ffdb00;
    position: fixed;
    top: 0;
    right: 0;
    overflow: hidden;
    display: grid;
    align-items: center;
    z-index: -1;
}
#inner-content > .right > img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 767px) {
    #sevenmax_main {
        width: 100%;
        box-shadow: none;
    }
    #inner-content {
        width: 100%;
        display: block;
    }

    #inner-content > .right,
    #inner-content > .left {
        display: none;
    }
}

.store_banner > img,
.main_image > img {
    width: 100%;
    display: block;
    height: auto;
}
.store_banner > a > img,
.main_image > a > img {
    width: 100%;
    display: block;
    height: auto;
    margin-inline: auto;
}





/* *************************************
// 7MAXの推しポイント
************************************* */
.contents_point {
    padding-top: 50px;
    padding-bottom: 30px;
    position: relative;
    overflow: hidden;

    background : -webkit-linear-gradient(90deg, rgba(61, 180, 143, 0.3) 0%, rgba(61, 178, 141, 0) 36.92%);
    background : linear-gradient(0deg, rgba(61, 180, 143, 0.3) 0%, rgba(61, 178, 141, 0) 36.92%);
}
.contents_point:after {
    content: "";
    display: block;
    width: 100%;
    height: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: url(./images3/point_bg_bottom.svg);
    background-size: 100%;
    background-position: bottom center;
    background-repeat: no-repeat;

}
.contents_point > .wrap {
    width: 80%;
}

.contents_point .point_title_top {
    width: 100%;
    margin-bottom: 15px;
}
.contents_point .point_title_top > img {
    display: block;
    width: 100%;
}

.contents_point .point_list {
    display: grid;
    gap: 10px;
}   
.contents_point .point_list > div {
    width: 100%;
    border: 3px solid var(--color-green02);
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    position: relative;
    min-height: 80px;
}
.contents_point .point_list > div:nth-child(odd) {
    background: var(--color-green02);
}

.contents_point .point_list > div img.text {
    height: 55px;
    display: block;
    margin: auto;
}

.contents_point .point_list > div.point3 img.deco {
    max-inline-size: none;
    max-block-size: none;
    position: absolute;
    width: 150px;
    height: auto;
    top: 10px;
    left: 85%;
    z-index: 1;
}
.contents_point .point_list > div.point4 img.deco {
    max-inline-size: none;
    max-block-size: none;
    width: 50px;
    height: auto;
    display: block;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}
.contents_point .point_list > div.point5 img.deco {
    max-inline-size: none;
    max-block-size: none;
    width: 60px;
    height: auto;
    display: block;
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
}


.contents_point .point_title_bottom {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: -5px;
    position: relative;
}
.contents_point .point_title_bottom > img.pencal {
    width: 20%;
}
.contents_point .point_title_bottom > img.text {
    width: calc(80% - 5px);
}

/* *************************************
// カーリースに向いてる人とは
************************************* */
.contents_suitable {
    margin: 0cqi 0 5cqi 0;
    position: relative;
}
.contents_suitable img {
    width: 100%;
    display: block;
}

/* *************************************
// 特選車一覧
************************************* */
.contents_selected_car {
    position: relative;
    z-index: 0;
    background: var(--color-green01);
    overflow: hidden;
}
.contents_selected_car:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(./images3/selected_car_bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5;
}

.contents_selected_car .title {
    padding: 30px 10% 50px;
}
.contents_selected_car .title .box {
    position: relative;
    background: #fff;
    text-align: center;
    line-height: 1.2;
    margin-right: calc((100vw - 100%) / 2 * -1);
    padding-right: calc((100vw - 100%) / 2);
    padding-top: 5px;
    padding-bottom: 5px;
}
.contents_selected_car .title .box img {
    max-inline-size: none;
    max-block-size: none;
    position: absolute;
    width: 75px;
    left: -25px;
    top: 50%;
    transform: translateY(-50%);
}
.contents_selected_car .title .box .title_text {
    color: var(--color-green01);
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 5px;

}
.contents_selected_car .title .box .sub_text {
    font-size: 10px;
    font-weight: bold;
}

.contents_selected_car .car_list_inner {
    background: var(--color-black01);
    padding-top: 1px;
    margin-bottom: 50px;
    padding-bottom: 30px;
}
.contents_selected_car .car_list_inner .price {
    width: 60%;
    margin-top: -30px;
    margin-inline: auto;
    text-align: center;
}
.contents_selected_car .car_list_inner .price > img {
    width: 100%;
    display: block;
}

.contents_selected_car .car_list_inner .price > span {
    color: #fff;
    font-size: 10px;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
}

.contents_selected_car .car_list_inner:last-child {
    margin-bottom: 0;
}

.contents_selected_car .bottom_text {
    display: flex;
    align-items: flex-end;
    margin-top: -25px;
}
.contents_selected_car .bottom_text > img.woman {
    width: 35%;
    margin-left: -10%;
    margin-bottom: -20px;
}
.contents_selected_car .bottom_text > img.text {
    width: 70%;
    margin: 0 auto;
}



.credit_card_sec {
    padding: 10cqi 0;
}
.credit_card_sec img {
    width: 100%;
    display: block;
}


.plan img.plan_top_text {
    width: 70%;
    margin: 0 auto 0px;
    display: block;
}
.plan .plan_top {
    background: var(--color-blue01);
    color: #fff;
    position: relative;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
    padding: 3cqi 0;
    font-weight: bold;
}
.plan .plan_top > img.plan_pencal {
    max-inline-size: none;
    max-block-size: none;
    position: absolute;
    right: 5%;
    top: 5cqi;
    width: 18cqi;
}


.plan .plan_list {
    padding: 15px;
	background : -webkit-linear-gradient(90deg, rgba(255, 255, 133, 0) 41.18%, rgba(255, 255, 133, 1) 100%);
	background : linear-gradient(0deg, rgba(255, 255, 133, 0) 41.18%, rgba(255, 255, 133, 1) 100%);
}
.plan .plan_list > img {
    width: 100%;
}


.what_car_lease {
	padding: 30px 0 0;
}

.what_car_lease > .inner {
	width: 90%;
	margin: 0 auto;
}

.what_car_lease img.title1 {
	width: 80%;
	margin: auto;
	display: block;
	margin-bottom: 5px;
}
.what_car_lease img.title2 {
	width: 80%;
	margin: auto;
	display: block;
	margin-bottom: 15px;
}

.what_car_lease .text1 {
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	font-size: 14px;
	margin-bottom: 25px;
}
.what_car_lease .text1 > span {
	color: #d93830;
	font-weight: 900;
	font-size: 120%;
}
.what_car_lease .text2 {
	text-align: center;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 15px;
}

.what_car_lease img.what_car_lease_list {
	width: 100%;
	display: block;
	margin-bottom: 30px;
}
.what_car_lease img.what_car_lease_img {
	width: 100%;
	display: block;
    margin-left: 5%;
}
.what_car_lease .what_note {
    font-weight: bold;
    line-height: 1.5;
    font-size: 12px;
    width: 90%;
    margin: 0.5em auto 2em;
}
.what_bottom_img {
  width: 95%;
  margin: 2em auto;
  display: block;
}

.what_car_lease img.what_bottom_title {
	width: 60%;
	display: block;
	margin: 0 auto 10px;
}

.what_car_lease .what_bottom {
	background: #3d62ac;
	padding: 20px 20px 0;
}
.what_car_lease .what_bottom img.what_bottom_text {
	width: 75%;
	display: block;
	margin: auto;
}
.what_car_lease .what_bottom a {
    width: 80%;
    margin: auto;
    display: block;
}
.what_car_lease .what_bottom img.btn_gold {
    display: block;
    width: 100%;
    margin: auto;
}


.seven_max {
    overflow: hidden;
    padding-bottom: 30px;
}

.seven_max .seven_max_top {
    background: #009641;

    position: relative;
    border-radius: 0 0 50% 50% / 0 0 200px 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding: 20px 100px 60px;
    margin-bottom: 50px;
}

.seven_max .seven_max_top img.seven_max_logo {
    width: 40%;
    display: block;
    margin: 0 auto 20px;
}

.seven_max .seven_max_top h2 {
    color: #fff;
    font-weight: 900;
    text-align: center;
    line-height: 1.5;
    font-size: 26px;
    letter-spacing: 1px;
}
.seven_max .seven_max_top h2 > span {
    color: #fff209;
}
.seven_max .seven_max_top img.seven_max_car {
    width: 50%;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.seven_max > .inner {
    padding: 0 10px;
}

.seven_max > .inner img.seven_max_car_title2 {
    width: 80%;
    margin: 0 auto 10px;
    display: block;
}

.seven_max > .inner .text1 {
    text-align: center;
    font-weight: 900;
    letter-spacing: 1px;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 15px;
}

.seven_max > .inner .text2 {
    text-align: center;
    font-weight: 900;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 15px;
}


.seven_max > .inner .note {
    text-align: center;
    font-size: 7px;
    margin-bottom: 15px;
}

.seven_max > .point {
    background-image: url(./images3/7max_point_bg.svg);
    background-size: 150%;
    background-repeat: no-repeat;
    background-position: top center;
    padding: 0px 10px;
}

.seven_max > .point > img {
    width: 100%;
    display: block;
}


.tasukatta {
    background: #008242;
    padding: 20px 15px 50px;
}

.tasukatta .text1 {
    color: #fff;
    text-align: center;
    font-weight: 900;
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 10px;
}

.tasukatta .box {
    background: #fff;
    padding: 20px 10px;
    border-radius: 15px;
}

.tasukatta .box > img {
    width: 100%;
    display: block;
    height: auto;
}


.voice {
    background: #efcf00;
    padding: 30px 0 40px;
}

.voice h2 {
    font-weight: 900;
    font-size: 25px;
    border-top: 3px solid #292e32;
    border-bottom: 3px solid #292e32;
    color: #000;
    text-align: center;
    width: 70%;
    margin: 0 auto 15px;
    line-height: 1.5;
}

.voice .voice_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 15px 0;
}
.voice .voice_list > .item {
    display: flex;
    align-items: center;
}
.voice .voice_list > .item:nth-child(even) {
    flex-direction: row-reverse;
}
.voice .voice_list > .item .text {
    width: 70%;
    background: #fff;
    font-size: 10px;
    line-height: 1.5;
    margin-left: 10px;
    padding: 20px calc(10% + 25px) 20px 20px;
    border-radius: 10px;
    text-align: justify;
    font-weight: bold;
}
.voice .voice_list > .item .image {
    width: 40%;
    margin-left: -10%;
    z-index: 1;
    position: relative;
}
.voice .voice_list > .item .image > img {
    display: block;
    width: 100%;
}

.voice .voice_list > .item:nth-child(even) .text {
    padding: 20px 20px 20px calc(10% + 20px);
    margin-left: 0;
    margin-right: 10px;
}
.voice .voice_list > .item:nth-child(even) .image {
    margin-left: 0;
    margin-right: -10%;
}



.voice2 {
    background: #FFCDB2;
    padding: 30px 0 40px;
}
.voice2 h2 {
    font-weight: 900;
    font-size: 25px;
    border-top: 3px solid #292e32;
    border-bottom: 3px solid #292e32;
    color: #000;
    text-align: center;
    width: 70%;
    margin: 0 auto 15px;
    line-height: 1.5;
}

.voice2 .voice_list2 {
    display: grid;
    grid-template-columns: 100%;
    gap: 15px 0;
    padding: 0 15px;
}
.voice2 .voice_list2 > .item {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 100px;
    grid-template-rows: auto auto auto;
    gap: 10px;
    background: #fff;
    font-size: 10px;
    padding: 15px;
    border-radius: 15px;
    line-height: 1.4;
}
.voice2 .voice_list2 > .item > .image {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    width: calc(100% + 30px);
    margin-right: -30px;
    border-radius: 15px 0 0 15px;
    overflow: hidden;
    align-self: start;
}
.voice2 .voice_list2 > .item > .info {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.voice2 .voice_list2 > .item > .guest {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.voice2 .voice_list2 > .item > .manager {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
}
.voice2 .voice_list2 > .item .image > img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    background: #ccc;
}
.voice2 .voice_list2 > .item > .info .name {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
}
.voice2 .voice_list2 > .item > .text h3 {
    background: #000;
    color: #fff;
    display: inline-block;
    padding: 0 5px;
    font-size: 12px;
    margin-bottom: 5px;
    font-weight: bold;
}
.voice2 .voice_list2 > .item > .text p {
    line-height: 1.4;
    margin: 0!important;
}


.voice2 .voice_list2 > .item:nth-child(even) {
    grid-template-columns: 100px 1fr;
}
.voice2 .voice_list2 > .item:nth-child(even) > .image {
    grid-column: 1 / 2;
    margin-left: -30px;
    margin-right: 0;
    border-radius: 0 15px 15px 0;
}
.voice2 .voice_list2 > .item:nth-child(even) > .info {
    grid-column: 2 / 3;
}
.voice2 .voice_list2 > .item:nth-child(even) > .guest {
    grid-column: 2 / 3;
}

@media (max-width: 767px) {
    .voice .voice_list > .item .text {
        font-size: max(2.5vw, 10px);
    }
    .voice2 .voice_list2 > .item {
        font-size: max(2vw, 10px);
    }
    .voice2 .voice_list2 > .item > .info .name,
    .voice2 .voice_list2 > .item > .text h3 {
        font-size: max(2.5vw, 14px);
    }
}

.debut {
    background: #f0cf00;
}
.debut h2 {
    position: relative;
}
.debut h2 > img {
    width: 50%;
    display: block;
    position: relative;
    z-index: 1;
    margin: auto;
    padding-top: 50px;
}
.debut h2:before {
    content: "";
    display: block;
    width: 80%;
    height: auto;
    aspect-ratio: 1/1;
    background: #fff;
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 50%;
}
.debut h2::after {
    content: "";
    position: absolute;
    bottom: -12cqi;
    right: 0;
    display: block;
    width: 30%;
    height: auto;
    aspect-ratio: 1/1;
    background: url(./images3/bottom_pencal.svg) no-repeat center center;
    background-size: contain;
}
.debut_list {
    position: relative;
}
.debut_list img {
  display: block;
  width: 100%;
  padding: 5cqi 0 5cqi 6%;
}
.step {
    background: #3db48f;
    padding-top: 30px;
    padding-bottom: 30px;
}
.step h2 {
    width: 80%;
    margin: -10px auto 0;
}
.step h2 > img {
    width: 100%;
    display: block;
}

.step .fukidashi {
    text-align: center;
    font-weight: bold;
    position: relative;
    display: table;
    line-height: 1.5;
    margin: 0 auto 5px;
}
.step .fukidashi:before,
.step .fukidashi:after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #000;
    position: absolute;
    bottom: 0;
}
.step .fukidashi:before {
    left: 5px;
    transform: rotate(-30deg);
    transform-origin: bottom left;
}
.step .fukidashi:after {
    right: 5px;
    transform: rotate(30deg);
    transform-origin: bottom right;
}

.step img.four_step {
    width: 80%;
    display: block;
    margin: auto;
}
.step .text1 {
    line-height: 1.5;
    text-align: center;
    font-weight: 500;
    font-size: 15px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.step .step_list {
    width: 90%;
    margin: auto;
}
.step .step_list > img {
    width: 100%;
}



.faq {
    padding-top: 20px;
    padding-bottom: 20px;
    overflow: hidden;
}
.faq h2 {
    width: 80%;
    margin: 0 auto;
}

.faq .faq_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px 0;
}
.faq .faq_list > .item {
    width: 90%;
    margin: 0 auto;
    border: 2px solid #3db48f;
    display: flex;
    min-height: 70px;
    border-radius: 15px;
    flex-wrap: wrap;
}

.faq .faq_list > .item .title {
    padding: 10px 20px;
    border-radius: 0 100vmax 100vmax 0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    padding-left: calc((100vw - 100%) / 2 );
    margin-top: -10px;
    background: #3db48f;
    align-self: flex-start;
}
.faq .faq_list > .item .title > img {
    display: block;
    width: 40px;
    height: 40px;
    overflow: hidden;
}
.faq .faq_list > .item .question {
    padding: 10px 40px 10px 10px;
    font-size: 14px;
    line-height: 1.5;
    flex: 1;
    display: grid;
    align-items: center;
    font-weight: 900;
    position: relative;
    cursor: pointer;
    min-height: 60px;
}
.faq .faq_list > .item .question:before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    right: 10px;
    background-image: url(./images3/icon_check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: translateY(-50%);
}
.faq .faq_list > .item .question.open:before {
    background-image: url(./images3/icon_open.svg);
    background-size: 30px;
	transform: rotate(180deg) translateY(50%);
}


.faq .faq_list > .item .answer_box {
    width: 100%;
    padding: 0px 15px 15px;
    line-height: 1.5;
    font-size: 14px;
    text-align: justify;
    background: #3db48f;
}
.faq .faq_list > .item .answer_title_box {
  display: flex;
  gap: 5cqi;
  color: #fff;
  padding: 1cqi 0;
  align-items: center;
}
.faq .faq_list > .item .answer_title_box img{
    width: 40px;
    height: auto;
    display: block;
    aspect-ratio: 1/1;
}
.faq .faq_list > .item .answer ul {
    margin: 0.8em 0;
}

.faq .faq_list > .item .answer ul > li {
    display: flex;
}
.faq .faq_list > .item .answer ul > li:before {
    content: "●";
    display: inline-block;

}

.faq .faq_image {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: -30px;
}

.faq .faq_image > img {
    width: 100%;
    display: block;
}

.contact_form {
    background: #ffe7ff;
    padding: 30px 0;
}
.contact_form .contact_title {
    width: 80%;
    margin: 0 auto 10px;
}
.contact_form .contact_title > img {
    width: 100%;
}
.contact_form table {
    width: 90%;
    margin: 0 auto;
}

.wpcf7 form.sent .wpcf7-response-output {
	text-align: center;
	color: #000;
	background: #fff;
	border: 2px double var(--sevenmax-subcolor);
	padding: 0.5em 1em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border: none;
	text-align: center;
	color: #ff6d00;
	background: #C00;
	color: #FFF;
}

.wpcf7-not-valid-tip {
	background: #C00;
	color: #FFF;
	text-align: center;
	padding-inline: 1em;
}
table.mail_form .wpcf7-list-item:has(input[type="checkbox"][value="来店予約"]) {
	display: none;
}
.visit_on table.mail_form .wpcf7-list-item:has(input[type="checkbox"][value="来店予約"]) {
	display: inherit;
}
table.mail_form tr.postcode,
table.mail_form tr.car_info,
table.mail_form tr.desired,
table.mail_form tr.contact_kind ~ tr.desired {
	display: none;
}
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="お見積り希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="仮審査希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="お見積り希望"]:checked) ~ tr.car_info,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="仮審査希望"]:checked) ~ tr.car_info {
	display: table-row;
}
.wpcf7-form tr.contact_kind:has(input[type="radio"][value="仮審査希望"]:checked) ~ tr.postcode,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="仮審査希望"]:checked) ~ tr.postcode {
	display: table-row;
}

.wpcf7-form tr.contact_kind:has(input[type="radio"][value="来店予約"]:checked) ~ tr.desired,
.wpcf7-form tr.contact_kind:has(input[type="checkbox"][value="来店予約"]:checked) ~ tr.desired {
	display: table-row;
}
table.mail_form tr.desired td .input_label {
	display: flex;
	gap: 1em;
}
.wpcf7-form #desired_note,
table.mail_form tr.desired td .note {
	color: #c00;
	background: #fff;
	display: block;
	padding: 5px 15px;
	width: fit-content;
	line-height: 1.5;
	border: 2px solid;
	border-radius: 5px;
	margin-top: 10px;
}
.wpcf7-form #desired_note {
	margin-inline: auto;
	padding: 5px 25px;
}
.wpcf7-form #desired_note a {
	color: inherit;
}
table.mail_form tr.desired td input {
	min-width: 150px;
}
table.mail_form span.wpcf7-list-item {
  font-size: 3.6cqi;
}

/*テーブル*/
table.two_column {
    border: none;
}
table.two_column tbody tr {
    border: none!important;
    margin-bottom: 15px;
    display: block;
}
table.two_column tbody th {
    display: block;
    border: none;
    width: 100%;
    padding: 0 0 5px;
    margin: 0;
}
table.two_column tbody th span.required2 {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #ff0000;
}

table.two_column tbody th span.required_b {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.75rem;
    white-space: nowrap;
    color: white;
    background: #333;
}

table.two_column tbody th span.small {
    font-size: 7.5px;
}

table.two_column tbody td {
    display: block;
    border: none;
    width: 100%;
    padding: 0;
    margin: 0;

}

table.mail_form tr th.required:after {
    background: #ff0000;
}

input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
    background: #fff;
    border: 1px solid #000;
    border-radius: 5px;
}

form .btn001 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}

.wpcf7 form .wpcf7-response-output {
    line-height: 1.5;
    font-size: 12px;
    color: #ff0000;
    border: none;
    border-radius: 10px;
    text-align: center;
}


.contact_form .policy {
    font-size: 12px;
    text-align: center;
}

.contact_form .policy a {
    color: #ff0000;
    text-decoration: underline;
}


.contact_form .btn001 input[type="submit"] {
    background: #ff0000;
    border: 4px double #fff;
    font-weight: 900;
    width: 80%;
    padding: 5px 20px;
    text-align: center;
    font-size: 20px;
}



.request_form {
    background: #e0f3ed;
    padding: 30px 0;
}
.request_form .request_title {
    width: 80%;
    margin: 0 auto 10px;
}
.request_form .request_title > img {
    width: 100%;
}
.request_form table {
    width: 90%;
    margin: 0 auto;
}


.request_form .policy {
    font-size: 12px;
    text-align: center;
}

.request_form .policy a {
    color: #ff0000;
    text-decoration: underline;
}

.request_form .btn001 input[type="submit"] {
    background: var(--color-green01);
    border: 4px double #fff;
    font-weight: 900;
    width: 80%;
    padding: 5px 20px;
    text-align: center;
    font-size: 20px;
}


.shop_info {
    padding: 30px 0;
}
.shop_info > .inner {
    width: 90%;
    margin: auto; 
}
.shop_info .name {
    text-align: center;
    margin-bottom: 10px;
}
.shop_info .name > img {
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    height: 40px;
    object-fit: contain;
}

.shop_info .name {
    /* font-size: 32px; */
    font-size: 7.2cqi;
    font-weight: 900;
    color: #e50113;
    filter: drop-shadow(0px 0px 1px #000) drop-shadow(3px 3px 0px #000);
    font-style: italic;

    text-shadow: 
    var(--text-edge-color) 2px 0px,  var(--text-edge-color) -2px 0px,
    var(--text-edge-color) 0px -2px, var(--text-edge-color) 0px 2px,
    var(--text-edge-color) 2px 2px , var(--text-edge-color) -2px 2px,
    var(--text-edge-color) 2px -2px, var(--text-edge-color) -2px -2px,
    var(--text-edge-color) 1px 2px,  var(--text-edge-color) -1px 2px,
    var(--text-edge-color) 1px -2px, var(--text-edge-color) -1px -2px,
    var(--text-edge-color) 2px 1px,  var(--text-edge-color) -2px 1px,
    var(--text-edge-color) 2px -1px, var(--text-edge-color) -2px -1px;

    display: flex;
    justify-content: center;
    gap: 0 8px;
}
.shop_info .name .name_inner {
    filter: drop-shadow(0px 0px 1px #fef04d) drop-shadow(1px 1px 0px #fef04d);
}

/* .shop_info .name > span {
    letter-spacing: -5px;
    margin: 0 0.3em;
} */

.shop_info .shop_image {
    width: 100%;
    margin-bottom: 10px;
}
.shop_info .shop_image > img {
    aspect-ratio: 8 / 5;
    display: block;
    width: 100%;
    height: auto;
	object-fit: cover;
}

.shop_info .text {
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 30px;
}

.shop_info .tel {
    color: #d7403a;
    /* font-size: 35px; */
    font-size: 8cqi;
    font-weight: 900;
    margin-bottom: 15px;
}
.shop_info .tel span {
    font-size: 50%;
}

.shop_info .address {
    display: flex;
    gap: 0 5px;
    flex-wrap: wrap;
    justify-content: center;
}
.shop_info .address > span:first-child {
    white-space: nowrap;
}
.shop_info .googlemap {
    width: 100%;
    margin-bottom: 30px;
}
.shop_info .googlemap > iframe {
    width: 100%;
    aspect-ratio: 3 / 2;
    display: block;
    height: auto;
}

.shop_info .image_area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.shop_info .image_area > img {
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.shop_info .image_area > img:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: 100%;
    height: auto;
}



.f001 {
    background: transparent;
    padding: 0;
}
.f001 #inner-footer {
    padding: 0;
}


.bottom_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffff00;
    padding: 5px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    gap: 1vw;
    padding-inline: 1vw;
    @media screen and (min-width: 768px) {
        background: none;
        right: -50px;
        left: inherit;
        bottom: 10%;
        display: block;
        width: 200px;
        transform: scale(1.5);
        transform-origin: right;
    }
}
@media screen and (max-width: 767px) {
    .bottom_contact:not(:has(> a:nth-child(3))) {
        gap: 4vw;
        padding-inline: 4vw;
        letter-spacing: 0.1em;
    }
}
.bottom_contact > a {
    display: block;
    position: relative;
    color: #ffff00;
    flex: 1;
    background-image: url('./images3/fix_bg_l.png'),url('./images3/fix_bg_r.png');
    background-size: 15px 50px;
    background-repeat: no-repeat;
    background-position: left center, right 0 center;
    @media screen and (min-width: 768px) {
        margin-bottom: 15px;
    }
}
.bottom_contact > a.line {
    color: #00a73c;
}
.bottom_contact > a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 15px;
    width: calc(100% - 30px);
    height: 100%;
    background-image: url('./images3/fix_bg_c.png');
    background-size: 100% 50px;
}
.bottom_contact > a > img {
    width: 100%;
    height: 50px;
    width: auto;
    display: block;
    position: relative;
}

.bottom_contact > a > span {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 3.2cqi;
    font-weight: bold;
    width: 100%;
    height: 100%;
    display: grid;
    align-content: center;
    justify-content: center;
    padding-left: 5%;
    line-height: 1;
}

.bottom_contact > a span.txt {
    font-size: 70%;
    display: block;
    text-align: center;
    line-height: 1.5;
}




.benefit img {
    display: block;
    width: 100%;
}



.reason {
    padding: 30px 0;
}

.reason .box {
    background: repeating-linear-gradient(135deg, #73eaff, #73eaff 20px, #00d6ff 20px, #00d6ff 40px);
    padding: 20px;
    width: 80%;
    margin: auto;
}

.reason h2 {
    font-size: 40px;
    text-align: center;
    font-weight: 900;
    font-style: italic;
    color: #fff;
    text-shadow: 
    var(--text-edge-color2) 2px 0px,  var(--text-edge-color2) -2px 0px,
    var(--text-edge-color2) 0px -2px, var(--text-edge-color2) 0px 2px,
    var(--text-edge-color2) 2px 2px , var(--text-edge-color2) -2px 2px,
    var(--text-edge-color2) 2px -2px, var(--text-edge-color2) -2px -2px,
    var(--text-edge-color2) 1px 2px,  var(--text-edge-color2) -1px 2px,
    var(--text-edge-color2) 1px -2px, var(--text-edge-color2) -1px -2px,
    var(--text-edge-color2) 2px 1px,  var(--text-edge-color2) -2px 1px,
    var(--text-edge-color2) 2px -1px, var(--text-edge-color2) -2px -1px;
    line-height: 1.2;
    margin-bottom: 30px;
}



/********************
    車種リスト
********************/

ul.car_list.slick-slider {}

ul.car_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    container-type: inline-size;
}
ul.car_list.unload li + li {
	display: none;
}
/* グレード */
ul.car_list li {
	text-align: center;
	/* border: solid 1px #ccc; */
	margin: 10px;
	padding: 20px 5px;
	background: #FFF;
	max-width: 500px;
	border-radius: 14px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.03);
	position: relative;
	width: 75%;
}

ul.car_list li .plan_mark {
	position: absolute;
	top: -11px;
	left: -8px;
	width: 65px;
	height: auto;
	/* 5年プラン追加 */
	width: 85px;
	left: -14px;
}

ul.car_list li a {
	display: block;
	color: inherit;
	text-decoration: none;
}

ul.car_list li a h3 {
	font-size: 3.5cqi;
}
ul.car_list li a h3 .note {
	font-size: 70%;
	display: inline-block;
}
section#plan_content .tabcontent a.sevenmax_btn01 {
	background: var(--sevenmax-color);
	color: #FFF;
	padding: 0.75em 2.5em;
	display: table;
	margin: auto;
	margin-top: 2em;
	font-size: 4.5vw;
	border-radius: 60px;
	background-image: radial-gradient(#7ed1b2 10%, rgba(255, 255, 255, 0) 20%), radial-gradient(#7ed1b2 10%, rgba(255, 255, 255, 0) 20%);
	background-size: 5px 5px;
	background-position: 0 0, 5px 5px;
}

/*
ul.car_list li + li{
display: none;
}
*/
.slick-initialized .slick-slide {
	display: block;
}

ul.car_list li .car_img {
	padding-top: 55.5%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0 0 20px;
}

/* 月々月額 */
ul.car_list li .price_box>p:first-child {
	display: block;
	width: 100px;
	margin: auto;
	background: #45BB8F;
	color: #fff;
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 1em;
}

/* ***** 価格：〇〇円税込～ ***** */
ul.car_list li .price_box p {
	margin: 0 auto;
}

ul.car_list li .price_box .price {
	display: inline-flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.2;
}

/* 価格 */
ul.car_list li .price_box .price p:nth-child(1) {
	background-color: #45BB8F;
	color: #FFF;
	padding: 0.25em 0.5em;
	border-radius: 4px;
	margin-right: 0.25em;
	margin-top: 0.25em;
}

ul.car_list li .price_box .price p:nth-child(2) {
	font-size: 40px;
}

/* 円・税込み */
ul.car_list li .price_box .price p:nth-child(3) {
	display: inline-flex;
	flex-direction: column-reverse;
	line-height: 1;
	margin: 0 5px;
}

ul.car_list li .price_box .price p:nth-child(3) .yen {
	font-size: 20px;
}

ul.car_list li .price_box .price p:nth-child(3) .tax {
	font-size: 10px;
	margin-bottom: 2px;
}

/* 総支払金額 */
ul.car_list li .price_box .total_price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	font-size: 7px;
	white-space: nowrap;
	gap: 3px;
}

ul.car_list li .price_box .total_price p {
	margin: 0;
	font-size: 12px;
}

ul.car_list li .price_box .total_price p.num {
	font-size: 18px;
	margin: 0 0.1em;
}
ul.car_list li .price_box .bonus_price {
	font-size: 11px;
}
/* クレジットカード */
ul.car_list li .credit_card {
	display: flex;
	align-items: center;
	width: calc(100% + 50px);
	justify-content: center;
	margin: 10px -30px 15px;
	/*      border-bottom: 1px dotted #CCB;*/
	padding-top: 5px;
	padding-bottom: 5px;
}

ul.car_list li .credit_card .txt_credit_ok {
	background: #f2d100;
	display: inline-block;
	margin: 1%;
	font-size: 2.0cqi;
	padding: 0.25em 0.4em;
	font-weight: bold;
	color: #000;
	line-height: 1.3;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

ul.car_list li .credit_card .card_type {
	display: flex;
}

ul.car_list li .credit_card img {
	height: 25px;
	margin: 4px;
    display: inherit;
    width: auto;
}

ul.car_list li .car_btn {
	background-color: #000;
	background-image: radial-gradient(#333 10%, rgba(255, 255, 255, 0) 20%), radial-gradient(#333 10%, rgba(255, 255, 255, 0) 20%);
	background-size: 5px 5px;
	background-position: 0 0, 5px 5px;
	color: #FFF;
	width: 80%;
	display: table;
	margin: auto;
	padding: 1em;
	font-weight: bold;
	position: relative;
}

ul.car_list li .car_btn::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	border-left: 20px solid #5bc8ac;
	border-bottom: 20px solid transparent;
}
.car_list_note p {
	font-size: 12px;
	width: 95%;
	margin-inline: auto;
}
@media (min-width: 768px) {
	.car_list_note p {
		text-align: center;
	}
}
@media (min-width: 768px) and (max-width: 1023px) {
	ul.car_list li .price_box {
		width: calc(100% + 40px);
		margin-left: -20px;
		margin-right: -20px;
	}

	ul.car_list li .price_box .price p:first-child {
		font-size: 30px;
	}

	ul.car_list li .price_box .total_price {
		font-size: 1.3vw;
	}

	ul.car_list li .price_box .total_price p.num {
		font-size: 1.8vw;
	}

	ul.car_list li .credit_card {
		flex-wrap: wrap;
	}

	/* ul.car_list li .credit_card .txt_credit_ok {
		width: 100%;
		font-size: 1.6vw;
	} */

	/* ul.car_list li .credit_card .txt_credit_ok br {
		display: none;
	} */

	/* ul.car_list li .car_btn {
		margin: 0.5em -30px;
	} */
}

/* @media (min-width: 1024px) {
	ul.car_list li .credit_card .txt_credit_ok {
		font-size: min(0.75vw, 12px);
	}
}

@media (min-width: 1200px) {
	ul.car_list li .credit_card img {
		height: 30px;
		margin: 5px;
	}
} */
/*****************/


.sevenmax_youtube {
    background: #3cb48e;
}
.sevenmax_youtube > .wrap {
    /* padding: 1em 4%; */
    padding: 1em 0;
}
.sevenmax_youtube .youtube_wrap {
    /* border: #fff 5px solid; */
    border-radius: 5px;
}
.sevenmax_youtube .youtube_wrap iframe {
    display: block;
}


.upflier_wrap {
	margin-top: 5cqi;
}
.upflier_wrap h2 {
	background-color: #047bc0;
	text-align: center;
	font-size: 5.7cqi;
	font-weight: bold;
	color: #FFF;
	position: relative;
	margin-bottom: 1em;
	width: 80%;
	display: table;
	margin-left: auto;
	margin-right: auto;
}
.upflier_wrap h2:after {
	content: '';
	position: absolute;
	border: 10px solid transparent;
	border-top-color: #CCC;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	border-top-color: #047bc0;
}
.upflier_wrap .flier_link a {
	display: block;
    width: 95%;
	max-width: 600px;
	margin-inline: auto;
}
.upflier_wrap .flier_link a img {
	display: block;
	width: 100%;
}

@media (width >= 1200px) {
	.upflier_wrap h2 {
		/* font-size: 2cqi; */
		padding: 0.25em;
	}
}