﻿.l-page {
    padding-bottom: calc(100px / 2);
    padding-top: calc(120px / 2);
}

.l-page.lower-layer_thanks,
.l-page.lower-layer_privacy {
    padding-bottom: 0;
}

/* メインビジュアル */
.mv {
    padding-bottom: calc(60px / 2);
}

picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ページタイトル */

.page_title_block {
    position: relative;
    margin-bottom: calc(80px / 2);
}

.page_title_block::after {
    content: "";
    position: absolute;
    background: #0089D4;
    width: calc(70px / 2);
    height: calc(3px / 2);
    left: 50%;
    transform: translateX(-50%);
    bottom: -20%;
}

.head_content.page_title_block {
    display: flex;
    flex-direction: column;
}

.page_title,
.section_title {
    font-size: calc(60px / 2);
    font-weight: bold;
    color: var(--main-color);
    font-family: var(--main-font);
    text-align: center;
    margin-bottom: calc(20px / 2);
}

.page_subtitle {
    font-size: calc(28px / 2);
    font-weight: bold;
    color: var(--main-color);
    line-height: calc(14 / 14);
    font-family: var(--sub-font);
    text-align: center;
}

.section_title {
    line-height: calc(30 / 30);
    margin-bottom: calc(10px / 2);
}

.section_subtitle {
    font-size: calc(28px / 2);
    font-weight: bold;
    color: var(--main-color);
    line-height: calc(14 / 14);
    font-family: var(--sub-font);
    text-align: center;
}

.title_icon {
    display: block;
    width: calc(174px / 2);
    height: calc(99px / 2);
    margin: 0 auto 10px;
}


.visually-hidden {
    display: none;
}

/* コンテンツ余白 */
[class^="section_content--"]:not(:last-child) {
    padding-bottom: calc(100px / 2);
}


@media (min-width:768px) {

    /*---------
        共通
    ----------*/

    .l-page {
        padding-top: 88px;
        padding-bottom: 100px;
    }

    [class^="section_content--"] {
        padding-left: 20px;
        padding-right: 20px;
    }

    [class^="section_content--"]:not(:last-child) {
        padding-bottom: 100px;
    }


    /* メインビジュアル */
    .mv {
        padding-bottom: 80px;
    }

    /* ページタイトル */

    .page_title_block {
        margin-bottom: 80px;
    }

    .page_title_block::after {
        width: 60px;
        height: 2px;
    }

    .page_title {
        font-size: clamp(36px, calc(50px + 50vw - 570px), 50px);
        margin-bottom: 20px;
    }

    .page_subtitle {
        font-size: 24px;
    }

    .section_title_block {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 25px;
        margin-bottom: 40px;
    }

    .section_title {
        font-size: clamp(36px, calc(50px + 50vw - 570px), 50px);
        margin-bottom: 10px;
        line-height: 1.2;
    }

    .section_subtitle {
        font-size: 24px;
        line-height: 1.2;
    }

    .title_icon {
        width: 174px;
        height: 99px;
        margin: 0;
    }

}

/*---------
下層ナビ
----------*/

.guide-nav {
    margin-bottom: calc(80px / 2);
}

.guide-nav_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, 156px);
    justify-content: center;
    gap: 15px;
}

.guide-nav_item {
    width: calc(312px / 2);
    height: calc(74px / 2);
}

.guide-nav_item a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--main-color);
    font-size: calc(28px / 2);
    font-weight: bold;
    color: var(--sub-text-color);
    line-height: calc(18 / 14);
    border-radius: 5px;
    border: 1px solid var(--main-color);
}

.guide-nav_item.is-active a {
    background: var(--point-color);
    color: #0089D4;
}

@media (min-width:768px) {
    .guide-nav {
        max-width: 1125px;
        margin: 0 auto 100px;
    }

    .guide-nav_list {
        grid-template-columns: repeat(auto-fit, minmax(0, auto));
        gap: clamp(15px, calc(30px + 50vw - 570px), 30px);
    }

    .guide-nav_item {
        width: fit-content;
        height: 75px;
    }

    .guide-nav_item a {
        padding: 20px clamp(8px, calc(25px + 50vw - 570px), 25px);
        font-size: clamp(20px, calc(24px + 50vw - 570px), 24px);
        line-height: calc(18 / 24);
        border-radius: 10px;
        border: 2px solid var(--main-color);
        position: relative;
    }

    .guide-nav_item a::after {
        content: "";
        background: url("../images/common/ui_btn-blue_icon.png") center / cover no-repeat;
        width: 22px;
        height: 22px;
        margin-left: clamp(15px, calc(30px + 50vw - 570px), 30px);
    }

    .guide-nav_item:nth-child(2) a::after {
        margin-left: clamp(30px, calc(80px + 50vw - 570px), 80px);
    }

    .guide-nav_item.is-active a:after {
        background: url("../images/common/ui_btn-white_icon.png") center / cover no-repeat;
    }

    /* ホバー効果 */

    .guide-nav_item a:hover {
        background: var(--point-color);
        color: #0089D4;
    }

    .guide-nav_item a:hover:after {
        background: url("../images/common/ui_btn-white_icon.png") center / cover no-repeat;
    }

}

/*---------
下層ページタイトル(アイコン付き）
----------*/

.head_content {
    margin-bottom: calc(60px / 2);
}

.head_content .page_title_block::after {
    bottom: -10%;
}

.lower-layer_company .head_content .page_title_block::after,
.lower-layer_faq .head_content .page_title_block::after,
.lower-layer_contact .head_content .page_title_block::after,
.lower-layer_privacy .head_content .page_title_block::after {
    bottom: -20%;
}

.head_content_strong_text {
    font-size: calc(40px / 2);
    line-height: calc(30 / 20);
    font-weight: bold;
    margin-bottom: calc(50px / 2);
}

.head_content_text {
    font-size: calc(32px / 2);
    font-weight: 500;
    line-height: calc(28 / 16);
}

@media (min-width:768px) {

    .head_content {
        margin-bottom: 100px;
        padding: 0 20px;
    }

    .head_content .page_title_block::after {
        bottom: -20%;
    }


    .head_content .section_space {
        max-width: 1000px;
        margin: 0 auto;
    }

    .head_content .page_title_block {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 25px;
    }

    .head_content_strong_text {
        font-size: 24px;
        text-align: center;
        line-height: calc(42 / 24);
        margin-bottom: 40px;
    }

    .head_content_text {
        font-size: 20px;
        font-weight: 500;
        line-height: calc(35 / 20);
    }

    /* 例外 */
    .lower-layer_car_lineup .page_title_block {
        margin-bottom: 60px;
    }

    .lower-layer_car_lineup .title_block .page_subtitle {
        text-align: left;
        margin-left: 30px;
    }

    .lower-layer_price .head_content .title_block,
    .lower-layer_how-to-use .head_content .title_block,
    .lower-layer_contract .head_content .title_block {
        margin-right: 200px;
    }

    .lower-layer_buyandsell .head_content_text {
        text-align: center;
    }

    .lower-layer_buyandsell .head_content {
        margin-bottom: 60px;
    }
}




/*---------
お問い合わせ
----------*/

/*----共通ブロック ----*/

.section_content--contact .section_title,
.section_content--contact .section_subtitle {
    color: var(--sub-text-color);
}

.section_content--contact .title_block {
    margin-bottom: calc(40px / 2);
}

.section_content--contact .section_title {
    line-height: calc(40 / 30);
}


/*----コンテンツブロック ----*/


.contact_main-box {
    background: url("../images/common/contact_main-box_bg.jpg") center / cover no-repeat;
    padding: 30px 27px;
}

.contact-body__lead {
    font-size: calc(32px / 2);
    font-weight: bold;
    color: var(--sub-text-color);
    font-family: var(--main-font);
    line-height: calc(27 / 16);
    text-align: center;
    margin-bottom: calc(30px / 2);
}

.contact-tel {
    margin-bottom: calc(50px / 2);
}

.contact-tel__number {
    font-size: calc(48px / 2);
    font-weight: bold;
    color: var(--sub-text-color);
    font-family: var(--sub-font);
    line-height: calc(20 / 24);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: calc(10px / 2);
}

.contact-tel__number::before {
    content: "";
    background: url("../images/common/contact-tel_icon.png") center / cover no-repeat;
    width: calc(30px / 2);
    height: calc(35px / 2);
    margin-right: calc(10px / 2);
}

.contact-tel__time {
    font-size: calc(32px / 2);
    font-weight: 500;
    color: var(--sub-text-color);
    font-family: var(--main-font);
    line-height: calc(16 / 16);
    text-align: center;
}

.contact-action {
    max-width: calc(540px / 2);
    margin: 0 auto;
}

.c-btn-primary {
    max-width: calc(540px / 2);
    height: calc(80px / 2);
    background: var(--sub-color);
    border-radius: 60px;
    display: flex;
    align-items: center;
    font-size: calc(36px / 2);
    font-weight: 600;
    font-family: var(--main-font);
    color: var(--text-color);
    position: relative;
    padding-left: calc(55px / 2);
}

.c-btn-primary::after {
    content: "";
    position: absolute;
    background: url("../images/common/c-btn-primary_btn_icon.png") center / cover no-repeat;
    width: calc(40px / 2);
    height: calc(40px / 2);
    top: 0;
    right: 5%;
    bottom: 0;
    margin: auto;
}

@media (min-width:768px) {


    /*----共通ブロック ----*/

    .section_content--contact .title_block {
        margin-bottom: 20px;
    }


    /*----コンテンツブロック ----*/

    .contact_main-box {
        padding: 60px 20px;
    }

    .contact-body__lead {
        font-size: 24px;
        line-height: calc(30 / 24);
        word-break: keep-all;
        margin-bottom: 30px;
    }

    .contact-body_bottom {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: clamp(50px, calc(100px + 50vw - 570px), 100px);
    }

    .contact-tel {
        margin-bottom: 0;
    }

    .contact-tel__number {
        font-size: 46px;
        line-height: calc(40 / 46);
        margin-bottom: 10px;
    }

    .contact-tel__number::before {
        width: 30px;
        height: 35px;
        margin-right: 10px;
    }

    .contact-tel__time {
        font-size: 18px;
        line-height: calc(30 / 18);
    }

    .contact-action {
        flex: 1 1 50%;
        max-width: 330px;
        margin: 0;
    }

    .contact-action:hover {
        opacity: .7;
    }

    .c-btn-primary {
        max-width: 100%;
        height: 70px;
        border-radius: 40px;
        justify-content: center;
        font-size: 18px;
        padding: 0;
    }

    .c-btn-primary::after {
        width: 22px;
        height: 22px;
    }
}